Function at 0x426140
Capabilities:
Encode data using base64

Disassembly:
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x28
mov rsi, qword [rcx + 0x90]
xor ebp, ebp
cmp dword [rsi + 0xc], 0xffffffff
je 0x426162
mov eax, ebp
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
ret
mov eax, dword [rdx + 0xc]
test eax, eax
js 0x426157
mov rbx, qword [rcx + 0x98]
lea rcx, [rdx + 0x90]
mov r8d, 0x40
lea rdi, [rbx + 0x90]
mov rdx, rdi
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x426157
movzx edx, byte [rbx]
mov byte [rsi], dl
movzx ecx, byte [rbx + 1]
mov byte [rsi + 1], cl
movzx ebp, byte [rbx + 2]
mov byte [rsi + 2], bpl
movzx r8d, byte [rbx + 3]
mov byte [rsi + 3], r8b
movzx r9d, byte [rbx + 4]
mov byte [rsi + 4], r9b
movzx r10d, byte [rbx + 5]
lea r9, [rbx + 0x40]
mov byte [rsi + 5], r10b
mov rcx, qword [rbx + 0x18]
mov r11d, dword [rbx + 8]
mov eax, dword [rbx + 0xc]
mov edx, dword [rbx + 0x10]
mov rbp, qword [rbx + 0x20]
mov qword [rsi + 0x18], rcx
mov r8, qword [rbx + 0x28]
lea rcx, [rsi + 0x30]
mov dword [rsi + 8], r11d
mov dword [rsi + 0xc], eax
cmp r9, rcx
mov dword [rsi + 0x10], edx
mov qword [rsi + 0x20], rbp
mov qword [rsi + 0x28], r8
lea rdx, [rbx + 0x30]
jbe 0x426209
lea r10, [rsi + 0x40]
cmp rdx, r10
jb 0x426982
mov rax, rdx
neg rax
and eax, 0xf
je 0x4269f0
movzx ecx, byte [rbx + 0x30]
cmp rax, 1
lea rdx, [rbx + 0x31]
mov byte [rsi + 0x30], cl
lea rcx, [rsi + 0x31]
je 0x426b60
movzx edx, byte [rbx + 0x31]
cmp rax, 2
lea rcx, [rsi + 0x32]
mov byte [rsi + 0x31], dl
lea rdx, [rbx + 0x32]
je 0x426a93
movzx r8d, byte [rbx + 0x32]
cmp rax, 3
lea rcx, [rsi + 0x33]
lea rdx, [rbx + 0x33]
mov byte [rsi + 0x32], r8b
je 0x426b20
movzx r10d, byte [rbx + 0x33]
cmp rax, 4
lea rcx, [rsi + 0x34]
lea rdx, [rbx + 0x34]
mov byte [rsi + 0x33], r10b
je 0x426b30
movzx ebp, byte [rbx + 0x34]
cmp rax, 5
lea rcx, [rsi + 0x35]
lea rdx, [rbx + 0x35]
mov byte [rsi + 0x34], bpl
je 0x426b40
movzx r11d, byte [rbx + 0x35]
cmp rax, 6
lea rcx, [rsi + 0x36]
lea rdx, [rbx + 0x36]
mov byte [rsi + 0x35], r11b
je 0x426b50
movzx r9d, byte [rbx + 0x36]
cmp rax, 7
lea rcx, [rsi + 0x37]
lea rdx, [rbx + 0x37]
mov byte [rsi + 0x36], r9b
je 0x426aa0
movzx ecx, byte [rbx + 0x37]
cmp rax, 8
lea rdx, [rbx + 0x38]
mov byte [rsi + 0x37], cl
lea rcx, [rsi + 0x38]
je 0x426ab0
movzx edx, byte [rbx + 0x38]
cmp rax, 9
lea rcx, [rsi + 0x39]
mov byte [rsi + 0x38], dl
lea rdx, [rbx + 0x39]
je 0x426ac0
movzx r8d, byte [rbx + 0x39]
cmp rax, 0xa
lea rcx, [rsi + 0x3a]
lea rdx, [rbx + 0x3a]
mov byte [rsi + 0x39], r8b
je 0x426ad0
movzx r10d, byte [rbx + 0x3a]
cmp rax, 0xb
lea rcx, [rsi + 0x3b]
lea rdx, [rbx + 0x3b]
mov byte [rsi + 0x3a], r10b
je 0x426ae0
movzx ebp, byte [rbx + 0x3b]
cmp rax, 0xc
lea rcx, [rsi + 0x3c]
lea rdx, [rbx + 0x3c]
mov byte [rsi + 0x3b], bpl
je 0x426af0
movzx r11d, byte [rbx + 0x3c]
cmp rax, 0xd
lea rcx, [rsi + 0x3d]
lea rdx, [rbx + 0x3d]
mov byte [rsi + 0x3c], r11b
je 0x426b00
movzx r9d, byte [rbx + 0x3d]
cmp rax, 0xe
lea rcx, [rsi + 0x3e]
lea rdx, [rbx + 0x3e]
mov byte [rsi + 0x3d], r9b
je 0x426b10
movzx ecx, byte [rbx + 0x3e]
lea rdx, [rbx + 0x3f]
mov r9d, 0x51
mov byte [rsi + 0x3e], cl
lea rcx, [rsi + 0x3f]
mov r11d, 0x60
mov r10d, 0x50
mov ebp, 5
sub r11, rax
add rax, 0x30
lea r8, [rbx + rax]
add rax, rsi
cmp rbp, 5
movdqa xmm0, xmmword [r8]
movups xmmword [rax], xmm0
movdqa xmm1, xmmword [r8 + 0x10]
movups xmmword [rax + 0x10], xmm1
movdqa xmm2, xmmword [r8 + 0x20]
movups xmmword [rax + 0x20], xmm2
movdqa xmm3, xmmword [r8 + 0x30]
movups xmmword [rax + 0x30], xmm3
movdqa xmm4, xmmword [r8 + 0x40]
movups xmmword [rax + 0x40], xmm4
je 0x4263fc
movdqa xmm5, xmmword [r8 + 0x50]
movups xmmword [rax + 0x50], xmm5
add rdx, r10
sub r9, r10
cmp r10, r11
lea rax, [rcx + r10]
je 0x4264f1
cmp r9, 1
movzx r10d, byte [rdx]
mov byte [rax], r10b
je 0x4264f1
movzx ebp, byte [rdx + 1]
cmp r9, 2
mov byte [rax + 1], bpl
je 0x4264f1
movzx r11d, byte [rdx + 2]
cmp r9, 3
mov byte [rax + 2], r11b
je 0x4264f1
movzx ecx, byte [rdx + 3]
cmp r9, 4
mov byte [rax + 3], cl
je 0x4264f1
movzx r8d, byte [rdx + 4]
cmp r9, 5
mov byte [rax + 4], r8b
je 0x4264f1
movzx r10d, byte [rdx + 5]
cmp r9, 6
mov byte [rax + 5], r10b
je 0x4264f1
movzx ebp, byte [rdx + 6]
cmp r9, 7
mov byte [rax + 6], bpl
je 0x4264f1
movzx r11d, byte [rdx + 7]
cmp r9, 8
mov byte [rax + 7], r11b
je 0x4264f1
movzx ecx, byte [rdx + 8]
cmp r9, 9
mov byte [rax + 8], cl
je 0x4264f1
movzx r8d, byte [rdx + 9]
cmp r9, 0xa
mov byte [rax + 9], r8b
je 0x4264f1
movzx r10d, byte [rdx + 0xa]
cmp r9, 0xb
mov byte [rax + 0xa], r10b
je 0x4264f1
movzx ebp, byte [rdx + 0xb]
cmp r9, 0xc
mov byte [rax + 0xb], bpl
je 0x4264f1
movzx r11d, byte [rdx + 0xc]
cmp r9, 0xd
mov byte [rax + 0xc], r11b
je 0x4264f1
movzx ecx, byte [rdx + 0xd]
cmp r9, 0xe
mov byte [rax + 0xd], cl
je 0x4264f1
movzx edx, byte [rdx + 0xe]
mov byte [rax + 0xe], dl
mov rax, qword [rbx + 0x90]
mov qword [rsi + 0x90], rax
mov r9, qword [rdi + 8]
mov qword [rsi + 0x98], r9
mov r8, qword [rdi + 0x10]
mov qword [rsi + 0xa0], r8
mov r10, qword [rdi + 0x18]
lea r8, [rbx + 0xf0]
mov qword [rsi + 0xa8], r10
mov rbp, qword [rdi + 0x20]
mov qword [rsi + 0xb0], rbp
mov r11, qword [rdi + 0x28]
lea rbp, [rsi + 0xe0]
cmp rbp, r8
mov qword [rsi + 0xb8], r11
mov rcx, qword [rdi + 0x30]
mov qword [rsi + 0xc0], rcx
mov rdi, qword [rdi + 0x38]
mov qword [rsi + 0xc8], rdi
mov edx, dword [rbx + 0xd0]
lea rdi, [rbx + 0xe0]
mov eax, dword [rbx + 0xd8]
mov r9d, dword [rbx + 0xdc]
mov dword [rsi + 0xd0], edx
mov dword [rsi + 0xd8], eax
mov dword [rsi + 0xdc], r9d
jae 0x42659c
lea r10, [rsi + 0xf0]
cmp rdi, r10
jb 0x426a30
mov rcx, rdi
neg rcx
and ecx, 0xf
je 0x426a10
movzx ebp, byte [rbx + 0xe0]
cmp rcx, 1
lea rdi, [rbx + 0xe1]
mov byte [rsi + 0xe0], bpl
lea rbp, [rsi + 0xe1]
je 0x426ba0
movzx edi, byte [rbx + 0xe1]
cmp rcx, 2
lea rbp, [rsi + 0xe2]
mov byte [rsi + 0xe1], dil
lea rdi, [rbx + 0xe2]
je 0x426bc0
movzx eax, byte [rbx + 0xe2]
cmp rcx, 3
lea rbp, [rsi + 0xe3]
lea rdi, [rbx + 0xe3]
mov byte [rsi + 0xe2], al
je 0x426bb0
movzx r10d, byte [rbx + 0xe3]
cmp rcx, 4
lea rbp, [rsi + 0xe4]
lea rdi, [rbx + 0xe4]
mov byte [rsi + 0xe3], r10b
je 0x426c40
movzx r11d, byte [rbx + 0xe4]
cmp rcx, 5
lea rbp, [rsi + 0xe5]
lea rdi, [rbx + 0xe5]
mov byte [rsi + 0xe4], r11b
je 0x426c30
movzx edx, byte [rbx + 0xe5]
cmp rcx, 6
lea rbp, [rsi + 0xe6]
lea rdi, [rbx + 0xe6]
mov byte [rsi + 0xe5], dl
je 0x426c20
movzx r9d, byte [rbx + 0xe6]
cmp rcx, 7
lea rbp, [rsi + 0xe7]
lea rdi, [rbx + 0xe7]
mov byte [rsi + 0xe6], r9b
je 0x426c10
movzx r8d, byte [rbx + 0xe7]
cmp rcx, 8
lea rbp, [rsi + 0xe8]
lea rdi, [rbx + 0xe8]
mov byte [rsi + 0xe7], r8b
je 0x426c00
movzx ebp, byte [rbx + 0xe8]
cmp rcx, 9
lea rdi, [rbx + 0xe9]
mov byte [rsi + 0xe8], bpl
lea rbp, [rsi + 0xe9]
je 0x426bf0
movzx edi, byte [rbx + 0xe9]
cmp rcx, 0xa
lea rbp, [rsi + 0xea]
mov byte [rsi + 0xe9], dil
lea rdi, [rbx + 0xea]
je 0x426be0
movzx eax, byte [rbx + 0xea]
cmp rcx, 0xb
lea rbp, [rsi + 0xeb]
lea rdi, [rbx + 0xeb]
mov byte [rsi + 0xea], al
je 0x426bd0
movzx r10d, byte [rbx + 0xeb]
cmp rcx, 0xc
lea rbp, [rsi + 0xec]
lea rdi, [rbx + 0xec]
mov byte [rsi + 0xeb], r10b
je 0x426b80
movzx r11d, byte [rbx + 0xec]
cmp rcx, 0xd
lea rbp, [rsi + 0xed]
lea rdi, [rbx + 0xed]
mov byte [rsi + 0xec], r11b
je 0x426b70
movzx edx, byte [rbx + 0xed]
cmp rcx, 0xe
lea rbp, [rsi + 0xee]
lea rdi, [rbx + 0xee]
mov byte [rsi + 0xed], dl
je 0x426b90
movzx r9d, byte [rbx + 0xee]
lea rbp, [rsi + 0xef]
lea rdi, [rbx + 0xef]
mov r8d, 0x99
mov byte [rsi + 0xee], r9b
mov edx, 0x98
mov r9d, 0xa8
sub rdx, rcx
sub r9, rcx
shr rdx, 4
add rdx, 1
mov r11, rdx
shl r11, 4
add rcx, 0xe0
add rbx, rcx
add rsi, rcx
cmp rdx, 9
movdqa xmm0, xmmword [rbx]
movups xmmword [rsi], xmm0
movdqa xmm1, xmmword [rbx + 0x10]
movups xmmword [rsi + 0x10], xmm1
movdqa xmm2, xmmword [rbx + 0x20]
movups xmmword [rsi + 0x20], xmm2
movdqa xmm3, xmmword [rbx + 0x30]
movups xmmword [rsi + 0x30], xmm3
movdqa xmm4, xmmword [rbx + 0x40]
movups xmmword [rsi + 0x40], xmm4
movdqa xmm5, xmmword [rbx + 0x50]
movups xmmword [rsi + 0x50], xmm5
movdqa xmm0, xmmword [rbx + 0x60]
movups xmmword [rsi + 0x60], xmm0
movdqa xmm1, xmmword [rbx + 0x70]
movups xmmword [rsi + 0x70], xmm1
movdqa xmm2, xmmword [rbx + 0x80]
movups xmmword [rsi + 0x80], xmm2
je 0x42687b
movdqa xmm3, xmmword [rbx + 0x90]
movups xmmword [rsi + 0x90], xmm3
mov rbx, r8
add rdi, r11
lea rsi, [rbp + r11]
sub rbx, r11
cmp r11, r9
je 0x426972
movzx ecx, byte [rdi]
cmp rbx, 1
mov byte [rsi], cl
je 0x426972
movzx r8d, byte [rdi + 1]
cmp rbx, 2
mov byte [rsi + 1], r8b
je 0x426972
movzx ebp, byte [rdi + 2]
cmp rbx, 3
mov byte [rsi + 2], bpl
je 0x426972
movzx eax, byte [rdi + 3]
cmp rbx, 4
mov byte [rsi + 3], al
je 0x426972
movzx r10d, byte [rdi + 4]
cmp rbx, 5
mov byte [rsi + 4], r10b
je 0x426972
movzx r11d, byte [rdi + 5]
cmp rbx, 6
mov byte [rsi + 5], r11b
je 0x426972
movzx edx, byte [rdi + 6]
cmp rbx, 7
mov byte [rsi + 6], dl
je 0x426972
movzx r9d, byte [rdi + 7]
cmp rbx, 8
mov byte [rsi + 7], r9b
je 0x426972
movzx ecx, byte [rdi + 8]
cmp rbx, 9
mov byte [rsi + 8], cl
je 0x426972
movzx r8d, byte [rdi + 9]
cmp rbx, 0xa
mov byte [rsi + 9], r8b
je 0x426972
movzx ebp, byte [rdi + 0xa]
cmp rbx, 0xb
mov byte [rsi + 0xa], bpl
je 0x426972
movzx eax, byte [rdi + 0xb]
cmp rbx, 0xc
mov byte [rsi + 0xb], al
je 0x426972
movzx r10d, byte [rdi + 0xc]
cmp rbx, 0xd
mov byte [rsi + 0xc], r10b
je 0x426972
movzx r11d, byte [rdi + 0xd]
cmp rbx, 0xe
mov byte [rsi + 0xd], r11b
je 0x426972
movzx edi, byte [rdi + 0xe]
mov byte [rsi + 0xe], dil
mov ebp, 1
mov eax, ebp
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
ret
xor r11d, r11d
movzx eax, byte [rdx + r11]
mov byte [rcx + r11], al
movzx ebp, byte [rdx + r11 + 1]
mov byte [rcx + r11 + 1], bpl
movzx r8d, byte [rdx + r11 + 2]
mov byte [rcx + r11 + 2], r8b
movzx r9d, byte [rdx + r11 + 3]
mov byte [rcx + r11 + 3], r9b
movzx r10d, byte [rdx + r11 + 4]
mov byte [rcx + r11 + 4], r10b
movzx eax, byte [rdx + r11 + 5]
mov byte [rcx + r11 + 5], al
movzx ebp, byte [rdx + r11 + 6]
mov byte [rcx + r11 + 6], bpl
movzx r8d, byte [rdx + r11 + 7]
mov byte [rcx + r11 + 7], r8b
add r11, 8
cmp r11, 0x60
jne 0x426985
jmp 0x4264f1
mov r10d, 0x60
mov ebp, 6
mov r11d, 0x60
mov r9d, 0x60
jmp 0x4263b1
mov r11d, 0xa0
mov edx, 0xa
mov r9d, 0xa8
mov r8d, 0xa8
jmp 0x426804
xor esi, esi
movzx ebx, byte [rdi + rsi]
mov byte [rbp + rsi], bl
movzx r11d, byte [rdi + rsi + 1]
mov byte [rbp + rsi + 1], r11b
movzx ecx, byte [rdi + rsi + 2]
mov byte [rbp + rsi + 2], cl
movzx edx, byte [rdi + rsi + 3]
mov byte [rbp + rsi + 3], dl
movzx eax, byte [rdi + rsi + 4]
mov byte [rbp + rsi + 4], al
movzx r9d, byte [rdi + rsi + 5]
mov byte [rbp + rsi + 5], r9b
movzx r8d, byte [rdi + rsi + 6]
mov byte [rbp + rsi + 6], r8b
movzx r10d, byte [rdi + rsi + 7]
mov byte [rbp + rsi + 7], r10b
add rsi, 8
cmp rsi, 0xa8
jne 0x426a32
jmp 0x426972
mov r9d, 0x5e
jmp 0x42639d
mov r9d, 0x59
jmp 0x42639d
mov r9d, 0x58
jmp 0x42639d
mov r9d, 0x57
jmp 0x42639d
mov r9d, 0x56
jmp 0x42639d
mov r9d, 0x55
jmp 0x42639d
mov r9d, 0x54
jmp 0x42639d
mov r9d, 0x53
jmp 0x42639d
mov r9d, 0x52
jmp 0x42639d
mov r9d, 0x5d
jmp 0x42639d
mov r9d, 0x5c
jmp 0x42639d
mov r9d, 0x5b
jmp 0x42639d
mov r9d, 0x5a
jmp 0x42639d
mov r9d, 0x5f
jmp 0x42639d
mov r8d, 0x9b
jmp 0x4267e4
mov r8d, 0x9c
jmp 0x4267e4
mov r8d, 0x9a
jmp 0x4267e4
mov r8d, 0xa7
jmp 0x4267e4
mov r8d, 0xa5
jmp 0x4267e4
mov r8d, 0xa6
jmp 0x4267e4
mov r8d, 0x9d
jmp 0x4267e4
mov r8d, 0x9e
jmp 0x4267e4
mov r8d, 0x9f
jmp 0x4267e4
mov r8d, 0xa0
jmp 0x4267e4
mov r8d, 0xa1
jmp 0x4267e4
mov r8d, 0xa2
jmp 0x4267e4
mov r8d, 0xa3
jmp 0x4267e4
mov r8d, 0xa4
jmp 0x4267e4