
L1: 55 ?? push ebp
 8b ec ?? mov ebp, esp
 80 7d 08 00 ?? cmp byte ss:[ebp + 8], 0
 56 ?? push esi
 57 ?? push edi
 8b 7d 0c ?? mov edi, dword ss:[ebp + 12]
 8b f1 ?? mov esi, ecx
 74 5f ?? je basic block L18

L2: 83 7e 14 10 ?? cmp dword ds:[esi + 0x14<20>], 0x10<16>
 72 59 ?? jb basic block L18

L3: 53 ?? push ebx
 8b 1e ?? mov ebx, dword ds:[esi]
 85 ff ?? test edi, edi
 74 0b ?? je basic block L6

L4: 57 ?? push edi
 53 ?? push ebx
 56 ?? push esi
 e8 5b 1f 00 00 ?? call function 0x004034a0

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

L6: 8b 46 14 ?? mov eax, dword ds:[esi + 0x14<20>]
 40 ?? inc eax
 3d 00 10 00 00 ?? cmp eax, 0x00001000<4096>
 72 32 ?? jb basic block L16

L7: f6 c3 1f ?? test bl, 0x1f<31>
 74 06 ?? je basic block L9

L8: ff 15 08 41 40 00 ?? call dword ds:[0x00404108<"DQ@">]

L9: 8b 43 fc ?? mov eax, dword ds:[ebx + 0xfc<252,-4>]
 3b c3 ?? cmp eax, ebx
 72 06 ?? jb basic block L11

L10: ff 15 08 41 40 00 ?? call dword ds:[0x00404108<"DQ@">]

L11: 2b d8 ?? sub ebx, eax
 83 fb 04 ?? cmp ebx, 4
 73 06 ?? jae basic block L13

L12: ff 15 08 41 40 00 ?? call dword ds:[0x00404108<"DQ@">]

L13: 83 fb 23 ?? cmp ebx, 0x23<35>
 76 06 ?? jbe basic block L15

L14: ff 15 08 41 40 00 ?? call dword ds:[0x00404108<"DQ@">]

L15: 8b d8 ?? mov ebx, eax

L16: 53 ?? push ebx
 e8 9d 0c 00 00 ?? call function 0x00402228

L17: 83 c4 04 ?? add esp, 4
 5b ?? pop ebx

L18: c7 46 14 0f 00 00 00 ?? mov dword ds:[esi + 0x14<20>], 15
 83 7e 14 10 ?? cmp dword ds:[esi + 0x14<20>], 0x10<16>
 89 7e 10 ?? mov dword ds:[esi + 0x10<16>], edi
 72 02 ?? jb basic block L20

L19: 8b 36 ?? mov esi, dword ds:[esi]

L20: c6 04 3e 00 ?? mov byte ds:[esi + edi], 0
 5f ?? pop edi
 5e ?? pop esi
 5d ?? pop ebp
 c2 08 00 ?? ret 8

