Function at 0x1801b9ab0
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xd8
mov rax, qword [0x1802edb40]
xor rax, rsp
mov qword [rsp + 0xc0], rax
mov r15, r9
mov rbp, r8
mov rsi, rdx
mov r14, rcx
mov rax, qword [rcx]
call qword [rax + 0xf8]
lea r12, [rax + 8]
mov rdi, qword [rax]
mov r9, r15
mov r8, rbp
mov rdx, rsi
mov rcx, rax
call qword [rdi + Ordinal_50]
mov rax, qword [r12]
mov rcx, r12
call qword [rax + Ordinal_41]
mov edi, eax
mov rdx, qword [r12]
mov rcx, r12
call qword [rdx + Ordinal_41]
cmp eax, 0x10
jne 0x1801ba355
cmp byte [0x1802f8230], 0
jne 0x1801b9b2e
call fcn.1801c7180
mov rax, qword [r15]
mov r10, qword [rax + 8]
mov ebx, 0x10000
lea r9, [rsp + 0x20]
lea r8, vtable.type_info.0
lea rdx, str.TableSize
mov rcx, r15
cmp byte [0x1802f8237], 0
je 0x1801b9b65
call r10
lea ecx, [rdi*8]
jmp 0x1801b9b91
call r10
test al, al
je 0x1801b9b7a
mov ecx, 0x800
cmp dword [rsp + 0x20], ebx
cmovge ecx, ebx
jmp 0x1801b9b91
mov rax, qword [r14]
mov rcx, r14
call qword [rax + 0x100]
mov ecx, 0x800
cmp eax, 1
cmove ecx, ebx
mov dword [rsp + 0x20], ecx
lea eax, [rcx + rdi*2]
add edi, eax
mov esi, edi
mov rbx, qword [r14 + 0x30]
mov r15, qword [r14 + 0x28]
xor ebp, ebp
mov qword [rsp + 0x30], rbp
cmp r15, rsi
je 0x1801b9bf7
test edi, edi
je 0x1801b9bbe
mov ecx, esi
call fcn.1801b7670
mov rbp, rax
mov r8, r15
cmp rsi, r15
cmovb r8, rsi
test rbx, rbx
je 0x1801b9bf4
test rbp, rbp
je 0x1801b9be2
test r8, r8
je 0x1801b9be2
mov rdx, rbx
mov rcx, rbp
call fcn.180210c20
mov rdi, rbx
xor eax, eax
mov rcx, r15
rep stosb byte [rdi], al
mov rcx, rbx
call fcn.1801b76f0
mov rbx, rbp
mov qword [r14 + 0x30], rbx
mov qword [r14 + 0x28], rsi
mov qword [r14 + 0x20], 0xffffffffffffffff
lea r13, [rbx + 0x30]
lea rdi, [rbx + 0x20]
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
mov rax, qword [r12]
mov r9, rdi
xor r8d, r8d
mov rdx, rdi
mov rcx, r12
call qword [rax + reloc.WLDAP32.dll_Ordinal_32]
cmp byte [0x1802f8230], 0
jne 0x1801b9c36
call fcn.1801c7180
cmp byte [0x1802f8237], 0
je 0x1801b9c54
mov r8d, dword [rsp + 0x20]
mov rdx, r13
mov rcx, rdi
call fcn.1801cc230
jmp 0x1801ba331
xor r12d, r12d
mov r10d, r12d
test rdi, rdi
je 0x1801b9c62
mov r10, qword [rdi]
bswap r10
add rdi, 8
mov r8, r12
je 0x1801b9c71
mov r8, qword [rdi]
bswap r8
cmp dword [rsp + 0x20], 0x10000
jne 0x1801b9f66
mov ebx, 2
movabs rsi, 0xe100000000000000
lea eax, [rbx - 2]
and eax, 7
mov ecx, ntohs
sub ecx, eax
mov edx, 1
shl rdx, cl
lea eax, [rbx - 2]
shr eax, 3
shl eax, 0xc
movsxd rcx, eax
lea rax, [rdx + r13]
add rcx, rax
mov rax, r10
bswap rax
je 0x1801b9cc4
mov qword [rcx], rax
add rcx, 8
mov rax, r8
bswap rax
je 0x1801b9cd3
mov qword [rcx], rax
mov r9, r10
shl r9, 0x3f
mov rax, r8
shr rax, 1
or r9, rax
and r8b, 1
neg r8b
sbb r11, r11
and r11, rsi
shr r10, 1
xor r11, r10
lea eax, [rbx - 1]
cdq
and edx, 7
add eax, edx
mov edi, eax
and eax, 7
sub eax, edx
sar edi, 3
mov ecx, ntohs
sub ecx, eax
mov eax, 1
shl rax, cl
shl edi, 0xc
movsxd rcx, edi
add rax, r13
add rcx, rax
mov rax, r11
bswap rax
je 0x1801b9d2f
mov qword [rcx], rax
add rcx, 8
mov rax, r9
bswap rax
je 0x1801b9d3e
mov qword [rcx], rax
mov r8, r11
shl r8, 0x3f
mov rax, r9
shr rax, 1
or r8, rax
and r9b, 1
neg r9b
sbb r10, r10
and r10, rsi
shr r11, 1
xor r10, r11
mov eax, ebx
cdq
and edx, 7
add eax, edx
mov edi, eax
and eax, 7
sub eax, edx
sar edi, 3
mov ecx, ntohs
sub ecx, eax
mov eax, 1
shl rax, cl
shl edi, 0xc
movsxd rcx, edi
add rax, r13
add rcx, rax
mov rax, r10
bswap rax
je 0x1801b9d99
mov qword [rcx], rax
add rcx, 8
mov rax, r8
bswap rax
je 0x1801b9da8
mov qword [rcx], rax
mov r9, r10
shl r9, 0x3f
mov rax, r8
shr rax, 1
or r9, rax
and r8b, 1
neg r8b
sbb r11, r11
and r11, rsi
shr r10, 1
xor r11, r10
lea eax, [rbx + 1]
cdq
and edx, 7
add eax, edx
mov edi, eax
and eax, 7
sub eax, edx
sar edi, 3
mov ecx, ntohs
sub ecx, eax
mov eax, 1
shl rax, cl
shl edi, 0xc
movsxd rcx, edi
add rax, r13
add rcx, rax
mov rax, r11
bswap rax
je 0x1801b9e04
mov qword [rcx], rax
add rcx, 8
mov rax, r9
bswap rax
je 0x1801b9e13
mov qword [rcx], rax
mov r8, r11
shl r8, 0x3f
mov rax, r9
shr rax, 1
or r8, rax
and r9b, 1
neg r9b
sbb r10, r10
and r10, rsi
shr r11, 1
xor r10, r11
add ebx, 4
lea eax, [rbx - 2]
cmp eax, 0x80
jl 0x1801b9c91
mov rbp, r13
mov qword [rsp + 0x28], reloc.WS2_32.dll_recv
nop dword [rax]
nop word [rax + rax]
xorps xmm0, xmm0
movups xmmword [rbp], xmm0
cmp byte [0x1802f8230], 0
jne 0x1801b9e75
call fcn.1801c7180
cmp byte [0x1802f8231], 0
je 0x1801b9ed7
mov r14d, 2
cmp r14d, 1
jle 0x1801b9ec9
mov eax, r14d
shl eax, 4
movsxd rbx, eax
sub rbx, r13
add rbx, rbp
add rbx, r13
lea rdi, [rbp + 0x10]
add eax, 0x10
movsxd r15, eax
add r15, 0xfffffffffffffff0
lea esi, [r14 - 1]
nop
lea rcx, [r15 + rdi]
mov r8, rdi
mov rdx, rbx
call fcn.1801cc410
add rdi, 0x10
sub rsi, 1
jne 0x1801b9eb0
add r14d, r14d
cmp r14d, 0x80
jle 0x1801b9e84
jmp 0x1801b9f47
mov r11d, 2
mov r9d, r11d
cmp r9, 1
jle 0x1801b9f38
lea rdx, [r9 + r12]
shl rdx, 4
lea rcx, [rdx + 0x10]
add rcx, r13
mov r10, r9
shl r10, 4
mov rdi, r9
neg rdi
add rdi, rdi
lea r8, [r9 - 1]
nop dword [rax]
mov rax, qword [rcx + rdi*8]
xor rax, qword [rdx + r13]
mov qword [rcx], rax
mov rax, rcx
sub rax, r10
mov rax, qword [rax + 8]
xor rax, qword [rdx + r13 + 8]
mov qword [rcx + 8], rax
add rcx, 0x10
sub r8, 1
jne 0x1801b9f10
add r11d, r11d
add r9, r9
cmp r11d, 0x80
jle 0x1801b9ee0
add rbp, 0x1000
add r12, 0x100
sub qword [rsp + 0x28], 1
jne 0x1801b9e60
jmp 0x1801ba331
movzx eax, byte [0x1802f8040]
test al, al
jne 0x1801b9ffe
mov dword [0x1802f7e40], 0xc2010000
mov esi, 0x1c2
mov r9d, 2
lea r14, [0x1802f7e40]
lea rbp, [0x1802f7e42]
nop dword [rax + rax]
add si, si
mov eax, r9d
lea rbx, [r14 + rax*2]
movzx eax, si
ror ax, 8
mov word [rbx], ax
mov edi, 1
cmp r9d, edi
jbe 0x1801b9feb
mov r11, rbp
nop dword [rax]
nop word [rax + rax]
movzx edx, word [rbx]
xor dx, word [r11]
lea eax, [rdi + r9]
mov word [r14 + rax*2], dx
inc edi
lea r11, [r11 + 2]
cmp edi, r9d
jb 0x1801b9fd0
add r9d, r9d
cmp r9d, 0x80
jbe 0x1801b9fa0
mov byte [0x1802f8040], 1
mov ebx, r12d
movabs rsi, 0xe100000000000000
nop dword [rax + rax]
mov eax, ebx
and eax, 0x1f
cmp eax, 4
jae 0x1801ba05d
mov ecx, 7
sub ecx, eax
mov edx, 1
shl rdx, cl
mov eax, ebx
shr eax, 5
shl eax, 8
movsxd rcx, eax
add rdx, 0x400
add rdx, r13
mov rax, r10
bswap rax
add rdx, rcx
je 0x1801ba04c
mov qword [rdx], rax
add rdx, 8
mov rax, r8
bswap rax
je 0x1801ba09d
mov qword [rdx], rax
jmp 0x1801ba09d
cmp eax, 8
jae 0x1801ba09d
mov ecx, ntohs
sub ecx, eax
mov edx, 1
shl rdx, cl
mov eax, ebx
shr eax, 5
shl eax, 8
movsxd rcx, eax
lea rax, [rdx + r13]
add rcx, rax
mov rax, r10
bswap rax
je 0x1801ba08e
mov qword [rcx], rax
add rcx, 8
mov rax, r8
bswap rax
je 0x1801ba09d
mov qword [rcx], rax
mov r9, r10
shl r9, 0x3f
mov rax, r8
shr rax, 1
or r9, rax
and r8b, 1
neg r8b
sbb r11, r11
and r11, rsi
shr r10, 1
xor r11, r10
lea eax, [rbx + 1]
cdq
and edx, 0x1f
add eax, edx
mov edi, eax
and eax, 0x1f
sub eax, edx
sar edi, 5
cmp eax, 4
jge 0x1801ba116
mov ecx, 7
sub ecx, eax
mov edx, 1
shl rdx, cl
shl edi, 8
movsxd rcx, edi
add rdx, r13
add rcx, 0x400
mov rax, r11
bswap rax
add rdx, rcx
je 0x1801ba105
mov qword [rdx], rax
add rdx, 8
mov rax, r9
bswap rax
je 0x1801ba15d
mov qword [rdx], rax
jmp 0x1801ba15d
cmp eax, 8
jge 0x1801ba15d
mov ecx, ntohs
sub ecx, eax
mov edi, 1
shl rdi, cl
lea eax, [rbx + 1]
cdq
and edx, 0x1f
add eax, edx
sar eax, 5
shl eax, 8
movsxd rcx, eax
lea rax, [rdi + r13]
add rcx, rax
mov rax, r11
bswap rax
je 0x1801ba14e
mov qword [rcx], rax
add rcx, 8
mov rax, r9
bswap rax
je 0x1801ba15d
mov qword [rcx], rax
mov r8, r11
shl r8, 0x3f
mov rax, r9
shr rax, 1
or r8, rax
and r9b, 1
neg r9b
sbb r10, r10
and r10, rsi
shr r11, 1
xor r10, r11
add ebx, 2
cmp ebx, 0x68
jl 0x1801ba010
mov r15, r12
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x38], 4
mov edx, reloc.WS2_32.dll_recv
xorps xmm0, xmm0
movups xmmword [r15 + r13], xmm0
movups xmmword [r15 + r13 + 0x400], xmm0
cmp byte [0x1802f8230], 0
jne 0x1801ba1c6
call fcn.1801c7180
mov edx, reloc.WS2_32.dll_recv
cmp byte [0x1802f8231], 0
je 0x1801ba25b
mov esi, 2
cmp esi, 1
jle 0x1801ba245
mov ecx, esi
shl ecx, 4
movsxd rbp, ecx
add rbp, r15
add rbp, r13
lea eax, [rcx + 0x10]
movsxd rcx, eax
lea rdi, [rcx + r15]
add rdi, r13
mov r14d, 0x410
sub r14, rcx
mov r15, rdx
sub r15, rcx
lea ebx, [rsi - 1]
nop word [rax + rax]
lea r8, [r15 + rdi]
mov rdx, rbp
mov rcx, rdi
call fcn.1801cc410
lea r8, [r14 + rdi]
lea rcx, [rdi + 0x400]
lea rdx, [rbp + 0x400]
call fcn.1801cc410
add rdi, 0x10
sub rbx, 1
jne 0x1801ba210
mov r15, qword [rsp + 0x28]
add esi, esi
cmp esi, 8
mov edx, reloc.WS2_32.dll_recv
jle 0x1801ba1d8
mov r12, qword [rsp + 0x30]
jmp 0x1801ba30b
mov edi, 2
mov r14d, edi
cmp rdi, 1
jle 0x1801ba2fb
lea r8, [rdi + r12]
shl r8, 4
lea r11, [r12 + 0x40]
add r11, rdi
add r11, r11
lea rdx, [r8 + 0x418]
add rdx, r13
mov r9, 0xffffffffffffffc0
sub r9, rdi
add r9, r9
mov r10, rdi
neg r10
add r10, r10
mov rsi, rdi
shl rsi, 4
lea rbx, [rdi - 1]
nop dword [rax + rax]
mov rcx, rdx
sub rcx, rsi
mov rax, qword [rcx - 0x408]
xor rax, qword [r8 + r13]
mov qword [rdx - 0x408], rax
mov rax, qword [rdx + r9*8]
xor rax, qword [r8 + r13 + 8]
mov qword [rdx - 0x400], rax
mov rax, qword [rcx - 8]
xor rax, qword [r13 + r11*8]
mov qword [rdx - 8], rax
mov rax, qword [rdx + r10*8]
xor rax, qword [r13 + r11*8 + 8]
mov qword [rdx], rax
add rdx, 0x10
sub rbx, 1
jne 0x1801ba2b0
add r14d, r14d
add rdi, rdi
cmp r14d, 8
jle 0x1801ba263
add r15, 0x100
mov qword [rsp + 0x28], r15
add r12, 0x10
mov qword [rsp + 0x30], r12
sub qword [rsp + 0x38], 1
mov edx, reloc.WS2_32.dll_recv
jne 0x1801ba1a2
mov rcx, qword [rsp + 0xc0]
xor rcx, rsp
call fcn.1801cf080
add rsp, 0xd8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
lea rcx, [r14 + 8]
mov rax, qword [rcx]
lea rdx, [rsp + 0x40]
call qword [rax + reloc.WS2_32.dll_recv]
nop
lea r8, str.:_block_size_of_underlying_block_cipher_is_not_16
mov rdx, rax
lea rcx, [rsp + 0x60]
call fcn.18000f7e0
nop
mov rdx, rax
lea rcx, [rsp + 0x80]
call fcn.1800b2360
lea rdx, [0x1802ea998]
lea rcx, [rsp + 0x80]
call fcn.1801d17a0
int3