Function at 0x140021180
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x348]
sub rsp, 0x410
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
movaps xmmword [rax - 0x68], xmm8
movaps xmmword [rax - 0x78], xmm9
movaps xmmword [rax - 0x88], xmm10
movaps xmmword [rax - 0x98], xmm11
movaps xmmword [rax - 0xa8], xmm12
movaps xmmword [rax - 0xb8], xmm13
movaps xmmword [rax - 0xc8], xmm14
movaps xmmword [rax - 0xd8], xmm15
mov rax, qword [0x140037040]
xor rax, rsp
mov qword [rbp + 0x260], rax
mov r14, rdx
mov rbx, rcx
mov qword [rcx], rdx
xorps xmm10, xmm10
movss dword [rsp + 0x58], xmm10
mov rdi, qword [rcx + 0x20]
mov rsi, qword [rcx + 0x28]
xor r12d, r12d
mov r15d, dword [reloc.d2d1.dll_Ordinal_1]
movss xmm6, dword [0x140032918]
movss xmm13, dword [0x14003296c]
movss xmm9, dword [0x1400328fc]
movss xmm12, dword [0x140032900]
cmp rdi, rsi
je 0x140021ab0
movss xmm7, dword [0x1400329e4]
nop dword [rax]
mov rdx, rdi
lea rcx, [rbp + 0x110]
call fcn.140022970
nop
movss xmm11, dword [rbp + 0x254]
ucomiss xmm11, xmm10
jp 0x140021275
je 0x1400219fa
comiss xmm11, xmm7
ja 0x1400219fa
movss xmm14, dword [rbp + 0x1c8]
movaps xmm8, xmm14
addss xmm8, xmm6
movss xmm15, dword [rbp + 0x1c4]
movaps xmm7, xmm15
addss xmm7, xmm10
movss xmm6, dword [rbp + 0x238]
divss xmm6, xmm13
subss xmm6, xmm9
subss xmm7, xmm15
subss xmm8, xmm14
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
movaps xmm9, xmm0
mulss xmm9, xmm8
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
mulss xmm0, xmm7
addss xmm9, xmm0
addss xmm9, xmm14
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
mulss xmm0, xmm7
movss dword [rsp + 0x54], xmm0
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
mulss xmm0, xmm8
movss xmm8, dword [rsp + 0x54]
subss xmm8, xmm0
addss xmm8, xmm15
movss xmm7, dword [rbp + 0x23c]
divss xmm7, xmm13
movss xmm13, dword [rbp + 0x1c0]
movaps xmm6, xmm13
addss xmm6, xmm10
subss xmm6, xmm13
addss xmm6, xmm13
subss xmm6, xmm13
subss xmm9, xmm14
movaps xmm0, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
mulss xmm0, xmm9
movss dword [rsp + 0x50], xmm0
movaps xmm0, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
mulss xmm0, xmm6
movss xmm1, dword [rsp + 0x50]
subss xmm1, xmm0
addss xmm1, xmm14
movss dword [rsp + 0x50], xmm1
subss xmm8, xmm15
addss xmm8, xmm15
movss dword [rsp + 0x54], xmm8
movaps xmm0, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
movaps xmm8, xmm0
mulss xmm8, xmm9
movaps xmm0, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
mulss xmm0, xmm6
addss xmm8, xmm0
addss xmm8, xmm13
movss dword [rbp - 0x80], xmm8
movss xmm8, dword [rbx + 0x18]
movaps xmm0, xmm8
subss xmm0, dword [rsp + 0x50]
movss xmm1, dword [rbx + 0x14]
movss dword [rbp - 0x7c], xmm1
movaps xmm6, xmm1
subss xmm6, dword [rsp + 0x54]
movss xmm9, dword [rbx + 0x10]
movss dword [rbp - 0x78], xmm9
movaps xmm1, xmm12
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
movaps xmm7, xmm0
movaps xmm1, xmm12
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
movaps xmm6, xmm0
movaps xmm0, xmm9
subss xmm0, dword [rbp - 0x80]
movaps xmm1, xmm12
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
movaps xmm1, xmm0
addss xmm1, xmm6
addss xmm1, xmm7
xorps xmm0, xmm0
ucomiss xmm0, xmm1
ja 0x140021435
xorps xmm9, xmm9
sqrtss xmm9, xmm1
jmp 0x140021441
movaps xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movaps xmm9, xmm0
subss xmm8, xmm14
movss xmm6, dword [rbp - 0x7c]
subss xmm6, xmm15
movaps xmm1, xmm12
movaps xmm0, xmm8
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
movaps xmm7, xmm0
movaps xmm1, xmm12
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
movaps xmm6, xmm0
movss xmm0, dword [rbp - 0x78]
subss xmm0, xmm13
movaps xmm1, xmm12
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
movaps xmm1, xmm0
addss xmm1, xmm6
addss xmm1, xmm7
xorps xmm0, xmm0
ucomiss xmm0, xmm1
ja 0x1400214a0
xorps xmm8, xmm8
sqrtss xmm8, xmm1
jmp 0x1400214ac
movaps xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movaps xmm8, xmm0
subss xmm8, xmm9
subss xmm14, dword [rsp + 0x50]
subss xmm15, dword [rsp + 0x54]
movaps xmm1, xmm12
movaps xmm0, xmm14
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
movaps xmm7, xmm0
movaps xmm1, xmm12
movaps xmm0, xmm15
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
movaps xmm6, xmm0
subss xmm13, dword [rbp - 0x80]
movaps xmm1, xmm12
movaps xmm0, xmm13
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
movaps xmm1, xmm0
addss xmm1, xmm6
addss xmm1, xmm7
xorps xmm0, xmm0
ucomiss xmm0, xmm1
ja 0x14002150e
xorps xmm0, xmm0
sqrtss xmm0, xmm1
jmp 0x140021516
movaps xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
mov dword [rbp - 0x64], 0x3f800000
comiss xmm10, xmm8
jbe 0x14002153f
xorps xmm8, xmmword [0x140032c00]
divss xmm8, xmm0
mov dword [rbp - 0x70], 0
movss dword [rbp - 0x68], xmm8
jmp 0x140021551
divss xmm8, xmm0
movss dword [rbp - 0x70], xmm8
mov dword [rbp - 0x68], 0
movss xmm0, dword [0x1400328e4]
subss xmm0, xmm8
movss dword [rbp - 0x6c], xmm0
cmp byte [reloc.d2d1.dll_Ordinal_1], 0
je 0x140021799
movups xmm0, xmmword [rbp - 0x70]
movdqa xmmword [rbp - 0x30], xmm0
movups xmm3, xmmword [0x140031828]
movups xmmword [rsp + 0x60], xmm3
movsd xmm0, qword [0x140031838]
movsd qword [rsp + 0x70], xmm0
mov eax, dword [0x140031840]
mov dword [rsp + 0x78], eax
cmp word [0x140031842], 0
je 0x1400216e4
mov r8d, r12d
cmp r15d, 2
jl 0x14002169a
movdqa xmm4, xmmword [0x140032bf0]
movdqa xmm2, xmmword [0x140032a30]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x140032a50]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
paddw xmm2, xmmword [0x140032a70]
movq xmm1, xmm3
xorps xmm2, xmm1
movq qword [rsp + 0x60], xmm2
movdqa xmm3, xmmword [0x140032a40]
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x140032a50]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
paddw xmm2, xmmword [0x140032a70]
movq xmm0, qword [rsp + 0x68]
xorps xmm2, xmm0
movq qword [rsp + 0x68], xmm2
mov r8d, 8
movsxd rax, r8d
lea r9, [rsp + 0x60]
lea r9, [r9 + rax*2]
nop word [rax + rax]
mov eax, 0x5397829d
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, dx
imul ecx, eax, 0x31
movzx eax, r8w
sub ax, cx
add ax, 0x35
xor word [r9], ax
inc r8d
lea r9, [r9 + 2]
cmp r8d, 0xe
jl 0x1400216b0
mov rcx, qword [rbx + 8]
lea rdx, [rbp + 0x110]
cmp qword [rbp + 0x128], 7
cmova rdx, qword [rbp + 0x110]
xorps xmm0, xmm0
cvtss2sd xmm0, xmm11
movss xmm7, dword [0x1400329e4]
movaps xmm3, xmm7
subss xmm3, xmm11
divss xmm3, xmm7
movss xmm14, dword [0x140032944]
mulss xmm3, xmm14
movss xmm15, dword [0x140032928]
addss xmm3, xmm15
movsd qword [rsp + 0x48], xmm0
mov eax, dword [rbp + 0x240]
mov dword [rsp + 0x40], eax
mov qword [rsp + 0x38], rdx
lea rax, [rsp + 0x60]
mov qword [rsp + 0x30], rax
lea rax, [rbp - 0x30]
mov qword [rsp + 0x28], rax
movss dword [rsp + 0x20], xmm10
movd r9d, xmm3
mov r8d, 2
movss xmm0, dword [rcx + 0x818]
movss xmm9, dword [rsp + 0x58]
unpcklps xmm0, xmm9
movq rdx, xmm0
call fcn.140002e30
movss xmm11, dword [rbp + 0x254]
jmp 0x1400217ba
movss xmm7, dword [0x1400329e4]
movss xmm9, dword [rsp + 0x58]
movss xmm14, dword [0x140032944]
movss xmm15, dword [0x140032928]
lea r10, [rbp + 0x110]
cmp qword [rbp + 0x128], 7
cmova r10, qword [rbp + 0x110]
mov r11, qword [rbx + 8]
movss xmm13, dword [r11 + 0x818]
movups xmm8, xmmword [0x140031828]
movups xmmword [rsp + 0x60], xmm8
movsd xmm0, qword [0x140031838]
movsd qword [rsp + 0x70], xmm0
mov eax, dword [0x140031840]
mov dword [rsp + 0x78], eax
cmp word [0x140031842], 0
je 0x140021954
mov r8d, r12d
cmp r15d, 2
jl 0x14002190a
movdqa xmm4, xmmword [0x140032bf0]
movdqa xmm6, xmmword [0x140032a70]
movdqa xmm2, xmmword [0x140032a30]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x140032a50]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm3, xmm1, 0xd8
movq xmm2, xmm6
paddw xmm3, xmm2
movq xmm1, xmm8
xorps xmm3, xmm1
movq qword [rsp + 0x60], xmm3
movdqa xmm2, xmmword [0x140032a40]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x140032a50]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm3, xmm1, 0xd8
movq xmm2, xmm6
paddw xmm3, xmm2
movq xmm0, qword [rsp + 0x68]
xorps xmm3, xmm0
movq qword [rsp + 0x68], xmm3
mov r8d, 8
movsxd rax, r8d
lea r9, [rsp + 0x60]
lea r9, [r9 + rax*2]
nop word [rax + rax]
mov eax, 0x5397829d
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, dx
imul ecx, eax, 0x31
movzx eax, r8w
sub ax, cx
add ax, 0x35
xor word [r9], ax
inc r8d
lea r9, [r9 + 2]
cmp r8d, 0xe
jl 0x140021920
xorps xmm0, xmm0
cvtss2sd xmm0, xmm11
movaps xmm1, xmm7
subss xmm1, xmm11
divss xmm1, xmm7
mulss xmm1, xmm14
addss xmm1, xmm15
movsd qword [rsp + 0x48], xmm0
mov eax, dword [rbp + 0x240]
mov dword [rsp + 0x40], eax
mov qword [rsp + 0x38], r10
lea rax, [rsp + 0x60]
mov qword [rsp + 0x30], rax
movss dword [rsp + 0x28], xmm10
movss dword [rsp + 0x20], xmm1
mov r9d, 2
unpcklps xmm13, xmm9
movq r8, xmm13
lea rdx, [rbp - 0x60]
mov rcx, r11
call fcn.140002630
movss xmm0, dword [rbp - 0x54]
subss xmm0, dword [rbp - 0x5c]
addss xmm9, xmm0
movss dword [rsp + 0x58], xmm9
lea rcx, [rbp + 0x110]
call fcn.140022ab0
movss xmm13, dword [0x14003296c]
movss xmm6, dword [0x140032918]
movss xmm9, dword [0x1400328fc]
jmp 0x140021aa0
mov rdx, qword [rbp + 0x148]
cmp rdx, 7
jbe 0x140021a40
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x130]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140021a3b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140021b91
call fcn.14002fa30
mov qword [rbp + 0x140], r12
mov qword [rbp + 0x148], 7
mov word [rbp + 0x130], r12w
mov rdx, qword [rbp + 0x128]
cmp rdx, 7
jbe 0x140021aa0
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x110]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140021a9b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140021b91
call fcn.14002fa30
add rdi, 0x148
cmp rdi, rsi
jne 0x140021250
mov rcx, qword [rbx + 0x28]
sub rcx, qword [rbx + 0x20]
movabs r13, 0x63e7063e7063e707
mov rax, r13
imul rcx
sar rdx, 7
mov rdi, rdx
shr rdi, 0x3f
add rdi, rdx
sub edi, 1
js 0x14002249f
mov esi, 0x25
nop dword [rax]
nop dword [rax + rax]
movsxd r8, edi
mov r9, qword [rbx + 0x20]
mov rcx, qword [rbx + 0x28]
sub rcx, r9
mov rax, r13
imul rcx
sar rdx, 7
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp rdx, r8
jbe 0x140022501
imul rdx, r8, 0x148
add rdx, r9
lea rcx, [rbp + 0x110]
call fcn.140022970
nop
movss xmm0, dword [rbp + 0x254]
ucomiss xmm0, xmm10
jp 0x140021b46
je 0x1400223d2
movss xmm1, dword [r14 + 0x2c]
movss xmm0, dword [r14 + 0x1c]
mulss xmm1, dword [rbp + 0x15c]
mulss xmm0, dword [rbp + 0x158]
movss xmm2, dword [rbp + 0x154]
mulss xmm2, dword [r14 + 0xc]
addss xmm2, xmm0
addss xmm2, xmm1
addss xmm2, dword [r14 + 0x3c]
movss xmm0, dword [0x1400328e4]
comiss xmm0, xmm2
jbe 0x140021b98
movaps xmm11, xmm0
jmp 0x140021ba6
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
movss xmm11, dword [0x140032930]
minss xmm11, xmm2
movss xmm14, dword [rbp + 0x1c8]
movaps xmm8, xmm14
addss xmm8, xmm6
movss xmm15, dword [rbp + 0x1c4]
movaps xmm7, xmm15
addss xmm7, xmm10
movss xmm6, dword [rbp + 0x238]
divss xmm6, xmm13
subss xmm6, xmm9
subss xmm7, xmm15
subss xmm8, xmm14
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
movaps xmm9, xmm0
mulss xmm9, xmm8
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
mulss xmm0, xmm7
addss xmm9, xmm0
addss xmm9, xmm14
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
mulss xmm0, xmm7
movss dword [rsp + 0x54], xmm0
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
mulss xmm0, xmm8
movss xmm8, dword [rsp + 0x54]
subss xmm8, xmm0
addss xmm8, xmm15
movss xmm7, dword [rbp + 0x23c]
divss xmm7, xmm13
movss xmm13, dword [rbp + 0x1c0]
movaps xmm6, xmm13
addss xmm6, xmm10
subss xmm6, xmm13
addss xmm6, xmm13
subss xmm6, xmm13
subss xmm9, xmm14
movaps xmm0, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
mulss xmm0, xmm9
movss dword [rsp + 0x50], xmm0
movaps xmm0, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
mulss xmm0, xmm6
movss xmm1, dword [rsp + 0x50]
subss xmm1, xmm0
addss xmm1, xmm14
movss dword [rsp + 0x50], xmm1
subss xmm8, xmm15
addss xmm8, xmm15
movss dword [rsp + 0x54], xmm8
movaps xmm0, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
movaps xmm8, xmm0
mulss xmm8, xmm9
movaps xmm0, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
mulss xmm0, xmm6
addss xmm8, xmm0
addss xmm8, xmm13
movss dword [rbp - 0x80], xmm8
movss xmm9, dword [rbx + 0x18]
movaps xmm0, xmm9
subss xmm0, xmm14
movss xmm1, dword [rbx + 0x14]
movss dword [rbp - 0x78], xmm1
movaps xmm6, xmm1
subss xmm6, xmm15
movss xmm8, dword [rbx + 0x10]
movss dword [rbp - 0x7c], xmm8
movaps xmm1, xmm12
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
movaps xmm7, xmm0
movaps xmm1, xmm12
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
movaps xmm6, xmm0
movaps xmm0, xmm8
subss xmm0, xmm13
movaps xmm1, xmm12
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
movaps xmm1, xmm0
addss xmm1, xmm6
addss xmm1, xmm7
xorps xmm0, xmm0
ucomiss xmm0, xmm1
ja 0x140021d5a
xorps xmm8, xmm8
sqrtss xmm8, xmm1
jmp 0x140021d66
movaps xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movaps xmm8, xmm0
subss xmm9, dword [rsp + 0x50]
movss xmm6, dword [rbp - 0x78]
subss xmm6, dword [rsp + 0x54]
movaps xmm1, xmm12
movaps xmm0, xmm9
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
movaps xmm7, xmm0
movaps xmm1, xmm12
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
movaps xmm6, xmm0
movss xmm0, dword [rbp - 0x7c]
subss xmm0, dword [rbp - 0x80]
movaps xmm1, xmm12
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
movaps xmm1, xmm0
addss xmm1, xmm6
addss xmm1, xmm7
xorps xmm0, xmm0
ucomiss xmm0, xmm1
ja 0x140021dc6
xorps xmm0, xmm0
sqrtss xmm0, xmm1
jmp 0x140021dce
movaps xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
subss xmm8, xmm0
subss xmm14, dword [rsp + 0x50]
movss xmm9, dword [rsp + 0x54]
subss xmm15, xmm9
movaps xmm1, xmm12
movaps xmm0, xmm14
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
movaps xmm7, xmm0
movaps xmm1, xmm12
movaps xmm0, xmm15
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
movaps xmm6, xmm0
movss xmm14, dword [rbp - 0x80]
subss xmm13, xmm14
movaps xmm1, xmm12
movaps xmm0, xmm13
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
movaps xmm1, xmm0
addss xmm1, xmm6
addss xmm1, xmm7
xorps xmm0, xmm0
ucomiss xmm0, xmm1
ja 0x140021e3a
xorps xmm0, xmm0
sqrtss xmm0, xmm1
jmp 0x140021e42
movaps xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
mov dword [rbp - 0x54], 0x3f800000
comiss xmm10, xmm8
jbe 0x140021e6b
xorps xmm8, xmmword [0x140032c00]
divss xmm8, xmm0
mov dword [rbp - 0x60], 0
movss dword [rbp - 0x58], xmm8
jmp 0x140021e7d
divss xmm8, xmm0
movss dword [rbp - 0x60], xmm8
mov dword [rbp - 0x58], 0
movss xmm0, dword [0x1400328e4]
subss xmm0, xmm8
movss dword [rbp - 0x5c], xmm0
movups xmm0, xmmword [0x140031590]
movdqa xmmword [rbp - 0x50], xmm0
lea rcx, [rbp + 0x30]
lea rax, [rbp + 0x154]
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
sub rcx, 0xffffffffffffff80
movups xmm1, xmmword [rax + 0x70]
movups xmmword [rcx - 0x10], xmm1
sub rax, 0xffffffffffffff80
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
mov rax, qword [rax + 0x50]
mov qword [rcx + 0x50], rax
lea r8, [rbp - 0x50]
lea rdx, [rbp + 0x30]
mov rcx, rbx
call fcn.14001fc40
movups xmm0, xmmword [rbp - 0x60]
movdqa xmmword [rbp - 0x50], xmm0
movss dword [rbp - 0x40], xmm14
movss dword [rbp - 0x3c], xmm9
movss xmm0, dword [rsp + 0x50]
movss dword [rbp - 0x38], xmm0
movsd xmm0, qword [rbp + 0x1c0]
movsd qword [rbp - 0x20], xmm0
mov eax, dword [rbp + 0x1c8]
mov dword [rbp - 0x18], eax
lea r8, [rbp - 0x40]
lea rdx, [rbp]
mov rcx, rbx
call fcn.14001ee00
mov r9, rax
lea r8, [rbp - 0x20]
lea rdx, [rbp + 8]
call fcn.14001ee00
lea rcx, [rbp - 0x50]
mov qword [rsp + 0x20], rcx
movss xmm3, dword [0x140032908]
mov r8, qword [r9]
mov rdx, qword [rax]
mov rcx, qword [rbx + 8]
call fcn.1400035d0
movups xmm0, xmmword [0x140031590]
movdqa xmmword [rbp - 0x50], xmm0
movsd xmm1, qword [rbp + 0x154]
movsd qword [rbp - 0x10], xmm1
mov eax, dword [rbp + 0x15c]
mov dword [rbp - 8], eax
movss xmm7, dword [0x1400329a0]
divss xmm7, xmm11
lea r8, [rbp - 0x10]
lea rdx, [rbp + 0x10]
mov rcx, rbx
call fcn.14001ee00
movaps xmm9, xmm7
addss xmm9, dword [rax + 4]
movss xmm8, dword [rax]
addss xmm8, xmm10
movups xmm11, xmmword [0x140031828]
movups xmmword [rsp + 0x60], xmm11
movsd xmm0, qword [0x140031838]
movsd qword [rsp + 0x70], xmm0
mov eax, dword [0x140031840]
mov dword [rsp + 0x78], eax
cmp word [0x140031842], 0
je 0x140022164
mov r8d, r12d
cmp r15d, 2
jl 0x14002211f
movdqa xmm4, xmmword [0x140032bf0]
movdqa xmm6, xmmword [0x140032a70]
movdqa xmm2, xmmword [0x140032a30]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x140032a50]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm3, xmm1, 0xd8
movq xmm2, xmm6
paddw xmm3, xmm2
movq xmm1, xmm11
xorps xmm3, xmm1
movq qword [rsp + 0x60], xmm3
movdqa xmm2, xmmword [0x140032a40]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x140032a50]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm3, xmm1, 0xd8
movq xmm2, xmm6
paddw xmm3, xmm2
movq xmm0, qword [rsp + 0x68]
xorps xmm3, xmm0
movq qword [rsp + 0x68], xmm3
mov r8d, 8
movsxd rax, r8d
lea r9, [rsp + 0x60]
lea r9, [r9 + rax*2]
nop dword [rax + rax]
mov eax, 0x5397829d
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, dx
imul ecx, eax, 0x31
movzx eax, r8w
sub ax, cx
add ax, 0x35
xor word [r9], ax
inc r8d
lea r9, [r9 + 2]
cmp r8d, 0xe
jl 0x140022130
lea rcx, [rbp + 0x110]
cmp qword [rbp + 0x128], 7
cmova rcx, qword [rbp + 0x110]
movss xmm0, dword [rbp + 0x254]
cvtps2pd xmm0, xmm0
movsd qword [rsp + 0x48], xmm0
mov eax, dword [rbp + 0x240]
mov dword [rsp + 0x40], eax
mov qword [rsp + 0x38], rcx
lea rax, [rsp + 0x60]
mov qword [rsp + 0x30], rax
lea rax, [rbp - 0x50]
mov qword [rsp + 0x28], rax
movss dword [rsp + 0x20], xmm10
movaps xmm3, xmm7
movd r9d, xmm3
mov r8d, 3
movaps xmm0, xmm8
unpcklps xmm0, xmm9
movq rdx, xmm0
mov rcx, qword [rbx + 8]
call fcn.140002e30
cmp qword [rbp + 0x140], 0
je 0x1400223d2
movss xmm8, dword [rbp + 0x250]
ucomiss xmm8, xmm10
jp 0x1400222c7
jne 0x1400222c7
movups xmm0, xmmword [0x140031590]
movdqa xmmword [rbp - 0x50], xmm0
movsd xmm1, qword [rbp + 0x154]
movsd qword [rbp - 0x30], xmm1
mov eax, dword [rbp + 0x15c]
mov dword [rbp - 0x28], eax
lea r9, [rbp + 0x130]
mov eax, dword [0x140032860]
mov dword [rsp + 0x58], eax
movzx eax, word [0x140032864]
cmp qword [rbp + 0x148], 7
jbe 0x14002224b
mov r9, qword [rbp + 0x130]
mov word [rsp + 0x58], si
xor word [rsp + 0x5a], 0x36
xor ax, 0x37
mov word [rsp + 0x5c], ax
movaps xmm6, xmm7
addss xmm6, xmm7
lea r8, [rbp - 0x30]
lea rdx, [rbp + 0x18]
mov rcx, rbx
call fcn.14001ee00
addss xmm6, dword [rax + 4]
movss xmm0, dword [rax]
addss xmm0, xmm10
mov qword [rsp + 0x38], r9
lea rax, [rsp + 0x58]
mov qword [rsp + 0x30], rax
lea rax, [rbp - 0x50]
mov qword [rsp + 0x28], rax
movss dword [rsp + 0x20], xmm10
movaps xmm3, xmm7
movd r9d, xmm3
mov r8d, 3
unpcklps xmm0, xmm6
movq rdx, xmm0
mov rcx, qword [rbx + 8]
call fcn.140002e30
jmp 0x1400223d2
movups xmm0, xmmword [0x140031590]
movdqa xmmword [rbp - 0x50], xmm0
movsd xmm1, qword [rbp + 0x154]
movsd qword [rbp - 0x70], xmm1
mov eax, dword [rbp + 0x15c]
mov dword [rbp - 0x68], eax
movaps xmm6, xmm7
addss xmm6, xmm7
lea r8, [rbp - 0x70]
lea rdx, [rbp + 0x20]
mov rcx, rbx
call fcn.14001ee00
addss xmm6, dword [rax + 4]
movss xmm1, dword [rax]
addss xmm1, xmm10
movups xmm0, xmmword [0x140032730]
movups xmmword [rsp + 0x60], xmm0
mov ecx, dword [0x140032740]
mov dword [rsp + 0x70], ecx
movzx eax, word [0x140032744]
mov word [rsp + 0x60], si
xor word [rsp + 0x62], 0x36
xor word [rsp + 0x64], 0x37
xor word [rsp + 0x66], 0x38
xor word [rsp + 0x68], 0x39
xor word [rsp + 0x6a], 0x3a
xor word [rsp + 0x6c], 0x3b
xor word [rsp + 0x6e], 0x3c
xor cx, 0x3d
mov word [rsp + 0x70], cx
xor word [rsp + 0x72], 0x3e
xor ax, 0x3f
mov word [rsp + 0x74], ax
lea rax, [rbp + 0x130]
cmp qword [rbp + 0x148], 7
cmova rax, qword [rbp + 0x130]
cvtps2pd xmm0, xmm8
movsd qword [rsp + 0x40], xmm0
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x60]
mov qword [rsp + 0x30], rax
lea rax, [rbp - 0x50]
mov qword [rsp + 0x28], rax
movss dword [rsp + 0x20], xmm10
movaps xmm3, xmm7
movd r9d, xmm3
mov r8d, 3
unpcklps xmm1, xmm6
movq rdx, xmm1
mov rcx, qword [rbx + 8]
call fcn.140002e30
nop
mov rdx, qword [rbp + 0x148]
cmp rdx, 7
jbe 0x140022418
mov rcx, qword [rbp + 0x130]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140022413
mov rcx, qword [rcx - 8]
sub rax, rcx
add rdx, 0x27
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140022498
call fcn.14002fa30
mov rdx, qword [rbp + 0x128]
mov qword [rbp + 0x140], r12
mov qword [rbp + 0x148], 7
mov word [rbp + 0x130], r12w
cmp rdx, 7
jbe 0x140022474
mov rcx, qword [rbp + 0x110]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002246f
mov rcx, qword [rcx - 8]
sub rax, rcx
add rdx, 0x27
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140022498
call fcn.14002fa30
sub edi, 1
js 0x14002249f
movss xmm13, dword [0x14003296c]
movss xmm6, dword [0x140032918]
movss xmm9, dword [0x1400328fc]
jmp 0x140021af0
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, qword [rbp + 0x260]
xor rcx, rsp
call fcn.14002fa10
lea r11, [rsp + 0x410]
mov rbx, qword [r11 + 0x50]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
movaps xmm14, xmmword [r11 - 0x90]
movaps xmm15, xmmword [r11 - 0xa0]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.14002c620
int3