Function at 0x1800b8470
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x28
movzx r10d, byte [rcx]
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x38], rbp
mov qword [rsp + 0x40], rsi
mov r9d, r10d
mov qword [rsp + 0x48], rdi
dec r9d
mov qword [rsp + 0x20], r12
mov rbp, rdx
mov r12d, r8d
mov rsi, rcx
je 0x1800b854a
sub r9d, 3
je 0x1800b8501
cmp r9d, 4
je 0x1800b8501
mov ebx, dword [reloc.WSOCK32.dll_accept]
mov eax, dword [reloc.WSOCK32.dll_closesocket]
mov ecx, 0x1e
cmp ebx, 1
mov edi, 1
jge 0x1800b84d1
mov ebx, edi
jmp 0x1800b84d6
cmp ebx, ecx
cmovg ebx, ecx
cmp eax, 1
jge 0x1800b84ea
cmp edi, ebx
mov eax, edi
cmovl eax, ebx
cdq
idiv ebx
jmp 0x1800b8589
mov edx, 0x3c
cmp eax, edx
cmovg eax, edx
cmp eax, ebx
cmovl eax, ebx
cdq
idiv ebx
jmp 0x1800b8589
mov ebx, dword [reloc.WSOCK32.dll_accept]
mov eax, dword [reloc.WSOCK32.dll_closesocket]
mov ecx, 0x1e
cmp ebx, 1
mov edi, 1
jge 0x1800b8520
mov ebx, edi
jmp 0x1800b8525
cmp ebx, ecx
cmovg ebx, ecx
cmp eax, 1
jge 0x1800b8536
cmp edi, ebx
mov eax, edi
cmovl eax, ebx
cdq
idiv ebx
jmp 0x1800b8589
mov edx, 0x3c
cmp eax, edx
cmovg eax, edx
cmp eax, ebx
cmovl eax, ebx
cdq
idiv ebx
jmp 0x1800b8589
mov ebx, dword [reloc.WSOCK32.dll_accept]
mov eax, dword [reloc.WSOCK32.dll_closesocket]
mov ecx, 0x1e
cmp ebx, 1
mov edi, 1
jge 0x1800b8569
mov ebx, edi
jmp 0x1800b856e
cmp ebx, ecx
cmovg ebx, ecx
cmp eax, 1
jge 0x1800b8577
mov eax, edi
jmp 0x1800b8581
mov edx, 0x3c
cmp eax, edx
cmovg eax, edx
cmp eax, ebx
cmovl eax, ebx
cdq
idiv ebx
cmp eax, 1
jl 0x1800b8596
mov edi, eax
cmp eax, 0x1e
cmovg edi, ecx
cmp r10b, 8
je 0x1800b85ad
mov dword [0x18022f414], 0xf
xor eax, eax
jmp 0x1800b896c
lea rcx, [0x18022e470]
mov r9d, ebx
mov r8, rbp
mov dx, 0x3e8
call fcn.1800b7d30
test r12d, r12d
mov r11d, eax
je 0x1800b85fd
test edi, edi
jle 0x1800b85fd
nop
test r11d, r11d
jne 0x1800b85f8
xor edx, edx
mov rcx, rsi
call fcn.1800b82b0
lea rcx, [0x18022e470]
mov r9d, ebx
mov r8, rbp
mov dx, 0x3e8
call fcn.1800b7d30
mov r11d, eax
dec rdi
jne 0x1800b85d0
test r11d, r11d
je 0x1800b895f
cmp r11d, 0x3e
je 0x1800b8862
cmp r11d, 0x46
jne 0x1800b8969
mov rax, qword [0x18022e470]
lea r10, [0x180000000]
mov edx, 4
mov qword [0x18022f340], rax
mov rax, qword [0x18022e478]
mov qword [0x18022f348], rax
mov rax, qword [0x18022e480]
mov qword [0x18022f350], rax
mov rax, qword [0x18022e488]
mov qword [0x18022f358], rax
mov rax, qword [0x18022e490]
mov qword [0x18022f360], rax
mov rax, qword [0x18022e498]
mov qword [0x18022f368], rax
mov rax, qword [0x18022e4a0]
mov qword [0x18022f370], rax
mov rax, qword [0x18022e4a8]
mov qword [0x18022f378], rax
mov eax, dword [0x18022e4b0]
mov dword [0x18022f380], eax
movzx eax, word [0x18022e4b4]
mov word [0x18022f384], ax
movzx eax, byte [0x18022f342]
movzx r8d, byte [rax + r10 + 0x14f150]
lea r9d, [r8 + 2]
movzx ecx, r8b
add rdx, 6
add r8d, 6
movzx eax, byte [rcx + r10 + 0x14f150]
xor byte [rdx + r10 + 0x22f33a], al
lea eax, [r9 - 1]
movzx ecx, al
movzx eax, byte [rcx + r10 + 0x14f150]
xor byte [rdx + r10 + 0x22f33b], al
movzx eax, r9b
movzx eax, byte [rax + r10 + 0x14f150]
xor byte [rdx + r10 + 0x22f33c], al
lea eax, [r9 + 1]
movzx ecx, al
movzx eax, byte [rcx + r10 + 0x14f150]
xor byte [rdx + r10 + 0x22f33d], al
lea eax, [r9 + 2]
movzx ecx, al
movzx eax, byte [rcx + r10 + 0x14f150]
xor byte [rdx + r10 + 0x22f33e], al
lea eax, [r9 + 3]
add r9d, 6
movzx ecx, al
movzx eax, byte [rcx + r10 + 0x14f150]
xor byte [rdx + r10 + 0x22f33f], al
cmp rdx, 0x46
jl 0x1800b86c4
mov rax, qword [0x18022f348]
lea rbx, [0x18022eaf9]
mov qword [0x18022eaf8], rax
mov rax, qword [0x18022f350]
movzx edx, byte [0x18022eaf8]
mov qword [0x18022eb00], rax
mov rax, qword [0x18022f358]
mov rcx, rbx
mov qword [0x18022eb08], rax
mov rax, qword [0x18022f360]
mov qword [0x18022eb10], rax
mov rax, qword [0x18022f368]
mov qword [0x18022eb18], rax
mov rax, qword [0x18022f370]
mov qword [0x18022eb20], rax
mov rax, qword [0x18022f378]
mov qword [0x18022eb28], rax
mov eax, dword [0x18022f380]
mov dword [0x18022eb30], eax
movzx eax, word [0x18022f384]
mov word [0x18022eb34], ax
mov eax, 0x3d
xor byte [rcx], dl
inc rcx
dec rax
jne 0x1800b87f6
and dl, 0xf
movzx r10d, dl
nop
nop
nop
xor dl, dl
mov r9w, 0x3d
mov r8, rbx
nop
nop
movzx ecx, byte [r8]
movzx eax, dl
inc r8
movzx edx, cl
shr cl, 1
shl al, 7
or cl, al
and dl, 1
add r9w, 0xffff
mov byte [r8 - 1], cl
jne 0x1800b8820
test dl, dl
je 0x1800b884e
or byte [0x18022eaf9], 0x80
movzx eax, r10w
add r10w, 0xffff
test ax, ax
jne 0x1800b8810
jmp 0x1800b8969
mov rax, qword [0x18022e470]
lea rbx, [0x18022eaf9]
mov qword [0x18022eaf8], rax
mov rax, qword [0x18022e478]
movzx edx, byte [0x18022eaf8]
mov qword [0x18022eb00], rax
mov rax, qword [0x18022e480]
mov rcx, rbx
mov qword [0x18022eb08], rax
mov rax, qword [0x18022e488]
mov qword [0x18022eb10], rax
mov rax, qword [0x18022e490]
mov qword [0x18022eb18], rax
mov rax, qword [0x18022e498]
mov qword [0x18022eb20], rax
mov rax, qword [0x18022e4a0]
mov qword [0x18022eb28], rax
mov eax, dword [0x18022e4a8]
mov dword [0x18022eb30], eax
movzx eax, word [0x18022e4ac]
mov word [0x18022eb34], ax
mov eax, 0x3d
xor byte [rcx], dl
inc rcx
dec rax
jne 0x1800b88f4
and dl, 0xf
movzx r10d, dl
nop
nop
nop
xor dl, dl
mov r9w, 0x3d
mov r8, rbx
nop
nop
movzx ecx, byte [r8]
movzx eax, dl
inc r8
movzx edx, cl
shr cl, 1
shl al, 7
or cl, al
and dl, 1
add r9w, 0xffff
mov byte [r8 - 1], cl
jne 0x1800b8920
test dl, dl
je 0x1800b894e
or byte [0x18022eaf9], 0x80
movzx eax, r10w
add r10w, 0xffff
test ax, ax
jne 0x1800b8910
jmp 0x1800b8969
mov dword [0x18022f414], 0xf
mov eax, r11d
mov r12, qword [rsp + 0x20]
mov rdi, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x30]
add rsp, 0x28
ret