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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0xac]
cmp eax, dword [ecx + 8]
jbe 0x662941
sub esp, 0x12c
mov dword [esp + 0x148], 0
mov dword [esp + 0x14c], 0
lea eax, [0x711b31]
mov dword [esp + 0xcc], eax
mov dword [esp + 0xd0], 0x24
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd8], 0
lea eax, [0x6b4960]
mov dword [esp], eax
lea ecx, [esp + 0xcc]
mov dword [esp + 4], ecx
call fcn.0040a880
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0xd4], eax
mov dword [esp + 0xd8], ecx
lea eax, [esp + 0xd4]
mov dword [esp], eax
mov dword [esp + 4], 1
mov dword [esp + 8], 1
call fcn.004dc350
lea eax, [0x7043b2]
mov dword [esp], eax
mov dword [esp + 4], 3
lea eax, [0x717adc]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0x43
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
call fcn.005c2db0
mov eax, dword [esp + 0x18]
mov dword [esp + 0x6c], eax
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
test ecx, ecx
jne 0x662926
mov ecx, dword [eax + 0x1c]
mov dword [esp], ecx
lea ecx, [0x707a95]
mov dword [esp + 4], ecx
mov dword [esp + 8], 0xd
mov ecx, dword [esp + 0x138]
mov dword [esp + 0xc], ecx
mov edx, dword [esp + 0x13c]
mov dword [esp + 0x10], edx
call fcn.005c0590
mov eax, dword [esp + 0x6c]
mov dword [esp], eax
mov eax, dword [esp + 0x130]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x134]
mov dword [esp + 8], eax
call fcn.005c1840
mov eax, dword [esp + 0xc]
mov ecx, dword [0x86dfd0]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.005a9480
mov eax, dword [esp + 8]
mov dword [esp + 0x68], eax
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test edx, edx
jne 0x66290b
mov ecx, dword [eax + 0x20]
test byte [ecx], al
mov edx, dword [eax + 0x24]
mov dword [esp + 8], edx
mov dword [esp], 0xc
add ecx, 0x14
mov dword [esp + 4], ecx
call fcn.00424900
test eax, eax
jne 0x6628fe
mov eax, dword [esp + 0x68]
mov ecx, dword [eax + 8]
cmp ecx, 0x130
je 0x662849
cmp ecx, 0xc8
jne 0x6627b7
lea edi, [esp + 0x11c]
lea esi, [0x730d20]
call fcn.0044a868
mov ecx, dword [esp + 0x140]
mov dword [esp + 0x11c], ecx
mov edx, dword [esp + 0x144]
mov dword [esp + 0x120], edx
lea ebx, [esp + 0x11c]
mov dword [esp], ebx
mov dword [esp + 4], 2
mov dword [esp + 8], 2
call fcn.004d7e30
mov eax, dword [esp + 0xc]
mov dword [esp + 0x84], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x30], ecx
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004823e0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
test eax, eax
jne 0x66279c
mov eax, dword [esp + 0x84]
mov dword [esp], eax
mov ecx, dword [esp + 0x30]
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x1fd
call fcn.0047f7b0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
test eax, eax
jne 0x662781
mov eax, dword [esp + 0x68]
mov ecx, dword [eax + 0x1c]
mov dword [esp], ecx
lea ecx, [0x7049f3]
mov dword [esp + 4], ecx
mov dword [esp + 8], 4
call fcn.005c05e0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x74], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x28], ecx
mov edx, dword [esp + 0x138]
mov dword [esp + 0xac], edx
mov edx, dword [esp + 0x13c]
mov dword [esp + 0xb0], edx
mov dword [esp + 0xa4], eax
mov dword [esp + 0xa8], ecx
mov dword [esp + 0x10c], 0
mov dword [esp + 0x110], 0
mov dword [esp + 0x114], 0
mov dword [esp + 0x118], 0
lea edx, [0x6b4960]
mov dword [esp], edx
lea ebx, [esp + 0xac]
mov dword [esp + 4], ebx
call fcn.0040a880
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x10c], eax
mov dword [esp + 0x110], ecx
lea eax, [0x6b4960]
mov dword [esp], eax
lea ecx, [esp + 0xa4]
mov dword [esp + 4], ecx
call fcn.0040a880
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x114], eax
mov dword [esp + 0x118], ecx
lea eax, [0x7129fb]
mov dword [esp], eax
mov dword [esp + 4], 0x27
lea eax, [esp + 0x10c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004dc3c0
mov eax, dword [esp + 0x68]
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x24]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
lea eax, [0x6bed80]
mov dword [esp], eax
call fcn.0040a990
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004da9b0
mov eax, dword [esp + 8]
mov dword [esp + 0x88], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x34], ecx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x38], edx
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
test ebx, ebx
jne 0x662766
lea edi, [esp + 0xfc]
lea esi, [0x730d30]
call fcn.0044a868
mov ecx, dword [esp + 0x140]
mov dword [esp + 0xfc], ecx
mov ebx, dword [esp + 0x144]
mov dword [esp + 0x100], ebx
lea ebp, [esp + 0xfc]
mov dword [esp], ebp
mov dword [esp + 4], 2
mov dword [esp + 8], 2
call fcn.004d7e30
mov eax, dword [esp + 0xc]
mov dword [esp + 0x64], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x24], ecx
mov dword [esp], eax
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x88]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x34]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x38]
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], 0x1b4
call fcn.004dabb0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
test eax, eax
jne 0x66274b
mov eax, dword [esp + 0x64]
mov dword [esp], eax
mov ecx, dword [esp + 0x24]
mov dword [esp + 4], ecx
call fcn.0060da70
mov eax, dword [esp + 8]
mov dword [esp + 0x70], eax
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
test ecx, ecx
jne 0x662730
mov dword [esp + 8], eax
mov dword [esp], 0xc
lea ecx, [0x7194a4]
mov dword [esp + 4], ecx
call fcn.00424900
test eax, eax
jne 0x662723
mov eax, dword [esp + 0x70]
mov ecx, dword [eax + 0xc]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x40], eax
xor edx, edx
mov dword [esp + 0x3c], edx
mov dword [esp + 0x90], ecx
cmp edx, eax
jge 0x66255f
mov ebx, dword [ecx]
mov ebp, dword [ebx]
mov dword [esp + 0x78], ebp
mov esi, dword [ebx + 4]
mov dword [esp + 0x2c], esi
mov dword [esp], ebx
call fcn.0060e460
mov eax, dword [esp + 4]
mov dword [esp + 0x7c], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x80], ecx
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
test edx, edx
jne 0x662708
test byte [eax], al
mov dword [esp + 8], ecx
mov dword [esp], 0xc
lea edx, [eax + 0x14]
mov dword [esp + 4], edx
call fcn.00424900
test eax, eax
jne 0x6626fb
lea eax, [0x6bed80]
mov dword [esp], eax
mov ecx, dword [esp + 0x7c]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x80]
mov dword [esp + 8], ecx
call fcn.0040a990
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004da9b0
mov eax, dword [esp + 8]
mov dword [esp + 0x88], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x34], ecx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x38], edx
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
test ebx, ebx
jne 0x6626e0
mov dword [esp + 0xec], 0
mov dword [esp + 0xf0], 0
mov dword [esp + 0xf4], 0
mov dword [esp + 0xf8], 0
mov ebx, dword [esp + 0x84]
mov dword [esp + 0xec], ebx
mov ebp, dword [esp + 0x30]
mov dword [esp + 0xf0], ebp
mov esi, dword [esp + 0x78]
mov dword [esp + 0xf4], esi
mov esi, dword [esp + 0x2c]
mov dword [esp + 0xf8], esi
lea esi, [esp + 0xec]
mov dword [esp], esi
mov dword [esp + 4], 2
mov dword [esp + 8], 2
call fcn.004d7e30
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov eax, dword [esp + 0x88]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], 0x1b4
call fcn.004dabb0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
test eax, eax
jne 0x6626c5
mov ebx, dword [esp + 0x90]
lea ecx, [ebx + 4]
mov ebx, dword [esp + 0x3c]
lea edx, [ebx + 1]
mov eax, dword [esp + 0x40]
mov dword [esp + 0x3c], edx
mov dword [esp + 0x90], ecx
cmp edx, eax
jl 0x6623bb
lea eax, [0x70bd5f]
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], 0x17
mov dword [esp + 0x9c], 0
mov dword [esp + 0xa0], 0
lea eax, [0x6b4960]
mov dword [esp], eax
lea eax, [esp + 0x94]
mov dword [esp + 4], eax
call fcn.0040a880
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x9c], eax
mov dword [esp + 0xa0], ecx
lea eax, [esp + 0x9c]
mov dword [esp], eax
mov dword [esp + 4], 1
mov dword [esp + 8], 1
call fcn.004dc350
mov eax, dword [esp + 0x64]
mov dword [esp], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 4], eax
call fcn.00481a50
lea edi, [esp + 0xdc]
lea esi, [0x730d40]
call fcn.0044a868
mov eax, dword [esp + 0x140]
mov dword [esp + 0xdc], eax
mov eax, dword [esp + 0x144]
mov dword [esp + 0xe0], eax
lea eax, [esp + 0xdc]
mov dword [esp], eax
mov dword [esp + 4], 2
mov dword [esp + 8], 2
call fcn.004d7e30
mov eax, dword [esp + 0xc]
mov dword [esp + 0x8c], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x40], ecx
lea edx, [esp + 0x44]
mov dword [esp], edx
mov edx, dword [esp + 0x74]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x28]
mov dword [esp + 8], edx
call fcn.0043aae0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x8c]
mov dword [esp], ebx
mov ebx, dword [esp + 0x40]
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], 0x1b4
call fcn.004dabb0
mov dword [esp + 0x148], 0
mov dword [esp + 0x14c], 0
nop
call fcn.00425120
add esp, 0x12c
ret
mov dword [esp + 0x148], eax
mov dword [esp + 0x14c], ecx
nop
call fcn.00425120
add esp, 0x12c
ret
mov dword [esp + 0x148], ebx
mov dword [esp + 0x14c], ebp
nop
call fcn.00425120
add esp, 0x12c
ret
nop
call fcn.00425120
add esp, 0x12c
ret
mov dword [esp + 0x148], edx
mov dword [esp + 0x14c], ebx
nop
call fcn.00425120
add esp, 0x12c
ret
nop
call fcn.00425120
add esp, 0x12c
ret
mov dword [esp + 0x148], ecx
mov dword [esp + 0x14c], edx
nop
call fcn.00425120
add esp, 0x12c
ret
mov dword [esp + 0x148], eax
mov dword [esp + 0x14c], ecx
nop
call fcn.00425120
add esp, 0x12c
ret
mov dword [esp + 0x148], ebx
mov dword [esp + 0x14c], ebp
nop
call fcn.00425120
add esp, 0x12c
ret
mov dword [esp + 0x148], eax
mov dword [esp + 0x14c], ecx
nop
call fcn.00425120
add esp, 0x12c
ret
mov dword [esp + 0x148], eax
mov dword [esp + 0x14c], ecx
nop
call fcn.00425120
add esp, 0x12c
ret
mov dword [esp + 0xb4], 0
mov dword [esp + 0xb8], 0
mov dword [esp + 4], eax
lea eax, [0x6b4960]
mov dword [esp], eax
call fcn.0040a880
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp + 0xb4], ecx
mov dword [esp + 0xb8], eax
lea eax, [0x708569]
mov dword [esp], eax
mov dword [esp + 4], 0xf
lea eax, [esp + 0xb4]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.0049a940
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x148], eax
mov dword [esp + 0x14c], ecx
nop
call fcn.00425120
add esp, 0x12c
ret
mov eax, dword [esp + 0x138]
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0x13c]
mov dword [esp + 0xc0], eax
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc8], 0
lea eax, [0x6b4960]
mov dword [esp], eax
lea eax, [esp + 0xbc]
mov dword [esp + 4], eax
call fcn.0040a880
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xc8], eax
lea eax, [0x71084d]
mov dword [esp], eax
mov dword [esp + 4], 0x21
lea eax, [esp + 0xc4]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004dc3c0
mov dword [esp + 0x148], 0
mov dword [esp + 0x14c], 0
nop
call fcn.00425120
add esp, 0x12c
ret
nop
call fcn.00425120
add esp, 0x12c
ret
mov dword [esp + 0x148], edx
mov dword [esp + 0x14c], ecx
nop
call fcn.00425120
add esp, 0x12c
ret
mov dword [esp + 0x148], ecx
mov dword [esp + 0x14c], edx
nop
call fcn.00425120
add esp, 0x12c
ret
call fcn.004486b0
jmp fcn.00661ec0