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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0xa0
vmovsd xmm0, qword [ebp + 0x1c]
mov esi, esp
mov dword [esi + 0x5c], ecx
vandpd xmm0, xmm0, xmmword [0x459200]
mov eax, dword [0x4b02c0]
xor eax, ebp
mov dword [esi + 0x98], eax
mov eax, 0x562fa122
vmovapd xmmword [esi + 0x80], xmm0
jmp 0x420200
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0x38]
mov edx, dword [esi + 0x3c]
mov dword [eax], ecx
mov dword [eax + 4], edx
mov eax, dword [esi + 0x1c]
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0x18]
push dword [eax]
push dword [ecx + 4]
push dword [ecx]
call fcn.00436360
add esp, 0xc
mov ecx, dword [esi + 0x1c]
mov dword [ecx], eax
mov eax, dword [esi + 0x10]
mov eax, dword [esi + 0x1c]
mov eax, dword [eax]
mov ecx, dword [esi + 0x10]
mov dword [ecx], eax
mov eax, dword [esi + 0x24]
mov eax, 0xcd3dd04b
nop dword [eax]
cmp eax, 0x4733f85
jle 0x4202f0
cmp eax, 0x4f29cf8b
jg 0x420340
cmp eax, 0x2bbd2b08
jg 0x4204ce
cmp eax, 0x19b43069
jle 0x4205d9
cmp eax, 0x19b4306a
je 0x420629
cmp eax, 0x283f7192
jne 0x420200
mov eax, dword [esi + 0x64]
mov edx, 0x1af88527
mov edi, 0xbf332d79
mov dword [esi + 8], eax
mov eax, dword [0x4b1fe8]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x4b1fe4], 0xa
setl cl
or cl, al
mov eax, 0xe52b0e14
mov ecx, 0xf5c703c6
cmovne eax, ecx
mov ecx, 0xe52b0e14
cmovne ecx, edx
nop word cs:[eax + eax]
cmp edi, 0xe52b0e13
jle 0x4202c0
cmp edi, 0xe52b0e14
je 0x4202d8
cmp edi, 0xf5c703c6
je 0x4202e2
cmp edi, 0x1af88527
jne 0x420290
mov edx, dword [esi + 8]
mov edi, eax
add edx, 0x18
jmp 0x420290
cmp edi, 0x8f25596c
je 0x420667
cmp edi, 0xbf332d79
jne 0x420290
mov edi, ecx
jmp 0x420290
mov edi, dword [esi + 8]
mov edi, 0x1af88527
jmp 0x420290
mov edi, 0x8f25596c
jmp 0x420290
cmp eax, 0xcd3dd04a
jg 0x420490
cmp eax, 0xc5205315
jg 0x42052b
cmp eax, 0x8fd9645e
je 0x420682
cmp eax, 0xa1c40733
je 0x420692
cmp eax, 0xa9ab93b2
jne 0x420200
mov eax, 0xe5434e07
jmp 0x420200
cmp eax, 0x5a61f895
jg 0x420564
cmp eax, 0x4f29cf8c
je 0x420768
cmp eax, 0x54d81a19
je 0x4207b2
cmp eax, 0x562fa122
jne 0x420200
push eax
sub esp, 0x14
mov eax, esp
mov dword [esi + 0xc], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x34], eax
push eax
mov eax, esp
mov dword [esi + 0x14], eax
push eax
mov eax, esp
mov dword [esi + 0x24], eax
push eax
mov eax, esp
mov dword [esi + 0x28], 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 + 0x1c], eax
push eax
mov eax, esp
mov dword [esi + 0x10], 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
mov dword [esi + 0x48], eax
mov eax, dword [esi + 0x5c]
mov dword [esi + 0x4c], eax
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 0xc]
call fcn.004014b0
mov eax, dword [esi + 0x34]
mov eax, dword [esi + 0x14]
mov eax, dword [0x4b23b8]
mov edx, 0xed1e6737
mov edi, 0x150ac9d8
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x4b23b4], 0xa
setl cl
or cl, al
mov eax, 0x915d8945
mov ecx, 0x6382b2a5
cmovne eax, ecx
mov ecx, 0x915d8945
cmovne ecx, edx
nop word cs:[eax + eax]
cmp edi, 0xfeb0f67d
jle 0x420460
cmp edi, 0xfeb0f67e
je 0x42047a
cmp edi, 0x6382b2a5
je 0x4207c8
cmp edi, 0x150ac9d8
jne 0x420420
mov edi, dword [ebp + 0x14]
mov dword [esi + 8], edi
mov edi, 0xfeb0f67e
jmp 0x420420
cmp edi, 0x915d8945
je 0x42047e
cmp edi, 0xed1e6737
jne 0x420420
mov edx, dword [esi + 8]
mov edi, eax
mov edx, dword [edx + 0x14]
jmp 0x420420
mov edi, ecx
jmp 0x420420
mov edi, dword [esi + 8]
mov edi, 0xed1e6737
jmp 0x420420
cmp eax, 0xe45c3522
jg 0x4205ae
cmp eax, 0xcd3dd04b
je 0x4207e7
cmp eax, 0xd7db03c1
je 0x42086e
cmp eax, 0xe24b74bc
jne 0x420200
mov eax, dword [esi + 0x10]
mov eax, dword [eax]
mov dword [esi + 0x70], eax
mov eax, 0xa1c40733
jmp 0x420200
cmp eax, 0x2bbd2b09
je 0x42088b
cmp eax, 0x48d85c2d
je 0x4208ce
cmp eax, 0x4cc13f54
jne 0x420200
mov eax, dword [esi + 0x14]
mov ecx, 0x8fd9645e
cmp dword [eax], 0x2000
mov eax, dword [esi + 0x24]
sete byte [eax]
mov eax, dword [esi + 0x28]
mov eax, dword [esi + 0x14]
cmp dword [eax], 0x3000
mov eax, dword [esi + 0x28]
sete byte [eax]
mov eax, dword [esi + 0x18]
mov eax, dword [esi + 0x28]
cmp byte [eax], 0
mov eax, 0xc6e8c99d
cmove eax, ecx
jmp 0x420200
cmp eax, 0xc5205316
je 0x4201bd
cmp eax, 0xc654edfe
je 0x420901
cmp eax, 0xc6e8c99d
jne 0x420200
mov dword [esi + 0x44], 0xffffffff
mov eax, 0x4f29cf8c
mov dword [esi + 0x40], 0xffffffff
jmp 0x420200
cmp eax, 0x5a61f896
je 0x420917
cmp eax, 0x72373310
je 0x420921
cmp eax, 0x7fe3310a
jne 0x420200
mov eax, 0x14f8b589
imul dword [esi + 0x6c]
mov eax, edx
shr eax, 0x1f
sar edx, 0xd
add edx, eax
mov eax, dword [esi + 0x10]
add edx, dword [eax]
mov eax, dword [esi + 0x10]
mov dword [eax], edx
mov eax, dword [esi + 0x2c]
mov eax, 0xe24b74bc
jmp 0x420200
cmp eax, 0xe45c3523
je 0x42096d
cmp eax, 0xe5434e07
je 0x420983
cmp eax, 0xf68f82a6
jne 0x420200
mov eax, 0x72373310
jmp 0x420200
cmp eax, 0x4733f86
jne 0x420aba
mov edx, dword [0x4b1fd8]
mov ecx, dword [0x4b1fd4]
mov edi, 0x72373310
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, 0xf68f82a6
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, edx
jmp 0x420200
mov eax, dword [0x4b1fd8]
mov edi, 0x2bbd2b09
mov ebx, 0x5a61f896
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0x5a61f896
sete cl
cmove eax, edi
cmp dword [0x4b1fd4], 0xa
setl dl
cmovge eax, ebx
xor dl, cl
cmovne eax, edi
jmp 0x420200
mov dword [esi + 4], edx
mov eax, dword [esi + 4]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esi + 0x54], eax
mov dword [esi + 0x50], ecx
mov eax, 0x19b4306a
jmp 0x420200
mov eax, dword [ebp + 0x14]
mov dword [esi + 0x64], eax
mov eax, 0x283f7192
jmp 0x420200
mov eax, dword [esi + 0x70]
mov ecx, dword [esi + 0xc]
add eax, 0x32
push 0
push eax
call fcn.00430700
mov eax, dword [esi + 0x30]
mov eax, dword [esi + 0x18]
mov edi, 0x150ac9d8
mov eax, dword [eax]
mov dword [esi + 0x60], eax
mov eax, dword [0x4b23b8]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
setne al
cmp dword [0x4b23b4], 0xa
setge cl
mov edx, ecx
or cl, al
xor dl, al
xor cl, 1
mov eax, 0x915d8945
or cl, dl
mov ecx, 0x6382b2a5
mov edx, 0xed1e6737
cmovne eax, ecx
mov ecx, 0x915d8945
cmovne ecx, edx
nop dword [eax + eax]
cmp edi, 0xfeb0f67d
jle 0x420740
cmp edi, 0xfeb0f67e
je 0x42075a
cmp edi, 0x6382b2a5
je 0x42099e
cmp edi, 0x150ac9d8
jne 0x420700
mov edi, dword [ebp + 0x14]
mov dword [esi + 8], edi
mov edi, 0xfeb0f67e
jmp 0x420700
cmp edi, 0x915d8945
je 0x42075e
cmp edi, 0xed1e6737
jne 0x420700
mov edx, dword [esi + 8]
mov edi, eax
mov edx, dword [edx + 0x14]
jmp 0x420700
mov edi, ecx
jmp 0x420700
mov edi, dword [esi + 8]
mov edi, 0xed1e6737
jmp 0x420700
mov eax, dword [0x4b1fd8]
mov ebx, 0xcd3dd04b
mov edi, 0xc5205316
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0xc5205316
sete cl
cmove eax, ebx
cmp dword [0x4b1fd4], 0xa
setl dl
cmovge eax, edi
mov edi, dword [esi + 0x44]
xor dl, cl
mov edx, dword [esi + 0x40]
cmovne eax, ebx
mov dword [esi + 0x38], edi
mov dword [esi + 0x3c], edx
jmp 0x420200
cmp byte [esi + 0x22], 0
mov eax, 0xe24b74bc
mov ecx, 0x4733f86
cmovne eax, ecx
jmp 0x420200
mov dword [esi + 4], edx
mov ecx, 0x3000
mov eax, dword [esi + 4]
mov edx, dword [esi + 0x14]
and eax, ecx
mov dword [edx], eax
mov eax, dword [esi + 0x24]
mov eax, 0x4cc13f54
jmp 0x420200
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0x38]
mov edx, dword [esi + 0x3c]
mov dword [eax], ecx
mov dword [eax + 4], edx
mov eax, dword [esi + 0x1c]
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0x18]
push dword [eax]
push dword [ecx + 4]
push dword [ecx]
call fcn.00436360
add esp, 0xc
mov ecx, dword [esi + 0x1c]
mov edi, 0x54d81a19
mov dword [ecx], eax
mov eax, dword [esi + 0x10]
mov eax, dword [esi + 0x1c]
mov eax, dword [eax]
mov ecx, dword [esi + 0x10]
mov dword [ecx], eax
mov edx, dword [0x4b1fd8]
mov ecx, dword [0x4b1fd4]
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, 0xc5205316
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
mov edi, dword [esi + 0x24]
cmp ecx, 0xa
cmovge eax, edx
cmp byte [edi], 0
setne byte [esi + 0x22]
jmp 0x420200
mov eax, dword [esi + 0x68]
mov ecx, eax
neg ecx
cmovs ecx, eax
imul eax, ecx, 0x7597
mov dword [esi + 0x6c], eax
mov eax, 0x7fe3310a
jmp 0x420200
mov edx, dword [0x4b1fd8]
mov ecx, dword [0x4b1fd4]
mov edi, 0x5a61f896
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, 0xe45c3523
cmovne edi, ebx
test edx, eax
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
cmovge eax, edi
jmp 0x420200
mov eax, dword [esi + 0x2c]
mov eax, dword [esi + 0x2c]
sub esp, 0xc
vmovsd xmm0, qword [ebp + 0x1c]
mov dword [esp + 8], eax
vmovsd qword [esp], xmm0
call fcn.00441413
fstp st(0)
add esp, 0xc
mov eax, dword [esi + 0x2c]
mov eax, dword [eax]
mov dword [esi + 0x68], eax
mov eax, 0xd7db03c1
jmp 0x420200
cmp byte [esi + 0x23], 0
mov eax, 0xe24b74bc
mov ecx, 0x48d85c2d
cmovne eax, ecx
jmp 0x420200
mov eax, 0x2bbd2b09
jmp 0x420200
mov eax, dword [0x4b1fd8]
vmovapd xmm0, xmmword [esi + 0x80]
mov ebx, 0xa9ab93b2
mov edi, 0xf68f82a6
lea ecx, [eax - 1]
imul ecx, eax
mov eax, 0xf68f82a6
vmovsd qword [esi + 0x78], xmm0
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
cmove eax, ebx
cmp dword [0x4b1fd4], 0xa
setl dl
cmovge eax, edi
xor dl, cl
cmovne eax, ebx
jmp 0x420200
mov eax, dword [esi + 0x50]
mov dword [esi + 0x44], eax
mov eax, dword [esi + 0x54]
mov dword [esi + 0x40], eax
mov eax, 0x4f29cf8c
jmp 0x420200
vmovsd xmm0, qword [esi + 0x78]
mov eax, 0xc654edfe
vucomisd xmm0, qword [0x459210]
seta byte [esi + 0x23]
jmp 0x420200
mov dword [esi + 4], edx
push dword [esi + 4]
push 0
push dword [esi + 0x34]
push dword [esi + 0x4c]
call fcn.00430c60
add esp, 0x10
mov edi, eax
mov eax, dword [esi + 0xc]
mov dword [esi + 0x74], eax
mov eax, dword [0x4b1fe0]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
setne al
cmp dword [0x4b1fdc], 0xa
setge cl
mov edx, ecx
or cl, al
xor dl, al
xor cl, 1
mov eax, 0xc10aa512
or cl, dl
mov ecx, 0x2e5a1101
mov edx, 0xda39841d
cmovne eax, ecx
mov ecx, 0xc10aa512
cmovne ecx, edx
mov edx, 0xbe7f4f30
nop word cs:[eax + eax]
cmp edx, 0xda39841c
jle 0x420a40
cmp edx, 0xda39841d
je 0x420a5a
cmp edx, 0x2e5a1101
je 0x420a76
cmp edx, 0x59837c41
jne 0x420a10
mov edx, ecx
jmp 0x420a10
cmp edx, 0xbe7f4f30
je 0x420a66
cmp edx, 0xc10aa512
jne 0x420a10
mov edx, dword [esi + 8]
mov edx, 0xda39841d
jmp 0x420a10
mov edx, dword [esi + 8]
mov edx, dword [edx]
mov dword [esi + 4], edx
mov edx, eax
jmp 0x420a10
mov edx, dword [esi + 0x74]
add edx, 0x10
mov dword [esi + 8], edx
mov edx, 0x59837c41
jmp 0x420a10
mov ebx, dword [esi + 4]
mov ecx, dword [esi + 0xc]
push 0
call fcn.00427260
sub esp, 0x18
vmovsd xmm0, qword [ebp + 0x1c]
mov ecx, dword [esi + 0x60]
mov dword [esp + 8], edi
mov dword [esp + 4], ebx
mov dword [esp], eax
mov dword [esp + 0xc], ecx
vmovsd qword [esp + 0x10], xmm0
call fcn.00426540
add esp, 0x18
mov ecx, dword [esi + 0x30]
mov dword [ecx], eax
mov eax, 0x146fab65
jmp 0x420200
cmp eax, 0x146fab65
jne 0x420200
sub esp, 8
vmovsd xmm0, qword [ebp + 0x1c]
vmovsd qword [esp], xmm0
call fcn.00436cd0
add esp, 8
mov dword [esi + 4], eax
mov eax, dword [0x4b1fd0]
mov edi, 0xf68d6e53
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
setne al
cmp dword [0x4b1fcc], 0xa
setge cl
mov edx, ecx
or cl, al
xor dl, al
xor cl, 1
mov eax, 0x2ce9afbd
or cl, dl
mov edx, 0x730eb919
mov ecx, 0xaf869621
cmove eax, edx
cmove ecx, edx
nop word cs:[eax + eax]
cmp edi, 0xf68d6e52
jle 0x420b60
cmp edi, 0xf68d6e53
je 0x420b72
cmp edi, 0x2ce9afbd
je 0x420b76
cmp edi, 0x730eb919
jne 0x420b30
mov edi, dword [esi + 4]
mov edi, 0xaf869621
jmp 0x420b30
cmp edi, 0xaf869621
je 0x420b7d
cmp edi, 0xe30946e2
jne 0x420b30
jmp 0x420b88
mov edi, ecx
jmp 0x420b30
mov edi, 0xe30946e2
jmp 0x420b30
cmp dword [esi + 4], 0
mov edi, eax
setle dl
jmp 0x420b30
and dl, 1
mov ecx, 0xc2a3583a
mov byte [esi + 8], dl
movzx ebx, byte [esi + 8]
mov eax, dword [esi + 0x30]
mov edi, dword [eax]
mov eax, dword [esi + 0xc]
nop
cmp ecx, 0xc2a3583a
je 0x420bb2
cmp ecx, 0x3596fd1c
jne 0x420ba0
jmp 0x420bb9
mov ecx, 0x3596fd1c
jmp 0x420ba0
mov dword [esi + 4], eax
mov ecx, dword [esi + 4]
call fcn.0040f400
lea edx, [ebp + 0xc]
mov ecx, dword [esi + 0x48]
vmovsd xmm0, qword [edx]
vmovsd qword [ecx], xmm0
mov edx, dword [esi + 0x48]
mov ecx, dword [esi + 0x4c]
sub esp, 0x20
vmovsd xmm0, qword [edx]
movzx edx, bl
and edx, 1
vmovsd qword [esp + 4], xmm0
mov dword [esp + 0x14], eax
movsx eax, byte [ebp + 0x18]
mov dword [esp + 0x1c], edx
mov edx, dword [ebp + 8]
mov dword [esp + 0x18], edi
mov dword [esp + 0x10], eax
mov eax, dword [ebp + 0x14]
mov dword [esp], edx
mov dword [esp + 0xc], eax
call fcn.004321a0
mov eax, dword [esi + 0x30]
mov eax, dword [esi + 0x10]
mov eax, dword [esi + 0x1c]
mov eax, dword [esi + 0x18]
mov eax, dword [esi + 0x28]
mov eax, dword [esi + 0x24]
mov eax, dword [esi + 0x14]
mov eax, dword [esi + 0x34]
mov eax, dword [esi + 0xc]
mov edi, 0x277f6dd1
mov ebx, 0x7e2e9872
mov dword [esi + 4], eax
mov eax, 0x9a30a867
nop
cmp eax, 0x14834c26
jle 0x420c70
cmp eax, 0x14834c27
je 0x420c91
cmp eax, 0x277f6dd1
je 0x420cc8
cmp eax, 0x7e2e9872
jne 0x420c40
jmp 0x420d22
cmp eax, 0x9a30a867
je 0x420d10
cmp eax, 0x1030eb44
jne 0x420c40
mov ecx, dword [esi + 4]
call fcn.00409250
mov eax, 0x277f6dd1
jmp 0x420c40
mov edx, dword [0x4b2428]
mov ecx, dword [0x4b2424]
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, 0x1030eb44
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
jmp 0x420d05
mov ecx, dword [esi + 4]
call fcn.00409250
mov edx, dword [0x4b2428]
mov ecx, dword [0x4b2424]
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, 0x1030eb44
cmovne edx, ebx
cmp eax, 0xffffffff
mov eax, edx
cmove eax, ebx
cmp ecx, 0xa
cmovge eax, edx
jmp 0x420c40
mov ecx, dword [esi + 4]
call fcn.00408c50
mov eax, 0x14834c27
jmp 0x420c40
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 0x98]
xor ecx, ebp
call fcn.0043a770
mov eax, dword [ebp + 8]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0x1c