Function at 0x1800b8ab0
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x78
mov qword [rsp + 0x70], rbx
xor eax, eax
mov qword [rsp + 0x68], rbp
cmp dword [0x180230554], eax
mov qword [rsp + 0x60], rsi
mov qword [rsp + 0x58], rdi
movzx edi, r9w
movzx esi, r8w
movzx ebp, dx
mov rbx, rcx
mov byte [rsp + 0x30], 0
mov byte [rsp + 0x31], 0
mov qword [rsp + 0x32], rax
mov byte [rsp + 0x3a], al
mov word [rsp + 0x3b], ax
jne 0x1800b8b0b
mov word [0x18022f3dc], 0x81
mov eax, 0x81
jmp 0x1800b8f5c
lea rcx, [0x18022e8a0]
xor edx, edx
mov r8d, 0xa5
mov qword [rsp + 0x48], r13
call fcn.18000abd0
mov eax, dword [0x18014ed00]
mov edx, dword [0x18022f408]
xor r13d, r13d
add eax, 0x11
movzx ecx, al
movzx eax, byte [rsp + 0xa0]
mov dword [0x18022e8e5], edx
xor dl, cl
mov dword [0x18014ed00], ecx
lea r8d, [r13 + 0x30]
mov byte [0x18022e8a0], dl
lea rcx, [0x18022e8ad]
lea rdx, [0x1802304f0]
mov qword [0x18022eaf8], r13
mov qword [0x18022eb00], r13
mov qword [0x18022eb08], r13
mov qword [0x18022eb10], r13
mov qword [0x18022eb18], r13
mov qword [0x18022eb20], r13
mov qword [0x18022eb28], r13
mov dword [0x18022eb30], r13d
mov word [0x18022eb34], r13w
mov byte [0x18022eaf9], 8
mov byte [0x18022e8a1], 0x60
mov word [0x18022e8e3], 0x206c
mov word [0x18022e8dd], 0x2454
mov word [0x18022e8a2], bp
mov word [0x18022e8a4], si
mov word [0x18022e8a6], di
mov byte [0x18022e8a8], al
mov word [0x18022e928], 0x1bbc
call fcn.180005f30
mov rax, qword [rbx]
lea r11, [rsp + 0x20]
mov qword [r11], rax
mov eax, dword [rbx + 8]
mov dword [r11 + 8], eax
movzx eax, byte [rbx + 0xc]
mov byte [r11 + 0xc], al
movzx r9d, byte [rsp + 0x20]
mov ecx, r9d
dec ecx
je 0x1800b8cc9
sub ecx, 3
je 0x1800b8c79
cmp ecx, 4
je 0x1800b8c79
mov ecx, dword [reloc.WSOCK32.dll_accept]
mov eax, dword [reloc.WSOCK32.dll_closesocket]
lea r8d, [r13 + 0x1e]
cmp ecx, 1
jge 0x1800b8c40
lea ecx, [r13 + 1]
jmp 0x1800b8c47
cmp ecx, r8d
cmovg ecx, r8d
cmp eax, 1
jge 0x1800b8c60
mov eax, 1
cmp eax, ecx
cmovl eax, ecx
cdq
idiv ecx
mov ebx, eax
jmp 0x1800b8d0d
mov edx, 0x3c
cmp eax, edx
cmovg eax, edx
cmp eax, ecx
cmovl eax, ecx
cdq
idiv ecx
mov ebx, eax
jmp 0x1800b8d0d
mov ecx, dword [reloc.WSOCK32.dll_accept]
mov eax, dword [reloc.WSOCK32.dll_closesocket]
mov r8d, 0x1e
cmp ecx, 1
jge 0x1800b8c96
lea ecx, [r8 - 0x1d]
jmp 0x1800b8c9d
cmp ecx, r8d
cmovg ecx, r8d
cmp eax, 1
jge 0x1800b8cb3
mov eax, 1
cmp eax, ecx
cmovl eax, ecx
cdq
idiv ecx
mov ebx, eax
jmp 0x1800b8d0d
mov edx, 0x3c
cmp eax, edx
cmovg eax, edx
cmp eax, ecx
cmovl eax, ecx
cdq
idiv ecx
mov ebx, eax
jmp 0x1800b8d0d
mov ecx, dword [reloc.WSOCK32.dll_accept]
mov eax, dword [reloc.WSOCK32.dll_closesocket]
mov r8d, 0x1e
cmp ecx, 1
jge 0x1800b8ce6
lea ecx, [r8 - 0x1d]
jmp 0x1800b8ced
cmp ecx, r8d
cmovg ecx, r8d
cmp eax, 1
jge 0x1800b8cf9
mov eax, 1
jmp 0x1800b8d03
mov edx, 0x3c
cmp eax, edx
cmovg eax, edx
cmp eax, ecx
cmovl eax, ecx
cdq
idiv ecx
mov ebx, eax
cmp ebx, 1
jge 0x1800b8d19
mov ebx, 1
jmp 0x1800b8d20
cmp ebx, 0x1e
cmovg ebx, r8d
inc ebx
mov qword [rsp + 0x50], r12
mov edi, r13d
je 0x1800b8f20
lea rbp, [0x180000000]
lea rsi, [0x18022ea7c]
lea r12, [0x18022e9d9]
test edi, edi
jne 0x1800b8f2e
inc word [0x18014ed04]
cmp r9b, 8
lea rcx, [rsp + 0x20]
mov rax, qword [rcx]
mov qword [rbp + 0x22f3f8], rax
mov eax, dword [rcx + 8]
mov dword [rbp + 0x22f400], eax
movzx eax, byte [rcx + 0xc]
mov byte [rbp + 0x22f404], al
jne 0x1800b8f0b
movzx ecx, word [0x18022f3c8]
call qword [0x18022eaa8]
mov word [0x18022e8df], ax
call fcn.1800b7c00
movzx r11d, byte [0x18022e8a1]
cmp r11b, 0x31
je 0x1800b8ea2
cmp r11b, 0x62
je 0x1800b8ea2
cmp r11b, 0x60
je 0x1800b8ea2
lea rcx, [0x18022e9d0]
xor edx, edx
mov r8d, 0xad
call fcn.18000abd0
movzx eax, word [0x18014ed04]
lea rdx, [0x18022e8a0]
lea rcx, [0x18022e9d8]
mov r8d, 0xa5
mov word [0x18022e9d2], ax
mov word [0x18022e9d0], 0x2309
mov word [0x18022e9d4], 0x12c
mov word [0x18022e9d6], 0xa5
call fcn.180005f30
movzx r11d, byte [0x18022e8a0]
movzx eax, r11b
and al, 0xf
movzx r10d, al
nop
nop
nop
xor r8b, r8b
mov r9w, 0xa4
mov rdx, rsi
nop
nop
movzx ecx, byte [rdx]
movzx eax, r8b
dec rdx
movzx r8d, cl
add cl, cl
or cl, al
shr r8b, 7
add r9w, 0xffff
mov byte [rdx + 1], cl
jne 0x1800b8e40
test r8b, r8b
je 0x1800b8e6d
or byte [0x18022ea7c], 1
movzx eax, r10w
add r10w, 0xffff
test ax, ax
jne 0x1800b8e30
mov rax, r12
mov ecx, 0xa4
xor byte [rax], r11b
inc rax
dec rcx
jne 0x1800b8e84
lea rdx, [0x18022e9d0]
lea rcx, [rsp + 0x20]
call fcn.1800b8030
jmp 0x1800b8eac
lea rcx, [rsp + 0x20]
call fcn.1800b7ec0
mov dword [0x18022f414], r13d
mov eax, 1
test eax, eax
je 0x1800b8efc
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x20]
xor r8d, r8d
call fcn.1800b8470
cmp eax, 0x3e
je 0x1800b8ed8
cmp eax, 0x46
jne 0x1800b8eb8
cmp word [0x18022f3dc], r13w
movzx edx, byte [0x18022eaf9]
jne 0x1800b8ef3
movzx ecx, dl
mov word [0x18022f3dc], cx
test dl, dl
jne 0x1800b8eb8
mov edi, 1
dec ebx
je 0x1800b8f1c
movzx r9d, byte [rsp + 0x20]
jmp 0x1800b8d45
mov dword [0x18022f414], 0xa
mov eax, 0xfffffef1
jmp 0x1800b8f52
test edi, edi
jne 0x1800b8f2e
mov byte [0x18022eaf9], 0x81
mov eax, 0x81
jmp 0x1800b8f52
lea rcx, [rsp + 0x30]
mov rax, qword [rcx]
mov qword [rbp + 0x22f3e8], rax
mov eax, dword [rcx + 8]
mov dword [rbp + 0x22f3f0], eax
movzx eax, byte [rcx + 0xc]
mov byte [rbp + 0x22f3f4], al
xor eax, eax
mov r12, qword [rsp + 0x50]
mov r13, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x68]
mov rbx, qword [rsp + 0x70]
add rsp, 0x78
ret