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

Disassembly:
sub esp, 0x504
mov eax, dword [0x4e2204]
xor eax, esp
mov dword [esp + 0x4fc], eax
movsd xmm0, qword [esp + 0x510]
comisd xmm0, xmmword [0x4d34b0]
push ebx
push ebp
mov ebp, dword [esp + 0x510]
push esi
push edi
jbe 0x40feda
mov byte [esp + 0x51c], 1
mov eax, ebp
call fcn.0040f740
call fcn.0044aae0
fst qword [esp + 0x70]
xor edi, edi
fstp qword [ebp + 0x308]
cmp byte [esp + 0x51c], 0
mov dword [esp + 0x20], edi
je 0x40ff1d
cmp byte [ebp + 0x289], 0
je 0x40ff13
movsd xmm0, qword [0x4d34f8]
jmp 0x40ff38
movsd xmm0, qword [0x4c88e8]
jmp 0x40ff38
cmp byte [ebp + 0x289], 0
je 0x40ff30
movsd xmm0, qword [0x4c3fb8]
jmp 0x40ff38
movsd xmm0, qword [0x4c88d8]
mov eax, dword [ebp + 0xf08]
xor bl, bl
movsd qword [esp + 0x38], xmm0
cmp byte [eax + 0xe4a], bl
je 0x40ff5f
xorps xmm0, xmm0
mov byte [eax + 0xe4a], bl
movsd qword [esp + 0x38], xmm0
mov bl, 1
cmp byte [0x4e3d99], 0
jne 0x40ff95
mov esi, dword [ebp + 0xf08]
call fcn.00447280
cmp eax, 0x3fab
jbe 0x40ff95
lea eax, [esi + 0xe70]
push eax
call fcn.0045a7c0
cmp byte [esi + 0xf18], 0
je 0x40ff95
inc dword [esi + 0xdac]
test bl, bl
jne 0x40ffd8
mov esi, dword [ebp + 0xf08]
add esi, 0xda8
call fcn.00404d90
cmp dword [esi + 4], edi
je 0x40ffd8
cmp byte [esp + 0x51c], bl
jne 0x40ffd8
cmp byte [ebp + 0x289], bl
je 0x40ffca
movsd xmm0, qword [0x4d3508]
jmp 0x40ffd2
movsd xmm0, qword [0x4c88e0]
movsd qword [esp + 0x38], xmm0
mov esi, ebp
call fcn.0040f090
push edi
push edi
lea esi, [esp + 0x98]
call fcn.0042ade0
fld qword [esp + 0x528]
fmul qword [0x4d36b0]
add esp, 8
fild qword [esp + 0x90]
faddp st(1)
call fcn.004b2d36
mov dword [esp + 0x94], edx
mov edx, esi
push edx
mov dword [esp + 0x94], eax
lea eax, [esp + 0x28]
push eax
lea edx, [esp + 0x110]
lea ecx, [ebp + 0xac0]
push edx
mov esi, ebp
call fcn.0040f610
push edi
push edi
lea esi, [esp + 0x50]
movsd qword [esp + 0x90], xmm0
call fcn.0042ade0
movss xmm0, dword [ebp + 0x144]
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
movss xmm0, dword [ebp + 0x140]
sub esp, 8
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
lea eax, [esp + 0x38]
push eax
lea ecx, [esp + 0x94]
push ecx
lea edx, [esp + 0x48]
push edx
call fcn.0042b260
add esp, 0x1c
test eax, eax
jne 0x41016a
push 0xc
push str.Solar_time:
lea eax, [esp + 0x1c]
push eax
mov dword [esp + 0x20], edi
call fcn.0043c500
fld qword [esp + 0x30]
fadd qword [esp + 0x80]
sub esp, 8
fmul qword [0x4c88e8]
fsub qword [0x4d3cb0]
fsubr qword [esp + 0x30]
fstp qword [esp]
call fcn.004b2db0
fnstcw word [esp + 0x22]
movzx eax, word [esp + 0x22]
or eax, 0xc00
mov dword [esp + 0x24], eax
add esp, 8
fldcw word [esp + 0x1c]
lea eax, [esp + 0x1c]
fistp qword [esp + 0x30]
mov ecx, dword [esp + 0x30]
fldcw word [esp + 0x1a]
call fcn.0040c240
mov eax, dword [eax]
cmp eax, edi
je 0x410103
add eax, 4
jmp 0x410105
xor eax, eax
push eax
lea eax, [esp + 0x18]
call fcn.0043c300
lea ecx, [esp + 0x1c]
call fcn.00401420
push 0x4cc068
lea eax, [esp + 0x18]
call fcn.0043c300
lea ecx, [esp + 0x108]
push ecx
lea eax, [esp + 0x18]
call fcn.0043c300
mov eax, dword [esp + 0x14]
cmp eax, edi
je 0x410146
add eax, 4
cmp eax, edi
jne 0x41014b
mov eax, 0x4cb498
push eax
lea edx, [esp + 0x10c]
push 0x400
push edx
call fcn.0049d5ad
add esp, 0xc
lea ecx, [esp + 0x14]
call fcn.00401420
fld dword [esp + 0x24]
push ecx
fstp dword [esp]
push ebp
call fcn.0040c620
lea eax, [esp + 0x108]
mov dword [esp + 0x14], edi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x410186
sub eax, edx
push eax
lea eax, [esp + 0x10c]
push eax
lea ecx, [esp + 0x1c]
push ecx
call fcn.0043c500
lea edx, [esp + 0x14]
push edx
lea edi, [esp + 0x24]
call fcn.00401250
mov esi, dword [esp + 0x14]
test esi, esi
je 0x4101dd
push esi
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
and eax, 0xff
cmp eax, 0x80
jl 0x4101d4
push esi
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
jmp 0x4101dd
test eax, eax
jne 0x4101dd
call fcn.0045f5a0
movsd xmm0, qword [esp + 0x520]
ucomisd xmm0, qword [0x4d34b0]
lahf
test ah, 0x44
jp 0x41020c
movss xmm0, dword [esp + 0x24]
sub esp, 8
cvtps2pd xmm0, xmm0
mov edi, ebp
movsd qword [esp], xmm0
call fcn.0040f870
movss xmm0, dword [0x4bb568]
movss xmm1, dword [ebp + 0xadc]
movss dword [esp + 0x44], xmm0
movss dword [esp + 0x14], xmm0
xorps xmm0, xmm0
ucomiss xmm1, xmm0
lahf
test ah, 0x44
jnp 0x4102a4
movss xmm1, dword [ebp + 0xae0]
ucomiss xmm1, xmm0
lahf
test ah, 0x44
jnp 0x4102a4
movss xmm1, dword [ebp + 0xae4]
ucomiss xmm1, xmm0
lahf
test ah, 0x44
jnp 0x4102a4
lea edi, [esp + 0x90]
lea eax, [ebp + 0xac0]
mov esi, ebp
call fcn.0040f580
movsd xmm1, qword [0x4c8910]
cvtsd2ss xmm0, xmm0
cvtss2sd xmm2, xmm0
comisd xmm1, xmm2
jbe 0x410286
movapd xmm0, xmm1
jmp 0x41029a
movss xmm1, dword [0x4bb568]
comiss xmm0, xmm1
jbe 0x410296
movaps xmm0, xmm1
cvtss2sd xmm0, xmm0
cvtsd2ss xmm0, xmm0
movss dword [esp + 0x44], xmm0
lea edi, [ebp + 0xac0]
lea esi, [esp + 0xa8]
call fcn.0041cd80
xorps xmm0, xmm0
mov eax, esi
lea edi, [esp + 0x90]
mov esi, ebp
movss dword [esp + 0xc4], xmm0
call fcn.0040f580
cmp byte [ebp + 0xf14], 0
movsd qword [esp + 0x80], xmm0
je 0x4102f0
movss xmm0, dword [esp + 0x44]
movss dword [esp + 0x14], xmm0
movsd xmm0, qword [ebp + 0x2c0]
comisd xmm0, xmmword [0x4d34b0]
jbe 0x410309
mov eax, 1
jmp 0x41030b
xor eax, eax
movsd xmm0, qword [ebp + 0x1b0]
lea esi, [ebp + 0x1a8]
movsd qword [esp + 0x50], xmm0
cvtsi2sd xmm0, eax
movsd qword [esp + 0x58], xmm0
call fcn.0044aae0
fst qword [esp + 0x60]
fadd qword [esp + 0x38]
lea eax, [esp + 0x48]
push eax
push esi
fstp qword [esp + 0x70]
mov dword [esp + 0x50], 0x401ae0
call fcn.004463f0
movsd xmm0, qword [ebp + 0x2b0]
comisd xmm0, xmmword [0x4d34b0]
ja 0x410378
cmp byte [ebp + 0x28d], 0
jne 0x410378
mov ecx, dword [ebp + 0xf08]
cmp byte [ecx + 0x29], 0
jne 0x410378
xor bl, bl
jmp 0x41037a
mov bl, 1
movsd xmm0, qword [ebp + 0x250]
movsx edx, bl
lea edi, [ebp + 0x248]
movsd qword [esp + 0x50], xmm0
cvtsi2sd xmm0, edx
movsd qword [esp + 0x30], xmm0
movsd qword [esp + 0x58], xmm0
call fcn.0044aae0
fst qword [esp + 0x60]
fadd qword [0x4d36b0]
lea eax, [esp + 0x48]
push eax
push edi
fstp qword [esp + 0x70]
mov dword [esp + 0x50], 0x401ae0
call fcn.004463f0
mov ecx, dword [ebp + 0xf08]
cmp byte [ecx + 0x29], 0
je 0x4103f5
xorps xmm0, xmm0
mov byte [edi], 1
movsd qword [edi + 8], xmm0
mov esi, dword [edi + 0x10]
test esi, esi
je 0x4103ea
call fcn.0045f5a0
and dword [edi + 0x14], 1
mov dword [edi + 0x10], 0
movsd xmm0, qword [ebp + 0x190]
ucomisd xmm0, qword [esp + 0x30]
lahf
test ah, 0x44
jnp 0x4104ec
cmp byte [ebp + 0x289], 0
je 0x410420
movsd xmm0, qword [0x4d3508]
jmp 0x410428
movsd xmm0, qword [0x4c88e0]
cvtpd2ps xmm0, xmm0
movss dword [esp + 0x24], xmm0
test bl, bl
jne 0x4104a8
call fcn.0044aae0
sub esp, 8
mov esi, edi
fstp qword [esp]
call fcn.00446280
mov al, byte [ebp + 0x289]
movsd xmm2, qword [0x4c88e0]
test al, al
je 0x410464
movsd xmm3, qword [0x4d3508]
jmp 0x410468
movapd xmm3, xmm2
test al, al
je 0x410476
movsd xmm1, qword [0x4c3fb8]
jmp 0x41047e
movsd xmm1, qword [0x4c88d8]
test al, al
je 0x41048a
movsd xmm2, qword [0x4d3508]
mulsd xmm1, qword [0x4c3fb8]
subsd xmm1, xmm2
mulsd xmm1, xmm0
addsd xmm1, xmm3
cvtpd2ps xmm0, xmm1
movss dword [esp + 0x24], xmm0
movsd xmm0, qword [ebp + 0x190]
lea esi, [ebp + 0x188]
movsd qword [esp + 0x50], xmm0
movsd xmm0, qword [esp + 0x30]
movsd qword [esp + 0x58], xmm0
call fcn.0044aae0
fst qword [esp + 0x60]
fadd dword [esp + 0x24]
lea edx, [esp + 0x48]
push edx
push esi
fstp qword [esp + 0x70]
mov dword [esp + 0x50], 0x401ae0
call fcn.004463f0
cmp byte [ebp + 0x289], 0
je 0x4104ff
movsd xmm0, qword [0x4d3508]
jmp 0x410507
movsd xmm0, qword [0x4c88e0]
movsx eax, byte [ebp + 0x28a]
movsd qword [esp + 0x30], xmm0
movsd xmm0, qword [ebp + 0x1d0]
lea esi, [ebp + 0x1c8]
movsd qword [esp + 0x50], xmm0
cvtsi2sd xmm0, eax
movsd qword [esp + 0x58], xmm0
call fcn.0044aae0
fst qword [esp + 0x60]
fadd qword [esp + 0x30]
lea ecx, [esp + 0x48]
push ecx
mov edi, 0x401ba0
push esi
fstp qword [esp + 0x70]
mov dword [esp + 0x50], edi
call fcn.004463f0
cmp byte [ebp + 0x289], 0
je 0x41056a
movsd xmm0, qword [0x4d3508]
jmp 0x410572
movsd xmm0, qword [0x4c88e0]
movsx edx, byte [ebp + 0x28b]
movsd qword [esp + 0x30], xmm0
movsd xmm0, qword [ebp + 0x1f0]
lea esi, [ebp + 0x1e8]
movsd qword [esp + 0x50], xmm0
cvtsi2sd xmm0, edx
movsd qword [esp + 0x58], xmm0
call fcn.0044aae0
fst qword [esp + 0x60]
fadd qword [esp + 0x30]
lea eax, [esp + 0x48]
push eax
push esi
fstp qword [esp + 0x70]
mov dword [esp + 0x50], edi
call fcn.004463f0
lea ecx, [ebp + 0xbd4]
call fcn.00409b70
lea ecx, [ebp + 0xac0]
mov esi, eax
call fcn.00409b70
cmp eax, esi
je 0x410681
mov eax, dword [ebp + 0xbd8]
cmp dword [ebp + 0xac4], eax
ja 0x4105f2
inc eax
mov dword [ebp + 0xac4], eax
mov ecx, dword [ebp + 0xac4]
fild dword [ebp + 0xac4]
test ecx, ecx
jge 0x410608
fadd qword [0x4d35b8]
fst qword [esp + 0x28]
fld qword [ebp + 0x210]
fucompi st(1)
fstp st(0)
lahf
test ah, 0x44
jnp 0x410681
cmp byte [ebp + 0x289], 0
je 0x41062f
movsd xmm0, qword [0x4d3508]
jmp 0x410637
movsd xmm0, qword [0x4c88e0]
movsd qword [esp + 0x30], xmm0
movsd xmm0, qword [ebp + 0x210]
lea esi, [ebp + 0x208]
movsd qword [esp + 0x50], xmm0
movsd xmm0, qword [esp + 0x28]
movsd qword [esp + 0x58], xmm0
call fcn.0044aae0
fst qword [esp + 0x60]
fadd qword [esp + 0x30]
lea edx, [esp + 0x48]
push edx
push esi
fstp qword [esp + 0x70]
mov dword [esp + 0x50], 0x401ae0
call fcn.004463f0
movsd xmm0, qword [ebp + 0x2b0]
ucomisd xmm0, qword [0x4d34b0]
lahf
test ah, 0x44
jp 0x4106a0
cmp byte [ebp + 0xd14], 0
jne 0x4106d5
cmp byte [ebp + 0x104], 0
jne 0x4106d5
cvtsd2ss xmm0, qword [esp + 0x88]
movss dword [esp + 0x1c], xmm0
fld dword [esp + 0x1c]
fistp dword [esp + 0x24]
fld qword [esp + 0x38]
mov eax, dword [esp + 0x24]
sub esp, 8
mov ecx, ebp
fstp qword [esp]
call fcn.0040c050
fld qword [esp + 0x520]
sub esp, 8
lea eax, [esp + 0x22]
fstp qword [esp]
push eax
mov eax, ebp
mov byte [esp + 0x26], 0
call fcn.0040ee70
fld qword [esp + 0x70]
sub esp, 8
lea esi, [ebp + 0x168]
fstp qword [esp]
call fcn.00446280
movapd xmm1, xmm0
movsd xmm0, qword [0x4d3520]
divsd xmm0, xmm1
movsd xmm1, qword [0x4c8920]
comisd xmm1, xmm0
movsd qword [esp + 0x28], xmm0
ja 0x41073a
movsd xmm1, qword [0x4d3ac0]
comisd xmm0, xmm1
jbe 0x410740
movsd qword [esp + 0x28], xmm1
call fcn.0044aae0
sub esp, 8
lea esi, [ebp + 0x188]
fstp qword [esp]
call fcn.00446280
movsd qword [esp + 0x70], xmm0
call fcn.0044aae0
sub esp, 8
lea esi, [ebp + 0x1a8]
fstp qword [esp]
call fcn.00446280
xorps xmm3, xmm3
comisd xmm0, xmm3
movsd xmm1, qword [esp + 0x28]
jbe 0x4107a5
movsd xmm2, qword [0x4d3ca8]
comisd xmm2, xmm1
jbe 0x4107a5
subsd xmm2, xmm1
mulsd xmm2, xmm0
addsd xmm2, xmm1
movapd xmm1, xmm2
movsd qword [esp + 0x28], xmm1
movsd xmm0, qword [esp + 0x70]
comisd xmm0, xmm3
jbe 0x4107cf
movsd xmm2, qword [0x4d3668]
subsd xmm2, xmm1
mulsd xmm2, xmm0
addsd xmm2, xmm1
movapd xmm1, xmm2
movsd qword [esp + 0x28], xmm1
movsd xmm0, qword [0x4d3af8]
comisd xmm0, xmm1
jbe 0x41080d
movapd xmm2, xmm1
divsd xmm2, xmm0
cvtsd2ss xmm0, xmm2
cvtss2sd xmm2, dword [esp + 0x14]
cvtss2sd xmm0, xmm0
mulsd xmm0, qword [0x4c88d0]
addsd xmm0, qword [0x4d36c0]
mulsd xmm0, xmm2
cvtpd2ps xmm0, xmm0
jmp 0x410813
movss xmm0, dword [esp + 0x14]
movsd xmm4, qword [0x4d3480]
cvtss2sd xmm2, xmm0
movsd xmm0, qword [ebp + 0x2c8]
mulsd xmm0, xmm2
movsd xmm2, qword [ebp + 0x230]
movapd xmm3, xmm2
subsd xmm3, xmm0
andpd xmm3, xmm4
movsd xmm4, qword [0x4d38e8]
comisd xmm4, xmm3
jbe 0x410854
mov byte [ebp + 0xc90], 1
cmp byte [ebp + 0xc90], 0
je 0x4108ad
test dword [ebp + 0x23c], 0xfffffffe
je 0x4108a4
mov eax, dword [ebp + 0x23c]
mov edx, dword [ebp + 0x238]
shr eax, 1
subsd xmm0, xmm2
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*8 - 0x28]
movapd xmm2, xmm0
addsd xmm2, qword [ebp + 0x230]
movsd qword [ebp + 0x230], xmm2
movsd xmm2, qword [eax + 8]
subsd xmm2, xmm0
movsd qword [eax + 8], xmm2
mov byte [ebp + 0xc90], 0
jmp 0x41090e
cmp byte [ebp + 0x289], 0
je 0x4108c0
movsd xmm1, qword [0x4d34f8]
jmp 0x4108c8
movsd xmm1, qword [0x4c88e8]
movsd qword [esp + 0x30], xmm1
movsd xmm1, qword [ebp + 0x230]
lea esi, [ebp + 0x228]
movsd qword [esp + 0x50], xmm1
movsd qword [esp + 0x58], xmm0
call fcn.0044aae0
fst qword [esp + 0x60]
fadd qword [esp + 0x30]
lea eax, [esp + 0x48]
push eax
push esi
fstp qword [esp + 0x70]
mov dword [esp + 0x50], edi
call fcn.004463f0
movsd xmm1, qword [esp + 0x28]
cvtpd2ps xmm0, xmm1
movss dword [esp + 0x24], xmm0
fld dword [esp + 0x24]
fistp dword [esp + 0x1c]
lea ecx, [esp + 0x24]
push ecx
push ebp
call fcn.0040f9f0
mov eax, dword [esp + 0x24]
test eax, eax
je 0x41094b
add eax, 4
je 0x41094b
cmp byte [eax], 0
je 0x41094b
lea edx, [esp + 0x24]
push edx
lea edi, [esp + 0x24]
call fcn.00401250
mov eax, dword [esp + 0x1c]
push eax
push 0x4cbbe4
lea ecx, [esp + 0x1c]
mov dword [esp + 0x1c], 0
call fcn.00401480
add esp, 8
mov edx, str.flux_mainsliderlabel
call fcn.004546a0
mov esi, eax
mov ebx, 5
test esi, esi
je 0x4109a7
lea edi, [esi + 0x1d0]
lea eax, [esp + 0x14]
mov ecx, edi
call fcn.00401360
test al, al
jne 0x4109a7
lea ecx, [esp + 0x14]
push ecx
call fcn.00401250
mov byte [esi + 0x1ce], 1
mov dword [esi + 8], ebx
mov edx, str.flux_mainsliderlabel
call fcn.00401920
test eax, eax
je 0x4109c0
cmp dword [eax + 8], 0
je 0x4109c0
mov byte [esp + 0x1a], 1
mov edx, str.flux_hours
call fcn.004546a0
mov esi, eax
test esi, esi
je 0x4109f9
lea edi, [esi + 0x1d0]
lea eax, [esp + 0x20]
mov ecx, edi
call fcn.00401360
test al, al
jne 0x4109f9
lea edx, [esp + 0x20]
push edx
call fcn.00401250
mov byte [esi + 0x1ce], 1
mov dword [esi + 8], ebx
mov edx, str.flux_hours
call fcn.00401920
test eax, eax
je 0x410a12
cmp dword [eax + 8], 0
je 0x410a12
mov byte [esp + 0x1a], 1
mov edx, str.flux_previewlabel
call fcn.00401920
test eax, eax
je 0x410a2b
cmp dword [eax + 8], 0
je 0x410a2b
mov byte [esp + 0x1a], 1
cmp byte [ebp + 0x104], 0
jne 0x410d3c
movsd xmm0, qword [esp + 0x28]
movsd qword [ebp + 0x148], xmm0
call fcn.0044aae0
sub esp, 8
lea esi, [ebp + 0xc98]
fstp qword [esp]
call fcn.00446280
push ebp
lea ecx, [esp + 0x2c]
movsd qword [esp + 0x34], xmm0
call fcn.0041bc30
fld qword [esp + 0x88]
cvtss2sd xmm0, dword [esp + 0x44]
fstp dword [esp + 0x44]
fld dword [esp + 0x44]
push ecx
fstp dword [esp]
movsd qword [esp + 0x3c], xmm0
call fcn.0040d390
fild dword [ebp + 0xad0]
mov eax, dword [ebp + 0xad0]
cvtss2sd xmm0, xmm0
movsd qword [esp + 0x70], xmm0
test eax, eax
jge 0x410ab0
fadd dword [0x4d33b0]
push ecx
fstp dword [esp]
call fcn.0040d390
movsd xmm2, qword [0x4bab50]
cvtss2sd xmm1, xmm0
movsd xmm0, qword [esp + 0x70]
divsd xmm0, xmm1
comisd xmm0, xmm2
jbe 0x410ad9
movapd xmm0, xmm2
movapd xmm1, xmm0
mulsd xmm1, qword [esp + 0x38]
comisd xmm1, xmm2
movsd qword [esp + 0x38], xmm1
jbe 0x410af9
movapd xmm1, xmm2
movsd qword [esp + 0x38], xmm1
mulsd xmm0, qword [esp + 0x80]
xorps xmm3, xmm3
comisd xmm3, xmm0
jbe 0x410b16
movsd qword [esp + 0x80], xmm3
jmp 0x410b30
comisd xmm0, xmm2
jbe 0x410b27
movsd qword [esp + 0x80], xmm2
jmp 0x410b30
movsd qword [esp + 0x80], xmm0
mulsd xmm1, qword [esp + 0x30]
push 0
movsd qword [esp + 0x34], xmm1
call fcn.0049d8e4
movsd xmm0, qword [ebp + 0xc40]
add esp, 4
comisd xmm0, xmmword [0x4d3670]
mov dword [ebp + 0xb10], 0
jbe 0x410c36
sub eax, dword [ebp + 0xc50]
cdq
xor eax, edx
sub eax, edx
cmp eax, 0x258
jge 0x410c36
movsd xmm0, qword [ebp + 0xc30]
cvtpd2ps xmm0, xmm0
movss dword [esp + 0x28], xmm0
movsd xmm0, qword [ebp + 0xc38]
cvtpd2ps xmm0, xmm0
lea ecx, [esp + 0x70]
lea eax, [esp + 0x28]
movss dword [esp + 0x2c], xmm0
call fcn.00429d90
movss xmm0, dword [esp + 0x70]
cvtps2pd xmm1, xmm0
movsd xmm0, qword [0x4d35b0]
mulsd xmm1, xmm0
cvtsd2ss xmm1, xmm1
movss dword [esp + 0x28], xmm1
fld dword [esp + 0x28]
fistp dword [esp + 0x1c]
mov ecx, dword [esp + 0x1c]
movss xmm1, dword [esp + 0x74]
cvtps2pd xmm1, xmm1
shl ecx, 0x10
mulsd xmm1, xmm0
cvtpd2ps xmm1, xmm1
mov dword [ebp + 0xb10], ecx
movss dword [esp + 0x28], xmm1
fld dword [esp + 0x28]
fistp dword [esp + 0x1c]
mov edx, dword [esp + 0x1c]
movss xmm1, dword [esp + 0x78]
cvtps2pd xmm1, xmm1
shl edx, 8
or dword [ebp + 0xb10], edx
mulsd xmm1, xmm0
cvtpd2ps xmm0, xmm1
movss dword [esp + 0x28], xmm0
fld dword [esp + 0x28]
fistp dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
or dword [ebp + 0xb10], eax
lea ecx, [esp + 0x90]
push ecx
push ebp
call fcn.0040f370
movsd xmm1, qword [0x4d37b8]
movsd qword [esp + 0x28], xmm0
movsd xmm0, qword [ebp + 0xc40]
comisd xmm0, xmm1
jbe 0x410ce4
subsd xmm0, xmm1
divsd xmm0, qword [0x4c8920]
movapd xmm1, xmm0
movsd xmm0, qword [0x4bab50]
comisd xmm1, xmm0
jbe 0x410c86
movapd xmm1, xmm0
movsd xmm2, qword [esp + 0x88]
movsd xmm0, qword [ebp + 0xc48]
subsd xmm0, xmm2
mulsd xmm0, xmm1
movsd xmm1, qword [0x4d3668]
addsd xmm0, xmm2
comisd xmm0, xmm1
movsd qword [esp + 0x30], xmm0
jbe 0x410cbd
movsd qword [esp + 0x30], xmm1
fld qword [esp + 0x28]
mov esi, dword [ebp + 0xf08]
sub esp, 0x18
fstp qword [esp + 0x10]
fld qword [esp + 0x48]
fstp qword [esp + 8]
fld qword [esp + 0x50]
fstp qword [esp]
call fcn.00405760
jmp 0x410d3c
fld qword [esp + 0x28]
mov esi, dword [ebp + 0xf08]
sub esp, 0x18
fstp qword [esp + 0x10]
fld qword [esp + 0xa0]
fstp qword [esp + 8]
fld qword [esp + 0x48]
fstp qword [esp]
call fcn.00405760
mov eax, dword [ebp + 0xf08]
mov eax, dword [eax + 0xe4c]
test eax, eax
je 0x410d3c
cvtsd2ss xmm0, qword [esp + 0x80]
fld dword [esp + 0x44]
push 1
sub esp, 8
movss dword [esp + 4], xmm0
fstp dword [esp]
call fcn.00404550
cmp byte [esp + 0x1a], 0
je 0x410d90
fldz
mov edx, dword [ebp]
push ecx
fstp dword [esp]
or eax, 0xffffffff
push 1
push 1
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], eax
movq xmm0, qword [esp + 0x7c]
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], eax
sub esp, 0x10
mov eax, esp
movq qword [eax], xmm0
movq xmm0, qword [esp + 0x94]
movq qword [eax + 8], xmm0
mov eax, dword [edx + 0x4c]
mov ecx, ebp
call eax
mov esi, dword [esp + 0x14]
mov edi, dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test esi, esi
je 0x410dbf
push esi
call edi
and eax, 0xff
cmp eax, 0x80
jl 0x410db6
push esi
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
jmp 0x410dbf
test eax, eax
jne 0x410dbf
call fcn.0045f5a0
mov esi, dword [esp + 0x24]
test esi, esi
je 0x410de8
push esi
call edi
and eax, 0xff
cmp eax, 0x80
jl 0x410ddf
push esi
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
jmp 0x410de8
test eax, eax
jne 0x410de8
call fcn.0045f5a0
mov esi, dword [esp + 0xfc]
test esi, esi
je 0x410e14
push esi
call edi
and eax, 0xff
cmp eax, 0x80
jl 0x410e0b
push esi
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
jmp 0x410e14
test eax, eax
jne 0x410e14
call fcn.0045f5a0
mov eax, dword [esp + 0x20]
test eax, eax
je 0x410e43
push eax
mov esi, eax
call edi
and eax, 0xff
cmp eax, 0x80
jl 0x410e36
push esi
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
jmp 0x410e43
test eax, eax
jne 0x410e43
mov esi, dword [esp + 0x20]
call fcn.0045f5a0
mov ecx, dword [esp + 0x50c]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
xor eax, eax
call fcn.0049ceb0
add esp, 0x504
ret 0x10