Function at 0x180062fb0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x70
mov rsi, r9
movsxd r15, r8d
mov r13, rdx
mov rbx, rcx
movzx ecx, byte [rbx]
cmp cl, 0x20
je 0x180062fdd
cmp cl, 9
jne 0x180062fe2
inc rbx
jmp 0x180062fd0
movzx r14d, cl
lea eax, [r14 - 0x2a]
test al, 0xfa
jne 0x180063006
cmp cl, 0x2e
je 0x180063006
movzx ecx, byte [rbx + 1]
inc rbx
cmp cl, 0x20
je 0x180062ff3
cmp cl, 9
jne 0x180063009
jmp 0x180062ff3
xor r14b, r14b
mov qword [rsp + 0xa8], rdi
mov qword [rsp + 0xb0], r12
movaps xmmword [rsp + 0x60], xmm6
test cl, cl
je 0x18006364d
lea rax, [r15 + r15*2]
mov rdx, rsi
lea rdi, [0x180000000]
mov qword [rbp - 0x20], rax
mov r8, qword [rdi + rax*8 + 0x145af0]
lea rcx, [rbp - 0x18]
call fcn.18007feb0
mov r12, qword [rbp + 0x50]
movabs r9, 0x29e4129e4129e413
test r12, r12
jne 0x18006322d
cmp r15d, 9
ja case.default.0x180063075
mov ecx, dword [rdi + r15*4 + 0x6367c]
add rcx, rdi
jmp rcx
movzx eax, word [0x180005de8]
lea r12, [rbp + 0x30]
mov word [rbp + 0x30], ax
movzx eax, byte [0x180005dea]
xor byte [rbp + 0x31], 0x32
xor al, 0x33
mov byte [rbp + 0x30], 0x25
mov byte [rbp + 0x32], al
jmp 0x18006322d
movzx eax, word [0x180005dec]
lea r12, [rbp - 0x44]
mov word [rbp - 0x44], ax
movzx eax, byte [0x180005dee]
xor byte [rbp - 0x43], 0x32
xor al, 0x33
mov byte [rbp - 0x44], 0x25
mov byte [rbp - 0x42], al
jmp 0x18006322d
mov eax, dword [0x180005df0]
xor edi, edi
mov dword [rbp - 0x30], eax
mov r8d, edi
movzx eax, word [0x180005df4]
mov word [rbp - 0x2c], ax
mov rax, r9
mul r8
mov rax, r8
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 5
movsx eax, al
imul ecx, eax, 0x37
movzx eax, r8b
sub al, cl
add al, 0x31
xor byte [rbp + r8 - 0x30], al
inc r8
cmp r8, 6
jb 0x1800630e0
lea r12, [rbp - 0x30]
mov dword [rbp - 0x48], edi
mov r8, rsi
mov rdx, r12
mov rcx, rbx
call qword [0x1801475e8]
mov r8, qword [rbp - 0x20]
lea rax, [0x180000000]
mov rdx, rsi
lea rcx, [rbp - 0x18]
mov r8, qword [rax + r8*8 + 0x145af0]
call fcn.18007fe60
test eax, eax
setne al
jmp 0x18006364f
mov eax, dword [0x180005df8]
xor edi, edi
mov dword [rbp - 0x40], eax
mov r8d, edi
movzx eax, word [0x180005dfc]
mov word [rbp - 0x3c], ax
nop word [rax + rax]
mov rax, r9
mul r8
mov rax, r8
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 5
movsx eax, al
imul ecx, eax, 0x37
movzx eax, r8b
sub al, cl
add al, 0x31
xor byte [rbp + r8 - 0x40], al
inc r8
cmp r8, 6
jb 0x180063170
lea r12, [rbp - 0x40]
jmp 0x180063116
xor edi, edi
mov dword [rbp - 0x48], edi
jmp 0x1800633ae
mov eax, dword [0x180005e00]
xor edi, edi
cmp byte [0x180005e03], dil
mov dword [rbp - 0x28], eax
je 0x180063202
mov r8d, edi
nop dword [rax]
mov rax, r9
mul r8
mov rax, r8
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 5
movsx eax, al
imul ecx, eax, 0x37
movzx eax, r8b
sub al, cl
add al, 0x31
xor byte [rbp + r8 - 0x28], al
inc r8
cmp r8, 4
jb 0x1800631d0
mov dword [rbp - 0x48], edi
jmp 0x180063491
movzx eax, word [0x180005e04]
lea r12, [rbp - 0x4c]
mov word [rbp - 0x4c], ax
movzx eax, byte [0x180005e06]
xor byte [rbp - 0x4b], 0x32
xor al, 0x33
mov byte [rbp - 0x4c], 0x25
mov byte [rbp - 0x4a], al
xor edi, edi
mov dword [rbp - 0x48], edi
cmp r15d, 4
jne 0x1800633a4
mov eax, dword [rsi]
xorps xmm6, xmm6
mov dword [rbp - 0x50], eax
mov dword [rbp - 0x38], edi
test r14b, r14b
je 0x18006337e
mov rax, qword [0x1801475e8]
lea r8, [rbp - 0x50]
mov rdx, r12
mov rcx, r13
call rax
cmp eax, 1
jl 0x18006364d
cmp r14b, 0x2b
jne 0x1800632bb
movzx eax, word [0x180005e14]
lea r8, [rbp - 0x48]
mov r9, qword [0x1801475e8]
lea rdx, [rbp + 0x30]
mov word [rbp + 0x30], ax
mov rcx, rbx
movzx eax, byte [0x180005e16]
xor byte [rbp + 0x31], 0x32
xor al, 0x33
mov byte [rbp + 0x32], al
mov byte [rbp + 0x30], 0x25
call r9
test eax, eax
je 0x180063128
mov ecx, dword [rbp - 0x48]
add ecx, dword [rbp - 0x50]
mov dword [rsi], ecx
jmp 0x180063128
cmp r14b, 0x2a
jne 0x180063315
movzx eax, word [0x180005e18]
lea r8, [rbp - 0x38]
mov r9, qword [0x1801475e8]
lea rdx, [rbp + 0x30]
mov word [rbp + 0x30], ax
mov rcx, rbx
movzx eax, byte [0x180005e1a]
xor byte [rbp + 0x31], 0x32
xor al, 0x33
mov byte [rbp + 0x32], al
mov byte [rbp + 0x30], 0x25
call r9
test eax, eax
je 0x180063128
movd xmm0, dword [rbp - 0x50]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [rbp - 0x38]
cvttss2si eax, xmm0
mov dword [rsi], eax
jmp 0x180063128
cmp r14b, 0x2f
jne 0x18006337e
movzx eax, word [0x180005e1c]
lea r8, [rbp - 0x38]
mov r9, qword [0x1801475e8]
lea rdx, [rbp + 0x30]
mov word [rbp + 0x30], ax
mov rcx, rbx
movzx eax, byte [0x180005e1e]
xor byte [rbp + 0x31], 0x32
xor al, 0x33
mov byte [rbp + 0x32], al
mov byte [rbp + 0x30], 0x25
call r9
test eax, eax
je 0x180063128
movss xmm1, dword [rbp - 0x38]
ucomiss xmm1, xmm6
jp 0x180063367
je 0x180063128
movd xmm0, dword [rbp - 0x50]
cvtdq2ps xmm0, xmm0
divss xmm0, xmm1
cvttss2si eax, xmm0
mov dword [rsi], eax
jmp 0x180063128
mov rax, qword [0x1801475e8]
lea r8, [rbp - 0x48]
mov rdx, r12
mov rcx, rbx
call rax
cmp eax, 1
jne 0x180063128
mov eax, dword [rbp - 0x48]
mov dword [rsi], eax
jmp 0x180063128
cmp r15d, 8
jne 0x180063487
movzx eax, word [0x180005e20]
xorps xmm6, xmm6
movss xmm0, dword [rsi]
mov word [rbp + 0x30], ax
movzx eax, byte [0x180005e22]
xor byte [rbp + 0x31], 0x32
xor al, 0x33
movss dword [rbp - 0x50], xmm0
mov byte [rbp + 0x30], 0x25
mov byte [rbp + 0x32], al
mov dword [rbp - 0x4c], 0
test r14b, r14b
je 0x180063402
mov rax, qword [0x1801475e8]
lea r8, [rbp - 0x50]
lea rdx, [rbp + 0x30]
mov rcx, r13
call rax
cmp eax, 1
jl 0x18006364d
mov rax, qword [0x1801475e8]
lea r8, [rbp - 0x4c]
lea rdx, [rbp + 0x30]
mov rcx, rbx
call rax
cmp eax, 1
jl 0x18006364d
cmp r14b, 0x2b
jne 0x180063438
movss xmm0, dword [rbp - 0x4c]
addss xmm0, dword [rbp - 0x50]
movss dword [rsi], xmm0
jmp 0x180063128
cmp r14b, 0x2a
jne 0x180063451
movss xmm0, dword [rbp - 0x4c]
mulss xmm0, dword [rbp - 0x50]
movss dword [rsi], xmm0
jmp 0x180063128
cmp r14b, 0x2f
jne 0x180063479
movss xmm1, dword [rbp - 0x4c]
ucomiss xmm1, xmm6
jp 0x180063467
je 0x180063128
movss xmm0, dword [rbp - 0x50]
divss xmm0, xmm1
movss dword [rsi], xmm0
jmp 0x180063128
movss xmm0, dword [rbp - 0x4c]
movss dword [rsi], xmm0
jmp 0x180063128
cmp r15d, 9
jne 0x18006359a
cmp byte [0x180005e27], 0
mov eax, dword [0x180005e24]
mov dword [rbp + 0x30], eax
je 0x1800634e1
nop dword [rax]
nop word [rax + rax]
mov rax, r9
mul rdi
mov rax, rdi
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 5
movsx eax, al
imul ecx, eax, 0x37
movzx eax, dil
sub al, cl
add al, 0x31
xor byte [rbp + rdi + 0x30], al
inc rdi
cmp rdi, 4
jb 0x1800634b0
movsd xmm0, qword [rsi]
xorps xmm6, xmm6
movsd qword [rbp - 0x30], xmm0
movsd qword [rbp - 0x40], xmm6
test r14b, r14b
je 0x180063514
mov rax, qword [0x1801475e8]
lea r8, [rbp - 0x30]
lea rdx, [rbp + 0x30]
mov rcx, r13
call rax
cmp eax, 1
jl 0x18006364d
mov rax, qword [0x1801475e8]
lea r8, [rbp - 0x40]
lea rdx, [rbp + 0x30]
mov rcx, rbx
call rax
cmp eax, 1
jl 0x18006364d
cmp r14b, 0x2b
jne 0x18006354a
movsd xmm0, qword [rbp - 0x40]
addsd xmm0, qword [rbp - 0x30]
movsd qword [rsi], xmm0
jmp 0x180063128
cmp r14b, 0x2a
jne 0x180063563
movsd xmm0, qword [rbp - 0x40]
mulsd xmm0, qword [rbp - 0x30]
movsd qword [rsi], xmm0
jmp 0x180063128
cmp r14b, 0x2f
jne 0x18006358c
movsd xmm1, qword [rbp - 0x40]
ucomisd xmm1, xmm6
jp 0x18006357a
je 0x180063128
movsd xmm0, qword [rbp - 0x30]
divsd xmm0, xmm1
movsd qword [rsi], xmm0
jmp 0x180063128
movsd xmm0, qword [rbp - 0x40]
movsd qword [rsi], xmm0
jmp 0x180063128
lea eax, [r15 - 5]
cmp eax, 2
jbe 0x180063119
lea r8, [rbp - 0x50]
mov rdx, r12
mov rcx, rbx
call qword [0x1801475e8]
test r15d, r15d
jne 0x1800635e1
mov eax, dword [rbp - 0x50]
cmp eax, 0xffffff80
jge 0x1800635d0
mov eax, 0xffffff80
mov byte [rsi], al
jmp 0x180063128
mov ecx, 0x7f
cmp eax, ecx
cmovg eax, ecx
mov byte [rsi], al
jmp 0x180063128
cmp r15d, 1
jne 0x180063602
mov eax, dword [rbp - 0x50]
test eax, eax
js 0x1800635fa
mov ecx, 0xff
cmp eax, ecx
cmovg eax, ecx
mov edi, eax
mov byte [rsi], dil
jmp 0x180063128
cmp r15d, 2
jne 0x180063628
mov ecx, dword [rbp - 0x50]
mov eax, 0xffff8000
cmp ecx, eax
jl 0x180063620
mov edx, 0x7fff
mov eax, ecx
cmp ecx, edx
cmovg eax, edx
mov word [rsi], ax
jmp 0x180063128
cmp r15d, 3
jne 0x180063128
mov eax, dword [rbp - 0x50]
test eax, eax
js 0x180063645
mov ecx, 0xffff
cmp eax, ecx
cmovg eax, ecx
mov edi, eax
mov word [rsi], di
jmp 0x180063128
xor al, al
movaps xmm6, xmmword [rsp + 0x60]
mov r12, qword [rsp + 0xb0]
mov rdi, qword [rsp + 0xa8]
mov rbx, qword [rsp + 0xb8]
add rsp, 0x70
pop r15
pop r14
pop r13
pop rsi
pop rbp
ret