Function at 0x1004a0070
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x88
mov qword [rsp + 0xd0], rcx
mov rbp, rdx
mov dword [rsp + 0xe0], r8d
mov dword [rsp + 0xe8], r9d
nop
xor edi, edi
xor r13d, r13d
lea r14, [0x1004f077b]
mov r15, rbp
mov qword [rsp + 0x30], 0
mov r12, r13
mov ebp, edi
test r15, r15
je 0x1004a01fd
nop word cs:[rax + rax]
mov r9, qword [rsp + 0xd0]
xor r13d, r13d
xor r10d, r10d
xor edi, edi
mov qword [rsp + 0x38], r12
mov rsi, r12
mov rbx, qword [rsp + 0xd0]
mov r12d, ebp
mov qword [rsp + 0xd8], r15
add r9, r15
mov r15, r13
mov r13d, r10d
jmp 0x1004a0159
lea eax, [r8 + 0x40]
cmp al, 0x3d
jbe 0x1004a02f0
test r8b, r8b
jns 0x1004a02f0
test rsi, rsi
je 0x1004a0143
mov rcx, rsi
mov rdx, r14
mov qword [rsp + 0x40], r9
add rsi, 4
call sub.msys_2.0.dll_sprintf
mov r9, qword [rsp + 0x40]
add r15, 4
nop word [rax + rax]
add rbx, 1
cmp rbx, r9
je 0x1004a01d0
movzx r8d, byte [rbx]
test r12d, r12d
jne 0x1004a0110
test edi, edi
je 0x1004a0280
lea eax, [r8 - 0x80]
lea r11d, [r13 + 1]
cmp al, 0x3f
ja 0x1004a02f8
mov rax, qword [rsp + 0x30]
movsxd rdx, r13d
mov r13d, r11d
mov byte [rsp + rdx + 0x78], r8b
and r8d, 0x3f
shl rax, 6
or r8, rax
mov qword [rsp + 0x30], r8
sub edi, 1
jne 0x1004a0150
mov r12d, dword [0x100507778]
test r12d, r12d
je 0x1004a0508
test rsi, rsi
jne 0x1004a0620
movsxd rbp, r11d
add rbx, 1
xor r12d, r12d
xor r13d, r13d
add r15, rbp
cmp rbx, r9
jne 0x1004a0159
nop dword [rax]
mov ebp, r12d
mov r12, qword [rsp + 0x38]
mov r13, r15
mov r15, qword [rsp + 0xd8]
test r12, r12
jne 0x1004a0210
lea rcx, [r13 + 1]
call sub.msys_gcrypt_20.dll_gcry_xmalloc
mov r12, rax
test r15, r15
jne 0x1004a00d0
mov rsi, r12
xor r13d, r13d
test r12, r12
je 0x1004a01e8
nop dword [rax + rax]
mov edx, dword [rsp + 0xe8]
mov r13, r12
mov rbp, r15
test edx, edx
je 0x1004a075c
mov byte [rsi], 0
lea r12, str.utf_8
mov rcx, qword [str.iso_8859_1]
mov rdx, r12
call sub.msys_iconv_2.dll_libiconv_open
cmp rax, 0xffffffffffffffff
jne 0x1004a0779
mov rcx, qword [str.iso_8859_1]
mov r8d, 1
mov rdx, r12
call fcn.10049ff70
mov rcx, r13
call sub.msys_gcrypt_20.dll_gcry_free
mov eax, dword [0x100507774]
mov dword [rsp + 0xe8], eax
jmp 0x1004a00a0
test r8b, r8b
js 0x1004a0320
cmp dword [rsp + 0xe0], 0xffffffff
je 0x1004a02d0
cmp r8b, 0x1f
jbe 0x1004a0430
cmp r8b, 0x7f
je 0x1004a0430
movzx eax, r8b
cmp eax, dword [rsp + 0xe0]
je 0x1004a0558
cmp r8b, 0x5c
jne 0x1004a02d0
mov r10d, dword [rsp + 0xe0]
test r10d, r10d
jne 0x1004a0558
nop
test rsi, rsi
je 0x1004a02dc
mov byte [rsi], r8b
add rsi, 1
add r15, 1
xor r12d, r12d
xor edi, edi
jmp 0x1004a0150
lea r11d, [r13 + 1]
test edi, edi
je 0x1004a0280
test rsi, rsi
jne 0x1004a03a0
lea ebp, [r11*4]
mov r12d, 1
xor r13d, r13d
xor edi, edi
movsxd rbp, ebp
add r15, rbp
jmp 0x1004a0150
mov eax, r8d
and eax, 0xffffffe0
cmp al, 0xc0
je 0x1004a04e0
mov eax, r8d
and eax, 0xfffffff0
cmp al, 0xe0
je 0x1004a0530
mov eax, r8d
and eax, 0xfffffff8
cmp al, 0xf0
je 0x1004a05d0
mov eax, r8d
and eax, 0xfffffffc
cmp al, 0xf8
je 0x1004a0658
mov eax, r8d
and eax, 0xfffffffe
cmp al, 0xfc
je 0x1004a06d5
test rsi, rsi
je 0x1004a0388
mov rcx, rsi
lea rdx, [0x1004f077b]
mov qword [rsp + 0x40], r9
add rsi, 4
call sub.msys_2.0.dll_sprintf
mov r9, qword [rsp + 0x40]
add r15, 4
mov r12d, 1
xor edi, edi
jmp 0x1004a0150
test r13d, r13d
jle 0x1004a0407
lea rdi, [rsp + 0x78]
movsxd rax, r13d
mov qword [rsp + 0x40], rsi
mov rbp, r9
mov qword [rsp + 0x48], rbx
lea r12, [rsi + rax*4]
mov rbx, rsi
mov rsi, rdi
mov edi, r11d
nop word [rax + rax]
movzx r8d, byte [rsi]
mov rcx, rbx
mov rdx, r14
add rbx, 4
add rsi, 1
call sub.msys_2.0.dll_sprintf
cmp rbx, r12
jne 0x1004a03d0
mov rbx, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x40]
mov r10d, r13d
mov r11d, edi
mov r9, rbp
movzx r8d, byte [rbx]
lea rsi, [rsi + r10*4]
mov rcx, rsi
mov rdx, r14
mov qword [rsp + 0x48], r9
add rsi, 4
mov dword [rsp + 0x40], r11d
call sub.msys_2.0.dll_sprintf
mov r9, qword [rsp + 0x48]
mov r11d, dword [rsp + 0x40]
jmp 0x1004a0301
test rsi, rsi
je 0x1004a05f8
mov byte [rsi], 0x5c
cmp r8b, 0xd
ja case.0x1004a0458.1
lea rdx, [0x1004f07dc]
movzx eax, r8b
movsxd rax, dword [rdx + rax*4]
add rax, rdx
jmp rax
mov byte [rsi + 1], 0x72
add r15, 2
add rsi, 2
xor r12d, r12d
xor edi, edi
jmp 0x1004a0150
mov byte [rsi + 1], 0x66
add r15, 2
add rsi, 2
xor r12d, r12d
xor edi, edi
jmp 0x1004a0150
mov byte [rsi + 1], 0x76
add r15, 2
add rsi, 2
xor r12d, r12d
xor edi, edi
jmp 0x1004a0150
mov byte [rsi + 1], 0x6e
add r15, 2
add rsi, 2
xor r12d, r12d
xor edi, edi
jmp 0x1004a0150
mov byte [rsi + 1], 0x62
add r15, 2
add rsi, 2
xor r12d, r12d
xor edi, edi
jmp 0x1004a0150
mov byte [rsi + 1], 0x30
add r15, 2
add rsi, 2
xor r12d, r12d
xor edi, edi
jmp 0x1004a0150
mov rax, r8
mov byte [rsp + 0x78], r8b
xor r12d, r12d
mov edi, 1
and eax, 0x1f
mov r13d, 1
mov qword [rsp + 0x30], rax
jmp 0x1004a0150
mov ecx, dword [rsp + 0xe8]
test ecx, ecx
je 0x1004a05a0
test rsi, rsi
jne 0x1004a06a0
movsxd rbp, r11d
xor r13d, r13d
xor edi, edi
add r15, rbp
jmp 0x1004a0150
mov rax, r8
mov byte [rsp + 0x78], r8b
xor r12d, r12d
mov edi, 2
and eax, 0xf
mov r13d, 1
mov qword [rsp + 0x30], rax
jmp 0x1004a0150
add r15, 4
test rsi, rsi
je 0x1004a06f8
mov byte [rsi], 0x5c
lea rdi, [rsi + 1]
mov rcx, rdi
mov r8d, eax
lea rdx, [0x1004f0782]
xor r12d, r12d
mov qword [rsp + 0x40], r9
lea rsi, [rdi + 3]
xor edi, edi
call sub.msys_2.0.dll_sprintf
mov r9, qword [rsp + 0x40]
jmp 0x1004a0150
mov rcx, qword [rsp + 0x30]
lea rax, [rcx - 0x80]
cmp rax, 0x7f
ja 0x1004a0680
add r15, 1
test rsi, rsi
je 0x1004a0150
mov byte [rsi], cl
add rsi, 1
jmp 0x1004a0150
mov rax, r8
mov byte [rsp + 0x78], r8b
xor r12d, r12d
mov edi, 3
and eax, 7
mov r13d, 1
mov qword [rsp + 0x30], rax
jmp 0x1004a0150
cmp r8b, 0xd
ja case.0x1004a0610.1
lea rdx, [0x1004f0814]
movsxd rax, dword [rdx + r8*4]
add rax, rdx
jmp rax
add r15, 2
xor r12d, r12d
xor edi, edi
jmp 0x1004a0150
test r11d, r11d
jle 0x1004a01b8
lea r10, [rdx + 1]
xor eax, eax
lea rcx, [rsp + 0x78]
nop dword [rax]
movzx r8d, byte [rcx + rax]
mov byte [rsi + rax], r8b
mov r8, rax
add rax, 1
cmp r8, rdx
jne 0x1004a0638
add rsi, r10
jmp 0x1004a01b8
mov rax, r8
mov byte [rsp + 0x78], r8b
xor r12d, r12d
mov edi, 4
and eax, 3
mov r13d, 1
mov qword [rsp + 0x30], rax
jmp 0x1004a0150
test rsi, rsi
jne 0x1004a0702
lea eax, [r11*4]
xor r12d, r12d
xor r13d, r13d
xor edi, edi
cdqe
add r15, rax
jmp 0x1004a0150
test r11d, r11d
jle 0x1004a0520
lea r10, [rdx + 1]
xor eax, eax
lea rcx, [rsp + 0x78]
nop dword [rax]
movzx r8d, byte [rcx + rax]
mov byte [rsi + rax], r8b
mov r8, rax
add rax, 1
cmp r8, rdx
jne 0x1004a06b8
add rsi, r10
jmp 0x1004a0520
mov rax, r8
mov byte [rsp + 0x78], r8b
xor r12d, r12d
mov edi, 5
and eax, 1
mov r13d, 1
mov qword [rsp + 0x30], rax
jmp 0x1004a0150
xor r12d, r12d
xor edi, edi
jmp 0x1004a0150
test r11d, r11d
jle 0x1004a0685
lea r12, [rsp + 0x78]
lea rdi, [rsi + rdx*4 + 4]
mov qword [rsp + 0x40], rbx
lea rdx, [0x1004f077b]
mov rbx, r12
mov r12, r9
mov rbp, rdx
nop word [rax + rax]
movzx r8d, byte [rbx]
mov rcx, rsi
mov rdx, rbp
add rsi, 4
add rbx, 1
call sub.msys_2.0.dll_sprintf
cmp rsi, rdi
jne 0x1004a0730
mov rbx, qword [rsp + 0x40]
mov r11d, r13d
mov r9, r12
jmp 0x1004a0685
mov byte [rsi], 0
mov r11, r12
mov rax, r11
add rsp, 0x88
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
sub rsi, r13
mov rbx, rax
mov qword [rsp + 0x58], r13
lea rax, [rsi + 1]
mov qword [rsp + 0x68], rsi
lea rcx, [rax*8]
shr rax, 0x3d
mov qword [rsp + 0x70], rcx
jne 0x1004a08ac
mov qword [rsp + 0x30], r13
call sub.msys_gcrypt_20.dll_gcry_xmalloc
lea rdx, [rsp + 0x58]
lea r9, [rsp + 0x60]
mov rcx, rbx
mov qword [rsp + 0x60], rax
mov rsi, rax
lea rax, [rsp + 0x70]
lea r8, [rsp + 0x68]
mov qword [rsp + 0x20], rax
call sub.msys_iconv_2.dll_libiconv
mov r11, qword [rsp + 0x30]
cmp rax, 0xffffffffffffffff
jne 0x1004a083b
mov eax, dword [0x100507760]
test eax, eax
je 0x1004a0850
mov dword [0x100507760], 1
mov rcx, r11
call sub.msys_gcrypt_20.dll_gcry_free
mov rcx, rsi
call sub.msys_gcrypt_20.dll_gcry_free
mov r8d, dword [rsp + 0xe0]
xor r9d, r9d
mov rdx, rbp
mov rcx, qword [rsp + 0xd0]
call 0x1004a0070
mov r11, rax
mov rcx, rbx
mov qword [rsp + 0x30], r11
call sub.msys_iconv_2.dll_libiconv_close
mov r11, qword [rsp + 0x30]
jmp 0x1004a0762
mov rax, qword [rsp + 0x60]
mov rcx, r11
mov byte [rax], 0
call sub.msys_gcrypt_20.dll_gcry_free
mov r11, rsi
jmp 0x1004a0824
call sub.msys_2.0.dll___errno
mov ecx, dword [rax]
call sub.msys_2.0.dll_strerror
mov r14, qword [str.iso_8859_1]
lea rcx, str.conversion_from__s_to__s_failed:__s_n
mov r13, rax
call sub.msys_intl_8.dll_libintl_gettext
mov r9, r13
mov r8, r14
mov rdx, r12
mov rcx, rax
call sub.msys_gpg_error_0.dll_gpgrt_log_info
mov r11, qword [rsp + 0x30]
jmp 0x1004a07ec
lea rdi, [rsi + 1]
add r15, 4
movzx eax, r8b
jmp 0x1004a056c
add r15, 4
xor r12d, r12d
xor edi, edi
jmp 0x1004a0150
lea rax, str.do_utf8_to_native
mov r9d, 0x285
lea r8, str.utf8conv.c
mov ecx, 6
mov qword [rsp + 0x20], rax
lea rdx, [0x1004f0793]
call sub.msys_gpg_error_0.dll_gpgrt_log
call sub.msys_2.0.dll_abort
nop
nop dword [rax]
mov r9d, dword [0x100507774]
jmp 0x1004a0070