Function at 0x1801cb170
Capabilities:
Encode data using base64

Disassembly:
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x178
xor eax, eax
mov qword [rsp + 0x1d0], rax
mov edx, eax
test rcx, rcx
je 0x1801cb1a4
mov rdx, qword [rcx]
mov qword [rsp + 0x1d0], rdx
add rcx, 8
mov qword [rsp + 0x1d8], rax
mov qword [rsp + 0xf0], rcx
mov r12, rax
je 0x1801cb1c8
mov r12, qword [rcx]
mov qword [rsp + 0x1d8], r12
add rcx, 8
mov qword [rsp + 0x68], rax
mov qword [rsp + 0xf8], rcx
mov r11, rax
je 0x1801cb1e6
mov r11, qword [rcx]
mov qword [rsp + 0x68], r11
add rcx, 8
mov r15, rax
mov qword [rsp + 0x100], rcx
je 0x1801cb1fa
mov r15, qword [rcx]
add rcx, 8
mov qword [rsp + 0x1c8], rax
mov qword [rsp + 0x108], rcx
mov r9, rax
je 0x1801cb21e
mov r9, qword [rcx]
mov qword [rsp + 0x1c8], r9
add rcx, 8
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x110], rcx
mov r8, rax
je 0x1801cb23c
mov r8, qword [rcx]
mov qword [rsp + 0x48], r8
add rcx, 8
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x118], rcx
je 0x1801cb257
mov r10, qword [rcx]
mov qword [rsp + 0x50], r10
add rcx, 8
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x120], rcx
je 0x1801cb272
mov r10, qword [rcx]
mov qword [rsp + 0x58], r10
add rcx, 8
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x128], rcx
je 0x1801cb28d
mov r10, qword [rcx]
mov qword [rsp + 0x60], r10
add rcx, 8
mov r14, rax
mov qword [rsp + 0x130], rcx
je 0x1801cb2a1
mov r14, qword [rcx]
add rcx, 8
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x138], rcx
je 0x1801cb2c2
mov r10, qword [rcx]
mov qword [rsp + 0x80], r10
add rcx, 8
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x140], rcx
je 0x1801cb2dd
mov r10, qword [rcx]
mov qword [rsp + 0x70], r10
add rcx, 8
mov qword [rsp + 8], rax
mov qword [rsp + 0x148], rcx
je 0x1801cb2f8
mov r10, qword [rcx]
mov qword [rsp + 8], r10
add rcx, 8
mov qword [rsp + 0x18], rax
mov qword [rsp + 0x150], rcx
je 0x1801cb313
mov r10, qword [rcx]
mov qword [rsp + 0x18], r10
add rcx, 8
mov qword [rsp + 0x88], rax
mov qword [rsp + 0x158], rcx
mov r10, rax
je 0x1801cb337
mov r10, qword [rcx]
mov qword [rsp + 0x88], r10
add rcx, 8
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x160], rcx
je 0x1801cb352
mov rbx, qword [rcx]
mov qword [rsp + 0x78], rbx
mov qword [rsp], rax
add rcx, 8
je 0x1801cb363
mov rbx, qword [rcx]
mov qword [rsp], rbx
mov qword [rsp + 0x10], rax
add rcx, 8
je 0x1801cb376
mov rbx, qword [rcx]
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x20], rax
add rcx, 8
je 0x1801cb389
mov rbx, qword [rcx]
mov qword [rsp + 0x20], rbx
mov rsi, rax
add rcx, 8
je 0x1801cb395
mov rsi, qword [rcx]
mov qword [rsp + 0x30], rax
mov r13, rax
add rcx, 8
je 0x1801cb3ab
mov r13, qword [rcx]
mov qword [rsp + 0x30], r13
mov qword [rsp + 0x28], rax
add rcx, 8
je 0x1801cb3be
mov rbx, qword [rcx]
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x38], rax
mov rbp, rax
add rcx, 8
je 0x1801cb3d4
mov rbp, qword [rcx]
mov qword [rsp + 0x38], rbp
mov qword [rsp + 0x40], rax
mov rdi, rax
add rcx, 8
je 0x1801cb3ea
mov rdi, qword [rcx]
mov qword [rsp + 0x40], rdi
add rcx, 8
mov qword [rsp + 0x168], rcx
je 0x1801cb3fb
mov rax, qword [rcx]
lea rcx, reloc.WS2_32.dll_accept
mov qword [rsp + 0xd8], select
mov qword [rsp + 0x90], rcx
jmp 0x1801cb42b
mov r15, qword [rsp + 0xe0]
mov r10, rbx
xor r13, qword [rsp + 0x78]
mov rbx, rax
xor r13, qword [rsp + 0x80]
xor rbx, rsi
xor r13, r8
xor rbx, r10
mov r8, qword [rsp + 0x28]
xor r13, rdx
xor r8, qword [rsp]
mov rcx, rdi
xor r8, qword [rsp + 0x70]
mov rdx, rbp
xor rdx, qword [rsp + 0x10]
xor rbx, r14
xor rdx, qword [rsp + 8]
xor rbx, r9
xor rdx, qword [rsp + 0x58]
xor r8, qword [rsp + 0x50]
xor rdx, r11
mov rdi, qword [rsp + 0x20]
xor r8, r12
xor rcx, rdi
mov r12, rdx
xor rcx, qword [rsp + 0x18]
mov rbp, r8
xor rcx, qword [rsp + 0x60]
xor rcx, r15
ror r12, 0x3f
mov r10, rcx
ror rbp, 0x3f
xor r12, r13
ror r10, 0x3f
xor r10, r8
ror r13, 0x3f
xor r13, rcx
xor rbp, rbx
mov rcx, qword [rsp + 0x50]
xor rax, r13
xor rcx, r12
ror rbx, 0x3f
mov r9, rcx
xor rbx, rdx
shr rcx, 0x14
xor rdi, rbx
mov rdx, rdi
shl r9, 0x2c
or r9, rcx
shl rdi, 0x15
mov rcx, qword [rsp + 8]
mov r11, rbp
xor r11, qword [rsp + 0x1d0]
xor rcx, r10
mov r8, rcx
shr rdx, 0x2b
shr rcx, 0x15
or rdx, rdi
mov rdi, qword [rsp + 0x90]
shl r8, 0x2b
or r8, rcx
mov rcx, rax
shl rax, 0xe
shr rcx, 0x32
or rcx, rax
mov rax, r9
not rax
and rax, r8
xor rax, qword [rdi]
xor rax, r11
mov qword [rsp + 0x20], rax
mov rax, r8
not rax
and rax, rdx
xor rax, r9
mov qword [rsp + 0x98], rax
mov rax, rdx
not rax
and rax, rcx
xor rax, r8
mov qword [rsp + 0xb8], rax
mov rax, rcx
not rax
and rax, r11
xor r14, r13
xor rax, rdx
not r11
and r11, r9
mov qword [rsp + 8], rax
mov rax, qword [rsp + 0x80]
xor r11, rcx
xor rax, rbp
mov qword [rsp + 0xa0], r11
mov r11, qword [rsp + 0x38]
mov rcx, rax
xor r11, r10
shr rcx, 0x3d
mov r8, r14
xor r15, rbx
lea rax, [rax*8]
shl r14, 0x14
or rcx, rax
shr r8, 0x2c
mov rax, qword [rsp]
or r8, r14
xor rax, r12
mov r14, rcx
mov rdx, rax
mov r9, r15
shr rax, 0x13
xor rsi, r13
shl rdx, 0x2d
not r14
or rdx, rax
shr r9, 0x24
mov rax, r11
shl r15, 0x1c
shr r11, 3
or r9, r15
shl rax, 0x3d
and r14, rdx
or rax, r11
xor r14, r8
mov r11, r8
not r11
and r11, rcx
xor r11, r9
mov qword [rsp + 0xa8], r11
mov r11, rdx
not r11
and r11, rax
xor r11, rcx
mov rcx, rax
not rcx
mov qword [rsp], r11
and rcx, r9
not r9
xor rcx, rdx
and r9, r8
xor r9, rax
mov qword [rsp + 0xc0], rcx
mov rax, qword [rsp + 0x1d8]
mov rcx, rsi
xor rax, r12
shr rcx, 0x38
mov r11, rax
shl rsi, 8
add rax, rax
shr r11, 0x3f
or r11, rax
mov qword [rsp + 0x38], r9
mov rax, qword [rsp + 0x58]
xor rax, r10
mov r8, rax
shl rax, 6
shr r8, 0x3a
or r8, rax
mov rax, qword [rsp + 0x18]
xor rax, rbx
mov rdx, rax
shl rax, 0x19
shr rdx, 0x27
or rdx, rax
or rcx, rsi
mov r9, qword [rsp + 0x30]
mov rdi, rcx
xor r9, rbp
mov r15, r8
mov rax, r9
not rdi
shr rax, 0x2e
not r15
shl r9, 0x12
and r15, rdx
or rax, r9
xor r15, r11
and rdi, rax
mov qword [rsp + 0x18], r15
xor rdi, rdx
mov r9, rdx
mov rdx, rax
not r9
and r9, rcx
not rdx
and rdx, r11
xor r9, r8
not r11
mov qword [rsp + 0xb0], r9
and r11, r8
xor rdx, rcx
xor r11, rax
mov qword [rsp + 0x30], rdx
mov rax, qword [rsp + 0x1c8]
xor rax, r13
mov qword [rsp + 0xc8], r11
mov r11, qword [rsp + 0x40]
mov r9, rax
xor r11, rbx
shl rax, 0x1b
shr r9, 0x25
or r9, rax
mov rax, qword [rsp + 0x48]
xor rax, rbp
mov r8, rax
shr rax, 0x1c
shl r8, 0x24
or r8, rax
mov rax, qword [rsp + 0x70]
xor rax, r12
mov rdx, rax
shl rax, 0xa
shr rdx, 0x36
or rdx, rax
mov rax, qword [rsp + 0x10]
xor rax, r10
mov rsi, rdx
mov rcx, rax
not rsi
shl rax, 0xf
shr rcx, 0x31
or rcx, rax
mov rax, r11
shr r11, 8
and rsi, rcx
shl rax, 0x38
xor rsi, r8
or rax, r11
mov r11, r8
not r11
and r11, rdx
xor r11, r9
mov qword [rsp + 0xd0], r11
mov r11, rcx
not r11
and r11, rax
xor r11, rdx
mov qword [rsp + 0x10], r11
mov r11, rax
not r11
and r11, r9
not r9
and r9, r8
xor r11, rcx
xor r9, rax
mov qword [rsp + 0x40], r9
mov rax, qword [rsp + 0x68]
xor rax, r10
mov r10, rax
shr rax, 2
shl r10, 0x3e
or r10, rax
mov rax, qword [rsp + 0x60]
xor rax, rbx
mov r9, rax
shr rax, 9
shl r9, 0x37
or r9, rax
mov rax, qword [rsp + 0x88]
xor rax, r13
mov r8, rax
shr rax, 0x19
shl r8, 0x27
or r8, rax
mov rax, qword [rsp + 0x78]
xor rax, rbp
mov rbp, r9
mov rdx, rax
not rbp
shr rax, 0x17
and rbp, r8
shl rdx, 0x29
xor rbp, r10
or rdx, rax
mov rax, qword [rsp + 0x28]
xor rax, r12
mov rbx, rdx
mov rcx, rax
not rbx
shr rcx, 0x3e
lea rax, [rax*4]
or rcx, rax
mov rax, r8
not rax
and rbx, rcx
and rax, rdx
mov r12, rcx
xor rax, r9
xor rbx, r8
mov qword [rsp + 0xe8], rax
not r12
and r12, r10
not r10
and r10, r9
xor r12, rdx
xor r10, rcx
mov rdx, rax
xor rdx, rsi
mov r9, rbp
xor r9, qword [rsp + 0xd0]
mov rcx, rbx
xor rcx, qword [rsp + 0x10]
xor r9, r15
xor rdx, qword [rsp + 0xb0]
xor rcx, rdi
xor rcx, qword [rsp]
xor rdx, r14
xor rdx, qword [rsp + 0x98]
mov r15, r10
xor r15, qword [rsp + 0x40]
mov rax, r12
xor r15, qword [rsp + 0xc8]
xor rax, r11
xor rax, qword [rsp + 0x30]
mov r13, rdx
xor r15, qword [rsp + 0x38]
xor r15, qword [rsp + 0xa0]
xor r9, qword [rsp + 0xa8]
xor rcx, qword [rsp + 0xb8]
xor rax, qword [rsp + 0xc0]
mov r8, rcx
xor r9, qword [rsp + 0x20]
xor rax, qword [rsp + 8]
ror r13, 0x3f
xor r13, r15
mov qword [rsp + 0x1d0], r9
ror r8, 0x3f
xor r8, r9
ror r15, 0x3f
mov r9, rax
mov qword [rsp + 0x28], r8
xor r15, rcx
ror r9, 0x3f
mov rcx, qword [rsp + 0x1d0]
xor r11, r15
xor r14, r8
ror rcx, 0x3f
xor rcx, rax
xor r9, rdx
mov rax, qword [rsp + 0x20]
mov r8, r14
xor rax, r13
mov qword [rsp + 0x1d0], rcx
mov rcx, r11
mov qword [rsp + 0x1c8], rax
shl r11, 0x15
xor rdi, r9
shl r8, 0x2c
mov rdx, rdi
shl rdx, 0x2b
shr r14, 0x14
or r8, r14
shr rcx, 0x2b
or rcx, r11
shr rdi, 0x15
or rdx, rdi
mov r11, r8
mov rdi, qword [rsp + 0x1d0]
not r11
and r11, rdx
xor r10, rdi
mov rax, r10
shl r10, 0xe
shr rax, 0x32
or rax, r10
mov r10, qword [rsp + 0x90]
xor r11, qword [r10 + 8]
mov r10, qword [rsp + 0x1c8]
xor r11, r10
mov qword [rsp + 0x1d0], r11
mov r11, rdx
not r11
and r11, rcx
xor r11, r8
mov qword [rsp + 0x1d8], r11
mov r11, rcx
not r11
and r11, rax
xor r11, rdx
mov rdx, rax
not rdx
mov qword [rsp + 0x68], r11
mov r11, qword [rsp + 0x28]
and rdx, r10
xor rdx, rcx
not r10
and r10, r8
mov qword [rsp + 0xe0], rdx
xor r10, rax
mov rax, qword [rsp + 8]
xor rax, r15
mov qword [rsp + 0x1c8], r10
mov r14, rax
shl rax, 0x1c
shr r14, 0x24
or r14, rax
mov rax, qword [rsp + 0x38]
xor rax, rdi
mov r8, rax
shl rax, 0x14
shr r8, 0x2c
or r8, rax
mov rax, qword [rsp + 0x18]
xor rax, r13
mov rcx, rax
shr rcx, 0x3d
lea rax, [rax*8]
or rcx, rax
xor rbx, r9
mov r10, r8
not r10
mov rax, rbx
and r10, rcx
shl rax, 0x3d
xor r10, r14
shr rbx, 3
or rax, rbx
mov qword [rsp + 0x48], r10
mov r10, rcx
xor rsi, r11
not r10
mov rdx, rsi
shl rdx, 0x2d
xor rbp, r13
shr rsi, 0x13
or rdx, rsi
and r10, rdx
xor r10, r8
mov qword [rsp + 0x50], r10
mov r10, rdx
not r10
and r10, rax
xor r10, rcx
mov rcx, rax
mov qword [rsp + 0x58], r10
not rcx
and rcx, r14
not r14
xor rcx, rdx
and r14, r8
xor r14, rax
mov qword [rsp + 0x60], rcx
mov rax, qword [rsp + 0x98]
xor rax, r11
mov rbx, rax
add rax, rax
shr rbx, 0x3f
or rbx, rax
mov rax, qword [rsp]
xor rax, r9
mov r8, rax
shl rax, 6
shr r8, 0x3a
or r8, rax
mov rax, qword [rsp + 0x30]
xor rax, r15
mov r10, r8
not r10
mov rdx, rax
shl rax, 0x19
shr rdx, 0x27
or rdx, rax
mov rax, qword [rsp + 0x40]
and r10, rdx
xor rax, rdi
xor r10, rbx
mov rcx, rax
mov qword [rsp + 0x80], r10
mov r10, rdx
not r10
shl rax, 8
shr rcx, 0x38
or rcx, rax
mov rax, rbp
and r10, rcx
shr rax, 0x2e
xor r10, r8
shl rbp, 0x12
mov qword [rsp + 0x70], r10
or rax, rbp
mov r10, rcx
not r10
and r10, rax
xor r10, rdx
mov rdx, rax
not rdx
mov qword [rsp + 8], r10
and rdx, rbx
xor rdx, rcx
mov qword [rsp + 0x18], rdx
not rbx
and rbx, r8
xor r12, r15
xor rbx, rax
mov rax, qword [rsp + 0xa0]
xor rax, rdi
mov qword [rsp + 0x88], rbx
mov rsi, rax
shl rax, 0x1b
shr rsi, 0x25
or rsi, rax
mov rax, qword [rsp + 0xa8]
xor rax, r13
mov r8, rax
shr rax, 0x1c
shl r8, 0x24
or r8, rax
mov rax, qword [rsp + 0xb0]
xor rax, r11
mov r10, r8
not r10
mov rdx, rax
shl rax, 0xa
shr rdx, 0x36
or rdx, rax
mov rax, qword [rsp + 0x10]
and r10, rdx
xor rax, r9
xor r10, rsi
mov rcx, rax
shr rcx, 0x31
mov qword [rsp + 0x78], r10
mov r10, rdx
not r10
shl rax, 0xf
or rcx, rax
mov rax, r12
and r10, rcx
shl rax, 0x38
xor r10, r8
shr r12, 8
mov qword [rsp], r10
or rax, r12
mov r10, rcx
not r10
and r10, rax
xor r10, rdx
mov rdx, rax
mov qword [rsp + 0x10], r10
not rdx
and rdx, rsi
not rsi
xor rdx, rcx
and rsi, r8
mov rcx, qword [rsp + 0xb8]
xor rsi, rax
xor rcx, r9
mov qword [rsp + 0x20], rdx
mov rax, rcx
shr rcx, 2
shl rax, 0x3e
or rax, rcx
mov rcx, qword [rsp + 0xc0]
xor rcx, r15
mov r10, rcx
shr rcx, 9
shl r10, 0x37
or r10, rcx
mov rcx, qword [rsp + 0xc8]
xor rcx, rdi
mov r9, rcx
shr rcx, 0x19
shl r9, 0x27
or r9, rcx
mov rcx, qword [rsp + 0xd0]
xor rcx, r13
mov r8, rcx
shr rcx, 0x17
shl r8, 0x29
or r8, rcx
mov rcx, qword [rsp + 0xe8]
mov r15, r9
add qword [rsp + 0x90], 0x10
xor rcx, r11
mov r11, qword [rsp + 0x68]
mov rdx, rcx
mov r12, qword [rsp + 0x1d8]
mov rbp, r8
shr rdx, 0x3e
not r15
and r15, r8
lea rcx, [rcx*4]
or rdx, rcx
not rbp
and rbp, rdx
mov rdi, rdx
xor rbp, r9
not rdi
and rdi, rax
mov qword [rsp + 0x38], rbp
xor rdi, r8
xor r15, r10
mov r8, qword [rsp + 0x48]
mov r13, r10
not r13
mov qword [rsp + 0x28], r15
and r13, r9
mov qword [rsp + 0x40], rdi
mov r9, qword [rsp + 0x1c8]
xor r13, rax
not rax
mov qword [rsp + 0x30], r13
and rax, r10
xor rax, rdx
mov rdx, qword [rsp + 0x1d0]
sub qword [rsp + 0xd8], 1
jne 0x1801cb420
mov rcx, qword [rsp + 0x1c0]
test rcx, rcx
je 0x1801cbd50
mov qword [rcx], rdx
mov rcx, qword [rsp + 0xf0]
test rcx, rcx
je 0x1801cbd60
mov qword [rcx], r12
mov rcx, qword [rsp + 0xf8]
test rcx, rcx
je 0x1801cbd70
mov qword [rcx], r11
mov rcx, qword [rsp + 0x100]
test rcx, rcx
je 0x1801cbd88
mov rdx, qword [rsp + 0xe0]
mov qword [rcx], rdx
mov rcx, qword [rsp + 0x108]
test rcx, rcx
je 0x1801cbd98
mov qword [rcx], r9
mov rcx, qword [rsp + 0x110]
test rcx, rcx
je 0x1801cbda8
mov qword [rcx], r8
mov rcx, qword [rsp + 0x118]
test rcx, rcx
je 0x1801cbdbd
mov rdx, qword [rsp + 0x50]
mov qword [rcx], rdx
mov rcx, qword [rsp + 0x120]
test rcx, rcx
je 0x1801cbdd2
mov r12, qword [rsp + 0x58]
mov qword [rcx], r12
mov rcx, qword [rsp + 0x128]
test rcx, rcx
je 0x1801cbde7
mov r11, qword [rsp + 0x60]
mov qword [rcx], r11
mov rcx, qword [rsp + 0x130]
test rcx, rcx
je 0x1801cbdf7
mov qword [rcx], r14
mov rcx, qword [rsp + 0x138]
test rcx, rcx
je 0x1801cbe0f
mov rdx, qword [rsp + 0x80]
mov qword [rcx], rdx
mov rcx, qword [rsp + 0x140]
test rcx, rcx
je 0x1801cbe24
mov rdx, qword [rsp + 0x70]
mov qword [rcx], rdx
mov rcx, qword [rsp + 0x148]
test rcx, rcx
je 0x1801cbe39
mov r12, qword [rsp + 8]
mov qword [rcx], r12
mov rcx, qword [rsp + 0x150]
test rcx, rcx
je 0x1801cbe4e
mov r11, qword [rsp + 0x18]
mov qword [rcx], r11
mov rcx, qword [rsp + 0x158]
test rcx, rcx
je 0x1801cbe5e
mov qword [rcx], rbx
mov rcx, qword [rsp + 0x160]
test rcx, rcx
je 0x1801cbe73
mov rbx, qword [rsp + 0x78]
mov qword [rcx], rbx
lea rdx, [rcx + 8]
test rdx, rdx
je 0x1801cbe83
mov rcx, qword [rsp]
mov qword [rdx], rcx
lea rcx, [rdx + 8]
test rcx, rcx
je 0x1801cbe94
mov rbx, qword [rsp + 0x10]
mov qword [rcx], rbx
lea rdx, [rcx + 8]
test rdx, rdx
je 0x1801cbea5
mov rbx, qword [rsp + 0x20]
mov qword [rdx], rbx
lea rcx, [rdx + 8]
test rcx, rcx
je 0x1801cbeb1
mov qword [rcx], rsi
lea rdx, [rcx + 8]
test rdx, rdx
je 0x1801cbebd
mov qword [rdx], r13
lea rcx, [rdx + 8]
test rcx, rcx
je 0x1801cbec9
mov qword [rcx], r15
lea rdx, [rcx + 8]
test rdx, rdx
je 0x1801cbed5
mov qword [rdx], rbp
lea rcx, [rdx + 8]
test rcx, rcx
je 0x1801cbee1
mov qword [rcx], rdi
mov rcx, qword [rsp + 0x168]
test rcx, rcx
je 0x1801cbef1
mov qword [rcx], rax
add rsp, 0x178
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret