Function at 0x18009bb90
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
mov dword [rsp + 0x18], r8d
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
imul eax, r8d, 0x96
mov r14, r9
mov r15, rdx
mov ebp, r8d
mov dword [rsp + 0x20], eax
cmp r8d, eax
ja 0x18009be1f
mov edi, dword [rsp + 0x80]
lea rbx, [0x1800e2280]
mov r13, qword [rsp + 0x28]
lea r9, [0x1800c6fb0]
mov r12, qword [rsp + 0x28]
mov esi, dword [rsp + 0x80]
cmp ebp, 0x7e0
ja 0x18009bd2b
je 0x18009bde7
mov eax, ebp
sub eax, 0x6f
je 0x18009bcd0
sub eax, 0xf
je 0x18009bc9d
sub eax, 0xd
je 0x18009bc52
sub eax, 0x7b
je 0x18009bc49
cmp eax, 0x5ea
jne 0x18009bdcd
test r12, r12
je 0x18009bc36
mov byte [r12], 0
xor eax, eax
test r12, r12
cmovne rax, rbx
mov qword [rsp + 0x28], rax
jmp 0x18009bdcd
xor edi, edi
xor esi, esi
jmp 0x18009bdcd
mov eax, dword [r15]
mov r8, rcx
test eax, eax
je 0x18009bc8c
nop dword [rax]
dec dword [r15]
movzx eax, byte [r8]
lea r8, [r8 + 1]
mov edx, dword [r14]
xor rax, rdx
movzx eax, al
shr edx, 8
movzx ecx, word [r9 + rax*2]
movzx eax, dl
xor ecx, eax
mov dword [r14], ecx
cmp dword [r15], 0
jne 0x18009bc60
xor eax, eax
dec eax
mov dword [r15], eax
mov eax, dword [r14]
mov dword [rsp + 0x28], eax
jmp 0x18009bdcd
mov edx, dword [rcx]
test edx, edx
jne 0x18009bcb1
mov rax, qword [r14]
mov ecx, dword [rax + 0x18]
movsxd r13, ecx
jmp 0x18009bdcd
jle 0x18009bcc4
mov rax, qword [r14]
mov ecx, dword [rax + 0x18]
imul ecx, edx
movsxd r13, ecx
jmp 0x18009bdcd
mov ecx, edx
neg ecx
movsxd r13, ecx
jmp 0x18009bdcd
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rdx, rax
mov rcx, r14
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fputs]
xor ecx, ecx
mov byte [0x1800e2280], 0
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov edx, 0x3ff
mov rcx, rbx
mov r8, rax
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fgets]
mov r12, rax
test rax, rax
je 0x18009bd1f
mov edx, 0xa
mov rcx, rax
call sub.VCRUNTIME140.dll_strchr
mov r12, rax
lea r9, [0x1800c6fb0]
jmp 0x18009bdcd
cmp ebp, 0x8b0
je 0x18009be1f
cmp ebp, 0xd71
je 0x18009be1f
cmp ebp, 0x1060
je 0x18009bd5a
cmp ebp, 0x1fba
jne 0x18009bdcd
mov ecx, 0x44
jmp 0x18009bd78
movzx eax, byte [r14]
mov rbx, r14
test al, al
je 0x18009bdc6
cmp al, 0x2e
jne 0x18009bd9b
mov eax, esi
inc esi
test eax, eax
je 0x18009bdb4
mov ecx, 0x44
inc ecx
cmp ecx, 0x47
jae 0x18009be1f
mov eax, ecx
sub eax, 0x44
je 0x18009bd71
sub eax, 1
je 0x18009be50
cmp eax, 1
jne 0x18009bd76
jmp 0x18009be1f
movsx ecx, al
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isdigit]
test eax, eax
je 0x18009bd71
movsx eax, byte [rbx]
lea edi, [rdi + rdi*4]
lea edi, [rdi - 0x18]
lea edi, [rax + rdi*2]
movzx eax, byte [rbx + 1]
inc rbx
test al, al
jne 0x18009bd65
lea r9, [0x1800c6fb0]
lea rbx, [0x1800e2280]
imul eax, dword [rsp + 0x80], 0xf
add ebp, eax
cmp ebp, dword [rsp + 0x20]
ja 0x18009be1f
mov rcx, qword [rsp + 0x70]
jmp 0x18009bbf1
mov rax, qword [r14]
mov rdx, r15
mov dword [rsp + 0x80], r13d
mov ecx, dword [rax + 0x80]
test ecx, ecx
je 0x18009be39
mov dword [rsp + 0x20], ecx
lea r8, [rsp + 0x80]
lea rcx, [rsp + 0x20]
mov r9d, 0x48
call fcn.1800b0880
mov dword [rsp + 0x28], eax
mov rax, qword [rsp + 0x28]
mov rbx, qword [rsp + 0x78]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
lea r9, [rsp + 0x80]
mov r8d, 0x28
xor ecx, ecx
call fcn.1800a5750
jmp 0x18009be1b
mov dword [rsp + 0x28], edi
jmp 0x18009bd76