Function at 0x422bc0
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x378
mov eax, dword [0x4b3008]
xor eax, ebp
mov dword [ebp - 8], eax
push ebx
mov ebx, dword [ebp + 8]
mov dword [ebp - 0x328], ebx
push esi
push edi
test ebx, ebx
je 0x424925
push 0x7c1d48
lea eax, [ebp - 0x10c]
mov dword [ebp - 0x364], 0
push str._sresult.ShopGPA.dat
push eax
call fcn.00404440
mov esi, dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fopen]
lea eax, [ebp - 0x10c]
add esp, 0xc
push 0x4a6fb8
push eax
call esi
add esp, 8
mov dword [ebp - 0x360], eax
test eax, eax
je 0x424925
push 0x4a7238
push eax
call fcn.00411e60
push 0x7c1d48
lea eax, [ebp - 0x20c]
mov dword [ebp - 0x33c], 0
push str._sresult.ShopAVO.dat
push eax
call fcn.00404440
add esp, 0x14
lea eax, [ebp - 0x20c]
push 0x4a6fb8
push eax
call esi
add esp, 8
mov dword [ebp - 0x318], eax
test eax, eax
je 0x424925
push 0x4a72e0
push eax
call fcn.00411e60
push 0x7c1d48
lea eax, [ebp - 0x30c]
mov dword [ebp - 0x338], 0
push str._sresult.ShopDust.dat
push eax
call fcn.00404440
add esp, 0x14
lea eax, [ebp - 0x30c]
push 0x4a6fb8
push eax
call esi
add esp, 8
mov dword [ebp - 0x350], eax
test eax, eax
je 0x424925
push 0x4a735c
push eax
call fcn.00411e60
mov eax, dword [ebx + 0x49a0]
lea esi, [ebx + 0x499c]
mov ecx, dword [esi]
xor edx, edx
sub eax, ecx
mov dword [ebp - 0x310], edx
sar eax, 2
add esp, 8
mov dword [ebp - 0x348], esi
test eax, eax
je 0x422f13
mov edx, dword [ecx + edx*4]
mov dword [ebp - 0x368], edx
mov ebx, dword [edx + 0x4868]
sub ebx, dword [edx + 0x4864]
sar ebx, 2
mov dword [ebp - 0x340], ebx
test ebx, ebx
je 0x422eee
mov eax, dword [edx + 0x4858]
mov ecx, eax
mov edi, dword [edx + 0x485c]
cmp ecx, edi
je 0x422d5e
nop dword [eax + eax]
mov esi, dword [ecx]
mov dword [ebp - 0x370], esi
cmp dword [esi + 0x4818], 1
mov esi, dword [ebp - 0x348]
je 0x422d70
add ecx, 4
cmp ecx, edi
jne 0x422d40
mov dword [ebp - 0x370], 0
cmp eax, edi
je 0x422d88
nop dword [eax]
mov ecx, dword [eax]
mov dword [ebp - 0x32c], ecx
cmp dword [ecx + 0x4818], 2
je 0x422d92
add eax, 4
cmp eax, edi
jne 0x422d70
mov dword [ebp - 0x32c], 0
test ebx, ebx
jle 0x422eee
nop word [eax + eax]
mov eax, dword [edx + 0x4868]
add eax, 0xfffffffc
mov ebx, dword [eax]
mov dword [edx + 0x4868], eax
mov eax, dword [esi + 4]
mov dword [ebp - 0x358], ebx
mov dword [ebp - 0x314], ebx
cmp eax, dword [esi + 8]
je 0x422dcd
mov dword [eax], ebx
add dword [esi + 4], 4
jmp 0x422ddc
lea ecx, [ebp - 0x314]
push ecx
push eax
mov ecx, esi
call fcn.00411bc0
mov eax, dword [ebx + 0x4858]
mov edx, dword [ebx + 0x485c]
cmp eax, edx
je 0x422e08
nop dword [eax]
mov ecx, dword [eax]
mov dword [ebp - 0x330], ecx
cmp dword [ecx + 0x4818], 1
je 0x422e10
add eax, 4
cmp eax, edx
jne 0x422df0
xor ecx, ecx
mov dword [ebp - 0x330], ecx
push dword [ebp - 0x370]
mov ebx, dword [ecx + 0x4960]
mov edi, dword [ecx + 0x4964]
mov esi, dword [ecx + 0x4968]
call fcn.00424940
mov eax, dword [ebp - 0x330]
mov edx, dword [ebp - 0x368]
mov dword [eax + 0x4960], ebx
mov dword [eax + 0x4964], edi
mov dword [eax + 0x4968], esi
mov eax, dword [edx + 0x485c]
sub eax, dword [edx + 0x4858]
sar eax, 2
cmp eax, 1
jbe 0x422edb
mov ecx, dword [ebp - 0x358]
mov eax, dword [ecx + 0x4858]
mov edx, dword [ecx + 0x485c]
cmp eax, edx
je 0x422e98
nop dword [eax]
mov ecx, dword [eax]
mov dword [ebp - 0x330], ecx
cmp dword [ecx + 0x4818], 2
je 0x422ea0
add eax, 4
cmp eax, edx
jne 0x422e80
xor ecx, ecx
mov dword [ebp - 0x330], ecx
push dword [ebp - 0x32c]
mov ebx, dword [ecx + 0x4960]
mov edi, dword [ecx + 0x4964]
mov esi, dword [ecx + 0x4968]
call fcn.00424940
mov eax, dword [ebp - 0x330]
mov edx, dword [ebp - 0x368]
mov dword [eax + 0x4960], ebx
mov dword [eax + 0x4964], edi
mov dword [eax + 0x4968], esi
sub dword [ebp - 0x340], 1
mov esi, dword [ebp - 0x348]
jne 0x422da0
mov eax, dword [esi + 4]
mov edx, dword [ebp - 0x310]
mov ecx, dword [esi]
inc edx
sub eax, ecx
mov dword [ebp - 0x310], edx
sar eax, 2
cmp edx, eax
jb 0x422d00
mov ebx, dword [ebp - 0x328]
mov eax, dword [ebx + 0x49ac]
lea edi, [ebx + 0x49a8]
mov ecx, dword [edi]
xor edx, edx
sub eax, ecx
mov dword [ebp - 0x314], edx
sar eax, 2
mov dword [ebp - 0x370], edi
test eax, eax
je 0x423153
nop dword [eax]
mov edx, dword [ecx + edx*4]
mov dword [ebp - 0x32c], edx
mov ebx, dword [edx + 0x4868]
sub ebx, dword [edx + 0x4864]
sar ebx, 2
mov dword [ebp - 0x330], ebx
test ebx, ebx
je 0x42312e
mov eax, dword [edx + 0x4858]
mov ecx, eax
mov esi, dword [edx + 0x485c]
cmp ecx, esi
je 0x422f9e
nop dword [eax + eax]
mov edi, dword [ecx]
mov dword [ebp - 0x310], edi
cmp dword [edi + 0x4818], 1
mov edi, dword [ebp - 0x370]
je 0x422fb0
add ecx, 4
cmp ecx, esi
jne 0x422f80
mov dword [ebp - 0x310], 0
cmp eax, esi
je 0x422fc8
nop dword [eax]
mov ecx, dword [eax]
mov dword [ebp - 0x368], ecx
cmp dword [ecx + 0x4818], 2
je 0x422fd2
add eax, 4
cmp eax, esi
jne 0x422fb0
mov dword [ebp - 0x368], 0
test ebx, ebx
jle 0x42312e
nop word [eax + eax]
mov eax, dword [edx + 0x4868]
add eax, 0xfffffffc
mov ebx, dword [eax]
mov dword [edx + 0x4868], eax
mov eax, dword [edi + 4]
mov dword [ebp - 0x320], ebx
mov dword [ebp - 0x358], ebx
cmp eax, dword [edi + 8]
je 0x42300d
mov dword [eax], ebx
add dword [edi + 4], 4
jmp 0x42301c
lea ecx, [ebp - 0x358]
push ecx
push eax
mov ecx, edi
call fcn.00411bc0
mov eax, dword [ebx + 0x4858]
mov edx, dword [ebx + 0x485c]
cmp eax, edx
je 0x423048
nop dword [eax]
mov ecx, dword [eax]
mov dword [ebp - 0x340], ecx
cmp dword [ecx + 0x4818], 1
je 0x423050
add eax, 4
cmp eax, edx
jne 0x423030
xor ecx, ecx
mov dword [ebp - 0x340], ecx
push dword [ebp - 0x310]
mov ebx, dword [ecx + 0x4960]
mov edi, dword [ecx + 0x4964]
mov esi, dword [ecx + 0x4968]
call fcn.00424940
mov eax, dword [ebp - 0x340]
mov edx, dword [ebp - 0x32c]
mov dword [eax + 0x4960], ebx
mov dword [eax + 0x4964], edi
mov dword [eax + 0x4968], esi
mov eax, dword [edx + 0x485c]
sub eax, dword [edx + 0x4858]
sar eax, 2
cmp eax, 1
jbe 0x42311b
mov ecx, dword [ebp - 0x320]
mov eax, dword [ecx + 0x4858]
mov edx, dword [ecx + 0x485c]
cmp eax, edx
je 0x4230d8
nop dword [eax]
mov ecx, dword [eax]
mov dword [ebp - 0x340], ecx
cmp dword [ecx + 0x4818], 2
je 0x4230e0
add eax, 4
cmp eax, edx
jne 0x4230c0
xor ecx, ecx
mov dword [ebp - 0x340], ecx
push dword [ebp - 0x368]
mov ebx, dword [ecx + 0x4960]
mov edi, dword [ecx + 0x4964]
mov esi, dword [ecx + 0x4968]
call fcn.00424940
mov eax, dword [ebp - 0x340]
mov edx, dword [ebp - 0x32c]
mov dword [eax + 0x4960], ebx
mov dword [eax + 0x4964], edi
mov dword [eax + 0x4968], esi
sub dword [ebp - 0x330], 1
mov edi, dword [ebp - 0x370]
jne 0x422fe0
mov eax, dword [edi + 4]
mov edx, dword [ebp - 0x314]
mov ecx, dword [edi]
inc edx
sub eax, ecx
mov dword [ebp - 0x314], edx
sar eax, 2
cmp edx, eax
jb 0x422f40
mov esi, dword [ebp - 0x348]
mov ecx, dword [esi + 4]
mov eax, dword [esi]
movsd xmm1, qword [0x4af568]
mov dword [ebp - 0x32c], ecx
mov dword [ebp - 0x310], eax
cmp eax, ecx
je 0x4236d7
nop dword [eax]
nop dword [eax + eax]
mov eax, dword [eax]
mov dword [ebp - 0x368], eax
mov ecx, dword [eax + 0x485c]
mov ebx, dword [eax + 0x4858]
mov dword [ebp - 0x340], ecx
mov dword [ebp - 0x314], ebx
cmp ebx, ecx
je 0x4236b6
nop dword [eax + eax]
mov edx, dword [eax + 0x4818]
cmp edx, 0x5a
mov edi, dword [ebx]
lea eax, [edx - 0x5a]
cmovle eax, edx
lea ecx, [edx - 0x50]
cmp eax, 0x50
cmovle ecx, eax
lea eax, [edx - 0x46]
cmp ecx, 0x46
cmovle eax, ecx
lea ecx, [edx - 0x3c]
cmp eax, 0x3c
cmovle ecx, eax
lea eax, [edx - 0x32]
cmp ecx, 0x32
cmovle eax, ecx
lea ecx, [edx - 0x28]
cmp eax, 0x28
cmovle ecx, eax
lea eax, [edx - 0x1e]
cmp ecx, 0x1e
cmovle eax, ecx
mov dword [ebp - 0x364], eax
cmp eax, 0x14
jle 0x42320b
lea eax, [edx - 0x14]
mov dword [ebp - 0x364], eax
movsd xmm0, qword [edi + 0x4918]
lea ecx, [edi + 0x18]
mulsd xmm0, xmm1
movsd qword [ebp - 0x35c], xmm0
movsd xmm0, qword [edi + 0x4898]
movsd qword [ebp - 0x324], xmm0
call fcn.0042ece0
movsd xmm2, qword [edi + 0x2418]
lea ecx, [edi + 0x2408]
movsd xmm1, qword [edi + 0x2410]
sub esp, 0x10
movsd qword [esp + 8], xmm0
movsd xmm0, qword [edi + 0x4930]
mulsd xmm0, qword [0x4ae928]
movsd qword [esp], xmm0
call fcn.0042e5e0
movsd xmm2, qword [edi + 0x28]
lea ecx, [edi + 0x18]
movsd xmm1, qword [edi + 0x20]
sub esp, 8
movsd qword [esp], xmm0
call fcn.0042e5e0
sub esp, 0xa0
movsd xmm2, qword [ebp - 0x324]
movsd xmm1, qword [ebp - 0x35c]
mov eax, dword [edi + 0x4858]
movsd qword [esp + 0x98], xmm0
movsd xmm0, qword [edi + 0x48]
movsd qword [esp + 0x90], xmm0
movsd xmm0, qword [edi + 0x4880]
movsd qword [esp + 0x88], xmm0
movsd xmm0, qword [edi + 0x48e0]
movsd qword [esp + 0x80], xmm0
movsd xmm0, qword [edi + 0x48f0]
movsd qword [esp + 0x78], xmm0
movsd xmm0, qword [edi + 0x48f8]
movsd qword [esp + 0x70], xmm0
movsd xmm0, qword [edi + 0x4910]
movsd qword [esp + 0x68], xmm0
movsd xmm0, qword [edi + 0x48e8]
movsd qword [esp + 0x60], xmm0
movaps xmm0, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x58], xmm0
movsd xmm0, qword [edi + 0x4908]
mulsd xmm0, qword [0x4aeb28]
movsd qword [esp + 0x50], xmm1
movsd qword [esp + 0x48], xmm0
movsd xmm0, qword [edi + 0x30]
mulsd xmm0, qword [0x4aeb28]
movsd qword [esp + 0x40], xmm0
movsd xmm0, qword [edi + 0x4950]
subsd xmm0, qword [0x4af658]
movsd qword [esp + 0x38], xmm0
movsd xmm0, qword [edi + 0x2410]
mulsd xmm0, qword [0x4ae8b0]
movsd qword [esp + 0x30], xmm0
movsd xmm0, qword [edi + 0x4920]
movsd qword [esp + 0x28], xmm0
movsd xmm0, qword [edi + 0x28]
subsd xmm0, qword [0x4af658]
movsd qword [esp + 0x20], xmm0
movsd xmm0, qword [edi + 0x20]
mulsd xmm0, qword [0x4ae8b0]
movsd qword [esp + 0x18], xmm0
movsd xmm0, qword [edi + 0x4928]
movsd qword [esp + 0x10], xmm0
movaps xmm0, xmm2
mulsd xmm0, qword [eax + 0x78]
mov eax, dword [edi + 0x4818]
dec eax
movsd qword [esp + 8], xmm0
movsd qword [esp], xmm2
push eax
push dword [ebp - 0x364]
push 0
push dword [edi + 0x4960]
push str._d__d__d__d__.10lf__.10lf__lf__lf__lf__lf__lf__lf__lf__lf__lf__lf__lf__lf__lf__lf__lf__lf__lf__lf__lf__lf__lf_n
push dword [ebp - 0x360]
call fcn.00411e60
add esp, 0xd0
mov edx, dword [edi + 0x495c]
test edx, edx
je 0x4234eb
movsd xmm0, qword [edx + 0x48]
sub esp, 8
mov ecx, dword [edx + 0x4864]
xor eax, eax
mov dword [ebp - 0x33c], 1
movsd qword [esp], xmm0
movsd xmm0, qword [edx + 0x4880]
push ecx
push dword [edx + 0x4860]
sub esp, 0x38
test ecx, ecx
setne al
movsd qword [esp + 0x30], xmm0
movsd xmm0, qword [edx + 0x4918]
mulsd xmm0, qword [0x4af5d0]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
mulsd xmm1, xmm0
movsd xmm0, qword [edx + 0x2418]
subsd xmm0, qword [0x4af658]
movsd qword [esp + 0x28], xmm1
movsd qword [esp + 0x20], xmm0
movsd xmm0, qword [edx + 0x2410]
mulsd xmm0, qword [0x4ae8b0]
movsd qword [esp + 0x18], xmm0
movsd xmm0, qword [edx + 0x30]
mulsd xmm0, qword [0x4aeb28]
movsd qword [esp + 0x10], xmm0
movsd xmm0, qword [edx + 0x28]
subsd xmm0, qword [0x4af658]
movsd qword [esp + 8], xmm0
movsd xmm0, qword [edx + 0x20]
mulsd xmm0, qword [0x4ae8b0]
movsd qword [esp], xmm0
push 0
push dword [edi + 0x4964]
push str._d__d__lf__lf__lf__lf__lf__lf__lf__d__d__lf_n
push dword [ebp - 0x318]
call fcn.00411e60
add esp, 0x58
mov eax, dword [edi + 0x4958]
test eax, eax
je 0x423693
mov ecx, dword [eax + 0x48b0]
xorps xmm0, xmm0
mov edx, dword [eax + 0x4900]
xorps xmm1, xmm1
mov dword [ebp - 0x338], 1
mov dword [ebp - 0x358], edx
mov dword [ebp - 0x320], ecx
test ecx, ecx
je 0x423600
movsd xmm2, qword [eax + 0x4860]
mov esi, 1
movsd qword [ebp - 0x334], xmm2
cmp ecx, esi
jl 0x4235af
movsd xmm0, qword [edi + 0x20]
lea ebx, [eax + 0x4868]
mulsd xmm0, qword [0x4ae888]
movsd qword [ebp - 0x34c], xmm0
movd xmm1, esi
cvtdq2pd xmm1, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_pow_precise
mulsd xmm0, qword [ebx]
inc esi
add ebx, 8
movsd xmm2, qword [ebp - 0x334]
addsd xmm2, xmm0
movsd xmm0, qword [ebp - 0x34c]
movsd qword [ebp - 0x334], xmm2
cmp esi, dword [ebp - 0x320]
jle 0x423561
mov eax, dword [edi + 0x4958]
xorps xmm0, xmm0
mov edx, dword [ebp - 0x358]
mov ebx, dword [ebp - 0x314]
mulsd xmm2, qword [0x4af6e8]
divsd xmm2, qword [0x4af760]
comisd xmm2, xmm0
jbe 0x4235f0
movsd xmm1, qword [edi + 0x30]
movaps xmm0, xmm1
mulsd xmm1, qword [0x4aeeb0]
divsd xmm0, xmm2
cvttsd2si edx, xmm0
movd xmm0, edx
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm2
comisd xmm1, xmm0
jbe 0x4235f0
inc edx
movd xmm1, dword [eax + 0x4900]
cvtdq2pd xmm1, xmm1
mulsd xmm1, xmm2
mulsd xmm1, qword [0x4aeb28]
sub esp, 8
movsd xmm0, qword [eax + 0x2418]
subsd xmm0, qword [0x4af658]
movsd qword [esp], xmm1
push edx
sub esp, 0x28
movsd qword [esp + 0x20], xmm0
movsd xmm0, qword [eax + 0x28]
subsd xmm0, qword [0x4af658]
movsd qword [esp + 0x18], xmm0
movsd xmm0, qword [eax + 0x2410]
mulsd xmm0, qword [0x4ae8b0]
movsd qword [esp + 0x10], xmm0
movsd xmm0, qword [eax + 0x20]
mulsd xmm0, qword [0x4ae8b0]
movsd qword [esp + 8], xmm0
movsd xmm0, qword [eax + 0x30]
mulsd xmm0, qword [0x4aeb28]
movsd qword [esp], xmm0
push 0
push dword [edi + 0x4968]
push str._d__d__lf__lf__lf__lf__lf__d__lf_n
push dword [ebp - 0x350]
call fcn.00411e60
add esp, 0x44
movsd xmm1, qword [0x4af568]
add ebx, 4
mov eax, dword [ebp - 0x368]
mov dword [ebp - 0x314], ebx
cmp ebx, dword [ebp - 0x340]
jne 0x4231b0
mov eax, dword [ebp - 0x310]
add eax, 4
mov dword [ebp - 0x310], eax
cmp eax, dword [ebp - 0x32c]
jne 0x423180
mov edi, dword [ebp - 0x370]
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [ebp - 0x32c], ecx
mov dword [ebp - 0x310], eax
cmp eax, ecx
je 0x423c4a
mov edx, dword [eax]
mov dword [ebp - 0x368], edx
mov ecx, dword [edx + 0x485c]
mov eax, dword [edx + 0x4858]
mov dword [ebp - 0x340], ecx
mov dword [ebp - 0x314], eax
cmp eax, ecx
je 0x423c27
nop dword [eax + eax]
mov edx, dword [edx + 0x4818]
cmp edx, 0x5a
mov edi, dword [eax]
mov dword [ebp - 0x320], edi
lea eax, [edx - 0x5a]
cmovle eax, edx
movsd xmm0, qword [edi + 0x4918]
cmp eax, 0x50
mulsd xmm0, xmm1
lea ecx, [edx - 0x50]
cmovle ecx, eax
lea ebx, [edx - 0x14]
cmp ecx, 0x46
lea eax, [edx - 0x46]
cmovle eax, ecx
movsd qword [ebp - 0x334], xmm0
movsd xmm0, qword [edi + 0x4898]
lea ecx, [edx - 0x3c]
cmp eax, 0x3c
movsd qword [ebp - 0x35c], xmm0
cmovle ecx, eax
lea eax, [edx - 0x32]
cmp ecx, 0x32
cmovle eax, ecx
lea ecx, [edx - 0x28]
cmp eax, 0x28
cmovle ecx, eax
lea eax, [edx - 0x1e]
cmp ecx, 0x1e
cmovle eax, ecx
lea ecx, [edi + 0x18]
cmp eax, 0x14
cmovle ebx, eax
mov dword [ebp - 0x364], ebx
call fcn.0042ece0
movsd xmm2, qword [edi + 0x2418]
lea ecx, [edi + 0x2408]
movsd xmm1, qword [edi + 0x2410]
sub esp, 0x10
movsd qword [esp + 8], xmm0
movsd xmm0, qword [edi + 0x4930]
mulsd xmm0, qword [0x4ae928]
movsd qword [esp], xmm0
call fcn.0042e5e0
movsd xmm2, qword [edi + 0x28]
lea ecx, [edi + 0x18]
movsd xmm1, qword [edi + 0x20]
sub esp, 8
movsd qword [esp], xmm0
call fcn.0042e5e0
sub esp, 0xa0
movsd xmm2, qword [ebp - 0x35c]
movsd xmm1, qword [ebp - 0x334]
movsd qword [esp + 0x98], xmm0
movsd xmm0, qword [edi + 0x48]
movsd qword [esp + 0x90], xmm0
movsd xmm0, qword [edi + 0x4880]
movsd qword [esp + 0x88], xmm0
movsd xmm0, qword [edi + 0x48e0]
movsd qword [esp + 0x80], xmm0
movsd xmm0, qword [edi + 0x48f0]
movsd qword [esp + 0x78], xmm0
movsd xmm0, qword [edi + 0x48f8]
movsd qword [esp + 0x70], xmm0
movsd xmm0, qword [edi + 0x4910]
movsd qword [esp + 0x68], xmm0
movsd xmm0, qword [edi + 0x48e8]
movsd qword [esp + 0x60], xmm0
movaps xmm0, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x58], xmm0
movsd xmm0, qword [edi + 0x4908]
mulsd xmm0, qword [0x4aeb28]
movsd qword [esp + 0x50], xmm1
movsd qword [esp + 0x48], xmm0
movsd xmm0, qword [edi + 0x30]
mulsd xmm0, qword [0x4aeb28]
movsd qword [esp + 0x40], xmm0
movsd xmm0, qword [edi + 0x4950]
subsd xmm0, qword [0x4af658]
movsd qword [esp + 0x38], xmm0
movsd xmm0, qword [edi + 0x2410]
mulsd xmm0, qword [0x4ae8b0]
mov eax, dword [edi + 0x4858]
movsd qword [esp + 0x30], xmm0
movsd xmm0, qword [edi + 0x4920]
movsd qword [esp + 0x28], xmm0
movsd xmm0, qword [edi + 0x28]
subsd xmm0, qword [0x4af658]
movsd qword [esp + 0x20], xmm0
movsd xmm0, qword [edi + 0x20]
mulsd xmm0, qword [0x4ae8b0]
movsd qword [esp + 0x18], xmm0
movsd xmm0, qword [edi + 0x4928]
movsd qword [esp + 0x10], xmm0
movaps xmm0, xmm2
mulsd xmm0, qword [eax + 0x78]
mov eax, dword [edi + 0x4818]
dec eax
movsd qword [esp + 8], xmm0
movsd qword [esp], xmm2
push eax
push ebx
push 0
push dword [edi + 0x4960]
push str._d__d__d__d__.10lf__.10lf__lf__lf__lf__lf__lf__lf__lf__lf__lf__lf__lf__lf__lf__lf__lf__lf__lf__lf__lf__lf__lf_n
push dword [ebp - 0x360]
call fcn.00411e60
mov edx, dword [edi + 0x495c]
add esp, 0xd0
test edx, edx
je 0x423a57
movsd xmm0, qword [edx + 0x48]
sub esp, 8
mov ecx, dword [edx + 0x4864]
xor eax, eax
mov dword [ebp - 0x33c], 1
movsd qword [esp], xmm0
movsd xmm0, qword [edx + 0x4880]
push ecx
push dword [edx + 0x4860]
sub esp, 0x38
test ecx, ecx
setne al
movsd qword [esp + 0x30], xmm0
movsd xmm0, qword [edx + 0x4918]
mulsd xmm0, qword [0x4af5d0]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
mulsd xmm1, xmm0
movsd xmm0, qword [edx + 0x2418]
subsd xmm0, qword [0x4af658]
movsd qword [esp + 0x28], xmm1
movsd qword [esp + 0x20], xmm0
movsd xmm0, qword [edx + 0x2410]
mulsd xmm0, qword [0x4ae8b0]
movsd qword [esp + 0x18], xmm0
movsd xmm0, qword [edx + 0x30]
mulsd xmm0, qword [0x4aeb28]
movsd qword [esp + 0x10], xmm0
movsd xmm0, qword [edx + 0x28]
subsd xmm0, qword [0x4af658]
movsd qword [esp + 8], xmm0
movsd xmm0, qword [edx + 0x20]
mulsd xmm0, qword [0x4ae8b0]
movsd qword [esp], xmm0
push 0
push dword [edi + 0x4964]
push str._d__d__lf__lf__lf__lf__lf__lf__lf__d__d__lf_n
push dword [ebp - 0x318]
call fcn.00411e60
add esp, 0x58
mov ebx, dword [edi + 0x4958]
test ebx, ebx
je 0x423bfe
mov edx, dword [ebx + 0x4900]
xorps xmm0, xmm0
mov eax, dword [ebx + 0x48b0]
mov ecx, edx
mov dword [ebp - 0x338], 1
xorps xmm1, xmm1
mov dword [ebp - 0x358], ecx
test eax, eax
je 0x423b6b
movsd xmm2, qword [ebx + 0x4860]
mov esi, 1
movsd qword [ebp - 0x334], xmm2
cmp eax, esi
jl 0x423b1e
movsd xmm0, qword [edi + 0x20]
lea edi, [ebx + 0x4868]
mulsd xmm0, qword [0x4ae888]
movsd qword [ebp - 0x374], xmm0
nop dword [eax]
movd xmm1, esi
cvtdq2pd xmm1, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_pow_precise
mulsd xmm0, qword [edi]
inc esi
add edi, 8
movsd xmm2, qword [ebp - 0x334]
addsd xmm2, xmm0
movsd xmm0, qword [ebp - 0x374]
movsd qword [ebp - 0x334], xmm2
cmp esi, dword [ebx + 0x48b0]
jle 0x423ad0
mov edi, dword [ebp - 0x320]
xorps xmm0, xmm0
mov ecx, dword [ebp - 0x358]
mov edx, dword [ebx + 0x4900]
mulsd xmm2, qword [0x4af6e8]
divsd xmm2, qword [0x4af760]
comisd xmm2, xmm0
jbe 0x423b5f
movsd xmm1, qword [edi + 0x30]
movaps xmm0, xmm1
mulsd xmm1, qword [0x4aeeb0]
divsd xmm0, xmm2
cvttsd2si ecx, xmm0
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm2
comisd xmm1, xmm0
jbe 0x423b5f
inc ecx
movd xmm1, edx
cvtdq2pd xmm1, xmm1
mulsd xmm1, xmm2
mulsd xmm1, qword [0x4aeb28]
sub esp, 8
movsd xmm0, qword [ebx + 0x2418]
subsd xmm0, qword [0x4af658]
movsd qword [esp], xmm1
push ecx
sub esp, 0x28
movsd qword [esp + 0x20], xmm0
movsd xmm0, qword [ebx + 0x28]
subsd xmm0, qword [0x4af658]
movsd qword [esp + 0x18], xmm0
movsd xmm0, qword [ebx + 0x2410]
mulsd xmm0, qword [0x4ae8b0]
movsd qword [esp + 0x10], xmm0
movsd xmm0, qword [ebx + 0x20]
mulsd xmm0, qword [0x4ae8b0]
movsd qword [esp + 8], xmm0
movsd xmm0, qword [ebx + 0x30]
mulsd xmm0, qword [0x4aeb28]
movsd qword [esp], xmm0
push 0
push dword [edi + 0x4968]
push str._d__d__lf__lf__lf__lf__lf__d__lf_n
push dword [ebp - 0x350]
call fcn.00411e60
add esp, 0x44
mov eax, dword [ebp - 0x314]
movsd xmm1, qword [0x4af568]
add eax, 4
mov edx, dword [ebp - 0x368]
mov dword [ebp - 0x314], eax
cmp eax, dword [ebp - 0x340]
jne 0x423720
mov eax, dword [ebp - 0x310]
movsd xmm1, qword [0x4af568]
add eax, 4
mov dword [ebp - 0x310], eax
cmp eax, dword [ebp - 0x32c]
jne 0x4236f0
mov edx, dword [ebp - 0x328]
mov ebx, dword [edx + 0x49d0]
mov edi, dword [edx + 0x49cc]
cmp edi, ebx
je 0x423e08
mov esi, dword [edi]
sub esp, 0xb8
xorps xmm2, xmm2
movsd xmm0, qword [esi + 0x48]
mov eax, dword [esi + 0x4858]
movsd xmm1, qword [esi + 0x4898]
movups xmmword [esp + 0xa8], xmm2
movups xmmword [esp + 0x98], xmm2
movsd qword [esp + 0x90], xmm0
movsd xmm0, qword [esi + 0x4880]
movsd qword [esp + 0x88], xmm0
movaps xmm0, xmm1
mulsd xmm0, qword [eax + 0x78]
mov eax, dword [esi + 0x4818]
movups xmmword [esp + 0x78], xmm2
dec eax
movups xmmword [esp + 0x68], xmm2
movups xmmword [esp + 0x58], xmm2
movups xmmword [esp + 0x48], xmm2
movups xmmword [esp + 0x38], xmm2
movups xmmword [esp + 0x28], xmm2
movups xmmword [esp + 0x18], xmm2
movsd qword [esp + 0x10], xmm2
movsd qword [esp + 8], xmm0
movsd qword [esp], xmm1
push eax
push dword [esi + 0x4974]
push 1
push dword [esi + 0x4960]
push str._d__d__d__d__.10lf__.10lf__lf__lf__lf__lf__lf__lf__lf__lf__lf__lf__lf__lf__lf__lf__lf__lf__lf__lf__lf__lf__lf_n
push dword [ebp - 0x360]
call fcn.00411e60
mov eax, dword [esi + 0x495c]
add esp, 0xd0
test eax, eax
je 0x423da5
mov dword [eax + 0x4864], 0
sub esp, 8
mov eax, dword [esi + 0x495c]
xorps xmm1, xmm1
mov dword [ebp - 0x33c], 1
movsd xmm0, qword [eax + 0x48]
movsd qword [esp], xmm0
push dword [eax + 0x4864]
movsd xmm0, qword [eax + 0x4918]
push dword [eax + 0x4860]
mulsd xmm0, qword [0x4af5d0]
sub esp, 0x38
movsd qword [esp + 0x30], xmm1
mulsd xmm0, xmm1
movsd qword [esp + 0x28], xmm0
movups xmmword [esp + 0x18], xmm1
movups xmmword [esp + 8], xmm1
movsd qword [esp], xmm1
push 1
push dword [esi + 0x4964]
push str._d__d__lf__lf__lf__lf__lf__lf__lf__d__d__lf_n
push dword [ebp - 0x318]
call fcn.00411e60
add esp, 0x58
mov eax, dword [esi + 0x4958]
test eax, eax
je 0x423df7
sub esp, 8
mov dword [ebp - 0x338], 1
xorps xmm0, xmm0
movsd qword [esp], xmm0
push dword [eax + 0x4900]
sub esp, 0x28
movups xmmword [esp + 0x18], xmm0
movups xmmword [esp + 8], xmm0
movsd qword [esp], xmm0
push 1
push dword [esi + 0x4968]
push str._d__d__lf__lf__lf__lf__lf__d__lf_n
push dword [ebp - 0x350]
call fcn.00411e60
add esp, 0x44
add edi, 4
cmp edi, ebx
jne 0x423c64
mov edx, dword [ebp - 0x328]
mov ebx, dword [edx + 0x49dc]
mov edi, dword [edx + 0x49d8]
cmp edi, ebx
je 0x423fc4
nop dword [eax]
mov esi, dword [edi]
sub esp, 0xb8
xorps xmm2, xmm2
movsd xmm0, qword [esi + 0x48]
mov eax, dword [esi + 0x4858]
movsd xmm1, qword [esi + 0x4898]
movups xmmword [esp + 0xa8], xmm2
movups xmmword [esp + 0x98], xmm2
movsd qword [esp + 0x90], xmm0
movsd xmm0, qword [esi + 0x4880]
movsd qword [esp + 0x88], xmm0
movaps xmm0, xmm1
mulsd xmm0, qword [eax + 0x78]
mov eax, dword [esi + 0x4818]
movups xmmword [esp + 0x78], xmm2
dec eax
movups xmmword [esp + 0x68], xmm2
movups xmmword [esp + 0x58], xmm2
movups xmmword [esp + 0x48], xmm2
movups xmmword [esp + 0x38], xmm2
movups xmmword [esp + 0x28], xmm2
movups xmmword [esp + 0x18], xmm2
movsd qword [esp + 0x10], xmm2
movsd qword [esp + 8], xmm0
movsd qword [esp], xmm1
push eax
push dword [esi + 0x4974]
push 1
push dword [esi + 0x4960]
push str._d__d__d__d__.10lf__.10lf__lf__lf__lf__lf__lf__lf__lf__lf__lf__lf__lf__lf__lf__lf__lf__lf__lf__lf__lf__lf__lf_n
push dword [ebp - 0x360]
call fcn.00411e60
mov eax, dword [esi + 0x495c]
add esp, 0xd0
test eax, eax
je 0x423f61
mov dword [eax + 0x4864], 0
sub esp, 8
mov eax, dword [esi + 0x495c]
xorps xmm1, xmm1
mov dword [ebp - 0x33c], 1
movsd xmm0, qword [eax + 0x48]
movsd qword [esp], xmm0
push dword [eax + 0x4864]
movsd xmm0, qword [eax + 0x4918]
push dword [eax + 0x4860]
mulsd xmm0, qword [0x4af5d0]
sub esp, 0x38
movsd qword [esp + 0x30], xmm1
mulsd xmm0, xmm1
movsd qword [esp + 0x28], xmm0
movups xmmword [esp + 0x18], xmm1
movups xmmword [esp + 8], xmm1
movsd qword [esp], xmm1
push 1
push dword [esi + 0x4964]
push str._d__d__lf__lf__lf__lf__lf__lf__lf__d__d__lf_n
push dword [ebp - 0x318]
call fcn.00411e60
add esp, 0x58
mov eax, dword [esi + 0x4958]
test eax, eax
je 0x423fb3
sub esp, 8
mov dword [ebp - 0x338], 1
xorps xmm0, xmm0
movsd qword [esp], xmm0
push dword [eax + 0x4900]
sub esp, 0x28
movups xmmword [esp + 0x18], xmm0
movups xmmword [esp + 8], xmm0
movsd qword [esp], xmm0
push 1
push dword [esi + 0x4968]
push str._d__d__lf__lf__lf__lf__lf__d__lf_n
push dword [ebp - 0x350]
call fcn.00411e60
add esp, 0x44
add edi, 4
cmp edi, ebx
jne 0x423e20
mov edx, dword [ebp - 0x328]
mov ecx, dword [edx + 0x4934]
mov eax, ecx
mov esi, dword [edx + 0x4930]
sub eax, esi
sar eax, 2
mov dword [ebp - 0x320], ecx
mov dword [ebp - 0x348], 1
test eax, eax
je 0x42447d
mov dword [ebp - 0x33c], 1
cmp esi, ecx
je 0x4240fe
mov eax, dword [esi]
xor edx, edx
mov edi, dword [eax + 0x4864]
test edi, edi
mov ebx, dword [eax + 0x4860]
setne dl
xor ecx, ecx
test ebx, ebx
jne 0x424029
cmp dword [eax + 0x4858], ecx
cmovne ecx, dword [ebp - 0x348]
movsd xmm0, qword [eax + 0x48]
sub esp, 8
movsd xmm1, qword [eax + 0x4918]
mulsd xmm1, qword [0x4af5d0]
movsd qword [esp], xmm0
movsd xmm0, qword [eax + 0x4880]
push edi
push ebx
sub esp, 0x38
movsd qword [esp + 0x30], xmm0
movd xmm0, edx
cvtdq2pd xmm0, xmm0
mulsd xmm1, xmm0
movsd xmm0, qword [eax + 0x2418]
subsd xmm0, qword [0x4af658]
movsd qword [esp + 0x28], xmm1
movsd qword [esp + 0x20], xmm0
movsd xmm0, qword [eax + 0x2410]
mulsd xmm0, qword [0x4ae8b0]
movsd qword [esp + 0x18], xmm0
movsd xmm0, qword [eax + 0x30]
mulsd xmm0, qword [0x4aeb28]
movsd qword [esp + 0x10], xmm0
movsd xmm0, qword [eax + 0x28]
subsd xmm0, qword [0x4af658]
movsd qword [esp + 8], xmm0
movsd xmm0, qword [eax + 0x20]
mulsd xmm0, qword [0x4ae8b0]
movsd qword [esp], xmm0
push ecx
push dword [eax + 0x489c]
push str._d__d__lf__lf__lf__lf__lf__lf__lf__d__d__lf_n
push dword [ebp - 0x318]
call fcn.00411e60
add esi, 4
add esp, 0x58
cmp esi, dword [ebp - 0x320]
jne 0x424001
mov edx, dword [ebp - 0x328]
mov ecx, dword [edx + 0x4940]
mov eax, ecx
mov esi, dword [edx + 0x493c]
sub eax, esi
sar eax, 2
mov dword [ebp - 0x320], ecx
test eax, eax
je 0x42422d
cmp esi, ecx
je 0x42422d
nop word [eax + eax]
mov eax, dword [esi]
xor edx, edx
mov edi, dword [eax + 0x4864]
test edi, edi
mov ebx, dword [eax + 0x4860]
setne dl
xor ecx, ecx
test ebx, ebx
jne 0x424158
cmp dword [eax + 0x4858], ecx
cmovne ecx, dword [ebp - 0x348]
movsd xmm0, qword [eax + 0x48]
sub esp, 8
movsd xmm1, qword [eax + 0x4918]
mulsd xmm1, qword [0x4af5d0]
movsd qword [esp], xmm0
movsd xmm0, qword [eax + 0x4880]
push edi
push ebx
sub esp, 0x38
movsd qword [esp + 0x30], xmm0
movd xmm0, edx
cvtdq2pd xmm0, xmm0
mulsd xmm1, xmm0
movsd xmm0, qword [eax + 0x2418]
subsd xmm0, qword [0x4af658]
movsd qword [esp + 0x28], xmm1
movsd qword [esp + 0x20], xmm0
movsd xmm0, qword [eax + 0x2410]
mulsd xmm0, qword [0x4ae8b0]
movsd qword [esp + 0x18], xmm0
movsd xmm0, qword [eax + 0x30]
mulsd xmm0, qword [0x4aeb28]
movsd qword [esp + 0x10], xmm0
movsd xmm0, qword [eax + 0x28]
subsd xmm0, qword [0x4af658]
movsd qword [esp + 8], xmm0
movsd xmm0, qword [eax + 0x20]
mulsd xmm0, qword [0x4ae8b0]
movsd qword [esp], xmm0
push ecx
push dword [eax + 0x489c]
push str._d__d__lf__lf__lf__lf__lf__lf__lf__d__d__lf_n
push dword [ebp - 0x318]
call fcn.00411e60
add esi, 4
add esp, 0x58
cmp esi, dword [ebp - 0x320]
jne 0x424130
mov edx, dword [ebp - 0x328]
mov ecx, dword [edx + 0x4964]
mov eax, ecx
mov esi, dword [edx + 0x4960]
sub eax, esi
sar eax, 2
mov dword [ebp - 0x320], ecx
test eax, eax
je 0x424353
cmp esi, ecx
je 0x424353
mov eax, dword [esi]
xor edx, edx
mov edi, dword [eax + 0x4864]
test edi, edi
mov ebx, dword [eax + 0x4860]
setne dl
xor ecx, ecx
test ebx, ebx
jne 0x42427e
cmp dword [eax + 0x4858], ecx
cmovne ecx, dword [ebp - 0x348]
movsd xmm0, qword [eax + 0x48]
sub esp, 8
movsd xmm1, qword [eax + 0x4918]
mulsd xmm1, qword [0x4af5d0]
movsd qword [esp], xmm0
movsd xmm0, qword [eax + 0x4880]
push edi
push ebx
sub esp, 0x38
movsd qword [esp + 0x30], xmm0
movd xmm0, edx
cvtdq2pd xmm0, xmm0
mulsd xmm1, xmm0
movsd xmm0, qword [eax + 0x2418]
subsd xmm0, qword [0x4af658]
movsd qword [esp + 0x28], xmm1
movsd qword [esp + 0x20], xmm0
movsd xmm0, qword [eax + 0x2410]
mulsd xmm0, qword [0x4ae8b0]
movsd qword [esp + 0x18], xmm0
movsd xmm0, qword [eax + 0x30]
mulsd xmm0, qword [0x4aeb28]
movsd qword [esp + 0x10], xmm0
movsd xmm0, qword [eax + 0x28]
subsd xmm0, qword [0x4af658]
movsd qword [esp + 8], xmm0
movsd xmm0, qword [eax + 0x20]
mulsd xmm0, qword [0x4ae8b0]
movsd qword [esp], xmm0
push ecx
push dword [eax + 0x489c]
push str._d__d__lf__lf__lf__lf__lf__lf__lf__d__d__lf_n
push dword [ebp - 0x318]
call fcn.00411e60
add esi, 4
add esp, 0x58
cmp esi, dword [ebp - 0x320]
jne 0x424256
mov edx, dword [ebp - 0x328]
mov ecx, dword [edx + 0x4970]
mov eax, ecx
mov esi, dword [edx + 0x496c]
sub eax, esi
sar eax, 2
mov dword [ebp - 0x320], ecx
test eax, eax
je 0x42447d
cmp esi, ecx
je 0x42447d
nop dword [eax]
mov eax, dword [esi]
xor edx, edx
mov edi, dword [eax + 0x4864]
test edi, edi
mov ebx, dword [eax + 0x4860]
setne dl
xor ecx, ecx
test ebx, ebx
jne 0x4243a8
cmp dword [eax + 0x4858], ecx
cmovne ecx, dword [ebp - 0x348]
movsd xmm0, qword [eax + 0x48]
sub esp, 8
movsd xmm1, qword [eax + 0x4918]
mulsd xmm1, qword [0x4af5d0]
movsd qword [esp], xmm0
movsd xmm0, qword [eax + 0x4880]
push edi
push ebx
sub esp, 0x38
movsd qword [esp + 0x30], xmm0
movd xmm0, edx
cvtdq2pd xmm0, xmm0
mulsd xmm1, xmm0
movsd xmm0, qword [eax + 0x2418]
subsd xmm0, qword [0x4af658]
movsd qword [esp + 0x28], xmm1
movsd qword [esp + 0x20], xmm0
movsd xmm0, qword [eax + 0x2410]
mulsd xmm0, qword [0x4ae8b0]
movsd qword [esp + 0x18], xmm0
movsd xmm0, qword [eax + 0x30]
mulsd xmm0, qword [0x4aeb28]
movsd qword [esp + 0x10], xmm0
movsd xmm0, qword [eax + 0x28]
subsd xmm0, qword [0x4af658]
movsd qword [esp + 8], xmm0
movsd xmm0, qword [eax + 0x20]
mulsd xmm0, qword [0x4ae8b0]
movsd qword [esp], xmm0
push ecx
push dword [eax + 0x489c]
push str._d__d__lf__lf__lf__lf__lf__lf__lf__d__d__lf_n
push dword [ebp - 0x318]
call fcn.00411e60
add esi, 4
add esp, 0x58
cmp esi, dword [ebp - 0x320]
jne 0x424380
mov edx, dword [ebp - 0x328]
mov ecx, dword [edx + 0x494c]
mov eax, ecx
mov esi, dword [edx + 0x4948]
sub eax, esi
sar eax, 2
mov dword [ebp - 0x320], ecx
test eax, eax
je 0x4246d3
mov dword [ebp - 0x33c], 1
cmp esi, ecx
je 0x4245ad
mov eax, dword [esi]
xor edx, edx
mov edi, dword [eax + 0x4864]
test edi, edi
mov ebx, dword [eax + 0x4860]
setne dl
xor ecx, ecx
test ebx, ebx
jne 0x4244d8
cmp dword [eax + 0x4858], ecx
cmovne ecx, dword [ebp - 0x348]
movsd xmm0, qword [eax + 0x48]
sub esp, 8
movsd xmm1, qword [eax + 0x4918]
mulsd xmm1, qword [0x4af5d0]
movsd qword [esp], xmm0
movsd xmm0, qword [eax + 0x4880]
push edi
push ebx
sub esp, 0x38
movsd qword [esp + 0x30], xmm0
movd xmm0, edx
cvtdq2pd xmm0, xmm0
mulsd xmm1, xmm0
movsd xmm0, qword [eax + 0x2418]
subsd xmm0, qword [0x4af658]
movsd qword [esp + 0x28], xmm1
movsd qword [esp + 0x20], xmm0
movsd xmm0, qword [eax + 0x2410]
mulsd xmm0, qword [0x4ae8b0]
movsd qword [esp + 0x18], xmm0
movsd xmm0, qword [eax + 0x30]
mulsd xmm0, qword [0x4aeb28]
movsd qword [esp + 0x10], xmm0
movsd xmm0, qword [eax + 0x28]
subsd xmm0, qword [0x4af658]
movsd qword [esp + 8], xmm0
movsd xmm0, qword [eax + 0x20]
mulsd xmm0, qword [0x4ae8b0]
movsd qword [esp], xmm0
push ecx
push dword [eax + 0x489c]
push str._d__d__lf__lf__lf__lf__lf__lf__lf__d__d__lf_n
push dword [ebp - 0x318]
call fcn.00411e60
add esi, 4
add esp, 0x58
cmp esi, dword [ebp - 0x320]
jne 0x4244b0
mov edx, dword [ebp - 0x328]
mov ecx, dword [edx + 0x4958]
mov eax, ecx
mov esi, dword [edx + 0x4954]
sub eax, esi
sar eax, 2
mov dword [ebp - 0x320], ecx
test eax, eax
je 0x4246d3
cmp esi, ecx
je 0x4246d3
mov eax, dword [esi]
xor edx, edx
mov edi, dword [eax + 0x4864]
test edi, edi
mov ebx, dword [eax + 0x4860]
setne dl
xor ecx, ecx
test ebx, ebx
jne 0x4245fe
cmp dword [eax + 0x4858], ecx
cmovne ecx, dword [ebp - 0x348]
movsd xmm0, qword [eax + 0x48]
sub esp, 8
movsd xmm1, qword [eax + 0x4918]
mulsd xmm1, qword [0x4af5d0]
movsd qword [esp], xmm0
movsd xmm0, qword [eax + 0x4880]
push edi
push ebx
sub esp, 0x38
movsd qword [esp + 0x30], xmm0
movd xmm0, edx
cvtdq2pd xmm0, xmm0
mulsd xmm1, xmm0
movsd xmm0, qword [eax + 0x2418]
subsd xmm0, qword [0x4af658]
movsd qword [esp + 0x28], xmm1
movsd qword [esp + 0x20], xmm0
movsd xmm0, qword [eax + 0x2410]
mulsd xmm0, qword [0x4ae8b0]
movsd qword [esp + 0x18], xmm0
movsd xmm0, qword [eax + 0x30]
mulsd xmm0, qword [0x4aeb28]
movsd qword [esp + 0x10], xmm0
movsd xmm0, qword [eax + 0x28]
subsd xmm0, qword [0x4af658]
movsd qword [esp + 8], xmm0
movsd xmm0, qword [eax + 0x20]
mulsd xmm0, qword [0x4ae8b0]
movsd qword [esp], xmm0
push ecx
push dword [eax + 0x489c]
push str._d__d__lf__lf__lf__lf__lf__lf__lf__d__d__lf_n
push dword [ebp - 0x318]
call fcn.00411e60
add esi, 4
add esp, 0x58
cmp esi, dword [ebp - 0x320]
jne 0x4245d6
mov edx, dword [ebp - 0x328]
mov ecx, dword [edx + 0x4994]
mov eax, ecx
mov edi, dword [edx + 0x4990]
sub eax, edi
sar eax, 2
mov dword [ebp - 0x310], ecx
mov dword [ebp - 0x314], edi
test eax, eax
je 0x4248b8
mov ebx, 1
mov dword [ebp - 0x338], ebx
cmp edi, ecx
je 0x4248be
nop dword [eax]
mov ebx, dword [edi]
xorps xmm0, xmm0
xorps xmm1, xmm1
mov eax, dword [ebx + 0x48b0]
lea ecx, [ebx + 0x20]
mov edx, dword [ebx + 0x4900]
mov dword [ebp - 0x358], edx
mov dword [ebp - 0x320], ecx
test eax, eax
je 0x424811
movsd xmm2, qword [ebx + 0x4860]
mov esi, 1
movsd qword [ebp - 0x344], xmm2
cmp eax, esi
jl 0x4247c0
movsd xmm0, qword [ecx]
lea edi, [ebx + 0x4868]
mulsd xmm0, qword [0x4ae888]
movsd qword [ebp - 0x36c], xmm0
movd xmm1, esi
cvtdq2pd xmm1, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_pow_precise
mulsd xmm0, qword [edi]
inc esi
add edi, 8
movsd xmm2, qword [ebp - 0x344]
addsd xmm2, xmm0
movsd xmm0, qword [ebp - 0x36c]
movsd qword [ebp - 0x344], xmm2
cmp esi, dword [ebx + 0x48b0]
jle 0x424772
mov ecx, dword [ebp - 0x320]
xorps xmm0, xmm0
mov edx, dword [ebp - 0x358]
mov edi, dword [ebp - 0x314]
mulsd xmm2, qword [0x4af6e8]
divsd xmm2, qword [0x4af760]
comisd xmm2, xmm0
jbe 0x424801
movsd xmm1, qword [ebx + 0x30]
movaps xmm0, xmm1
mulsd xmm1, qword [0x4aeeb0]
divsd xmm0, xmm2
cvttsd2si edx, xmm0
movd xmm0, edx
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm2
comisd xmm1, xmm0
jbe 0x424801
inc edx
movd xmm1, dword [ebx + 0x4900]
cvtdq2pd xmm1, xmm1
mulsd xmm1, xmm2
mulsd xmm1, qword [0x4aeb28]
sub esp, 8
movsd xmm0, qword [ebx + 0x2418]
subsd xmm0, qword [0x4af658]
movsd qword [esp], xmm1
push edx
sub esp, 0x28
movsd qword [esp + 0x20], xmm0
movsd xmm0, qword [ebx + 0x28]
subsd xmm0, qword [0x4af658]
movsd qword [esp + 0x18], xmm0
movsd xmm0, qword [ebx + 0x2410]
mulsd xmm0, qword [0x4ae8b0]
movsd qword [esp + 0x10], xmm0
movsd xmm0, qword [ecx]
mulsd xmm0, qword [0x4ae8b0]
movsd qword [esp + 8], xmm0
movsd xmm0, qword [ebx + 0x30]
mulsd xmm0, qword [0x4aeb28]
movsd qword [esp], xmm0
push 0
push dword [ebx + 0x4818]
push str._d__d__lf__lf__lf__lf__lf__d__lf_n
push dword [ebp - 0x350]
call fcn.00411e60
add edi, 4
add esp, 0x44
mov dword [ebp - 0x314], edi
cmp edi, dword [ebp - 0x310]
jne 0x424710
mov ebx, dword [ebp - 0x338]
push dword [ebp - 0x360]
mov esi, dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
call esi
add esp, 4
push dword [ebp - 0x318]
call esi
add esp, 4
push dword [ebp - 0x350]
call esi
mov esi, dword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll_remove]
add esp, 4
cmp dword [ebp - 0x364], 0
jne 0x424900
lea eax, [ebp - 0x10c]
push eax
call esi
add esp, 4
cmp dword [ebp - 0x33c], 0
jne 0x424915
lea eax, [ebp - 0x20c]
push eax
call esi
add esp, 4
test ebx, ebx
jne 0x424925
lea eax, [ebp - 0x30c]
push eax
call esi
add esp, 4
mov ecx, dword [ebp - 8]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004a034d
mov esp, ebp
pop ebp
ret 4