Function at 0x410730
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x48b2ef
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x920
mov eax, dword [0xf09820]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x908], edi
mov esi, dword [ebx + 8]
xorps xmm0, xmm0
movups xmmword [ebp - 0x2b0], xmm0
mov dword [ebp - 0x910], esi
mov dword [ebp - 0x2a0], 0
mov dword [ebp - 0x29c], 0xf
mov byte [ebp - 0x2b0], 0
movsx eax, byte [edi + 0x105]
add eax, 0xfffffffe
mov dword [ebp - 4], 0
cmp eax, 5
ja case.default.0x4107c1
jmp dword [eax*4 + 0x414dc8]
push esi
lea eax, [edi + 4]
mov ecx, edi
push eax
call fcn.004090e0
mov ecx, edi
test al, al
je 0x410801
call fcn.004152b0
mov esi, eax
lea ecx, [ebp - 0x2b0]
mov dword [edi + 0x108], esi
call fcn.00404190
test esi, esi
je 0x411988
mov eax, esi
jmp 0x414da3
call fcn.004152b0
mov eax, 4
jmp 0x414da3
lea edx, [edi + 4]
mov ecx, edx
lea eax, [ecx + 1]
mov dword [ebp - 0x8fc], eax
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x410820
sub ecx, dword [ebp - 0x8fc]
push ecx
push edx
lea ecx, [ebp - 0x2b0]
call fcn.00410600
mov ecx, edi
call fcn.004152b0
mov dword [ebp - 0x8fc], eax
mov dword [edi + 0x108], eax
test eax, eax
je 0x41089a
mov ecx, dword [ebp - 0x29c]
cmp ecx, 0x10
jb 0x414da3
mov edx, dword [ebp - 0x2b0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x410885
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x414c83
push ecx
push edx
call fcn.004821ac
mov eax, dword [ebp - 0x8fc]
add esp, 8
jmp 0x414da3
cmp byte [edi + 4], 0x28
jne 0x412862
lea ecx, [ebp - 0x400]
call fcn.00403d30
lea eax, [ebp - 0x400]
mov byte [ebp - 4], 1
push eax
mov ecx, edi
call fcn.00408f10
mov dword [ebp - 0x8fc], eax
mov dword [edi + 0x108], eax
test eax, eax
je 0x4108f2
lea ecx, [ebp - 0x400]
call fcn.00404440
lea ecx, [ebp - 0x2b0]
call fcn.00404190
mov eax, dword [ebp - 0x8fc]
jmp 0x414da3
push dword [ebp - 0x400]
mov ecx, edi
call fcn.0040c820
test al, al
je 0x410f16
mov eax, dword [ebp - 0x400]
mov dword [esi], eax
lea eax, [ebp - 0x2b0]
push 0x497104
push eax
call fcn.004021a0
add esp, 8
test al, al
je 0x410957
cmp byte [0xf0aa60], 0
movsd xmm0, qword [ebp - 0x3f8]
je 0x410948
mulsd xmm0, qword [0x497c40]
movsd qword [ebp - 0x3f8], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sin_precise
movsd qword [esi + 8], xmm0
jmp 0x411972
lea eax, [ebp - 0x2b0]
push 0x497108
push eax
call fcn.004021a0
add esp, 8
test al, al
je 0x41099f
cmp byte [0xf0aa60], 0
movsd xmm0, qword [ebp - 0x3f8]
je 0x410990
mulsd xmm0, qword [0x497c40]
movsd qword [ebp - 0x3f8], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_cos_precise
movsd qword [esi + 8], xmm0
jmp 0x411972
lea eax, [ebp - 0x2b0]
push 0x49710c
push eax
call fcn.004021a0
add esp, 8
test al, al
je 0x4109e7
cmp byte [0xf0aa60], 0
movsd xmm0, qword [ebp - 0x3f8]
je 0x4109d8
mulsd xmm0, qword [0x497c40]
movsd qword [ebp - 0x3f8], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_tan_precise
movsd qword [esi + 8], xmm0
jmp 0x411972
lea eax, [ebp - 0x2b0]
push str.asin
push eax
call fcn.004021a0
add esp, 8
test al, al
je 0x410a2e
movsd xmm1, qword [0x497cc8]
movsd xmm0, qword [ebp - 0x3f8]
comisd xmm1, xmm0
ja 0x41198f
comisd xmm0, xmmword [0x497c78]
ja 0x41198f
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_asin_precise
jmp 0x410a9a
lea eax, [ebp - 0x2b0]
push str.acos
push eax
call fcn.004021a0
add esp, 8
test al, al
je 0x410a75
movsd xmm1, qword [0x497cc8]
movsd xmm0, qword [ebp - 0x3f8]
comisd xmm1, xmm0
ja 0x41198f
comisd xmm0, xmmword [0x497c78]
ja 0x41198f
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_acos_precise
jmp 0x410a9a
lea eax, [ebp - 0x2b0]
push str.atan
push eax
call fcn.004021a0
add esp, 8
test al, al
je 0x410abe
movsd xmm0, qword [ebp - 0x3f8]
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_atan_precise
movsd qword [esi + 8], xmm0
cmp byte [0xf0aa60], 0
je 0x411972
mulsd xmm0, qword [0x497ca8]
movsd qword [esi + 8], xmm0
jmp 0x411972
lea eax, [ebp - 0x2b0]
push 0x4971c4
push eax
call fcn.004021a0
add esp, 8
test al, al
je 0x410b22
movsd xmm0, qword [ebp - 0x3f8]
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_exp_precise
movsd qword [ebp - 0x928], xmm0
movsd xmm0, qword [ebp - 0x3f8]
mulsd xmm0, qword [0x497c88]
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_exp_precise
movsd xmm1, qword [ebp - 0x928]
subsd xmm0, qword [0x497c78]
addsd xmm1, xmm1
divsd xmm0, xmm1
movsd qword [esi + 8], xmm0
jmp 0x411972
lea eax, [ebp - 0x2b0]
push 0x4971cc
push eax
call fcn.004021a0
add esp, 8
test al, al
je 0x410b86
movsd xmm0, qword [ebp - 0x3f8]
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_exp_precise
movsd qword [ebp - 0x928], xmm0
movsd xmm0, qword [ebp - 0x3f8]
mulsd xmm0, qword [0x497c88]
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_exp_precise
movsd xmm1, qword [ebp - 0x928]
addsd xmm0, qword [0x497c78]
addsd xmm1, xmm1
divsd xmm0, xmm1
movsd qword [esi + 8], xmm0
jmp 0x411972
lea eax, [ebp - 0x2b0]
push 0x4971d4
push eax
call fcn.004021a0
add esp, 8
test al, al
je 0x410bf6
movsd xmm0, qword [ebp - 0x3f8]
mulsd xmm0, qword [0x497c88]
movsd qword [ebp - 0x928], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_exp_precise
subsd xmm0, qword [0x497c78]
movsd qword [ebp - 0x920], xmm0
movsd xmm0, qword [ebp - 0x928]
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_exp_precise
addsd xmm0, qword [0x497c78]
movsd xmm1, qword [ebp - 0x920]
divsd xmm1, xmm0
movsd qword [esi + 8], xmm1
jmp 0x411972
lea eax, [ebp - 0x2b0]
push str.coth
push eax
call fcn.004021a0
add esp, 8
test al, al
je 0x410c66
movsd xmm0, qword [ebp - 0x3f8]
mulsd xmm0, qword [0x497c88]
movsd qword [ebp - 0x928], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_exp_precise
addsd xmm0, qword [0x497c78]
movsd qword [ebp - 0x920], xmm0
movsd xmm0, qword [ebp - 0x928]
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_exp_precise
subsd xmm0, qword [0x497c78]
movsd xmm1, qword [ebp - 0x920]
divsd xmm1, xmm0
movsd qword [esi + 8], xmm1
jmp 0x411972
lea eax, [ebp - 0x2b0]
push str.sech
push eax
call fcn.004021a0
add esp, 8
test al, al
je 0x410cca
movsd xmm0, qword [ebp - 0x3f8]
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_exp_precise
addsd xmm0, xmm0
movsd qword [ebp - 0x928], xmm0
movsd xmm0, qword [ebp - 0x3f8]
mulsd xmm0, qword [0x497c88]
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_exp_precise
addsd xmm0, qword [0x497c78]
movsd xmm1, qword [ebp - 0x928]
divsd xmm1, xmm0
movsd qword [esi + 8], xmm1
jmp 0x411972
lea eax, [ebp - 0x2b0]
push str.csch
push eax
call fcn.004021a0
add esp, 8
test al, al
je 0x410d2e
movsd xmm0, qword [ebp - 0x3f8]
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_exp_precise
addsd xmm0, xmm0
movsd qword [ebp - 0x928], xmm0
movsd xmm0, qword [ebp - 0x3f8]
mulsd xmm0, qword [0x497c88]
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_exp_precise
subsd xmm0, qword [0x497c78]
movsd xmm1, qword [ebp - 0x928]
divsd xmm1, xmm0
movsd qword [esi + 8], xmm1
jmp 0x411972
lea eax, [ebp - 0x2b0]
push 0x497128
push eax
call fcn.004021a0
add esp, 8
test al, al
je 0x410d7e
movsd xmm0, qword [ebp - 0x3f8]
xorps xmm1, xmm1
comisd xmm1, xmm0
ja 0x41198f
ucomisd xmm1, xmm0
ja 0x410d6f
sqrtsd xmm0, xmm0
movsd qword [esi + 8], xmm0
jmp 0x411972
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sqrt_precise
movsd qword [esi + 8], xmm0
jmp 0x411972
lea eax, [ebp - 0x2b0]
push 0x497130
push eax
call fcn.004021a0
add esp, 8
test al, al
je 0x410daf
movsd xmm0, qword [ebp - 0x3f8]
andps xmm0, xmmword [0x497cf0]
movsd qword [esi + 8], xmm0
jmp 0x411972
lea eax, [ebp - 0x2b0]
push 0x497134
push eax
call fcn.004021a0
add esp, 8
test al, al
je 0x410deb
movsd xmm0, qword [ebp - 0x3f8]
xorps xmm1, xmm1
comisd xmm1, xmm0
ja 0x41198f
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_log10_precise
movsd qword [esi + 8], xmm0
jmp 0x411972
lea eax, [ebp - 0x2b0]
push 0x497138
push eax
call fcn.004021a0
add esp, 8
test al, al
je 0x410e27
movsd xmm0, qword [ebp - 0x3f8]
xorps xmm1, xmm1
comisd xmm1, xmm0
ja 0x41198f
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_log_precise
movsd qword [esi + 8], xmm0
jmp 0x411972
lea eax, [ebp - 0x2b0]
push 0x49713c
push eax
call fcn.004021a0
add esp, 8
test al, al
je 0x410e56
movsd xmm0, qword [ebp - 0x3f8]
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_exp_precise
movsd qword [esi + 8], xmm0
jmp 0x411972
lea eax, [ebp - 0x2b0]
push 0x497140
push eax
call fcn.004021a0
add esp, 8
test al, al
je 0x410e88
cvttsd2si eax, qword [ebp - 0x3f8]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movsd qword [esi + 8], xmm0
jmp 0x411972
lea eax, [ebp - 0x2b0]
push 0x4971c0
push eax
call fcn.004021a0
add esp, 8
test al, al
je 0x410edb
movsd xmm1, qword [ebp - 0x3f8]
xorps xmm0, xmm0
comisd xmm0, xmm1
jbe 0x410ec3
movsd xmm0, qword [0x497cc8]
movsd qword [esi + 8], xmm0
jmp 0x411972
comisd xmm1, xmm0
jbe 0x410eb9
movsd xmm0, qword [0x497c78]
movsd qword [esi + 8], xmm0
jmp 0x411972
lea eax, [ebp - 0x2b0]
push 0x497144
push eax
call fcn.004021a0
add esp, 8
test al, al
je 0x411972
movsd xmm0, qword [ebp - 0x3f8]
sub esp, 8
mov ecx, edi
movsd qword [esp], xmm0
call fcn.00408fe0
fstp qword [esi + 8]
jmp 0x411972
lea eax, [ebp - 0x2b0]
push 0x49714c
push eax
call fcn.004021a0
add esp, 8
test al, al
je 0x410f65
cmp dword [ebp - 0x400], 1
jne 0x410f65
mov eax, dword [ebp - 0x3bc]
movsd xmm2, qword [eax + 0x10]
movsd xmm0, qword [eax + 8]
movsd xmm1, qword [eax + 0x18]
mulsd xmm0, xmm0
mulsd xmm2, xmm2
mulsd xmm1, xmm1
addsd xmm0, xmm2
addsd xmm0, xmm1
jmp 0x41130b
lea eax, [ebp - 0x2b0]
push 0x49714c
push eax
call fcn.004021a0
add esp, 8
test al, al
je 0x410fa7
cmp dword [ebp - 0x400], 6
jne 0x410fa7
mov eax, dword [ebp - 0x3bc]
movsd xmm1, qword [eax + 0x10]
movsd xmm0, qword [eax + 8]
mulsd xmm0, xmm0
mulsd xmm1, xmm1
addsd xmm0, xmm1
jmp 0x41130b
lea eax, [ebp - 0x2b0]
push str.normalize
push eax
call fcn.004021a0
add esp, 8
test al, al
je 0x41107a
cmp dword [ebp - 0x400], 1
jne 0x41107a
mov eax, dword [ebp - 0x3bc]
movsd xmm3, qword [eax + 8]
movsd xmm2, qword [eax + 0x10]
movaps xmm0, xmm3
movsd xmm1, qword [eax + 0x18]
mulsd xmm0, xmm3
mulsd xmm2, xmm2
mulsd xmm1, xmm1
movsd qword [ebp - 0x928], xmm3
addsd xmm0, xmm2
addsd xmm0, xmm1
xorps xmm1, xmm1
ucomisd xmm1, xmm0
ja 0x411013
sqrtsd xmm0, xmm0
jmp 0x411018
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sqrt_precise
movsd xmm1, qword [0x497c20]
movaps xmm2, xmm0
comisd xmm1, xmm2
jae 0x41198f
movsd xmm1, qword [ebp - 0x928]
divsd xmm1, xmm2
mov eax, dword [esi + 0x44]
movsd qword [eax + 8], xmm1
mov eax, dword [ebp - 0x3bc]
movsd xmm0, qword [eax + 0x10]
divsd xmm0, xmm2
mov eax, dword [esi + 0x44]
movsd qword [eax + 0x10], xmm0
mov eax, dword [ebp - 0x3bc]
movsd xmm0, qword [eax + 0x18]
divsd xmm0, xmm2
mov eax, dword [esi + 0x44]
movsd qword [eax + 0x18], xmm0
mov dword [esi], 1
jmp 0x411972
lea eax, [ebp - 0x2b0]
push str.normalize
push eax
call fcn.004021a0
add esp, 8
test al, al
je 0x411129
cmp dword [ebp - 0x400], 6
jne 0x411129
mov eax, dword [ebp - 0x3bc]
movsd xmm2, qword [eax + 8]
movsd xmm1, qword [eax + 0x10]
movaps xmm0, xmm2
mulsd xmm1, xmm1
mulsd xmm0, xmm2
movsd qword [ebp - 0x928], xmm2
addsd xmm0, xmm1
xorps xmm1, xmm1
ucomisd xmm1, xmm0
ja 0x4110d9
sqrtsd xmm0, xmm0
jmp 0x4110de
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sqrt_precise
movsd xmm1, qword [0x497c20]
movaps xmm2, xmm0
comisd xmm1, xmm2
jae 0x41198f
movsd xmm1, qword [ebp - 0x928]
divsd xmm1, xmm2
mov eax, dword [esi + 0x44]
movsd qword [eax + 8], xmm1
mov eax, dword [ebp - 0x3bc]
movsd xmm0, qword [eax + 0x10]
divsd xmm0, xmm2
mov eax, dword [esi + 0x44]
movsd qword [eax + 0x10], xmm0
mov dword [esi], 6
jmp 0x411972
lea eax, [ebp - 0x2b0]
push str.tpose
push eax
call fcn.004021a0
add esp, 8
test al, al
je 0x4111e8
cmp dword [ebp - 0x400], 3
jne 0x4111e8
lea ecx, [ebp - 0x370]
call fcn.0040ad10
mov edi, dword [ebp - 0x910]
lea ecx, [ebp - 0x370]
mov esi, eax
add edi, 0x90
call fcn.0040bec0
push eax
push esi
mov ecx, edi
call fcn.0040f080
mov ecx, dword [ebp - 0x908]
lea eax, [ebp - 0x370]
push edi
push eax
add ecx, 0x1b0
call fcn.0040f4d0
mov edi, dword [ebp - 0x910]
lea ecx, [ebp - 0x370]
mov dword [edi], 3
call fcn.0040ad10
lea ecx, [ebp - 0x370]
mov esi, eax
add edi, 0xb4
call fcn.0040bec0
push eax
push esi
mov ecx, edi
call fcn.0040f1c0
mov eax, dword [ebp - 0x910]
mov ecx, dword [ebp - 0x908]
add eax, 0x90
push eax
push edi
call fcn.00405f90
jmp 0x411972
lea eax, [ebp - 0x2b0]
push str.tnorm
push eax
call fcn.004021a0
add esp, 8
test al, al
je 0x41133d
cmp dword [ebp - 0x400], 3
jne 0x41133d
xorps xmm0, xmm0
lea ecx, [ebp - 0x370]
movsd qword [ebp - 0x928], xmm0
movsd qword [esi + 8], xmm0
call fcn.0040bec0
mov dword [ebp - 0x8fc], eax
cmp eax, 1
jle 0x41129c
lea ecx, [ebp - 0x370]
call fcn.0040ad10
cmp eax, 1
jne 0x411624
mov edi, eax
nop dword [eax]
push 1
push edi
lea ecx, [ebp - 0x370]
call fcn.004052e0
push 1
push edi
lea ecx, [ebp - 0x370]
mov esi, eax
call fcn.004052e0
movsd xmm0, qword [esi]
inc edi
mov esi, dword [ebp - 0x910]
mulsd xmm0, qword [eax]
addsd xmm0, qword [ebp - 0x928]
movsd qword [ebp - 0x928], xmm0
movsd qword [esi + 8], xmm0
cmp edi, dword [ebp - 0x8fc]
jle 0x411250
jmp 0x41130b
jne 0x411624
lea ecx, [ebp - 0x370]
call fcn.0040ad10
mov dword [ebp - 0x8fc], eax
cmp eax, 1
jle 0x411624
mov edi, 1
push edi
push 1
lea ecx, [ebp - 0x370]
call fcn.004052e0
push edi
push 1
lea ecx, [ebp - 0x370]
mov esi, eax
call fcn.004052e0
movsd xmm0, qword [esi]
inc edi
mov esi, dword [ebp - 0x910]
mulsd xmm0, qword [eax]
addsd xmm0, qword [ebp - 0x928]
movsd qword [ebp - 0x928], xmm0
movsd qword [esi + 8], xmm0
cmp edi, dword [ebp - 0x8fc]
jle 0x4112c1
xorps xmm1, xmm1
ucomisd xmm1, xmm0
ja 0x411328
sqrtsd xmm0, xmm0
mov dword [esi], 0
movsd qword [esi + 8], xmm0
jmp 0x411972
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sqrt_precise
movsd qword [esi + 8], xmm0
mov dword [esi], 0
jmp 0x411972
lea eax, [ebp - 0x2b0]
push 0x497214
push eax
call fcn.004021a0
add esp, 8
test al, al
je 0x4113a5
cmp dword [ebp - 0x400], 3
jne 0x4113a5
lea ecx, [ebp - 0x370]
call fcn.0040ad10
lea ecx, [ebp - 0x370]
mov esi, eax
call fcn.0040bec0
cmp eax, esi
jne 0x411624
mov esi, dword [ebp - 0x910]
lea ecx, [edi + 0x1b0]
lea eax, [esi + 8]
push eax
lea eax, [ebp - 0x370]
push eax
call fcn.00406940
mov dword [esi], 0
jmp 0x411972
lea eax, [ebp - 0x2b0]
push 0x4971a8
push eax
call fcn.004021a0
add esp, 8
test al, al
je 0x4113e8
cmp dword [ebp - 0x400], 3
jne 0x4113e8
push 0
lea eax, [ebp - 0x370]
push eax
lea ecx, [edi + 0x1b0]
call fcn.0040d4a0
fstp qword [esi + 8]
mov dword [esi], 0
jmp 0x411972
lea eax, [ebp - 0x2b0]
push 0x4971ac
push eax
call fcn.004021a0
add esp, 8
test al, al
je 0x41142b
cmp dword [ebp - 0x400], 3
jne 0x41142b
push 0
lea eax, [ebp - 0x370]
push eax
lea ecx, [edi + 0x1b0]
call fcn.0040d700
fstp qword [esi + 8]
mov dword [esi], 0
jmp 0x411972
lea eax, [ebp - 0x2b0]
push str.stdev
push eax
call fcn.004021a0
add esp, 8
test al, al
je 0x41146c
cmp dword [ebp - 0x400], 3
jne 0x41146c
lea eax, [ebp - 0x370]
push eax
lea ecx, [edi + 0x1d8]
call fcn.0040eeb0
fstp qword [esi + 8]
mov dword [esi], 0
jmp 0x411972
lea eax, [ebp - 0x2b0]
push str.stdeva
push eax
call fcn.004021a0
add esp, 8
test al, al
je 0x4114ad
cmp dword [ebp - 0x400], 3
jne 0x4114ad
lea eax, [ebp - 0x370]
push eax
lea ecx, [edi + 0x1d8]
call fcn.0040d930
fstp qword [esi + 8]
mov dword [esi], 0
jmp 0x411972
lea eax, [ebp - 0x2b0]
push str.median
push eax
call fcn.004021a0
add esp, 8
test al, al
je 0x4114ee
cmp dword [ebp - 0x400], 3
jne 0x4114ee
lea eax, [ebp - 0x370]
push eax
lea ecx, [edi + 0x1d8]
call fcn.0040d610
fstp qword [esi + 8]
mov dword [esi], 0
jmp 0x411972
lea eax, [ebp - 0x2b0]
push 0x4971f8
push eax
call fcn.004021a0
add esp, 8
test al, al
je 0x41152f
cmp dword [ebp - 0x400], 3
jne 0x41152f
lea eax, [ebp - 0x370]
push eax
lea ecx, [edi + 0x1d8]
call fcn.0040d5a0
fstp qword [esi + 8]
mov dword [esi], 0
jmp 0x411972
lea eax, [ebp - 0x2b0]
push str.eigen
push eax
call fcn.004021a0
mov esi, dword [ebp - 0x400]
add esp, 8
test al, al
je 0x41175e
cmp esi, 3
jne 0x41175e
lea eax, [ebp - 0x370]
push eax
lea ecx, [edi + 0x1b0]
call fcn.0040c620
test al, al
jne 0x41158e
lea ecx, [ebp - 0x400]
call fcn.00404440
lea ecx, [ebp - 0x2b0]
call fcn.00404190
lea eax, [esi + 0x1f]
jmp 0x414da3
lea ecx, [ebp - 0x370]
call fcn.0040bec0
push eax
lea ecx, [ebp - 0x2d0]
call fcn.00403890
lea ecx, [ebp - 0x370]
mov byte [ebp - 4], 2
call fcn.0040ad10
push eax
lea ecx, [ebp - 0x370]
call fcn.0040bec0
push eax
lea ecx, [ebp - 0x328]
call fcn.004035e0
push dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
movsd xmm0, qword [0x497c28]
lea eax, [ebp - 0x328]
push 0
push 0x28
sub esp, 8
mov byte [ebp - 4], 3
lea ecx, [edi + 0x1b0]
movsd qword [esp], xmm0
push eax
lea eax, [ebp - 0x2d0]
push eax
lea eax, [ebp - 0x370]
push eax
call fcn.0040c840
test al, al
jne 0x411644
lea ecx, [ebp - 0x328]
call fcn.00403f50
lea ecx, [ebp - 0x2d0]
call fcn.004040c0
lea ecx, [ebp - 0x400]
call fcn.00404440
lea ecx, [ebp - 0x2b0]
call fcn.00404190
mov eax, 0xc
jmp 0x414da3
lea ecx, [ebp - 0x370]
call fcn.0040bec0
mov ecx, dword [ebp - 0x910]
push eax
add ecx, 0x90
mov dword [ebp - 0x900], eax
lea esi, [eax + 1]
mov dword [ebp - 0x90c], ecx
push esi
call fcn.0040f080
mov eax, dword [ebp - 0x910]
push dword [ebp - 0x900]
add eax, 0xb4
push esi
mov ecx, eax
mov dword [ebp - 0x914], eax
call fcn.0040f1c0
mov esi, dword [ebp - 0x900]
mov edx, 1
mov dword [ebp - 0x904], edx
cmp esi, edx
jl 0x41174d
nop dword [eax]
mov ecx, dword [ebp - 0x90c]
push edx
push 1
call fcn.004052e0
mov edx, dword [ebp - 0x904]
mov ecx, dword [ebp - 0x2b4]
movsd xmm0, qword [ecx + edx*8]
inc edx
movsd qword [eax], xmm0
mov dword [ebp - 0x904], edx
cmp edx, esi
jle 0x4116b0
mov eax, 1
mov dword [ebp - 0x904], eax
nop dword [eax]
mov edi, 1
push eax
push edi
lea ecx, [ebp - 0x328]
call fcn.004052e0
mov ecx, dword [ebp - 0x90c]
mov esi, eax
mov eax, dword [ebp - 0x904]
inc eax
push edi
push eax
mov dword [ebp - 0x8fc], eax
call fcn.004052e0
movsd xmm0, qword [esi]
inc edi
mov esi, dword [ebp - 0x900]
movsd qword [eax], xmm0
mov eax, dword [ebp - 0x904]
cmp edi, esi
jle 0x4116f5
mov eax, dword [ebp - 0x8fc]
mov dword [ebp - 0x904], eax
cmp eax, esi
jle 0x4116f0
mov edi, dword [ebp - 0x908]
push dword [ebp - 0x90c]
push dword [ebp - 0x914]
jmp 0x411949
lea eax, [ebp - 0x2b0]
push str.eigenunsym
push eax
call fcn.004021a0
add esp, 8
test al, al
je 0x41198f
cmp esi, 3
jne 0x41198f
lea eax, [ebp - 0x370]
push eax
lea ecx, [edi + 0x1b0]
call fcn.0040c600
test al, al
jne 0x4117b7
lea ecx, [ebp - 0x400]
call fcn.00404440
lea ecx, [ebp - 0x2b0]
call fcn.00404190
lea eax, [esi + 0x20]
jmp 0x414da3
lea ecx, [ebp - 0x370]
call fcn.0040bec0
push eax
lea ecx, [ebp - 0x2d0]
call fcn.00403890
lea ecx, [ebp - 0x370]
mov byte [ebp - 4], 4
call fcn.0040ad10
push eax
lea ecx, [ebp - 0x370]
call fcn.0040bec0
push eax
lea ecx, [ebp - 0x328]
call fcn.004035e0
movsd xmm0, qword [0x497c28]
lea eax, [ebp - 0x328]
push eax
lea eax, [ebp - 0x2d0]
mov byte [ebp - 4], 5
push eax
sub esp, 8
lea eax, [ebp - 0x370]
lea ecx, [edi + 0x1b0]
movsd qword [esp], xmm0
push eax
call fcn.00416a90
test eax, eax
jne 0x41160e
lea ecx, [ebp - 0x370]
call fcn.0040bec0
mov ecx, eax
mov eax, dword [ebp - 0x910]
add eax, 0x90
mov dword [ebp - 0x900], ecx
push ecx
mov dword [ebp - 0x90c], eax
lea esi, [ecx + 1]
mov ecx, eax
push esi
call fcn.0040f080
mov eax, dword [ebp - 0x910]
push dword [ebp - 0x900]
add eax, 0xb4
push esi
mov ecx, eax
mov dword [ebp - 0x914], eax
call fcn.0040f1c0
mov esi, dword [ebp - 0x900]
mov edx, 1
mov dword [ebp - 0x904], edx
cmp esi, edx
jl 0x41193d
nop dword [eax]
mov ecx, dword [ebp - 0x90c]
push edx
push 1
call fcn.004052e0
mov edx, dword [ebp - 0x904]
mov ecx, dword [ebp - 0x2b4]
movsd xmm0, qword [ecx + edx*8]
inc edx
movsd qword [eax], xmm0
mov dword [ebp - 0x904], edx
cmp edx, esi
jle 0x4118a0
mov eax, 1
mov dword [ebp - 0x904], eax
nop dword [eax]
mov edi, 1
push edi
push eax
lea ecx, [ebp - 0x328]
call fcn.004052e0
mov ecx, dword [ebp - 0x90c]
mov esi, eax
mov eax, dword [ebp - 0x904]
inc eax
push edi
push eax
mov dword [ebp - 0x8fc], eax
call fcn.004052e0
movsd xmm0, qword [esi]
inc edi
mov esi, dword [ebp - 0x900]
movsd qword [eax], xmm0
mov eax, dword [ebp - 0x904]
cmp edi, esi
jle 0x4118e5
mov eax, dword [ebp - 0x8fc]
mov dword [ebp - 0x904], eax
cmp eax, esi
jle 0x4118e0
mov edi, dword [ebp - 0x908]
push dword [ebp - 0x90c]
push dword [ebp - 0x914]
mov ecx, edi
call fcn.00405f90
mov eax, dword [ebp - 0x910]
lea ecx, [ebp - 0x328]
mov dword [eax], 3
call fcn.00403f50
lea ecx, [ebp - 0x2d0]
call fcn.004040c0
lea ecx, [ebp - 0x400]
call fcn.00404440
lea ecx, [ebp - 0x2b0]
call fcn.00404190
xor eax, eax
jmp 0x414da3
lea ecx, [ebp - 0x400]
call fcn.00404440
lea ecx, [ebp - 0x2b0]
call fcn.00404190
mov eax, 7
jmp 0x414da3
lea edx, [edi + 4]
mov ecx, edx
lea eax, [ecx + 1]
mov dword [ebp - 0x8fc], eax
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4119c0
sub ecx, dword [ebp - 0x8fc]
push ecx
push edx
lea ecx, [ebp - 0x2b0]
call fcn.00410600
mov ecx, edi
call fcn.004152b0
mov dword [ebp - 0x8fc], eax
mov dword [edi + 0x108], eax
test eax, eax
je 0x411a07
lea ecx, [ebp - 0x2b0]
call fcn.00404190
mov eax, dword [ebp - 0x8fc]
jmp 0x414da3
cmp byte [edi + 4], 0x28
jne 0x412862
lea ecx, [ebp - 0x538]
call fcn.00403d30
lea ecx, [ebp - 0x400]
mov byte [ebp - 4], 6
call fcn.00403d30
lea eax, [ebp - 0x2b0]
mov byte [ebp - 4], 7
push 0x49715c
push eax
call fcn.004021a0
add esp, 8
test al, al
je 0x411b7a
lea eax, [ebp - 0x538]
mov ecx, edi
push eax
push 0x2c
push 0x28
call fcn.00408f80
mov esi, eax
mov dword [edi + 0x108], esi
test esi, esi
je 0x411a91
lea ecx, [ebp - 0x400]
call fcn.00404440
lea ecx, [ebp - 0x538]
call fcn.00404440
lea ecx, [ebp - 0x2b0]
call fcn.00404190
mov eax, esi
jmp 0x414da3
lea eax, [ebp - 0x400]
mov ecx, edi
push eax
push 0x29
push 0x2c
call fcn.00408f80
mov esi, eax
mov dword [edi + 0x108], esi
test esi, esi
jne 0x411a69
mov eax, dword [ebp - 0x538]
cmp eax, 1
jne 0x411ad8
cmp dword [ebp - 0x400], eax
je 0x411aed
lea ecx, [ebp - 0x400]
call fcn.00404440
lea ecx, [ebp - 0x538]
jmp 0x41162a
cmp eax, 6
jne 0x4126ad
cmp dword [ebp - 0x400], eax
jne 0x4126ad
lea eax, [ebp - 0x3d8]
push eax
lea ecx, [ebp - 0x510]
call fcn.00404c40
lea eax, [ebp - 0x3d8]
fstp qword [ebp - 0x920]
push eax
lea ecx, [edi + 0x1b0]
call fcn.0040f7e0
lea eax, [ebp - 0x510]
fstp qword [ebp - 0x928]
push eax
lea ecx, [edi + 0x1b0]
call fcn.0040f7e0
fmul qword [ebp - 0x928]
fdivr qword [ebp - 0x920]
fstp qword [ebp - 0x928]
movsd xmm0, qword [ebp - 0x928]
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_acos_precise
mov eax, dword [ebp - 0x910]
movsd qword [eax + 8], xmm0
cmp byte [0xf0aa60], 0
je 0x411b6f
mulsd xmm0, qword [0x497ca8]
movsd qword [eax + 8], xmm0
mov dword [eax], 0
jmp 0x412237
lea eax, [ebp - 0x2b0]
push 0x497168
push eax
call fcn.004021a0
add esp, 8
test al, al
je 0x411d60
lea eax, [ebp - 0x538]
mov ecx, edi
push eax
push 0x2c
push 0x28
call fcn.00408f80
mov dword [ebp - 0x8fc], eax
mov dword [edi + 0x108], eax
test eax, eax
je 0x411be4
lea ecx, [ebp - 0x400]
call fcn.00404440
lea ecx, [ebp - 0x538]
call fcn.00404440
lea ecx, [ebp - 0x2b0]
call fcn.00404190
mov eax, dword [ebp - 0x8fc]
jmp 0x414da3
lea eax, [ebp - 0x400]
mov ecx, edi
push eax
push 0x29
push 0x2c
call fcn.00408f80
mov dword [ebp - 0x8fc], eax
mov dword [edi + 0x108], eax
test eax, eax
je 0x411c32
lea ecx, [ebp - 0x400]
call fcn.00404440
lea ecx, [ebp - 0x538]
call fcn.00404440
lea ecx, [ebp - 0x2b0]
call fcn.00404190
mov eax, dword [ebp - 0x8fc]
jmp 0x414da3
mov eax, dword [ebp - 0x538]
cmp eax, 2
jne 0x411cce
cmp dword [ebp - 0x400], eax
jne 0x4126ad
mov eax, dword [ebp - 0x4f4]
lea ecx, [ebp - 0x328]
sub esp, 0x18
movups xmm0, xmmword [eax + 0x10]
movups xmmword [esp + 8], xmm0
movsd xmm0, qword [eax + 8]
movsd qword [esp], xmm0
call fcn.00403700
mov eax, dword [ebp - 0x3bc]
lea ecx, [ebp - 0x2d0]
sub esp, 0x18
movups xmm0, xmmword [eax + 0x10]
movups xmmword [esp + 8], xmm0
movsd xmm0, qword [eax + 8]
movsd qword [esp], xmm0
call fcn.00403700
cmp dword [esi], 1
lea eax, [esi + 0x28]
je 0x411caf
push 3
mov ecx, eax
call fcn.0040f3f0
lea eax, [esi + 0x28]
push eax
lea eax, [ebp - 0x2d0]
push eax
lea ecx, [ebp - 0x328]
call fcn.0040f8b0
mov eax, 1
mov dword [esi], eax
jmp 0x412237
cmp eax, 7
jne 0x4126ad
cmp dword [ebp - 0x400], eax
jne 0x4126ad
mov eax, dword [ebp - 0x4f4]
lea ecx, [ebp - 0x328]
sub esp, 0x18
xorps xmm0, xmm0
movsd qword [esp + 0x10], xmm0
movups xmm0, xmmword [eax + 8]
movups xmmword [esp], xmm0
call fcn.00403700
mov eax, dword [ebp - 0x3bc]
lea ecx, [ebp - 0x2d0]
sub esp, 0x18
xorps xmm0, xmm0
movsd qword [esp + 0x10], xmm0
movups xmm0, xmmword [eax + 8]
movups xmmword [esp], xmm0
call fcn.00403700
cmp dword [esi], 6
lea eax, [esi + 0x28]
je 0x411d41
push 2
mov ecx, eax
call fcn.0040f3f0
lea eax, [esi + 0x28]
push eax
lea eax, [ebp - 0x2d0]
push eax
lea ecx, [ebp - 0x328]
call fcn.0040f8b0
mov eax, 6
mov dword [esi], eax
jmp 0x412237
lea eax, [ebp - 0x2b0]
push 0x4971f4
push eax
call fcn.004021a0
add esp, 8
test al, al
je 0x411e73
lea eax, [ebp - 0x538]
mov ecx, edi
push eax
push 0x2c
push 0x28
call fcn.00408f80
mov dword [ebp - 0x8fc], eax
mov dword [edi + 0x108], eax
test eax, eax
je 0x411dca
lea ecx, [ebp - 0x400]
call fcn.00404440
lea ecx, [ebp - 0x538]
call fcn.00404440
lea ecx, [ebp - 0x2b0]
call fcn.00404190
mov eax, dword [ebp - 0x8fc]
jmp 0x414da3
lea eax, [ebp - 0x400]
mov ecx, edi
push eax
push 0x29
push 0x2c
call fcn.00408f80
mov dword [ebp - 0x8fc], eax
mov dword [edi + 0x108], eax
test eax, eax
je 0x411e18
lea ecx, [ebp - 0x400]
call fcn.00404440
lea ecx, [ebp - 0x538]
call fcn.00404440
lea ecx, [ebp - 0x2b0]
call fcn.00404190
mov eax, dword [ebp - 0x8fc]
jmp 0x414da3
cmp dword [ebp - 0x538], 0
jne 0x4126ad
cmp dword [ebp - 0x400], 0
jne 0x4126ad
movsd xmm0, qword [ebp - 0x530]
movsd xmm1, qword [ebp - 0x3f8]
comisd xmm0, xmm1
jae 0x4126ad
sub esp, 0x10
lea ecx, [edi + 0x628]
movsd qword [esp + 8], xmm1
movsd qword [esp], xmm0
call fcn.00421d70
fstp qword [esi + 8]
mov dword [esi], 0
jmp 0x412237
lea eax, [ebp - 0x2b0]
push 0x497194
push eax
call fcn.004021a0
add esp, 8
test al, al
je 0x4122ea
lea eax, [ebp - 0x538]
mov ecx, edi
push eax
push 0x2c
push 0x28
call fcn.00408f80
mov dword [ebp - 0x8fc], eax
mov dword [edi + 0x108], eax
test eax, eax
je 0x411edd
lea ecx, [ebp - 0x400]
call fcn.00404440
lea ecx, [ebp - 0x538]
call fcn.00404440
lea ecx, [ebp - 0x2b0]
call fcn.00404190
mov eax, dword [ebp - 0x8fc]
jmp 0x414da3
lea eax, [ebp - 0x400]
mov ecx, edi
push eax
push 0x2c
push 0x2c
call fcn.00408f80
mov dword [ebp - 0x8fc], eax
mov dword [edi + 0x108], eax
test eax, eax
je 0x411f2b
lea ecx, [ebp - 0x400]
call fcn.00404440
lea ecx, [ebp - 0x538]
call fcn.00404440
lea ecx, [ebp - 0x2b0]
call fcn.00404190
mov eax, dword [ebp - 0x8fc]
jmp 0x414da3
cmp dword [ebp - 0x538], 0
jne 0x4122bf
cmp dword [ebp - 0x400], 0
jne 0x4122bf
cvttsd2si edx, qword [ebp - 0x530]
cvttsd2si ecx, qword [ebp - 0x3f8]
mov dword [edi + 0x120], edx
lea eax, [edx - 1]
mov dword [edi + 0x124], ecx
cmp eax, 0x18
ja 0x4122bf
lea eax, [ecx - 1]
cmp eax, 0x18
ja 0x4122bf
push ecx
push edx
lea ecx, [esi + 0x90]
call fcn.0040f080
push dword [edi + 0x124]
lea ecx, [esi + 0xb4]
push dword [edi + 0x120]
call fcn.0040f1c0
mov ecx, 1
mov dword [ebp - 0x904], ecx
cmp dword [edi + 0x120], ecx
jl 0x4122b8
mov edx, dword [edi + 0x124]
mov eax, 1
mov dword [ebp - 0x900], eax
cmp edx, eax
jl 0x412171
nop dword [eax]
cmp ecx, dword [edi + 0x120]
jne 0x412103
cmp eax, edx
jne 0x412103
lea eax, [ebp - 0x400]
mov ecx, edi
push eax
push 0x29
push 0x2c
call fcn.00408f80
mov dword [ebp - 0x8fc], eax
mov dword [edi + 0x108], eax
test eax, eax
jne 0x412276
push 1
lea ecx, [ebp - 0x6a0]
call fcn.00403950
movsd xmm0, qword [ebp - 0x3f8]
lea ecx, [ebp - 0x6a0]
sub esp, 8
mov byte [ebp - 4], 8
movsd qword [esp], xmm0
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___double_]
lea eax, [ebp - 0x460]
push eax
lea ecx, [ebp - 0x6a0]
call fcn.004168d0
push dword [ebp - 0x900]
lea ecx, [esi + 0xb4]
mov dword [ebp - 0x908], eax
push dword [ebp - 0x904]
call fcn.00405320
mov dword [ebp - 0x8fc], eax
cmp eax, dword [ebp - 0x908]
je 0x4120a8
mov ecx, eax
call fcn.004103d0
mov eax, dword [ebp - 0x908]
mov ecx, dword [ebp - 0x8fc]
movups xmm0, xmmword [eax]
movups xmmword [ecx], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ecx + 0x10], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
lea ecx, [ebp - 0x460]
call fcn.00404190
mov eax, dword [ebp - 0x6a0]
mov byte [ebp - 4], 7
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_ostringstream_char__struct_std::char_traits_char___class_std::allocator_char__.virtual_0], vtable.std::basic_ostringstream_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov eax, dword [ebp - 0x6a0]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x50]
mov dword [ebp + ecx - 0x6a4], eax
lea ecx, [ebp - 0x69c]
call fcn.004041e0
lea ecx, [ebp - 0x698]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_ostream_char__struct_std::char_traits_char__::destructor_void_]
lea ecx, [ebp - 0x650]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::destructor_void_]
jmp 0x412150
push 0
push 0x516008
mov ecx, edi
call fcn.00415820
push dword [ebp - 0x900]
lea ecx, [esi + 0xb4]
push dword [ebp - 0x904]
call fcn.00405320
cmp eax, 0x516008
je 0x412150
cmp dword [0x51601c], 0x10
mov ecx, 0x516008
push dword [0x516018]
cmovae ecx, dword [0x516008]
push ecx
mov ecx, eax
call fcn.00410600
mov eax, dword [ebp - 0x900]
mov edx, dword [edi + 0x124]
inc eax
mov ecx, dword [ebp - 0x904]
mov dword [ebp - 0x900], eax
cmp eax, edx
jle 0x411fd0
mov eax, dword [edi + 0x120]
inc ecx
mov dword [ebp - 0x904], ecx
cmp ecx, eax
jle 0x411fb4
mov ecx, dword [edi]
mov dword [ebp - 0x908], ecx
mov ecx, 1
mov dword [ebp - 0x904], ecx
cmp eax, ecx
jl 0x412229
mov eax, 1
mov dword [ebp - 0x900], eax
cmp dword [edi + 0x124], eax
jl 0x412216
lea edx, [ebp - 0x928]
push edx
push eax
push ecx
lea ecx, [esi + 0xb4]
call fcn.00405320
push eax
mov ecx, edi
call fcn.00407b30
test eax, eax
jne 0x4122a2
push dword [ebp - 0x900]
lea ecx, [esi + 0x90]
push dword [ebp - 0x904]
call fcn.004052e0
movsd xmm0, qword [ebp - 0x928]
mov ecx, dword [ebp - 0x904]
movsd qword [eax], xmm0
mov eax, dword [ebp - 0x900]
inc eax
mov dword [ebp - 0x900], eax
cmp eax, dword [edi + 0x124]
jle 0x4121b4
inc ecx
mov dword [ebp - 0x904], ecx
cmp ecx, dword [edi + 0x120]
jle 0x4121a1
mov eax, dword [ebp - 0x908]
mov dword [edi], eax
mov dword [esi], 3
mov ecx, edi
call fcn.004152b0
mov esi, eax
lea ecx, [ebp - 0x400]
mov dword [edi + 0x108], esi
call fcn.00404440
lea ecx, [ebp - 0x538]
call fcn.00404440
lea ecx, [ebp - 0x2b0]
call fcn.00404190
test esi, esi
je 0x411988
mov eax, esi
jmp 0x414da3
lea ecx, [ebp - 0x400]
call fcn.00404440
lea ecx, [ebp - 0x538]
call fcn.00404440
lea ecx, [ebp - 0x2b0]
call fcn.00404190
mov eax, dword [ebp - 0x8fc]
jmp 0x414da3
lea ecx, [ebp - 0x400]
call fcn.00404440
lea ecx, [ebp - 0x538]
jmp 0x411995
mov eax, dword [edi]
jmp 0x41222f
lea ecx, [ebp - 0x400]
call fcn.00404440
lea ecx, [ebp - 0x538]
call fcn.00404440
lea ecx, [ebp - 0x2b0]
call fcn.00404190
mov eax, 0xf
jmp 0x414da3
lea eax, [ebp - 0x2b0]
push 0x497174
push eax
call fcn.004021a0
add esp, 8
test al, al
je 0x4123f7
push 0
push 0x516008
mov ecx, edi
call fcn.00415820
lea eax, [ebp - 0x400]
mov ecx, edi
push eax
push 0x29
push 0x2c
call fcn.00408f80
mov dword [ebp - 0x8fc], eax
mov dword [edi + 0x108], eax
test eax, eax
je 0x412362
lea ecx, [ebp - 0x400]
call fcn.00404440
lea ecx, [ebp - 0x538]
call fcn.00404440
lea ecx, [ebp - 0x2b0]
call fcn.00404190
mov eax, dword [ebp - 0x8fc]
jmp 0x414da3
cmp dword [ebp - 0x400], 0
jne 0x4126ad
lea ecx, [ebp - 0x929]
call fcn.0041a870
movsd xmm0, qword [ebp - 0x3f8]
lea eax, [ebp - 0x914]
push eax
sub esp, 8
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x929]
movsd qword [esp], xmm0
push 0x40f9a0
call fcn.0041ac40
cmp dword [ebp - 0x914], 0
lea ecx, [ebp - 0x929]
fstp qword [esi + 8]
je 0x4123e7
call fcn.0041aa00
lea ecx, [ebp - 0x400]
call fcn.00404440
lea ecx, [ebp - 0x538]
call fcn.00404440
lea ecx, [ebp - 0x2b0]
call fcn.00404190
mov eax, 0x10
jmp 0x414da3
mov dword [esi], 0
call fcn.0041aa00
jmp 0x412237
lea eax, [ebp - 0x2b0]
push str.solve
push eax
call fcn.004021a0
add esp, 8
test al, al
je 0x412597
lea eax, [ebp - 0x538]
mov ecx, edi
push eax
push 0x2c
push 0x28
call fcn.00408f80
mov dword [ebp - 0x8fc], eax
mov dword [edi + 0x108], eax
test eax, eax
je 0x412461
lea ecx, [ebp - 0x400]
call fcn.00404440
lea ecx, [ebp - 0x538]
call fcn.00404440
lea ecx, [ebp - 0x2b0]
call fcn.00404190
mov eax, dword [ebp - 0x8fc]
jmp 0x414da3
lea eax, [ebp - 0x400]
mov ecx, edi
push eax
push 0x29
push 0x2c
call fcn.00408f80
mov dword [ebp - 0x8fc], eax
mov dword [edi + 0x108], eax
test eax, eax
je 0x4124af
lea ecx, [ebp - 0x400]
call fcn.00404440
lea ecx, [ebp - 0x538]
call fcn.00404440
lea ecx, [ebp - 0x2b0]
call fcn.00404190
mov eax, dword [ebp - 0x8fc]
jmp 0x414da3
cmp dword [ebp - 0x538], 3
jne 0x4126ad
cmp dword [ebp - 0x400], 3
jne 0x4126ad
push 1
lea ecx, [ebp - 0x4a8]
call fcn.0040bec0
push eax
lea ecx, [esi + 0x90]
call fcn.0040f080
push 1
lea ecx, [ebp - 0x4a8]
call fcn.0040bec0
push eax
lea ecx, [esi + 0xb4]
call fcn.0040f1c0
lea eax, [ebp - 0x370]
push eax
lea ecx, [esi + 0x90]
call fcn.00404600
movsd xmm0, qword [0x497c28]
lea ecx, [esi + 0x90]
sub esp, 8
movsd qword [esp], xmm0
call fcn.0040ad10
push eax
lea eax, [esi + 0x90]
push eax
lea ecx, [ebp - 0x4a8]
call fcn.0040bec0
push eax
lea eax, [ebp - 0x4a8]
push eax
lea ecx, [edi + 0x1b0]
call fcn.00409670
test eax, eax
je 0x41257d
lea ecx, [ebp - 0x400]
call fcn.00404440
lea ecx, [ebp - 0x538]
call fcn.00404440
lea ecx, [ebp - 0x2b0]
call fcn.00404190
mov eax, 0x1c
jmp 0x414da3
lea eax, [esi + 0x90]
mov ecx, edi
push eax
lea eax, [esi + 0xb4]
push eax
call fcn.00405f90
jmp 0x412231
lea eax, [ebp - 0x2b0]
push str.geigen
push eax
call fcn.004021a0
add esp, 8
test al, al
je 0x412237
lea eax, [ebp - 0x538]
mov ecx, edi
push eax
push 0x2c
push 0x28
call fcn.00408f80
mov esi, eax
mov dword [edi + 0x108], esi
test esi, esi
jne 0x411a69
lea eax, [ebp - 0x400]
mov ecx, edi
push eax
push 0x29
push 0x2c
call fcn.00408f80
mov esi, eax
mov dword [edi + 0x108], esi
test esi, esi
jne 0x411a69
cmp dword [ebp - 0x538], 3
jne 0x4126ad
cmp dword [ebp - 0x400], 3
jne 0x4126ad
lea ecx, [ebp - 0x4a8]
call fcn.0040bec0
push eax
lea ecx, [ebp - 0x2d0]
call fcn.00403890
lea ecx, [ebp - 0x4a8]
mov byte [ebp - 4], 0xa
call fcn.0040ad10
push eax
lea ecx, [ebp - 0x4a8]
call fcn.0040bec0
push eax
lea ecx, [ebp - 0x328]
call fcn.004035e0
push dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
movsd xmm0, qword [0x497c28]
lea eax, [ebp - 0x2d0]
push esi
sub esp, 8
mov byte [ebp - 4], 0xb
lea ecx, [edi + 0x1b0]
movsd qword [esp], xmm0
push 0x28
push eax
lea eax, [ebp - 0x328]
push eax
lea eax, [ebp - 0x370]
push eax
lea eax, [ebp - 0x4a8]
push eax
call fcn.00409ae0
test al, al
jne 0x4126c3
lea ecx, [ebp - 0x328]
call fcn.00403f50
lea ecx, [ebp - 0x2d0]
call fcn.004040c0
lea ecx, [ebp - 0x400]
call fcn.00404440
lea ecx, [ebp - 0x538]
jmp 0x41162a
lea ecx, [ebp - 0x4a8]
call fcn.0040bec0
mov ecx, eax
mov eax, dword [ebp - 0x910]
add eax, 0x90
mov dword [ebp - 0x900], ecx
push ecx
mov dword [ebp - 0x90c], eax
lea esi, [ecx + 1]
mov ecx, eax
push esi
call fcn.0040f080
mov eax, dword [ebp - 0x910]
push dword [ebp - 0x900]
add eax, 0xb4
push esi
mov ecx, eax
mov dword [ebp - 0x914], eax
call fcn.0040f1c0
mov esi, dword [ebp - 0x900]
mov edx, 1
mov dword [ebp - 0x904], edx
cmp esi, edx
jl 0x4127cd
nop dword [eax + eax]
mov ecx, dword [ebp - 0x90c]
push edx
push 1
call fcn.004052e0
mov edx, dword [ebp - 0x904]
mov ecx, dword [ebp - 0x2b4]
movsd xmm0, qword [ecx + edx*8]
inc edx
movsd qword [eax], xmm0
mov dword [ebp - 0x904], edx
cmp edx, esi
jle 0x412730
mov eax, 1
mov dword [ebp - 0x904], eax
nop dword [eax]
mov edi, 1
push edi
push eax
lea ecx, [ebp - 0x328]
call fcn.004052e0
mov ecx, dword [ebp - 0x90c]
mov esi, eax
mov eax, dword [ebp - 0x904]
inc eax
push edi
push eax
mov dword [ebp - 0x8fc], eax
call fcn.004052e0
movsd xmm0, qword [esi]
inc edi
mov esi, dword [ebp - 0x900]
movsd qword [eax], xmm0
mov eax, dword [ebp - 0x904]
cmp edi, esi
jle 0x412775
mov eax, dword [ebp - 0x8fc]
mov dword [ebp - 0x904], eax
cmp eax, esi
jle 0x412770
mov edi, dword [ebp - 0x908]
push dword [ebp - 0x90c]
mov ecx, edi
push dword [ebp - 0x914]
call fcn.00405f90
mov eax, dword [ebp - 0x910]
lea ecx, [ebp - 0x328]
mov dword [eax], 3
call fcn.00403f50
lea ecx, [ebp - 0x2d0]
call fcn.004040c0
jmp 0x412237
lea edx, [edi + 4]
mov ecx, edx
lea eax, [ecx + 1]
mov dword [ebp - 0x8fc], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x412815
sub ecx, dword [ebp - 0x8fc]
push ecx
push edx
lea ecx, [ebp - 0x2b0]
call fcn.00410600
mov ecx, edi
call fcn.004152b0
mov dword [ebp - 0x8fc], eax
mov dword [edi + 0x108], eax
test eax, eax
je 0x41285c
lea ecx, [ebp - 0x2b0]
call fcn.00404190
mov eax, dword [ebp - 0x8fc]
jmp 0x414da3
cmp byte [edi + 4], 0x28
je 0x412877
lea ecx, [ebp - 0x2b0]
call fcn.00404190
mov eax, 6
jmp 0x414da3
lea ecx, [ebp - 0x6e0]
call fcn.00403d30
lea ecx, [ebp - 0x538]
mov byte [ebp - 4], 0xc
call fcn.00403d30
lea ecx, [ebp - 0x400]
mov byte [ebp - 4], 0xd
call fcn.00403d30
lea eax, [ebp - 0x2b0]
mov byte [ebp - 4], 0xe
push 0x497160
push eax
call fcn.004021a0
add esp, 8
test al, al
jne 0x413136
lea eax, [ebp - 0x2b0]
push str.vec2d
push eax
call fcn.004021a0
add esp, 8
test al, al
jne 0x413136
lea eax, [ebp - 0x2b0]
push 0x497164
push eax
call fcn.004021a0
add esp, 8
test al, al
je 0x4129ed
push 3
lea ecx, [esi + 0x28]
call fcn.0040f3f0
mov dword [ebp - 0x900], 0x48
nop dword [eax]
push 0
push 0x516008
mov ecx, edi
call fcn.00415820
cmp eax, 0xffffffff
je 0x413288
mov eax, dword [ebp - 0x900]
lea ecx, [eax + esi]
cmp ecx, 0x516008
je 0x41295d
cmp dword [0x51601c], 0x10
mov eax, 0x516008
push dword [0x516018]
cmovae eax, dword [0x516008]
push eax
call fcn.00410600
mov eax, dword [ebp - 0x900]
add eax, 0x18
mov dword [ebp - 0x900], eax
cmp eax, 0x90
jl 0x412910
mov dword [esi], 2
mov eax, dword [edi]
mov dword [ebp - 0x8fc], eax
xor eax, eax
mov dword [ebp - 0x904], 0
mov dword [ebp - 0x900], eax
nop dword [eax]
lea ecx, [ebp - 0x928]
add eax, 0x48
push ecx
add eax, esi
mov ecx, edi
push eax
call fcn.00407b30
test eax, eax
jne 0x413288
mov ecx, dword [ebp - 0x904]
mov eax, dword [esi + 0x44]
movsd xmm0, qword [ebp - 0x928]
movsd qword [eax + ecx + 8], xmm0
add ecx, 8
mov eax, dword [ebp - 0x900]
add eax, 0x18
mov dword [ebp - 0x904], ecx
mov dword [ebp - 0x900], eax
cmp eax, 0x48
jl 0x412990
mov eax, dword [ebp - 0x8fc]
mov dword [edi], eax
jmp 0x413dd7
lea eax, [ebp - 0x2b0]
push 0x49716c
push eax
call fcn.004021a0
add esp, 8
test al, al
je 0x412b68
push 0
push 0x516008
mov ecx, edi
call fcn.00415820
lea eax, [ebp - 0x538]
mov ecx, edi
push eax
push 0x2c
push 0x2c
call fcn.00408f80
mov dword [ebp - 0x8fc], eax
mov dword [edi + 0x108], eax
test eax, eax
je 0x412a70
lea ecx, [ebp - 0x400]
call fcn.00404440
lea ecx, [ebp - 0x538]
call fcn.00404440
lea ecx, [ebp - 0x6e0]
call fcn.00404440
lea ecx, [ebp - 0x2b0]
call fcn.00404190
mov eax, dword [ebp - 0x8fc]
jmp 0x414da3
lea eax, [ebp - 0x400]
mov ecx, edi
push eax
push 0x29
push 0x2c
call fcn.00408f80
mov dword [ebp - 0x8fc], eax
mov dword [edi + 0x108], eax
test eax, eax
je 0x412ac9
lea ecx, [ebp - 0x400]
call fcn.00404440
lea ecx, [ebp - 0x538]
call fcn.00404440
lea ecx, [ebp - 0x6e0]
call fcn.00404440
lea ecx, [ebp - 0x2b0]
call fcn.00404190
mov eax, dword [ebp - 0x8fc]
jmp 0x414da3
cmp dword [ebp - 0x538], 0
jne 0x413edd
cmp dword [ebp - 0x400], 0
jne 0x413edd
movsd xmm0, qword [ebp - 0x3f8]
movsd xmm1, qword [ebp - 0x530]
comisd xmm0, xmm1
jbe 0x413edd
lea eax, [ebp - 0x914]
push eax
sub esp, 0x10
lea ecx, [edi + 0x1f0]
movsd qword [esp + 8], xmm0
movsd qword [esp], xmm1
push 0x40f9a0
call fcn.0041aa20
cmp dword [ebp - 0x914], 0
fstp qword [esi + 8]
je 0x412d29
lea ecx, [ebp - 0x400]
call fcn.00404440
lea ecx, [ebp - 0x538]
call fcn.00404440
lea ecx, [ebp - 0x6e0]
call fcn.00404440
lea ecx, [ebp - 0x2b0]
call fcn.00404190
mov eax, 0x11
jmp 0x414da3
lea eax, [ebp - 0x2b0]
push 0x49717c
push eax
call fcn.004021a0
add esp, 8
test al, al
je 0x412d6a
push 0
push 0x516008
mov ecx, edi
call fcn.00415820
lea eax, [ebp - 0x538]
mov ecx, edi
push eax
push 0x2c
push 0x2c
call fcn.00408f80
mov dword [ebp - 0x8fc], eax
mov dword [edi + 0x108], eax
test eax, eax
je 0x412beb
lea ecx, [ebp - 0x400]
call fcn.00404440
lea ecx, [ebp - 0x538]
call fcn.00404440
lea ecx, [ebp - 0x6e0]
call fcn.00404440
lea ecx, [ebp - 0x2b0]
call fcn.00404190
mov eax, dword [ebp - 0x8fc]
jmp 0x414da3
lea eax, [ebp - 0x400]
mov ecx, edi
push eax
push 0x29
push 0x2c
call fcn.00408f80
mov dword [ebp - 0x8fc], eax
mov dword [edi + 0x108], eax
test eax, eax
je 0x412c44
lea ecx, [ebp - 0x400]
call fcn.00404440
lea ecx, [ebp - 0x538]
call fcn.00404440
lea ecx, [ebp - 0x6e0]
call fcn.00404440
lea ecx, [ebp - 0x2b0]
call fcn.00404190
mov eax, dword [ebp - 0x8fc]
jmp 0x414da3
cmp dword [ebp - 0x538], 0
jne 0x412d34
cmp dword [ebp - 0x400], 0
jne 0x412d34
movsd xmm0, qword [ebp - 0x530]
lea eax, [esi + 8]
movsd qword [eax], xmm0
mov ecx, dword [edi]
mov dword [ebp - 0x914], ecx
lea ecx, [ebp - 0x8fc]
push ecx
push 0x40fba0
lea ecx, [ebp - 0x91c]
push ecx
push eax
lea ecx, [edi + 0x5f8]
call fcn.00419a00
test al, al
jne 0x412d21
mov eax, dword [ebp - 0x8fc]
cmp eax, 1
je 0x412fae
cmp eax, 2
jne 0x412ce6
lea ecx, [ebp - 0x400]
call fcn.00404440
lea ecx, [ebp - 0x538]
call fcn.00404440
lea ecx, [ebp - 0x6e0]
call fcn.00404440
lea ecx, [ebp - 0x2b0]
call fcn.00404190
mov eax, 0x13
jmp 0x414da3
cmp eax, 3
jne 0x412d21
lea ecx, [ebp - 0x400]
call fcn.00404440
lea ecx, [ebp - 0x538]
call fcn.00404440
lea ecx, [ebp - 0x6e0]
call fcn.00404440
lea ecx, [ebp - 0x2b0]
call fcn.00404190
mov eax, 0x14
jmp 0x414da3
mov eax, dword [ebp - 0x914]
mov dword [edi], eax
mov dword [esi], 0
jmp 0x413dd7
lea ecx, [ebp - 0x400]
call fcn.00404440
lea ecx, [ebp - 0x538]
call fcn.00404440
lea ecx, [ebp - 0x6e0]
call fcn.00404440
lea ecx, [ebp - 0x2b0]
call fcn.00404190
mov eax, 0x15
jmp 0x414da3
lea eax, [ebp - 0x2b0]
push str.root2
push eax
call fcn.004021a0
add esp, 8
test al, al
jne 0x412d9e
lea eax, [ebp - 0x2b0]
push str.root3
push eax
call fcn.004021a0
add esp, 8
test al, al
je 0x413dd7
lea eax, [ebp - 0x2b0]
push str.root2
push eax
call fcn.004021a0
add esp, 8
movzx eax, al
xor eax, 1
add eax, 2
mov dword [ebp - 0x904], eax
push fcn.00404190
push fcn.00403c00
push 4
mov dword [ebp - 0x8fc], eax
lea eax, [ebp - 0x298]
push 0x18
push eax
call fcn.00481fef
mov eax, dword [ebp - 0x904]
mov byte [ebp - 4], 0x48
lea ecx, [eax + 1]
inc eax
mov dword [ebp - 0x90c], ecx
lea ecx, [ebp - 0x2d0]
push eax
call fcn.00403890
cmp dword [ebp - 0x90c], 0
mov byte [ebp - 4], 0x49
mov dword [ebp - 0x914], 0
jbe 0x412f32
lea eax, [ebp - 0x298]
mov dword [ebp - 0x900], eax
nop dword [eax + eax]
push 0
push 0x516008
mov ecx, edi
call fcn.00415820
cmp eax, 0xffffffff
je 0x412f09
mov ecx, dword [ebp - 0x900]
cmp ecx, 0x516008
je 0x412e7a
cmp dword [0x51601c], 0x10
mov eax, 0x516008
push dword [0x516018]
cmovae eax, dword [0x516008]
push eax
call fcn.00410600
mov ecx, dword [ebp - 0x900]
mov eax, dword [ebp - 0x914]
add ecx, 0x18
inc eax
mov dword [ebp - 0x900], ecx
mov dword [ebp - 0x914], eax
cmp eax, dword [ebp - 0x90c]
jl 0x412e30
mov eax, dword [edi]
mov dword [ebp - 0x91c], eax
lea eax, [ebp - 0x298]
mov dword [ebp - 0x914], 0
mov dword [ebp - 0x900], eax
lea ecx, [ebp - 0x928]
push ecx
push eax
mov ecx, edi
call fcn.00407b30
test eax, eax
jne 0x412f09
mov ecx, dword [ebp - 0x914]
mov eax, dword [ebp - 0x2b4]
movsd xmm0, qword [ebp - 0x928]
movsd qword [eax + ecx*8 + 8], xmm0
inc ecx
mov eax, dword [ebp - 0x900]
add eax, 0x18
mov dword [ebp - 0x914], ecx
mov dword [ebp - 0x900], eax
cmp ecx, dword [ebp - 0x90c]
jl 0x412eb6
mov eax, dword [ebp - 0x91c]
jmp 0x412f34
lea ecx, [ebp - 0x2d0]
call fcn.004040c0
push fcn.00404190
push 4
push 0x18
lea eax, [ebp - 0x298]
mov byte [ebp - 4], 0xe
push eax
call fcn.00482068
jmp 0x413288
mov eax, dword [edi]
mov dword [edi], eax
lea eax, [ebp - 0x2b0]
push str.root2
push eax
call fcn.004021a0
add esp, 8
test al, al
je 0x412fe4
lea eax, [esi + 0x90]
push 1
push dword [ebp - 0x904]
mov ecx, eax
mov dword [ebp - 0x900], eax
call fcn.0040f080
lea eax, [esi + 0x90]
mov ecx, edi
push eax
lea eax, [ebp - 0x2d0]
push eax
call fcn.0040e0e0
test al, al
jne 0x41309d
lea ecx, [ebp - 0x2d0]
call fcn.004040c0
push fcn.00404190
push 4
push 0x18
lea eax, [ebp - 0x298]
mov byte [ebp - 4], 0xe
push eax
call fcn.00482068
lea ecx, [ebp - 0x400]
call fcn.00404440
lea ecx, [ebp - 0x538]
call fcn.00404440
lea ecx, [ebp - 0x6e0]
call fcn.00404440
lea ecx, [ebp - 0x2b0]
call fcn.00404190
mov eax, 0x12
jmp 0x414da3
push 3
lea ecx, [ebp - 0x324]
call fcn.00403890
lea eax, [ebp - 0x8fc]
mov byte [ebp - 4], 0x4a
push eax
lea eax, [ebp - 0x324]
mov ecx, edi
push eax
lea eax, [ebp - 0x2d0]
push eax
call fcn.00406280
test al, al
jne 0x413025
lea ecx, [ebp - 0x324]
call fcn.004040c0
jmp 0x412f8a
mov eax, dword [ebp - 0x8fc]
lea ecx, [esi + 0x90]
push 1
push eax
mov dword [ebp - 0x900], ecx
mov dword [ebp - 0x904], eax
call fcn.0040f080
cmp dword [ebp - 0x904], 1
jl 0x41308e
mov esi, dword [ebp - 0x904]
mov edi, 1
nop dword [eax]
mov ecx, dword [ebp - 0x900]
push 1
push edi
call fcn.004052e0
mov ecx, dword [ebp - 0x308]
movsd xmm0, qword [ecx + edi*8]
inc edi
movsd qword [eax], xmm0
cmp edi, esi
jle 0x413060
mov edi, dword [ebp - 0x908]
mov esi, dword [ebp - 0x910]
lea ecx, [ebp - 0x324]
mov byte [ebp - 4], 0x49
call fcn.004040c0
push 1
push dword [ebp - 0x904]
add esi, 0xb4
mov ecx, esi
call fcn.0040f1c0
mov eax, dword [ebp - 0x910]
mov ecx, edi
push dword [ebp - 0x900]
push esi
mov dword [eax], 3
call fcn.00405f90
push 0x49717c
lea ecx, [ebp - 0x2e8]
call fcn.00403af0
push esi
push dword [ebp - 0x900]
xorps xmm0, xmm0
mov byte [ebp - 4], 0x4b
sub esp, 8
lea eax, [ebp - 0x2e8]
mov ecx, edi
movsd qword [esp], xmm0
push 3
push eax
call fcn.00405b90
lea ecx, [ebp - 0x2e8]
call fcn.00404190
lea ecx, [ebp - 0x2d0]
call fcn.004040c0
push fcn.00404190
push 4
push 0x18
lea eax, [ebp - 0x298]
mov byte [ebp - 4], 0xe
push eax
call fcn.00482068
jmp 0x413dd7
lea ecx, [ebp - 0x418]
call fcn.00403c00
lea ecx, [ebp - 0x430]
call fcn.00403c00
lea ecx, [ebp - 0x300]
call fcn.00403c00
lea ecx, [ebp - 0x448]
call fcn.00403c00
push fcn.00404190
push fcn.00403c00
push 3
push 0x18
lea eax, [ebp - 0x1f0]
mov byte [ebp - 4], 0x12
push eax
call fcn.00481fef
push fcn.00404190
push fcn.00403c00
push 3
push 0x18
lea eax, [ebp - 0x160]
mov byte [ebp - 4], 0x13
push eax
call fcn.00481fef
push fcn.00404190
push fcn.00403c00
push 3
push 0x18
lea eax, [ebp - 0x1a8]
mov byte [ebp - 4], 0x14
push eax
call fcn.00481fef
push 3
lea ecx, [ebp - 0x2d0]
mov byte [ebp - 4], 0x15
call fcn.00403890
push 3
lea ecx, [ebp - 0x324]
mov byte [ebp - 4], 0x16
call fcn.00403890
push 0
lea eax, [ebp - 0x418]
mov byte [ebp - 4], 0x17
push eax
mov ecx, edi
call fcn.00415820
cmp eax, 0xffffffff
jne 0x4132a9
lea ecx, [ebp - 0x324]
call fcn.004040c0
lea ecx, [ebp - 0x2d0]
call fcn.004040c0
push fcn.00404190
push 3
push 0x18
lea eax, [ebp - 0x1a8]
mov byte [ebp - 4], 0x14
push eax
call fcn.00482068
push fcn.00404190
push 3
push 0x18
lea eax, [ebp - 0x160]
mov byte [ebp - 4], 0x13
push eax
call fcn.00482068
push fcn.00404190
push 3
push 0x18
lea eax, [ebp - 0x1f0]
mov byte [ebp - 4], 0x12
push eax
call fcn.00482068
lea ecx, [ebp - 0x448]
call fcn.00404190
lea ecx, [ebp - 0x300]
call fcn.00404190
lea ecx, [ebp - 0x430]
call fcn.00404190
lea ecx, [ebp - 0x418]
call fcn.00404190
lea ecx, [ebp - 0x400]
call fcn.00404440
lea ecx, [ebp - 0x538]
call fcn.00404440
lea ecx, [ebp - 0x6e0]
jmp 0x411995
push 0
lea eax, [ebp - 0x430]
mov ecx, edi
push eax
call fcn.00415820
cmp eax, 0xffffffff
je 0x4131fb
lea ecx, [esi + 0x28]
push 3
call fcn.0040f3f0
sub esp, 8
lea ecx, [esi + 0x28]
xorps xmm0, xmm0
movsd qword [esp], xmm0
call fcn.0040f000
mov eax, dword [edi]
mov ecx, edi
mov dword [ebp - 0x900], eax
lea eax, [ebp - 0x6e0]
push eax
lea eax, [ebp - 0x418]
push eax
call fcn.00407bd0
test eax, eax
jne 0x4131fb
lea eax, [ebp - 0x538]
mov ecx, edi
push eax
lea eax, [ebp - 0x430]
push eax
call fcn.00407bd0
test eax, eax
jne 0x4131fb
mov eax, dword [ebp - 0x6e0]
cmp eax, 2
jne 0x413339
cmp dword [ebp - 0x538], eax
je 0x41334e
jmp 0x413d4a
cmp eax, 7
jne 0x4135f7
cmp dword [ebp - 0x538], eax
jne 0x413d4a
mov eax, dword [ebp - 0x900]
mov ecx, edi
mov dword [edi], eax
lea eax, [ebp - 0x1f0]
push eax
lea eax, [ebp - 0x570]
push eax
lea eax, [ebp - 0x418]
push eax
call fcn.0040c030
lea eax, [ebp - 0x160]
mov ecx, edi
push eax
lea eax, [ebp - 0x570]
push eax
lea eax, [ebp - 0x430]
push eax
call fcn.0040c030
xor eax, eax
mov ecx, 1
cmp dword [ebp - 0x6e0], 2
mov dword [ebp - 0x8fc], ecx
sete al
add eax, 2
xor edx, edx
mov dword [ebp - 0x914], eax
mov dword [ebp - 0x900], edx
nop word [eax + eax]
mov eax, dword [ebp - 0x4f4]
movsd xmm0, qword [eax + ecx*8]
mov eax, dword [ebp - 0x69c]
subsd xmm0, qword [eax + ecx*8]
mov eax, dword [esi + 0x44]
movsd qword [eax + ecx*8], xmm0
lea ecx, [ebp - 0x160]
add ecx, edx
mov eax, 0x7fffffff
mov edx, dword [ecx + 0x10]
sub eax, edx
cmp eax, 2
jb 0x414dc3
cmp dword [ecx + 0x14], 0x10
mov eax, ecx
jb 0x413403
mov eax, dword [ecx]
push edx
push eax
push 2
push 0x497894
push ecx
push dword [ebp - 0x91c]
lea ecx, [ebp - 0x460]
call fcn.00403b30
push 5
push 0x49788c
lea ecx, [ebp - 0x460]
mov byte [ebp - 4], 0x18
call fcn.00410460
mov dword [ebp - 0x2d8], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x2e8], xmm0
mov dword [ebp - 0x2d4], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x2e8], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x2d8], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov eax, dword [ebp - 0x900]
lea ecx, [ebp - 0x1f0]
add eax, ecx
mov byte [ebp - 4], 0x19
push eax
lea eax, [ebp - 0x2e8]
push eax
lea eax, [ebp - 0x730]
push eax
call fcn.00402390
add esp, 0xc
push 1
push 0x49722c
mov ecx, eax
mov byte [ebp - 4], 0x1a
call fcn.00410460
lea ecx, [ebp - 0x588]
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x710], xmm0
movups xmmword [ebp - 0x588], xmm0
movq xmm0, qword [eax + 0x10]
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov eax, dword [ebp - 0x900]
add eax, 0x48
movq qword [ebp - 0x928], xmm0
add eax, esi
movq qword [ebp - 0x578], xmm0
mov dword [ebp - 0x91c], eax
cmp eax, ecx
je 0x413546
mov ecx, eax
call fcn.004103d0
mov eax, dword [ebp - 0x91c]
movups xmm0, xmmword [ebp - 0x710]
mov dword [ebp - 0x578], 0
mov dword [ebp - 0x574], 0xf
movups xmmword [eax], xmm0
mov byte [ebp - 0x588], 0
movq xmm0, qword [ebp - 0x928]
movq qword [eax + 0x10], xmm0
lea ecx, [ebp - 0x588]
call fcn.00404190
lea ecx, [ebp - 0x730]
call fcn.00404190
mov ecx, dword [ebp - 0x2d4]
mov byte [ebp - 4], 0x18
cmp ecx, 0x10
jb 0x41359a
mov edx, dword [ebp - 0x2e8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x413590
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x414c83
push ecx
push edx
call fcn.004821ac
add esp, 8
lea ecx, [ebp - 0x460]
mov dword [ebp - 0x2d8], 0
mov dword [ebp - 0x2d4], 0xf
mov byte [ebp - 0x2e8], 0
mov byte [ebp - 4], 0x17
call fcn.00404190
mov ecx, dword [ebp - 0x8fc]
mov edx, dword [ebp - 0x900]
inc ecx
add edx, 0x18
mov dword [ebp - 0x8fc], ecx
mov dword [ebp - 0x900], edx
cmp ecx, dword [ebp - 0x914]
jle 0x4133c0
mov dword [esi], 1
jmp 0x413d4a
test eax, eax
jne 0x413d4a
mov eax, dword [ebp - 0x538]
cmp eax, 1
je 0x413fc6
cmp eax, 6
je 0x413fc6
cmp eax, 2
jne 0x413efe
mov eax, dword [ebp - 0x900]
mov ecx, edi
mov dword [edi], eax
lea eax, [ebp - 0x300]
push 0
push eax
call fcn.00415820
cmp eax, 0xffffffff
je 0x4131fb
mov eax, dword [edi]
mov ecx, edi
mov dword [ebp - 0x914], eax
lea eax, [ebp - 0x400]
push eax
lea eax, [ebp - 0x300]
push eax
call fcn.00407bd0
test eax, eax
jne 0x4131fb
cmp dword [ebp - 0x400], 2
jne 0x413e50
lea eax, [ebp - 0x448]
mov ecx, edi
push eax
lea eax, [ebp - 0x928]
push eax
lea eax, [ebp - 0x418]
push eax
call fcn.0040bef0
test al, al
jne 0x4136a5
lea eax, [ebp - 0x418]
push eax
lea ecx, [ebp - 0x448]
call fcn.004048e0
lea eax, [ebp - 0x160]
mov ecx, edi
push eax
lea eax, [ebp - 0x570]
push eax
lea eax, [ebp - 0x430]
push eax
call fcn.0040c030
lea eax, [ebp - 0x1a8]
mov ecx, edi
push eax
lea eax, [ebp - 0x570]
push eax
lea eax, [ebp - 0x300]
push eax
call fcn.0040c030
lea eax, [ebp - 0x1a8]
push eax
lea eax, [ebp - 0x7f0]
push str.sqrt___
push eax
call fcn.004024c0
push 0x4978a8
push eax
lea eax, [ebp - 0x820]
mov byte [ebp - 4], 0x1e
push eax
call fcn.004023f0
lea ecx, [ebp - 0x160]
mov byte [ebp - 4], 0x1f
push ecx
push eax
lea eax, [ebp - 0x778]
push eax
call fcn.00402390
push str.__2____
push eax
lea eax, [ebp - 0x760]
mov byte [ebp - 4], 0x20
push eax
call fcn.004023f0
lea ecx, [ebp - 0x190]
mov byte [ebp - 4], 0x21
push ecx
push eax
lea eax, [ebp - 0x790]
push eax
call fcn.00402390
push 0x4978a8
push eax
lea eax, [ebp - 0x7a8]
mov byte [ebp - 4], 0x22
push eax
call fcn.004023f0
add esp, 0x48
lea ecx, [ebp - 0x148]
mov byte [ebp - 4], 0x23
push ecx
push eax
lea eax, [ebp - 0x7c0]
push eax
call fcn.00402390
push str.__2____
push eax
lea eax, [ebp - 0x7d8]
mov byte [ebp - 4], 0x24
push eax
call fcn.004023f0
lea ecx, [ebp - 0x178]
mov byte [ebp - 4], 0x25
push ecx
push eax
lea eax, [ebp - 0x718]
push eax
call fcn.00402390
push 0x4978a8
push eax
lea eax, [ebp - 0x460]
mov byte [ebp - 4], 0x26
push eax
call fcn.004023f0
lea ecx, [ebp - 0x130]
mov byte [ebp - 4], 0x27
push ecx
push eax
lea eax, [ebp - 0x730]
push eax
call fcn.00402390
push str.__2__
push eax
lea eax, [ebp - 0x2e8]
mov byte [ebp - 4], 0x28
push eax
call fcn.004023f0
add esp, 0x48
lea ecx, [ebp - 0x730]
call fcn.00404190
lea ecx, [ebp - 0x460]
call fcn.00404190
lea ecx, [ebp - 0x718]
call fcn.00404190
lea ecx, [ebp - 0x7d8]
call fcn.00404190
lea ecx, [ebp - 0x7c0]
call fcn.00404190
lea ecx, [ebp - 0x7a8]
call fcn.00404190
lea ecx, [ebp - 0x790]
call fcn.00404190
lea ecx, [ebp - 0x760]
call fcn.00404190
lea ecx, [ebp - 0x778]
call fcn.00404190
lea ecx, [ebp - 0x820]
call fcn.00404190
lea ecx, [ebp - 0x7f0]
mov byte [ebp - 4], 0x34
call fcn.00404190
push fcn.00404190
push fcn.00403c00
push 3
push 0x18
lea eax, [ebp - 0x238]
push eax
call fcn.00481fef
lea eax, [ebp - 0x1a8]
mov byte [ebp - 4], 0x35
push eax
lea eax, [ebp - 0x608]
push 0x4978c4
push eax
call fcn.004024c0
push 0x4978a8
push eax
lea eax, [ebp - 0x568]
mov byte [ebp - 4], 0x36
push eax
call fcn.004023f0
lea ecx, [ebp - 0x160]
mov byte [ebp - 4], 0x37
push ecx
push eax
lea eax, [ebp - 0x5a0]
push eax
call fcn.00402390
push 0x4978c0
push eax
lea eax, [ebp - 0x748]
mov byte [ebp - 4], 0x38
push eax
call fcn.004023f0
lea ecx, [ebp - 0x2e8]
mov byte [ebp - 4], 0x39
push ecx
push eax
lea eax, [ebp - 0x808]
push eax
call fcn.00402390
add esp, 0x3c
lea ecx, [ebp - 0x238]
push eax
call fcn.004048a0
lea ecx, [ebp - 0x808]
call fcn.00404190
lea ecx, [ebp - 0x748]
call fcn.00404190
lea ecx, [ebp - 0x5a0]
call fcn.00404190
lea ecx, [ebp - 0x568]
call fcn.00404190
lea ecx, [ebp - 0x608]
mov byte [ebp - 4], 0x35
call fcn.00404190
lea eax, [ebp - 0x190]
push eax
lea eax, [ebp - 0x5f0]
push 0x4978c4
push eax
call fcn.004024c0
push 0x4978a8
push eax
lea eax, [ebp - 0x748]
mov byte [ebp - 4], 0x3a
push eax
call fcn.004023f0
lea ecx, [ebp - 0x148]
mov byte [ebp - 4], 0x3b
push ecx
push eax
lea eax, [ebp - 0x5a0]
push eax
call fcn.00402390
push 0x4978c0
push eax
lea eax, [ebp - 0x568]
mov byte [ebp - 4], 0x3c
push eax
call fcn.004023f0
lea ecx, [ebp - 0x2e8]
mov byte [ebp - 4], 0x3d
push ecx
push eax
lea eax, [ebp - 0x608]
push eax
call fcn.00402390
add esp, 0x3c
lea ecx, [ebp - 0x220]
push eax
call fcn.004048a0
lea ecx, [ebp - 0x608]
call fcn.00404190
lea ecx, [ebp - 0x568]
call fcn.00404190
lea ecx, [ebp - 0x5a0]
call fcn.00404190
lea ecx, [ebp - 0x748]
call fcn.00404190
lea ecx, [ebp - 0x5f0]
mov byte [ebp - 4], 0x35
call fcn.00404190
lea eax, [ebp - 0x178]
push eax
lea eax, [ebp - 0x5d8]
push 0x4978c4
push eax
call fcn.004024c0
push 0x4978a8
push eax
lea eax, [ebp - 0x5a0]
mov byte [ebp - 4], 0x3e
push eax
call fcn.004023f0
lea ecx, [ebp - 0x130]
mov byte [ebp - 4], 0x3f
push ecx
push eax
lea eax, [ebp - 0x568]
push eax
call fcn.00402390
push 0x4978c0
push eax
lea eax, [ebp - 0x608]
mov byte [ebp - 4], 0x40
push eax
call fcn.004023f0
lea ecx, [ebp - 0x2e8]
mov byte [ebp - 4], 0x41
push ecx
push eax
lea eax, [ebp - 0x5f0]
push eax
call fcn.00402390
add esp, 0x3c
lea ecx, [ebp - 0x208]
push eax
call fcn.004048a0
lea ecx, [ebp - 0x5f0]
call fcn.00404190
lea ecx, [ebp - 0x608]
call fcn.00404190
lea ecx, [ebp - 0x568]
call fcn.00404190
lea ecx, [ebp - 0x5a0]
call fcn.00404190
lea ecx, [ebp - 0x5d8]
mov byte [ebp - 4], 0x35
call fcn.00404190
push 0x4978c8
lea eax, [ebp - 0x448]
push eax
lea eax, [ebp - 0x550]
push eax
call fcn.00402460
lea ecx, [ebp - 0x238]
mov byte [ebp - 4], 0x42
push ecx
push eax
lea eax, [ebp - 0x5f0]
push eax
call fcn.00402390
push 0x49722c
push eax
lea eax, [ebp - 0x5d8]
mov byte [ebp - 4], 0x43
push eax
call fcn.004023f0
add esp, 0x24
lea ecx, [ebp - 0x238]
push eax
call fcn.004048a0
lea ecx, [ebp - 0x5d8]
call fcn.00404190
lea ecx, [ebp - 0x5f0]
call fcn.00404190
lea ecx, [ebp - 0x550]
mov byte [ebp - 4], 0x35
call fcn.00404190
push 0x4978c8
lea eax, [ebp - 0x448]
push eax
lea eax, [ebp - 0x5b8]
push eax
call fcn.00402460
lea ecx, [ebp - 0x220]
mov byte [ebp - 4], 0x44
push ecx
push eax
lea eax, [ebp - 0x5d8]
push eax
call fcn.00402390
push 0x49722c
push eax
lea eax, [ebp - 0x550]
mov byte [ebp - 4], 0x45
push eax
call fcn.004023f0
add esp, 0x24
lea ecx, [ebp - 0x220]
push eax
call fcn.004048a0
lea ecx, [ebp - 0x550]
call fcn.00404190
lea ecx, [ebp - 0x5d8]
call fcn.00404190
lea ecx, [ebp - 0x5b8]
mov byte [ebp - 4], 0x35
call fcn.00404190
push 0x4978c8
lea eax, [ebp - 0x448]
push eax
lea eax, [ebp - 0x6f8]
push eax
call fcn.00402460
lea ecx, [ebp - 0x208]
mov byte [ebp - 4], 0x46
push ecx
push eax
lea eax, [ebp - 0x550]
push eax
call fcn.00402390
push 0x49722c
push eax
lea eax, [ebp - 0x5b8]
mov byte [ebp - 4], 0x47
push eax
call fcn.004023f0
add esp, 0x24
lea ecx, [ebp - 0x208]
push eax
call fcn.004048a0
lea ecx, [ebp - 0x5b8]
call fcn.00404190
lea ecx, [ebp - 0x550]
call fcn.00404190
lea ecx, [ebp - 0x6f8]
mov byte [ebp - 4], 0x35
call fcn.00404190
mov eax, dword [ebp - 0x4f4]
sub esp, 0x18
movups xmm0, xmmword [eax + 0x10]
movups xmmword [esp + 8], xmm0
movsd xmm0, qword [eax + 8]
movsd qword [esp], xmm0
lea ecx, [ebp - 0x5c0]
call fcn.00403700
mov eax, dword [ebp - 0x3bc]
lea ecx, [ebp - 0x700]
sub esp, 0x18
movups xmm0, xmmword [eax + 0x10]
movups xmmword [esp + 8], xmm0
movsd xmm0, qword [eax + 8]
movsd qword [esp], xmm0
call fcn.00403700
lea eax, [esi + 0x28]
push eax
lea eax, [ebp - 0x700]
push eax
lea ecx, [ebp - 0x5c0]
call fcn.0040f8b0
lea edi, [ebp - 0x238]
mov edx, 0x18
mov eax, edi
mov ecx, 8
sub edx, eax
mov dword [ebp - 0x8fc], ecx
mov dword [ebp - 0x91c], edx
nop
mov eax, dword [esi + 0x44]
add edx, 0x30
movsd xmm0, qword [ebp - 0x6d8]
add edx, edi
add edx, esi
mulsd xmm0, qword [ecx + eax]
movsd qword [ecx + eax], xmm0
cmp edx, edi
je 0x413cfb
cmp dword [edi + 0x14], 0x10
mov eax, edi
jb 0x413cea
mov eax, dword [edi]
push dword [edi + 0x10]
mov ecx, edx
push eax
call fcn.00410600
mov ecx, dword [ebp - 0x8fc]
mov edx, dword [ebp - 0x91c]
add ecx, 8
add edi, 0x18
mov dword [ebp - 0x8fc], ecx
cmp ecx, 0x18
jle 0x413cc0
push fcn.00404190
push 3
push 0x18
lea eax, [ebp - 0x238]
mov dword [esi], 1
push eax
mov byte [ebp - 4], 0x34
call fcn.00482068
lea ecx, [ebp - 0x2e8]
call fcn.00404190
mov edi, dword [ebp - 0x908]
mov eax, dword [ebp - 0x914]
mov dword [edi], eax
lea ecx, [ebp - 0x324]
call fcn.004040c0
lea ecx, [ebp - 0x2d0]
call fcn.004040c0
push fcn.00404190
push 3
push 0x18
lea eax, [ebp - 0x1a8]
mov byte [ebp - 4], 0x14
push eax
call fcn.00482068
push fcn.00404190
push 3
push 0x18
lea eax, [ebp - 0x160]
mov byte [ebp - 4], 0x13
push eax
call fcn.00482068
push fcn.00404190
push 3
push 0x18
lea eax, [ebp - 0x1f0]
mov byte [ebp - 4], 0x12
push eax
call fcn.00482068
lea ecx, [ebp - 0x448]
call fcn.00404190
lea ecx, [ebp - 0x300]
call fcn.00404190
lea ecx, [ebp - 0x430]
call fcn.00404190
lea ecx, [ebp - 0x418]
call fcn.00404190
lea ecx, [ebp - 0x400]
call fcn.00404440
lea ecx, [ebp - 0x538]
call fcn.00404440
lea ecx, [ebp - 0x6e0]
call fcn.00404440
mov ecx, edi
call fcn.004152b0
mov ecx, dword [ebp - 0x29c]
mov esi, eax
mov dword [edi + 0x108], esi
test esi, esi
je 0x4141a7
cmp ecx, 0x10
jb 0x413e49
mov edx, dword [ebp - 0x2b0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x413e3f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x414c83
push ecx
push edx
call fcn.004821ac
add esp, 8
mov eax, esi
jmp 0x414da3
lea ecx, [ebp - 0x324]
call fcn.004040c0
lea ecx, [ebp - 0x2d0]
call fcn.004040c0
push fcn.00404190
push 3
push 0x18
lea eax, [ebp - 0x1a8]
mov byte [ebp - 4], 0x14
push eax
call fcn.00482068
push fcn.00404190
push 3
push 0x18
lea eax, [ebp - 0x160]
mov byte [ebp - 4], 0x13
push eax
call fcn.00482068
push fcn.00404190
push 3
push 0x18
lea eax, [ebp - 0x1f0]
mov byte [ebp - 4], 0x12
push eax
call fcn.00482068
lea ecx, [ebp - 0x448]
call fcn.00404190
lea ecx, [ebp - 0x300]
call fcn.00404190
lea ecx, [ebp - 0x430]
call fcn.00404190
lea ecx, [ebp - 0x418]
call fcn.00404190
lea ecx, [ebp - 0x400]
call fcn.00404440
lea ecx, [ebp - 0x538]
call fcn.00404440
lea ecx, [ebp - 0x6e0]
jmp 0x41162a
test eax, eax
jne 0x413d4a
mov eax, dword [ebp - 0x900]
mov ecx, edi
mov dword [edi], eax
lea eax, [ebp - 0x300]
push 0
push eax
call fcn.00415820
cmp eax, 0xffffffff
je 0x4131fb
mov eax, dword [edi]
mov ecx, edi
mov dword [ebp - 0x91c], eax
lea eax, [ebp - 0x400]
push eax
lea eax, [ebp - 0x300]
push eax
call fcn.00407bd0
test eax, eax
jne 0x4131fb
cmp dword [ebp - 0x400], eax
jne 0x413e50
mov eax, dword [esi + 0x44]
lea ecx, [esi + 0x48]
movsd xmm0, qword [ebp - 0x6d8]
movsd qword [eax + 8], xmm0
mov eax, dword [esi + 0x44]
movsd xmm0, qword [ebp - 0x530]
movsd qword [eax + 0x10], xmm0
mov eax, dword [esi + 0x44]
movsd xmm0, qword [ebp - 0x3f8]
movsd qword [eax + 0x18], xmm0
lea eax, [ebp - 0x418]
push eax
call fcn.004048e0
lea eax, [ebp - 0x430]
push eax
lea ecx, [esi + 0x60]
call fcn.004048e0
lea eax, [ebp - 0x300]
push eax
lea ecx, [esi + 0x78]
call fcn.004048e0
mov eax, dword [ebp - 0x91c]
mov dword [esi], 1
jmp 0x413d48
mov eax, dword [ebp - 0x900]
mov ecx, edi
mov dword [edi], eax
lea eax, [ebp - 0x300]
push eax
lea eax, [ebp - 0x928]
push eax
lea eax, [ebp - 0x418]
push eax
call fcn.0040bef0
test al, al
jne 0x414000
lea eax, [ebp - 0x418]
push eax
lea ecx, [ebp - 0x300]
call fcn.004048e0
lea eax, [ebp - 0x160]
mov ecx, edi
push eax
lea eax, [ebp - 0x324]
push eax
lea eax, [ebp - 0x430]
push eax
call fcn.0040c0e0
xor eax, eax
mov ecx, 1
cmp dword [ebp - 0x538], 2
mov dword [ebp - 0x8fc], ecx
sete al
add eax, 2
mov dword [ebp - 0x914], eax
lea eax, [esi + 0x48]
mov dword [ebp - 0x900], eax
lea eax, [ebp - 0x160]
mov dword [ebp - 0x904], eax
mov eax, dword [ebp - 0x4f4]
movsd xmm0, qword [ebp - 0x6d8]
mulsd xmm0, qword [eax + ecx*8]
mov eax, dword [esi + 0x44]
movsd qword [eax + ecx*8], xmm0
mov eax, 0x7fffffff
mov ecx, dword [ebp - 0x2f0]
sub eax, ecx
cmp eax, 2
jb 0x414dc3
cmp dword [ebp - 0x2ec], 0x10
lea eax, [ebp - 0x300]
push ecx
cmovae eax, dword [ebp - 0x300]
lea ecx, [ebp - 0x460]
push eax
push 2
push 0x497894
lea eax, [ebp - 0x300]
push eax
push dword [ebp - 0x91c]
call fcn.00403b30
push 0x497898
lea eax, [ebp - 0x460]
mov byte [ebp - 4], 0x1b
push eax
lea eax, [ebp - 0x550]
push eax
call fcn.004023f0
push dword [ebp - 0x904]
mov byte [ebp - 4], 0x1c
push eax
lea eax, [ebp - 0x5b8]
push eax
call fcn.00402390
push 0x49722c
push eax
lea eax, [ebp - 0x6f8]
mov byte [ebp - 4], 0x1d
push eax
call fcn.004023f0
mov ecx, dword [ebp - 0x900]
add esp, 0x24
mov dword [ebp - 0x91c], eax
cmp ecx, eax
je 0x414145
call fcn.004103d0
mov eax, dword [ebp - 0x91c]
mov ecx, dword [ebp - 0x900]
movups xmm0, xmmword [eax]
movups xmmword [ecx], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ecx + 0x10], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
lea ecx, [ebp - 0x6f8]
call fcn.00404190
lea ecx, [ebp - 0x5b8]
call fcn.00404190
lea ecx, [ebp - 0x550]
call fcn.00404190
lea ecx, [ebp - 0x460]
mov byte [ebp - 4], 0x17
call fcn.00404190
mov ecx, dword [ebp - 0x8fc]
add dword [ebp - 0x904], 0x18
inc ecx
add dword [ebp - 0x900], 0x18
mov dword [ebp - 0x8fc], ecx
cmp ecx, dword [ebp - 0x914]
jle 0x414051
mov dword [esi], 1
jmp 0x413d4a
cmp ecx, 0x10
jb 0x414d20
mov edx, dword [ebp - 0x2b0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4141d5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x414c83
push ecx
push edx
call fcn.004821ac
add esp, 8
xor eax, eax
jmp 0x414da3
lea edx, [edi + 4]
mov ecx, edx
lea eax, [ecx + 1]
mov dword [ebp - 0x91c], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4141f4
sub ecx, dword [ebp - 0x91c]
push ecx
push edx
lea ecx, [ebp - 0x2b0]
call fcn.00410600
mov ecx, edi
call fcn.004152b0
mov dword [ebp - 0x91c], eax
mov dword [edi + 0x108], eax
test eax, eax
je 0x41426e
mov ecx, dword [ebp - 0x29c]
cmp ecx, 0x10
jb 0x414da3
mov edx, dword [ebp - 0x2b0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x414259
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x414c83
push ecx
push edx
call fcn.004821ac
mov eax, dword [ebp - 0x91c]
add esp, 8
jmp 0x414da3
cmp byte [edi + 4], 0x28
jne 0x412862
lea eax, [ebp - 0x2b0]
push 0x497804
push eax
call fcn.004021a0
add esp, 8
test al, al
jne 0x4142ac
lea eax, [ebp - 0x2b0]
push str.sve2
push eax
call fcn.004021a0
add esp, 8
test al, al
je 0x414cd8
mov eax, dword [edi]
lea ecx, [ebp - 0x8f8]
mov dword [ebp - 0x8fc], eax
call fcn.00403d30
lea ecx, [ebp - 0x538]
mov byte [ebp - 4], 0x4c
call fcn.00403d30
push fcn.00404190
push fcn.00403c00
push 8
push 0x18
lea eax, [ebp - 0x3e8]
mov byte [ebp - 4], 0x4d
push eax
call fcn.00481fef
lea eax, [ebp - 0x8f8]
mov byte [ebp - 4], 0x4e
push eax
push 0x2c
push 0x28
mov ecx, edi
call fcn.00408f80
mov dword [ebp - 0x91c], eax
mov dword [edi + 0x108], eax
test eax, eax
je 0x414357
push fcn.00404190
push 8
push 0x18
lea eax, [ebp - 0x3e8]
mov byte [ebp - 4], 0x4d
push eax
call fcn.00482068
lea ecx, [ebp - 0x538]
call fcn.00404440
lea ecx, [ebp - 0x8f8]
call fcn.00404440
lea ecx, [ebp - 0x2b0]
call fcn.00404190
mov eax, dword [ebp - 0x91c]
jmp 0x414da3
lea eax, [ebp - 0x2b0]
push 0x497804
push eax
call fcn.004021a0
add esp, 8
test al, al
je 0x414391
lea eax, [ebp - 0x538]
mov ecx, edi
push eax
push 0x29
push 0x2c
call fcn.00408f80
mov dword [ebp - 0x91c], eax
mov dword [edi + 0x108], eax
test eax, eax
jne 0x414312
mov eax, dword [ebp - 0x8fc]
mov ecx, edi
mov dword [edi], eax
lea eax, [ebp - 0x3e8]
push 1
push eax
call fcn.00415820
lea eax, [ebp - 0x2b0]
mov dword [ebp - 0x904], 1
push 0x497804
push eax
call fcn.004021a0
add esp, 8
test al, al
je 0x4143e5
push 1
lea eax, [ebp - 0x3d0]
mov ecx, edi
push eax
call fcn.00415820
mov dword [ebp - 0x904], 2
mov esi, dword [ebp - 0x904]
lea eax, [esi + esi*2]
lea eax, [ebp + eax*8 - 0x3e8]
mov dword [ebp - 0x8fc], eax
nop dword [eax + eax]
push 0
push 0x516008
mov ecx, edi
mov dword [ebp - 0x90c], esi
call fcn.00415820
mov ecx, eax
inc esi
mov eax, dword [ebp - 0x8fc]
mov edx, eax
add eax, 0x18
mov dword [ebp - 0x914], ecx
mov dword [ebp - 0x91c], edx
mov dword [ebp - 0x8fc], eax
cmp edx, 0x516008
je 0x414467
cmp dword [0x51601c], 0x10
mov edx, 0x516008
push dword [0x516018]
cmovae edx, dword [0x516008]
mov ecx, dword [ebp - 0x91c]
push edx
call fcn.00410600
mov ecx, dword [ebp - 0x914]
cmp ecx, 0xffffffff
je 0x414476
cmp ecx, 1
je 0x414476
cmp esi, 8
jne 0x414400
mov eax, dword [ebp - 0x2a0]
xor ecx, ecx
mov dword [ebp - 0x904], esi
test esi, esi
mov esi, dword [ebp - 0x910]
mov dword [ebp - 0x900], ecx
jle 0x41463c
nop dword [eax + eax]
lea eax, [ecx + ecx*2]
lea ecx, [ebp - 0x3e8]
lea eax, [ecx + eax*8]
mov ecx, edi
push esi
push eax
call fcn.00407bd0
test eax, eax
jne 0x414ae7
mov ecx, dword [ebp - 0x900]
test ecx, ecx
jne 0x414514
cmp dword [esi], 1
je 0x4145db
push fcn.00404190
push 8
push 0x18
lea eax, [ebp - 0x3e8]
mov byte [ebp - 4], 0x4d
push eax
call fcn.00482068
lea ecx, [ebp - 0x538]
call fcn.00404440
lea ecx, [ebp - 0x8f8]
call fcn.00404440
lea ecx, [ebp - 0x2b0]
call fcn.00404190
mov eax, 0x17
jmp 0x414da3
cmp ecx, 1
jne 0x414569
cmp dword [ebp - 0x29c], 0x10
lea ecx, [ebp - 0x2b0]
cmovae ecx, dword [ebp - 0x2b0]
cmp dword [ebp - 0x2a0], 3
jne 0x4145b8
movzx eax, byte [ecx]
cmp al, 0x73
jne 0x414555
movzx eax, byte [ecx + 1]
cmp al, 0x76
jne 0x414555
movzx eax, byte [ecx + 2]
cmp al, 0x65
jne 0x414555
xor eax, eax
jmp 0x41455a
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4145b8
cmp dword [esi], 1
jne 0x4144d0
jmp 0x4145b8
cmp ecx, 2
jl 0x4145b3
cmp dword [ebp - 0x29c], 0x10
lea edx, [ebp - 0x2b0]
cmovae edx, dword [ebp - 0x2b0]
cmp dword [ebp - 0x2a0], 3
jne 0x4145b8
movzx eax, byte [edx]
cmp al, 0x73
jne 0x4145a6
movzx eax, byte [edx + 1]
cmp al, 0x76
jne 0x4145a6
movzx eax, byte [edx + 2]
cmp al, 0x65
jne 0x4145a6
xor eax, eax
jmp 0x4145ab
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4145b8
cmp dword [esi], eax
jne 0x4145f8
cmp ecx, 1
jl 0x4145db
lea eax, [ebp - 0x2b0]
push str.sve2
push eax
call fcn.004021a0
add esp, 8
test al, al
je 0x4145d5
cmp dword [esi], 0
jne 0x4145f8
mov ecx, dword [ebp - 0x900]
mov edx, dword [ebp - 0x904]
inc ecx
mov dword [ebp - 0x900], ecx
cmp ecx, edx
jl 0x4144a0
mov eax, dword [ebp - 0x2a0]
jmp 0x414642
push fcn.00404190
push 8
push 0x18
lea eax, [ebp - 0x3e8]
mov byte [ebp - 4], 0x4d
push eax
call fcn.00482068
lea ecx, [ebp - 0x538]
call fcn.00404440
lea ecx, [ebp - 0x8f8]
call fcn.00404440
lea ecx, [ebp - 0x2b0]
call fcn.00404190
mov eax, 0x18
jmp 0x414da3
mov edx, dword [ebp - 0x904]
cmp dword [ebp - 0x29c], 0x10
lea ecx, [ebp - 0x2b0]
cmovae ecx, dword [ebp - 0x2b0]
cmp eax, 3
jne 0x41471f
sub eax, 4
mov dword [ebp - 0x904], 0x497804
mov dword [ebp - 0x900], eax
jb 0x4146a1
mov esi, dword [ebp - 0x904]
mov eax, dword [ecx]
cmp eax, dword [esi]
mov esi, dword [ebp - 0x910]
jne 0x4146a6
mov eax, dword [ebp - 0x900]
add ecx, 4
add dword [ebp - 0x904], 4
sub eax, 4
mov dword [ebp - 0x900], eax
jae 0x414674
cmp eax, 0xfffffffc
je 0x414710
mov esi, dword [ebp - 0x904]
mov al, byte [ecx]
cmp al, byte [esi]
mov esi, dword [ebp - 0x910]
jne 0x414709
cmp dword [ebp - 0x900], 0xfffffffd
je 0x414710
mov edi, dword [ebp - 0x904]
mov al, byte [ecx + 1]
cmp al, byte [edi + 1]
mov edi, dword [ebp - 0x908]
jne 0x414709
cmp dword [ebp - 0x900], 0xfffffffe
je 0x414710
mov esi, dword [ebp - 0x904]
mov al, byte [ecx + 2]
cmp al, byte [esi + 2]
mov esi, dword [ebp - 0x910]
jne 0x414709
cmp dword [ebp - 0x900], 0xffffffff
je 0x414710
mov al, byte [ecx + 3]
mov ecx, dword [ebp - 0x904]
cmp al, byte [ecx + 3]
je 0x414710
sbb eax, eax
or eax, 1
jmp 0x414712
xor eax, eax
test eax, eax
jne 0x41471f
lea eax, [edx - 2]
mov dword [ebp - 0x90c], eax
push 6
lea ecx, [edi + 0x190]
mov dword [edi + 0x188], 0
mov dword [edi + 0x18c], 0
call fcn.0040f3f0
push dword [ebp - 0x90c]
lea ecx, [ebp - 0x2d0]
call fcn.00403890
cmp dword [ebp - 0x3d4], 0x10
lea eax, [ebp - 0x3e8]
push dword [ebp - 0x3d8]
cmovae eax, dword [ebp - 0x3e8]
mov ecx, 0x516020
push eax
mov byte [ebp - 4], 0x4f
call fcn.00410600
cmp dword [ebp - 0x29c], 0x10
lea edx, [ebp - 0x2b0]
mov ecx, dword [ebp - 0x2a0]
cmovae edx, dword [ebp - 0x2b0]
cmp ecx, 3
jne 0x41491c
mov dword [ebp - 0x904], 0x497804
sub ecx, 4
jb 0x4147d1
nop dword [eax]
mov esi, dword [ebp - 0x904]
mov eax, dword [edx]
cmp eax, dword [esi]
mov esi, dword [ebp - 0x910]
jne 0x4147d6
add dword [ebp - 0x904], 4
add edx, 4
sub ecx, 4
jae 0x4147b0
cmp ecx, 0xfffffffc
je 0x414834
mov edi, dword [ebp - 0x904]
mov al, byte [edx]
cmp al, byte [edi]
mov edi, dword [ebp - 0x908]
jne 0x41482d
cmp ecx, 0xfffffffd
je 0x414834
mov esi, dword [ebp - 0x904]
mov al, byte [edx + 1]
cmp al, byte [esi + 1]
mov esi, dword [ebp - 0x910]
jne 0x41482d
cmp ecx, 0xfffffffe
je 0x414834
mov edi, dword [ebp - 0x904]
mov al, byte [edx + 2]
cmp al, byte [edi + 2]
mov edi, dword [ebp - 0x908]
jne 0x41482d
cmp ecx, 0xffffffff
je 0x414834
mov ecx, dword [ebp - 0x904]
mov al, byte [edx + 3]
cmp al, byte [ecx + 3]
je 0x414834
sbb eax, eax
or eax, 1
jmp 0x414836
xor eax, eax
test eax, eax
jne 0x41491c
cmp dword [ebp - 0x90c], 1
mov dword [ebp - 0x8fc], 1
jl 0x4148fc
mov dword [ebp - 0x900], eax
nop dword [eax + eax]
lea edx, [ebp - 0x3b8]
lea ecx, [eax + 0xf0aa68]
add edx, eax
mov dword [ebp - 0x91c], ecx
cmp ecx, edx
je 0x41489d
cmp dword [ebp + eax - 0x3a4], 0x10
jb 0x414884
mov edx, dword [edx]
push dword [ebp + eax - 0x3a8]
push edx
call fcn.00410600
mov eax, dword [ebp - 0x900]
mov ecx, dword [ebp - 0x91c]
cmp dword [eax + 0xf0aa7c], 0x10
jb 0x4148a8
mov ecx, dword [ecx]
push ecx
lea eax, [ebp - 0x118]
push str._s1.0
push eax
call fcn.00403480
add esp, 0xc
lea eax, [ebp - 0x118]
mov ecx, edi
push esi
push eax
call fcn.00407c50
test eax, eax
jne 0x414adc
mov ecx, dword [ebp - 0x8fc]
mov eax, dword [ebp - 0x900]
inc ecx
add eax, 0x18
mov dword [ebp - 0x8fc], ecx
mov dword [ebp - 0x900], eax
cmp ecx, dword [ebp - 0x90c]
jle 0x414860
cmp dword [ebp - 0x3bc], 0x10
lea eax, [ebp - 0x3d0]
push dword [ebp - 0x3c0]
cmovae eax, dword [ebp - 0x3d0]
push eax
jmp 0x4149e3
cmp dword [ebp - 0x90c], 1
mov dword [ebp - 0x8fc], 1
jl 0x4149dc
xor eax, eax
mov dword [ebp - 0x900], eax
nop dword [eax + eax]
lea edx, [ebp - 0x3d0]
lea ecx, [eax + 0xf0aa68]
add edx, eax
mov dword [ebp - 0x91c], ecx
cmp ecx, edx
je 0x41497d
cmp dword [ebp + eax - 0x3bc], 0x10
jb 0x414964
mov edx, dword [edx]
push dword [ebp + eax - 0x3c0]
push edx
call fcn.00410600
mov eax, dword [ebp - 0x900]
mov ecx, dword [ebp - 0x91c]
cmp dword [eax + 0xf0aa7c], 0x10
jb 0x414988
mov ecx, dword [ecx]
push ecx
lea eax, [ebp - 0x118]
push str._s1.0
push eax
call fcn.00403480
add esp, 0xc
lea eax, [ebp - 0x118]
mov ecx, edi
push esi
push eax
call fcn.00407c50
test eax, eax
jne 0x414adc
mov ecx, dword [ebp - 0x8fc]
mov eax, dword [ebp - 0x900]
inc ecx
add eax, 0x18
mov dword [ebp - 0x8fc], ecx
mov dword [ebp - 0x900], eax
cmp ecx, dword [ebp - 0x90c]
jle 0x414940
push 1
push 0x4978d8
mov ecx, 0x516038
call fcn.00410600
movaps xmm0, xmmword [0x497ce0]
lea ecx, [ebp - 0x6a0]
sub esp, 0x18
movups xmmword [esp + 8], xmm0
movsd xmm0, qword [0x497cd8]
movsd qword [esp], xmm0
push dword [ebp - 0x90c]
push 6
push 0x40f980
push 0x40fb70
push edi
call fcn.0041e8d0
lea eax, [ebp - 0x2d0]
mov byte [ebp - 4], 0x50
push eax
lea ecx, [ebp - 0x6a0]
call fcn.0041ea60
test al, al
jne 0x414b6c
lea ecx, [ebp - 0x6a0]
call fcn.0041ea10
lea ecx, [ebp - 0x2d0]
call fcn.004040c0
push fcn.00404190
push 8
push 0x18
lea eax, [ebp - 0x3e8]
mov byte [ebp - 4], 0x4d
push eax
call fcn.00482068
lea ecx, [ebp - 0x538]
call fcn.00404440
lea ecx, [ebp - 0x8f8]
call fcn.00404440
mov eax, dword [ebp - 0x29c]
cmp eax, 0x10
jb 0x414ad2
lea ecx, [eax + 1]
mov eax, dword [ebp - 0x2b0]
mov edx, eax
cmp ecx, 0x1000
jb 0x414ac8
mov eax, dword [edx - 4]
add ecx, 0x23
sub edx, eax
mov dword [ebp - 0x908], eax
lea eax, [edx - 4]
cmp eax, 0x1f
ja 0x414c83
mov eax, dword [ebp - 0x908]
push ecx
push eax
call fcn.004821ac
add esp, 8
mov eax, 0xb
jmp 0x414da3
lea ecx, [ebp - 0x2d0]
call fcn.004040c0
push fcn.00404190
push 8
push 0x18
lea eax, [ebp - 0x3e8]
mov byte [ebp - 4], 0x4d
push eax
call fcn.00482068
lea ecx, [ebp - 0x538]
call fcn.00404440
lea ecx, [ebp - 0x8f8]
call fcn.00404440
mov eax, dword [ebp - 0x29c]
cmp eax, 0x10
jb 0x4119a5
lea ecx, [eax + 1]
mov eax, dword [ebp - 0x2b0]
mov edx, eax
cmp ecx, 0x1000
jb 0x414b58
mov eax, dword [edx - 4]
add ecx, 0x23
sub edx, eax
mov dword [ebp - 0x908], eax
lea eax, [edx - 4]
cmp eax, 0x1f
ja 0x414c83
mov eax, dword [ebp - 0x908]
push ecx
push eax
call fcn.004821ac
add esp, 8
mov eax, 7
jmp 0x414da3
lea eax, [esi + 0x90]
push 1
push dword [ebp - 0x90c]
mov ecx, eax
mov dword [ebp - 0x91c], eax
call fcn.0040f080
push 1
push dword [ebp - 0x90c]
lea ecx, [esi + 0xb4]
call fcn.0040f1c0
cmp dword [ebp - 0x90c], 1
jl 0x414bde
mov edi, dword [ebp - 0x90c]
mov esi, 1
nop
mov ecx, dword [ebp - 0x91c]
push 1
push esi
call fcn.004052e0
mov ecx, dword [ebp - 0x2b4]
movsd xmm0, qword [ecx + esi*8]
inc esi
movsd qword [eax], xmm0
cmp esi, edi
jle 0x414bb0
mov edi, dword [ebp - 0x908]
mov esi, dword [ebp - 0x910]
lea eax, [esi + 0x90]
mov ecx, edi
push eax
lea eax, [esi + 0xb4]
push eax
call fcn.00405f90
xorps xmm0, xmm0
mov dword [esi], 3
mov eax, dword [0x49717c]
movups xmmword [ebp - 0x2e8], xmm0
mov dword [ebp - 0x2d8], 4
mov dword [ebp - 0x2d4], 0xf
mov dword [ebp - 0x2e8], eax
mov byte [ebp - 0x2e4], 0
lea eax, [esi + 0xb4]
mov byte [ebp - 4], 0x51
push eax
lea eax, [esi + 0x90]
mov ecx, edi
push eax
sub esp, 8
lea eax, [ebp - 0x2e8]
movsd qword [esp], xmm0
push 3
push eax
call fcn.00405b90
mov ecx, dword [ebp - 0x2d4]
mov byte [ebp - 4], 0x50
cmp ecx, 0x10
jb 0x414c93
mov edx, dword [ebp - 0x2e8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x414c89
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x414c89
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.004821ac
add esp, 8
lea ecx, [ebp - 0x6a0]
call fcn.0041ea10
lea ecx, [ebp - 0x2d0]
call fcn.004040c0
push fcn.00404190
push 8
push 0x18
lea eax, [ebp - 0x3e8]
mov byte [ebp - 4], 0x4d
push eax
call fcn.00482068
lea ecx, [ebp - 0x538]
call fcn.00404440
lea ecx, [ebp - 0x8f8]
call fcn.00404440
mov eax, dword [ebp - 0x29c]
cmp eax, 0x10
jb 0x414d20
lea ecx, [eax + 1]
mov eax, dword [ebp - 0x2b0]
mov edx, eax
cmp ecx, 0x1000
jb 0x414d16
mov eax, dword [edx - 4]
add ecx, 0x23
sub edx, eax
mov dword [ebp - 0x908], eax
lea eax, [edx - 4]
cmp eax, 0x1f
ja 0x414c83
mov eax, dword [ebp - 0x908]
push ecx
push eax
call fcn.004821ac
add esp, 8
xor eax, eax
jmp 0x414da3
lea eax, [edi + 4]
push eax
lea ecx, [ebp - 0x460]
call fcn.00403af0
lea eax, [esi + 8]
mov byte [ebp - 4], 0x52
push eax
lea eax, [ebp - 0x460]
mov ecx, edi
push eax
call fcn.0040ad30
lea ecx, [ebp - 0x460]
mov esi, eax
call fcn.00404190
mov ecx, edi
test esi, esi
jne 0x414d79
mov eax, dword [ebp - 0x910]
mov dword [eax], esi
call fcn.004152b0
mov esi, eax
mov dword [edi + 0x108], esi
jmp 0x41225c
call fcn.004152b0
mov esi, eax
lea ecx, [ebp - 0x2b0]
mov dword [edi + 0x108], esi
call fcn.00404190
test esi, esi
jne 0x411a8a
lea eax, [esi + 5]
jmp 0x414da3
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.00482551
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 4
call fcn.00410420
enter 0x4107, 0
daa
dec ebp
inc ecx
add byte [eax], dl
or byte [ecx], al
scasd eax, dword es:[edi]
sbb dword [ecx], eax
pop es
sub byte [ecx], al
out 0x41, al
inc ecx
add byte [ebp - 0x75], dl
push ebp
mov ebp, esp
mov ecx, dword [ebp + 0xc]
sub esp, 0x14
mov edx, dword [ebp + 8]
push esi
push edi
nop
mov edi, 1
mov dword [ebp - 4], 1
cmp ecx, edi
jl 0x414f8f
xorps xmm0, xmm0
nop word [eax + eax]
xorps xmm4, xmm4
movsd qword [ebp - 0xc], xmm0
movsd qword [ebp - 0x14], xmm4
mov esi, 1
cmp esi, edi
je 0x414e69
push edi
push esi
mov ecx, edx
call fcn.004052e0
mov ecx, dword [ebp + 8]
push esi
push edi
movsd xmm0, qword [eax]
andps xmm0, xmmword [0x497cf0]
addsd xmm0, qword [ebp - 0xc]
movsd qword [ebp - 0xc], xmm0
call fcn.004052e0
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
movsd xmm4, qword [eax]
andps xmm4, xmmword [0x497cf0]
addsd xmm4, qword [ebp - 0x14]
movsd qword [ebp - 0x14], xmm4
inc esi
cmp esi, ecx
jle 0x414e22
movsd xmm1, qword [ebp - 0xc]
xorps xmm0, xmm0
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jnp 0x414f79
ucomisd xmm4, xmm0
lahf
test ah, 0x44
jnp 0x414f79
movsd xmm6, qword [0x497c60]
movaps xmm3, xmm4
movsd xmm7, qword [0x497c78]
movaps xmm5, xmm1
mulsd xmm3, xmm6
addsd xmm5, xmm4
movaps xmm2, xmm7
movsd qword [ebp - 0xc], xmm2
comisd xmm3, xmm1
jbe 0x414edd
nop
mulsd xmm1, qword [0x497c98]
movaps xmm0, xmm2
addsd xmm0, xmm2
comisd xmm3, xmm1
movaps xmm2, xmm0
ja 0x414ec0
movsd qword [ebp - 0xc], xmm0
movaps xmm0, xmm4
addsd xmm0, xmm4
comisd xmm1, xmm0
jbe 0x414f05
movsd xmm3, qword [0x497c50]
mulsd xmm1, xmm3
mulsd xmm2, xmm6
comisd xmm1, xmm0
ja 0x414ef2
movsd qword [ebp - 0xc], xmm2
addsd xmm1, xmm4
mulsd xmm5, qword [0x497c70]
divsd xmm1, xmm2
comisd xmm5, xmm1
jbe 0x414f76
movaps xmm0, xmm7
mov dword [ebp - 4], 0
divsd xmm0, xmm2
mov esi, 1
movsd qword [ebp - 0x14], xmm0
push esi
push edi
mov ecx, edx
call fcn.004052e0
movsd xmm0, qword [ebp - 0x14]
inc esi
mov edx, dword [ebp + 8]
mulsd xmm0, qword [eax]
movsd qword [eax], xmm0
cmp esi, dword [ebp + 0xc]
jle 0x414f33
mov esi, 1
mov ecx, dword [ebp + 8]
push edi
push esi
call fcn.004052e0
movsd xmm0, qword [ebp - 0xc]
inc esi
mov ecx, dword [ebp + 0xc]
mulsd xmm0, qword [eax]
movsd qword [eax], xmm0
cmp esi, ecx
jle 0x414f57
xorps xmm0, xmm0
mov edx, dword [ebp + 8]
inc edi
cmp edi, ecx
jle 0x414e10
cmp dword [ebp - 4], 0
je 0x414df0
pop edi
pop esi
mov esp, ebp
pop ebp
ret 8