Function at 0x180083410
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r14
push r15
lea rbp, [rsp - 0x40]
sub rsp, 0x140
xor r15d, r15d
mov ebx, r15d
mov dword [rbp + 0x70], ebx
cmp byte [0x1800c3cfd], r15b
je 0x18008377a
cmp dword [0x1800c3f0c], ebx
jne 0x18008377a
lea rcx, [0x1800c3f0c]
call fcn.180033eb0
mov eax, dword [0x1800c3f0c]
cmp eax, 1
jne 0x180083761
cmp qword [0x180a4e3d8], rbx
je 0x180083751
lea ecx, [rax + 7]
call fcn.180099f80
mov rsi, rax
mov qword [rax], r15
mov rdi, qword [0x180a4e3d8]
mov rdx, rdi
call fcn.180088dd0
test al, al
jne 0x180083751
test rdi, rdi
je 0x180083751
mov qword [rsi], rdi
mov r14d, dword [0x180a4e3e0]
movsxd rdx, dword [0x1800c21b0]
shl rdx, 5
add rdx, qword [0x1800c46a0]
lea rcx, [rbp - 0x60]
call fcn.18000f6a0
mov rdx, rax
lea rcx, [rbp + 0x20]
call fcn.180082b00
nop
cmp qword [rax + 0x18], 0xf
jbe 0x1800834dc
mov rax, qword [rax]
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x38], r15
mov rdi, 0xffffffffffffffff
mov r8, rdi
nop dword [rax + rax]
inc r8
cmp byte [rax + r8], 0
jne 0x180083500
mov rdx, rax
lea rcx, [rsp + 0x20]
call fcn.18000fb90
mov r8d, r14d
mov dl, 1
lea rcx, [rsp + 0x20]
call fcn.180080d00
test al, al
je 0x180083748
mov rcx, qword [rsi]
test rcx, rcx
je 0x180083748
call fcn.180080970
mov rsi, rax
test rax, rax
je 0x180083748
cmp dword [0x180a4e314], 7
jne 0x1800835f3
mov dword [rbp + 0x70], 0x3020601
mov dword [rbp + 0x74], 0x1000107
mov rcx, r15
nop dword [rax]
lea eax, [rcx + 0x30]
xor byte [rbp + rcx + 0x70], al
inc rcx
cmp rcx, 6
jb 0x180083570
mov byte [rbp + 0x77], 0
lea rax, [rbp + 0x70]
nop dword [rax + rax]
inc rdi
cmp byte [rax + rdi], 0
jne 0x180083590
lea rcx, [0x180a4e468]
cmp qword [0x180a4e480], 0xf
cmova rcx, qword [0x180a4e468]
mov r8, qword [0x180a4e478]
cmp r8, rdi
jne 0x1800835f3
lea rdx, [rbp + 0x70]
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x1800835f3
cmp byte [0x180a4e311], 1
jne 0x1800835f3
lea rdx, [0x180a4e488]
lea rcx, [rbp - 0x40]
call fcn.18000f6a0
mov ebx, 1
cmp qword [rax + 0x10], 0
je 0x1800835f3
movzx edi, bl
jmp 0x1800835f6
xor dil, dil
test bl, 1
je 0x180083607
and ebx, 0xfffffffe
lea rcx, [rbp - 0x40]
call fcn.18000f7e0
test dil, dil
je 0x180083748
mov rdx, qword [0x180a4e3d0]
cmp byte [rdx + 0x50], 0
je 0x180083704
lea rax, [rsp + 0x60]
mov qword [rbp + 0x78], rax
add rdx, 0x78
lea rcx, [rsp + 0x60]
call fcn.18000f6a0
or ebx, 0x10
lea rcx, [rbp - 0x80]
call fcn.1800118c0
or ebx, 0x20
or ebx, 2
mov dword [rbp + 0x70], ebx
movdqa xmm0, xmmword [str.SXVZUj_RJJSTR_f_v]
movdqu xmmword [rsp + 0x20], xmm0
mov byte [rsp + 0x30], 1
mov rcx, r15
nop dword [rax]
nop word [rax + rax]
lea eax, [rcx + 0x30]
xor byte [rsp + rcx + 0x20], al
inc rcx
cmp rcx, 0xf
jb 0x180083670
mov byte [rsp + 0x30], 0
lea r8, [rbp - 0x80]
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x20]
call fcn.180017110
nop
lea r9, [rsp + 0x60]
mov r8, rax
lea rdx, [rbp]
call fcn.180011190
mov rdi, rax
or ebx, 4
mov dword [rbp + 0x70], ebx
mov rdx, qword [0x180a4e3d0]
add rdx, 0x58
lea rcx, [rsp + 0x40]
call fcn.18000f6a0
or ebx, 0x48
mov rax, qword [rdi + 0x10]
cmp qword [rdi + 0x18], 0xf
jbe 0x1800836d8
mov rdi, qword [rdi]
lea rcx, [rsp + 0x40]
cmp qword [rsp + 0x58], 0xf
cmova rcx, qword [rsp + 0x40]
mov r8, qword [rsp + 0x50]
cmp r8, rax
jne 0x180083704
mov rdx, rdi
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x180083704
mov dil, 1
jmp 0x180083707
xor dil, dil
test bl, 8
je 0x18008371a
and ebx, 0xfffffff7
lea rcx, [rsp + 0x40]
call fcn.18000f7e0
nop
test bl, 4
je 0x18008372c
and ebx, 0xfffffffb
lea rcx, [rbp]
call fcn.18000f7e0
nop
test bl, 2
je 0x18008373a
lea rcx, [rbp - 0x80]
call fcn.18000f7e0
test dil, dil
je 0x180083748
mov rcx, rsi
call fcn.1800877e0
nop
lea rcx, [rbp + 0x20]
call fcn.18000f7e0
mov dword [0x180a4e3e0], r15d
mov byte [0x1800c3cfd], 0
jmp 0x18008376c
cmp eax, 2
jne 0x18008377a
mov byte [0x1800c3cfd], bl
mov dword [0x1800c3f0c], r15d
mov qword [0x180a4e3d8], r15
mov rbx, qword [rsp + 0x180]
add rsp, 0x140
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret