Function at 0x100605b0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
push esi
push edi
push ebx
sub esp, 0x124
mov ecx, dword [ebp + 8]
mov edi, dword [ecx + 0x20]
test edi, edi
jne 0x10060602
mov ebx, dword [ecx + 0x58]
cmp dword [ecx + 0x70], 4
je 0x10060f51
mov esi, dword [ecx + 0x50]
cmp ebx, 2
je 0x100605f2
cmp ebx, 4
je 0x100605f2
cmp ebx, 6
je 0x100605f2
cmp ebx, 8
je 0x100605f2
cmp ebx, 0x10
jne 0x10060605
lea edx, [esi + esi*2]
mov eax, dword [ecx + edx*8 + 0x70]
mov dword [ecx + 0x58], eax
mov dword [ecx + edx*8 + 0x70], ebx
jmp 0x10060605
mov esi, dword [ecx + 0x50]
mov eax, dword [ebp + 0xc]
test esi, esi
jl 0x10060654
mov dword [esp + 0xa4], esi
mov ebx, 1
mov dword [esp], edi
xor edx, edx
mov esi, dword [ebp + 8]
lea ecx, [edx + edx*2]
mov dword [esp + 4], edx
cdq
mov edi, dword [esi + ecx*8 + 0x58]
idiv edi
mov edx, dword [esp + 4]
inc edx
mov dword [esi + ecx*8 + 0x60], ebx
imul ebx, edi
mov dword [esi + ecx*8 + 0x5c], eax
cmp edx, dword [esp + 0xa4]
jle 0x1006061d
mov esi, dword [esp + 0xa4]
mov edi, dword [esp]
mov ecx, dword [ebp + 8]
mov eax, dword [ebp + 0x14]
cdq
mov ebx, dword [ebp + 0xc]
idiv ebx
mov dword [esp + 0x9c], eax
xor ebx, ebx
test esi, esi
jl 0x10061c25
xor edi, edi
push 1
pop edx
mov dword [esp + 0xc], edi
mov eax, edx
mov dword [esp + 0xa4], esi
mov dword [esp + 0x18], edx
mov dword [esp + 0x14], edi
mov dword [esp + 0x10], ebx
mov esi, dword [esp + 0xc]
jmp 0x10060697
mov eax, 1
mov edx, eax
mov dword [esp + 0xa0], edx
jmp 0x100606b3
mov eax, dword [esp + 0xa0]
imul eax, edi
mov dword [esp + 0xa0], eax
mov edx, dword [ebp + 8]
lea ecx, [esi + esi*2]
mov eax, dword [esp + 0xa0]
mov dword [esp + 0xa8], ecx
mov edi, dword [edx + ecx*8 + 0x58]
cmp edi, 0xd
mov ebx, dword [edx + ecx*8 + 0x5c]
mov dword [edx + ecx*8 + 0x64], eax
jle 0x10060709
test edi, 1
je 0x10060709
cmp edi, dword [esp + 0x18]
jne 0x10060f8c
mov edx, dword [ebp + 8]
mov ecx, dword [esp + 0xa8]
mov eax, dword [esp + 0x14]
mov dword [edx + ecx*8 + 0x68], eax
mov eax, dword [esp + 0x10]
cmp edi, eax
cmovge eax, edi
mov dword [esp + 0x10], eax
cmp esi, dword [esp + 0xa4]
jne 0x10060748
cmp ebx, 0xd
jle 0x10060748
test bl, 1
je 0x10060748
cmp ebx, dword [esp + 0x18]
jne 0x10060fc9
mov edx, dword [ebp + 8]
mov ecx, dword [esp + 0xa8]
mov eax, dword [esp + 0x14]
mov dword [edx + ecx*8 + 0x80], eax
mov eax, dword [esp + 0x10]
cmp ebx, eax
cmovge eax, ebx
mov dword [esp + 0x10], eax
mov eax, dword [ebp + 0x18]
mov edx, dword [eax]
mov ecx, edx
neg ecx
and ecx, 0x3f
add edx, ecx
lea ecx, [ebx*8]
imul ecx, edi
add ecx, edx
mov dword [eax], ecx
mov ecx, dword [ebp + 8]
mov eax, dword [esp + 0xa8]
mov eax, dword [ecx + eax*8 + 0x60]
imul eax, dword [esp + 0x9c]
cmp dword [ecx + 0x20], 0
jne 0x10060f1c
cmp edi, 0xd
jg 0x10060c94
test bl, 1
je 0x10060987
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x24], 0
je 0x1006086b
test ebx, ebx
jle 0x10060f1c
mov dword [esp + 0x90], eax
xor eax, eax
mov dword [esp + 0x38], eax
lea ecx, [edi*8 - 8]
mov dword [esp + 0x3c], ecx
lea ecx, [edi - 1]
mov dword [esp + 4], eax
cmp edi, 1
mov dword [esp + 0xb8], ecx
mov dword [esp], edx
mov eax, dword [esp + 0x90]
jle 0x10060f1c
mov dword [esp + 0x90], eax
mov dword [esp + 0xc], esi
mov dword [esp + 0x78], edx
mov dword [esp + 0x8c], ebx
mov dword [esp + 0xf0], edi
mov esi, dword [esp]
mov ecx, dword [esp + 4]
mov eax, dword [esp + 0x38]
mov edx, dword [ebp + 0x10]
xor ebx, ebx
mov dword [esp + 0x38], eax
lea edi, [edx + ecx]
xor edx, edx
mov eax, dword [edx + edi]
mov dword [esi + ebx*8], eax
mov eax, dword [edx + edi + 4]
add edx, ecx
mov dword [esi + ebx*8 + 4], eax
inc ebx
cmp ebx, dword [esp + 0xb8]
jb 0x1006081a
mov edx, dword [esp + 0x90]
mov eax, dword [esp + 0x38]
inc eax
add esi, dword [esp + 0x3c]
lea ecx, [ecx + edx*8]
cmp eax, dword [esp + 0x8c]
jb 0x1006080c
mov edx, dword [esp + 0x78]
mov ebx, dword [esp + 0x8c]
mov edi, dword [esp + 0xf0]
mov esi, dword [esp + 0xc]
jmp 0x10060f1c
mov ecx, ebx
shr ecx, 0x1f
add ecx, ebx
sar ecx, 1
mov dword [esp + 0x74], ecx
cmp ebx, 1
jle 0x10060f1c
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x5c], 0
mov dword [esp + 0xf0], edi
lea ebx, [ecx + eax*8]
mov dword [esp + 0x64], ebx
mov ebx, eax
shl ebx, 4
mov dword [esp + 0x68], ebx
mov dword [esp + 0x90], eax
mov dword [esp + 0x78], edx
mov dword [esp + 0xc], esi
add ecx, ebx
mov dword [esp + 0x60], ecx
lea ebx, [edi*8]
neg ebx
lea ecx, [edi - 1]
mov dword [esp + 0xe4], ecx
mov ecx, edi
shl ecx, 4
add ebx, edx
add ebx, ecx
add ecx, 0xfffffff0
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x70], ecx
mov ebx, dword [esp + 0x8c]
mov edi, dword [esp + 0x5c]
cmp dword [esp + 0xf0], 1
jle 0x1006101b
mov esi, dword [esp + 0x68]
xor ecx, ecx
mov ebx, esi
imul ebx, edi
mov eax, dword [esp + 0x90]
add esi, ebx
mov edx, dword [esp + 0x60]
mov dword [esp + 0xe8], esi
lea eax, [ebx + eax*8]
mov dword [esp + 0xec], eax
add edx, ebx
mov eax, dword [esp + 0x70]
imul eax, edi
add ebx, dword [esp + 0x64]
add eax, dword [esp + 0x6c]
mov esi, ecx
mov dword [esp + 0x5c], edi
mov edi, dword [ebx + 4]
inc ecx
mov dword [esi + eax - 4], edi
mov edi, dword [edx + 4]
mov dword [esi + eax + 4], edi
mov edi, dword [ebx]
mov dword [esi + eax - 8], edi
mov edi, dword [edx]
mov dword [esi + eax], edi
add esi, 0x10
add ebx, dword [esp + 0xec]
add edx, dword [esp + 0xe8]
cmp ecx, dword [esp + 0xe4]
jb 0x1006093f
mov edi, dword [esp + 0x5c]
inc edi
cmp edi, dword [esp + 0x74]
jb 0x100608f1
jmp 0x10060850
test bl, 2
je 0x10060abc
mov dword [esp + 0x90], eax
lea eax, [ebx + 1]
mov dword [esp + 0x78], edx
mov edx, eax
shr edx, 0x1f
add edx, eax
sar edx, 1
mov dword [esp + 0x1c], edx
mov eax, dword [esp + 0x90]
mov edx, dword [esp + 0x78]
test ebx, ebx
jle 0x10060f1c
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0x90], eax
mov dword [esp + 0x24], 0
mov dword [esp + 0xc], esi
lea ecx, [ecx + eax*8]
shl eax, 4
mov dword [esp + 0x28], eax
lea eax, [edi - 1]
mov dword [esp + 0xac], eax
mov eax, edi
shl eax, 4
mov dword [esp + 0x20], ecx
mov ecx, eax
neg ecx
add ecx, eax
add eax, 0xfffffff0
mov dword [esp + 0x30], eax
add ecx, edx
mov dword [esp + 0x2c], ecx
mov eax, dword [esp + 0x90]
mov esi, dword [esp + 0x24]
mov dword [esp + 0x78], edx
mov dword [esp + 0x8c], ebx
mov dword [esp + 0xf0], edi
cmp dword [esp + 0xf0], 1
jle 0x10060ff5
mov edi, dword [esp + 0x28]
xor edx, edx
imul edi, esi
mov eax, dword [ebp + 0x10]
mov ebx, dword [esp + 0x90]
mov ecx, dword [esp + 0x20]
add eax, edi
mov dword [esp + 0x34], eax
lea ebx, [edi + ebx*8]
mov eax, dword [esp + 0x30]
add ecx, edi
imul eax, esi
mov dword [esp + 0xb4], ebx
mov dword [esp + 0x24], esi
add eax, dword [esp + 0x2c]
mov ebx, edx
mov esi, dword [esp + 0x34]
mov dword [esp + 0xb0], edi
mov edi, dword [esi + 4]
inc edx
mov dword [ebx + eax + 4], edi
mov edi, dword [ecx + 4]
mov dword [ebx + eax + 0xc], edi
mov edi, dword [esi]
mov dword [ebx + eax], edi
mov edi, dword [ecx]
mov dword [ebx + eax + 8], edi
add ebx, 0x10
add esi, dword [esp + 0xb0]
add ecx, dword [esp + 0xb4]
cmp edx, dword [esp + 0xac]
jb 0x10060a74
mov esi, dword [esp + 0x24]
inc esi
cmp esi, dword [esp + 0x1c]
jb 0x10060a21
jmp 0x10060850
test ebx, ebx
jle 0x10060f1c
mov dword [esp + 0x40], 0
lea ecx, [edi*8 - 8]
mov dword [esp + 0x58], ecx
lea ecx, [eax*8]
mov dword [esp + 0x54], ecx
mov ecx, eax
shl ecx, 4
mov dword [esp + 0x4c], ecx
lea ecx, [eax + eax*2]
mov dword [esp + 0x50], ecx
cmp edi, 1
jle 0x10060f1c
mov dword [esp + 0x90], eax
mov dword [esp + 0x78], edx
mov dword [esp + 0x8c], ebx
mov dword [esp + 0xf0], edi
mov dword [esp + 0xc], esi
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x54]
imul ecx, eax
mov esi, dword [esp + 0x90]
mov edi, dword [esp + 0x4c]
mov edx, dword [esp + 0x58]
imul edx, eax
lea ebx, [ecx + esi*8]
imul esi, eax
add edx, dword [esp + 0x78]
add edi, ecx
mov dword [esp + 0xd8], edi
mov edi, dword [esp + 0x50]
mov dword [esp + 0xd0], 1
mov dword [esp + 0x48], ecx
mov dword [esp + 0xcc], esi
lea edi, [ecx + edi*8]
mov dword [esp + 0x44], 0x20
mov dword [esp + 0xbc], esi
mov dword [esp + 0xc4], ebx
mov dword [esp + 0xc0], ecx
mov dword [esp + 0xc8], edx
mov dword [esp + 0x40], eax
mov dword [esp + 0xd4], edi
mov ecx, dword [esp + 0x44]
mov eax, dword [esp + 0xcc]
mov ebx, dword [esp + 0x48]
mov esi, dword [esp + 0xd0]
mov edx, dword [ebp + 0x10]
mov edi, dword [esp + 0xc8]
mov dword [esp + 0xcc], eax
mov eax, dword [edx + eax*8]
mov dword [ecx + edi - 0x20], eax
mov eax, dword [esp + 0xc4]
imul eax, esi
mov dword [esp + 0xdc], eax
mov eax, dword [edx + eax]
mov dword [ecx + edi - 0x1c], eax
mov eax, dword [esp + 0xd8]
imul eax, esi
mov dword [esp + 0xe0], eax
mov eax, dword [edx + eax]
mov dword [ecx + edi - 0x18], eax
mov eax, dword [esp + 0xd4]
imul eax, esi
mov dword [esp + 0xd0], esi
mov esi, dword [edx + eax]
mov dword [ecx + edi - 0x14], esi
mov esi, dword [ebx + edx + 4]
mov dword [ecx + edi - 0x10], esi
mov esi, dword [esp + 0xdc]
add ebx, dword [esp + 0xc0]
mov esi, dword [esi + edx + 4]
mov dword [ecx + edi - 0xc], esi
mov esi, dword [esp + 0xe0]
mov eax, dword [eax + edx + 4]
mov esi, dword [esi + edx + 4]
mov dword [ecx + edi - 8], esi
mov dword [ecx + edi - 4], eax
add ecx, 0x20
mov eax, dword [esp + 0xcc]
mov esi, dword [esp + 0xd0]
inc esi
add eax, dword [esp + 0xbc]
cmp esi, dword [esp + 0xf0]
jl 0x10060bad
mov eax, dword [esp + 0x40]
add eax, 4
cmp eax, dword [esp + 0x8c]
jl 0x10060b1c
mov edx, dword [esp + 0x78]
mov ebx, dword [esp + 0x8c]
mov edi, dword [esp + 0xf0]
mov esi, dword [esp + 0xc]
jmp 0x10060f1c
test bl, 3
je 0x10060d44
test ebx, ebx
jle 0x10060f1c
xor ecx, ecx
mov dword [esp + 0x94], ecx
mov dword [esp + 0xf4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0x78], edx
mov dword [esp + 0x8c], ebx
mov dword [esp + 0xc], esi
mov dword [esp + 0x90], eax
mov edx, dword [esp + 8]
mov esi, ecx
mov ebx, dword [esp + 0x94]
xor eax, eax
mov dword [esp + 0x94], ebx
xor ecx, ecx
mov dword [esp + 0xf4], esi
mov ebx, dword [ebp + 0x10]
mov esi, dword [ecx + ebx]
mov dword [edx + eax*8], esi
mov esi, dword [ecx + ebx + 4]
mov dword [edx + eax*8 + 4], esi
inc eax
add ecx, dword [esp + 0xf4]
cmp eax, edi
jl 0x10060cf1
mov eax, dword [esp + 0x90]
lea edx, [edx + edi*8]
mov ebx, dword [esp + 0x94]
inc ebx
mov esi, dword [esp + 0xf4]
cmp ebx, dword [esp + 0x8c]
lea esi, [esi + eax*8]
jl 0x10060cdc
mov edx, dword [esp + 0x78]
mov ebx, dword [esp + 0x8c]
mov esi, dword [esp + 0xc]
jmp 0x10060f1c
test ebx, ebx
jle 0x10060f08
mov dword [esp + 0x98], 0
lea ecx, [edi*8]
mov dword [esp + 0x88], ecx
lea ecx, [eax*8]
mov dword [esp + 0x84], ecx
mov ecx, eax
shl ecx, 4
mov dword [esp + 0x7c], ecx
lea ecx, [eax + eax*2]
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x80], ecx
mov dword [esp + 0x90], eax
mov dword [esp + 0x78], edx
mov dword [esp + 0xf0], edi
mov dword [esp + 0xc], esi
mov ebx, dword [esp + 0x98]
mov edi, dword [esp + 0x84]
xor eax, eax
imul edi, ebx
mov edx, dword [esp + 0x90]
mov esi, edx
mov ecx, dword [esp + 0x88]
imul ecx, ebx
lea edx, [edi + edx*8]
imul esi, ebx
mov dword [esp + 0x10c], edx
mov edx, dword [esp + 0x7c]
add ecx, dword [esp + 0x78]
mov dword [esp + 0x110], eax
mov dword [esp + 0xf8], esi
add edx, edi
mov dword [esp + 0x108], edx
mov edx, dword [esp + 0x80]
mov dword [esp + 0x100], ecx
mov dword [esp + 0x98], ebx
mov dword [esp + 0xfc], edi
lea edx, [edi + edx*8]
mov dword [esp + 0x104], edx
xor edx, edx
mov ecx, eax
mov esi, edx
mov ebx, dword [ebp + 0x10]
mov edi, dword [esp + 0x100]
mov dword [esp + 0x110], ecx
mov ecx, dword [ebx + ecx*8]
mov dword [esi + edi], ecx
mov ecx, dword [esp + 0x10c]
imul ecx, eax
mov dword [esp + 0x118], ecx
mov ecx, dword [ebx + ecx]
mov dword [esi + edi + 4], ecx
mov ecx, dword [esp + 0x108]
imul ecx, eax
mov dword [esp + 0x11c], ecx
mov ecx, dword [ebx + ecx]
mov dword [esi + edi + 8], ecx
mov ecx, dword [esp + 0x104]
imul ecx, eax
mov dword [esp + 0x114], eax
mov eax, dword [ebx + ecx]
mov dword [esi + edi + 0xc], eax
mov eax, dword [edx + ebx + 4]
mov dword [esi + edi + 0x10], eax
mov eax, dword [esp + 0x118]
add edx, dword [esp + 0xfc]
mov eax, dword [eax + ebx + 4]
mov dword [esi + edi + 0x14], eax
mov eax, dword [esp + 0x11c]
mov ecx, dword [ecx + ebx + 4]
mov eax, dword [eax + ebx + 4]
mov dword [esi + edi + 0x18], eax
mov dword [esi + edi + 0x1c], ecx
add esi, 0x20
mov ecx, dword [esp + 0x110]
mov eax, dword [esp + 0x114]
inc eax
add ecx, dword [esp + 0xf8]
cmp eax, dword [esp + 0xf0]
jl 0x10060e24
mov ebx, dword [esp + 0x98]
add ebx, 4
cmp ebx, dword [esp + 0x8c]
jl 0x10060daa
mov edx, dword [esp + 0x78]
mov ebx, dword [esp + 0x8c]
mov edi, dword [esp + 0xf0]
mov esi, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
lea eax, [edi*4]
cmp eax, ecx
cmovge ecx, eax
mov dword [esp + 0x10], ecx
mov ecx, dword [ebp + 8]
inc esi
mov eax, dword [esp + 0xa8]
mov dword [ecx + eax*8 + 0x6c], edx
mov edx, dword [ecx + 0x50]
cmp esi, edx
mov dword [esp + 0xa4], edx
jg 0x10061041
imul ebx, edi
cmp ebx, 0x7d0
jle 0x100606a2
jmp 0x10060692
cmp ebx, 6
je 0x10060f84
shl ebx, 2
mov esi, dword [ecx + 0x50]
mov dword [ecx + 0x58], ebx
test esi, esi
jle 0x10060f7b
mov eax, 1
lea ebx, [eax + eax*2]
inc eax
mov edx, dword [ecx + ebx*8 + 0x70]
cmp eax, esi
mov dword [ecx + ebx*8 + 0x58], edx
jle 0x10060f68
mov ebx, dword [ecx + 0x58]
dec esi
mov dword [ecx + 0x50], esi
jmp 0x100605d9
mov esi, dword [ecx + 0x50]
jmp 0x100605f2
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax]
mov edx, ecx
neg edx
and edx, 0x3f
add ecx, edx
mov dword [esp + 0x14], ecx
push ecx
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push edi
call fcn.10061f20
add esp, 0x10
mov edx, dword [ebp + 0x18]
mov dword [esp + 0x18], edi
mov dword [edx], eax
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x50]
mov dword [esp + 0xa4], ecx
jmp 0x100606ea
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax]
mov edx, ecx
neg edx
and edx, 0x3f
add ecx, edx
mov dword [esp + 0x14], ecx
push ecx
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push ebx
call fcn.10061f20
add esp, 0x10
mov edx, dword [ebp + 0x18]
mov dword [edx], eax
jmp 0x10060726
inc esi
cmp esi, dword [esp + 0x1c]
jb 0x10060a21
mov edx, dword [esp + 0x78]
mov ebx, dword [esp + 0x8c]
mov edi, dword [esp + 0xf0]
mov esi, dword [esp + 0xc]
jmp 0x10060f1c
inc edi
cmp edi, dword [esp + 0x74]
jb 0x100608f1
mov edx, dword [esp + 0x78]
mov ebx, dword [esp + 0x8c]
mov edi, dword [esp + 0xf0]
mov esi, dword [esp + 0xc]
jmp 0x10060f1c
mov ecx, dword [ebp + 8]
mov eax, dword [esp + 0xa0]
mov ebx, dword [esp + 0x10]
mov edi, dword [ecx + 0x20]
mov edx, dword [ebp + 0xc]
lea esi, [edx + ebx]
lea edx, [esi*8 + 0x80]
mov dword [ecx + 0x18], edx
test edi, edi
je 0x10061895
mov eax, dword [ebp + 0x1c]
mov edi, dword [ebp + 0xc]
mov edx, dword [eax]
mov esi, edx
neg esi
and esi, 0x3f
add edx, esi
mov dword [esp + 0x48], edx
lea esi, [edx + edi*4]
mov dword [eax], esi
mov dword [ecx + 0x54], edx
mov esi, dword [eax]
mov edx, esi
neg edx
and edx, 0x3f
add esi, edx
mov dword [esp + 0x20], esi
lea edi, [esi + edi*4]
mov dword [eax], edi
mov edi, dword [ecx + 0x50]
lea eax, [edi + edi*2]
mov eax, dword [ecx + eax*8 + 0x5c]
test eax, eax
jle 0x10061166
cmp eax, 4
jl 0x10061ba7
mov edi, dword [esp + 0x48]
and edi, 0xf
je 0x100610d3
test edi, 3
jne 0x10061ba7
neg edi
add edi, 0x10
shr edi, 2
lea edx, [edi + 4]
cmp eax, edx
jl 0x10061ba7
mov esi, eax
sub esi, edi
and esi, 3
neg esi
add esi, eax
test edi, edi
jbe 0x100610fe
mov ecx, dword [esp + 0x48]
xor edx, edx
mov dword [ecx + edx*4], edx
inc edx
cmp edx, edi
jb 0x100610f3
mov ecx, dword [ebp + 8]
mov dword [esp], eax
mov eax, 4
mov dword [esp + 4], esi
lea edx, [edi + 1]
lea esi, [edi + 2]
movd xmm0, eax
lea eax, [edi + 3]
pshufd xmm1, xmm0, 0
movd xmm0, edi
movd xmm2, edx
movd xmm4, esi
punpcklqdq xmm0, xmm2
movd xmm3, eax
punpcklqdq xmm4, xmm3
shufps xmm0, xmm4, 0x88
mov esi, dword [esp + 4]
mov eax, dword [esp]
mov edx, dword [esp + 0x48]
movdqa xmmword [edx + edi*4], xmm0
add edi, 4
paddd xmm0, xmm1
cmp edi, esi
jb 0x10061143
cmp esi, eax
jae 0x10061163
mov edx, dword [esp + 0x48]
mov dword [edx + esi*4], esi
inc esi
cmp esi, eax
jb 0x1006115b
mov edi, dword [ecx + 0x50]
lea eax, [edi + 1]
mov dword [esp + 0x1c], eax
test edi, edi
jl 0x10061824
mov esi, dword [esp + 0x20]
lea eax, [edi + edi*2]
and esi, 0xf
lea edi, [ecx + eax*8]
mov eax, esi
mov edx, esi
neg eax
and edx, 3
add eax, 0x10
mov dword [esp + 0x14], 0
shr eax, 2
movd xmm0, dword [ebp + 0x10]
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov dword [esp + 0xc], esi
mov dword [esp + 0x18], edi
mov dword [esp + 0x10], ebx
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
lea edi, [ecx + ecx*2]
shl edi, 3
neg edi
mov eax, dword [esi + edi + 0x58]
mov ebx, dword [esi + edi + 0x5c]
mov edx, dword [esi + edi + 0x6c]
mov edi, dword [esi + edi + 0x60]
imul edi, dword [esp + 0x9c]
mov dword [esp + 0x64], edx
cmp eax, 0xd
jg 0x100613a3
test ebx, ebx
jle 0x1006180f
mov edx, dword [esp + 0x48]
cmp eax, 1
mov edx, dword [edx]
jle 0x10061510
shl edi, 3
xor esi, esi
mov dword [esp + 0x40], edi
lea edi, [eax*8 - 8]
mov dword [esp + 0x44], edi
lea edi, [eax - 1]
mov dword [esp + 0x3c], esi
mov dword [esp + 0x38], esi
mov dword [esp + 0x6c], edi
and edi, 0xfffffffc
mov dword [esp + 0x68], edi
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], ebx
mov dword [esp + 0x14], ecx
mov edi, esi
mov eax, dword [esp + 0x3c]
cmp dword [esp + 0x6c], 4
jl 0x10061bd6
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x40]
imul eax, edx
mov dword [esp + 0x34], edx
lea ecx, [eax*4]
mov edx, dword [ebp + 0x10]
mov ebx, dword [esp + 0x68]
mov dword [esp + 0x4c], ebx
movd xmm3, ecx
lea esi, [edx + eax]
pshufd xmm3, xmm3, 0
lea ebx, [esi + eax]
mov dword [esp + 0x38], edi
lea edx, [ebx + eax]
add eax, edx
movd xmm4, esi
movd xmm1, ebx
xor ebx, ebx
movd xmm5, edx
movd xmm2, eax
mov eax, dword [esp + 0x64]
punpcklqdq xmm4, xmm1
punpcklqdq xmm5, xmm2
lea ecx, [eax + edi]
shufps xmm4, xmm5, 0x88
nop dword [eax + eax]
nop dword [eax + eax]
movaps xmm7, xmm4
punpckhqdq xmm7, xmm4
pshuflw xmm5, xmm4, 0xee
pshuflw xmm1, xmm7, 0xee
movd eax, xmm4
paddd xmm4, xmm3
movd edx, xmm5
movd esi, xmm7
movd edi, xmm1
movd xmm2, dword [eax]
movd xmm6, dword [edx]
movd xmm5, dword [esi]
movd xmm7, dword [edi]
punpcklqdq xmm2, xmm6
punpcklqdq xmm5, xmm7
shufps xmm2, xmm5, 0x88
movd xmm5, dword [edi + 4]
movd xmm1, dword [eax + 4]
movd xmm6, dword [edx + 4]
movd xmm7, dword [esi + 4]
punpcklqdq xmm1, xmm6
punpcklqdq xmm7, xmm5
movaps xmm5, xmm2
shufps xmm1, xmm7, 0x88
unpcklps xmm5, xmm1
unpckhps xmm2, xmm1
movups xmmword [ecx + ebx*8], xmm5
movups xmmword [ecx + ebx*8 + 0x10], xmm2
add ebx, 4
cmp ebx, dword [esp + 0x68]
jb 0x100612b0
mov edx, dword [esp + 0x34]
mov edi, dword [esp + 0x38]
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x4c]
cmp ecx, dword [esp + 0x6c]
jae 0x10061bbf
imul edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x64]
mov esi, dword [ebp + 0x10]
mov ebx, dword [esp + 0x4c]
mov dword [esp + 0x3c], eax
add ecx, edi
imul ebx, edx
add esi, edx
mov dword [esp + 0x38], edi
mov eax, dword [esp + 0x4c]
mov edi, dword [ebx + esi]
mov dword [ecx + eax*8], edi
mov edi, dword [ebx + esi + 4]
add ebx, edx
mov dword [ecx + eax*8 + 4], edi
inc eax
cmp eax, dword [esp + 0x6c]
jb 0x10061369
mov edi, dword [esp + 0x38]
mov eax, dword [esp + 0x3c]
inc eax
add edi, dword [esp + 0x44]
cmp eax, dword [esp + 0x58]
jae 0x10061bae
mov edx, dword [esp + 0x48]
mov edx, dword [edx + eax*4]
jmp 0x1006123a
test ebx, ebx
jle 0x1006180f
mov edx, eax
and edx, 0xfffffffc
mov dword [esp + 0x50], 0
shl edi, 3
mov dword [esp + 0x60], edx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x40], edi
mov dword [esp + 0x58], ebx
mov edx, dword [esp + 0x50]
mov ecx, dword [esp + 0x64]
mov ebx, dword [esp + 0x48]
movdqa xmm4, xmm0
mov dword [esp + 0x50], edx
mov esi, dword [ebp + 0x10]
mov edx, dword [ebx + edx*4]
imul edx, dword [esp + 0x40]
mov dword [esp + 0x5c], edx
lea ebx, [esi + edx]
mov dword [esp + 0x64], ecx
lea esi, [ebx + edx]
mov dword [esp + 0x54], eax
lea edi, [edx*4]
movd xmm1, ebx
mov ebx, ecx
movd xmm5, esi
add esi, edx
punpcklqdq xmm4, xmm1
movd xmm3, edi
xor edi, edi
pshufd xmm3, xmm3, 0
movd xmm2, esi
xor esi, esi
punpcklqdq xmm5, xmm2
shufps xmm4, xmm5, 0x88
movaps xmm7, xmm4
punpckhqdq xmm7, xmm4
pshuflw xmm5, xmm4, 0xee
pshuflw xmm1, xmm7, 0xee
mov dword [esp + 0x70], edi
movd eax, xmm4
paddd xmm4, xmm3
movd edx, xmm5
movd ecx, xmm7
movd edi, xmm1
movd xmm2, dword [eax]
movd xmm6, dword [edx]
movd xmm5, dword [ecx]
movd xmm7, dword [edi]
punpcklqdq xmm2, xmm6
punpcklqdq xmm5, xmm7
shufps xmm2, xmm5, 0x88
movd xmm5, dword [edi + 4]
movd xmm1, dword [eax + 4]
movd xmm6, dword [edx + 4]
movd xmm7, dword [ecx + 4]
punpcklqdq xmm1, xmm6
punpcklqdq xmm7, xmm5
movaps xmm5, xmm2
mov eax, dword [esp + 0x64]
shufps xmm1, xmm7, 0x88
unpcklps xmm5, xmm1
mov edi, dword [esp + 0x70]
unpckhps xmm2, xmm1
add edi, 4
movups xmmword [esi + eax], xmm5
movups xmmword [ebx + 0x10], xmm2
add ebx, 0x20
add esi, 0x20
cmp edi, dword [esp + 0x60]
jb 0x1006142c
mov esi, dword [esp + 0x60]
mov ebx, dword [esp + 0x5c]
mov eax, dword [esp + 0x54]
imul ebx, esi
mov edx, dword [esp + 0x50]
mov ecx, dword [esp + 0x64]
cmp esi, eax
jae 0x100614fa
mov dword [esp + 0x50], edx
mov edx, dword [ebp + 0x10]
mov edi, dword [ebx + edx]
mov dword [ecx + esi*8], edi
mov edi, dword [ebx + edx + 4]
mov dword [ecx + esi*8 + 4], edi
inc esi
add ebx, dword [esp + 0x5c]
cmp esi, eax
jb 0x100614df
mov edx, dword [esp + 0x50]
inc edx
lea ecx, [ecx + eax*8]
cmp edx, dword [esp + 0x58]
jb 0x100613d3
mov ebx, dword [esp + 0x58]
mov ecx, dword [esp + 0x14]
cmp ebx, 6
jle 0x1006161e
mov edx, dword [esp + 0x48]
cmp edx, dword [esp + 0x20]
jae 0x10061536
mov esi, dword [esp + 0x20]
lea edx, [ebx*4]
sub esi, dword [esp + 0x48]
cmp edx, esi
jle 0x10061557
mov edx, dword [esp + 0x48]
cmp edx, dword [esp + 0x20]
jbe 0x1006161e
lea esi, [ebx*4]
sub edx, dword [esp + 0x20]
cmp edx, esi
jl 0x1006161e
mov esi, dword [esp + 0xc]
test esi, esi
je 0x1006156e
cmp dword [esp + 8], 0
jne 0x10061be3
mov esi, dword [esp + 4]
lea edx, [esi + 4]
cmp ebx, edx
jl 0x10061be3
mov edi, ebx
sub edi, esi
and edi, 3
neg edi
add edi, ebx
test esi, esi
jbe 0x100615b5
mov dword [esp + 0x58], ebx
xor edx, edx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x54], eax
mov ecx, dword [esp + 0x20]
mov ebx, dword [esp + 0x48]
mov eax, dword [ebx + edx*4]
mov dword [ecx + edx*4], eax
inc edx
cmp edx, esi
jb 0x1006159e
mov ebx, dword [esp + 0x58]
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x48]
lea edx, [edx + esi*4]
test dl, 0xf
je 0x100615e0
mov dword [esp + 0x14], ecx
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x48]
lddqu xmm1, xmmword [ecx + esi*4]
movdqa xmmword [edx + esi*4], xmm1
add esi, 4
cmp esi, edi
jb 0x100615cd
jmp 0x100615fd
mov dword [esp + 0x14], ecx
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x48]
movdqa xmm1, xmmword [ecx + esi*4]
movdqa xmmword [edx + esi*4], xmm1
add esi, 4
cmp esi, edi
jb 0x100615ec
mov ecx, dword [esp + 0x14]
cmp edi, ebx
jae 0x1006163b
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x20]
mov esi, dword [esp + 0x48]
mov edx, dword [esi + edi*4]
mov dword [ecx + edi*4], edx
inc edi
cmp edi, ebx
jb 0x10061611
jmp 0x10061637
mov dword [esp + 0x14], ecx
xor edx, edx
mov esi, dword [esp + 0x20]
mov edi, dword [esp + 0x48]
mov ecx, dword [edi + edx*4]
mov dword [esi + edx*4], ecx
inc edx
cmp edx, ebx
jb 0x1006162c
mov ecx, dword [esp + 0x14]
test eax, eax
jle 0x1006180f
mov dword [esp + 0x54], eax
lea esi, [eax*4]
mov dword [esp], esi
xor edx, edx
mov dword [esp + 0x14], ecx
mov eax, dword [esp + 0x48]
cmp dword [esp + 0x54], 6
jg 0x1006166f
mov esi, edx
imul esi, dword [esp]
add esi, eax
jmp 0x100617d6
mov dword [esp + 0x28], edx
lea ecx, [ebx*4]
mov dword [esp + 0x58], ebx
mov edx, dword [esp + 0x54]
movd xmm1, ecx
pshufd xmm1, xmm1, 0
mov ecx, dword [esp + 0x20]
mov ebx, dword [esp + 0x28]
mov edi, dword [esp + 0x48]
lea eax, [ecx + ebx*4]
mov dword [esp + 0x2c], eax
imul ebx, dword [esp]
lea ecx, [edi + ebx - 4]
lea esi, [edi + ebx]
mov dword [esp + 0x30], esi
cmp ecx, eax
jbe 0x100616bc
mov eax, ecx
sub eax, dword [esp + 0x2c]
cmp eax, 4
jge 0x100616db
cmp ecx, dword [esp + 0x2c]
jae 0x100617cc
neg ecx
lea eax, [edx*4]
add ecx, dword [esp + 0x2c]
cmp ecx, eax
jl 0x100617cc
and esi, 0xf
je 0x100616f4
test esi, 3
jne 0x10061bea
neg esi
add esi, 0x10
shr esi, 2
lea eax, [esi + 4]
cmp edx, eax
jl 0x10061bea
mov eax, edx
sub eax, esi
and eax, 3
neg eax
add eax, edx
test esi, esi
jbe 0x10061736
xor ebx, ebx
mov dword [esp + 0x24], eax
xor ecx, ecx
mov edx, dword [esp + 0x2c]
mov edi, dword [esp + 0x30]
mov eax, dword [edx]
add eax, ecx
mov dword [edi + ebx*4], eax
inc ebx
add ecx, dword [esp + 0x58]
cmp ebx, esi
jb 0x1006171e
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x54]
mov dword [esp + 0x24], eax
mov eax, esi
mov ebx, dword [esp + 0x58]
imul eax, ebx
lea ecx, [ebx + eax]
lea edi, [ebx + ecx]
movd xmm2, eax
movd xmm3, ecx
movd xmm5, edi
add edi, ebx
punpcklqdq xmm2, xmm3
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x2c]
movd xmm4, edi
punpcklqdq xmm5, xmm4
mov ebx, dword [esp + 0x30]
shufps xmm2, xmm5, 0x88
movd xmm3, dword [ecx]
pshufd xmm4, xmm3, 0
paddd xmm4, xmm2
paddd xmm2, xmm1
movdqa xmmword [ebx + esi*4], xmm4
add esi, 4
cmp esi, eax
jb 0x10061773
mov ecx, dword [esp + 0x58]
imul ecx, eax
cmp eax, edx
jae 0x10061bf1
mov esi, dword [esp + 0x2c]
mov edi, dword [esp + 0x30]
mov ebx, dword [esi]
add ebx, ecx
mov dword [edi + eax*4], ebx
inc eax
add ecx, dword [esp + 0x58]
cmp eax, edx
jb 0x100617a7
mov eax, dword [esp + 0x28]
inc eax
mov dword [esp + 0x28], eax
cmp eax, dword [esp + 0x58]
jb 0x1006168b
jmp 0x10061806
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x58]
mov eax, edi
xor edi, edi
mov dword [esp + 0x58], ebx
xor ecx, ecx
mov ebx, dword [esp + 0x20]
mov eax, dword [ebx + edx*4]
add eax, ecx
mov dword [esi + edi*4], eax
inc edi
add ecx, dword [esp + 0x58]
cmp edi, dword [esp + 0x54]
jb 0x100617e2
inc edx
mov ebx, dword [esp + 0x58]
mov eax, dword [esp + 0x48]
cmp edx, ebx
jb 0x1006165b
nop dword [eax + eax]
mov ecx, dword [esp + 0x14]
inc ecx
cmp ecx, dword [esp + 0x1c]
jb 0x100611b6
mov ecx, dword [ebp + 8]
mov ebx, dword [esp + 0x10]
mov edi, dword [ecx + 0x50]
mov eax, dword [ebp + 0xc]
lea esi, [edi + edi*2]
cdq
mov esi, dword [ecx + esi*8 + 0x5c]
idiv esi
test edi, edi
js 0x10061862
mov dword [esp + 0x10], ebx
mov esi, 1
cmp eax, 0x7d0
lea edx, [edi + edi*2]
mov dword [ecx + edx*8 + 0x64], esi
mov ebx, dword [ecx + edx*8 + 0x58]
jle 0x10061855
cmp edi, 1
jne 0x10061858
imul esi, ebx
cdq
idiv ebx
dec edi
jns 0x1006183e
mov ebx, dword [esp + 0x10]
mov eax, dword [ebp + 0xc]
lea edx, [eax*8]
mov eax, dword [ecx + 0x18]
sub eax, edx
test ebx, ebx
jne 0x1006187e
mov dword [ecx + 0x18], 0
jmp 0x10061881
mov dword [ecx + 0x18], eax
mov dword [ecx + 0x54], 0
add esp, 0x124
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov edi, dword [ebp + 0x18]
mov esi, dword [edi]
mov ebx, esi
neg ebx
and ebx, 0x3f
add esi, ebx
lea edx, [esi + eax*4]
mov dword [edi], edx
mov dword [esi], 0
mov ebx, dword [ecx + 0x50]
mov edx, ebx
dec edx
js 0x10061b97
mov dword [esp + 0x18], 1
lea edx, [ebx + ebx*2 - 3]
mov dword [esp + 0x10], 0
lea edi, [ecx + edx*8]
mov edx, esi
and edx, 0xf
mov dword [esp + 0x24], edi
mov edi, edx
and edi, 3
mov dword [esp + 0x1c], edi
mov edi, edx
neg edi
add edi, 0x10
shr edi, 2
mov dword [esp + 0x14], edx
mov dword [esp + 0xa0], eax
mov dword [esp + 0xc], edi
mov dword [esp + 0x20], ebx
mov dword [esp + 0x2c], esi
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x24]
lea ebx, [edx + edx*2]
shl ebx, 3
neg ebx
cmp eax, dword [esp + 0xa0]
mov ecx, dword [ecx + ebx + 0x58]
jge 0x10061ad5
mov ebx, ecx
dec ebx
js 0x10061ac2
test eax, eax
jle 0x10061ac2
mov dword [esp + 0x10], edx
lea ebx, [ecx*4]
imul ebx, eax
lea esi, [eax*4]
add ebx, dword [esp + 0x2c]
mov edx, esi
neg esi
xor edi, edi
add esi, ebx
neg edx
mov dword [esp + 0x34], edi
mov dword [esp + 0x30], edi
mov dword [esp + 0x38], edi
mov dword [esp + 0x44], edx
mov dword [esp + 0x3c], edi
mov dword [esp + 0x28], esi
mov dword [esp + 0x40], ecx
mov esi, dword [esp + 0x30]
mov edi, dword [esp + 0x34]
mov dword [esp], ebx
mov dword [esp + 0x48], ecx
cmp eax, 6
jle 0x10061a5d
mov edx, dword [esp]
lea ecx, [eax*4]
neg ecx
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], edi
mov edi, dword [esp + 0x3c]
mov esi, dword [esp + 0x38]
lea edx, [edx + ecx - 4]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 4]
lea ebx, [ecx + edi]
mov dword [esp + 8], ebx
cmp ebx, dword [esp + 0x2c]
jbe 0x100619d9
lea ecx, [eax*4]
sub ebx, dword [esp + 0x2c]
cmp ecx, ebx
jle 0x100619f8
mov ecx, dword [esp + 0x2c]
cmp ecx, dword [esp + 8]
jbe 0x10061a49
mov ecx, dword [esp + 8]
lea ebx, [eax*4]
neg ecx
add ecx, dword [esp + 0x2c]
cmp ecx, ebx
jl 0x10061a49
mov ebx, dword [esp + 0x28]
xor ecx, ecx
mov dword [esp + 0x38], esi
mov dword [esp + 0x3c], edi
mov esi, dword [esp + 0x2c]
add ebx, edi
mov edi, dword [esi + ecx*4]
imul edi, dword [esp + 0x48]
lea edi, [edx + edi - 1]
mov dword [ebx + ecx*4], edi
inc ecx
cmp ecx, eax
jb 0x10061a0c
mov ecx, dword [esp + 0x30]
dec edx
mov edi, dword [esp + 0x3c]
mov esi, dword [esp + 0x38]
inc esi
lea ebx, [ecx + eax*4]
dec dword [esp + 0x34]
add edi, dword [esp + 0x44]
mov dword [esp + 0x30], ebx
cmp esi, dword [esp + 0x48]
jb 0x100619b9
jmp 0x10061aba
mov dword [esp + 0x3c], edi
mov dword [esp + 0x38], esi
mov dword [esp + 0x40], edx
mov esi, dword [esp + 0x30]
mov edi, dword [esp + 0x34]
mov ebx, dword [esp + 0x48]
xor ecx, ecx
mov edx, dword [esp + 0x28]
mov dword [esp + 0x30], esi
sub edx, esi
mov dword [esp + 0x34], edi
add ebx, edi
mov esi, dword [esp + 0x2c]
mov edi, dword [esi + ecx*4]
imul edi, dword [esp + 0x48]
lea edi, [ebx + edi - 1]
mov dword [edx + ecx*4], edi
inc ecx
cmp ecx, eax
jb 0x10061a77
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x38]
inc ecx
add edx, dword [esp + 0x44]
mov edi, dword [esp + 0x34]
dec dword [esp + 0x40]
dec edi
mov esi, dword [esp + 0x30]
mov dword [esp + 0x3c], edx
lea esi, [esi + eax*4]
mov dword [esp + 0x38], ecx
cmp ecx, dword [esp + 0x48]
jb 0x10061988
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x10]
inc edx
imul eax, ecx
cmp edx, dword [esp + 0x20]
jb 0x1006190c
jmp 0x10061b90
test eax, eax
jle 0x10061b85
cmp eax, 4
jl 0x10061c09
mov esi, dword [esp + 0x14]
test esi, esi
je 0x10061afd
cmp dword [esp + 0x1c], 0
jne 0x10061c09
mov esi, dword [esp + 0xc]
lea ebx, [esi + 4]
cmp eax, ebx
jl 0x10061c09
mov edi, eax
sub edi, esi
and edi, 3
neg edi
add edi, eax
test esi, esi
jbe 0x10061b3b
mov dword [esp + 0x10], edx
xor ebx, ebx
mov dword [esp + 0x18], eax
mov edx, dword [esp + 0x2c]
mov eax, dword [edx + ebx*4]
imul eax, ecx
mov dword [edx + ebx*4], eax
inc ebx
cmp ebx, esi
jb 0x10061b25
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
movd xmm0, ecx
pshufd xmm0, xmm0, 0
mov ebx, dword [esp + 0x2c]
movdqa xmm1, xmm0
pmulld xmm1, xmmword [ebx + esi*4]
movdqa xmmword [ebx + esi*4], xmm1
add esi, 4
cmp esi, edi
jb 0x10061b48
cmp edi, eax
jae 0x10061c15
mov esi, dword [esp + 0x2c]
mov ebx, dword [esi + edi*4]
imul ebx, ecx
mov dword [esi + edi*4], ebx
inc edi
cmp edi, eax
jb 0x10061b6a
inc edx
cmp edx, dword [esp + 0x20]
jb 0x1006190c
jmp 0x10061b90
inc edx
cmp edx, dword [esp + 0x20]
jb 0x1006190c
mov esi, dword [esp + 0x2c]
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x54], esi
add esp, 0x124
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
xor esi, esi
jmp 0x10061153
mov ebx, dword [esp + 0x58]
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x14]
jmp 0x10061510
inc eax
add edi, dword [esp + 0x44]
cmp eax, dword [esp + 0x58]
jae 0x10061bae
mov edx, dword [esp + 0x48]
mov edx, dword [edx + eax*4]
jmp 0x1006123a
mov dword [esp + 0x4c], 0
jmp 0x10061338
xor edi, edi
jmp 0x10061601
xor eax, eax
jmp 0x10061790
mov eax, dword [esp + 0x28]
inc eax
mov dword [esp + 0x28], eax
cmp eax, dword [esp + 0x58]
jb 0x1006168b
jmp 0x10061806
nop dword [eax + eax]
xor edi, edi
jmp 0x10061b5e
inc edx
cmp edx, dword [esp + 0x20]
jb 0x1006190c
jmp 0x10061b90
xor eax, eax
jmp 0x10061052