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

Disassembly:
mov ecx, dword [0x85d3cc]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x643efc
sub esp, 0x7c
nop
mov eax, dword [esp + 0x80]
mov dword [esp], eax
mov eax, dword [esp + 0x84]
mov dword [esp + 4], eax
lea eax, [0x6eff58]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0xffffffff
call fcn.004d2fe0
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x28], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x4c], ecx
xor edx, edx
mov ebx, 0xffffffff
xor ebp, ebp
xor esi, esi
jmp 0x643656
mov edi, dword [esp + 0x3c]
inc edi
mov ebx, edx
mov ebp, ecx
mov esi, eax
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x4c]
mov edx, edi
cmp edx, eax
jge 0x643e6b
mov dword [esp + 0x3c], edx
mov dword [esp + 0x30], ebp
mov dword [esp + 0x54], esi
mov dword [esp + 0x40], ebx
lea eax, [ecx + edx*8]
mov ebx, dword [eax]
mov dword [esp + 0x5c], ebx
mov eax, dword [eax + 4]
mov dword [esp + 0x38], eax
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.004d47e0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x44], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x60], ecx
mov edx, dword [esp + 0x5c]
mov dword [esp], edx
mov edx, dword [esp + 0x38]
mov dword [esp + 4], edx
lea edx, [0x690fd7]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 4
call fcn.004d4600
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x38], ecx
mov eax, dword [esp + 0x10]
mov dword [esp + 0x5c], eax
mov edx, dword [esp + 0x44]
test edx, edx
jg 0x6436dc
xor ebx, ebx
jmp 0x64370d
mov eax, dword [esp + 0x60]
mov dword [esp], eax
lea ecx, [0x690d76]
mov dword [esp + 4], ecx
mov dword [esp + 8], 1
call fcn.004034b0
movzx eax, byte [esp + 0xc]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x44]
mov ebx, eax
mov eax, dword [esp + 0x5c]
test bl, bl
je 0x643718
mov ebx, 1
jmp 0x643752
cmp edx, 2
jge 0x643721
xor ebx, ebx
jmp 0x643752
mov eax, dword [esp + 0x60]
mov dword [esp], eax
lea ecx, [0x690d8d]
mov dword [esp + 4], ecx
mov dword [esp + 8], 2
call fcn.004034b0
movzx eax, byte [esp + 0xc]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x44]
mov ebx, eax
mov eax, dword [esp + 0x5c]
test bl, bl
je 0x643772
mov ebx, dword [esp + 0x40]
cmp ebx, 0xffffffff
jne 0x64376e
mov edx, ebx
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x54]
jmp 0x643641
test edx, edx
jmp 0x643778
test edx, edx
mov ebx, dword [esp + 0x40]
jg 0x64377e
xor ebp, ebp
jmp 0x6437b3
mov eax, dword [esp + 0x60]
mov dword [esp], eax
lea ecx, [0x6eff70]
mov dword [esp + 4], ecx
mov dword [esp + 8], 1
call fcn.004034b0
movzx eax, byte [esp + 0xc]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x44]
mov ebx, dword [esp + 0x40]
mov ebp, eax
mov eax, dword [esp + 0x5c]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x6439a1
cmp ebx, 0xffffffff
jne 0x6439a1
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004d47e0
mov eax, dword [esp + 0xc]
cmp eax, 1
jb 0x643eef
mov ecx, dword [esp + 8]
dec eax
mov edx, eax
neg eax
sar eax, 0x1f
and eax, 1
add eax, ecx
mov dword [esp], eax
mov dword [esp + 4], edx
lea eax, [0x6eff74]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
call fcn.004d4600
mov eax, dword [esp + 0x10]
mov dword [esp + 0x58], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x34], ecx
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00510cf0
movzx eax, byte [esp + 8]
test al, al
je 0x64383d
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x58]
jmp 0x6438bb
mov eax, dword [esp + 0x88]
mov dword [esp], eax
mov ecx, dword [esp + 0x8c]
mov dword [esp + 4], ecx
call fcn.00510b30
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], ecx
mov eax, dword [esp + 0x58]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x78], eax
lea eax, [esp + 0x6c]
mov dword [esp], eax
mov dword [esp + 4], 2
mov dword [esp + 8], 2
call fcn.005114a0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x34], ecx
mov dword [esp + 0x58], eax
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004bdfd0
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x643ddb
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov eax, dword [eax + 0x10]
mov dword [esp], ecx
call eax
movzx eax, byte [esp + 4]
test al, al
jne 0x643d03
mov eax, dword [esp + 0x58]
mov dword [esp], eax
mov ecx, dword [esp + 0x34]
mov dword [esp + 4], ecx
call fcn.004bc740
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x643cd3
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp], 0
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00451510
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov eax, dword [esp + 0x58]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0xc], eax
call fcn.006435d0
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x643ca3
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp], 0
mov edx, dword [esp + 0x54]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x30]
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call fcn.00451270
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x40]
jmp 0x643641
cmp edx, 2
jl 0x6439e8
lea ebp, [edx - 2]
cmp edx, ebp
jb 0x643ee6
mov eax, dword [esp + 0x60]
lea eax, [edx + eax - 2]
mov dword [esp], eax
lea eax, [0x690d91]
mov dword [esp + 4], eax
mov dword [esp + 8], 2
call fcn.004034b0
movzx eax, byte [esp + 0xc]
mov ecx, dword [esp + 0x38]
mov ebx, dword [esp + 0x40]
mov edx, eax
mov eax, dword [esp + 0x5c]
jmp 0x6439ea
xor edx, edx
test dl, dl
jne 0x643ac0
test ebx, ebx
jl 0x643a39
cmp ebx, ecx
ja 0x643edf
mov dword [esp], 0
mov edx, dword [esp + 0x54]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x30]
mov dword [esp + 8], edx
sub ecx, ebx
mov edx, ecx
neg ecx
sar ecx, 0x1f
and ebx, ecx
add eax, ebx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], edx
call fcn.00451270
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
jmp 0x643ab6
mov edx, dword [esp + 0x54]
mov dword [esp], edx
mov ebx, dword [esp + 0x30]
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
mov ebp, dword [esp + 0x88]
mov dword [esp + 0x10], ebp
mov esi, dword [esp + 0x8c]
mov dword [esp + 0x14], esi
mov edi, dword [esp + 0x3c]
lea esi, [edi + 1]
mov dword [esp + 0x18], esi
call fcn.00642f20
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x643e0b
mov dword [esp], 0
mov eax, dword [esp + 0x54]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x10], eax
call fcn.00451270
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, 0xffffffff
jmp 0x643641
cmp ecx, 2
jl 0x643b03
lea edx, [ecx - 2]
cmp ecx, edx
jb 0x643ed8
lea edx, [eax + ecx - 2]
mov dword [esp], edx
lea edx, [0x690d91]
mov dword [esp + 4], edx
mov dword [esp + 8], 2
call fcn.004034b0
movzx eax, byte [esp + 0xc]
mov ecx, dword [esp + 0x38]
mov ebx, dword [esp + 0x40]
mov edx, eax
mov eax, dword [esp + 0x5c]
jmp 0x643b05
xor edx, edx
test dl, dl
je 0x643b15
lea ebp, [ecx - 2]
cmp ecx, ebp
jae 0x643b17
jmp 0x643ecf
mov ebp, ecx
cmp ebx, 0xffffffff
je 0x643b36
cmp ebx, ebp
ja 0x643ec6
sub ebp, ebx
mov ecx, ebp
neg ecx
sar ecx, 0x1f
and ecx, ebx
add eax, ecx
jmp 0x643c11
mov dword [esp + 0x38], ebp
nop
mov dword [esp], eax
mov dword [esp + 4], ebp
lea ecx, [0x6eff6c]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 4
call fcn.004d2fe0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
cmp eax, 4
jne 0x643bc9
mov edx, dword [ecx + 0x1c]
test edx, edx
jle 0x643bc2
lea ebx, [edx - 1]
cmp edx, ebx
jb 0x643ebd
mov dword [esp + 0x48], ecx
mov dword [esp + 0x24], eax
mov eax, dword [ecx + 0x18]
lea eax, [edx + eax - 1]
mov dword [esp], eax
lea eax, [0x6eff74]
mov dword [esp + 4], eax
mov dword [esp + 8], 1
call fcn.004034b0
movzx eax, byte [esp + 0xc]
mov ecx, dword [esp + 0x48]
mov edx, eax
mov eax, dword [esp + 0x24]
jmp 0x643bc4
xor edx, edx
xor edx, 1
jmp 0x643bcb
xor edx, edx
test dl, dl
je 0x643bf9
test eax, eax
jbe 0x643eb4
cmp eax, 1
jbe 0x643ea8
cmp eax, 2
jbe 0x643e9c
mov eax, dword [ecx + 4]
mov edx, dword [ecx + 0xc]
add eax, edx
add eax, dword [ecx + 0x14]
add eax, 3
jmp 0x643c07
test eax, eax
jbe 0x643e93
mov ecx, dword [ecx + 4]
lea eax, [ecx + 1]
mov ebp, dword [esp + 0x38]
mov ebx, eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x38], ebp
mov dword [esp + 0x5c], eax
mov dword [esp + 0x40], ebx
mov ecx, dword [esp + 0x54]
mov dword [esp], ecx
mov edx, dword [esp + 0x30]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebp
mov esi, dword [esp + 0x88]
mov dword [esp + 0x10], esi
mov edi, dword [esp + 0x8c]
mov dword [esp + 0x14], edi
mov edi, dword [esp + 0x3c]
lea esi, [edi + 1]
mov dword [esp + 0x18], esi
call fcn.00642f20
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x643e3b
mov dword [esp], 0
mov eax, dword [esp + 0x54]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x10], eax
call fcn.00451270
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x40]
jmp 0x643641
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], ecx
add esp, 0x7c
ret
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], ecx
add esp, 0x7c
ret
mov dword [esp + 0x64], 0
mov dword [esp + 0x68], 0
mov eax, dword [esp + 0x58]
mov dword [esp], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 4], eax
call fcn.00409ab0
mov eax, dword [esp + 8]
lea ecx, [0x661ce0]
mov dword [esp + 0x64], ecx
mov dword [esp + 0x68], eax
lea eax, [0x693655]
mov dword [esp], eax
mov dword [esp + 4], 0xf
lea eax, [esp + 0x64]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004c3a60
mov eax, dword [esp + 0x18]
mov dword [esp + 0x2c], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x50], ecx
lea edx, [0x66a620]
mov dword [esp], edx
call fcn.0040c260
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x2c]
mov dword [eax + 4], ecx
mov ecx, dword [0x85d680]
test ecx, ecx
jne 0x643da0
mov ecx, dword [esp + 0x50]
jmp 0x643dab
call fcn.00468030
mov ecx, dword [esp + 0x50]
mov dword [edi], ecx
mov dword [eax], ecx
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], 0
lea ecx, [0x6f1b20]
mov dword [esp + 0x98], ecx
mov dword [esp + 0x9c], eax
add esp, 0x7c
ret
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], ecx
add esp, 0x7c
ret
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], ecx
add esp, 0x7c
ret
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], ecx
add esp, 0x7c
ret
mov dword [esp + 0x90], esi
mov dword [esp + 0x94], ebp
mov dword [esp + 0x98], 0
mov dword [esp + 0x9c], 0
add esp, 0x7c
ret
xor eax, eax
mov ecx, eax
call fcn.00468090
mov eax, 2
mov ecx, eax
call fcn.00468090
mov eax, 1
mov ecx, eax
call fcn.00468090
xor eax, eax
mov ecx, eax
call fcn.00468090
mov eax, ebx
mov ecx, edx
call fcn.004680f0
mov eax, ebx
mov ecx, ebp
call fcn.004680f0
mov edx, ecx
mov ecx, ebp
call fcn.004680b0
mov eax, edx
call fcn.004680f0
mov eax, ebx
call fcn.004680f0
mov eax, ebp
mov ecx, edx
call fcn.004680f0
mov eax, 1
xor ecx, ecx
call fcn.004680f0
nop
call fcn.00466c30
jmp fcn.006435d0