Function at 0x1400234c0
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0xf8]
sub rsp, 0x1b8
movaps xmmword [rax - 0x58], xmm6
movaps xmmword [rax - 0x68], xmm7
movaps xmmword [rax - 0x78], xmm8
movaps xmmword [rax - 0x88], xmm9
movaps xmmword [rax - 0x98], xmm10
movaps xmmword [rax - 0xa8], xmm11
movaps xmmword [rax - 0xb8], xmm12
movaps xmmword [rax - 0xc8], xmm13
movaps xmmword [rax - 0xd8], xmm14
movaps xmmword [rax - 0xe8], xmm15
mov rax, qword [0x140067010]
xor rax, rsp
mov qword [rbp + 8], rax
mov rax, qword [0x1400694a0]
mov r13, r9
mov qword [rsp + 0x58], rdx
mov r14, r8
mov qword [rbp - 0x40], r9
mov r12, rcx
mov qword [rbp - 0x78], r8
xor edx, edx
movzx edi, byte [rax + 0xca]
mov qword [rbp - 0x70], rcx
mov qword [rsp + 0x50], rax
mov dword [rbp - 0x18], 0xf4dcbabb
mov dword [rbp - 0x14], 0xedf9f8ee
mov dword [rbp - 0x10], 0xc7ccd4cf
mov word [rbp - 0xc], 0x100
nop word [rax + rax]
lea eax, [rdx - 0x68]
xor byte [rbp + rdx - 0x18], al
inc rdx
cmp rdx, 0xc
jb 0x140023580
mov rcx, qword [rcx + 0x38]
lea r8, [rbp - 0x18]
mov edx, 1
mov byte [rbp - 0xb], 0
call fcn.14000a2c0
mov rcx, qword [r14 + 0x38]
mov r15d, 1
movss xmm7, dword [0x14005b8e0]
mov qword [rbp - 0x38], rax
mov qword [rbp - 0x80], r15
cmp qword [r12 + 0x38], rcx
je 0x14002367e
test dil, dil
jne 0x140023683
mov dword [rbp - 8], 0xf4dcbabb
xor edx, edx
mov dword [rbp - 4], 0xedf9f8ee
mov dword [rbp], 0xc7ccd4cf
mov word [rbp + 4], 0x100
nop dword [rax]
nop word [rax + rax]
lea eax, [rdx - 0x68]
xor byte [rbp + rdx - 8], al
inc rdx
cmp rdx, 0xc
jb 0x140023600
lea r8, [rbp - 8]
mov byte [rbp + 5], 0
mov rdx, r15
call fcn.14000a2c0
mov r15d, 2
mov qword [rbp - 0x30], rax
mov qword [rbp - 0x80], r15
movss xmm2, dword [0x14005b8d0]
mov rbx, qword [0x1400694a0]
lea rcx, [rbp - 0x50]
movups xmm1, xmmword [rbx + 0x195c]
movss xmm6, dword [rbx + 0x1638]
movups xmmword [rbp - 0x50], xmm1
movaps xmm0, xmm6
shufps xmm1, xmm1, 0xff
mulss xmm0, xmm2
mulss xmm1, xmm0
movss dword [rbp - 0x44], xmm1
call fcn.140007cc0
mov esi, eax
test dil, dil
je 0x14002368c
movss xmm2, dword [0x14005b90c]
jmp 0x140023694
test dil, dil
je 0x14002362e
movaps xmm2, xmm7
mov qword [rbp - 0x80], r15
jmp 0x140023636
movss xmm2, dword [0x14005b8ec]
movups xmm1, xmmword [rbx + 0x195c]
lea rcx, [rbp - 0x18]
movaps xmm0, xmm6
movups xmmword [rbp - 0x18], xmm1
mulss xmm0, xmm2
shufps xmm1, xmm1, 0xff
mulss xmm1, xmm0
movss dword [rbp - 0xc], xmm1
call fcn.140007cc0
mov dword [rbp - 0x64], eax
test dil, dil
je 0x1400236ce
movss xmm2, dword [0x14005b924]
jmp 0x1400236d6
movss xmm2, dword [0x14005b91c]
movups xmm1, xmmword [rbx + 0x195c]
lea rcx, [rbp - 0x18]
movaps xmm0, xmm6
movups xmmword [rbp - 0x18], xmm1
mulss xmm0, xmm2
shufps xmm1, xmm1, 0xff
mulss xmm1, xmm0
movss dword [rbp - 0xc], xmm1
call fcn.140007cc0
mov dword [rbp - 0x68], eax
test dil, dil
je 0x14002370e
movss xmm7, dword [0x14005b900]
movups xmm0, xmmword [rbx + 0x1a3c]
lea rcx, [rbp - 0x18]
mulss xmm6, xmm7
movups xmmword [rbp - 0x18], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, xmm6
movss dword [rbp - 0xc], xmm0
call fcn.140007cc0
mov rcx, qword [r14 + 0x450]
mov dword [rbp - 0x60], eax
test rcx, rcx
je 0x14002374d
cmp dword [rcx + 0x28], 0
jg 0x14002374d
xor dil, dil
jmp 0x140023750
mov dil, 1
movzx eax, byte [r13 + 0xc0]
test al, al
je 0x140023c2b
cmp dword [r13 + 0xd0], 0xffffffff
movss xmm0, dword [r13 + 0x40]
movss xmm1, dword [r13 + 0x44]
movss dword [rbp - 0x18], xmm0
addss xmm0, dword [r13 + 0x48]
movss dword [rbp - 0x14], xmm1
movss dword [rbp - 0x10], xmm0
movaps xmm0, xmm1
addss xmm0, dword [r13 + 0x4c]
movss dword [rbp - 0xc], xmm0
jne 0x1400237c5
test dil, dil
je 0x1400237bb
movss xmm0, dword [rbx + 0x1674]
addss xmm0, xmm0
addss xmm0, dword [rbx + 0x1a80]
addss xmm0, xmm1
movss dword [rbp - 0x14], xmm0
cmp byte [r13 + 0xc1], 0
je 0x14002381c
xor ebx, ebx
nop word [rax + rax]
movss xmm0, dword [r12 + 0x88]
lea r8, [rbp - 0x10]
mov rcx, qword [rbp + rbx*8 - 0x38]
lea rdx, [rbp - 0x18]
mov dword [rsp + 0x28], 0
mov r9d, esi
movss dword [rsp + 0x20], xmm0
call fcn.1400324c0
inc rbx
cmp rbx, r15
jl 0x1400237d0
movzx eax, byte [r13 + 0xc0]
mov rbx, qword [0x1400694a0]
test al, al
je 0x140023c2b
test dil, dil
je 0x140023c2b
cmp dword [r13 + 0xd0], 0xffffffff
jne 0x140023c2b
cmp byte [r13 + 0xc1], 0
je 0x140023c2b
xorps xmm0, xmm0
lea r8, [rbp - 8]
xor r9d, r9d
xor edx, edx
mov rcx, r13
movups xmmword [rbp - 8], xmm0
call fcn.140022b60
movss xmm14, dword [rbp - 8]
mov r15, qword [rsp + 0x58]
movaps xmm13, xmm14
movaps xmm6, xmm14
test r15, r15
je 0x1400238c1
mov rax, qword [r15 + 0x38]
test rax, rax
je 0x1400238c1
test dword [r15 + 8], 0x3000
jne 0x14002388c
movss xmm13, dword [rax + 0x44]
jmp 0x1400238ac
mov rax, qword [r15 + 0x30]
mov rcx, qword [rax]
movzx r8d, byte [rcx + 0xd8]
mov rdx, qword [rcx]
lea rcx, [rbp - 0x18]
call fcn.1400448b0
movss xmm13, dword [rax]
mov rdi, qword [rsp + 0x50]
addss xmm13, dword [rdi + 0x1688]
addss xmm13, xmm6
jmp 0x140023901
test dword [r12 + 0xc], 0x20000000
jne 0x1400238fc
movzx r8d, byte [r12 + 0xd8]
lea rcx, [rbp - 0x18]
mov rdx, qword [r12]
call fcn.1400448b0
mov rdi, qword [rsp + 0x50]
movss xmm13, dword [rdi + 0x1688]
addss xmm13, dword [rax]
addss xmm13, xmm6
jmp 0x140023901
mov rdi, qword [rsp + 0x50]
mov rax, qword [r14 + 0x450]
test rax, rax
je 0x14002391c
mov r13, qword [rax + 0x38]
test r13, r13
je 0x14002391f
mov eax, dword [r13]
jmp 0x140023924
xor r13d, r13d
mov eax, 1
movsxd rcx, eax
mov qword [rsp + 0x70], rcx
test eax, eax
jle 0x140023c30
movss xmm11, dword [rbp + 4]
xor r8d, r8d
movss xmm12, dword [rbp]
movsd xmm15, qword [rbp]
movss xmm10, dword [rbp - 4]
mov qword [rsp + 0x68], r8
test r13, r13
je 0x14002396b
mov rax, qword [r13 + 8]
mov r14, qword [rax + r8 + 8]
test r14, r14
je 0x140023c0d
mov rcx, qword [r12 + 0x450]
test rcx, rcx
je 0x140023999
mov eax, dword [rcx + 8]
shr eax, 0xa
test al, 1
je 0x140023999
movzx eax, word [r12 + 0xde]
cmp word [r14 + 0xde], ax
jl 0x140023c0d
test rcx, rcx
lea rax, [r12 + 0x14]
lea rdx, [rcx + 0x5c]
cmove rdx, rax
mov eax, dword [r14 + 0x14]
mov ecx, dword [rdx]
cmp ecx, eax
je 0x1400239de
test ecx, ecx
je 0x1400239c3
cmp byte [rdx + 0x1d], 0
je 0x1400239c3
test eax, eax
jne 0x1400239cb
jmp 0x1400239de
test eax, eax
je 0x140023c0d
cmp byte [r14 + 0x31], 0
je 0x140023c0d
test ecx, ecx
jne 0x140023c0d
movzx r8d, byte [r14 + 0xd8]
lea rcx, [rsp + 0x60]
mov rdx, qword [r14]
call fcn.1400448b0
movss xmm0, dword [rsp + 0x60]
movaps xmm8, xmm10
addss xmm8, dword [rsp + 0x64]
movss xmm1, dword [rbx + 0x1638]
movaps xmm6, xmm0
addss xmm0, dword [rdi + 0x1688]
movss xmm2, dword [0x14005b91c]
addss xmm6, xmm13
comiss xmm1, xmm2
mov edx, dword [r14 + 0x42c]
movss dword [rbp - 0x18], xmm13
movaps xmm9, xmm13
addss xmm13, xmm0
movss dword [rbp - 0x10], xmm6
movaps xmm7, xmm10
movss dword [rbp - 0xc], xmm8
movss dword [rbp - 0x14], xmm7
movss dword [rsp + 0x78], xmm13
jae 0x140023a7e
mov eax, edx
xorps xmm0, xmm0
shr eax, 0x18
cvtsi2ss xmm0, rax
mov eax, edx
and eax, 0xffffff
mulss xmm0, xmm1
cvttss2si rcx, xmm0
shl ecx, 0x18
mov edx, ecx
or edx, eax
comiss xmm1, xmm2
mov r15d, dword [r14 + 0x438]
jae 0x140023ab2
mov eax, r15d
xorps xmm0, xmm0
shr eax, 0x18
cvtsi2ss xmm0, rax
mov eax, r15d
and eax, 0xffffff
mulss xmm0, xmm1
cvttss2si rcx, xmm0
shl ecx, 0x18
mov r15d, ecx
or r15d, eax
call fcn.140008240
movups xmm13, xmmword [rbp - 8]
mov r12, qword [rsp + 0x50]
xor esi, esi
nop dword [rax]
nop word [rax + rax]
mov ebx, dword [r14 + 0xc]
shr ebx, 0x14
and ebx, 1
bts ebx, 0x17
comiss xmm9, xmm14
jb 0x140023af6
comiss xmm7, xmm10
jb 0x140023af6
comiss xmm12, xmm6
jb 0x140023af6
comiss xmm11, xmm8
jae 0x140023b0d
mov rcx, qword [rbp + rsi*8 - 0x38]
xor r9d, r9d
movq r8, xmm15
movq rdx, xmm13
call fcn.14002f850
mov rdi, qword [rbp + rsi*8 - 0x38]
lea rdx, [rbp - 0x18]
mov rcx, rdi
mov r9d, r15d
mov r8d, ebx
call fcn.1400449e0
mov r9, qword [r12 + 0x1670]
lea rdx, [rbp - 0x18]
xor eax, eax
mov r8d, ebx
mov qword [rsp + 0x48], rax
mov rcx, rdi
mov qword [rsp + 0x40], rax
mov byte [rsp + 0x38], al
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x28], eax
mov rax, qword [r14]
mov qword [rsp + 0x20], rax
call fcn.140044f40
movss xmm9, dword [rbp - 0x18]
comiss xmm9, xmm14
movss xmm8, dword [rbp - 0xc]
movss xmm6, dword [rbp - 0x10]
movss xmm7, dword [rbp - 0x14]
jb 0x140023b89
comiss xmm7, xmm10
jb 0x140023b89
comiss xmm12, xmm6
jb 0x140023b89
comiss xmm11, xmm8
jae 0x140023bbc
mov eax, dword [rdi + 0x58]
sub eax, 1
mov dword [rdi + 0x58], eax
jne 0x140023b9e
mov rax, qword [rdi + 0x38]
add rax, 0x1c
jmp 0x140023baa
dec eax
cdqe
shl rax, 4
add rax, qword [rdi + 0x60]
movups xmm0, xmmword [rax]
mov rcx, rdi
movups xmmword [rdi + 0x88], xmm0
call fcn.14002f670
inc rsi
cmp rsi, qword [rbp - 0x80]
jl 0x140023ad0
mov rbx, qword [0x1400694a0]
movss xmm13, dword [rsp + 0x78]
mov r12, qword [rbp - 0x70]
mov r8, qword [rsp + 0x68]
movsxd rax, dword [rbx + 0x1e70]
mov rcx, qword [rbx + 0x1e78]
lea rdx, [rax + rax*4]
movsxd rax, dword [rcx + rdx*4 - 0x14]
movups xmm0, xmmword [rcx + rdx*4 - 0x10]
add rax, rax
movups xmmword [rbx + rax*8 + 0x16fc], xmm0
dec dword [rbx + 0x1e70]
mov r14, qword [rbp - 0x78]
add r8, 0x30
sub qword [rsp + 0x70], 1
mov rdi, qword [rsp + 0x50]
mov qword [rsp + 0x68], r8
jne 0x140023954
mov r15, qword [rsp + 0x58]
mov rax, qword [rbp - 0x40]
mov r13, 0xffffffffffffffff
mov rcx, qword [rsp + 0x50]
mov rsi, r13
movss xmm10, dword [0x14005b950]
movss xmm15, dword [0x14005b9d4]
movss xmm1, dword [0x14005b93c]
lea r14, [rax + 0xdc]
maxss xmm10, dword [rcx + 0x1678]
movss xmm8, dword [0x14005b8d8]
movss xmm14, dword [0x14005b8d4]
mov qword [rbp - 0x70], r14
mov qword [rbp - 0x78], r13
nop word [rax + rax]
movss xmm0, dword [r14 - 4]
comiss xmm0, dword [r14 + 4]
ja 0x140023ed9
movss xmm0, dword [r14]
comiss xmm0, dword [r14 + 8]
ja 0x140023ed9
movups xmm6, xmmword [r14 - 4]
movaps xmm9, xmm6
movaps xmm7, xmm6
movaps xmm11, xmm6
shufps xmm9, xmm6, 0x55
subss xmm11, xmm15
shufps xmm7, xmm6, 0xaa
subss xmm9, xmm15
subss xmm7, xmm1
movups xmmword [rbp - 0x28], xmm6
shufps xmm6, xmm6, 0xff
subss xmm6, xmm1
cmp dword [rax + 0xd0], r13d
jne 0x140023cfa
cmp byte [rax + 0xc3], 0
mov r15d, dword [rbp - 0x68]
jne 0x140023cfe
mov r15d, dword [rbp - 0x64]
mov r14d, dword [rbp - 0x60]
movaps xmm0, xmm11
movss xmm15, dword [0x14005b91c]
addss xmm0, xmm7
mov r13, qword [rbp - 0x80]
movaps xmm1, xmm9
addss xmm1, xmm6
xor edi, edi
mov r12d, r14d
and r12d, 0xff000000
mulss xmm0, xmm8
mulss xmm1, xmm8
cvttss2si eax, xmm0
movd xmm12, eax
cvttss2si eax, xmm1
cvtdq2ps xmm12, xmm12
movd xmm13, eax
cvtdq2ps xmm13, xmm13
nop
mov rbx, qword [rbp + rdi*8 - 0x38]
lea r8, [rbp - 0x20]
mov rcx, rbx
mov dword [rsp + 0x28], 0
mov r9d, r15d
movss dword [rsp + 0x20], xmm10
lea rdx, [rbp - 0x28]
call fcn.1400324c0
test r12d, r12d
je 0x140023e38
test byte [rbx + 0x30], 1
movaps xmm2, xmm11
movaps xmm3, xmm9
mov dword [rsp + 0x20], 0
addss xmm2, xmm8
movaps xmm0, xmm7
addss xmm3, xmm8
movaps xmm1, xmm6
mov rcx, rbx
je 0x140023dd7
subss xmm0, xmm8
movss dword [rsp + 0x68], xmm2
subss xmm1, xmm8
movss dword [rsp + 0x6c], xmm3
lea r8, [rsp + 0x70]
lea rdx, [rsp + 0x68]
movss dword [rsp + 0x70], xmm0
movss dword [rsp + 0x74], xmm1
jmp 0x140023e03
subss xmm0, xmm14
movss dword [rsp + 0x78], xmm2
subss xmm1, xmm14
movss dword [rsp + 0x7c], xmm3
lea r8, [rsp + 0x60]
lea rdx, [rsp + 0x78]
movss dword [rsp + 0x60], xmm0
movss dword [rsp + 0x64], xmm1
movaps xmm3, xmm10
call fcn.140031ce0
mov r8d, dword [rbx + 0x78]
mov r9d, r14d
mov rdx, qword [rbx + 0x80]
mov rcx, rbx
movss dword [rsp + 0x28], xmm15
mov dword [rsp + 0x20], 1
call fcn.14002fc60
mov dword [rbx + 0x78], 0
cmp rsi, 1
ja 0x140023e6f
mov r9d, r14d
movss dword [rbp - 0x5c], xmm12
lea r8, [rbp - 0x5c]
movss dword [rbp - 0x58], xmm6
lea rdx, [rbp - 0x50]
movss dword [rbp - 0x50], xmm12
mov rcx, rbx
movss dword [rbp - 0x4c], xmm9
movss dword [rsp + 0x20], xmm15
call fcn.140032260
lea rax, [rsi - 2]
cmp rax, 1
ja 0x140023eaa
mov r9d, r14d
movss dword [rbp - 8], xmm7
lea r8, [rbp - 8]
movss dword [rbp - 4], xmm13
lea rdx, [rbp - 0x18]
movss dword [rbp - 0x18], xmm11
mov rcx, rbx
movss dword [rbp - 0x14], xmm13
movss dword [rsp + 0x20], xmm15
call fcn.140032260
inc rdi
cmp rdi, r13
jl 0x140023d50
movss xmm15, dword [0x14005b9d4]
movss xmm1, dword [0x14005b93c]
mov r14, qword [rbp - 0x70]
mov r13, qword [rbp - 0x78]
mov rcx, qword [rsp + 0x50]
mov r15, qword [rsp + 0x58]
test r15, r15
je 0x140023eea
mov eax, dword [r15 + 8]
or eax, dword [r15 + 4]
test al, 0x10
jne 0x140023f13
cmp byte [rcx + 0xc8], 0
jne 0x140023f13
mov rax, qword [rbp - 0x40]
inc r13d
add r14, 0x10
mov qword [rbp - 0x78], r13
inc rsi
mov qword [rbp - 0x70], r14
cmp rsi, 4
jl 0x140023c90
mov rcx, qword [rbp + 8]
xor rcx, rsp
call fcn.140052570
lea r11, [rsp + 0x1b8]
movaps xmm6, xmmword [r11 - 0x18]
movaps xmm7, xmmword [r11 - 0x28]
movaps xmm8, xmmword [r11 - 0x38]
movaps xmm9, xmmword [r11 - 0x48]
movaps xmm10, xmmword [r11 - 0x58]
movaps xmm11, xmmword [r11 - 0x68]
movaps xmm12, xmmword [r11 - 0x78]
movaps xmm13, xmmword [r11 - 0x88]
movaps xmm14, xmmword [r11 - 0x98]
movaps xmm15, xmmword [r11 - 0xa8]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret