Function at 0x14000e890
Capabilities:
Encode data using base64

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x28
cmp dword [rdx], 0x35
mov rsi, rdx
mov r14, rcx
mov edi, 4
jne 0x14000e8d5
mov rcx, qword [rdx + 0x818]
call qword [sym.imp.api_ms_win_crt_private_l1_1_0.dll__o_free]
nop dword [rax + rax]
cmp dword [rsi + 0x810], edi
jne 0x14000e901
mov rcx, qword [rsi + 0x838]
jmp 0x14000e8f5
cmp dword [rdx], 0x91
jne 0x14000e8e6
mov rcx, qword [rdx + 0x818]
jmp 0x14000e8f5
cmp dword [rdx], 0x92
jne 0x14000e901
mov rcx, qword [rdx + 0x820]
call qword [sym.imp.api_ms_win_crt_private_l1_1_0.dll__o_free]
nop dword [rax + rax]
xor edx, edx
mov r8d, 0x840
mov rcx, rsi
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov rax, qword [r14]
mov r11d, 0xf
mov qword [rsp + 0x88], rax
mov ebx, dword [rax]
add rax, rdi
mov qword [r14], rax
mov r8d, ebx
shr r8d, 0x18
mov eax, ebx
shr eax, 0x13
and r8d, 0x7f
and eax, r11d
mov dword [rsp + 0x70], r8d
mov dword [rsi + 0x7d0], eax
mov edx, ebx
and edx, 0x7ff
mov eax, ebx
and eax, 0x2000
mov dword [rsi], edx
mov dword [rsi + 0x80c], eax
cmp edx, 0xec
jae 0x14000f3c1
lea rcx, [rdx + rdx*8]
xor ebp, ebp
lea rax, [0x14001e610]
movzx eax, byte [rax + rcx*8]
lea r13d, [r11 - 0xe]
mov dword [rsi + 0x7c8], eax
mov rax, qword [r14 + 8]
mov ecx, dword [rax]
mov eax, ecx
and eax, 0xf0
cmp eax, 0x50
ja 0x14000e9a4
jne 0x14000e99f
test r11b, cl
ja 0x14000e9a4
mov r15d, ebp
jmp 0x14000e9a7
mov r15d, r13d
test ebx, ebx
jns 0x14000e9ce
lea eax, [rdx - 0x91]
cmp eax, r13d
ja 0x14000e9ce
mov dword [rsi + 0x7cc], r13d
mov rax, qword [r14]
mov r12d, dword [rax]
add rax, rdi
mov qword [r14], rax
jmp 0x14000eac7
mov eax, ebx
mov dword [rsi + 0x7cc], ebp
sar eax, 0x1f
mov r10d, ebp
and eax, 3
test al, al
je 0x14000eac4
lea r9, [rsi + 0x7d4]
add dword [rsi + 0x7cc], r13d
mov rax, qword [r14]
mov r8d, dword [rax]
add rax, rdi
mov ecx, r8d
mov qword [r14], rax
and ecx, 0x3f
mov dword [r9], ecx
sub ecx, r13d
je 0x14000ea61
sub ecx, r13d
je 0x14000ea3f
cmp ecx, r13d
jne 0x14000eaa8
mov ecx, 6
lea rdx, [rsi + 0x7ec]
mov eax, r8d
shr eax, cl
add ecx, edi
and eax, r11d
mov dword [rdx], eax
add rdx, rdi
cmp ecx, 0x16
jb 0x14000ea29
jmp 0x14000eaa8
mov eax, r8d
shr eax, 6
and eax, 0x1f
mov dword [rsi + 0x7e4], eax
mov eax, r8d
shr eax, 0xb
and eax, 0xfff
mov dword [rsi + 0x7e8], eax
jmp 0x14000eaa8
mov eax, r8d
lea rcx, [rsi + 0x7e0]
shr eax, 9
mov edx, 3
and al, r11b
mov byte [rcx], al
mov eax, r8d
shr eax, 0xd
and al, r11b
mov byte [rsi + 0x7e1], al
mov eax, r8d
shr eax, 0x11
and al, r11b
mov byte [rsi + 0x7e2], al
mov al, byte [rcx]
test al, 8
je 0x14000eaa0
or al, 0xf0
mov byte [rcx], al
add rcx, r13
sub rdx, r13
jne 0x14000ea96
test r8d, r8d
jns 0x14000eabd
add r10d, r13d
add r9, rdi
cmp r10d, 3
jl 0x14000e9ee
mov r12d, dword [rsp + 0x70]
jmp 0x14000eac7
mov r12d, r8d
mov ecx, dword [rsi]
cmp ecx, 0x69
jg 0x14000efe1
je 0x14000ef56
cmp ecx, 0x5c
jg 0x14000eecf
je 0x14000eebe
cmp ecx, 0x3d
jg 0x14000ed80
je 0x14000ed4d
cmp ecx, 3
je 0x14000eeb6
cmp ecx, 5
je 0x14000ed42
cmp ecx, 0x1f
ja 0x14000eb1b
mov eax, 0x80002100
bt eax, ecx
jb 0x14000eeb6
cmp ecx, 0x35
jne 0x14000f2eb
shr ebx, 0xb
mov dword [rsi + 0x810], ebx
mov dword [rsi + 0x7d0], ebp
mov dword [rsi + 0x80c], ebp
mov dword [rsi + 0x7c8], ebp
mov rax, qword [r14]
mov eax, dword [rax]
mov dword [rsp + 0x70], eax
cmp eax, 2
jae 0x14000eb63
lea r12d, [rcx - 0x33]
mov qword [rsi + 0x818], rbp
mov dword [rsi + 0x814], ebp
jmp 0x14000ece7
lea eax, [rax*4 - 8]
mov dword [rsi + 0x814], eax
mov rax, qword [r14]
mov ecx, dword [rax]
sub ecx, 2
shl rcx, 2
call sub.api_ms_win_crt_private_l1_1_0.dll__o_malloc
mov qword [rsi + 0x818], rax
mov rcx, rax
test rax, rax
je 0x14000f3db
mov rdx, qword [r14]
mov eax, dword [rdx]
add rdx, rdi
lea r8d, [rax*4 - 8]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov eax, dword [rsi + 0x810]
test eax, eax
je 0x14000ed2e
cmp eax, edi
jne 0x14000ece2
mov ecx, dword [rsi + 0x814]
xorps xmm0, xmm0
mov r15, qword [rsi + 0x818]
shr ecx, 2
movups xmmword [rsi + 0x820], xmm0
movups xmmword [rsi + 0x830], xmm0
cmp ecx, 6
jb 0x14000ece2
mov eax, dword [r15 + 8]
mov r8d, 0x10000
mov edx, dword [r15 + 0x10]
add rax, rdi
mov r12d, dword [r15 + 0xc]
shr rax, 2
cmp edx, r8d
jae 0x14000ece2
cmp r12d, 0x1000
jae 0x14000ece2
cmp eax, r8d
jae 0x14000ece2
add eax, 5
add eax, edx
cmp ecx, eax
jb 0x14000ece2
lea eax, [rdx + 5]
imul rcx, r12, 0xf8
lea r13, [r15 + rax*4]
call sub.api_ms_win_crt_private_l1_1_0.dll__o_malloc
mov qword [rsi + 0x838], rax
test rax, rax
je 0x14000f3f5
lea rax, [r15 + 0x14]
mov qword [rsp + 0x80], rax
test r12d, r12d
je 0x14000ecca
cmp rax, r13
jae 0x14000ecc8
mov rcx, qword [rsi + 0x838]
xor edx, edx
mov eax, ebp
mov r8d, pe_nt_image_headers64
imul rbx, rax, 0xf8
add rcx, rbx
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov rdx, qword [rsi + 0x838]
mov rcx, r14
mov rax, qword [rsp + 0x80]
add rdx, rbx
mov rbx, qword [r14 + 0x10]
mov rdi, qword [r14]
mov qword [r14 + 0x10], r13
mov qword [r14], rax
call fcn.14000e4d4
mov rax, qword [r14]
inc ebp
mov qword [rsp + 0x80], rax
mov qword [r14], rdi
mov qword [r14 + 0x10], rbx
cmp ebp, r12d
jb 0x14000ec62
xor ebp, ebp
cmp rax, r13
je 0x14000ed0b
mov rcx, qword [rsi + 0x838]
call fcn.1400103be
mov qword [rsi + 0x838], rbp
mov r12d, dword [rsp + 0x70]
mov rcx, qword [rsp + 0x88]
mov eax, r12d
lea rcx, [rcx + rax*4]
mov qword [r14], rcx
add rsp, 0x28
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov eax, dword [r15]
mov dword [rsi + 0x820], eax
mov eax, dword [r15 + 4]
mov dword [rsi + 0x824], eax
mov qword [rsi + 0x828], r13
mov dword [rsi + 0x830], r12d
jmp 0x14000ece2
mov ecx, dword [rsi + 0x814]
mov rax, qword [rsi + 0x818]
mov byte [rcx + rax - 1], bpl
jmp 0x14000ece2
shr ebx, 0x12
and ebx, r13d
jmp 0x14000f0bc
shr ebx, 0xb
lea rdx, [rsi + 8]
and ebx, 3
mov rcx, r14
mov dword [rsi + 0x810], ebx
call fcn.14000e4d4
lea rdx, [rsi + 0x100]
mov rcx, r14
call fcn.14000e4d4
lea rdx, [rsi + 0x1f8]
jmp 0x14000f0a9
sub ecx, 0x3f
je 0x14000eeb6
sub ecx, 0x19
je 0x14000ee2d
sub ecx, r13d
je 0x14000edf8
sub ecx, r13d
je 0x14000edc1
cmp ecx, r13d
jne 0x14000f2eb
lea rdx, [rsi + 8]
mov rcx, r14
call fcn.14000e4d4
mov rax, qword [r14]
mov ecx, dword [rax]
mov dword [rsi + 0x810], ecx
jmp 0x14000ece7
shr ebx, 0xb
and ebx, r11d
lea rdx, [rsi + 8]
mov dword [rsi + 0x810], ebx
mov rcx, r14
call fcn.14000e4d4
mov dword [rsi + 0x814], ebp
test r15d, r15d
je 0x14000ece7
mov rax, qword [r14]
mov ecx, dword [rax]
mov dword [rsi + 0x814], ecx
jmp 0x14000ece7
shr ebx, 0xb
lea rdx, [rsi + 8]
and ebx, r13d
mov rcx, r14
mov dword [rsi + 0x810], ebx
call fcn.14000e4d4
mov dword [rsi + 0x818], ebp
test r15d, r15d
jne 0x14000f29e
mov eax, dword [rsi + 0x48]
mov dword [rsi + 0x814], eax
jmp 0x14000ece7
mov eax, ebx
lea rdx, [rsi + 8]
shr eax, 0xb
mov rcx, r14
and eax, 0x1f
mov dword [rsi + 0x810], eax
call fcn.14000e4d4
mov rax, qword [r14]
shr ebx, 0x10
mov ecx, dword [rax]
and ecx, 0xf
mov dword [rsi + 0x814], ecx
mov rax, qword [r14]
mov ecx, dword [rax]
shr ecx, 4
and ecx, 0xf
mov dword [rsi + 0x818], ecx
mov rax, qword [r14]
mov ecx, dword [rax]
shr ecx, 8
and ecx, 0xf
mov dword [rsi + 0x81c], ecx
mov rax, qword [r14]
mov ecx, dword [rax]
shr ecx, 0xc
and ecx, 0xf
and ebx, 0x7f
mov dword [rsi + 0x820], ecx
mov dword [rsi + 0x824], ebx
add qword [r14], rdi
mov dword [rsi + 0x828], ebp
test r15d, r15d
je 0x14000ece7
mov rax, qword [r14]
mov ecx, dword [rax]
mov dword [rsi + 0x828], ecx
jmp 0x14000ece7
shr ebx, 0x12
and ebx, r13d
jmp 0x14000ef02
shr ebx, 0xb
and ebx, 0x3f
mov dword [rsi + 0x810], ebx
jmp 0x14000ece7
cmp ecx, 0x63
jg 0x14000ef11
je 0x14000ef33
sub ecx, 0x5d
je 0x14000eebe
sub ecx, r13d
je 0x14000edb1
sub ecx, r13d
je 0x14000ef08
sub ecx, r13d
je 0x14000ef3f
sub ecx, r13d
je 0x14000ef3f
cmp ecx, r13d
jne 0x14000f2eb
shr ebx, 0xb
and ebx, r11d
mov dword [rsi + 0x810], ebx
lea rdx, [rsi + 8]
jmp 0x14000f0a9
sub ecx, 0x64
je 0x14000ef33
sub ecx, r13d
je 0x14000ef08
sub ecx, r13d
je 0x14000ef3f
sub ecx, r13d
je 0x14000ef3f
cmp ecx, r13d
jne 0x14000f2eb
jmp 0x14000edb1
shr ebx, 0xb
and ebx, r11d
mov dword [rsi + 0x814], ebx
lea rdx, [rsi + 8]
mov rcx, r14
call fcn.14000e4d4
mov rax, qword [r14]
movzx ecx, word [rax]
jmp 0x14000edb6
mov rax, qword [r14]
mov ecx, dword [rax]
mov dword [rsi + 0x810], ecx
add qword [r14], rdi
mov rax, qword [r14]
mov ecx, dword [rax]
mov dword [rsi + 0x814], ecx
add qword [r14], rdi
mov rax, qword [r14]
mov ecx, dword [rax]
cmp ecx, r13d
mov eax, ecx
cmovb eax, r13d
cmp eax, edi
ja 0x14000ef8d
cmp ecx, r13d
cmovb ecx, r13d
mov edi, ecx
sub edi, r13d
je 0x14000efd2
sub edi, r13d
je 0x14000efc3
sub edi, r13d
je 0x14000efb4
cmp edi, r13d
jne 0x14000ece7
mov dword [rsi + 0x818], 0xf0
jmp 0x14000ece7
mov dword [rsi + 0x818], 0x70
jmp 0x14000ece7
mov dword [rsi + 0x818], 0x30
jmp 0x14000ece7
mov dword [rsi + 0x818], 0x10
jmp 0x14000ece7
mov eax, 0x98
cmp ecx, eax
jg 0x14000f195
je 0x14000edb1
mov eax, 0x92
cmp ecx, eax
jg 0x14000f157
je 0x14000f0e2
sub ecx, 0x6a
je 0x14000f0d7
sub ecx, 5
je 0x14000f0b6
sub ecx, 9
je 0x14000f08d
sub ecx, 0x17
je 0x14000ef08
sub ecx, r13d
je 0x14000edb1
cmp ecx, r13d
jne 0x14000f2eb
mov rax, qword [r14]
mov ecx, dword [rax]
mov dword [rsi + 0x810], ecx
add qword [r14], rdi
mov rax, qword [r14]
mov ecx, dword [rax]
mov dword [rsi + 0x814], ecx
shl rcx, 2
call sub.api_ms_win_crt_private_l1_1_0.dll__o_malloc
mov qword [rsi + 0x818], rax
test rax, rax
je 0x14000f40f
add qword [r14], rdi
mov r8d, dword [rsi + 0x814]
mov rcx, qword [rsi + 0x818]
mov rdx, qword [r14]
shl r8, 2
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
jmp 0x14000ece7
mov rax, qword [r14]
lea rdx, [rsi + 8]
mov ecx, dword [rax]
add rax, rdi
mov qword [r14], rax
mov dword [rsi + 0x810], ecx
mov qword [rsi + 0x818], rdx
mov rcx, r14
call fcn.14000e4d4
jmp 0x14000ece7
shr ebx, 0xb
and ebx, 3
lea rdx, [rsi + 8]
mov dword [rsi + 0x810], ebx
mov rcx, r14
call fcn.14000e4d4
lea rdx, [rsi + 0x100]
jmp 0x14000f0a9
and ebx, 0xfff800
jmp 0x14000eec4
shr ebx, 0xb
and bl, r13b
mov byte [rsi + 0x828], bl
mov rax, qword [r14]
movzx ecx, word [rax]
mov word [rsi + 0x810], cx
add qword [r14], rdi
mov rax, qword [r14]
mov ecx, dword [rax]
mov dword [rsi + 0x814], ecx
add qword [r14], rdi
mov rax, qword [r14]
mov ecx, dword [rax]
movzx ecx, cx
mov dword [rsi + 0x818], ecx
mov rax, qword [r14]
shl rcx, 2
movzx edx, word [rax + 2]
mov word [rsi + 0x812], dx
call sub.api_ms_win_crt_private_l1_1_0.dll__o_malloc
mov qword [rsi + 0x820], rax
test rax, rax
je 0x14000f429
add qword [r14], rdi
mov r8d, dword [rsi + 0x818]
mov rcx, qword [rsi + 0x820]
jmp 0x14000f07c
sub ecx, 0x93
je 0x14000eebe
sub ecx, r13d
je 0x14000eebe
sub ecx, r13d
je 0x14000f18a
sub ecx, r13d
je 0x14000f17f
cmp ecx, r13d
jne 0x14000f2eb
shr ebx, 0xb
and ebx, 7
jmp 0x14000eec4
shr ebx, 0xb
and ebx, 3
jmp 0x14000eec4
mov eax, 0x9f
cmp ecx, eax
jg 0x14000f2bf
je 0x14000eda5
sub ecx, 0x99
je 0x14000edb1
sub ecx, r13d
je 0x14000edb1
sub ecx, r13d
je 0x14000f28d
sub ecx, r13d
je 0x14000f221
sub ecx, r13d
je 0x14000f216
cmp ecx, r13d
jne 0x14000f2eb
and ebx, 0x830000
lea rdx, [rsi + 8]
mov rcx, r14
mov dword [rsi + 0x814], ebx
call fcn.14000e4d4
mov rax, qword [r14]
mov ecx, dword [rax]
add rax, rdi
mov qword [r14], rax
mov dword [rsi + 0x810], ecx
mov dword [rsi + 0x818], ebp
test r15d, r15d
je 0x14000ece7
jmp 0x14000f2af
and ebx, 0x830000
jmp 0x14000edc7
mov eax, ebx
lea rdx, [rsi + 8]
shr eax, 0xb
and ebx, 0x830000
and eax, 0x1f
mov dword [rsi + 0x824], ebx
mov rcx, r14
mov dword [rsi + 0x810], eax
call fcn.14000e4d4
mov rax, qword [r14]
mov ecx, dword [rax]
and ecx, 0xf
mov dword [rsi + 0x814], ecx
mov rax, qword [r14]
mov ecx, dword [rax]
shr ecx, 4
and ecx, 0xf
mov dword [rsi + 0x818], ecx
mov rax, qword [r14]
mov ecx, dword [rax]
shr ecx, 8
and ecx, 0xf
mov dword [rsi + 0x81c], ecx
mov rax, qword [r14]
mov ecx, dword [rax]
shr ecx, 0xc
and ecx, 0xf
mov dword [rsi + 0x820], ecx
jmp 0x14000ee94
mov rax, qword [r14]
mov ecx, dword [rax]
add rax, rdi
mov qword [r14], rax
mov dword [rsi + 0x810], ecx
mov rax, qword [r14]
mov ecx, dword [rax]
add rax, rdi
mov qword [r14], rax
mov dword [rsi + 0x814], ecx
mov rax, qword [r14]
mov ecx, dword [rax]
mov dword [rsi + 0x818], ecx
jmp 0x14000ece7
sub ecx, 0xa0
je 0x14000f39f
sub ecx, r13d
je 0x14000f37f
sub ecx, r13d
je 0x14000f35d
sub ecx, 0x1c
je 0x14000f31f
cmp ecx, 0x10
je 0x14000edb1
cmp dword [rsi + 0x7c8], ebp
jbe 0x14000ece7
mov eax, ebp
lea rdx, [rsi + 8]
imul rcx, rax, 0xf8
add rdx, rcx
mov rcx, r14
call fcn.14000e4d4
add ebp, r13d
cmp ebp, dword [rsi + 0x7c8]
jb 0x14000f2f7
jmp 0x14000ece7
and ebx, 0x7800
mov eax, ebx
shr eax, 0xb
and al, r13b
mov byte [rsi + 0x810], al
mov eax, ebx
shr eax, 0xc
and al, r13b
mov byte [rsi + 0x811], al
mov eax, ebx
shr eax, 0xd
and al, r13b
shr ebx, 0xe
mov byte [rsi + 0x812], bl
mov byte [rsi + 0x813], al
jmp 0x14000ece7
lea rdx, [rsi + 8]
mov rcx, r14
call fcn.14000e4d4
mov rax, qword [r14]
mov ecx, dword [rax]
add rax, rdi
mov qword [r14], rax
mov dword [rsi + 0x810], ecx
jmp 0x14000edd9
lea rdx, [rsi + 8]
mov rcx, r14
call fcn.14000e4d4
mov dword [rsi + 0x810], ebp
test r15d, r15d
je 0x14000ece7
jmp 0x14000edb1
lea rdx, [rsi + 8]
mov rcx, r14
call fcn.14000e4d4
mov rax, qword [r14]
mov ecx, dword [rax]
add rax, rdi
mov qword [r14], rax
mov dword [rsi + 0x810], ecx
jmp 0x14000ede8
lea rdx, [0x14001a010]
mov dword [rsp + 0x70], 0x80004005
lea rcx, [rsp + 0x70]
call sub.api_ms_win_crt_private_l1_1_0.dll__CxxThrowException
int3
lea rdx, [0x14001a010]
mov dword [rsp + 0x70], 0x8007000e
lea rcx, [rsp + 0x70]
call sub.api_ms_win_crt_private_l1_1_0.dll__CxxThrowException
int3
lea rdx, [0x14001a010]
mov dword [rsp + 0x70], 0x8007000e
lea rcx, [rsp + 0x70]
call sub.api_ms_win_crt_private_l1_1_0.dll__CxxThrowException
int3
lea rdx, [0x14001a010]
mov dword [rsp + 0x70], 0x8007000e
lea rcx, [rsp + 0x70]
call sub.api_ms_win_crt_private_l1_1_0.dll__CxxThrowException
int3
lea rdx, [0x14001a010]
mov dword [rsp + 0x70], 0x8007000e
lea rcx, [rsp + 0x70]
call sub.api_ms_win_crt_private_l1_1_0.dll__CxxThrowException
int3