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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x104]
cmp eax, dword [ecx + 8]
jbe 0x643571
sub esp, 0x184
mov dword [esp + 0x18c], 0
mov dword [esp + 0x190], 0
mov eax, dword [esp + 0x188]
mov ecx, dword [eax + 8]
mov dword [esp], ecx
call fcn.0064b490
mov eax, dword [esp + 4]
mov dword [esp + 0xe8], eax
mov dword [esp + 8], eax
mov dword [esp], 4
lea ecx, [0x719754]
mov dword [esp + 4], ecx
call fcn.00424900
test eax, eax
jne 0x643564
lea edi, [esp + 0x138]
xor eax, eax
call fcn.0044a379
lea edi, [esp + 0x94]
call fcn.0044a36b
lea ecx, [0x6b6720]
mov dword [esp], ecx
mov dword [esp + 4], 0
mov dword [esp + 8], 0
lea edx, [esp + 0x138]
mov dword [esp + 0xc], edx
lea edx, [esp + 0x94]
mov dword [esp + 0x10], edx
call fcn.00406240
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xec], ecx
mov edx, dword [esp + 0xe8]
mov ebx, dword [edx + 4]
mov edx, dword [edx + 8]
mov dword [esp + 0x68], edx
xor eax, eax
mov dword [esp + 0x64], eax
mov dword [esp + 0x10c], ebx
cmp eax, edx
jge 0x642d77
mov ebp, dword [ebx]
mov esi, dword [ebx + 4]
mov dword [esp + 0x24], esi
xor edi, edi
mov dword [esp + 0x60], edi
mov dword [esp + 0x108], ebp
cmp edi, esi
jge 0x642d60
mov edx, dword [ebp]
test byte [edx], al
add edx, 4
mov dword [esp + 8], edx
lea edx, [0x6b6720]
mov dword [esp], edx
mov dword [esp + 4], ecx
call fcn.00406cf0
mov eax, dword [esp + 0xc]
mov byte [eax], 0
mov eax, dword [esp + 0x108]
lea ebp, [eax + 4]
mov eax, dword [esp + 0x60]
lea edi, [eax + 1]
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0xec]
mov edx, dword [esp + 0x68]
mov ebx, dword [esp + 0x10c]
mov esi, dword [esp + 0x24]
mov dword [esp + 0x60], edi
mov dword [esp + 0x108], ebp
cmp edi, esi
jl 0x642d01
add ebx, 0xc
inc eax
mov dword [esp + 0x64], eax
mov dword [esp + 0x10c], ebx
cmp eax, edx
jl 0x642ce7
mov eax, dword [esp + 0x188]
mov edx, dword [eax + 8]
mov ebx, dword [edx + 0x28]
mov ebx, dword [ebx + 0x20]
mov edx, dword [edx + 0x2c]
mov dword [esp + 4], 0xf
mov dword [esp], edx
call ebx
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x54], ecx
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 8]
test eax, eax
jne 0x643549
xor eax, eax
xor edx, edx
xor ebp, ebp
xor esi, esi
xor edi, edi
mov dword [esp + 0x68], eax
mov dword [esp + 0x104], ebx
mov dword [esp + 0x38], edx
mov dword [esp + 0x100], ebp
mov dword [esp + 0x2c], esi
mov dword [esp + 0x28], edi
cmp eax, ecx
jge 0x643020
mov ecx, dword [ebx]
mov ebp, dword [ebx + 8]
mov dword [esp + 0x5c], ebp
mov ebx, dword [ebx + 4]
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], ebx
mov dword [esp + 0x84], ebp
mov ecx, dword [esp + 0x7c]
cmp ecx, 1
jne 0x642f04
mov ecx, dword [esp + 0x188]
mov ecx, dword [ecx + 8]
mov esi, dword [ecx + 0x5c]
mov ecx, dword [ecx + 0x58]
cmp ebx, ecx
setae cl
cmp ebp, esi
sete bl
and ecx, ebx
cmp ebp, esi
setg bl
or ebx, ecx
mov dword [esp + 0x38], edx
test bl, bl
je 0x642e64
mov ecx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x100]
mov ebp, dword [esp + 0x104]
add ebp, 0xc
inc eax
mov esi, ecx
mov ecx, dword [esp + 0x54]
mov ecx, ebx
mov ebx, ebp
mov ebp, ecx
mov ecx, dword [esp + 0x54]
jmp 0x642dbd
lea ecx, [edi + 1]
mov ebx, dword [esp + 0x2c]
cmp ecx, ebx
jg 0x642ebf
mov ebp, dword [esp + 0x100]
mov dword [esp + 0xf0], ebp
mov esi, dword [esp + 0x7c]
lea ebp, [edi + edi*2]
mov edi, ebp
mov ebp, dword [esp + 0x80]
mov dword [esp + 0x58], ebp
mov ebp, dword [esp + 0x84]
mov dword [esp + 0x5c], ebp
mov ebp, dword [esp + 0xf0]
mov dword [ebp + edi*4], esi
mov esi, dword [esp + 0x58]
mov dword [ebp + edi*4 + 4], esi
mov esi, dword [esp + 0x5c]
mov dword [ebp + edi*4 + 8], esi
mov edi, ecx
mov ecx, ebx
mov ebx, ebp
jmp 0x642e44
lea ebp, [0x6db6a0]
mov dword [esp], ebp
mov ebp, dword [esp + 0x100]
mov dword [esp + 4], ebp
mov dword [esp + 8], edi
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ecx
call fcn.00437660
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
lea ecx, [eax + 1]
mov eax, dword [esp + 0x68]
mov edx, dword [esp + 0x38]
mov edi, dword [esp + 0x28]
jmp 0x642e76
cmp ecx, 2
jne 0x642f84
mov ecx, dword [esp + 0x188]
mov esi, dword [ecx + 0x48]
mov edx, dword [ecx + 0x50]
mov dword [esp + 0x50], edx
mov ebp, dword [ecx + 0x4c]
test esi, esi
jne 0x642f80
test edx, edx
xchg esi, ebx
sete bl
xchg esi, ebx
test ebp, ebp
sete dl
and esi, edx
xchg esi, eax
test al, al
xchg esi, eax
je 0x642f5f
mov edx, dword [ecx + 0x40]
mov ebp, dword [ecx + 0x44]
mov esi, dword [esp + 0x5c]
cmp esi, ebp
sete cl
cmp ebx, edx
setae dl
and ecx, edx
cmp esi, ebp
setg dl
or edx, ecx
mov ebx, edx
mov edx, dword [esp + 0x38]
jmp 0x642e31
cmp ebx, ebp
setae dl
mov ebx, dword [esp + 0x5c]
mov ebp, dword [esp + 0x50]
cmp ebx, ebp
xchg esi, ebx
sete bl
xchg esi, ebx
and edx, esi
cmp ebx, ebp
setg bl
or edx, ebx
jmp 0x642f54
xor esi, esi
jmp 0x642f31
cmp ecx, 4
je 0x642f93
mov ebx, 1
jmp 0x642e31
lea ecx, [0x6b6720]
mov dword [esp], ecx
mov ebx, dword [esp + 0xec]
mov dword [esp + 4], ebx
mov ebp, dword [esp + 0x80]
mov ebx, dword [esp + 0x84]
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ebx
call fcn.00409370
movzx eax, byte [esp + 0x14]
mov byte [esp + 0x23], al
test al, al
jne 0x642fe7
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x68]
mov edi, dword [esp + 0x28]
movzx ebx, byte [esp + 0x23]
mov edx, ecx
jmp 0x642e31
lea ecx, [0x6b6720]
mov dword [esp], ecx
mov edx, dword [esp + 0xec]
mov dword [esp + 4], edx
lea ebx, [esp + 0x80]
mov dword [esp + 8], ebx
call fcn.00406cf0
mov eax, dword [esp + 0xc]
mov byte [eax], 1
mov eax, dword [esp + 0x38]
lea ecx, [eax + 1]
movzx eax, byte [esp + 0x23]
jmp 0x642fd3
mov ebx, dword [esp + 0xec]
test ebx, ebx
je 0x643542
mov esi, dword [ebx]
cmp esi, edx
je 0x6432de
lea edi, [esp + 0x154]
xor eax, eax
call fcn.0044a374
lea ecx, [0x6b6720]
mov dword [esp], ecx
mov dword [esp + 4], ebx
lea ecx, [esp + 0x154]
mov dword [esp + 8], ecx
call fcn.00407550
xor eax, eax
xor ecx, ecx
xor edx, edx
mov dword [esp + 0x100], eax
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x40], edx
mov ebx, dword [esp + 0x154]
test ebx, ebx
je 0x6431d9
mov ebp, dword [esp + 0x158]
movzx ebp, byte [ebp]
mov esi, dword [ebx]
mov dword [esp + 0x30], esi
mov ebx, dword [ebx + 4]
mov dword [esp + 0x34], ebx
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x6430d5
mov dword [esp + 0x100], eax
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x40], edx
lea ebx, [esp + 0x154]
mov dword [esp], ebx
call fcn.00407a40
mov eax, dword [esp + 0x100]
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x40]
jmp 0x64306a
lea ebp, [ecx + 1]
cmp ebp, edx
jg 0x64319b
mov dword [esp + 0xf4], eax
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x40], edx
lea ecx, [ecx + ecx*2]
mov dword [eax + ecx*4], 4
mov dword [eax + ecx*4 + 4], esi
mov dword [eax + ecx*4 + 8], ebx
mov dword [esp + 0x74], esi
mov dword [esp + 0x78], ebx
mov dword [esp + 0x110], 0
mov dword [esp + 0x114], 0
lea ecx, [0x6b4320]
mov dword [esp], ecx
lea ebx, [esp + 0x74]
mov dword [esp + 4], ebx
call fcn.0040a880
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp + 0x110], ecx
mov dword [esp + 0x114], eax
mov eax, dword [esp + 0x188]
mov dword [esp], eax
lea ecx, [0x70e54b]
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x1c
lea ecx, [esp + 0x110]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], 1
mov dword [esp + 0x14], 1
call fcn.00642b90
mov eax, dword [esp + 0xf4]
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x40]
jmp 0x6430a6
lea edi, [0x6db6a0]
mov dword [esp], edi
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ebp
call fcn.00437660
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
lea ebp, [ecx + 1]
mov ecx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x34]
mov esi, dword [esp + 0x30]
jmp 0x6430e0
lea ebx, [0x6c1a80]
mov dword [esp], ebx
call fcn.0040cd70
mov eax, dword [esp + 4]
mov dword [esp + 0xfc], eax
mov ecx, dword [esp + 0x3c]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x40]
mov dword [eax + 8], ecx
mov ecx, dword [0x884700]
test ecx, ecx
jne 0x6432bf
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0x730990]
mov dword [esp + 0x44], ecx
mov edx, dword [0x730994]
mov dword [esp + 0x48], edx
mov ebx, dword [0x730998]
mov dword [esp + 0x4c], ebx
lea ebp, [0x6c8ca0]
mov dword [esp], ebp
call fcn.0040cd70
mov eax, dword [esp + 4]
mov dword [esp + 0xf8], eax
mov ecx, dword [esp + 0x44]
mov dword [eax], ecx
mov ecx, dword [esp + 0x48]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x4c]
mov dword [eax + 8], ecx
lea ecx, [0x847e20]
mov dword [eax + 0xc], ecx
mov ecx, dword [0x884700]
lea edx, [eax + 0x10]
test ecx, ecx
jne 0x6432a3
mov ecx, dword [esp + 0xfc]
mov dword [eax + 0x10], ecx
lea ecx, [0x847e00]
mov dword [esp + 0x18c], ecx
mov dword [esp + 0x190], eax
nop
call fcn.00425120
add esp, 0x184
ret
mov dword [esp], edx
mov ecx, dword [esp + 0xfc]
mov dword [esp + 4], ecx
call fcn.0040d5a0
mov eax, dword [esp + 0xf8]
jmp 0x643282
mov dword [esp], eax
mov ecx, dword [esp + 0x100]
mov dword [esp + 4], ecx
call fcn.0040d5a0
mov eax, dword [esp + 0xfc]
jmp 0x643217
mov dword [esp + 0x70], ecx
mov dword [esp + 0x6c], edi
mov dword [esp + 0x128], 0
mov dword [esp + 0x12c], 0
mov dword [esp + 0x130], 0
mov dword [esp + 0x134], 0
lea eax, [0x6b4260]
mov dword [esp], eax
lea ecx, [esp + 0x70]
mov dword [esp + 4], ecx
call fcn.0040a880
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp + 0x128], ecx
mov dword [esp + 0x12c], eax
lea eax, [0x6b4260]
mov dword [esp], eax
lea eax, [esp + 0x6c]
mov dword [esp + 4], eax
call fcn.0040a880
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp + 0x130], ecx
mov dword [esp + 0x134], eax
mov eax, dword [esp + 0x188]
mov dword [esp], eax
lea ecx, [0x70b6c3]
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x16
lea ecx, [esp + 0x128]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], 2
mov dword [esp + 0x14], 2
call fcn.00642b90
xor eax, eax
mov ecx, dword [esp + 0x100]
mov dword [esp + 0x68], eax
mov dword [esp + 0x104], ecx
mov edx, dword [esp + 0x28]
cmp eax, edx
jge 0x64351f
mov ebx, dword [ecx + 4]
mov ebp, dword [ecx]
mov esi, dword [ecx + 8]
mov dword [esp + 0x88], ebp
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x90], esi
mov dword [esp + 0x118], 0
mov dword [esp + 0x11c], 0
mov dword [esp + 0x120], 0
mov dword [esp + 0x124], 0
lea ebx, [0x6b8be0]
mov dword [esp], ebx
lea ebp, [esp + 0x88]
mov dword [esp + 4], ebp
call fcn.0040a880
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp + 0x118], ecx
mov dword [esp + 0x11c], eax
lea eax, [0x6b4320]
mov dword [esp], eax
lea ecx, [esp + 0x8c]
mov dword [esp + 4], ecx
call fcn.0040a880
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp + 0x120], ecx
mov dword [esp + 0x124], eax
mov eax, dword [esp + 0x188]
mov dword [esp], eax
lea ecx, [0x70ce28]
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x19
lea edx, [esp + 0x118]
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], 2
mov dword [esp + 0x14], 2
call fcn.00642b90
mov eax, dword [esp + 0x188]
mov ecx, dword [eax + 8]
mov edx, dword [esp + 0x8c]
mov ebx, dword [esp + 0x90]
mov ebp, dword [ecx + 0x28]
mov ebp, dword [ebp + 0x30]
mov esi, dword [esp + 0x88]
mov ecx, dword [ecx + 0x2c]
mov dword [esp + 4], esi
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
mov dword [esp], ecx
call ebp
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
test ecx, ecx
jne 0x643504
mov edx, dword [esp + 0x104]
lea ecx, [edx + 0xc]
mov edx, dword [esp + 0x68]
lea eax, [edx + 1]
jmp 0x6433af
mov dword [esp + 0x18c], ecx
mov dword [esp + 0x190], eax
nop
call fcn.00425120
add esp, 0x184
ret
mov dword [esp + 0x18c], 0
mov dword [esp + 0x190], 0
nop
call fcn.00425120
add esp, 0x184
ret
xor esi, esi
jmp 0x643031
mov dword [esp + 0x18c], eax
mov dword [esp + 0x190], edx
nop
call fcn.00425120
add esp, 0x184
ret
nop
call fcn.00425120
add esp, 0x184
ret
call fcn.004486b0
jmp fcn.00642bf0