Function at 0x18002c500
Capabilities:
Encode data using xor

Disassembly:
mov r11, rsp
mov qword [r11 + 0x10], rbx
mov qword [r11 + 0x18], rsi
mov qword [r11 + 0x20], rdi
push rbp
push r12
push r14
lea rbp, [r11 - 0x48]
sub rsp, 0x130
movaps xmmword [r11 - 0x28], xmm6
movaps xmmword [r11 - 0x38], xmm7
movaps xmmword [r11 - 0x48], xmm8
movaps xmmword [r11 - 0x58], xmm9
movaps xmmword [r11 - 0x68], xmm10
movaps xmmword [r11 - 0x78], xmm11
movaps xmmword [r11 - 0x88], xmm12
movaps xmmword [r11 - 0x98], xmm13
movaps xmmword [r11 - 0xa8], xmm14
movaps xmmword [r11 - 0xb8], xmm15
mov rax, qword [0x18008d020]
xor rax, rsp
mov qword [rbp - 0x80], rax
mov rdi, qword [0x18008dc38]
mov r12, rdx
mov rsi, rcx
mov rax, qword [rdi + 0x1860]
mov byte [rax + 0x92], 1
mov rbx, qword [rdi + 0x1860]
cmp byte [rbx + 0x94], 0
jne 0x18002c85c
movsxd r8, dword [rbx + 0x1d0]
xor edx, edx
mov rax, qword [rbx + 0x1d8]
mov qword [r11 + 8], r15
mov r8d, dword [rax + r8*4 - 4]
call fcn.18001f5a0
mov r14d, eax
cmp dword [rdi + 0x1890], eax
jne 0x18002c5ca
mov byte [rdi + 0x189c], 1
mov rcx, rsi
cmp rsi, 0xffffffffffffffff
jae 0x18002c5f0
movzx edx, byte [rcx]
test dl, dl
je 0x18002c5f0
lea rax, [rcx + 1]
cmp dl, 0x23
jne 0x18002c5e7
cmp byte [rax], dl
je 0x18002c5f0
mov rcx, rax
cmp rax, 0xffffffffffffffff
jb 0x18002c5d3
mov r15, qword [rdi + 0x1770]
movss xmm6, dword [rdi + 0x1778]
cmp rsi, rcx
jne 0x18002c60e
xorps xmm8, xmm8
xorps xmm11, xmm11
jmp 0x18002c672
movss xmm0, dword [0x180082734]
lea rdx, [rsp + 0x48]
movss xmm3, dword [0x180082728]
movaps xmm2, xmm6
mov qword [rsp + 0x30], rcx
mov rcx, r15
mov qword [rsp + 0x28], rsi
movss dword [rsp + 0x20], xmm0
call fcn.18003f690
movss xmm0, dword [rsp + 0x48]
xorps xmm8, xmm8
comiss xmm0, xmm8
jbe 0x18002c657
divss xmm6, dword [r15]
subss xmm0, xmm6
addss xmm0, dword [0x180082644]
movss xmm6, dword [rsp + 0x4c]
cvttss2si eax, xmm0
movd xmm11, eax
cvtdq2ps xmm11, xmm11
movss xmm1, dword [rdi + 0x1460]
lea rcx, [rsp + 0x48]
movss xmm12, dword [rbx + 0xe0]
movaps xmm10, xmm1
movss xmm13, dword [rbx + 0xe4]
addss xmm10, xmm1
addss xmm10, xmm6
movaps xmm15, xmm10
addss xmm10, xmm13
addss xmm15, xmm12
movaps xmm0, xmm10
subss xmm0, xmm13
movaps xmm14, xmm15
subss xmm14, xmm12
movss dword [rsp + 0x44], xmm0
movss dword [rsp + 0x48], xmm14
movss dword [rsp + 0x4c], xmm0
call fcn.1800205b0
comiss xmm11, xmm8
mov r15, qword [rsp + 0x150]
movaps xmm4, xmm15
movss dword [rsp + 0x58], xmm12
movaps xmm5, xmm10
movss dword [rsp + 0x60], xmm4
movss dword [rsp + 0x64], xmm5
movss dword [rsp + 0x5c], xmm13
jbe 0x18002c717
movss xmm1, dword [rdi + 0x1474]
xorps xmm0, xmm0
call fcn.180030ad0
comiss xmm11, xmm8
movss xmm0, dword [rbx + 0xe0]
movaps xmm3, xmm12
movss xmm1, dword [rdi + 0x1460]
addss xmm0, xmm8
movaps xmm2, xmm1
movss dword [rsp + 0x58], xmm3
addss xmm2, dword [rbx + 0xe4]
movaps xmm7, xmm0
movss dword [rsp + 0x68], xmm0
addss xmm7, xmm11
movss dword [rsp + 0x70], xmm0
movaps xmm9, xmm2
movss dword [rsp + 0x48], xmm2
addss xmm9, xmm6
movss dword [rsp + 0x74], xmm2
movaps xmm2, xmm13
movss dword [rsp + 0x5c], xmm2
movss dword [rsp + 0x78], xmm7
movss dword [rsp + 0x7c], xmm9
jbe 0x18002c7e9
movaps xmm0, xmm7
lea rcx, [rsp + 0x50]
subss xmm0, dword [rsp + 0x68]
movss dword [rsp + 0x50], xmm0
movss xmm0, dword [rsp + 0x44]
movss dword [rsp + 0x54], xmm0
call fcn.1800205b0
movaps xmm4, xmm15
movaps xmm5, xmm10
movaps xmm3, xmm12
maxss xmm4, xmm7
minss xmm3, dword [rsp + 0x68]
movaps xmm2, xmm13
maxss xmm5, xmm9
minss xmm2, dword [rsp + 0x48]
movss dword [rsp + 0x60], xmm4
movss dword [rsp + 0x58], xmm3
movss dword [rsp + 0x64], xmm5
movss dword [rsp + 0x5c], xmm2
mov rdx, qword [0x18008dc38]
mov rcx, qword [rdx + 0x1860]
comiss xmm5, dword [rcx + 0x1e4]
jbe 0x18002c827
movss xmm0, dword [rcx + 0x1ec]
comiss xmm0, xmm2
jbe 0x18002c827
comiss xmm4, dword [rcx + 0x1e0]
jbe 0x18002c827
movss xmm0, dword [rcx + 0x1e8]
comiss xmm0, xmm3
ja 0x18002c8bf
test r14d, r14d
je 0x18002c839
cmp r14d, dword [rdx + 0x1890]
je 0x18002c8bf
cmp byte [rdx + 0x2a38], 0
jne 0x18002c8bf
movups xmm0, xmmword [rsp + 0x58]
mov dword [rcx + 0x118], r14d
mov byte [rcx + 0x12c], 0
movups xmmword [rcx + 0x11c], xmm0
xor al, al
mov rcx, qword [rbp - 0x80]
xor rcx, rsp
call fcn.180042cf0
lea r11, [rsp + 0x130]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
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 r14
pop r12
pop rbp
ret
movups xmm0, xmmword [rsp + 0x58]
mov dword [rcx + 0x118], r14d
mov byte [rcx + 0x12c], 0
movups xmmword [rcx + 0x11c], xmm0
mov rax, qword [rdx + 0x1860]
movss xmm1, dword [rdx + 0x147c]
movss xmm0, dword [rdx + 0x1480]
maxss xmm3, dword [rax + 0x1e0]
minss xmm4, dword [rax + 0x1e8]
maxss xmm2, dword [rax + 0x1e4]
minss xmm5, dword [rax + 0x1ec]
subss xmm3, xmm1
addss xmm4, xmm1
movss xmm1, dword [rdx + 0x110]
subss xmm2, xmm0
addss xmm5, xmm0
comiss xmm1, xmm3
jb 0x18002c948
movss xmm0, dword [rdx + 0x114]
comiss xmm0, xmm2
jb 0x18002c948
comiss xmm4, xmm1
jbe 0x18002c948
comiss xmm5, xmm0
jbe 0x18002c948
mov al, 1
jmp 0x18002c94a
xor al, al
mov byte [rcx + 0x12c], al
lea r9, [rsp + 0x41]
xor ebx, ebx
lea rcx, [rsp + 0x58]
lea r8, [rsp + 0x40]
mov dword [rsp + 0x20], ebx
mov edx, r14d
call fcn.18002aa60
movzx r14d, al
test al, al
je 0x18002c980
cmp byte [r12], bl
sete cl
mov byte [r12], cl
movss xmm6, dword [rdi + 0x1464]
movzx edx, byte [rsp + 0x40]
cmp byte [rsp + 0x41], bl
je 0x18002c99e
test dl, dl
je 0x18002c99e
mov ecx, 9
jmp 0x18002c9a8
test dl, dl
mov ecx, ebx
setne cl
add ecx, 7
movss xmm9, dword [0x18008264c]
movaps xmm1, xmm9
call fcn.18001fa00
movaps xmm0, xmm15
movss dword [rsp + 0x20], xmm6
movaps xmm1, xmm12
unpcklps xmm0, xmm10
unpcklps xmm1, xmm13
movq rdx, xmm0
movq rcx, xmm1
mov r8d, eax
call fcn.180024990
cmp byte [r12], bl
je 0x18002ca4a
movaps xmm0, xmm14
movaps xmm3, xmm9
minss xmm0, dword [rsp + 0x44]
movaps xmm1, xmm9
mov ecx, 0x12
divss xmm0, dword [0x1800826e0]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
maxss xmm3, xmm0
movaps xmm7, xmm3
movaps xmm6, xmm3
addss xmm3, xmm3
addss xmm7, xmm12
addss xmm6, xmm13
subss xmm14, xmm3
call fcn.18001fa00
movaps xmm0, xmm7
mov edx, eax
unpcklps xmm0, xmm6
movaps xmm2, xmm14
movq rcx, xmm0
call fcn.180024ca0
cmp byte [rdi + 0x2a38], bl
je 0x18002cc71
cmp byte [r12], bl
je 0x18002cb69
cmp byte [0x180082493], bl
mov eax, dword [str.iKi5]
mov dword [rsp + 0x50], eax
je 0x18002cb5f
cmp dword [0x18008d028], 2
jl 0x18002cb1d
movdqa xmm3, xmmword [0x1800827d0]
lea rdx, [rsp + 0x50]
movdqa xmm2, xmm3
movdqa xmm0, xmm3
punpckldq xmm2, xmm3
mov ecx, 5
pmuldq xmm2, xmmword [0x1800828e0]
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x1800828e0]
shufps xmm2, xmm0, 0xdd
paddd xmm2, xmm3
movd xmm0, ecx
psrad xmm2, xmm0
mov ecx, 0x1f
movdqa xmm1, xmm2
movd xmm0, ecx
psrld xmm1, xmm0
paddd xmm1, xmm2
pmulld xmm1, xmmword [0x1800827f0]
psubd xmm3, xmm1
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x180082810]
packuswb xmm2, xmm2
paddb xmm2, xmmword [str.2222222222222222]
movd xmm0, eax
xorps xmm2, xmm0
movd dword [rsp + 0x50], xmm2
jmp 0x18002cc64
lea r8, [rsp + 0x50]
nop dword [rax]
nop word [rax + rax]
mov eax, 0x8d3dcb09
lea r8, [r8 + 1]
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x3a
movzx eax, bl
inc ebx
sub al, cl
add al, 0x32
xor byte [r8 - 1], al
cmp ebx, 4
jl 0x18002cb30
lea rdx, [rsp + 0x50]
jmp 0x18002cc64
cmp byte [0x180082543], bl
mov eax, dword [0x180082540]
mov dword [rsp + 0x44], eax
je 0x18002cc5f
cmp dword [0x18008d028], 2
jl 0x18002cc1e
movdqa xmm3, xmmword [0x1800827d0]
mov ecx, 5
movdqa xmm2, xmm3
movdqa xmm0, xmm3
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x1800828e0]
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x1800828e0]
shufps xmm2, xmm0, 0xdd
paddd xmm2, xmm3
movd xmm0, ecx
psrad xmm2, xmm0
mov ecx, 0x1f
movdqa xmm1, xmm2
movd xmm0, ecx
psrld xmm1, xmm0
paddd xmm1, xmm2
pmulld xmm1, xmmword [0x1800827f0]
psubd xmm3, xmm1
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x180082810]
packuswb xmm2, xmm2
paddb xmm2, xmmword [str.2222222222222222]
movd xmm0, eax
xorps xmm2, xmm0
movd dword [rsp + 0x44], xmm2
jmp 0x18002cc5f
lea r8, [rsp + 0x44]
nop dword [rax]
nop word [rax + rax]
mov eax, 0x8d3dcb09
lea r8, [r8 + 1]
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x3a
movzx eax, bl
inc ebx
sub al, cl
add al, 0x32
xor byte [r8 - 1], al
cmp ebx, 4
jl 0x18002cc30
lea rdx, [rsp + 0x44]
xor r8d, r8d
lea rcx, [rsp + 0x70]
call fcn.1800240a0
comiss xmm11, xmm8
jbe 0x18002cc99
movss xmm0, dword [rsp + 0x68]
mov r9b, 1
movss xmm1, dword [rsp + 0x48]
xor r8d, r8d
unpcklps xmm0, xmm1
mov rdx, rsi
movq rcx, xmm0
call fcn.180024240
movzx eax, r14b
jmp 0x18002c85e