
L1: 55 ?? push ebp
 8b ec ?? mov ebp, esp
 53 ?? push ebx
 8b 5d 08 ?? mov ebx, dword ss:[ebp + 8]
 56 ?? push esi
 8b f1 ?? mov esi, ecx
 85 db ?? test ebx, ebx
 74 57 ?? je basic block L15

L2: 8b 4e 14 ?? mov ecx, dword ds:[esi + 0x14<20>]
 83 f9 10 ?? cmp ecx, 0x10<16>
 72 04 ?? jb basic block L4

L3: 8b 06 ?? mov eax, dword ds:[esi]
 eb 02 ?? jmp basic block L5

L4: 8b c6 ?? mov eax, esi

L5: 3b d8 ?? cmp ebx, eax
 72 45 ?? jb basic block L15

L6: 83 f9 10 ?? cmp ecx, 0x10<16>
 72 04 ?? jb basic block L8

L7: 8b 16 ?? mov edx, dword ds:[esi]
 eb 02 ?? jmp basic block L9

L8: 8b d6 ?? mov edx, esi

L9: 8b 46 10 ?? mov eax, dword ds:[esi + 0x10<16>]
 03 c2 ?? add eax, edx
 3b c3 ?? cmp eax, ebx
 76 31 ?? jbe basic block L15

L10: 83 f9 10 ?? cmp ecx, 0x10<16>
 72 16 ?? jb basic block L13

L11: 8b 06 ?? mov eax, dword ds:[esi]
 ff 75 0c ?? push dword ss:[ebp + 12]
 2b d8 ?? sub ebx, eax
 53 ?? push ebx
 56 ?? push esi
 8b ce ?? mov ecx, esi
 e8 97 01 00 00 ?? call function 0x00401a80

L12: 5e ?? pop esi
 5b ?? pop ebx
 5d ?? pop ebp
 c2 08 00 ?? ret 8

L13: ff 75 0c ?? push dword ss:[ebp + 12]
 8b c6 ?? mov eax, esi
 2b d8 ?? sub ebx, eax
 53 ?? push ebx
 56 ?? push esi
 8b ce ?? mov ecx, esi
 e8 81 01 00 00 ?? call function 0x00401a80

L14: 5e ?? pop esi
 5b ?? pop ebx
 5d ?? pop ebp
 c2 08 00 ?? ret 8

L15: 57 ?? push edi
 8b 7d 0c ?? mov edi, dword ss:[ebp + 12]
 83 ff fe ?? cmp edi, 0xfe<254,-2>
 76 0b ?? jbe basic block L17

L16: 68 0c 32 40 00 ?? push 0x0040320c<"string too long">
 ff 15 68 30 40 00 ?? call dword ds:[0x00403068<"\n;@">]

L17: 8b 46 14 ?? mov eax, dword ds:[esi + 0x14<20>]
 3b c7 ?? cmp eax, edi
 73 19 ?? jae basic block L22

L18: ff 76 10 ?? push dword ds:[esi + 0x10<16>]
 8b ce ?? mov ecx, esi
 57 ?? push edi
 e8 e5 03 00 00 ?? call function 0x00401d10

L19: 85 ff ?? test edi, edi
 74 5f ?? je basic block L33

L20: 83 7e 14 10 ?? cmp dword ds:[esi + 0x14<20>], 0x10<16>
 72 2a ?? jb basic block L26

L21: 8b 06 ?? mov eax, dword ds:[esi]
 eb 28 ?? jmp basic block L27

L22: 85 ff ?? test edi, edi
 75 f2 ?? jne basic block L20

L23: 89 7e 10 ?? mov dword ds:[esi + 0x10<16>], edi
 83 f8 10 ?? cmp eax, 0x10<16>
 72 0e ?? jb basic block L25

L24: 8b 06 ?? mov eax, dword ds:[esi]
 5f ?? pop edi
 c6 00 00 ?? mov byte ds:[eax], 0
 8b c6 ?? mov eax, esi
 5e ?? pop esi
 5b ?? pop ebx
 5d ?? pop ebp
 c2 08 00 ?? ret 8

L25: 5f ?? pop edi
 8b c6 ?? mov eax, esi
 5e ?? pop esi
 c6 00 00 ?? mov byte ds:[eax], 0
 5b ?? pop ebx
 5d ?? pop ebp
 c2 08 00 ?? ret 8

L26: 8b c6 ?? mov eax, esi

L27: 85 ff ?? test edi, edi
 74 0b ?? je basic block L30

L28: 57 ?? push edi
 53 ?? push ebx
 50 ?? push eax
 e8 f1 14 00 00 ?? call function 0x00402e5e

L29: 83 c4 0c ?? add esp, 12

L30: 83 7e 14 10 ?? cmp dword ds:[esi + 0x14<20>], 0x10<16>
 89 7e 10 ?? mov dword ds:[esi + 0x10<16>], edi
 72 0f ?? jb basic block L32

L31: 8b 06 ?? mov eax, dword ds:[esi]
 c6 04 38 00 ?? mov byte ds:[eax + edi], 0
 5f ?? pop edi
 8b c6 ?? mov eax, esi
 5e ?? pop esi
 5b ?? pop ebx
 5d ?? pop ebp
 c2 08 00 ?? ret 8

L32: 8b c6 ?? mov eax, esi
 c6 04 38 00 ?? mov byte ds:[eax + edi], 0

L33: 5f ?? pop edi
 8b c6 ?? mov eax, esi
 5e ?? pop esi
 5b ?? pop ebx
 5d ?? pop ebp
 c2 08 00 ?? ret 8

