
L1: 56 ?? push esi
 8b f1 ?? mov esi, ecx
 8b 46 14 ?? mov eax, dword ds:[esi + 0x14<20>]
 83 f8 10 ?? cmp eax, 0x10<16>
 72 45 ?? jb basic block L14

L2: 8b 0e ?? mov ecx, dword ds:[esi]
 40 ?? inc eax
 3d 00 10 00 00 ?? cmp eax, 0x00001000<4096>
 72 32 ?? jb basic block L12

L3: f6 c1 1f ?? test cl, 0x1f<31>
 74 06 ?? je basic block L5

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

L5: 8b 41 fc ?? mov eax, dword ds:[ecx + 0xfc<252,-4>]
 3b c1 ?? cmp eax, ecx
 72 06 ?? jb basic block L7

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

L7: 2b c8 ?? sub ecx, eax
 83 f9 04 ?? cmp ecx, 4
 73 06 ?? jae basic block L9

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

L9: 83 f9 23 ?? cmp ecx, 0x23<35>
 76 06 ?? jbe basic block L11

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

L11: 8b c8 ?? mov ecx, eax

L12: 51 ?? push ecx
 e8 1b 0f 00 00 ?? call function 0x00402228

L13: 83 c4 04 ?? add esp, 4

L14: 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>
 c7 46 10 00 00 00 00 ?? mov dword ds:[esi + 0x10<16>], 0
 72 02 ?? jb basic block L16

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

L16: c6 06 00 ?? mov byte ds:[esi], 0
 5e ?? pop esi
 c3 ?? ret

