Function at 0x423dc0
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.00429c30
movss xmm0, dword [esp + 0x48]
add esp, 0x10
comiss xmm0, dword [0x4d3a20]
jbe 0x423ed2
movsd xmm2, qword [0x4d3a18]
cvtps2pd xmm1, xmm0
comisd xmm2, xmm1
jbe 0x423ed2
cvtps2pd xmm0, xmm0
subsd xmm0, qword [0x4d3638]
cvtpd2ps xmm0, xmm0
call fcn.004239a0
cvtss2sd xmm0, xmm0
divsd xmm0, qword [0x4d3a10]
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 0x423ee4
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 0x423ef8
movaps xmm0, xmm3
cvtss2sd xmm4, xmm1
cvtps2pd xmm5, xmm0
comisd xmm4, xmm5
jbe 0x423f08
movaps xmm0, xmm1
xorps xmm4, xmm4
ucomiss xmm0, xmm4
lahf
test ah, 0x44
jnp 0x423f53
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 0x423f61
movaps xmm2, xmm4
movss dword [esp + 0x1c], xmm2
comiss xmm4, xmm3
jbe 0x423f6f
movaps xmm3, xmm4
movss dword [esp + 0x18], xmm3
comiss xmm4, xmm1
jbe 0x423f7d
movaps xmm1, xmm4
movss dword [esp + 0x14], xmm1
movsd xmm5, qword [0x4d35b0]
cvtss2sd xmm0, xmm2
comisd xmm5, xmm0
jbe 0x423fa7
cvtss2sd xmm0, xmm2
mulsd xmm0, qword [0x4d3628]
cvtpd2ps xmm0, xmm0
movss dword [esp + 0x1c], xmm0
jmp 0x423fd5
fld dword [esp + 0x1c]
fadd qword [0x4d35a0]
fmul qword [0x4d3620]
fld qword [0x4d3590]
call fcn.004b1f50
fstp dword [esp + 0x1c]
movss xmm3, dword [esp + 0x18]
xorps xmm4, xmm4
movss xmm1, dword [esp + 0x14]
movsd xmm2, qword [0x4d35b0]
cvtss2sd xmm0, xmm3
comisd xmm2, xmm0
jbe 0x423fff
cvtss2sd xmm0, xmm3
mulsd xmm0, qword [0x4d3628]
cvtsd2ss xmm0, xmm0
movss dword [esp + 0x18], xmm0
jmp 0x424027
fld dword [esp + 0x18]
fadd qword [0x4d35a0]
fmul qword [0x4d3620]
fld qword [0x4d3590]
call fcn.004b1f50
fstp dword [esp + 0x18]
xorps xmm4, xmm4
movss xmm1, dword [esp + 0x14]
movsd xmm2, qword [0x4d35b0]
cvtss2sd xmm0, xmm1
comisd xmm2, xmm0
jbe 0x424051
cvtss2sd xmm0, xmm1
mulsd xmm0, qword [0x4d3628]
cvtsd2ss xmm0, xmm0
movss dword [esp + 0x14], xmm0
jmp 0x424073
fld dword [esp + 0x14]
fadd qword [0x4d35a0]
fmul qword [0x4d3620]
fld qword [0x4d3590]
call fcn.004b1f50
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 0x42411e
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.00423b40
movss xmm0, dword [esp + 0x28]
cvtps2pd xmm1, xmm0
movsd xmm0, qword [0x4d3580]
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 0x4241d9
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.0049d50f
add esp, 4
mov dword [esp + 0x8c], eax
cmp eax, esi
je 0x424212
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.00472c80
mov eax, dword [esp + 0x98]
lea edi, [ebp + 0x110]
push eax
mov ecx, 0x46e
mov edx, edi
call fcn.00472f80
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.00472ce0
movss xmm1, dword [0x4d3618]
movss xmm3, dword [0x4d361c]
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 0x4242fe
movaps xmm1, xmm0
cvtss2sd xmm2, xmm0
cvtss2sd xmm4, xmm3
comisd xmm2, xmm4
jb 0x42430f
movaps xmm3, xmm0
add eax, 4
cmp eax, 0x11b8
jb 0x4242c0
movss dword [esp + 0x34], xmm3
movss dword [esp + 0x30], xmm1
jmp 0x42433c
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 0x424398
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 0x4243c6
movsd qword [esp + 0x38], xmm4
fld qword [esp + 0x38]
mov edi, dword [ebp + 0x11c]
fmul qword [0x4d3878]
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 0x4243fc
fadd qword [0x4d3588]
fmulp st(1)
call fcn.004b2870
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.00429b40
mov eax, dword [esp + 0x28]
or eax, 0xff000000
add esp, 8
cmp eax, 0x1000000
jb 0x42445f
push eax
lea eax, [ebp + 0x110]
push eax
lea edi, [esp + 0x84]
call fcn.004744f0
mov esi, ebx
cmp esi, 0x46e
jb 0x424330
mov esi, dword [ebp + 0x118]
mov edi, dword [ebp + 0x11c]
push 4
shr esi, 1
call fcn.0049d50f
xor ebx, ebx
add esp, 4
mov dword [esp + 0x58], eax
cmp eax, ebx
je 0x424495
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 0x4244d9
cmp edi, ebx
je 0x4244d9
lea esi, [esp + 0x58]
call fcn.00472e80
test eax, eax
je 0x4244dd
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x64], ebx
mov dword [esp + 0x60], ebx
jmp 0x4244dd
mov dword [esp + 0x68], ebx
lea eax, [ebp + 0x110]
push eax
lea eax, [esp + 0x90]
push eax
call fcn.0046e4d0
add esp, 8
lea esi, [esp + 0x58]
call fcn.00472be0
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.00472be0
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xa0
ret 4