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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x90
mov esi, esp
mov dword [esi + 0x70], ecx
mov eax, dword [0x4a92c0]
xor eax, ebp
mov dword [esi + 0x88], eax
mov eax, dword [0x4aaff0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, dword [0x4aafec]
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete byte [esi + 0x15]
cmp eax, 0xa
mov eax, 0x4df66c41
setl byte [esi + 0x16]
jmp 0x4209e0
push eax
sub esp, 0x14
mov eax, esp
mov dword [esi], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x40], eax
push eax
mov eax, esp
mov dword [esi + 0x1c], eax
push eax
mov eax, esp
mov dword [esi + 0x2c], eax
push eax
mov eax, esp
mov dword [esi + 0x30], eax
sub esp, 8
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov dword [esi + 0x24], eax
push eax
mov eax, esp
mov dword [esi + 0x34], eax
push eax
mov eax, esp
mov dword [esi + 0xc], eax
push eax
mov eax, esp
mov dword [esi + 0x28], eax
push eax
mov eax, esp
mov dword [esi + 0x38], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x58], eax
mov ecx, dword [ebp + 8]
vmovsd xmm0, qword [ebp + 0x1c]
mov ebx, 0xeb92c443
mov edi, 0x578ccef9
mov eax, dword [esi + 0x4c]
mov dword [eax], ecx
mov eax, dword [esi + 0x18]
vmovsd qword [eax], xmm0
mov eax, dword [0x4aaff0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, 0x578ccef9
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
cmove eax, ebx
cmp dword [0x4aafec], 0xa
setl dl
cmovge eax, edi
xor dl, cl
cmovne eax, ebx
nop dword [eax + eax]
cmp eax, 0xf271f6
jg 0x420a80
cmp eax, 0xc26b4f45
jg 0x420ae0
cmp eax, 0x97b971cf
jg 0x420baa
cmp eax, 0x891872d9
jg 0x420d14
cmp eax, 0x812d2d51
je 0x420f1c
cmp eax, 0x86a845ba
jne 0x4209e0
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
mov ecx, dword [esi]
add eax, 0x32
push 0
push eax
call fcn.00431120
mov eax, dword [esi + 0x38]
mov eax, dword [esi + 0x18]
mov ecx, 0x252e1848
vmovsd xmm0, qword [eax]
vmovsd qword [esi + 0x60], xmm0
mov eax, dword [esi + 0x24]
mov eax, dword [eax]
mov dword [esi + 0x3c], eax
mov eax, dword [esi + 0x20]
mov eax, dword [eax]
add eax, 0x14
nop word cs:[eax + eax]
cmp ecx, 0x252e1848
je 0x420a75
cmp ecx, 0x11b4a965
jne 0x420a60
jmp 0x4211c4
mov ecx, 0x11b4a965
jmp 0x420a60
cmp eax, 0x36554cc2
jg 0x420b60
cmp eax, 0x1b5c6556
jg 0x420c25
cmp eax, 0x137b16f2
jg 0x420d76
cmp eax, 0xf271f7
je 0x420f37
cmp eax, 0x11e7dc86
jne 0x4209e0
mov eax, dword [0x4aaff0]
mov ebx, 0x36554cc3
mov edi, 0xc26b4f46
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0xc26b4f46
jmp 0x4209c3
cmp eax, 0xeb92c442
jg 0x420c53
cmp eax, 0xe01b2828
jg 0x420db2
cmp eax, 0xc26b4f46
je 0x420f41
cmp eax, 0xd9ecbe7b
jne 0x4209e0
mov edx, dword [0x4aaff0]
mov ecx, dword [0x4aafec]
mov edi, 0x11e7dc86
lea eax, [edx - 1]
imul eax, edx
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
sete dl
cmp ecx, 0xa
setl dh
xor dh, dl
mov edx, 0xc26b4f46
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, edx
jmp 0x4209e0
cmp eax, 0x52ef35b7
jle 0x420cc4
cmp eax, 0x593fd7d5
jg 0x420dd2
cmp eax, 0x52ef35b8
je 0x420f4b
cmp eax, 0x578ccef9
jne 0x4209e0
mov eax, dword [esi + 0x4c]
mov ecx, dword [ebp + 8]
vmovsd xmm0, qword [ebp + 0x1c]
mov dword [eax], ecx
mov eax, dword [esi + 0x18]
vmovsd qword [eax], xmm0
mov eax, 0x4544131a
jmp 0x4209e0
cmp eax, 0x9f539c44
jg 0x420df2
cmp eax, 0x97b971d0
je 0x420f55
cmp eax, 0x9a1f8424
jne 0x4209e0
mov eax, dword [esi + 0x28]
mov eax, dword [esi + 0x18]
vmovsd xmm0, qword [eax]
mov eax, dword [esi + 0x28]
sub esp, 0xc
mov dword [esp + 8], eax
vmovsd qword [esp], xmm0
call fcn.00441644
fstp st(0)
add esp, 0xc
mov eax, dword [esi + 0x28]
mov eax, dword [eax]
mov ecx, eax
neg ecx
cmovs ecx, eax
mov eax, 0xa7c5ac5
imul edx, ecx, 0x7597
shr edx, 5
mulx eax, eax, eax
shr eax, 7
mov dword [esi + 4], eax
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
mov dword [esi + 0x10], eax
mov eax, 0xfe7f55f3
jmp 0x4209e0
cmp eax, 0x232919bb
jg 0x420e47
cmp eax, 0x1b5c6557
je 0x420f73
cmp eax, 0x203bc92c
jne 0x4209e0
mov eax, dword [esi + 0xc]
mov eax, 0x38644380
jmp 0x4209e0
cmp eax, 0xfe7f55f2
jg 0x420eb0
cmp eax, 0xeb92c443
je 0x420f89
cmp eax, 0xfa2af756
jne 0x4209e0
mov eax, dword [esi + 0x24]
mov ecx, dword [esi + 0x48]
mov dword [eax], ecx
mov ecx, dword [esi + 0x44]
mov dword [eax + 4], ecx
mov eax, dword [esi + 0x34]
mov eax, dword [esi + 0x1c]
mov ecx, dword [esi + 0x24]
push dword [eax]
push dword [ecx + 4]
push dword [ecx]
call fcn.00436f80
add esp, 0xc
mov ecx, dword [esi + 0x34]
mov dword [ecx], eax
mov eax, dword [esi + 0xc]
mov eax, dword [esi + 0x34]
mov eax, dword [eax]
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
mov ecx, 0x86a845ba
mov eax, dword [esi + 0x2c]
cmp byte [eax], 0
mov eax, 0x97b971d0
cmove eax, ecx
jmp 0x4209e0
cmp eax, 0x45441319
jle 0x420ef9
cmp eax, 0x4544131a
je 0x42093e
cmp eax, 0x4df66c41
jne 0x4209e0
movzx ecx, byte [esi + 0x15]
movzx eax, byte [esi + 0x16]
mov edi, 0x9f539c45
mov ebx, 0x52ef35b8
mov edx, eax
xor dl, cl
test al, al
mov eax, 0x52ef35b8
cmovne eax, edi
test cl, cl
cmove eax, ebx
test dl, dl
cmovne eax, edi
jmp 0x4209e0
cmp eax, 0x891872da
je 0x420f93
cmp eax, 0x94b3d765
jne 0x4209e0
mov eax, dword [esi + 0x74]
mov ecx, dword [0x4ab000]
mov edi, 0x147b55a1
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete cl
cmp dword [0x4aaffc], 0xa
setl dl
or dl, cl
mov ecx, 0x2e5e6b97
mov edx, 0xc449ea4
cmovne ecx, edx
mov edx, 0x2e5e6b97
cmovne edx, edi
add eax, 0x18
mov edi, 0x5b80c472
jmp 0x420fa0
cmp eax, 0x137b16f3
je 0x421001
cmp eax, 0x19ce21ac
jne 0x4209e0
mov eax, dword [0x4aaff0]
mov ebx, 0xfe8eee65
mov edi, 0xe34ba450
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0xe34ba450
jmp 0x4209c3
cmp eax, 0xe01b2829
je 0x421013
cmp eax, 0xe34ba450
jne 0x4209e0
mov eax, 0xfe8eee65
jmp 0x4209e0
cmp eax, 0x593fd7d6
je 0x42106c
cmp eax, 0x7b2ae3d2
jne 0x4209e0
mov eax, 0x86a845ba
jmp 0x4209e0
cmp eax, 0x9f539c45
je 0x421082
cmp eax, 0xb8def72a
jne 0x4209e0
mov eax, dword [0x4aaff0]
mov edi, 0x4544131a
mov ebx, 0x578ccef9
lea ecx, [eax + 1]
imul ecx, eax
mov eax, 0x578ccef9
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
cmove eax, edi
cmp dword [0x4aafec], 0xa
setl dl
cmovge eax, ebx
xor dl, cl
cmovne eax, edi
jmp 0x4209e0
cmp eax, 0x232919bc
je 0x4210ec
cmp eax, 0x2d5ce32c
jne 0x4209e0
mov eax, dword [esi + 4]
mov edi, 0x891872da
add eax, dword [esi + 0x10]
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
mov edx, dword [0x4aaff0]
mov ecx, dword [0x4aafec]
lea eax, [edx + 1]
imul eax, edx
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
sete dl
cmp ecx, 0xa
setl dh
xor dh, dl
mov edx, 0x232919bc
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
mov ecx, dword [esi + 0x28]
cmovge eax, edx
jmp 0x4209e0
cmp eax, 0xfe7f55f3
je 0x421125
cmp eax, 0xfe8eee65
jne 0x4209e0
mov edx, dword [0x4aaff0]
mov ecx, dword [0x4aafec]
mov edi, 0xe34ba450
lea eax, [edx + 1]
imul eax, edx
mov edx, eax
xor edx, 0xfffffffe
test edx, eax
sete bl
cmp ecx, 0xa
setl bh
xor bh, bl
mov ebx, 0x593fd7d6
jmp 0x421153
cmp eax, 0x36554cc3
jne 0x42138b
mov dword [esi + 0x48], 0xffffffff
mov eax, 0xfa2af756
mov dword [esi + 0x44], 0xffffffff
jmp 0x4209e0
vmovsd xmm0, qword [esi + 0x78]
mov eax, 0x19ce21ac
vucomisd xmm0, qword [0x459240]
seta byte [esi + 0x17]
jmp 0x4209e0
mov eax, 0xb8def72a
jmp 0x4209e0
mov eax, 0x11e7dc86
jmp 0x4209e0
mov eax, 0x9f539c45
jmp 0x4209e0
mov eax, dword [esi + 0x18]
vmovsd xmm0, qword [eax]
mov eax, 0x812d2d51
vandpd xmm0, xmm0, xmmword [0x459250]
vmovlpd qword [esi + 0x78], xmm0
jmp 0x4209e0
mov eax, dword [esi + 0x68]
mov dword [esi + 0x48], eax
mov eax, dword [esi + 0x6c]
mov dword [esi + 0x44], eax
mov eax, 0xfa2af756
jmp 0x4209e0
mov eax, 0xe01b2829
jmp 0x4209e0
mov eax, 0x7b2ae3d2
jmp 0x4209e0
mov edi, edx
nop
cmp edi, 0x29d0b260
jle 0x420fd0
cmp edi, 0x29d0b261
je 0x420f9d
cmp edi, 0x2e5e6b97
je 0x420ff7
cmp edi, 0x5b80c472
jne 0x420fa0
mov dword [esi + 8], eax
mov edi, 0x29d0b261
jmp 0x420fa0
cmp edi, 0xc449ea4
je 0x421209
cmp edi, 0x147b55a1
jne 0x420fa0
mov edi, dword [esi + 8]
vmovsd xmm0, qword [edi]
mov edi, ecx
vmovsd qword [esi + 0x80], xmm0
jmp 0x420fa0
mov edi, dword [esi + 8]
mov edi, 0x147b55a1
jmp 0x420fa0
mov eax, dword [esi + 0x20]
mov eax, dword [eax]
mov dword [esi + 0x74], eax
mov eax, 0x94b3d765
jmp 0x4209e0
mov eax, dword [esi + 0x50]
movzx ecx, byte [ebp + 0x18]
mov byte [eax], cl
mov ecx, dword [ebp + 0x14]
mov eax, dword [esi + 0x20]
mov dword [eax], ecx
mov eax, dword [esi + 0x54]
mov ecx, dword [esi + 0x70]
mov dword [eax], ecx
mov eax, dword [esi + 0x54]
mov eax, dword [eax]
mov dword [esi + 0x5c], eax
mov eax, dword [esi]
mov ecx, dword [esi]
call fcn.00401530
mov eax, dword [esi + 0x40]
mov eax, dword [esi + 0x1c]
mov eax, dword [esi + 0x20]
mov ecx, 0x252e1848
mov eax, dword [eax]
add eax, 0x14
cmp ecx, 0x252e1848
je 0x421065
cmp ecx, 0x11b4a965
jne 0x421050
jmp 0x421168
mov ecx, 0x11b4a965
jmp 0x421050
cmp byte [esi + 0x17], 0
mov eax, 0x86a845ba
mov ecx, 0x9a1f8424
cmovne eax, ecx
jmp 0x4209e0
push eax
mov eax, esp
mov dword [esi + 0x4c], eax
sub esp, 8
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov dword [esi + 0x18], eax
push eax
mov eax, esp
mov dword [esi + 0x50], eax
push eax
mov eax, esp
mov dword [esi + 0x20], eax
push eax
mov edi, dword [0x4aaff0]
mov edx, dword [0x4aafec]
mov ecx, esp
mov dword [esi + 0x54], ecx
lea eax, [edi + 1]
imul eax, edi
mov edi, 0x52ef35b8
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov ebx, 0xf271f7
cmovne edi, ebx
cmp eax, 0xffffffff
mov eax, edi
cmove eax, ebx
cmp edx, 0xa
cmovge eax, edi
jmp 0x4209e0
mov eax, dword [esi + 0x10]
mov eax, dword [esi + 4]
mov eax, dword [esi + 0x10]
mov eax, dword [esi + 4]
mov eax, dword [esi + 4]
mov eax, dword [esi + 0x10]
mov eax, dword [esi + 4]
mov eax, dword [esi + 4]
mov eax, dword [esi + 0x10]
mov eax, dword [esi + 0x10]
mov eax, dword [esi + 4]
mov eax, dword [esi + 4]
add eax, dword [esi + 0x10]
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
mov eax, dword [esi + 0x28]
mov eax, 0x2d5ce32c
jmp 0x4209e0
mov edx, dword [0x4aaff0]
mov ecx, dword [0x4aafec]
mov edi, 0x232919bc
lea eax, [edx + 1]
imul eax, edx
mov edx, eax
xor edx, 0xfffffffe
test edx, eax
sete bl
cmp ecx, 0xa
setl bh
xor bh, bl
mov ebx, 0x2d5ce32c
cmovne edi, ebx
test edx, eax
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
cmovge eax, edi
jmp 0x4209e0
mov dword [esi + 0x80], eax
mov eax, dword [esi + 0x80]
mov eax, dword [eax]
mov ecx, eax
xor ecx, 0xffffcfff
and ecx, eax
mov eax, dword [esi + 0x1c]
mov dword [eax], ecx
mov ecx, 0x137b16f3
mov eax, dword [esi + 0x2c]
mov eax, dword [esi + 0x1c]
cmp dword [eax], 0x2000
mov eax, dword [esi + 0x2c]
sete byte [eax]
mov eax, dword [esi + 0x30]
mov eax, dword [esi + 0x1c]
cmp dword [eax], 0x3000
mov eax, dword [esi + 0x30]
sete byte [eax]
mov eax, dword [esi + 0x24]
mov eax, dword [esi + 0x30]
cmp byte [eax], 0
mov eax, 0xd9ecbe7b
cmove eax, ecx
jmp 0x4209e0
mov dword [esi + 0x80], eax
mov eax, dword [esi + 0x80]
push dword [eax]
push 0
push dword [esi + 0x40]
push dword [esi + 0x5c]
call fcn.00431740
add esp, 0x10
mov ebx, eax
mov eax, dword [esi]
mov ecx, 0x14d9d6e6
nop dword [eax + eax]
cmp ecx, 0x14d9d6e6
je 0x421202
cmp ecx, 0x9ef58684
jne 0x4211f0
jmp 0x421225
mov ecx, 0x9ef58684
jmp 0x4211f0
mov eax, dword [esi + 0x80]
mov ecx, dword [esi + 0x84]
mov dword [esi + 0x68], eax
mov dword [esi + 0x6c], ecx
mov eax, 0x1b5c6557
jmp 0x4209e0
mov dword [esi + 0x80], eax
mov eax, dword [esi + 0x80]
mov edi, dword [eax + 0x10]
mov ecx, dword [esi]
push 0
call fcn.004273e0
sub esp, 0x18
vmovsd xmm0, qword [esi + 0x60]
mov ecx, dword [esi + 0x3c]
mov dword [esp + 8], ebx
mov dword [esp + 4], edi
mov dword [esp], eax
mov dword [esp + 0xc], ecx
vmovsd qword [esp + 0x10], xmm0
call fcn.00426300
add esp, 0x18
mov ecx, dword [esi + 0x38]
mov dword [ecx], eax
mov eax, dword [esi + 0x18]
vmovsd xmm0, qword [eax]
mov eax, 0x1986f8d1
vmovsd qword [esi + 0x80], xmm0
nop
cmp eax, 0xf5f8b7a
je 0x4212a8
cmp eax, 0x1986f8d1
jne 0x421280
lea eax, [esi + 0x80]
push eax
call fcn.0044173e
add esp, 4
cwde
mov dword [esi + 8], eax
mov eax, 0xf5f8b7a
jmp 0x421280
mov eax, dword [esi + 8]
mov ecx, 0x4e5a8e10
mov dword [esi + 0x80], eax
nop word cs:[eax + eax]
cmp ecx, 0x8ad3906f
je 0x4212e1
cmp ecx, 0x4e5a8e10
jne 0x4212c0
cmp dword [esi + 0x80], 0
mov ecx, 0x8ad3906f
setle al
jmp 0x4212c0
and al, 1
mov byte [esi + 8], al
movzx eax, byte [esi + 8]
mov byte [esi + 0x3c], al
mov eax, dword [esi + 0x38]
mov eax, dword [eax]
mov dword [esi + 0x60], eax
mov eax, dword [esi]
mov dword [esi + 8], eax
mov eax, 0x7f0f49a7
nop
cmp eax, 0x284a0c4b
je 0x421318
cmp eax, 0x7f0f49a7
jne 0x421300
mov ecx, dword [esi + 8]
mov eax, 0x284a0c4b
jmp 0x421300
mov dword [esi + 0x80], ecx
mov ecx, dword [esi + 0x80]
call fcn.004110b0
mov ecx, dword [esi + 0x50]
lea ebx, [ebp + 0xc]
movsx edx, byte [ecx]
mov ecx, dword [esi + 0x20]
mov edi, dword [ecx]
mov ecx, dword [esi + 0x58]
vmovsd xmm0, qword [ebx]
vmovsd qword [ecx], xmm0
mov ebx, dword [esi + 0x58]
mov ecx, dword [esi + 0x5c]
sub esp, 0x20
vmovsd xmm0, qword [ebx]
vmovsd qword [esp + 4], xmm0
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 8]
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], edi
movzx ebx, byte [esi + 0x3c]
mov dword [esp], eax
and ebx, 1
mov dword [esp + 0x1c], ebx
mov ebx, dword [esi + 0x60]
mov dword [esp + 0x18], ebx
call fcn.00432eb0
mov eax, dword [esi + 0x38]
mov eax, 0x203bc92c
jmp 0x4209e0
cmp eax, 0x38644380
jne 0x4209e0
mov eax, dword [esi + 0x34]
mov eax, dword [esi + 0x24]
mov eax, dword [esi + 0x30]
mov eax, dword [esi + 0x2c]
mov eax, dword [esi + 0x1c]
mov eax, dword [esi + 0x40]
mov ebx, dword [esi]
mov eax, dword [0x4ab410]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne al
cmp dword [0x4ab40c], 0xa
setge cl
mov edx, ecx
or cl, al
xor dl, al
xor cl, 1
mov eax, 0x1662829e
or cl, dl
mov edx, 0x25f25fae
mov ecx, 0x4fd052a1
cmove eax, edx
cmove ecx, edx
mov edx, 0xd788de97
nop
cmp edx, 0x25f25fad
jle 0x421420
cmp edx, 0x25f25fae
je 0x421437
cmp edx, 0x2ee6eb87
je 0x421442
cmp edx, 0x4fd052a1
jne 0x4213f0
mov edx, eax
jmp 0x4213f0
cmp edx, 0xd788de97
je 0x42143e
cmp edx, 0x1662829e
jne 0x4213f0
mov edx, 0x2ee6eb87
jmp 0x4213f0
mov edx, 0x4fd052a1
jmp 0x4213f0
mov edx, ecx
jmp 0x4213f0
mov ecx, ebx
call fcn.0040ade0
mov ecx, ebx
call fcn.0040b3c0
mov eax, dword [esi]
mov ecx, dword [esi + 0x88]
xor ecx, ebp
call fcn.0043a910
mov eax, dword [ebp + 8]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0x1c