Function at 0x180003ad0
Capabilities:
Encode data using xor

Disassembly:
mov r11, rsp
push rbp
push rbx
push rsi
push rdi
push r13
push r14
push r15
lea rbp, [r11 - 0x278]
sub rsp, 0x340
movaps xmmword [r11 - 0x58], xmm6
movaps xmmword [r11 - 0xd8], xmm14
mov rax, qword [0x18004b010]
xor rax, rsp
mov qword [rbp + 0x180], rax
mov qword [r11 - 0x40], r12
mov r15, rcx
mov r12, r8
mov qword [rbp - 0x70], rcx
xorps xmm0, xmm0
movaps xmmword [r11 - 0xc8], xmm13
xorps xmm6, xmm6
lea r8, [rbp - 0x60]
mov rcx, r12
movsd qword [rbp - 0x50], xmm6
mov rbx, r9
mov rsi, rdx
movups xmmword [rbp - 0x60], xmm0
call fcn.18001d560
movss xmm4, dword [0x180045d44]
xor edi, edi
movss xmm0, dword [0x18004c37c]
movzx r9d, al
movss xmm1, dword [0x18004c384]
mov rdx, qword [0x18004d860]
divss xmm0, xmm4
lea rax, [rsi + rdx]
divss xmm1, xmm4
movss dword [rbp + 0x28], xmm0
movss xmm0, dword [0x18004c380]
movss dword [rbp + 0x30], xmm1
movss xmm1, dword [0x18004c39c]
divss xmm0, xmm4
divss xmm1, xmm4
movss dword [rbp + 0x2c], xmm0
movss xmm0, dword [0x18004c388]
movss dword [rbp + 0x34], xmm0
movss xmm0, dword [0x18004c3a0]
movss dword [rbp + 0x18], xmm1
movss xmm1, dword [0x18004c3a4]
divss xmm0, xmm4
divss xmm1, xmm4
movss dword [rbp + 0x1c], xmm0
movss xmm0, dword [0x18004c3a8]
movss dword [rbp + 0x24], xmm0
movss dword [rbp + 0x20], xmm1
test rsi, rsi
jne 0x180003be0
mov eax, edi
movzx eax, byte [rax]
lea r8, [rbx + rdx]
test rbx, rbx
jne 0x180003bef
mov r8, rdi
cmp al, byte [r8]
lea rcx, [rbp + 0x18]
lea r10, [rbp + 0x28]
cmovne rcx, r10
movups xmm13, xmmword [rcx]
movups xmmword [rbp - 0x20], xmm13
test r9b, r9b
je 0x180003cc3
movss xmm3, dword [0x18004c36c]
lea rax, [rsi + rdx]
movss xmm2, dword [0x18004c370]
movss xmm1, dword [0x18004c374]
movss xmm0, dword [0x18004c378]
movss dword [rbp + 0x34], xmm0
movss xmm0, dword [0x18004c398]
movss dword [rbp + 0x24], xmm0
divss xmm3, xmm4
divss xmm2, xmm4
movss dword [rbp + 0x28], xmm3
movss xmm3, dword [0x18004c38c]
movss dword [rbp + 0x2c], xmm2
movss xmm2, dword [0x18004c390]
divss xmm1, xmm4
divss xmm3, xmm4
movss dword [rbp + 0x30], xmm1
movss xmm1, dword [0x18004c394]
movss dword [rbp + 0x18], xmm3
divss xmm2, xmm4
divss xmm1, xmm4
movss dword [rbp + 0x1c], xmm2
movss dword [rbp + 0x20], xmm1
test rsi, rsi
jne 0x180003c9c
mov rax, rdi
movzx eax, byte [rax]
lea r8, [rbx + rdx]
test rbx, rbx
jne 0x180003cab
mov r8, rdi
cmp al, byte [r8]
lea rcx, [rbp + 0x18]
lea rdx, [rbp + 0x28]
cmovne rcx, rdx
movups xmm13, xmmword [rcx]
movups xmmword [rbp - 0x20], xmm13
test rsi, rsi
je 0x180003cd9
mov rax, qword [0x18004d898]
mov r14, qword [rsi + rax]
lea rcx, [rsi + rax]
jmp 0x180003ce4
mov r14, qword [pe_dos_header]
mov rcx, rdi
mov rcx, qword [rcx]
lea rdx, [rbp + 0x28]
mov r8d, 0x12
call fcn.18001d0a0
mov r8, rax
lea rdx, [rbp - 0x60]
mov rcx, r14
call fcn.18001c3a0
mov rdx, rsi
mov rcx, rbx
call fcn.18001c900
movaps xmm14, xmm0
lea r8, [rbp + 8]
divss xmm14, dword [0x180045d38]
lea rdx, [rbp - 0x60]
mov rcx, r12
xorps xmm1, xmm1
movss dword [rbp], xmm14
movups xmmword [rbp + 8], xmm1
call fcn.180019f40
test rsi, rsi
je 0x180003d4b
mov rcx, qword [0x18004d850]
add rcx, rsi
jmp 0x180003d4e
mov rcx, rdi
mov ebx, 5
mov r13d, dword [0x18004b018]
movaps xmmword [rsp + 0x310], xmm7
movaps xmmword [rsp + 0x300], xmm8
lea r14d, [rbx + 0x1a]
cmp byte [rcx], dil
jne 0x18000498a
movaps xmmword [rsp + 0x2f0], xmm9
xorps xmm0, xmm0
movaps xmmword [rsp + 0x2e0], xmm10
xorps xmm1, xmm1
movaps xmmword [rsp + 0x2d0], xmm11
movaps xmmword [rsp + 0x2c0], xmm12
movaps xmmword [rsp + 0x290], xmm15
movsd qword [rbp - 0x50], xmm6
movsd qword [rbp - 0x30], xmm6
movups xmmword [rbp - 0x60], xmm0
movups xmmword [rbp - 0x40], xmm1
test rsi, rsi
je 0x180003dce
mov rcx, qword [0x18004d8a8]
add rcx, rsi
jmp 0x180003dd1
mov rcx, rdi
mov rcx, qword [rcx]
lea r8, [rbp - 0x40]
lea rdx, [rbp - 0x60]
call fcn.180016530
movsd xmm1, qword [rbp - 0x40]
lea rbx, [rbp + 0x100]
movsd xmm8, qword [rbp - 0x60]
mov r14d, 8
movsd xmm4, qword [rbp - 0x58]
movaps xmm0, xmm8
movsd xmm7, qword [rbp - 0x50]
addsd xmm0, xmm1
movsd xmm3, qword [rbp - 0x38]
movaps xmm9, xmm8
movsd xmm5, qword [rbp - 0x30]
subsd xmm9, xmm1
addsd xmm8, xmm1
movaps xmm6, xmm4
subsd xmm6, xmm3
movaps xmm2, xmm7
subsd xmm2, xmm5
movsd qword [rbp + 0x58], xmm0
movaps xmm0, xmm7
movaps xmm1, xmm4
addsd xmm1, xmm3
movsd qword [rbp + 0x40], xmm9
addsd xmm7, xmm5
movsd qword [rbp + 0x70], xmm8
addsd xmm0, xmm5
movsd qword [rbp + 0x48], xmm6
addsd xmm4, xmm3
movsd qword [rbp + 0x50], xmm2
movsd qword [rbp + 0x60], xmm6
movsd qword [rbp + 0x68], xmm2
movsd qword [rbp + 0x78], xmm1
movsd qword [rbp + 0xb0], xmm0
movsd qword [rbp + 0x80], xmm2
movsd qword [rbp + 0x88], xmm9
movsd qword [rbp + 0x90], xmm4
movsd qword [rbp + 0x98], xmm2
movsd qword [rbp + 0xa0], xmm9
movsd qword [rbp + 0xa8], xmm6
movsd qword [rbp + 0xb8], xmm8
movsd qword [rbp + 0xc0], xmm6
movsd qword [rbp + 0xc8], xmm7
movsd qword [rbp + 0xd0], xmm8
movsd qword [rbp + 0xd8], xmm1
movsd qword [rbp + 0xe0], xmm7
movsd qword [rbp + 0xe8], xmm9
movsd qword [rbp + 0xf0], xmm1
movsd qword [rbp + 0xf8], xmm7
mov rcx, rbx
call fcn.1800039e0
add rbx, 0x10
sub r14, 1
jne 0x180003ef6
lea rbx, [rbp + 0x40]
mov r15d, 8
lea r14, [rbp + 0x100]
nop dword [rax]
mov r8, r14
mov rdx, rbx
mov rcx, r12
call fcn.180019f40
add r14, 0x10
add rbx, 0x18
sub r15, 1
jne 0x180003f20
movsd xmm10, qword [rbp + 0x100]
movsd xmm0, qword [rbp + 0x110]
movaps xmm9, xmm10
comisd xmm0, xmm10
movsd xmm11, qword [rbp + 0x108]
movaps xmm8, xmm11
ja 0x180003f69
movaps xmm10, xmm0
movsd xmm1, qword [rbp + 0x118]
comisd xmm1, xmm8
ja 0x180003f7c
movaps xmm11, xmm1
comisd xmm9, xmm0
ja 0x180003f87
movaps xmm9, xmm0
comisd xmm8, xmm1
ja 0x180003f92
movaps xmm8, xmm1
movsd xmm0, qword [rbp + 0x120]
comisd xmm0, xmm10
ja 0x180003fa5
movaps xmm10, xmm0
movsd xmm1, qword [rbp + 0x128]
comisd xmm1, xmm11
ja 0x180003fb8
movaps xmm11, xmm1
comisd xmm9, xmm0
ja 0x180003fc3
movaps xmm9, xmm0
comisd xmm8, xmm1
ja 0x180003fce
movaps xmm8, xmm1
movsd xmm0, qword [rbp + 0x130]
comisd xmm0, xmm10
ja 0x180003fe1
movaps xmm10, xmm0
movsd xmm1, qword [rbp + 0x138]
comisd xmm1, xmm11
ja 0x180003ff4
movaps xmm11, xmm1
comisd xmm9, xmm0
ja 0x180003fff
movaps xmm9, xmm0
comisd xmm8, xmm1
ja 0x18000400a
movaps xmm8, xmm1
movsd xmm0, qword [rbp + 0x140]
comisd xmm0, xmm10
ja 0x18000401d
movaps xmm10, xmm0
movsd xmm1, qword [rbp + 0x148]
comisd xmm1, xmm11
ja 0x180004030
movaps xmm11, xmm1
comisd xmm9, xmm0
ja 0x18000403b
movaps xmm9, xmm0
comisd xmm8, xmm1
ja 0x180004046
movaps xmm8, xmm1
movsd xmm0, qword [rbp + 0x150]
comisd xmm0, xmm10
ja 0x180004059
movaps xmm10, xmm0
movsd xmm1, qword [rbp + 0x158]
comisd xmm1, xmm11
ja 0x18000406c
movaps xmm11, xmm1
comisd xmm9, xmm0
ja 0x180004077
movaps xmm9, xmm0
comisd xmm8, xmm1
ja 0x180004082
movaps xmm8, xmm1
movsd xmm0, qword [rbp + 0x160]
comisd xmm0, xmm10
ja 0x180004095
movaps xmm10, xmm0
movsd xmm1, qword [rbp + 0x168]
comisd xmm1, xmm11
ja 0x1800040a8
movaps xmm11, xmm1
comisd xmm9, xmm0
ja 0x1800040b3
movaps xmm9, xmm0
comisd xmm8, xmm1
ja 0x1800040be
movaps xmm8, xmm1
movsd xmm0, qword [rbp + 0x170]
comisd xmm0, xmm10
ja 0x1800040d1
movaps xmm10, xmm0
movsd xmm1, qword [rbp + 0x178]
comisd xmm1, xmm11
ja 0x1800040e4
movaps xmm11, xmm1
comisd xmm9, xmm0
ja 0x1800040ef
movaps xmm9, xmm0
comisd xmm8, xmm1
ja 0x1800040fa
movaps xmm8, xmm1
movsd xmm12, qword [0x180045c10]
movaps xmm7, xmm9
addsd xmm7, xmm10
movaps xmm6, xmm8
addsd xmm6, xmm11
mulsd xmm7, xmm12
mulsd xmm6, xmm12
movaps xmm0, xmm7
call fcn.1800169f0
movaps xmm0, xmm6
call fcn.1800169f0
movaps xmm0, xmm7
call fcn.1800169f0
movaps xmm0, xmm6
call fcn.1800169f0
movaps xmm0, xmm10
call fcn.1800169f0
movaps xmm0, xmm11
movd xmm10, eax
cvtdq2pd xmm10, xmm10
call fcn.1800169f0
movd xmm15, eax
movaps xmm0, xmm9
cvtdq2pd xmm15, xmm15
call fcn.1800169f0
movd xmm7, eax
movaps xmm0, xmm8
cvtdq2pd xmm7, xmm7
call fcn.1800169f0
cmp byte [0x18004c352], dil
mov r15, qword [rbp - 0x70]
movss xmm11, dword [0x180045c08]
movd xmm8, eax
cvtdq2pd xmm8, xmm8
je 0x1800042f0
movdqa xmm0, xmmword [0x180045e50]
mov r14, rdi
movdqa xmm1, xmmword [0x180045e60]
movdqu xmmword [rbp + 0x40], xmm0
movdqa xmm0, xmmword [0x180045e40]
movdqu xmmword [rbp + 0x60], xmm0
movdqa xmm0, xmmword [str._n_a_n]
movdqu xmmword [rbp + 0x50], xmm1
movdqa xmm1, xmmword [0x180045da0]
movdqu xmmword [rbp + 0x80], xmm0
movdqa xmm0, xmmword [0x180045d90]
movdqu xmmword [rbp + 0x70], xmm1
movdqa xmm1, xmmword [0x180045e80]
movdqu xmmword [rbp + 0xa0], xmm0
movdqu xmmword [rbp + 0x90], xmm1
nop word [rax + rax]
mov rcx, rsi
call fcn.18001d540
mov r8d, dword [rbp + r14*8 + 0x40]
lea rdx, [rbp - 0x70]
mov rcx, rax
mov rbx, rax
call fcn.18001d0a0
mov r8, rax
lea rdx, [rbp - 0x60]
mov rcx, rbx
call fcn.18001c3a0
mov rcx, rsi
call fcn.18001d540
mov r8d, dword [rbp + r14*8 + 0x44]
lea rdx, [rbp + 0x28]
mov rcx, rax
mov rbx, rax
call fcn.18001d0a0
mov r8, rax
lea rdx, [rbp - 0x40]
mov rcx, rbx
call fcn.18001c3a0
xorps xmm0, xmm0
lea r8, [rbp - 0x10]
xorps xmm1, xmm1
lea rdx, [rbp - 0x60]
mov rcx, r12
movups xmmword [rbp - 0x10], xmm0
movups xmmword [rbp + 0x18], xmm1
call fcn.180019f40
lea r8, [rbp + 0x18]
mov rcx, r12
lea rdx, [rbp - 0x40]
call fcn.180019f40
movaps xmm0, xmmword [0x1800460c0]
lea rax, [rbp - 0x40]
movups xmm1, xmmword [rbp + 0x18]
lea r8, [rbp - 0x80]
mov rcx, r15
movups xmmword [rbp - 0x40], xmm0
lea rdx, [rsp + 0x70]
mov qword [rsp + 0x20], rax
movups xmm0, xmmword [rbp - 0x10]
movsd qword [rbp - 0x80], xmm1
movaps xmm3, xmm11
movsd qword [rsp + 0x70], xmm0
unpckhpd xmm0, xmm0
unpckhpd xmm1, xmm1
movsd qword [rsp + 0x78], xmm0
movsd qword [rbp - 0x78], xmm1
call fcn.18001bb70
inc r14
cmp r14, 0xe
jl 0x180004210
cmp byte [0x18004c34f], dil
je 0x1800045d4
test rsi, rsi
je 0x18000430e
mov rcx, qword [0x18004d858]
add rcx, rsi
jmp 0x180004311
mov rcx, rdi
cmp byte [rcx], dil
je 0x18000450a
cmp word [0x1800436a6], di
mov rax, qword [str.s_G4]
mov qword [rbp + 0x28], rax
je 0x180004407
mov r8d, edi
cmp r13d, 2
jl 0x1800043c7
movdqa xmm3, xmmword [0x180045d60]
mov ecx, 5
movdqa xmm2, xmm3
movdqa xmm0, xmm3
punpckldq xmm2, xmm3
mov edx, 0x1f
pmuldq xmm2, xmmword [0x180046100]
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x180046100]
shufps xmm2, xmm0, 0xdd
paddd xmm2, xmm3
movd xmm0, ecx
psrad xmm2, xmm0
movd xmm0, edx
movdqa xmm1, xmm2
psrld xmm1, xmm0
paddd xmm1, xmm2
pmulld xmm1, xmmword [0x180045dd0]
psubd xmm3, xmm1
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movq xmm0, qword [rbp + 0x28]
pshufd xmm2, xmm1, 0xd8
paddw xmm2, xmmword [0x180045e90]
pxor xmm2, xmm0
movq qword [rbp + 0x28], xmm2
jmp 0x18000440f
lea r9, [rbp + 0x28]
nop dword [rax + rax]
mov eax, 0x24924925
lea r9, [r9 + 2]
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movzx eax, ax
imul ecx, eax, 0x38
movzx eax, r8w
inc r8d
sub ax, cx
add ax, 0x31
xor word [r9 - 2], ax
cmp r8d, 4
jl 0x1800043d0
mov edx, 0x1f
lea ecx, [rdx - 0x1a]
cmp word [0x1800436ae], di
mov rax, qword [0x1800436a8]
mov qword [rbp - 0x70], rax
je 0x1800044f7
mov r8d, edi
cmp r13d, 2
jl 0x1800044ae
movdqa xmm3, xmmword [0x180045d60]
movdqa xmm2, xmm3
movdqa xmm0, xmm3
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x180046100]
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x180046100]
shufps xmm2, xmm0, 0xdd
paddd xmm2, xmm3
movd xmm0, ecx
psrad xmm2, xmm0
movd xmm0, edx
movdqa xmm1, xmm2
psrld xmm1, xmm0
paddd xmm1, xmm2
pmulld xmm1, xmmword [0x180045dd0]
psubd xmm3, xmm1
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movq xmm0, qword [rbp - 0x70]
pshufd xmm2, xmm1, 0xd8
paddw xmm2, xmmword [0x180045e90]
pxor xmm2, xmm0
movq qword [rbp - 0x70], xmm2
jmp 0x1800044f7
lea r9, [rbp - 0x70]
nop dword [rax]
nop word [rax + rax]
mov eax, 0x24924925
lea r9, [r9 + 2]
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movzx eax, ax
imul ecx, eax, 0x38
movzx eax, r8w
inc r8d
sub ax, cx
add ax, 0x31
xor word [r9 - 2], ax
cmp r8d, 4
jl 0x1800044c0
lea r8, [rbp + 0x28]
lea rdx, [rbp - 0x70]
lea rcx, [rbp - 0x40]
call fcn.180004ea0
jmp 0x18000451f
mov rax, qword [0x18004d8a0]
lea rdx, [rsp + 0x70]
mov rcx, qword [rsi + rax]
call fcn.18001ce20
movups xmm0, xmmword [rax]
mov rdx, qword [0x18004d830]
lea rax, [rbp - 0x40]
mov qword [rsp + 0x60], rax
lea r9, [rbp - 0x80]
mov byte [rsp + 0x50], 1
lea rax, [rbp - 0x10]
mov byte [rsp + 0x48], 1
lea r8, [rbp + 0x28]
mov qword [rsp + 0x40], rax
movaps xmm1, xmm15
subsd xmm1, qword [0x180045c68]
movups xmmword [rbp + 0x28], xmm0
lea rax, [rbp + 0x18]
mov rcx, r15
movaps xmm6, xmm7
movdqa xmmword [rbp - 0x70], xmm13
mov qword [rsp + 0x38], rax
addsd xmm6, xmm10
movsd qword [rbp - 0x78], xmm1
lea rax, [rbp - 0x70]
xorps xmm1, xmm1
xorps xmm9, xmm9
movups xmmword [rbp - 0x10], xmm1
movss xmm1, dword [0x18004c298]
movaps xmm0, xmm6
mulsd xmm0, xmm12
cvtps2pd xmm1, xmm1
movss dword [rsp + 0x30], xmm9
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x70]
movsd qword [rbp - 0x80], xmm0
xorps xmm0, xmm0
unpcklpd xmm1, xmm1
movups xmmword [rsp + 0x70], xmm1
mov qword [rsp + 0x20], rax
movups xmmword [rbp - 0x40], xmm0
movups xmmword [rbp + 0x18], xmm0
call fcn.18001c090
jmp 0x1800045e0
movaps xmm6, xmm10
xorps xmm9, xmm9
addsd xmm6, xmm7
cmp byte [0x18004c350], dil
je 0x1800046e9
movzx eax, word [0x1800436c0]
lea rdx, [rbp - 0x60]
movaps xmm0, xmm8
mulsd xmm6, xmm12
mov ecx, 0x5b
xor ax, 0x39
addsd xmm0, qword [0x180045c70]
xorps xmm2, xmm2
mov word [rbp - 0x50], ax
cvtss2sd xmm2, xmm14
movsd qword [rbp - 0x78], xmm0
movups xmm0, xmmword [0x1800436b0]
movq r8, xmm2
movsd qword [rbp - 0x80], xmm6
movups xmmword [rbp - 0x60], xmm0
xor word [rbp - 0x5e], 0x32
xor word [rbp - 0x5c], 0x33
xor word [rbp - 0x5a], 0x34
xor word [rbp - 0x58], 0x35
xor word [rbp - 0x56], 0x36
xor word [rbp - 0x54], 0x37
xor word [rbp - 0x52], 0x38
mov word [rbp - 0x60], cx
lea rcx, [rbp + 0x28]
call fcn.180004ea0
mov rdx, qword [0x18004d830]
lea rcx, [rbp - 0x40]
mov qword [rsp + 0x60], rcx
lea r9, [rbp - 0x80]
mov byte [rsp + 0x50], 1
lea rcx, [rbp - 0x10]
xorps xmm1, xmm1
mov byte [rsp + 0x48], 1
mov qword [rsp + 0x40], rcx
xorps xmm0, xmm0
movups xmmword [rbp - 0x10], xmm1
lea rcx, [rbp + 0x18]
mov r8, rax
movss xmm1, dword [0x18004c298]
mov qword [rsp + 0x38], rcx
lea rcx, [rbp - 0x70]
cvtps2pd xmm1, xmm1
movss dword [rsp + 0x30], xmm9
mov qword [rsp + 0x28], rcx
lea rcx, [rsp + 0x70]
mov qword [rsp + 0x20], rcx
mov rcx, r15
unpcklpd xmm1, xmm1
movdqa xmmword [rbp - 0x70], xmm13
movups xmmword [rbp - 0x40], xmm0
movups xmmword [rbp + 0x18], xmm0
movups xmmword [rsp + 0x70], xmm1
call fcn.18001c090
cmp byte [0x18004c355], dil
je 0x180004953
subsd xmm8, xmm15
xorps xmm14, xmm14
cvtsd2ss xmm14, xmm15
lea rax, [rbp - 0x20]
mov rcx, r15
mov qword [rsp + 0x20], rax
lea r8, [rsp + 0x70]
lea rdx, [rbp - 0x80]
xorps xmm15, xmm15
subsd xmm7, xmm10
cvtsd2ss xmm15, xmm8
xorps xmm9, xmm9
movaps xmm3, xmm11
movaps xmm13, xmm15
divss xmm13, dword [0x180045d28]
cvtsd2ss xmm9, xmm10
movaps xmm0, xmm13
xorps xmm10, xmm10
cvtps2pd xmm12, xmm9
addss xmm0, xmm14
cvtsd2ss xmm10, xmm7
cvtps2pd xmm8, xmm0
cvtps2pd xmm7, xmm14
movaps xmm6, xmm10
movsd qword [rsp + 0x78], xmm8
divss xmm6, dword [0x180045d28]
movsd qword [rbp - 0x70], xmm12
movsd qword [rsp + 0x70], xmm12
movsd qword [rbp - 0x80], xmm12
movsd qword [rbp - 0x78], xmm7
call fcn.18001bb70
movss xmm3, dword [0x180045c08]
lea rax, [rbp - 0x20]
movaps xmm0, xmm6
movsd qword [rsp + 0x78], xmm7
addss xmm0, xmm9
movsd qword [rbp - 0x80], xmm12
lea r8, [rsp + 0x70]
movsd qword [rbp - 0x78], xmm7
lea rdx, [rbp - 0x80]
mov qword [rsp + 0x20], rax
mov rcx, r15
cvtps2pd xmm11, xmm0
movsd qword [rsp + 0x70], xmm11
call fcn.18001bb70
addss xmm10, xmm9
movsd qword [rsp + 0x78], xmm7
lea rax, [rbp - 0x20]
movsd qword [rbp - 0x78], xmm7
lea r8, [rsp + 0x70]
mov qword [rsp + 0x20], rax
lea rdx, [rbp - 0x80]
mov rcx, r15
cvtps2pd xmm12, xmm10
subss xmm10, xmm6
movsd qword [rsp + 0x70], xmm12
cvtps2pd xmm9, xmm10
movss xmm10, dword [0x180045c08]
movaps xmm3, xmm10
movsd qword [rbp - 0x80], xmm9
call fcn.18001bb70
lea rax, [rbp - 0x20]
movsd qword [rsp + 0x70], xmm12
movaps xmm3, xmm10
mov qword [rsp + 0x20], rax
lea r8, [rsp + 0x70]
movsd qword [rsp + 0x78], xmm8
lea rdx, [rbp - 0x80]
movsd qword [rbp - 0x80], xmm12
mov rcx, r15
movsd qword [rbp - 0x78], xmm7
call fcn.18001bb70
movsd xmm8, qword [rbp - 0x70]
addss xmm15, xmm14
movsd qword [rsp + 0x70], xmm8
movsd qword [rbp - 0x80], xmm8
cvtps2pd xmm7, xmm15
subss xmm15, xmm13
movsd qword [rsp + 0x78], xmm7
cvtps2pd xmm6, xmm15
movsd qword [rbp - 0x78], xmm6
lea rax, [rbp - 0x20]
movaps xmm3, xmm10
lea r8, [rsp + 0x70]
mov qword [rsp + 0x20], rax
lea rdx, [rbp - 0x80]
mov rcx, r15
call fcn.18001bb70
lea rax, [rbp - 0x20]
movsd qword [rsp + 0x70], xmm11
movaps xmm3, xmm10
mov qword [rsp + 0x20], rax
lea r8, [rsp + 0x70]
movsd qword [rsp + 0x78], xmm7
lea rdx, [rbp - 0x80]
movsd qword [rbp - 0x80], xmm8
mov rcx, r15
movsd qword [rbp - 0x78], xmm7
call fcn.18001bb70
lea rax, [rbp - 0x20]
movsd qword [rsp + 0x70], xmm12
movaps xmm3, xmm10
mov qword [rsp + 0x20], rax
lea r8, [rsp + 0x70]
movsd qword [rsp + 0x78], xmm7
lea rdx, [rbp - 0x80]
movsd qword [rbp - 0x80], xmm9
mov rcx, r15
movsd qword [rbp - 0x78], xmm7
call fcn.18001bb70
lea rax, [rbp - 0x20]
movsd qword [rsp + 0x70], xmm12
movaps xmm3, xmm10
mov qword [rsp + 0x20], rax
lea r8, [rsp + 0x70]
movsd qword [rsp + 0x78], xmm7
lea rdx, [rbp - 0x80]
movsd qword [rbp - 0x80], xmm12
mov rcx, r15
movsd qword [rbp - 0x78], xmm6
call fcn.18001bb70
movss xmm14, dword [rbp]
movaps xmm12, xmmword [rsp + 0x2c0]
mov r14d, 0x1f
movaps xmm11, xmmword [rsp + 0x2d0]
movaps xmm10, xmmword [rsp + 0x2e0]
movaps xmm9, xmmword [rsp + 0x2f0]
movaps xmm15, xmmword [rsp + 0x290]
lea ebx, [r14 - 0x1a]
cmp byte [0x18004c353], dil
movaps xmm13, xmmword [rsp + 0x2b0]
mov r12, qword [rsp + 0x338]
je 0x180004e5a
test rsi, rsi
je 0x1800049b9
mov rcx, qword [0x18004d850]
add rcx, rsi
jmp 0x1800049bc
mov rcx, rdi
cmp byte [rcx], dil
je 0x180004e5a
test rsi, rsi
je 0x1800049d6
mov rcx, qword [0x18004d858]
add rcx, rsi
jmp 0x1800049d9
mov rcx, rdi
cmp byte [rcx], dil
je 0x180004bc6
cmp word [0x1800436a6], di
mov rax, qword [str.s_G4]
mov qword [rbp - 0x70], rax
je 0x180004ac7
mov r8d, edi
cmp r13d, 2
jl 0x180004a82
movdqa xmm3, xmmword [0x180045d60]
movdqa xmm2, xmm3
movdqa xmm0, xmm3
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x180046100]
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x180046100]
shufps xmm2, xmm0, 0xdd
paddd xmm2, xmm3
movd xmm0, ebx
psrad xmm2, xmm0
movd xmm0, r14d
movdqa xmm1, xmm2
psrld xmm1, xmm0
paddd xmm1, xmm2
pmulld xmm1, xmmword [0x180045dd0]
psubd xmm3, xmm1
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movq xmm0, qword [rbp - 0x70]
pshufd xmm2, xmm1, 0xd8
paddw xmm2, xmmword [0x180045e90]
pxor xmm2, xmm0
movq qword [rbp - 0x70], xmm2
jmp 0x180004ac7
lea r9, [rbp - 0x70]
nop word [rax + rax]
mov eax, 0x24924925
lea r9, [r9 + 2]
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movzx eax, ax
imul ecx, eax, 0x38
movzx eax, r8w
inc r8d
sub ax, cx
add ax, 0x31
xor word [r9 - 2], ax
cmp r8d, 4
jl 0x180004a90
cmp word [0x1800436ae], di
mov rax, qword [0x1800436a8]
mov qword [rbp + 0x28], rax
je 0x180004ba7
mov r8d, edi
cmp r13d, 2
jl 0x180004b67
movdqa xmm3, xmmword [0x180045d60]
movdqa xmm2, xmm3
movdqa xmm0, xmm3
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x180046100]
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x180046100]
shufps xmm2, xmm0, 0xdd
paddd xmm2, xmm3
movd xmm0, ebx
psrad xmm2, xmm0
movd xmm0, r14d
movdqa xmm1, xmm2
psrld xmm1, xmm0
paddd xmm1, xmm2
pmulld xmm1, xmmword [0x180045dd0]
psubd xmm3, xmm1
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movq xmm0, qword [rbp + 0x28]
pshufd xmm2, xmm1, 0xd8
paddw xmm2, xmmword [0x180045e90]
pxor xmm2, xmm0
movq qword [rbp + 0x28], xmm2
jmp 0x180004ba7
lea r9, [rbp + 0x28]
nop dword [rax + rax]
mov eax, 0x24924925
lea r9, [r9 + 2]
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movzx eax, ax
imul ecx, eax, 0x38
movzx eax, r8w
inc r8d
sub ax, cx
add ax, 0x31
xor word [r9 - 2], ax
cmp r8d, 4
jl 0x180004b70
lea r8, [rbp - 0x70]
lea rdx, [rbp + 0x28]
lea rcx, [rbp - 0x40]
call fcn.180004ea0
mov ecx, dword [0x180043678]
mov r9, rax
mov dword [rbp + 0x20], ecx
jmp 0x180004be7
mov rax, qword [0x18004d8a0]
lea rdx, [rsp + 0x70]
mov rcx, qword [rsi + rax]
call fcn.18001ce20
mov r9, rax
mov eax, dword [0x180043678]
mov dword [rbp + 0x20], eax
movsd xmm0, qword [str.r_ADFS7]
mov eax, 0x43
movzx ecx, word [0x18004367c]
xor word [rbp + 0x20], 0x35
xor cx, 0x37
xor word [rbp + 0x22], 0x36
movsd xmm1, qword [0x180043690]
movsd qword [rbp + 0x18], xmm0
movups xmm0, xmmword [0x180043680]
xor word [rbp + 0x1a], 0x32
xor word [rbp + 0x1c], 0x33
xor word [rbp + 0x1e], 0x34
mov word [rbp + 0x18], ax
mov eax, dword [0x180043698]
mov dword [rbp - 0x48], eax
movzx eax, word [0x18004369c]
mov word [rbp - 0x44], ax
mov word [rbp + 0x24], cx
movsd qword [rbp - 0x50], xmm1
movups xmmword [rbp - 0x60], xmm0
cmp r13d, 2
jl 0x180004d4c
movdqa xmm2, xmmword [0x180045d60]
mov edi, 8
movdqa xmm3, xmmword [0x180045d80]
movdqa xmm1, xmm2
movdqa xmm4, xmmword [0x180046100]
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
movd xmm6, ebx
movd xmm5, r14d
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x180045dd0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
movq xmm0, qword [0x180043680]
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
paddw xmm2, xmmword [0x180045e90]
pxor xmm2, xmm0
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
movq qword [rbp - 0x60], xmm2
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x180045dd0]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movq xmm0, qword [rbp - 0x58]
pshufd xmm2, xmm1, 0xd8
paddw xmm2, xmmword [0x180045e90]
pxor xmm2, xmm0
movq qword [rbp - 0x58], xmm2
mov eax, edi
lea r8, [rbp - 0x60]
lea r8, [r8 + rax*2]
nop word [rax + rax]
mov eax, 0x92492493
lea r8, [r8 + 2]
imul edi
add edx, edi
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, dx
imul ecx, eax, 0x38
movzx eax, di
inc edi
sub ax, cx
add ax, 0x31
xor word [r8 - 2], ax
cmp edi, 0xf
jl 0x180004d60
movups xmm0, xmmword [r9]
lea r9, [rbp + 0x18]
xorps xmm1, xmm1
lea r8, [rbp - 0x40]
cvtss2sd xmm1, xmm14
lea rdx, [rbp - 0x60]
lea rcx, [rbp - 0x70]
movaps xmmword [rbp - 0x40], xmm0
movsd qword [rsp + 0x20], xmm1
call fcn.180004ea0
movups xmm0, xmmword [rbp + 8]
mov rdx, qword [0x18004d830]
lea rax, [rbp - 0x40]
mov qword [rsp + 0x60], rax
lea r9, [rsp + 0x70]
movsd qword [rsp + 0x70], xmm0
lea rax, [rbp - 0x80]
unpckhpd xmm0, xmm0
lea r8, [rbp - 0x70]
movsd qword [rsp + 0x78], xmm0
xorps xmm1, xmm1
movaps xmm0, xmmword [0x180045f80]
mov rcx, r15
movaps xmmword [rbp - 0x20], xmm0
xorps xmm0, xmm0
mov byte [rsp + 0x50], 1
movups xmmword [rbp - 0x80], xmm0
mov byte [rsp + 0x48], 1
movss xmm0, dword [0x18004c298]
mov qword [rsp + 0x40], rax
lea rax, [rbp - 0x10]
mov qword [rsp + 0x38], rax
lea rax, [rbp - 0x20]
cvtps2pd xmm0, xmm0
movups xmmword [rbp - 0x40], xmm1
unpcklpd xmm0, xmm0
movups xmmword [rbp + 8], xmm0
xorps xmm0, xmm0
movss dword [rsp + 0x30], xmm0
mov qword [rsp + 0x28], rax
lea rax, [rbp + 8]
mov qword [rsp + 0x20], rax
movups xmmword [rbp - 0x10], xmm1
call fcn.18001c090
movaps xmm8, xmmword [rsp + 0x300]
movaps xmm7, xmmword [rsp + 0x310]
mov rcx, qword [rbp + 0x180]
xor rcx, rsp
call fcn.180020760
movaps xmm6, xmmword [rsp + 0x320]
movaps xmm14, xmmword [rsp + 0x2a0]
add rsp, 0x340
pop r15
pop r14
pop r13
pop rdi
pop rsi
pop rbx
pop rbp
ret