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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x34
push dword [0x64d224]
call fcn.00409780
mov eax, dword [0x64d220]
cmp dword [0x64d238], 0
mov dword [ebp - 0x10], eax
setne al
movzx eax, al
push eax
push dword [0x64d258]
mov eax, dword [ebp - 0x10]
push dword [0x64d224]
push eax
call fcn.00409560
mov eax, dword [0x64d43c]
lea ecx, [eax + eax*2]
mov eax, dword [0x64d220]
cmp dword [0x64d228], 0
mov dword [ecx*8 + 0x64d440], eax
mov al, byte [0x64d224]
mov edx, dword [0x64d238]
mov byte [ecx*8 + 0x64d44c], al
setne al
cmp dword [0x64d22c], 0
mov byte [ecx*8 + 0x64d444], al
setne al
cmp dword [0x64d230], 0
mov byte [ecx*8 + 0x64d445], al
setne al
cmp dword [0x64d234], 0
mov byte [ecx*8 + 0x64d446], al
setne al
test edx, edx
mov byte [ecx*8 + 0x64d447], al
setne al
cmp dword [0x64d23c], 0
mov byte [ecx*8 + 0x64d448], al
setne al
cmp dword [0x64d240], 0
mov byte [ecx*8 + 0x64d449], al
setne al
cmp dword [0x64d248], 0
mov byte [ecx*8 + 0x64d44a], al
mov al, byte [0x64d244]
mov byte [ecx*8 + 0x64d44d], al
setne al
cmp dword [0x64d260], 0
mov byte [ecx*8 + 0x64d44b], al
mov al, byte [0x64d24c]
mov byte [ecx*8 + 0x64d44e], al
mov al, byte [0x64d258]
mov byte [ecx*8 + 0x64d44f], al
mov al, byte [0x64d25c]
mov byte [ecx*8 + 0x64d450], al
setne al
cmp dword [0x64d264], 0
mov byte [ecx*8 + 0x64d454], al
setne al
mov byte [ecx*8 + 0x64d455], al
mov al, byte [0x64d268]
mov byte [ecx*8 + 0x64d451], al
mov eax, dword [0x64d43c]
inc eax
mov dword [0x64d43c], eax
cmp eax, 0x40
jne 0x42042d
mov dword [0x64d43c], 0
cmp byte [0x64be56], 0
push ebx
push esi
push edi
mov dword [ebp - 0x14], 0
je 0x42065f
mov ecx, dword [0x645228]
xor edi, edi
mov eax, ecx
mov dword [ebp - 0xc], edi
mov dword [ebp - 0x1c], edi
xorps xmm0, xmm0
movlpd qword [ebp - 0x34], xmm0
mov dword [ebp - 0x18], edi
test eax, eax
je 0x42047d
test byte [eax + 0x14], 1
je 0x42047d
nop dword [eax]
mov eax, dword [eax + 0x18]
test eax, eax
je 0x42047d
test byte [eax + 0x14], 1
jne 0x420470
mov edx, dword [0x64c0a0]
mov ebx, dword [0x64522c]
cmp eax, edx
jne 0x420497
mov esi, dword [0x6451a4]
sub esi, ebx
jmp 0x4204f3
xor esi, esi
test ecx, ecx
je 0x4204f3
test byte [ecx + 0x14], 1
je 0x4204b0
mov ecx, dword [ecx + 0x18]
test ecx, ecx
je 0x4204f3
test byte [ecx + 0x14], 1
jne 0x4204a3
test ecx, ecx
je 0x4204f3
cmp ecx, edx
je 0x4204e9
mov eax, dword [ecx]
sub eax, dword [ecx + 0x10]
add esi, eax
mov eax, dword [ecx + 0x18]
test eax, eax
je 0x4204e1
test byte [eax + 0x14], 1
je 0x4204e1
nop dword [eax]
mov eax, dword [eax + 0x18]
mov ecx, eax
test eax, eax
je 0x4204e1
test byte [eax + 0x14], 1
jne 0x4204d0
jmp 0x4204b4
mov ecx, eax
test eax, eax
jne 0x4204b4
jmp 0x4204f3
mov eax, dword [0x6451a4]
sub eax, dword [edx + 0x10]
add esi, eax
mov ecx, dword [0x6452b0]
mov eax, ecx
test eax, eax
je 0x420512
test byte [eax + 0x14], 1
je 0x420512
mov eax, dword [eax + 0x18]
test eax, eax
je 0x420512
test byte [eax + 0x14], 1
jne 0x420505
cmp eax, edx
jne 0x42051e
sub ebx, dword [0x6452b4]
jmp 0x420582
xor edi, edi
test ecx, ecx
je 0x42057e
test byte [ecx + 0x14], 1
je 0x42053d
nop word [eax + eax]
mov ecx, dword [ecx + 0x18]
test ecx, ecx
je 0x42057e
test byte [ecx + 0x14], 1
jne 0x420530
test ecx, ecx
je 0x42057e
cmp ecx, edx
je 0x420579
mov eax, dword [ecx]
sub eax, dword [ecx + 0x10]
add edi, eax
mov eax, dword [ecx + 0x18]
test eax, eax
je 0x420571
test byte [eax + 0x14], 1
je 0x420571
nop dword [eax]
mov eax, dword [eax + 0x18]
mov ecx, eax
test eax, eax
je 0x420571
test byte [eax + 0x14], 1
jne 0x420560
jmp 0x420541
mov ecx, eax
test eax, eax
jne 0x420541
jmp 0x42057e
sub ebx, dword [edx + 0x10]
add edi, ebx
mov ebx, edi
xor edi, edi
cmp byte [0x64bd2e], 0
je 0x420598
mov ecx, dword [0x64d3c8]
mov eax, dword [0x64d3cc]
jmp 0x4205a6
xorps xmm0, xmm0
movlpd qword [ebp - 0x2c], xmm0
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x2c]
push 0
lea edx, [ebp - 0x34]
push edx
lea edx, [ebp - 0x14]
push edx
push eax
push ecx
call fcn.0040df00
cmp dword [0x64d224], 2
jne 0x420645
cmp dword [0x64d238], 0
jne 0x420645
movd xmm1, esi
mov eax, esi
cvtdq2pd xmm1, xmm1
shr eax, 0x1f
movd xmm0, ebx
addsd xmm1, qword [eax*8 + 0x612410]
cvtdq2pd xmm0, xmm0
mov eax, ebx
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x612410]
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x1c]
push eax
addsd xmm0, xmm1
push 1
push dword [ebp - 0x30]
push dword [ebp - 0x34]
divsd xmm1, xmm0
movsd qword [ebp - 0x24], xmm1
call fcn.0041cc90
fstp qword [ebp - 0x2c]
movsd xmm0, qword [ebp - 0x2c]
mulsd xmm0, qword [ebp - 0x24]
cvttsd2si edi, xmm0
movsd xmm0, qword [0x6123e8]
subsd xmm0, qword [ebp - 0x24]
mulsd xmm0, qword [ebp - 0x2c]
cvttsd2si eax, xmm0
mov dword [ebp - 0xc], eax
push edi
push esi
push 2
call fcn.0041d8f0
push dword [ebp - 0xc]
push ebx
push 3
call fcn.0041d8f0
mov edx, dword [0x64d238]
test edx, edx
jne 0x420693
mov eax, dword [0x64e274]
mov eax, dword [0x64d238]
mov dword [ebp - 0xc], eax
test eax, eax
jne 0x420693
mov ebx, dword [0x64d224]
mov eax, 0x64daa0
cmp ebx, 2
mov edi, 0x64db20
cmovne edi, eax
mov eax, dword [0x64d220]
mov dword [edi], eax
jmp 0x4206b0
mov edi, dword [0x64e104]
mov eax, dword [0x64d238]
mov ebx, dword [0x64d224]
shl edi, 7
add edi, 0x64dbd0
mov dword [ebp - 0xc], eax
mov dword [ebp - 4], ebx
xor esi, esi
xor ebx, ebx
call fcn.0041e0c0
mov edx, dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov dword [edi + 4], eax
xor eax, eax
cmp edx, 2
mov dword [ebp - 0x10], 4
cmove edx, dword [ebp - 0x10]
test edx, edx
js 0x42072d
lea eax, [edx + 1]
cmp eax, 2
jl 0x4207af
lea ecx, [edx + 1]
mov eax, 0x64bee8
shr ecx, 1
lea ebx, [ecx + ecx]
mov dword [ebp - 0x28], ebx
mov ebx, esi
nop word [eax + eax]
add esi, dword [eax - 0x60]
lea eax, [eax + 0xc0]
add ebx, dword [eax - 0xc0]
sub ecx, 1
jne 0x420700
mov eax, dword [ebp - 0x28]
cmp eax, edx
jle 0x4207b1
lea eax, [esi + ebx]
add ecx, eax
mov dword [ebp - 0x28], ecx
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x28]
cmp dword [ebp - 0xc], 0
mov dword [edi + 8], eax
mov eax, dword [0x64d210]
mov dword [edi + 0xc], eax
mov eax, dword [0x64c0a4]
mov eax, dword [eax + 0x24]
mov dword [edi + 0x10], eax
jne 0x4207c2
lea eax, [ecx + ecx*2]
mov ecx, dword [0x64da88]
shl eax, 5
mov edx, dword [eax + 0x64be98]
sub ecx, edx
mov eax, dword [0x64e278]
cmp eax, 1
je 0x420778
cmp dword [0x64d258], 0xc
je 0x420778
sub edx, dword [0x64da78]
add ecx, edx
mov esi, dword [0x64da90]
mov edx, dword [0x64da94]
add esi, ecx
mov eax, dword [0x64d238]
mov ebx, dword [0x64d224]
adc edx, 0
mov dword [edi + 0x14], ecx
mov dword [0x64da90], esi
mov dword [0x64da94], edx
mov dword [edi + 0x18], 0
mov dword [ebp - 0xc], eax
jmp 0x4207d1
xor eax, eax
lea eax, [eax + eax*2]
shl eax, 5
mov ecx, dword [eax + 0x64be88]
jmp 0x42071f
mov edx, dword [0x64da94]
mov esi, dword [0x64da90]
mov ebx, dword [ebp - 4]
mov eax, dword [0x64da88]
sub eax, dword [0x64da98]
mov ecx, dword [0x64da8c]
sbb ecx, dword [0x64da9c]
mov dword [ebp - 0x20], eax
or eax, ecx
mov dword [ebp - 0x28], ecx
je 0x42081c
mov ecx, esi
call fcn.00435fe0
mov edx, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x20]
movsd qword [ebp - 8], xmm0
call fcn.00435fe0
movsd xmm1, qword [ebp - 8]
divsd xmm1, xmm0
mulsd xmm1, qword [0x6129d0]
jmp 0x42081f
xorps xmm1, xmm1
cvtpd2ps xmm0, xmm1
push 0x50
lea esi, [edi + 0x20]
push 0
push esi
movss dword [edi + 0x1c], xmm0
call fcn.004371b0
add esp, 0xc
mov eax, 0x64c100
cmp dword [ebp - 0xc], 0
mov ecx, 0x64cf28
cmove ecx, eax
mov eax, dword [ecx]
mov dword [esi], eax
mov eax, dword [ecx + 8]
add eax, dword [ecx + 4]
add dword [esi + 4], eax
mov eax, dword [ecx + 0xc]
add dword [esi + 8], eax
mov eax, dword [ecx + 0x14]
add eax, dword [ecx + 0x10]
add dword [esi + 0xc], eax
mov eax, dword [ecx + 0x28]
add dword [edi + 0x30], eax
mov eax, dword [ecx + 0x30]
add eax, dword [ecx + 0x2c]
add dword [edi + 0x34], eax
mov eax, dword [ecx + 0x34]
add dword [edi + 0x38], eax
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
mov ecx, 0x64cf78
add dword [edi + 0x3c], eax
mov eax, 0x64c150
mov esi, dword [ebp - 0xc]
test esi, esi
cmove ecx, eax
mov eax, dword [ecx]
add dword [edi + 0x40], eax
mov eax, dword [ecx + 8]
add eax, dword [ecx + 4]
add dword [edi + 0x44], eax
mov eax, dword [ecx + 0xc]
add dword [edi + 0x48], eax
mov eax, dword [ecx + 0x14]
add eax, dword [ecx + 0x10]
mov ecx, 0x64cfa0
add dword [edi + 0x4c], eax
test esi, esi
mov eax, 0x64c178
cmove ecx, eax
mov eax, dword [ecx]
add dword [edi + 0x50], eax
mov eax, dword [ecx + 8]
add eax, dword [ecx + 4]
add dword [edi + 0x54], eax
mov eax, dword [ecx + 0xc]
add dword [edi + 0x58], eax
mov eax, dword [ecx + 0x14]
add eax, dword [ecx + 0x10]
mov ecx, 0x64cfc8
add dword [edi + 0x5c], eax
mov eax, 0x64c1a0
test esi, esi
cmove ecx, eax
mov eax, dword [ecx]
add dword [edi + 0x60], eax
mov eax, dword [ecx + 8]
add eax, dword [ecx + 4]
add dword [edi + 0x64], eax
mov eax, dword [ecx + 0xc]
add dword [edi + 0x68], eax
mov eax, dword [ecx + 0x14]
add eax, dword [ecx + 0x10]
add dword [edi + 0x6c], eax
call fcn.00424950
mov dword [edi + 0x70], eax
mov eax, dword [0x645378]
add eax, dword [0x64537c]
add eax, dword [0x6452f0]
add eax, dword [0x6452f4]
add eax, dword [0x645268]
add eax, dword [0x64526c]
add eax, dword [0x6451e0]
add eax, dword [0x6451e4]
add eax, dword [0x645158]
add eax, dword [0x64515c]
mov ecx, dword [0x64d26c]
mov dword [edi + 0x74], eax
mov eax, dword [0x64d278]
test eax, eax
je 0x420964
mov dword [edi + 0x78], eax
jmp 0x42096b
test ecx, ecx
je 0x42096b
mov dword [edi + 0x78], ecx
cmp dword [0x64d22c], 0
mov byte [edi + 0x7c], bl
setne al
test esi, esi
mov byte [edi + 0x7d], al
setne al
test esi, esi
mov byte [edi + 0x7e], al
setne byte [0x64e110]
cmp ebx, 2
jne 0x420a45
test esi, esi
jne 0x420a45
cmp byte [0x64bd7f], 0
je 0x420a04
cmp byte [0x64bd2c], 0
mov esi, dword [0x64d350]
push 0
je 0x4209e1
push 0xa
call fcn.004245d0
mov ecx, esi
xor edi, edi
sub ecx, dword [0x64da40]
cmp edi, edx
jb 0x420a45
ja 0x4209d2
cmp ecx, eax
jb 0x420a45
mov byte [0x64bd2c], 0
mov dword [0x64da44], esi
jmp 0x420a45
push 5
call fcn.004245d0
mov ecx, esi
xor edi, edi
sub ecx, dword [0x64da44]
cmp edi, edx
jb 0x420a45
ja 0x4209fc
cmp ecx, eax
jb 0x420a45
mov dword [0x64da40], esi
jmp 0x420a38
cmp byte [0x64bd2c], 0
je 0x420a27
cmp ecx, dword [0x64d3b4]
jb 0x420a1e
call fcn.00427170
test al, al
jne 0x420a45
mov byte [0x64bd2c], 0
jmp 0x420a45
cmp ecx, dword [0x64d3b4]
jb 0x420a45
call fcn.00427170
test al, al
je 0x420a45
inc dword [0x64da48]
mov byte [0x64bd2c], 1
call fcn.00413be0
cmp dword [0x64a5ec], 4
mov dword [0x64d210], 0
jb 0x420a88
mov eax, dword [0x64d220]
push 0
push dword [0x64d258]
mov dword [ebp - 0x28], eax
push dword [0x64d224]
mov eax, dword [ebp - 0x28]
push eax
push str._ENDGC__d__gen___lu__collect_classes___lu___n
push 3
push 0xd
call fcn.0040aa10
add esp, 0x1c
cmp byte [0x64bab1], 0
je 0x420af4
mov eax, dword [0x64d340]
lea esi, [eax + eax]
mov eax, 0x4000
cmp esi, eax
cmova esi, eax
cmp esi, dword [0x64d344]
je 0x420aed
xor ecx, ecx
mov eax, esi
mul dword [ebp - 0x10]
push 0x613a90
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00436365
mov edi, eax
add esp, 8
test edi, edi
je 0x420aed
push dword [0x64ba98]
call fcn.00435c4c
add esp, 4
mov dword [0x64d348], edi
mov dword [0x64d340], esi
mov dword [0x64d344], esi
mov byte [0x64bab1], 0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret