
L1: 8b 46 14 ?? mov eax, dword ds:[esi + 0x14<20>]
 53 ?? push ebx
 bb 10 00 00 00 ?? mov ebx, 0x00000010<16>
 3b c3 ?? cmp eax, ebx
 72 04 ?? jb basic block L3

L2: 8b 0e ?? mov ecx, dword ds:[esi]
 eb 02 ?? jmp basic block L4

L3: 8b ce ?? mov ecx, esi

L4: 81 f9 74 32 40 00 ?? cmp ecx, 0x00403274<"bar">
 77 34 ?? ja basic block L14

L5: 3b c3 ?? cmp eax, ebx
 72 04 ?? jb basic block L7

L6: 8b 0e ?? mov ecx, dword ds:[esi]
 eb 02 ?? jmp basic block L8

L7: 8b ce ?? mov ecx, esi

L8: 8b 56 10 ?? mov edx, dword ds:[esi + 0x10<16>]
 03 d1 ?? add edx, ecx
 81 fa 74 32 40 00 ?? cmp edx, 0x00403274<"bar">
 76 1d ?? jbe basic block L14

L9: 3b c3 ?? cmp eax, ebx
 72 04 ?? jb basic block L11

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

L11: 8b c6 ?? mov eax, esi

L12: bb 74 32 40 00 ?? mov ebx, 0x00403274<"bar">
 2b d8 ?? sub ebx, eax
 56 ?? push esi
 8b c7 ?? mov eax, edi
 8b ce ?? mov ecx, esi
 e8 03 01 00 00 ?? call function 0x004015a0

L13: 5b ?? pop ebx
 c3 ?? ret

L14: 83 ff fe ?? cmp edi, 0xfe<254,-2>
 76 0b ?? jbe basic block L16

L15: 68 90 32 40 00 ?? push 0x00403290<"string too long">
 ff 15 84 30 40 00 ?? call dword ds:[0x00403084]

L16: 3b c7 ?? cmp eax, edi
 73 18 ?? jae basic block L21

L17: 8b 46 10 ?? mov eax, dword ds:[esi + 0x10<16>]
 50 ?? push eax
 57 ?? push edi
 56 ?? push esi
 e8 f2 02 00 00 ?? call function 0x004017b0

L18: 85 ff ?? test edi, edi
 74 4d ?? je basic block L30

L19: 39 5e 14 ?? cmp dword ds:[esi + 0x14<20>], ebx
 72 1f ?? jb basic block L25

L20: 8b 06 ?? mov eax, dword ds:[esi]
 eb 1d ?? jmp basic block L26

L21: 85 ff ?? test edi, edi
 75 f3 ?? jne basic block L19

L22: 89 7e 10 ?? mov dword ds:[esi + 0x10<16>], edi
 3b c3 ?? cmp eax, ebx
 72 09 ?? jb basic block L24

L23: 8b 06 ?? mov eax, dword ds:[esi]
 c6 00 00 ?? mov byte ds:[eax], 0
 8b c6 ?? mov eax, esi
 5b ?? pop ebx
 c3 ?? ret

L24: 8b c6 ?? mov eax, esi
 c6 00 00 ?? mov byte ds:[eax], 0
 5b ?? pop ebx
 c3 ?? ret

L25: 8b c6 ?? mov eax, esi

L26: 57 ?? push edi
 68 74 32 40 00 ?? push 0x00403274<"bar">
 50 ?? push eax
 e8 e4 11 00 00 ?? call function 0x004026d8

L27: 83 c4 0c ?? add esp, 12
 89 7e 10 ?? mov dword ds:[esi + 0x10<16>], edi
 39 5e 14 ?? cmp dword ds:[esi + 0x14<20>], ebx
 72 0a ?? jb basic block L29

L28: 8b 06 ?? mov eax, dword ds:[esi]
 c6 04 38 00 ?? mov byte ds:[eax + edi], 0
 8b c6 ?? mov eax, esi
 5b ?? pop ebx
 c3 ?? ret

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

L30: 8b c6 ?? mov eax, esi
 5b ?? pop ebx
 c3 ?? ret

