Function at 0x1800bc040
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x37]
sub rsp, 0x100
mov rax, qword [0x180230100]
xor rax, rsp
mov qword [rbp + 0x27], rax
mov r14, rcx
xor edi, edi
mov dword [rsp + 0x30], edi
mov r13, rdx
cmp qword [rdx + 0x18], 7
jbe 0x1800bc088
mov r13, qword [rdx]
mov r12, qword [rdx + 0x10]
call fcn.1800cfbf8
mov dword [rbp - 0x59], eax
xorps xmm0, xmm0
movups xmmword [rsp + 0x38], xmm0
mov qword [rsp + 0x48], rdi
mov qword [rbp - 0x79], reloc.WS2_32.dll_ntohs
mov byte [rsp + 0x38], 0
mov dword [rsp + 0x30], 8
test r12, r12
je 0x1800bc1a3
cmp r12, 0x7fffffff
ja 0x1800bc4c9
mov dword [rsp + 0x20], edi
xor r9d, r9d
mov r8d, r12d
mov rdx, r13
mov ecx, eax
call fcn.1800cfc68
mov rsi, rax
shr rax, 0x20
test eax, eax
jne 0x1800bc4d4
movsxd rcx, esi
mov rdx, qword [rsp + 0x48]
cmp rcx, rdx
ja 0x1800bc117
mov qword [rsp + 0x48], rcx
lea rax, [rsp + 0x38]
cmp qword [rbp - 0x79], 0xf
cmova rax, qword [rsp + 0x38]
mov byte [rax + rcx], 0
jmp 0x1800bc172
mov r15, rcx
sub r15, rdx
mov r8, qword [rbp - 0x79]
mov rax, r8
sub rax, rdx
cmp r15, rax
ja 0x1800bc157
mov qword [rsp + 0x48], rcx
lea rbx, [rsp + 0x38]
cmp r8, 0xf
cmova rbx, qword [rsp + 0x38]
add rbx, rdx
mov r8, r15
xor edx, edx
mov rcx, rbx
call sub.VCRUNTIME140.dll_memset
mov byte [rbx + r15], 0
jmp 0x1800bc172
mov byte [rsp + 0x20], 0
mov r9, r15
movzx r8d, byte [rsp + 0x34]
mov rdx, r15
lea rcx, [rsp + 0x38]
call fcn.18000dfc0
lea r9, [rsp + 0x38]
cmp qword [rbp - 0x79], 0xf
cmova r9, qword [rsp + 0x38]
mov dword [rsp + 0x20], esi
mov r8d, r12d
mov rdx, r13
mov ecx, dword [rbp - 0x59]
call fcn.1800cfc68
mov rcx, rax
shr rax, 0x20
test eax, eax
jne 0x1800bc4bf
lea rdx, [rsp + 0x38]
lea rcx, [rbp - 0x49]
call fcn.18000a2f0
lea rbx, [rbp - 0x49]
mov rcx, qword [rbp - 0x49]
mov rdx, qword [rbp - 0x31]
cmp rdx, 0xf
cmova rbx, rcx
lea rsi, [rbp - 0x49]
cmova rsi, rcx
mov r8, qword [rbp - 0x39]
add rsi, r8
cmp rbx, rsi
je 0x1800bc1ff
nop dword [rax]
movsx ecx, byte [rbx]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_tolower]
mov byte [rbx], al
inc rbx
cmp rbx, rsi
jne 0x1800bc1e0
mov rdx, qword [rbp - 0x31]
mov r8, qword [rbp - 0x39]
mov rcx, qword [rbp - 0x49]
lea rax, [rbp - 0x49]
cmp rdx, 0xf
cmova rax, rcx
mov qword [rbp - 0x59], rax
mov qword [rbp - 0x51], r8
xor r8d, r8d
lea rdx, [rbp - 0x59]
lea rcx, [rbp + 7]
call fcn.18001ed80
mov r15d, gethostname
mov rdx, qword [rbp - 0x31]
cmp rdx, 0xf
jbe 0x1800bc267
inc rdx
mov rcx, qword [rbp - 0x49]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800bc262
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1800bc262
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1800d084c
movdqa xmm0, xmmword [0x180212870]
movdqu xmmword [rbp - 0x39], xmm0
mov byte [rbp - 0x49], 0
mov rdx, qword [rbp - 0x79]
cmp rdx, 0xf
jbe 0x1800bc2b7
inc rdx
mov rcx, qword [rsp + 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800bc2b2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1800bc2b2
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1800d084c
mov qword [rsp + 0x48], rdi
mov qword [rbp - 0x79], reloc.WS2_32.dll_ntohs
mov byte [rsp + 0x38], 0
mov rcx, qword [r14 + 0x78]
mov rax, qword [r14 + 0x80]
cmp rcx, rax
je 0x1800bc484
sub rax, rcx
sar rax, 5
movsxd r8, dword [r14 + 0x90]
mov rdx, r8
cmp r8, rax
jae 0x1800bc484
cmp byte [r14 + 0x94], 0
je 0x1800bc3bb
test r8d, r8d
jne 0x1800bc3bb
mov esi, 1
cmp rax, rsi
jbe 0x1800bc3b4
mov edi, reloc.WLDAP32.dll_Ordinal_32
lea rax, [rdi + rcx]
mov rcx, qword [rax + 0x10]
cmp qword [rax + 0x18], 0xf
jbe 0x1800bc333
mov rax, qword [rax]
mov qword [rbp - 9], rax
mov qword [rbp - 1], rcx
xor r8d, r8d
lea rdx, [rbp - 9]
lea rcx, [rbp - 0x29]
call fcn.18001ed80
or r15d, 0x40
lea rax, [rbp - 0x29]
cmp qword [rbp - 0x11], 7
cmova rax, qword [rbp - 0x29]
mov qword [rbp - 0x69], rax
mov rax, qword [rbp - 0x19]
mov qword [rbp - 0x61], rax
movaps xmm0, xmmword [rbp - 0x69]
movdqa xmmword [rbp - 0x59], xmm0
lea rdx, [rbp - 0x59]
lea rcx, [rbp + 7]
call fcn.1800c6300
mov ebx, eax
lea rcx, [rbp - 0x29]
call fcn.18001c120
test ebx, ebx
je 0x1800bc484
inc rsi
add rdi, 0x20
mov rcx, qword [r14 + 0x78]
mov rax, qword [r14 + 0x80]
sub rax, rcx
sar rax, 5
cmp rsi, rax
jb 0x1800bc321
xor bl, bl
jmp 0x1800bc486
shl rdx, 5
lea rbx, [rdx + rcx]
mov rdx, rbx
cmp qword [rbx + 0x18], 0xf
jbe 0x1800bc3d0
mov rdx, qword [rbx]
mov rcx, qword [rbx + 0x10]
mov dword [rsp + 0x30], 0x100bcbb
nop dword [rax]
lea eax, [rdi - 0x6b]
xor byte [rsp + rdi + 0x30], al
inc rdi
cmp rdi, 2
jb 0x1800bc3e0
mov byte [rsp + 0x33], 0
lea rax, [rsp + 0x30]
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], 0
jne 0x1800bc401
cmp r8, rcx
jne 0x1800bc41e
lea rcx, [rsp + 0x30]
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x1800bc484
mov rax, qword [rbx + 0x10]
cmp qword [rbx + 0x18], 0xf
jbe 0x1800bc42c
mov rbx, qword [rbx]
mov qword [rbp - 0x69], rbx
mov qword [rbp - 0x61], rax
xor r8d, r8d
lea rdx, [rbp - 0x69]
lea rcx, [rbp - 0x29]
call fcn.18001ed80
lea rax, [rbp - 0x29]
cmp qword [rbp - 0x11], 7
cmova rax, qword [rbp - 0x29]
mov qword [rbp - 0x69], rax
mov rax, qword [rbp - 0x19]
mov qword [rbp - 0x61], rax
movaps xmm0, xmmword [rbp - 0x69]
movdqa xmmword [rbp - 0x69], xmm0
lea rdx, [rbp - 0x69]
lea rcx, [rbp + 7]
call fcn.1800c6300
test eax, eax
sete bl
lea rcx, [rbp - 0x29]
call fcn.18001c120
jmp 0x1800bc486
mov bl, 1
lea rcx, [rbp + 7]
call fcn.18001c120
movzx eax, bl
mov rcx, qword [rbp + 0x27]
xor rcx, rsp
call fcn.1800d08e0
lea r11, [rsp + 0x100]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
shr rcx, 0x20
call fcn.1800323e0
int3
mov ecx, reloc.WLDAP32.dll_Ordinal_22
call fcn.1800323a0
int3
shr rsi, 0x20
mov ecx, esi
call fcn.1800323e0
int3