Function at 0x1402889e0
Capabilities:
Encode data using base64

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xb8
mov qword [rsp + 0xa0], 0xfffffffffffffffe
mov r13, r9
mov rbx, rcx
xor r12d, r12d
test r9, r9
je 0x140288a1f
mov qword [r9], r12
mov r14, qword [rsp + 0x120]
test r14, r14
je 0x140288a2f
mov qword [r14], r12
cmp dword [rcx + 0x70], r12d
jne 0x140288a49
mov edx, 6
mov ecx, 0x220f1f0f
call fcn.140285fd0
jmp 0x1402891c9
mov edx, 1
lea rcx, [rsp + 0x50]
call fcn.140281c60
nop
mov edx, 1
lea rcx, [rsp + 0x78]
call fcn.140281c60
nop
mov qword [rsp + 0x48], r12
mov rbp, qword [rbx + 0x58]
mov qword [rsp + 0x38], rbp
mov rsi, qword [rbx + 0x88]
mov eax, dword [rbx + 0x70]
lea rcx, [rax + rax*2]
add rcx, rcx
lea rdi, [rsi + rcx*8 - 0x30]
mov r15d, r12d
mov qword [rsp + 0x100], r15
mov rax, qword [rsp + 0x108]
test rax, rax
je 0x140288c46
lea rcx, [rsp + 0x48]
mov qword [rsp + 0x20], rcx
or r9d, 0xffffffff
mov r8, rax
mov edx, dword [rbx + 0x10]
lea rcx, [rsp + 0x50]
call fcn.1402821b0
test rax, rax
je 0x140288c13
lea rax, [rsp + 0x48]
mov qword [rsp + 0x20], rax
or r9d, 0xffffffff
mov r8, qword [rsp + 0x110]
mov edx, dword [rbx + 0x10]
lea rcx, [rsp + 0x78]
call fcn.1402821b0
test rax, rax
je 0x140288c13
nop dword [rax]
mov r15, qword [rsi]
add r15, rbp
mov qword [rsp + 0x30], r15
mov rax, qword [rsi + 0x10]
cmp rax, 0xffffffffffffffff
je 0x140288b2e
lea rdx, [rax + r15]
mov r9, qword [rsp + 0x58]
mov r8, qword [rsi + 0x18]
mov rcx, rbx
call fcn.1402888f0
test eax, eax
je 0x140288b3d
cmp rsi, rdi
je 0x140288c56
add rsi, 0x30
jmp 0x140288b00
cmp qword [rsp + 0x110], 0
je 0x140288bdc
mov ebp, r12d
mov rdi, qword [rsi + 0x20]
cmp dword [rsi + 0x28], r12d
jbe 0x140288bd0
nop dword [rax]
test byte [rdi], 1
je 0x140288b85
mov rax, qword [rdi + 0x18]
lea rdx, [r15 + rax]
mov r9, qword [rsp + 0x80]
mov r8, qword [rdi + 0x20]
mov rcx, rbx
call fcn.1402888f0
test eax, eax
je 0x140288b92
inc ebp
add rdi, 0x38
cmp ebp, dword [rsi + 0x28]
jae 0x140288bd7
jmp 0x140288b60
test r13, r13
je 0x140288b9b
mov qword [r13], rsi
test r14, r14
je 0x140288ba3
mov qword [r14], rdi
lea rbx, vtable.CAhnI2s_Memory.0
mov qword [rsp + 0x78], rbx
lea rcx, [rsp + 0x78]
call fcn.140281e70
nop
mov qword [rsp + 0x50], rbx
lea rcx, [rsp + 0x50]
call fcn.140281e70
xor eax, eax
jmp 0x1402891c9
mov rbp, qword [rsp + 0x38]
jmp 0x140288bdc
mov rbp, qword [rsp + 0x38]
mov rcx, rsi
sub rcx, qword [rbx + 0x88]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
mov r15, rdx
sar r15, 3
mov rax, r15
shr rax, 0x3f
add r15, rax
mov qword [rsp + 0x100], r15
mov rdi, qword [rsp + 0x30]
jmp 0x140288c61
mov rdi, qword [rsp + 0x48]
lea rbx, vtable.CAhnI2s_Memory.0
mov qword [rsp + 0x78], rbx
lea rcx, [rsp + 0x78]
call fcn.140281e70
nop
mov qword [rsp + 0x50], rbx
lea rcx, [rsp + 0x50]
call fcn.140281e70
mov rax, rdi
jmp 0x1402891c9
mov rsi, rdi
mov rdi, qword [rdi]
add rdi, rbp
mov qword [rsp + 0x30], rdi
jmp 0x140288c61
mov rdi, r15
mov r15, qword [rsp + 0x100]
mov rcx, qword [rbx + 0x78]
cmp rcx, 0xffffffffffffffff
je 0x140289114
test r15d, r15d
je 0x140288c82
mov eax, dword [rbx + 0x70]
dec eax
cmp r15d, eax
jne 0x140289114
lea r12, [rcx + rbp]
nop word [rax + rax]
lea r8, [0x140333450]
mov rdx, r12
mov ecx, dword [rbx + 0x10]
call fcn.140282740
mov r13, rax
cmp byte [rax], 0x5b
jne 0x140288de1
lea r8, [0x1403334cc]
lea rdx, [rax + 1]
mov rcx, rbx
call fcn.140288970
mov rbp, rax
test rax, rax
je 0x140288de1
cmp byte [rax], 0x5d
jne 0x140288de1
mov rcx, rbx
call fcn.1402887e0
mov rsi, rax
test rax, rax
je 0x140288ffb
mov qword [rsp + 0x30], r12
lea r8, [0x140333450]
lea rdx, [r13 + 1]
mov ecx, dword [rbx + 0x10]
call fcn.140282740
mov rdi, rax
lea r9, [0x140333450]
mov r8, rbp
mov rdx, rax
mov ecx, dword [rbx + 0x10]
call fcn.1402827d0
mov rcx, rdi
sub rcx, r12
mov qword [rsi + 0x10], rcx
sub rax, rdi
mov qword [rsi + 0x18], rax
lea rdx, [rbp + 1]
lea r8, [rsp + 0x40]
mov rcx, rbx
call fcn.140288990
mov rdx, r12
mov rax, qword [rsp + 0x38]
sub rdx, rax
mov qword [rsi], rdx
mov r14, qword [rsp + 0x40]
test r14, r14
je 0x140288d5c
mov rcx, r14
sub rcx, r12
jmp 0x140288d72
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, r12
repne scasb al, byte [rdi]
not rcx
dec rcx
mov rax, qword [rsp + 0x38]
mov qword [rsi + 8], rcx
test r15d, r15d
jne 0x140288fd9
cmp qword [rsp + 0x108], 0
je 0x140288fb9
mov rax, qword [rsi + 0x10]
lea rdx, [r12 + rax]
mov r9, qword [rsp + 0x58]
mov r8, qword [rsi + 0x18]
mov rcx, rbx
call fcn.1402888f0
test eax, eax
jne 0x140288fb9
mov rcx, rsi
sub rcx, qword [rbx + 0x88]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 3
mov r15, rdx
shr r15, 0x3f
add r15, rdx
mov qword [rsp + 0x100], r15
jmp 0x140288fb9
or r8d, 0xffffffff
mov rdx, rsi
mov rcx, rbx
call fcn.140288850
mov rbp, rax
test rax, rax
je 0x1402890cb
lea r8, [rsp + 0x40]
mov rdx, r13
mov rcx, rbx
call fcn.140288990
mov r15, rax
mov rcx, r12
sub rcx, rdi
mov qword [rbp + 8], rcx
mov r14, qword [rsp + 0x40]
test r14, r14
je 0x140288e2b
mov rcx, r14
sub rcx, r12
jmp 0x140288e3c
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, r12
repne scasb al, byte [rdi]
not rcx
dec rcx
mov qword [rbp + 0x10], rcx
cmp r15, r13
je 0x140288e4c
cmp byte [r13], 0
jne 0x140288e50
or dword [rbp], 2
cmp byte [r13], 0x3b
je 0x140288f93
lea r8, [0x1403334c8]
mov rdx, r13
mov rcx, rbx
call fcn.140288970
mov rdi, rax
test rax, rax
je 0x140288f89
cmp byte [rax], 0x3d
jne 0x140288f7f
lea r9, [0x140333450]
mov r8, rax
mov rdx, r13
mov ecx, dword [rbx + 0x10]
call fcn.1402827d0
mov rcx, r13
mov r8, qword [rsp + 0x30]
sub rcx, r8
mov qword [rbp + 0x18], rcx
sub rax, r13
mov qword [rbp + 0x20], rax
bt dword [rbx + 8], 0xb
jae 0x140288ee3
inc rdi
mov rax, rdi
sub rax, r8
mov qword [rbp + 0x28], rax
test r15, r15
je 0x140288ecb
sub r15, rdi
jmp 0x140288eda
xor eax, eax
or rcx, 0xffffffffffffffff
repne scasb al, byte [rdi]
not rcx
lea r15, [rcx - 1]
mov qword [rbp + 0x30], r15
mov r15, r8
jmp 0x140288f3e
lea rdx, [rdi + 1]
lea r8, [0x140333450]
mov ecx, dword [rbx + 0x10]
call fcn.140282740
mov r12, rax
test r15, r15
jne 0x140288f13
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, r12
repne scasb al, byte [rdi]
not rcx
lea r15, [rcx - 1]
add r15, r12
lea r9, [0x140333450]
mov r8, r15
mov rdx, r12
mov ecx, dword [rbx + 0x10]
call fcn.1402827d0
mov rcx, r12
mov r15, qword [rsp + 0x30]
sub rcx, r15
mov qword [rbp + 0x28], rcx
sub rax, r12
mov qword [rbp + 0x30], rax
or dword [rbp], 1
mov rdi, qword [rsp + 0x100]
test edi, edi
je 0x140288fa7
cmp qword [rsp + 0x110], 0
je 0x140288f9d
mov rax, qword [rbp + 0x18]
lea rdx, [r15 + rax]
mov r9, qword [rsp + 0x80]
mov r8, qword [rbp + 0x20]
mov rcx, rbx
call fcn.1402888f0
test eax, eax
je 0x140289044
jmp 0x140288fb1
mov r15, qword [rsp + 0x100]
jmp 0x140288fb9
mov r15, qword [rsp + 0x100]
jmp 0x140288fb9
mov r15, qword [rsp + 0x100]
jmp 0x140288fb9
mov r15, qword [rsp + 0x100]
jmp 0x140288fb9
mov r15, qword [rsp + 0x100]
jmp 0x140288fb9
mov r15, qword [rsp + 0x100]
test r14, r14
je 0x1402890b6
cmp byte [r14], 0
je 0x1402890b6
mov r12, r14
mov rdi, qword [rsp + 0x30]
jmp 0x140288c90
test r14, r14
je 0x140288fe3
sub r14, rax
jmp 0x140288fe7
or r14, 0xffffffffffffffff
mov qword [rbx + 0x78], r14
xor r12d, r12d
mov r13, qword [rsp + 0x118]
jmp 0x140289114
sub r12, qword [rsp + 0x38]
mov qword [rbx + 0x78], r12
mov edx, recv
mov ecx, 0x220f1e01
call fcn.140285fd0
mov rdi, rax
lea rbx, vtable.CAhnI2s_Memory.0
mov qword [rsp + 0x78], rbx
lea rcx, [rsp + 0x78]
call fcn.140281e70
nop
mov qword [rsp + 0x50], rbx
lea rcx, [rsp + 0x50]
call fcn.140281e70
mov rax, rdi
jmp 0x1402891c9
test r14, r14
je 0x140289050
sub r14, qword [rsp + 0x38]
jmp 0x140289054
or r14, 0xffffffffffffffff
mov qword [rbx + 0x78], r14
mov rdx, qword [rsp + 0x118]
test rdx, rdx
je 0x140289079
mov eax, edi
lea rcx, [rax + rax*2]
shl rcx, 4
add rcx, qword [rbx + 0x88]
mov qword [rdx], rcx
mov rax, qword [rsp + 0x120]
test rax, rax
je 0x140289089
mov qword [rax], rbp
lea rbx, vtable.CAhnI2s_Memory.0
mov qword [rsp + 0x78], rbx
lea rcx, [rsp + 0x78]
call fcn.140281e70
nop
mov qword [rsp + 0x50], rbx
lea rcx, [rsp + 0x50]
call fcn.140281e70
xor eax, eax
jmp 0x1402891c9
mov qword [rbx + 0x78], 0xffffffffffffffff
xor r12d, r12d
mov r13, qword [rsp + 0x118]
jmp 0x140289114
sub r12, qword [rsp + 0x38]
mov qword [rbx + 0x78], r12
mov edx, recv
mov ecx, 0x220f1e01
call fcn.140285fd0
mov rdi, rax
lea rbx, vtable.CAhnI2s_Memory.0
mov qword [rsp + 0x78], rbx
lea rcx, [rsp + 0x78]
call fcn.140281e70
nop
mov qword [rsp + 0x50], rbx
lea rcx, [rsp + 0x50]
call fcn.140281e70
mov rax, rdi
jmp 0x1402891c9
test r13, r13
je 0x140289139
test r15d, r15d
je 0x140289132
mov eax, r15d
lea rcx, [rax + rax*2]
shl rcx, 4
add rcx, qword [rbx + 0x88]
jmp 0x140289135
mov rcx, r12
mov qword [r13], rcx
cmp qword [rsp + 0x108], 0
je 0x1402891a1
cmp qword [rsp + 0x110], 0
jne 0x140289154
test r15d, r15d
jne 0x1402891a1
test r15d, r15d
mov r12d, 0
setne r12b
mov edx, 0x490
lea ecx, [r12 + 0x220f1f0b]
call fcn.140285fd0
mov rdi, rax
lea rbx, vtable.CAhnI2s_Memory.0
mov qword [rsp + 0x78], rbx
lea rcx, [rsp + 0x78]
call fcn.140281e70
nop
mov qword [rsp + 0x50], rbx
lea rcx, [rsp + 0x50]
call fcn.140281e70
mov rax, rdi
jmp 0x1402891c9
lea rbx, vtable.CAhnI2s_Memory.0
mov qword [rsp + 0x78], rbx
lea rcx, [rsp + 0x78]
call fcn.140281e70
nop
mov qword [rsp + 0x50], rbx
lea rcx, [rsp + 0x50]
call fcn.140281e70
xor eax, eax
add rsp, 0xb8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret