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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x120]
cmp eax, dword [ecx + 8]
jbe 0x6571c1
sub esp, 0x1a0
lea edi, [esp + 0xc4]
xor eax, eax
call fcn.0044cd1b
mov ecx, dword [esp + 0x1a4]
mov edx, dword [ecx + 0x68]
test edx, edx
jle 0x657102
lea ebx, [edx - 1]
cmp ebx, 3
jae 0x6571ba
lea edx, [edx + edx*4]
lea esi, [ecx + edx*4 + 0x18]
lea edi, [esp + 0xc4]
call fcn.0044d1fe
lea edi, [esp + 0x128]
lea esi, [esp + 0xc4]
call fcn.0044d1fe
mov eax, dword [esp + 0x12c]
mov dword [esp + 0x20], eax
lea ecx, [0x7b2360]
mov dword [esp], ecx
call fcn.00409dc0
mov eax, dword [esp + 4]
mov ecx, dword [0xbc7270]
test ecx, ecx
jne 0x6570e3
mov ecx, dword [esp + 0x1a4]
mov dword [eax + 8], ecx
mov dword [eax], 0xb
mov edx, dword [esp + 0x20]
mov dword [eax + 4], edx
mov edx, dword [0xbc7270]
test edx, edx
jne 0x6570d6
mov dword [ecx + 0x10], eax
lea edx, [esp + 4]
mov dword [esp + 0x54], edx
jmp 0x656a18
mov ecx, eax
mov edx, dword [esp + 0x54]
lea edi, [esp + 0x60]
xor eax, eax
call fcn.0044cd1b
mov ecx, dword [esp + 0x1a4]
mov ebx, dword [ecx + 0x68]
test ebx, ebx
jle 0x657029
lea ebp, [ebx - 1]
cmp ebp, 3
jae 0x6571b3
lea ebx, [ebx + ebx*4]
lea esi, [ecx + ebx*4 + 0x18]
lea edi, [esp + 0x60]
call fcn.0044d1fe
mov ecx, dword [esp + 0x60]
cmp ecx, 7
je 0x657022
lea edi, [esp + 0x74]
call fcn.0044cd1b
mov ecx, dword [esp + 0x1a4]
mov ebx, dword [ecx + 0x68]
test ebx, ebx
jle 0x656f7c
lea ebp, [ebx - 1]
cmp ebp, 3
jae 0x6571ac
lea ebx, [ebx + ebx*4]
lea esi, [ecx + ebx*4 + 0x18]
lea edi, [esp + 0x74]
call fcn.0044d1fe
mov ecx, dword [esp + 0x74]
cmp ecx, 0xa
jne 0x656f70
lea edi, [esp + 0xd8]
call fcn.0044cd1b
mov ecx, dword [esp + 0x1a4]
mov ebx, dword [ecx + 0x68]
test ebx, ebx
jle 0x656edb
dec ebx
mov dword [ecx + 0x68], ebx
mov ebx, dword [ecx + 0x68]
cmp ebx, 3
jae 0x6571a5
lea eax, [ebx + ebx*4]
lea esi, [ecx + eax*4 + 0x2c]
lea edi, [esp + 0xd8]
call fcn.0044d1fe
lea edi, [esp + 0x114]
lea esi, [esp + 0xd8]
call fcn.0044d1fe
mov eax, dword [esp + 0x1a4]
mov dword [esp], eax
call fcn.006558e0
lea edi, [esp + 0x13c]
mov esi, dword [esp + 0x54]
call fcn.0044d1fe
mov eax, dword [esp + 0x13c]
cmp eax, 0x18
je 0x656cde
lea edi, [esp + 0x100]
lea esi, [esp + 0x114]
call fcn.0044d1fe
mov eax, dword [esp + 0x1a4]
lea edi, [eax + 0x40]
mov ecx, dword [0xbc7270]
test ecx, ecx
jne 0x656cb5
lea esi, [esp + 0x100]
call fcn.0044d1fe
mov dword [eax + 0x68], 2
mov dword [esp], eax
call fcn.00657640
mov eax, dword [esp + 4]
mov dword [esp + 0x24], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x38], ecx
mov edx, dword [eax + 0x1c]
mov dword [esp], ecx
call edx
mov eax, dword [esp + 4]
add eax, 0xfffffffa
cmp eax, 1
jbe 0x656c49
mov ecx, dword [esp + 0x1a4]
mov edx, dword [ecx + 0x10]
mov ebx, dword [edx + 0x14]
mov ebp, dword [edx + 0x10]
mov eax, ecx
mov ecx, dword [edx + 0xc]
mov esi, edx
lea edx, [ebp + 1]
cmp edx, ebx
jg 0x656beb
lea edx, [ebp + 1]
mov dword [esi + 0x10], edx
lea edx, [ecx + ebp*8]
mov ebx, dword [esp + 0x24]
mov dword [edx], ebx
mov edx, dword [0xbc7270]
lea edi, [ecx + ebp*8 + 4]
test edx, edx
jne 0x656bd9
mov ecx, dword [esp + 0x38]
mov dword [edi], ecx
jmp 0x656a12
mov ecx, eax
mov eax, dword [esp + 0x38]
call fcn.0044cc20
mov eax, ecx
jmp 0x656a12
mov dword [esp + 0x50], esi
lea eax, [0x7a2b40]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
call fcn.00438d80
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x50]
mov dword [ebx + 0x14], edx
mov edx, dword [0xbc7270]
test edx, edx
jne 0x656c3f
mov dword [ebx + 0xc], eax
mov esi, ebx
mov ebp, ecx
mov ecx, eax
mov eax, dword [esp + 0x1a4]
jmp 0x656bb1
lea edi, [ebx + 0xc]
call fcn.0044cc20
jmp 0x656c2d
mov eax, dword [esp + 0x24]
test eax, eax
je 0x656c54
mov eax, dword [eax + 4]
mov dword [esp + 0x58], 0
mov dword [esp + 0x5c], 0
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x1a4]
mov dword [esp], eax
lea ecx, [0x7df67b]
mov dword [esp + 4], ecx
mov dword [esp + 8], 0xd
lea edx, [esp + 0x58]
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], 1
mov dword [esp + 0x14], 1
call fcn.00655d70
mov eax, dword [esp + 0x1a4]
jmp 0x656a12
lea eax, [0x7ace80]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x100]
mov dword [esp + 8], eax
call fcn.0040f650
mov eax, dword [esp + 0x1a4]
jmp 0x656b5c
lea eax, [0x7bca40]
mov dword [esp], eax
call fcn.00409dc0
mov edi, dword [esp + 4]
mov dword [edi + 4], 0xa
mov eax, dword [0xbc7270]
test eax, eax
jne 0x656ec5
lea ecx, [0x7de34b]
mov dword [edi], ecx
mov dword [edi + 0x20], 0
mov dword [edi + 0x24], 0
mov edx, dword [0xbc7270]
lea ebx, [edi + 0x1c]
test edx, edx
jne 0x656eb1
mov dword [edi + 0x1c], 0
mov edx, dword [esp + 0x1a4]
mov ebp, dword [edx + 0x18]
mov eax, dword [edx + 0x14]
mov dword [edi + 0x18], ebp
mov ebp, dword [0xbc7270]
test ebp, ebp
jne 0x656e9e
mov dword [edi + 0x14], eax
mov ebp, dword [edx + 0xc]
mov eax, dword [edx + 8]
mov dword [edi + 0xc], ebp
mov ebp, dword [0xbc7270]
test ebp, ebp
jne 0x656e8b
mov dword [edi + 8], eax
mov dword [esp + 0x34], edi
mov dword [esp + 0x4c], ebx
mov ebp, dword [edx + 0x24]
mov dword [esp + 0x2c], ebp
mov esi, dword [edx + 0x20]
mov dword [esp + 0x28], esi
mov ecx, dword [edx + 0x1c]
mov dword [esp + 0x3c], ecx
mov ebx, dword [edx + 0x28]
mov edx, dword [edx + 0x78]
mov dword [esp + 0x30], edx
mov edx, dword [0xbc7270]
test edx, edx
jne 0x656e6c
mov dword [edi + 0x10], 0
mov dword [edi + 0x28], ebx
lea eax, [0x761300]
mov dword [esp], eax
call fcn.00409dc0
mov eax, dword [0x8f7b74]
mov ecx, dword [0x8f7b70]
mov edi, dword [esp + 4]
mov dword [edi + 4], eax
mov eax, dword [0xbc7270]
test eax, eax
jne 0x656e60
mov dword [edi], ecx
mov ecx, dword [esp + 0x34]
mov dword [ecx + 0x70], 1
mov dword [ecx + 0x74], 1
mov edx, dword [0xbc7270]
test edx, edx
jne 0x656e52
mov dword [ecx + 0x6c], edi
mov edx, dword [esp + 0x28]
mov dword [ecx + 0x20], edx
mov edx, dword [esp + 0x2c]
mov dword [ecx + 0x24], edx
mov edx, dword [0xbc7270]
test edx, edx
jne 0x656e37
mov eax, dword [esp + 0x3c]
mov dword [ecx + 0x1c], eax
mov eax, dword [esp + 0x30]
mov dword [ecx + 0x78], eax
mov dword [esp], ecx
call fcn.006571d0
mov eax, dword [esp + 0x1a4]
jmp 0x656a12
mov edi, dword [esp + 0x4c]
mov eax, dword [esp + 0x3c]
call fcn.0044cc20
lea edi, [ecx + 0x78]
mov eax, dword [esp + 0x30]
call fcn.0044cc20
jmp 0x656e23
lea edx, [ecx + 0x6c]
mov eax, edi
mov edi, edx
call fcn.0044cc20
jmp 0x656dfd
mov eax, ecx
call fcn.0044cc20
jmp 0x656dde
lea edx, [edi + 0x10]
mov edi, edx
xor eax, eax
call fcn.0044cc20
mov edx, dword [esp + 0x34]
lea edi, [edx + 0x28]
mov eax, ebx
call fcn.0044cc20
jmp 0x656dad
lea ebp, [edi + 8]
mov esi, edi
mov edi, ebp
call fcn.0044cc20
mov edi, esi
jmp 0x656d6e
lea ebp, [edi + 0x14]
mov esi, edi
mov edi, ebp
call fcn.0044cc20
mov edi, esi
jmp 0x656d54
mov eax, edi
mov edi, ebx
mov edx, eax
xor eax, eax
call fcn.0044cc20
mov edi, edx
jmp 0x656d33
lea eax, [0x7de34b]
call fcn.0044cc20
lea ecx, [0x7de34b]
jmp 0x656d0d
mov edx, dword [ecx + 0x28]
lea edi, [esp + 0x9c]
call fcn.0044cd1b
lea edi, [esp + 0x150]
call fcn.0044cd1b
mov ecx, dword [edx + 0x2c]
mov dword [esp], ecx
lea ecx, [esp + 0x150]
mov dword [esp + 4], ecx
call fcn.00404720
lea edi, [esp + 0x9c]
lea esi, [esp + 0x150]
call fcn.0044d1fe
mov ecx, dword [esp + 0x1a4]
lea edi, [ecx + 0x2c]
mov edx, dword [0xbc7270]
test edx, edx
jne 0x656f51
lea esi, [esp + 0x9c]
call fcn.0044d1fe
xor eax, eax
mov ecx, dword [esp + 0x1a4]
mov edx, dword [esp + 0x54]
jmp 0x656ac4
lea eax, [0x7ace80]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x9c]
mov dword [esp + 8], eax
call fcn.0040f650
jmp 0x656f3f
mov eax, dword [esp + 0x1a4]
jmp 0x656b63
mov dword [ecx + 0x68], 1
mov edx, dword [ecx + 0x28]
lea edi, [esp + 0xb0]
call fcn.0044cd1b
lea edi, [esp + 0x164]
call fcn.0044cd1b
mov ecx, dword [edx + 0x2c]
mov dword [esp], ecx
lea ecx, [esp + 0x164]
mov dword [esp + 4], ecx
call fcn.00404720
lea edi, [esp + 0xb0]
lea esi, [esp + 0x164]
call fcn.0044d1fe
mov ecx, dword [esp + 0x1a4]
lea edi, [ecx + 0x2c]
mov dword [esp + 0x48], edi
mov edx, dword [0xbc7270]
test edx, edx
jne 0x657003
lea esi, [esp + 0xb0]
call fcn.0044d1fe
lea edi, [esp + 0x74]
mov esi, dword [esp + 0x48]
call fcn.0044d1fe
xor eax, eax
mov edx, dword [esp + 0x54]
jmp 0x656a95
lea eax, [0x7ace80]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0xb0]
mov dword [esp + 8], eax
call fcn.0040f650
jmp 0x656feb
add esp, 0x1a0
ret
mov dword [ecx + 0x68], 1
mov edx, dword [ecx + 0x28]
lea edi, [esp + 0x88]
call fcn.0044cd1b
lea edi, [esp + 0x178]
call fcn.0044cd1b
mov ecx, dword [edx + 0x2c]
mov dword [esp], ecx
lea ecx, [esp + 0x178]
mov dword [esp + 4], ecx
call fcn.00404720
lea edi, [esp + 0x88]
lea esi, [esp + 0x178]
call fcn.0044d1fe
mov ecx, dword [0xbc7270]
mov edx, dword [esp + 0x1a4]
lea edi, [edx + 0x2c]
mov dword [esp + 0x44], edi
test ecx, ecx
jne 0x6570b0
lea esi, [esp + 0x88]
call fcn.0044d1fe
lea edi, [esp + 0x60]
mov esi, dword [esp + 0x44]
call fcn.0044d1fe
xor eax, eax
mov edx, dword [esp + 0x54]
jmp 0x656a51
lea eax, [0x7ace80]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x88]
mov dword [esp + 8], eax
call fcn.0040f650
mov edx, dword [esp + 0x1a4]
jmp 0x657098
lea edi, [ecx + 0x10]
call fcn.0044cc20
jmp 0x656a08
lea edi, [eax + 8]
mov ecx, eax
mov eax, dword [esp + 0x1a4]
call fcn.0044cc20
mov eax, ecx
mov ecx, dword [esp + 0x1a4]
jmp 0x6569ea
mov dword [ecx + 0x68], 1
mov edx, dword [ecx + 0x28]
lea edi, [esp + 0xec]
call fcn.0044cd1b
lea edi, [esp + 0x18c]
call fcn.0044cd1b
mov ecx, dword [edx + 0x2c]
mov dword [esp], ecx
lea ecx, [esp + 0x18c]
mov dword [esp + 4], ecx
call fcn.00404720
lea edi, [esp + 0xec]
lea esi, [esp + 0x18c]
call fcn.0044d1fe
mov ecx, dword [esp + 0x1a4]
lea edi, [ecx + 0x2c]
mov dword [esp + 0x40], edi
mov edx, dword [0xbc7270]
test edx, edx
jne 0x657186
lea esi, [esp + 0xec]
call fcn.0044d1fe
lea edi, [esp + 0xc4]
mov esi, dword [esp + 0x40]
call fcn.0044d1fe
jmp 0x6569a2
lea eax, [0x7ace80]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0xec]
mov dword [esp + 8], eax
call fcn.0040f650
jmp 0x657171
call fcn.00426630
ud2
call fcn.00426630
ud2
call fcn.00426630
ud2
call fcn.00426630
ud2
call fcn.0044b4c0
jmp fcn.00656940