Function at 0x140027800
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xc8
mov ebx, r9d
mov r14, rcx
mov esi, dword [rsp + 0x130]
mov rax, qword [0x1403a8f38]
xor rax, rsp
mov qword [rsp + 0xc0], rax
cmp r8d, 0xffffffff
jne 0x140027849
mov rcx, rdx
mov rdi, rdx
call fcn.140278140
mov rdx, rdi
mov r8, rax
test esi, esi
mov r12d, 0x2806
cmovne r12d, esi
lea eax, [rbx - 0x1000]
cmp eax, 5
jae 0x14002786a
mov ecx, reloc.WS2_32.dll_socket
bt ecx, ebx
jb 0x1400278b6
mov dword [rsp + 0x20], 0x77
lea r9, str..._.._third_party_boringssl_src_crypto_asn1_a_mbstr.c
mov ecx, listen
xor edx, edx
mov r8d, 0xb6
call fcn.14004adc0
mov ebp, 0xffffffff
mov rcx, qword [rsp + 0xc0]
xor rcx, rsp
call fcn.140265f80
mov eax, ebp
add rsp, 0xc8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov qword [rsp + 0x38], r14
cdqe
lea rcx, fcn.140033890
mov rcx, qword [rcx + rax*8]
mov qword [rsp + 0x58], rcx
lea rcx, [0x1402b0758]
mov esi, dword [rcx + rax*4]
movsxd r8, r8d
lea r14, [rsp + 0xb0]
mov rcx, r14
mov qword [rsp + 0x48], rdx
mov qword [rsp + 0x50], r8
call fcn.140032170
mov rcx, r14
call fcn.140029860
test rax, rax
je 0x140027a6d
mov dword [rsp + 0x44], esi
mov r14d, dword [rsp + 0x140]
lea eax, [rbx - 0x1002]
test eax, 0xfffffffd
sete byte [rsp + 0x37]
mov eax, r14d
mov qword [rsp + 0x60], rax
xor esi, esi
lea r13, [rsp + 0xb0]
lea rdi, [rsp + 0x80]
xor r15d, r15d
jmp 0x140027954
add r15, rax
mov rcx, r13
call fcn.140029860
test rax, rax
je 0x140027a72
mov rcx, r13
mov rdx, rdi
call qword [rsp + 0x58]
test eax, eax
je 0x140027b8b
test rsi, rsi
jne 0x140027985
cmp dword [rsp + 0x80], 0xfeff
sete al
and al, byte [rsp + 0x37]
cmp al, 1
je 0x140027cdd
test r12b, 2
je 0x1400279e3
mov ebp, r14d
mov r14d, dword [rsp + 0x80]
cmp r14d, 0x80
jb 0x1400279b0
and r12d, 0xfffffffd
jmp 0x1400279e0
mov ecx, r14d
call fcn.140094430
test eax, eax
jne 0x1400279e0
cmp r14d, 0x3d
ja 0x140027a5a
mov eax, r14d
movabs rcx, 0x2400fb8100000000
bt rcx, rax
jae 0x140027a5a
nop dword [rax]
mov r14d, ebp
mov ecx, dword [rsp + 0x80]
mov eax, r12d
and eax, 0xffffffef
cmp ecx, 0x7f
cmovbe eax, r12d
test r12b, 0x10
cmove eax, r12d
mov edx, eax
and edx, 0xfffffffb
cmp ecx, 0x100
cmovb edx, eax
test al, 4
cmove edx, eax
mov r12d, edx
and r12d, 0xfffff7ff
cmp ecx, 0x10000
cmovb r12d, edx
test edx, 0x800
cmove r12d, edx
test r12d, r12d
je 0x140027bab
inc rsi
call fcn.140033b20
test r14d, r14d
jle 0x140027940
cmp rsi, qword [rsp + 0x60]
jbe 0x140027940
jmp 0x140027bb8
mov eax, r12d
and eax, 0xfffffffd
cmp r14d, 0x3f
cmovne r12d, eax
jmp 0x1400279e0
xor r15d, r15d
xor esi, esi
mov ebp, dword [rsp + 0x138]
test ebp, ebp
jle 0x140027ab8
mov eax, ebp
cmp rsi, rax
jae 0x140027ab8
mov dword [rsp + 0x20], 0xad
lea r9, str..._.._third_party_boringssl_src_crypto_asn1_a_mbstr.c
mov ecx, listen
xor edx, edx
mov r8d, 0xae
call fcn.14004adc0
lea rcx, str.minsize_ld
mov edx, ebp
call fcn.14004b020
jmp 0x14002788b
mov r14d, 0x1001
lea r13, [0x140033c50]
mov ebp, reloc.WS2_32.dll_send
test r12b, 2
jne 0x140027b1a
mov ebp, reloc.WS2_32.dll_shutdown
test r12b, 0x10
jne 0x140027b1a
mov ebp, socket
test r12b, 4
jne 0x140027b1a
test r12d, 0x800
jne 0x140027d6b
test r12d, 0x100
jne 0x140027d88
test r12d, 0x2000
jne 0x140027da6
mov dword [rsp + 0x20], 0xcd
jmp 0x140027ce5
mov r15, rsi
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x140027890
mov rsi, qword [rax]
mov r12, rsi
test rsi, rsi
jne 0x140027b49
mov ecx, ebp
call fcn.140029740
mov r12, rax
test rax, rax
je 0x14002788b
lea rcx, [rsp + 0x80]
call fcn.140030b70
cmp r14d, ebx
jne 0x140027bed
mov rcx, r12
mov rdx, qword [rsp + 0x48]
mov r8, qword [rsp + 0x50]
call fcn.140029570
test eax, eax
je 0x140027d4c
mov dword [r12 + 4], ebp
mov rax, qword [rsp + 0x38]
mov qword [rax], r12
jmp 0x140027890
mov dword [rsp + 0x20], 0x82
lea r9, str..._.._third_party_boringssl_src_crypto_asn1_a_mbstr.c
mov ecx, listen
xor edx, edx
mov r8d, dword [rsp + 0x44]
jmp 0x140027886
mov dword [rsp + 0x20], 0x9f
jmp 0x140027ce5
mov dword [rsp + 0x20], 0xa6
lea r9, str..._.._third_party_boringssl_src_crypto_asn1_a_mbstr.c
mov ecx, listen
xor edx, edx
mov r8d, 0xad
call fcn.14004adc0
lea rcx, str.maxsize_ld
mov edx, r14d
call fcn.14004b020
jmp 0x14002788b
inc r15
lea rcx, [rsp + 0x80]
mov rdx, r15
call fcn.140030b80
test eax, eax
je 0x140027d4c
lea rbx, [rsp + 0xb0]
mov rcx, rbx
mov rdx, qword [rsp + 0x48]
mov r8, qword [rsp + 0x50]
call fcn.140032170
mov rcx, rbx
call fcn.140029860
test rax, rax
je 0x140027c75
lea rdi, [rsp + 0xb0]
lea rbx, [rsp + 0x7c]
lea r14, [rsp + 0x80]
mov rcx, rdi
mov rdx, rbx
call qword [rsp + 0x58]
test eax, eax
je 0x140027cfe
mov edx, dword [rsp + 0x7c]
mov rcx, r14
call r13
test eax, eax
je 0x140027cfe
mov rcx, rdi
call fcn.140029860
test rax, rax
jne 0x140027c44
mov qword [rsp + 0x70], 0
lea rcx, [rsp + 0x80]
xor edx, edx
call fcn.1400311b0
test eax, eax
je 0x140027d21
lea rcx, [rsp + 0x80]
lea rdx, [rsp + 0x70]
lea r8, [rsp + 0x68]
call fcn.140030c30
test eax, eax
je 0x140027d21
mov r8, qword [rsp + 0x68]
test r8, r8
je 0x140027d21
mov rax, r8
shr rax, 0x1f
jne 0x140027d21
mov dword [r12 + 4], ebp
dec r8d
mov rdx, qword [rsp + 0x70]
mov rcx, r12
call fcn.140029710
jmp 0x140027b7e
mov dword [rsp + 0x20], 0x8d
lea r9, str..._.._third_party_boringssl_src_crypto_asn1_a_mbstr.c
mov ecx, listen
xor edx, edx
mov r8d, 0x7e
jmp 0x140027886
mov dword [rsp + 0x20], 0xf3
lea r9, str..._.._third_party_boringssl_src_crypto_asn1_a_mbstr.c
mov ecx, listen
xor edx, edx
mov r8d, 0x44
call fcn.14004adc0
jmp 0x140027d4c
mov dword [rsp + 0x20], 0xfd
lea r9, str..._.._third_party_boringssl_src_crypto_asn1_a_mbstr.c
mov ecx, listen
xor edx, edx
mov r8d, 0x44
call fcn.14004adc0
mov rcx, qword [rsp + 0x70]
call fcn.1400940b0
test rsi, rsi
jne 0x140027d59
mov rcx, r12
call fcn.1400296e0
lea rcx, [rsp + 0x80]
call fcn.140030c10
jmp 0x14002788b
add rsi, rsi
mov r14d, 0x1002
lea r13, [fcn.140033c80]
mov ebp, 0x1e
mov r15, rsi
jmp 0x140027b1d
shl rsi, 2
mov r14d, 0x1004
lea r13, [0x140033ce0]
mov ebp, 0x1c
mov r15, rsi
jmp 0x140027b1d
mov r14d, 0x1000
lea r13, [fcn.140033b50]
mov ebp, listen
jmp 0x140027b1d