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

Disassembly:
sub esp, 0xa0
fldz
push ebx
push ebp
mov ebp, dword [esp + 0xac]
movsd xmm0, qword [ebp + 0x138]
push esi
push edi
sub esp, 8
fst dword [esp + 4]
lea eax, [esp + 0x1c]
fstp dword [esp]
push eax
cvtpd2ps xmm0, xmm0
movss dword [esp + 0x44], xmm0
fld dword [esp + 0x44]
push ecx
lea eax, [esp + 0x28]
fstp dword [esp]
lea ecx, [esp + 0x2c]
mov byte [ebp + 0x134], 0
call fcn.00429f00
movss xmm0, dword [esp + 0x48]
add esp, 0x10
comiss xmm0, dword [0x4d3a50]
jbe 0x4241a2
movsd xmm2, qword [0x4d3a48]
cvtps2pd xmm1, xmm0
comisd xmm2, xmm1
jbe 0x4241a2
cvtps2pd xmm0, xmm0
subsd xmm0, qword [0x4d3668]
cvtpd2ps xmm0, xmm0
call fcn.00423c70
cvtss2sd xmm0, xmm0
divsd xmm0, qword [0x4d3a40]
cvtsd2ss xmm1, xmm0
movss xmm0, dword [esp + 0x1c]
cvtss2sd xmm3, xmm1
cvtps2pd xmm2, xmm0
movsd xmm0, qword [0x4bab50]
subsd xmm2, xmm0
mulsd xmm2, xmm3
movss xmm3, dword [esp + 0x18]
cvtps2pd xmm3, xmm3
cvtss2sd xmm4, xmm1
subsd xmm3, xmm0
mulsd xmm3, xmm4
movss xmm4, dword [esp + 0x14]
cvtps2pd xmm4, xmm4
subsd xmm4, xmm0
cvtss2sd xmm1, xmm1
mulsd xmm4, xmm1
addsd xmm2, xmm0
addsd xmm3, xmm0
addsd xmm4, xmm0
cvtsd2ss xmm2, xmm2
cvtpd2ps xmm3, xmm3
cvtpd2ps xmm1, xmm4
movss dword [esp + 0x1c], xmm2
movss dword [esp + 0x18], xmm3
movss dword [esp + 0x14], xmm1
jmp 0x4241b4
movss xmm1, dword [esp + 0x14]
movss xmm3, dword [esp + 0x18]
movss xmm2, dword [esp + 0x1c]
cvtss2sd xmm4, xmm3
cvtss2sd xmm5, xmm2
comisd xmm4, xmm5
movaps xmm0, xmm2
jbe 0x4241c8
movaps xmm0, xmm3
cvtss2sd xmm4, xmm1
cvtps2pd xmm5, xmm0
comisd xmm4, xmm5
jbe 0x4241d8
movaps xmm0, xmm1
xorps xmm4, xmm4
ucomiss xmm0, xmm4
lahf
test ah, 0x44
jnp 0x424223
cvtps2pd xmm5, xmm0
cvtss2sd xmm2, xmm2
divsd xmm2, xmm5
cvtps2pd xmm5, xmm0
cvtss2sd xmm3, xmm3
cvtss2sd xmm1, xmm1
cvtps2pd xmm0, xmm0
divsd xmm3, xmm5
divsd xmm1, xmm0
cvtsd2ss xmm2, xmm2
cvtpd2ps xmm3, xmm3
cvtsd2ss xmm1, xmm1
movss dword [esp + 0x1c], xmm2
movss dword [esp + 0x18], xmm3
movss dword [esp + 0x14], xmm1
comiss xmm4, xmm2
jbe 0x424231
movaps xmm2, xmm4
movss dword [esp + 0x1c], xmm2
comiss xmm4, xmm3
jbe 0x42423f
movaps xmm3, xmm4
movss dword [esp + 0x18], xmm3
comiss xmm4, xmm1
jbe 0x42424d
movaps xmm1, xmm4
movss dword [esp + 0x14], xmm1
movsd xmm5, qword [0x4d35e0]
cvtss2sd xmm0, xmm2
comisd xmm5, xmm0
jbe 0x424277
cvtss2sd xmm0, xmm2
mulsd xmm0, qword [0x4d3658]
cvtpd2ps xmm0, xmm0
movss dword [esp + 0x1c], xmm0
jmp 0x4242a5
fld dword [esp + 0x1c]
fadd qword [0x4d35d0]
fmul qword [0x4d3650]
fld qword [0x4d35c0]
call fcn.004b23e0
fstp dword [esp + 0x1c]
movss xmm3, dword [esp + 0x18]
xorps xmm4, xmm4
movss xmm1, dword [esp + 0x14]
movsd xmm2, qword [0x4d35e0]
cvtss2sd xmm0, xmm3
comisd xmm2, xmm0
jbe 0x4242cf
cvtss2sd xmm0, xmm3
mulsd xmm0, qword [0x4d3658]
cvtsd2ss xmm0, xmm0
movss dword [esp + 0x18], xmm0
jmp 0x4242f7
fld dword [esp + 0x18]
fadd qword [0x4d35d0]
fmul qword [0x4d3650]
fld qword [0x4d35c0]
call fcn.004b23e0
fstp dword [esp + 0x18]
xorps xmm4, xmm4
movss xmm1, dword [esp + 0x14]
movsd xmm2, qword [0x4d35e0]
cvtss2sd xmm0, xmm1
comisd xmm2, xmm0
jbe 0x424321
cvtss2sd xmm0, xmm1
mulsd xmm0, qword [0x4d3658]
cvtsd2ss xmm0, xmm0
movss dword [esp + 0x14], xmm0
jmp 0x424343
fld dword [esp + 0x14]
fadd qword [0x4d35d0]
fmul qword [0x4d3650]
fld qword [0x4d35c0]
call fcn.004b23e0
fstp dword [esp + 0x14]
xorps xmm4, xmm4
movss xmm1, dword [ebp + 0x140]
movss xmm0, dword [ebp + 0x144]
movss xmm2, dword [ebp + 0x148]
cvtps2pd xmm1, xmm1
cvtps2pd xmm0, xmm0
movapd xmm3, xmm1
mulsd xmm3, xmm1
movapd xmm1, xmm0
mulsd xmm1, xmm0
cvtps2pd xmm2, xmm2
movapd xmm0, xmm2
mulsd xmm0, xmm2
addsd xmm3, xmm1
addsd xmm3, xmm0
cvtsd2ss xmm0, xmm3
ucomiss xmm0, xmm4
lahf
test ah, 0x44
jnp 0x4243ee
cvtss2sd xmm1, dword [esp + 0x1c]
movss xmm0, dword [ebp + 0x140]
cvtps2pd xmm0, xmm0
mulsd xmm0, xmm1
cvtss2sd xmm1, dword [esp + 0x18]
cvtpd2ps xmm0, xmm0
movss dword [esp + 0x1c], xmm0
movss xmm0, dword [ebp + 0x144]
cvtps2pd xmm0, xmm0
mulsd xmm0, xmm1
cvtss2sd xmm1, dword [esp + 0x14]
cvtpd2ps xmm0, xmm0
movss dword [esp + 0x18], xmm0
movss xmm0, dword [ebp + 0x148]
cvtps2pd xmm0, xmm0
mulsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [esp + 0x14], xmm0
mov ecx, dword [ebp + 0x148]
movq xmm0, qword [ebp + 0x140]
lea esi, [esp + 0x28]
movq qword [esp + 0x28], xmm0
mov dword [esp + 0x30], ecx
call fcn.00423e10
movss xmm0, dword [esp + 0x28]
cvtps2pd xmm1, xmm0
movsd xmm0, qword [0x4d35b0]
mulsd xmm1, xmm0
cvtsd2ss xmm1, xmm1
movss dword [esp + 0x20], xmm1
fld dword [esp + 0x20]
fistp dword [esp + 0x24]
movss xmm1, dword [esp + 0x2c]
mov eax, dword [esp + 0x24]
cvtps2pd xmm1, xmm1
mulsd xmm1, xmm0
cvtpd2ps xmm1, xmm1
movss dword [esp + 0x20], xmm1
fld dword [esp + 0x20]
fistp dword [esp + 0x38]
movss xmm1, dword [esp + 0x30]
mov edx, dword [esp + 0x38]
cvtps2pd xmm1, xmm1
mulsd xmm1, xmm0
cvtpd2ps xmm0, xmm1
movss dword [esp + 0x44], xmm0
fld dword [esp + 0x44]
fistp dword [esp + 0x20]
mov ecx, dword [ebp + 0x100]
or eax, 0xffffff00
shl eax, 8
or eax, edx
shl eax, 8
or eax, dword [esp + 0x20]
mov ebx, 2
cmp dword [ecx + 0x170], eax
je 0x4244a9
or dword [ecx + 8], ebx
mov dword [ecx + 0x170], eax
mov ecx, dword [ebp + 0x100]
mov edx, dword [ecx]
mov edx, dword [edx + 0x24]
xor esi, esi
push esi
lea eax, [esp + 0x4c]
push eax
call edx
mov edi, dword [ebp + 0x104]
or dword [edi + 8], ebx
push 4
call fcn.0049d99f
add esp, 4
mov dword [esp + 0x8c], eax
cmp eax, esi
je 0x4244e2
mov dword [eax], 1
add edi, 0x2c8
lea eax, [esp + 0x8c]
mov dword [esp + 0x90], esi
mov dword [esp + 0x94], esi
mov dword [esp + 0x98], esi
mov byte [esp + 0xa0], 0
mov dword [esp + 0x9c], esi
mov dword [esp + 0xac], esi
call fcn.004730e0
mov eax, dword [esp + 0x98]
lea edi, [ebp + 0x110]
push eax
mov ecx, 0x46e
mov edx, edi
call fcn.004733e0
or eax, 0xffffffff
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], eax
movq xmm0, qword [esp + 0x28]
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
sub esp, 0x10
mov eax, esp
movq qword [eax], xmm0
movq xmm0, qword [esp + 0x40]
movq qword [eax + 8], xmm0
call fcn.00473140
movss xmm1, dword [0x4d3648]
movss xmm3, dword [0x4d364c]
movss dword [esp + 0x30], xmm1
movss dword [esp + 0x34], xmm3
xor eax, eax
lea esp, [esp]
movss xmm0, dword [eax + 0x4c6510]
movss xmm2, dword [eax + 0x4c41a0]
cvtps2pd xmm2, xmm2
cvtps2pd xmm0, xmm0
addsd xmm0, xmm2
movss xmm2, dword [eax + 0x4c76c8]
cvtps2pd xmm2, xmm2
addsd xmm0, xmm2
cvtpd2ps xmm0, xmm0
cvtss2sd xmm2, xmm0
cvtss2sd xmm4, xmm1
comisd xmm4, xmm2
jb 0x4245ce
movaps xmm1, xmm0
cvtss2sd xmm2, xmm0
cvtss2sd xmm4, xmm3
comisd xmm2, xmm4
jb 0x4245df
movaps xmm3, xmm0
add eax, 4
cmp eax, 0x11b8
jb 0x424590
movss dword [esp + 0x34], xmm3
movss dword [esp + 0x30], xmm1
jmp 0x42460c
movss xmm1, dword [esp + 0x30]
movss xmm3, dword [esp + 0x34]
cvtss2sd xmm2, dword [esp + 0x1c]
movss xmm0, dword [esi*4 + 0x4c41a0]
cvtss2sd xmm5, dword [esp + 0x18]
xorps xmm4, xmm4
cvtps2pd xmm0, xmm0
mulsd xmm0, xmm2
movss xmm2, dword [esi*4 + 0x4c6510]
cvtps2pd xmm2, xmm2
mulsd xmm2, xmm5
cvtss2sd xmm5, dword [esp + 0x14]
addsd xmm0, xmm2
movss xmm2, dword [esi*4 + 0x4c76c8]
cvtps2pd xmm2, xmm2
mulsd xmm2, xmm5
addsd xmm0, xmm2
xorps xmm2, xmm2
comiss xmm2, xmm1
cvtpd2ps xmm0, xmm0
jbe 0x424668
movaps xmm1, xmm2
cvtss2sd xmm2, xmm1
cvtss2sd xmm0, xmm0
subsd xmm0, xmm2
cvtss2sd xmm2, xmm3
cvtss2sd xmm1, xmm1
subsd xmm2, xmm1
divsd xmm0, xmm2
comisd xmm4, xmm0
movsd qword [esp + 0x38], xmm0
jbe 0x424696
movsd qword [esp + 0x38], xmm4
fld qword [esp + 0x38]
mov edi, dword [ebp + 0x11c]
fmul qword [0x4d38a8]
mov ecx, edi
mov dword [esp + 0x7c], esi
fstp dword [esp + 0x44]
fld dword [esp + 0x44]
mov dword [esp + 0x44], ecx
fsubr qword [0x4bab50]
fild dword [esp + 0x44]
test ecx, ecx
jge 0x4246cc
fadd qword [0x4d35b8]
fmulp st(1)
call fcn.004b2d00
fld dword [esi*4 + 0x4c5358]
lea edx, [esp + 0x20]
push edx
push ecx
lea ebx, [esi + 1]
fstp dword [esp]
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x90], edi
mov dword [esp + 0x28], 0
call fcn.00429e10
mov eax, dword [esp + 0x28]
or eax, 0xff000000
add esp, 8
cmp eax, 0x1000000
jb 0x42472f
push eax
lea eax, [ebp + 0x110]
push eax
lea edi, [esp + 0x84]
call fcn.00474950
mov esi, ebx
cmp esi, 0x46e
jb 0x424600
mov esi, dword [ebp + 0x118]
mov edi, dword [ebp + 0x11c]
push 4
shr esi, 1
call fcn.0049d99f
xor ebx, ebx
add esp, 4
mov dword [esp + 0x58], eax
cmp eax, ebx
je 0x424765
mov dword [eax], 1
mov dword [esp + 0x68], ebx
mov byte [esp + 0x6c], 1
mov dword [esp + 0x74], ebx
mov dword [esp + 0x70], ebx
mov dword [esp + 0x5c], esi
mov dword [esp + 0x60], esi
mov dword [esp + 0x64], edi
mov dword [esp + 0x78], ebx
cmp esi, ebx
je 0x4247a9
cmp edi, ebx
je 0x4247a9
lea esi, [esp + 0x58]
call fcn.004732e0
test eax, eax
je 0x4247ad
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x64], ebx
mov dword [esp + 0x60], ebx
jmp 0x4247ad
mov dword [esp + 0x68], ebx
lea eax, [ebp + 0x110]
push eax
lea eax, [esp + 0x90]
push eax
call fcn.0046e930
add esp, 8
lea esi, [esp + 0x58]
call fcn.00473040
fldz
mov edx, dword [ebp]
push ecx
fstp dword [esp]
or eax, 0xffffffff
push 1
push 1
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], eax
movq xmm0, qword [esp + 0x34]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], eax
sub esp, 0x10
mov eax, esp
movq qword [eax], xmm0
movq xmm0, qword [esp + 0x4c]
movq qword [eax + 8], xmm0
mov eax, dword [edx + 0x4c]
mov ecx, ebp
call eax
lea esi, [esp + 0x8c]
mov edi, eax
call fcn.00473040
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xa0
ret 4