Function at 0x656a10
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 0x657291
sub esp, 0x1a0
lea edi, [esp + 0xc4]
xor eax, eax
call fcn.0044cadb
mov ecx, dword [esp + 0x1a4]
mov edx, dword [ecx + 0x68]
test edx, edx
jle 0x6571d2
lea ebx, [edx - 1]
cmp ebx, 3
jae 0x65728a
lea edx, [edx + edx*4]
lea esi, [ecx + edx*4 + 0x18]
lea edi, [esp + 0xc4]
call fcn.0044cfbe
lea edi, [esp + 0x128]
lea esi, [esp + 0xc4]
call fcn.0044cfbe
mov eax, dword [esp + 0x12c]
mov dword [esp + 0x20], eax
lea ecx, [0x76a400]
mov dword [esp], ecx
call fcn.00409d00
mov eax, dword [esp + 4]
mov ecx, dword [0xa8f2d0]
test ecx, ecx
jne 0x6571b3
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 [0xa8f2d0]
test edx, edx
jne 0x6571a6
mov dword [ecx + 0x10], eax
lea edx, [esp + 4]
mov dword [esp + 0x54], edx
jmp 0x656ae8
mov ecx, eax
mov edx, dword [esp + 0x54]
lea edi, [esp + 0x60]
xor eax, eax
call fcn.0044cadb
mov ecx, dword [esp + 0x1a4]
mov ebx, dword [ecx + 0x68]
test ebx, ebx
jle 0x6570f9
lea ebp, [ebx - 1]
cmp ebp, 3
jae 0x657283
lea ebx, [ebx + ebx*4]
lea esi, [ecx + ebx*4 + 0x18]
lea edi, [esp + 0x60]
call fcn.0044cfbe
mov ecx, dword [esp + 0x60]
cmp ecx, 7
je 0x6570f2
lea edi, [esp + 0x74]
call fcn.0044cadb
mov ecx, dword [esp + 0x1a4]
mov ebx, dword [ecx + 0x68]
test ebx, ebx
jle 0x65704c
lea ebp, [ebx - 1]
cmp ebp, 3
jae 0x65727c
lea ebx, [ebx + ebx*4]
lea esi, [ecx + ebx*4 + 0x18]
lea edi, [esp + 0x74]
call fcn.0044cfbe
mov ecx, dword [esp + 0x74]
cmp ecx, 0xa
jne 0x657040
lea edi, [esp + 0xd8]
call fcn.0044cadb
mov ecx, dword [esp + 0x1a4]
mov ebx, dword [ecx + 0x68]
test ebx, ebx
jle 0x656fab
dec ebx
mov dword [ecx + 0x68], ebx
mov ebx, dword [ecx + 0x68]
cmp ebx, 3
jae 0x657275
lea eax, [ebx + ebx*4]
lea esi, [ecx + eax*4 + 0x2c]
lea edi, [esp + 0xd8]
call fcn.0044cfbe
lea edi, [esp + 0x114]
lea esi, [esp + 0xd8]
call fcn.0044cfbe
mov eax, dword [esp + 0x1a4]
mov dword [esp], eax
call fcn.006559b0
lea edi, [esp + 0x13c]
mov esi, dword [esp + 0x54]
call fcn.0044cfbe
mov eax, dword [esp + 0x13c]
cmp eax, 0x18
je 0x656dae
lea edi, [esp + 0x100]
lea esi, [esp + 0x114]
call fcn.0044cfbe
mov eax, dword [esp + 0x1a4]
lea edi, [eax + 0x40]
mov ecx, dword [0xa8f2d0]
test ecx, ecx
jne 0x656d85
lea esi, [esp + 0x100]
call fcn.0044cfbe
mov dword [eax + 0x68], 2
mov dword [esp], eax
call fcn.00657710
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 0x656d19
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 0x656cbb
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 [0xa8f2d0]
lea edi, [ecx + ebp*8 + 4]
test edx, edx
jne 0x656ca9
mov ecx, dword [esp + 0x38]
mov dword [edi], ecx
jmp 0x656ae2
mov ecx, eax
mov eax, dword [esp + 0x38]
call fcn.0044c9e0
mov eax, ecx
jmp 0x656ae2
mov dword [esp + 0x50], esi
lea eax, [0x75b440]
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.00438b40
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 [0xa8f2d0]
test edx, edx
jne 0x656d0f
mov dword [ebx + 0xc], eax
mov esi, ebx
mov ebp, ecx
mov ecx, eax
mov eax, dword [esp + 0x1a4]
jmp 0x656c81
lea edi, [ebx + 0xc]
call fcn.0044c9e0
jmp 0x656cfd
mov eax, dword [esp + 0x24]
test eax, eax
je 0x656d24
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, [0x7960aa]
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.00655e40
mov eax, dword [esp + 0x1a4]
jmp 0x656ae2
lea eax, [0x7651a0]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x100]
mov dword [esp + 8], eax
call fcn.0040f700
mov eax, dword [esp + 0x1a4]
jmp 0x656c2c
lea eax, [0x7737c0]
mov dword [esp], eax
call fcn.00409d00
mov edi, dword [esp + 4]
mov dword [edi + 4], 0xa
mov eax, dword [0xa8f2d0]
test eax, eax
jne 0x656f95
lea ecx, [0x794694]
mov dword [edi], ecx
mov dword [edi + 0x20], 0
mov dword [edi + 0x24], 0
mov edx, dword [0xa8f2d0]
lea ebx, [edi + 0x1c]
test edx, edx
jne 0x656f81
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 [0xa8f2d0]
test ebp, ebp
jne 0x656f6e
mov dword [edi + 0x14], eax
mov ebp, dword [edx + 0xc]
mov eax, dword [edx + 8]
mov dword [edi + 0xc], ebp
mov ebp, dword [0xa8f2d0]
test ebp, ebp
jne 0x656f5b
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 [0xa8f2d0]
test edx, edx
jne 0x656f3c
mov dword [edi + 0x10], 0
mov dword [edi + 0x28], ebx
lea eax, [0x7216c0]
mov dword [esp], eax
call fcn.00409d00
mov eax, dword [0x7fd5ec]
mov ecx, dword [0x7fd5e8]
mov edi, dword [esp + 4]
mov dword [edi + 4], eax
mov eax, dword [0xa8f2d0]
test eax, eax
jne 0x656f30
mov dword [edi], ecx
mov ecx, dword [esp + 0x34]
mov dword [ecx + 0x70], 1
mov dword [ecx + 0x74], 1
mov edx, dword [0xa8f2d0]
test edx, edx
jne 0x656f22
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 [0xa8f2d0]
test edx, edx
jne 0x656f07
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.006572a0
mov eax, dword [esp + 0x1a4]
jmp 0x656ae2
mov edi, dword [esp + 0x4c]
mov eax, dword [esp + 0x3c]
call fcn.0044c9e0
lea edi, [ecx + 0x78]
mov eax, dword [esp + 0x30]
call fcn.0044c9e0
jmp 0x656ef3
lea edx, [ecx + 0x6c]
mov eax, edi
mov edi, edx
call fcn.0044c9e0
jmp 0x656ecd
mov eax, ecx
call fcn.0044c9e0
jmp 0x656eae
lea edx, [edi + 0x10]
mov edi, edx
xor eax, eax
call fcn.0044c9e0
mov edx, dword [esp + 0x34]
lea edi, [edx + 0x28]
mov eax, ebx
call fcn.0044c9e0
jmp 0x656e7d
lea ebp, [edi + 8]
mov esi, edi
mov edi, ebp
call fcn.0044c9e0
mov edi, esi
jmp 0x656e3e
lea ebp, [edi + 0x14]
mov esi, edi
mov edi, ebp
call fcn.0044c9e0
mov edi, esi
jmp 0x656e24
mov eax, edi
mov edi, ebx
mov edx, eax
xor eax, eax
call fcn.0044c9e0
mov edi, edx
jmp 0x656e03
lea eax, [0x794694]
call fcn.0044c9e0
lea ecx, [0x794694]
jmp 0x656ddd
mov edx, dword [ecx + 0x28]
lea edi, [esp + 0x9c]
call fcn.0044cadb
lea edi, [esp + 0x150]
call fcn.0044cadb
mov ecx, dword [edx + 0x2c]
mov dword [esp], ecx
lea ecx, [esp + 0x150]
mov dword [esp + 4], ecx
call fcn.00404700
lea edi, [esp + 0x9c]
lea esi, [esp + 0x150]
call fcn.0044cfbe
mov ecx, dword [esp + 0x1a4]
lea edi, [ecx + 0x2c]
mov edx, dword [0xa8f2d0]
test edx, edx
jne 0x657021
lea esi, [esp + 0x9c]
call fcn.0044cfbe
xor eax, eax
mov ecx, dword [esp + 0x1a4]
mov edx, dword [esp + 0x54]
jmp 0x656b94
lea eax, [0x7651a0]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x9c]
mov dword [esp + 8], eax
call fcn.0040f700
jmp 0x65700f
mov eax, dword [esp + 0x1a4]
jmp 0x656c33
mov dword [ecx + 0x68], 1
mov edx, dword [ecx + 0x28]
lea edi, [esp + 0xb0]
call fcn.0044cadb
lea edi, [esp + 0x164]
call fcn.0044cadb
mov ecx, dword [edx + 0x2c]
mov dword [esp], ecx
lea ecx, [esp + 0x164]
mov dword [esp + 4], ecx
call fcn.00404700
lea edi, [esp + 0xb0]
lea esi, [esp + 0x164]
call fcn.0044cfbe
mov ecx, dword [esp + 0x1a4]
lea edi, [ecx + 0x2c]
mov dword [esp + 0x48], edi
mov edx, dword [0xa8f2d0]
test edx, edx
jne 0x6570d3
lea esi, [esp + 0xb0]
call fcn.0044cfbe
lea edi, [esp + 0x74]
mov esi, dword [esp + 0x48]
call fcn.0044cfbe
xor eax, eax
mov edx, dword [esp + 0x54]
jmp 0x656b65
lea eax, [0x7651a0]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0xb0]
mov dword [esp + 8], eax
call fcn.0040f700
jmp 0x6570bb
add esp, 0x1a0
ret
mov dword [ecx + 0x68], 1
mov edx, dword [ecx + 0x28]
lea edi, [esp + 0x88]
call fcn.0044cadb
lea edi, [esp + 0x178]
call fcn.0044cadb
mov ecx, dword [edx + 0x2c]
mov dword [esp], ecx
lea ecx, [esp + 0x178]
mov dword [esp + 4], ecx
call fcn.00404700
lea edi, [esp + 0x88]
lea esi, [esp + 0x178]
call fcn.0044cfbe
mov ecx, dword [0xa8f2d0]
mov edx, dword [esp + 0x1a4]
lea edi, [edx + 0x2c]
mov dword [esp + 0x44], edi
test ecx, ecx
jne 0x657180
lea esi, [esp + 0x88]
call fcn.0044cfbe
lea edi, [esp + 0x60]
mov esi, dword [esp + 0x44]
call fcn.0044cfbe
xor eax, eax
mov edx, dword [esp + 0x54]
jmp 0x656b21
lea eax, [0x7651a0]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x88]
mov dword [esp + 8], eax
call fcn.0040f700
mov edx, dword [esp + 0x1a4]
jmp 0x657168
lea edi, [ecx + 0x10]
call fcn.0044c9e0
jmp 0x656ad8
lea edi, [eax + 8]
mov ecx, eax
mov eax, dword [esp + 0x1a4]
call fcn.0044c9e0
mov eax, ecx
mov ecx, dword [esp + 0x1a4]
jmp 0x656aba
mov dword [ecx + 0x68], 1
mov edx, dword [ecx + 0x28]
lea edi, [esp + 0xec]
call fcn.0044cadb
lea edi, [esp + 0x18c]
call fcn.0044cadb
mov ecx, dword [edx + 0x2c]
mov dword [esp], ecx
lea ecx, [esp + 0x18c]
mov dword [esp + 4], ecx
call fcn.00404700
lea edi, [esp + 0xec]
lea esi, [esp + 0x18c]
call fcn.0044cfbe
mov ecx, dword [esp + 0x1a4]
lea edi, [ecx + 0x2c]
mov dword [esp + 0x40], edi
mov edx, dword [0xa8f2d0]
test edx, edx
jne 0x657256
lea esi, [esp + 0xec]
call fcn.0044cfbe
lea edi, [esp + 0xc4]
mov esi, dword [esp + 0x40]
call fcn.0044cfbe
jmp 0x656a72
lea eax, [0x7651a0]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0xec]
mov dword [esp + 8], eax
call fcn.0040f700
jmp 0x657241
call fcn.004266e0
ud2
call fcn.004266e0
ud2
call fcn.004266e0
ud2
call fcn.004266e0
ud2
call fcn.0044b280
jmp fcn.00656a10