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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xc0
mov eax, dword [0x4ae2c0]
mov edi, dword [ebp + 0x14]
lea esi, [ebp + 0xc]
xor eax, ebp
mov dword [esp + 0xb8], eax
mov dword [esp + 0x38], ecx
lea ecx, [esp + 0xa0]
call fcn.00401540
lea eax, [edi + 0x14]
mov dword [esp + 0x2c], eax
mov eax, 0xdf168958
nop
cmp eax, 0xdf168958
je 0x4205a0
cmp eax, 0x2c428234
jne 0x420590
jmp 0x4205a7
mov eax, 0x2c428234
jmp 0x420590
mov eax, dword [esp + 0x2c]
mov ecx, 0x3000
mov edx, 0xb4f6d8a5
mov ebx, 0xf6ee7158
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x98]
and ecx, dword [eax]
mov eax, 0x218904c3
cmp ecx, 0x2000
mov dword [esp + 0x58], ecx
cmovne edx, eax
cmp ecx, 0x3000
mov eax, 0x603aed08
cmove ebx, eax
mov eax, dword [esi]
mov dword [esp + 0x54], edx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x4c], eax
mov eax, dword [esi + 4]
mov dword [esp + 0x48], eax
mov eax, 0xce1c90b5
jmp 0x420640
mov eax, dword [0x4affe8]
mov edi, 0xc1733cc8
mov esi, 0x16a3c9cf
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0x16a3c9cf
sete cl
cmove eax, edi
cmp dword [0x4affe4], 0xa
setl dl
cmovge eax, esi
xor dl, cl
cmovne eax, edi
nop
mov ecx, eax
cmp eax, 0x16a3c9ce
jg 0x4206c0
cmp ecx, 0xe9b18b92
jle 0x420730
cmp ecx, 0xf56e3791
jg 0x4207eb
cmp ecx, 0xe9b18b93
je 0x4208f2
cmp ecx, 0xeeb4cf59
je 0x420606
mov eax, ecx
cmp ecx, 0xf0935055
jne 0x420640
vmovsd xmm0, qword [esp + 0x80]
lea eax, [esp + 0x94]
mov dword [esp + 8], eax
vmovsd qword [esp], xmm0
call fcn.0043f3a3
fstp st(0)
mov eax, dword [esp + 0x94]
mov ecx, eax
neg ecx
cmovs ecx, eax
mov eax, 0x6df035da
mov dword [esp + 0x74], ecx
jmp 0x420640
cmp ecx, 0x5904b38e
jle 0x420770
cmp ecx, 0x739b4e36
jg 0x42082b
cmp ecx, 0x5904b38f
je 0x42090a
cmp ecx, 0x603aed08
je 0x42093c
mov eax, ecx
cmp ecx, 0x6df035da
jne 0x420640
imul eax, dword [esp + 0x74], 0x7597
mov ecx, 0x14f8b589
imul ecx
mov eax, edx
shr eax, 0x1f
sar edx, 0xd
add edx, eax
mov eax, 0x218904c3
add dword [esp + 0x28], edx
jmp 0x420640
cmp ecx, 0xb4f6d8a4
jle 0x42085a
cmp ecx, 0xb4f6d8a5
je 0x420956
cmp ecx, 0xc1733cc8
je 0x42096b
mov eax, ecx
cmp ecx, 0xce1c90b5
jne 0x420640
mov eax, 0x25a541f1
jmp 0x420640
cmp ecx, 0x25a541f0
jle 0x420899
mov eax, ebx
cmp ecx, 0x25a541f1
je 0x420640
cmp ecx, 0x4370c734
je 0x4209bc
mov eax, ecx
cmp ecx, 0x49dccdec
jne 0x420640
mov eax, dword [esp + 0x28]
lea ecx, [esp + 0xa0]
mov dword [esp + 4], 0
add eax, 0x32
mov dword [esp], eax
call fcn.004306a0
sub esp, 8
mov eax, dword [0x4affe8]
mov edi, 0x82ebf091
mov esi, 0xf56e3792
lea ecx, [eax + 1]
imul eax, ecx
mov ecx, eax
xor ecx, 0xfffffffe
test ecx, eax
mov eax, 0xf56e3792
jmp 0x420627
cmp ecx, 0xf56e3792
je 0x4209ea
cmp ecx, 0xf6ee7158
je 0x420a15
mov eax, ecx
cmp ecx, 0x13e6c659
jne 0x420640
mov eax, dword [esp + 0x40]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x30], eax
mov eax, 0x739b4e37
jmp 0x420640
cmp ecx, 0x739b4e37
je 0x420a26
cmp ecx, 0x742c661a
jne 0x420d10
cmp byte [esp + 0x21], 0
mov eax, 0x218904c3
mov ecx, 0xe9b18b93
cmovne eax, ecx
jmp 0x420640
cmp ecx, 0x82ebf091
je 0x420a53
mov eax, ecx
cmp ecx, 0xa904292d
jne 0x420640
vmovsd xmm0, qword [esp + 0x78]
mov eax, 0x742c661a
vandpd xmm0, xmm0, xmmword [0x457200]
vucomisd xmm0, qword [0x457210]
seta byte [esp + 0x21]
jmp 0x420640
cmp ecx, 0x16a3c9cf
je 0x420a5d
mov eax, ecx
cmp ecx, 0x218904c3
jne 0x420640
mov eax, dword [0x4affe8]
mov esi, 0x49dccdec
mov edi, 0xf56e3792
lea ecx, [eax - 1]
imul ecx, eax
mov eax, 0xf56e3792
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
cmove eax, esi
cmp dword [0x4affe4], 0xa
setl dl
cmovge eax, edi
xor dl, cl
cmovne eax, esi
jmp 0x420640
vmovsd xmm0, qword [ebp + 0x1c]
mov eax, 0xf0935055
vmovsd qword [esp + 0x80], xmm0
jmp 0x420640
mov eax, dword [esp + 0x70]
mov ecx, 0xe85d7b91
nop word cs:[eax + eax]
cmp ecx, 0xe85d7b91
je 0x420935
cmp ecx, 0x23c09acd
jne 0x420920
jmp 0x420a73
mov ecx, 0x23c09acd
jmp 0x420920
mov dword [esp + 0x34], 0xffffffff
mov eax, 0x739b4e37
mov dword [esp + 0x30], 0xffffffff
jmp 0x420640
vmovsd xmm0, qword [ebp + 0x1c]
mov eax, 0xa904292d
vmovsd qword [esp + 0x78], xmm0
jmp 0x420640
lea ecx, [esp + 0xa0]
call section..text
mov edx, dword [0x4affe8]
mov ecx, dword [0x4affe4]
mov esi, 0x7d7afcc2
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, 0x16a3c9cf
cmovne edx, esi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, esi
cmp ecx, 0xa
cmovge eax, edx
jmp 0x420640
mov eax, 0xdf168958
nop word cs:[eax + eax]
cmp eax, 0xdf168958
je 0x4209e3
cmp eax, 0x2c428234
jne 0x4209d0
jmp 0x420a93
mov eax, 0x2c428234
jmp 0x4209d0
mov eax, dword [esp + 0x28]
lea ecx, [esp + 0xa0]
mov dword [esp + 4], 0
add eax, 0x32
mov dword [esp], eax
call fcn.004306a0
sub esp, 8
mov eax, 0x49dccdec
jmp 0x420640
mov eax, dword [ebp + 0x14]
mov dword [esp + 0x70], eax
mov eax, 0x5904b38f
jmp 0x420640
mov eax, dword [esp + 0x58]
mov esi, dword [esp + 0x34]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x30]
mov dword [esp], esi
mov dword [esp + 4], eax
call fcn.00435040
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x60], esi
jmp 0x420640
mov eax, 0x4370c734
jmp 0x420640
lea ecx, [esp + 0xa0]
call section..text
mov eax, 0xc1733cc8
jmp 0x420640
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x18]
mov eax, dword [eax + 0x1c]
mov dword [esp + 0x44], eax
mov dword [esp + 0x40], ecx
mov eax, 0x13e6c659
jmp 0x420640
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x24]
mov eax, dword [eax]
mov ecx, dword [esp + 0x38]
mov dword [esp + 8], 0
mov dword [esp + 0xc], eax
lea eax, [esp + 0x98]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00430b30
lea edi, [esp + 0xa0]
mov esi, eax
mov ecx, edi
call fcn.004277e0
mov ecx, edi
mov ebx, eax
mov dword [esp], 0
call fcn.00425d30
sub esp, 4
vmovsd xmm0, qword [ebp + 0x1c]
mov ecx, dword [esp + 0x60]
mov dword [esp + 8], esi
mov dword [esp + 4], ebx
mov dword [esp], eax
mov dword [esp + 0xc], ecx
vmovsd qword [esp + 0x10], xmm0
call fcn.00425030
vmovsd xmm0, qword [ebp + 0x1c]
mov dword [esp + 0x5c], eax
vmovsd qword [esp], xmm0
call fcn.00435a60
mov ecx, dword [0x4b0128]
mov byte [esp + 0x20], al
mov edi, 0xf1596f9a
mov ebx, 0x70f82c49
lea eax, [ecx + 1]
imul eax, ecx
mov ecx, dword [0x4b0124]
test al, 1
sete byte [esp + 0x22]
cmp ecx, 0xa
setge cl
setl byte [esp + 0x23]
mov edx, ecx
or cl, al
xor dl, al
not cl
mov eax, 0xead86c84
or cl, dl
test cl, 1
mov ecx, 0xf1596f9a
cmovne ecx, eax
mov eax, 0x6416136c
cmovne edi, eax
mov dword [esp + 0x6c], ecx
mov ecx, 0xa463c9d6
mov eax, 0x71fa4254
cmovne ecx, eax
mov dword [esp + 0x68], ecx
jmp 0x420b90
mov ebx, 0xae2cc3fc
nop dword [eax]
mov ecx, ebx
cmp ebx, 0x62c1d99
jle 0x420bd0
cmp ecx, 0x70f82c48
jg 0x420c00
mov ebx, edi
cmp ecx, 0x49ed23f7
je 0x420b90
cmp ecx, 0x6416136c
jne 0x420c88
mov eax, dword [esp + 0x3c]
mov ebx, dword [esp + 0x6c]
mov dword [esp + 0x64], eax
jmp 0x420b90
cmp ecx, 0xead86c83
jg 0x420c50
cmp ecx, 0xa463c9d6
je 0x420b88
mov ebx, ecx
cmp ecx, 0xae2cc3fc
jne 0x420b90
mov ebx, dword [esp + 0x68]
lea eax, [esp + 0xa0]
mov dword [esp + 0x3c], eax
jmp 0x420b90
cmp ecx, 0x71fa4254
je 0x420c74
mov ebx, ecx
cmp ecx, 0x70f82c49
jne 0x420b90
mov ch, byte [esp + 0x22]
movzx edx, byte [esp + 0x23]
mov esi, 0xae2cc3fc
mov ebx, 0xa463c9d6
mov eax, 0xae2cc3fc
mov cl, ch
xor cl, dl
test dl, dl
jne 0x420c3b
mov eax, 0xa463c9d6
test ch, ch
cmovne ebx, eax
test cl, cl
cmovne ebx, esi
jmp 0x420b90
cmp ecx, 0xead86c84
je 0x420c7e
mov ebx, ecx
cmp ecx, 0xf1596f9a
jne 0x420b90
mov eax, dword [esp + 0x3c]
mov ebx, 0x6416136c
jmp 0x420b90
mov ebx, 0x49ed23f7
jmp 0x420b90
mov ebx, 0x62c1d9a
jmp 0x420b90
mov ebx, ecx
cmp ecx, 0x62c1d9a
jne 0x420b90
mov eax, dword [esp + 0x64]
mov dword [esp + 0x24], eax
mov ecx, dword [esp + 0x24]
call fcn.0040ed30
mov ecx, dword [esp + 0x48]
mov edi, dword [ebp + 0x14]
mov dword [esp + 0x90], ecx
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x8c], ecx
mov ecx, dword [esp + 0x38]
vmovsd xmm0, qword [esp + 0x8c]
vmovsd qword [esp + 4], xmm0
mov dword [esp + 0x14], eax
movsx eax, byte [ebp + 0x18]
mov dword [esp + 0xc], edi
movzx edx, byte [esp + 0x20]
mov esi, dword [esp + 0x5c]
mov dword [esp + 0x10], eax
mov eax, dword [ebp + 8]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x18], esi
mov dword [esp], eax
call fcn.00431ea0
sub esp, 0x20
mov ebx, dword [esp + 0x50]
mov eax, 0xeeb4cf59
jmp 0x420640
mov eax, ecx
cmp ecx, 0x7d7afcc2
jne 0x420640
mov ecx, dword [esp + 0xb8]
xor ecx, ebp
call fcn.00438710
mov eax, dword [ebp + 8]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0x1c