Function at 0x180085f30
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x110
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
movaps xmmword [rax - 0x68], xmm8
mov rax, qword [0x1800dbea8]
xor rax, rsp
mov qword [rsp + 0xd0], rax
mov rdi, qword [rsp + 0x170]
lea ebx, [rcx - 9]
mov rsi, qword [rsp + 0x178]
mov rbp, r9
mov dword [rsp + 0x30], ebx
mov r12, r8
mov r15, rdx
mov r13d, ecx
cmp ecx, ebx
jbe 0x180086357
movsd xmm7, qword [0x1800d3f18]
lea r14d, [rcx - 0x105]
movsd xmm6, qword [rsp + 0x48]
lea r11, [0x180000000]
mov ebx, dword [rsp + 0x38]
xorps xmm8, xmm8
mov eax, dword [rsp + 0x30]
nop dword [rax + rax]
cmp r14d, 0x1b
ja case.default.0x180085fde
movzx eax, byte [r11 + r14 + 0x863c0]
mov ecx, dword [r11 + rax*4 + 0x86398]
add rcx, r11
jmp rcx
mov r9d, 0x80
nop word [rax + rax]
mov eax, ebx
lea r10d, [r9 + r9]
and al, 1
neg al
mov eax, ebx
sbb ecx, ecx
shr eax, 1
and ecx, 0x82f63b78
mov ebx, ecx
xor ebx, eax
xor r8d, r8d
nop dword [rax]
mov edx, dword [r11 + r8*4 + 0xdd560]
lea eax, [r8 + r9]
xor edx, ebx
add r8d, r10d
mov dword [r11 + rax*4 + 0xdd560], edx
cmp r8d, 0x100
jb 0x180086010
shr r9d, 1
jne 0x180085ff0
jmp case.0x180085fde.9
lea r9, [0x1800ddd60]
mov r10d, 0x100
nop dword [rax]
mov edx, dword [r9 - 0x800]
lea r9, [r9 + 4]
movzx ecx, dl
shr edx, 8
mov r8d, dword [r11 + rcx*4 + 0xdd560]
xor r8d, edx
mov dword [r9 - 0x404], r8d
movzx ecx, r8b
shr r8d, 8
mov edx, dword [r11 + rcx*4 + 0xdd560]
xor edx, r8d
mov dword [r9 - 4], edx
movzx ecx, dl
shr edx, 8
mov r8d, dword [r11 + rcx*4 + 0xdd560]
xor r8d, edx
mov dword [r9 + 0x3fc], r8d
movzx ecx, r8b
shr r8d, 8
mov edx, dword [r11 + rcx*4 + 0xdd560]
xor edx, r8d
mov dword [r9 + 0x7fc], edx
movzx ecx, dl
shr edx, 8
mov r8d, dword [r11 + rcx*4 + 0xdd560]
xor r8d, edx
mov dword [r9 + 0xbfc], r8d
movzx ecx, r8b
shr r8d, 8
mov edx, dword [r11 + rcx*4 + 0xdd560]
xor edx, r8d
mov dword [r9 + 0xffc], edx
movzx ecx, dl
shr edx, 8
mov ebx, dword [r11 + rcx*4 + 0xdd560]
xor ebx, edx
mov dword [r9 + 0x13fc], ebx
sub r10, 1
jne 0x180086050
jmp case.0x180085fde.9
mov ebx, 1
mov dword [0x1800dd560], 0
jmp case.0x180085fde.9
mov rax, qword [rdi]
test rax, rax
je case.0x180085fde.9
cmp dword [rax], 0x7f2bb701
je case.0x180085fde.9
mov dword [rsp + 0x38], 0x7f2bb701
jmp 0x180086357
cmp qword [r15], 0
jne 0x180086189
lea rax, [rsp + 0x38]
mov qword [rsp + 0x28], 0
xor r9d, r9d
mov qword [rsp + 0x20], rax
xor edx, edx
mov dword [rsp + 0x38], 0xa
mov r8d, 0x8b
mov rcx, r15
call fcn.180080210
test eax, eax
jne 0x1800862f7
mov rcx, rsi
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_feof]
test eax, eax
jne 0x1800862db
nop word [rax + rax]
mov r8, rsi
lea rcx, [rsp + 0x50]
mov edx, 0x80
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fgets]
test rax, rax
je 0x180086321
lea r8, [rsp + 0x40]
lea rdx, [0x1800d13bc]
lea rcx, [rsp + 0x50]
call fcn.1800c0480
test eax, eax
jle 0x18008623d
mov rax, qword [rdi]
mov edx, dword [rsp + 0x40]
test rax, rax
je 0x180086215
mov r8, qword [rax + 0x20]
cmp edx, dword [r8 + 0x14]
jb 0x180086201
mov edx, 0x95
xor ecx, ecx
call fcn.180050d70
mov edx, dword [rsp + 0x40]
cmp rdx, rax
jb 0x180086215
test rbp, rbp
je 0x18008623d
mov rcx, qword [rdi]
lea r8, [rsp + 0x50]
mov r9, r12
call rbp
jmp 0x18008623d
mov rax, qword [r15]
lea r8, [rsp + 0x48]
mov dword [rsp + 0x38], edx
lea rcx, [rsp + 0x38]
mov edx, 0x19
mov qword [rsp + 0x48], rax
call fcn.1800684a0
test eax, eax
jne 0x1800862f7
mov rcx, rsi
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_feof]
test eax, eax
je 0x1800861a0
jmp 0x1800862db
test rdi, rdi
je 0x1800862fd
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atoi]
mov edx, 0x2e
mov rcx, rdi
movd xmm6, eax
cvtdq2pd xmm6, xmm6
call sub.VCRUNTIME140.dll_strchr
test rax, rax
je 0x1800862db
mov edx, 0x2e
mov rcx, rdi
call sub.VCRUNTIME140.dll_strchr
movzx edx, byte [rax + 1]
movaps xmm1, xmm7
lea r8, [rax + 1]
test dl, dl
je 0x1800862db
nop dword [rax + rax]
lea ecx, [rdx - 0x30]
cmp cl, 9
ja 0x1800862db
movsx eax, dl
sub eax, 0x30
comisd xmm6, xmm8
movd xmm0, eax
cvtdq2pd xmm0, xmm0
divsd xmm0, xmm1
jb 0x1800862c7
addsd xmm6, xmm0
jmp 0x1800862cb
subsd xmm6, xmm0
movzx edx, byte [r8 + 1]
inc r8
mulsd xmm1, xmm7
test dl, dl
jne 0x1800862a0
lea r11, [0x180000000]
mov eax, dword [rsp + 0x30]
dec r13d
dec r14d
cmp r13d, eax
ja 0x180085fc0
jmp 0x180086357
mov dword [rsp + 0x38], eax
jmp 0x180086357
movsd qword [rsp + 0x38], xmm8
jmp 0x180086357
mov dword [rsp + 0x38], 0
jmp 0x180086357
mov eax, 0x27
cmp eax, 0x1b9
jae case.0x180085fde.4
cmp eax, 0x27
jne 0x18008632d
mov eax, 0x27
add eax, 0x86
jmp 0x180086315
cmp eax, 0xad
je 0x180086342
cmp eax, 0x133
je 0x180086357
add eax, 0x86
jmp 0x180086315
mov dword [rsp + 0x38], 0
add eax, 0x86
jmp 0x180086315
movsd qword [rsp + 0x38], xmm6
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0xd0]
xor rcx, rsp
call fcn.1800c0ae0
lea r11, [rsp + 0x110]
mov rbx, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret