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

Disassembly:
mov rax, rsp
mov qword [rax + 0x20], rbx
mov qword [rax + 0x18], r8
mov qword [rax + 0x10], rdx
mov dword [rax + 8], ecx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x180
movsd xmm3, qword [rsp + 0x68]
lea ebp, [rcx + 0x894]
movsd xmm4, qword [rsp + 0x68]
xor r10d, r10d
movsd xmm5, qword [rsp + 0x68]
mov r15, r9
movsd xmm2, qword [0x1800c4750]
mov r13, rdx
mov ebx, dword [rsp + 0x1c0]
mov edi, ecx
mov r14, qword [rsp + 0x1e0]
mov r12, qword [rsp + 0x1e8]
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0xa8], xmm12
movsd xmm12, qword [rsp + 0x68]
movaps xmmword [rax - 0xb8], xmm13
movsd xmm13, qword [rsp + 0x68]
movaps xmmword [rax - 0xd8], xmm15
mov eax, dword [rsp + 0x1c0]
movsd xmm15, qword [rsp + 0x68]
mov dword [rsp + 0x78], eax
movsd qword [rsp + 0x80], xmm3
movsd qword [rsp + 0x88], xmm4
movsd qword [rsp + 0x70], xmm5
cmp ecx, ebp
jae 0x1800455b9
mov ecx, dword [rsp + 0x1c0]
lea rdx, [0x180000000]
movsd xmm6, qword [rsp + 0x68]
mov esi, dword [rsp + 0x1c0]
mov dword [rsp + 0x60], ecx
cmp edi, 0x149
ja 0x180045292
je 0x180045251
lea eax, [rdi - 7]
cmp eax, 0xfd
ja case.0x1800450b3.13
movzx eax, byte [rdx + rax + 0x46430]
mov ecx, dword [rdx + rax*4 + 0x46414]
add rcx, rdx
jmp rcx
mov r12, qword [rsp + 0x1e8]
lea rcx, [rsp + 0x68]
mov rdx, qword [rsp + 0x1f0]
mov r9, r13
mov qword [rsp + 0x20], r8
mov r8d, 0x37
mov rax, qword [r12]
mov qword [rsp + 0x68], rax
call fcn.180027ee0
test rax, rax
jns 0x1800463e0
mov rdx, qword [rsp + 0x1d0]
xor r9d, r9d
mov qword [rsp + 0x68], rax
mov rcx, r14
lea rax, [rsp + 0x68]
mov qword [rsp + 0x20], rax
lea r8d, [r9 + 0x31]
call fcn.180068df0
mov rax, qword [r12]
xor r9d, r9d
mov qword [rsp + 0x50], 0
xor r8d, r8d
mov qword [rsp + 0x68], rax
xor edx, edx
mov rax, qword [rsp + 0x1f0]
xor ecx, ecx
mov qword [rsp + 0x48], rax
lea rax, [rsp + 0x68]
mov qword [rsp + 0x40], 0
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], 0xfa
mov qword [rsp + 0x20], r13
call fcn.180023830
movsd xmm3, qword [rsp + 0x80]
movsd xmm4, qword [rsp + 0x88]
movsd xmm5, qword [rsp + 0x70]
xor r10d, r10d
lea rdx, [0x180000000]
mov r9d, dword [rsp + 0x60]
mov r8, qword [rsp + 0x1d0]
add edi, 0xb7
cmp edi, ebp
jae 0x1800455c6
movsd xmm2, qword [0x1800c4750]
jmp 0x180045081
mov esi, dword [r14 + 0xc]
imul esi, dword [r14 + 8]
mov rdx, qword [r14 + 0x28]
test rdx, rdx
je 0x1800451f3
xor r9d, r9d
xor ecx, ecx
mov r8d, 0x11b
call fcn.1800251e0
movsd xmm3, qword [rsp + 0x80]
xor r10d, r10d
movsd xmm4, qword [rsp + 0x88]
movsd xmm5, qword [rsp + 0x70]
mov dword [r14 + 0x20], r10d
movsxd rcx, esi
test esi, esi
jle 0x180045187
mov rax, qword [r14 + 0x10]
add rax, 0xc
test byte [rax], 1
je 0x18004520f
inc dword [r14 + 0x20]
add rax, 0x1c
sub rcx, 1
jne 0x180045206
jmp 0x180045187
mov dword [rsp + 0x78], 0xffffff9d
jmp case.0x1800450b3.13
xorps xmm15, xmm15
jmp case.0x1800450b3.13
xorps xmm3, xmm3
xorps xmm4, xmm4
movsd qword [rsp + 0x80], xmm3
movsd qword [rsp + 0x88], xmm4
jmp case.0x1800450b3.13
movsxd rax, dword [r14 + 0x20]
lea rcx, [rsp + 0x68]
xor r9d, r9d
shl rax, 3
xor edx, edx
mov qword [rsp + 0x68], rax
lea r8d, [r9 + 0x6f]
call fcn.180044e10
movsd xmm3, qword [rsp + 0x80]
movsd xmm4, qword [rsp + 0x88]
movsd xmm5, qword [rsp + 0x70]
mov qword [r14 + 0x28], rax
jmp 0x180045184
mov eax, edi
sub eax, 0x175
je 0x180045564
sub eax, 0x23
je 0x180045544
sub eax, 0x68
je 0x1800454fa
sub eax, 0x2c
je 0x1800454e1
cmp eax, 0xb7
jne case.0x1800450b3.13
movsxd r10, dword [r8]
test r10, r10
jle 0x18004543a
lea r8, [r14 + 0x34]
nop word [rax + rax]
mov r9d, 0x10c
cmp r9d, 0x10c
je 0x180045350
cmp r9d, 0x199
je 0x18004532a
cmp r9d, 0x226
jne 0x180045400
movd xmm1, dword [r8 - 0x18]
movd xmm0, dword [r8]
cvtdq2pd xmm1, xmm1
cvtdq2pd xmm0, xmm0
mulsd xmm1, xmm6
addsd xmm1, xmm0
addsd xmm13, xmm1
jmp 0x180045400
movd xmm1, dword [r8 - 0x1c]
movd xmm0, dword [r8 - 4]
cvtdq2pd xmm1, xmm1
cvtdq2pd xmm0, xmm0
mulsd xmm1, xmm6
addsd xmm1, xmm0
addsd xmm12, xmm1
jmp 0x180045400
mov edx, dword [r8 - 0x18]
xorps xmm1, xmm1
mov ecx, dword [r8]
xorps xmm0, xmm0
add ecx, edx
lea eax, [rdx + 1]
cvtsi2ss xmm0, eax
cvtsi2ss xmm1, ecx
mulss xmm1, dword [r12 + 0x454]
divss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, dword [r8 - 0x14]
cvtps2pd xmm6, xmm1
xorps xmm1, xmm1
cvtsi2sd xmm1, dword [r8 - 0x2c]
addsd xmm6, xmm2
xorps xmm2, xmm2
cvtsi2sd xmm2, dword [r8 - 0x28]
mulsd xmm1, xmm6
mulsd xmm2, xmm6
addsd xmm1, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, dword [r8 - 0x10]
addsd xmm15, xmm1
xorps xmm1, xmm1
cvtsi2sd xmm1, dword [r8 - 0x24]
addsd xmm2, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, dword [r8 - 0xc]
addsd xmm3, xmm2
mulsd xmm1, xmm6
xorps xmm2, xmm2
cvtsi2sd xmm2, dword [r8 - 0x20]
addsd xmm1, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, dword [r8 - 8]
mulsd xmm2, xmm6
addsd xmm4, xmm1
addsd xmm2, xmm0
addsd xmm5, xmm2
movsd xmm2, qword [0x1800c4750]
add r9d, 0x8d
cmp r9d, 0x2b3
jb 0x1800452e6
add r8, 0x38
movsd qword [rsp + 0x70], xmm5
movsd qword [rsp + 0x88], xmm4
movsd qword [rsp + 0x80], xmm3
sub r10, 1
jne 0x1800452e0
mov rax, qword [rsp + 0x1f0]
mov edx, dword [rax]
test edx, edx
js 0x180045184
mov ecx, 0xbe
mov eax, ecx
sub eax, 0xbe
je 0x18004547f
sub eax, 1
je 0x18004546b
cmp eax, 1
jne 0x1800454ba
addsd xmm13, xmm2
jmp 0x1800454ba
mov eax, edx
imul eax, ebx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm12, xmm0
jmp 0x1800454ba
movd xmm0, ebx
mov eax, ebx
cvtdq2pd xmm0, xmm0
imul eax, ebx
addsd xmm15, xmm0
movd xmm1, edx
cvtdq2pd xmm1, xmm1
movd xmm0, eax
mov eax, edx
cvtdq2pd xmm0, xmm0
imul eax, edx
addsd xmm3, xmm1
addsd xmm4, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm5, xmm0
inc ecx
cmp ecx, 0xc1
jb 0x180045451
movsd qword [rsp + 0x70], xmm5
movsd qword [rsp + 0x88], xmm4
movsd qword [rsp + 0x80], xmm3
jmp 0x180045184
movsxd rax, dword [r8]
mov ebx, dword [r14]
imul rcx, rax, 0x38
mov r9d, dword [rcx + r14 - 0x34]
mov dword [rsp + 0x60], r9d
jmp 0x180045193
movsxd r11, esi
mov r8d, r10d
test esi, esi
jle case.0x1800450b3.13
xor edx, edx
nop word [rax + rax]
mov r9, qword [r14 + 0x10]
test byte [r9 + rdx + 0xc], 1
je 0x180045532
movsxd rax, r8d
imul rcx, rax, 0x1c
mov rax, qword [r14 + 0x28]
add rcx, r9
mov qword [r10 + rax], rcx
add r10, 8
inc r8d
add rdx, 0x1c
sub r11, 1
jne 0x180045510
jmp 0x180045184
call qword [r15]
movsd xmm3, qword [rsp + 0x80]
movsd xmm4, qword [rsp + 0x88]
movsd xmm5, qword [rsp + 0x70]
jmp 0x180045184
xorps xmm5, xmm5
xorps xmm12, xmm12
movsd qword [rsp + 0x70], xmm5
xorps xmm13, xmm13
jmp case.0x1800450b3.13
mov qword [rsp + 0x50], r10
xor r9d, r9d
mov qword [rsp + 0x48], r10
xor edx, edx
mov qword [rsp + 0x40], r10
xor ecx, ecx
mov qword [rsp + 0x38], r10
mov r8d, SHSetFolderPathW
mov qword [rsp + 0x30], r10
mov qword [rsp + 0x28], r10
mov qword [rsp + 0x20], r10
call fcn.180041380
xor ecx, ecx
mov qword [rax], rcx
jmp 0x1800463e0
mov r9d, dword [rsp + 0x1c0]
mov dword [rsp + 0x60], r9d
mov r15d, dword [rsp + 0x1c0]
mov ebp, r15d
movaps xmmword [rsp + 0x160], xmm7
movaps xmmword [rsp + 0x150], xmm8
movaps xmmword [rsp + 0x140], xmm9
imul eax, r15d, 0x1bc
movaps xmmword [rsp + 0x130], xmm10
movaps xmmword [rsp + 0x120], xmm11
movaps xmmword [rsp + 0xf0], xmm14
mov dword [rsp + 0x7c], r15d
mov dword [rsp + 0xc0], eax
cmp r15d, eax
ja 0x1800463a3
movsd xmm9, qword [0x1800c4720]
movsd xmm10, qword [0x1800c4840]
movss xmm8, dword [0x1800c45f0]
movss xmm11, dword [rsp + 0x1c0]
movd xmm2, ebx
movd xmm1, r9d
cvtdq2pd xmm2, xmm2
cvtdq2pd xmm1, xmm1
movsd qword [rsp + 0x68], xmm2
movsd xmm14, qword [rsp + 0x68]
movsd qword [rsp + 0xd0], xmm1
movsd xmm7, qword [0x1800c47d8]
movsd xmm6, qword [0x1800c4768]
cmp ebp, 0x71c0
ja 0x180045a83
je 0x180045a7a
cmp ebp, 0x10a
ja 0x180045946
je 0x1800457e2
mov eax, ebp
sub eax, 7
je 0x18004574d
sub eax, 0xda
je 0x180046380
cmp eax, 0x23
jne 0x18004633c
mov rdi, qword [rsp + 0x1f0]
xorps xmm0, xmm0
movups xmmword [r14], xmm0
mov dword [rsp + 0x90], 1
movups xmmword [r14 + 0x10], xmm0
movups xmmword [r14 + 0x20], xmm0
movups xmmword [r14 + 0x30], xmm0
movups xmmword [r14 + 0x40], xmm0
mov eax, dword [rdi]
mov dword [r14 + 0x40], eax
movd xmm0, dword [rdi]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x1800c48bc]
call sub.api_ms_win_crt_math_l1_1_0.dll_logf
movaps xmm6, xmm0
movss xmm0, dword [0x1800c4780]
call sub.api_ms_win_crt_math_l1_1_0.dll_logf
divss xmm6, xmm0
addss xmm6, dword [0x1800c4674]
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_floorf
subss xmm0, dword [0x1800c46d0]
movsd xmm5, qword [rsp + 0x70]
mov r9d, dword [rsp + 0x60]
cvttss2si eax, xmm0
mov dword [r14 + 0x3c], eax
jmp 0x18004633c
mov edx, dword [r13]
test edx, edx
js 0x18004633c
mov ecx, 9
nop
cmp ecx, 9
je 0x180045799
cmp ecx, 0x35
jne 0x1800457bd
addsd xmm13, qword [0x1800c4750]
mov eax, edx
imul eax, edx
movd xmm0, eax
mov eax, edx
cvtdq2pd xmm0, xmm0
imul eax, r9d
addsd xmm5, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm12, xmm0
jmp 0x1800457bd
movd xmm0, edx
addsd xmm15, xmm1
cvtdq2pd xmm0, xmm0
mov eax, r9d
imul eax, r9d
addsd xmm3, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm4, xmm0
add ecx, 0x2c
cmp ecx, 0x61
jb 0x180045760
movsd qword [rsp + 0x70], xmm5
movsd qword [rsp + 0x88], xmm4
movsd qword [rsp + 0x80], xmm3
jmp 0x18004633c
movaps xmm0, xmm15
movaps xmm7, xmm4
mulsd xmm0, xmm15
mulsd xmm7, xmm13
subsd xmm7, xmm0
xorps xmm0, xmm0
comisd xmm7, xmm0
jbe 0x180046389
mov ebx, 0x7e
nop dword [rax]
mov eax, ebx
sub eax, 0x7e
je 0x180045905
sub eax, 0x10
je 0x18004588a
sub eax, 0x10
je 0x180045833
cmp eax, 0x10
je 0x1800463a3
jmp 0x180045921
mov rdi, qword [rsp + 0x1f0]
mov eax, dword [rdi]
cmp eax, 0x3ff
jle 0x18004584f
mov dword [rdi], 0x3ff
mov eax, 0x3ff
mov ecx, dword [r13]
cmp ecx, 0x3ff
jle 0x18004586a
mov dword [r13], 0x3ff
mov ecx, 0x3ff
mov eax, dword [rdi]
test eax, eax
jns 0x180045875
mov dword [rdi], r10d
mov ecx, dword [r13]
test ecx, ecx
jns 0x18004587d
mov dword [r13], r10d
mov dword [rsp + 0xc8], r10d
jmp 0x180045921
movaps xmm0, xmm3
movaps xmm6, xmm13
mulsd xmm0, xmm15
mulsd xmm6, xmm12
subsd xmm6, xmm0
movaps xmm0, xmm2
divsd xmm6, xmm7
mulsd xmm0, xmm6
addsd xmm0, xmm14
addsd xmm0, xmm9
call sub.api_ms_win_crt_math_l1_1_0.dll_floor
mov rcx, qword [rsp + 0x1f0]
cvttsd2si eax, xmm0
movsd xmm0, qword [rsp + 0xd0]
mulsd xmm0, xmm6
mov dword [rcx], eax
addsd xmm0, xmm14
addsd xmm0, xmm9
call sub.api_ms_win_crt_math_l1_1_0.dll_floor
movsd xmm3, qword [rsp + 0x80]
movsd xmm4, qword [rsp + 0x88]
movsd xmm2, qword [rsp + 0x68]
cvttsd2si eax, xmm0
mov dword [r13], eax
jmp 0x180045921
movaps xmm14, xmm4
movaps xmm0, xmm15
mulsd xmm14, xmm3
mulsd xmm0, xmm12
subsd xmm14, xmm0
divsd xmm14, xmm7
add ebx, 0x10
mov r10d, 0
cmp ebx, 0xbe
jb 0x180045810
movsd xmm5, qword [rsp + 0x70]
mov r9d, dword [rsp + 0x60]
jmp 0x18004633c
cmp ebp, 0x2698
je 0x1800459a0
cmp ebp, 0x4c2c
jne 0x18004633c
movsxd rcx, dword [r13]
shl rcx, 2
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov qword [r14 + 0x20], rax
movsxd rcx, dword [r13]
shl rcx, 2
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov qword [r14 + 0x28], rax
movsxd rcx, dword [r13]
shl rcx, 2
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
movsd xmm5, qword [rsp + 0x70]
mov r9d, dword [rsp + 0x60]
mov qword [r14 + 0x30], rax
jmp 0x18004633c
mov rdi, qword [rsp + 0x1e8]
xorps xmm0, xmm0
mov ecx, dword [r14 + 0x3c]
xorps xmm1, xmm1
cvtsi2sd xmm1, dword [r13]
inc ecx
mov edx, 1
shl edx, cl
cvtsi2ss xmm0, dword [rdi]
xorps xmm6, xmm6
mulss xmm0, dword [0x1800c4650]
cvtsi2sd xmm6, edx
cvtps2pd xmm0, xmm0
mulsd xmm0, xmm9
divsd xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_log
mulsd xmm0, qword [0x1800c4768]
xorps xmm1, xmm1
mov rax, qword [rsp + 0x1f0]
cvtsi2sd xmm1, dword [rax]
subsd xmm0, xmm7
mulsd xmm0, xmm6
subsd xmm0, xmm1
xorps xmm1, xmm1
cvttsd2si ebx, xmm0
xorps xmm0, xmm0
mov dword [r14 + 0x38], ebx
cvtsi2ss xmm0, dword [rdi]
mov eax, dword [r13]
cvtsi2ss xmm1, eax
addss xmm1, dword [0x1800c4650]
mulss xmm1, xmm0
cvtps2pd xmm0, xmm1
xorps xmm1, xmm1
cvtsi2sd xmm1, eax
mulsd xmm0, xmm9
divsd xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_log
mulsd xmm0, qword [0x1800c4768]
mov r12, rdi
mov r9d, dword [rsp + 0x60]
movsd xmm5, qword [rsp + 0x70]
subsd xmm0, xmm7
mulsd xmm0, xmm6
addsd xmm0, xmm9
cvttsd2si eax, xmm0
sub eax, ebx
inc eax
mov dword [r14 + 0x44], eax
jmp 0x18004633c
mov qword [r14 + 8], r8
jmp 0x18004633c
cmp ebp, 0x9754
je 0x1800462e5
cmp ebp, 0xbce8
je 0x180045cef
cmp ebp, 0xe27c
je 0x180045cd0
cmp ebp, 0x10810
je 0x180045c8a
cmp ebp, 0x12da4
jne 0x18004633c
cmp dword [r13], 0
mov esi, r10d
mov dword [rsp + 0x7c], r10d
jle 0x18004633c
mov rdi, r10
nop word [rax + rax]
movd xmm6, esi
mov ebx, 0x19
mov esi, dword [rsp + 0xa0]
cvtdq2pd xmm6, xmm6
addsd xmm6, xmm9
nop dword [rax]
mov eax, ebx
sub eax, 0x19
je 0x180045beb
cmp eax, 1
jne 0x180045c48
mov r14, qword [rsp + 0x1e0]
xorps xmm0, xmm0
movsd xmm3, qword [0x1800c4750]
xorps xmm2, xmm2
cvtss2sd xmm0, xmm11
movsxd rdx, esi
mov rax, qword [r14 + 8]
movss xmm1, dword [rax + rdx*4 + 0x84]
subsd xmm3, xmm0
cvtps2pd xmm1, xmm1
movaps xmm0, xmm11
mulss xmm0, dword [rax + rdx*4 + 0x88]
mov rax, qword [r14 + 0x18]
mulsd xmm1, xmm3
cvtss2sd xmm2, xmm0
mov rcx, qword [rax]
addsd xmm2, xmm1
cvtpd2ps xmm0, xmm2
xorps xmm2, xmm2
movss dword [rdi + rcx], xmm0
movaps xmm0, xmm11
mov rax, qword [r14 + 8]
mulss xmm0, dword [rax + rdx*4 + 0xcc]
movss xmm1, dword [rax + rdx*4 + 0xc8]
mov rax, qword [r14 + 0x18]
cvtss2sd xmm2, xmm0
mov rcx, qword [rax + 8]
cvtps2pd xmm1, xmm1
mulsd xmm1, xmm3
addsd xmm2, xmm1
cvtpd2ps xmm0, xmm2
xorps xmm2, xmm2
movss dword [rdi + rcx], xmm0
movaps xmm0, xmm11
mov rax, qword [r14 + 8]
mulss xmm0, dword [rax + rdx*4 + 0x110]
movss xmm1, dword [rax + rdx*4 + 0x10c]
mov rax, qword [r14 + 0x18]
cvtss2sd xmm2, xmm0
mov rcx, qword [rax + 0x10]
cvtps2pd xmm1, xmm1
mulsd xmm1, xmm3
addsd xmm2, xmm1
cvtpd2ps xmm0, xmm2
movss dword [rdi + rcx], xmm0
jmp 0x180045c48
xorps xmm0, xmm0
xorps xmm1, xmm1
cvtsi2sd xmm0, dword [r12]
cvtsi2sd xmm1, dword [r13]
mulsd xmm0, xmm6
addsd xmm1, xmm1
divsd xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_log
mulsd xmm0, qword [0x1800c4768]
xorps xmm1, xmm1
movss xmm11, dword [0x1800c48c8]
subsd xmm0, xmm7
addsd xmm0, xmm0
cvtsd2ss xmm0, xmm0
maxss xmm1, xmm0
xorps xmm0, xmm0
minss xmm11, xmm1
cvttss2si esi, xmm11
cvtsi2ss xmm0, esi
subss xmm11, xmm0
inc ebx
cmp ebx, 0x1b
jb 0x180045b00
mov dword [rsp + 0xa0], esi
add rdi, 4
mov esi, dword [rsp + 0x7c]
inc esi
mov dword [rsp + 0x7c], esi
cmp esi, dword [r13]
jl 0x180045ae0
movsd xmm5, qword [rsp + 0x70]
mov r14, qword [rsp + 0x1e0]
mov r9d, dword [rsp + 0x60]
jmp 0x18004633c
mov r14, qword [rsp + 0x1e0]
mov rbx, r10
nop word [rax + rax]
movsxd rcx, dword [r13]
shl rcx, 2
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov rcx, qword [r14 + 0x18]
mov qword [rbx + rcx], rax
add rbx, 8
cmp rbx, 0x18
jl 0x180045ca0
movsd xmm5, qword [rsp + 0x70]
mov r9d, dword [rsp + 0x60]
jmp 0x18004633c
mov ecx, 0x18
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
movsd xmm5, qword [rsp + 0x70]
mov r9d, dword [rsp + 0x60]
mov qword [r14 + 0x18], rax
jmp 0x18004633c
mov ebx, r10d
lea rbp, [0x1800aa5e4]
mov rdi, r10
mov r15d, 1
nop dword [rax]
nop word [rax + rax]
xorps xmm0, xmm0
cvtsi2sd xmm0, r15d
mulsd xmm0, qword [0x1800c4700]
subsd xmm0, qword [0x1800c4788]
addsd xmm0, xmm7
mulsd xmm0, qword [0x1800c4728]
call sub.api_ms_win_crt_math_l1_1_0.dll_exp
mov esi, dword [r13]
addsd xmm0, xmm0
xorps xmm1, xmm1
xorps xmm2, xmm2
cvtsi2sd xmm2, dword [r12]
cvtsi2sd xmm1, esi
mulsd xmm0, xmm1
divsd xmm0, xmm2
addsd xmm0, xmm9
call sub.api_ms_win_crt_math_l1_1_0.dll_floor
movss xmm2, dword [rbp - 4]
mov ecx, esi
cvttsd2si edx, xmm0
cmp ebx, edx
jge 0x180045eac
movss xmm3, dword [rbp]
mov eax, edx
sub eax, ebx
movsxd r8, edx
subss xmm3, xmm2
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm3, xmm0
cmp rdi, r8
jge 0x180045eac
mov rax, r8
sub rax, rdi
cmp rax, 4
jl 0x180045e74
nop word [rax + rax]
mov ecx, dword [r13]
cmp ebx, ecx
jge 0x180045eac
mov rax, qword [r14 + 0x20]
xorps xmm0, xmm0
cvtss2sd xmm0, xmm2
inc ebx
addss xmm2, xmm3
addsd xmm0, xmm10
cvtpd2ps xmm1, xmm0
movss dword [rax + rdi*4], xmm1
mov ecx, dword [r13]
cmp ebx, ecx
jge 0x1800462dd
mov rax, qword [r14 + 0x20]
xorps xmm0, xmm0
cvtss2sd xmm0, xmm2
inc ebx
addss xmm2, xmm3
addsd xmm0, xmm10
cvtpd2ps xmm1, xmm0
movss dword [rax + rdi*4 + 4], xmm1
mov ecx, dword [r13]
cmp ebx, ecx
jge 0x1800462d4
mov rax, qword [r14 + 0x20]
xorps xmm0, xmm0
cvtss2sd xmm0, xmm2
inc ebx
addss xmm2, xmm3
addsd xmm0, xmm10
cvtpd2ps xmm1, xmm0
movss dword [rax + rdi*4 + 8], xmm1
mov ecx, dword [r13]
cmp ebx, ecx
jge 0x1800462cb
mov rax, qword [r14 + 0x20]
xorps xmm0, xmm0
cvtss2sd xmm0, xmm2
inc ebx
addss xmm2, xmm3
addsd xmm0, xmm10
cvtpd2ps xmm1, xmm0
movss dword [rax + rdi*4 + 0xc], xmm1
add rdi, 4
lea rax, [r8 - 3]
cmp rdi, rax
jl 0x180045db0
mov ecx, dword [r13]
cmp rdi, r8
jge 0x180045eac
mov ecx, dword [r13]
cmp ebx, ecx
jge 0x180045eac
mov rax, qword [r14 + 0x20]
xorps xmm0, xmm0
cvtss2sd xmm0, xmm2
inc ebx
addss xmm2, xmm3
addsd xmm0, xmm10
cvtpd2ps xmm1, xmm0
movss dword [rax + rdi*4], xmm1
inc rdi
cmp rdi, r8
jl 0x180045e79
mov ecx, dword [r13]
inc r15d
lea rax, [0x1800aa740]
add rbp, 4
cmp rbp, rax
jl 0x180045d10
mov r14, qword [rsp + 0x1e0]
cmp ebx, ecx
jge 0x180045efa
lea rdi, [rdi*4]
nop word [rax + rax]
mov rcx, qword [r14 + 0x20]
lea rdi, [rdi + 4]
inc ebx
mov eax, dword [rcx + rdi - 8]
mov dword [rcx + rdi - 4], eax
mov ecx, dword [r13]
cmp ebx, ecx
jl 0x180045ee0
xor r12d, r12d
test ecx, ecx
jle 0x180046174
mov r15d, dword [rsp + 0x78]
xor r13d, r13d
mov qword [rsp + 0x98], r13
nop word [rax + rax]
mov rax, qword [rsp + 0x1e8]
add ecx, ecx
mov eax, dword [rax]
cdq
idiv ecx
mov ecx, eax
mov ebp, eax
imul ecx, r12d
mov esi, eax
imul ebp, eax
movd xmm6, ecx
mov ecx, ebp
imul ecx, r12d
cvtdq2ps xmm6, xmm6
imul ecx, r12d
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm8
call sub.api_ms_win_crt_math_l1_1_0.dll_atanf
movaps xmm9, xmm0
movaps xmm0, xmm6
mulss xmm0, dword [0x1800c45fc]
mulss xmm9, dword [0x1800c47c0]
call sub.api_ms_win_crt_math_l1_1_0.dll_atanf
mov rcx, qword [rsp + 0x1d0]
mulss xmm0, dword [0x1800c48c4]
mulss xmm6, dword [0x1800c45f8]
mov r14d, dword [rcx + 0x78]
addss xmm9, xmm0
lea eax, [r14 + r15]
addss xmm9, xmm6
cmp eax, r12d
jge 0x180046050
mov ebx, esi
movaps xmm8, xmm9
subss xmm8, dword [rcx + 0x70]
imul ebx, r15d
mov edi, ebp
imul edi, r15d
nop dword [rax]
nop dword [rax + rax]
xorps xmm0, xmm0
mov eax, edi
imul eax, r15d
xorps xmm7, xmm7
cvtsi2ss xmm7, ebx
cvtsi2ss xmm0, eax
mulss xmm0, dword [0x1800c45f0]
call sub.api_ms_win_crt_math_l1_1_0.dll_atanf
movaps xmm6, xmm0
movaps xmm0, xmm7
mulss xmm0, dword [0x1800c45fc]
mulss xmm6, dword [0x1800c47c0]
call sub.api_ms_win_crt_math_l1_1_0.dll_atanf
mulss xmm0, dword [0x1800c48c4]
mulss xmm7, dword [0x1800c45f8]
addss xmm6, xmm0
addss xmm6, xmm7
comiss xmm8, xmm6
jbe 0x18004603a
inc r15d
add edi, ebp
add ebx, esi
lea eax, [r14 + r15]
cmp eax, r12d
jl 0x180045fd0
movss xmm8, dword [0x1800c45f0]
mov rcx, qword [rsp + 0x1d0]
mov dword [rsp + 0x78], r15d
mov rax, qword [rsp + 0x1c8]
mov r14d, dword [rax]
cmp dword [rsp + 0x90], r14d
jg 0x180046111
mov r13d, dword [rsp + 0x90]
mov ebx, esi
mov r15d, dword [rcx + 0x7c]
mov edi, ebp
add r15d, r12d
imul ebx, r13d
imul edi, r13d
cmp r13d, r15d
jl 0x1800460f0
xorps xmm0, xmm0
mov eax, edi
imul eax, r13d
xorps xmm7, xmm7
cvtsi2ss xmm7, ebx
cvtsi2ss xmm0, eax
mulss xmm0, xmm8
call sub.api_ms_win_crt_math_l1_1_0.dll_atanf
movaps xmm6, xmm0
movaps xmm0, xmm7
mulss xmm0, dword [0x1800c45fc]
mulss xmm6, dword [0x1800c47c0]
call sub.api_ms_win_crt_math_l1_1_0.dll_atanf
mulss xmm0, dword [0x1800c48c4]
movaps xmm1, xmm9
mov rcx, qword [rsp + 0x1d0]
mulss xmm7, dword [0x1800c45f8]
addss xmm6, xmm0
addss xmm1, dword [rcx + 0x74]
addss xmm6, xmm7
comiss xmm1, xmm6
jbe 0x1800460fc
inc r13d
add edi, ebp
add ebx, esi
cmp r13d, r14d
jle 0x180046084
mov r15d, dword [rsp + 0x78]
mov dword [rsp + 0x90], r13d
mov r13, qword [rsp + 0x98]
mov ecx, dword [rsp + 0x90]
mov eax, r15d
mov r14, qword [rsp + 0x1e0]
add ecx, 0xfffeffff
shl eax, 0x10
inc r12d
add ecx, eax
mov rax, qword [r14 + 0x30]
mov dword [rax + r13], ecx
add r13, 4
mov rax, qword [rsp + 0x1c8]
mov qword [rsp + 0x98], r13
mov ecx, dword [rax]
cmp r12d, ecx
jl 0x180045f20
movsd xmm7, qword [0x1800c47d8]
mov r13, rax
movsd xmm9, qword [0x1800c4720]
movsd xmm6, qword [0x1800c4768]
xor ebx, ebx
test ecx, ecx
jle 0x1800461fd
xor edi, edi
mov rax, qword [rsp + 0x1e8]
movd xmm2, dword [r13]
cvtdq2pd xmm2, xmm2
movd xmm1, dword [rax]
cvtdq2pd xmm1, xmm1
movd xmm0, ebx
cvtdq2ps xmm0, xmm0
addss xmm0, dword [0x1800c4650]
cvtps2pd xmm0, xmm0
mulsd xmm0, xmm9
mulsd xmm0, xmm1
divsd xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_log
mov ecx, dword [r14 + 0x3c]
mov edx, 1
mov rax, qword [r14 + 0x28]
inc ecx
shl edx, cl
inc ebx
mulsd xmm0, xmm6
movd xmm1, edx
cvtdq2pd xmm1, xmm1
subsd xmm0, xmm7
mulsd xmm0, xmm1
addsd xmm0, xmm9
cvttsd2si ecx, xmm0
mov dword [rdi + rax], ecx
add rdi, 4
mov ecx, dword [r13]
cmp ebx, ecx
jl 0x180046180
mov rdx, qword [rsp + 0x1d0]
lea r9, [rsp + 0xb0]
mov rax, qword [rsp + 0x1e8]
lea r8, [rsp + 0xb8]
mov dword [rsp + 0xb8], ecx
movss xmm0, dword [rdx + 0x1c]
movd xmm2, dword [rax]
lea rax, [rsp + 0xa8]
movss xmm1, dword [rdx + 0x18]
cvtdq2pd xmm2, xmm2
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x30], 0x11f
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
movss dword [rsp + 0xb0], xmm0
movd xmm0, ecx
lea rcx, [rdx + 0x24]
cvtdq2pd xmm0, xmm0
lea rdx, [rsp + 0x98]
mulsd xmm2, xmm9
movss dword [rsp + 0xa8], xmm1
divsd xmm2, xmm0
cvtpd2ps xmm0, xmm2
movss dword [rsp + 0x98], xmm0
call fcn.180082a80
movsd xmm5, qword [rsp + 0x70]
mov ebp, dword [rsp + 0x7c]
mov r12, qword [rsp + 0x1e8]
mov r9d, dword [rsp + 0x60]
mov r15d, dword [rsp + 0x1c0]
mov qword [r14 + 0x10], rax
mov r14, qword [rsp + 0x1e0]
jmp 0x18004633c
add rdi, 3
jmp 0x180045eac
add rdi, 2
jmp 0x180045eac
inc rdi
jmp 0x180045eac
mov eax, dword [r13]
mov r14, qword [rsp + 0x1e0]
mov rcx, qword [rsp + 0x1e8]
mov dword [r14], eax
mov eax, dword [rcx]
mov dword [r14 + 0x48], eax
mov dword [r14 + 0x4c], 0x3f800000
mov eax, dword [rcx]
cmp eax, 0x6590
jge 0x180046319
mov dword [r14 + 0x4c], r10d
jmp 0x180046339
cmp eax, 0x9470
jge 0x18004632a
mov dword [r14 + 0x4c], 0x3f70a3d7
jmp 0x180046339
cmp eax, 0xb3b0
jle 0x180046339
mov dword [r14 + 0x4c], 0x3fa33333
mov r12, rcx
imul eax, r15d, 0x25
add ebp, eax
mov dword [rsp + 0x7c], ebp
cmp ebp, dword [rsp + 0xc0]
ja 0x1800463a3
movsd xmm3, qword [rsp + 0x80]
xor r10d, r10d
movsd xmm4, qword [rsp + 0x88]
movsd xmm1, qword [rsp + 0xd0]
movsd xmm2, qword [rsp + 0x68]
mov r8, qword [rsp + 0x1d0]
jmp 0x18004566e
mov rax, 0xffffffffffffffff
jmp 0x1800463ab
mov rax, qword [rsp + 0x1f0]
mov dword [rsp + 0xc8], 1
mov dword [rax], r10d
mov dword [r13], r10d
mov rax, qword [rsp + 0xc8]
movaps xmm11, xmmword [rsp + 0x120]
movaps xmm10, xmmword [rsp + 0x130]
movaps xmm9, xmmword [rsp + 0x140]
movaps xmm8, xmmword [rsp + 0x150]
movaps xmm7, xmmword [rsp + 0x160]
movaps xmm14, xmmword [rsp + 0xf0]
lea r11, [rsp + 0x180]
mov rbx, qword [r11 + 0x58]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
movaps xmm15, xmmword [r11 - 0xa0]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret