Function at 0x100429d10
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x68
cmp qword [rsp + 0xd0], 0
mov r12d, dword [rcx + 0x60]
movzx r13d, byte [rcx + 0x5c]
mov qword [rsp + 0xc8], r9
mov r14, rcx
mov rbx, r8
je 0x100429ddf
lea rax, [rsp + 0x5c]
lea rbp, [rcx + 0x48]
xor esi, esi
mov rbx, rdx
mov qword [rsp + 0x20], rax
lea rax, [rcx + 0x50]
mov dword [rsp + 0x38], 0
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x30], rbp
mov qword [rsp + 0xc0], r8
mov r15, qword [rsp + 0xc0]
mov eax, dword [r14 + 0x58]
cmp eax, dword [r14 + 0x54]
jb 0x100429e00
mov dword [r14 + 0x58], 0
mov r9, qword [rsp + 0x20]
mov rcx, rbx
mov r8, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x30]
mov dword [rsp + 0x5c], 0x4e20
call fcn.1004b0a80
mov r10d, dword [rsp + 0x5c]
mov dword [r14 + 0x54], eax
test r10d, r10d
jne 0x100429dc3
add dword [r14 + 0x34], 1
test eax, eax
jne 0x100429e73
mov dword [r14 + 0x60], r12d
mov rbx, r15
mov byte [r14 + 0x5c], r13b
test rsi, rsi
jne 0x100429e90
xor esi, esi
mov eax, 0xffffffff
mov qword [rbx], rsi
add rsp, 0x68
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rdx, qword [r14 + 0x48]
lea ecx, [rax + 1]
lea rdi, [0x100506160]
mov dword [r14 + 0x58], ecx
movzx eax, byte [rdx + rax]
mov rbp, rax
mov eax, dword [rdi + rax*4]
cmp eax, 0xffffffff
jne 0x10042a57e
mov qword [rsp + 0x38], rsi
mov rsi, r14
mov r14, rbx
cmp ebp, 0x3d
je 0x100429ef8
mov rbx, r14
mov r14, rsi
mov rsi, qword [rsp + 0x38]
jg 0x100429e55
cmp ebp, 0xd
je 0x100429e6b
jg 0x100429eb0
lea eax, [rbp - 9]
cmp eax, 1
jbe 0x100429e6b
lea rcx, str.invalid_radix64_character__02X_skipped_n
call sub.msys_intl_8.dll_libintl_gettext
mov edx, ebp
mov rcx, rax
call sub.msys_gpg_error_0.dll_gpgrt_log_error
mov dword [rsp + 0x38], 0
cmp rsi, qword [rsp + 0xd0]
jb 0x100429d7f
mov dword [r14 + 0x60], r12d
mov rbx, r15
mov byte [r14 + 0x5c], r13b
nop dword [rax]
mov rcx, qword [r14 + 0x68]
mov rdx, qword [rsp + 0xc8]
mov r8, rsi
call sub.msys_gcrypt_20.dll_gcry_md_write
xor eax, eax
jmp 0x100429de6
cmp ebp, 0x20
je 0x100429e6b
mov r9d, dword [r14 + 0x3c]
test r9d, r9d
je 0x100429e55
cmp ebp, 0x2d
jne 0x100429e55
mov eax, dword [r14 + 0x58]
add eax, 8
cmp eax, dword [r14 + 0x54]
jae 0x100429e55
mov rcx, qword [r14 + 0x48]
mov r8d, 8
lea rdx, [0x1004d7b50]
call sub.msys_2.0.dll_strncmp
test eax, eax
je 0x100429dcb
jmp 0x100429e55
mov edx, dword [rsi + 0x58]
mov ecx, dword [rsi + 0x54]
lea eax, [rdx + 2]
cmp eax, ecx
jae 0x10042a5e6
mov rcx, qword [rsi + 0x48]
mov r9d, edx
add edx, 1
movzx ebx, byte [rcx + r9]
movzx edx, byte [rcx + rdx]
movzx eax, byte [rcx + rax]
mov rbp, rbx
mov dword [rsp + 0x48], ebx
mov rbx, rdx
mov dword [rsp + 0x4c], edx
mov dword [rsp + 0x40], eax
call sub.msys_2.0.dll___locale_ctype_ptr
test byte [rbp + rax + 1], 0x44
je 0x10042a200
call sub.msys_2.0.dll___locale_ctype_ptr
test byte [rbx + rax + 1], 0x44
je 0x10042a200
mov edx, dword [rsp + 0x40]
lea rcx, str._n_r_t
call sub.msys_2.0.dll_strchr
test rax, rax
je 0x10042a200
call sub.msys_2.0.dll___locale_ctype_ptr
test byte [rbp + rax + 1], 4
je 0x10042a1e8
mov ebp, dword [rsp + 0x48]
sub ebp, 0x30
shl ebp, 4
call sub.msys_2.0.dll___locale_ctype_ptr
test byte [rbx + rax + 1], 4
je 0x10042a1d0
mov eax, dword [rsp + 0x4c]
sub eax, 0x30
or ebp, eax
add dword [rsi + 0x58], 2
movsxd rax, ebp
mov dword [rsi + 0x38], 1
mov eax, dword [rdi + rax*4]
cmp eax, 0xffffffff
je 0x100429e30
mov rbx, r14
mov r14, rsi
mov rsi, qword [rsp + 0x38]
mov ecx, r12d
mov dword [rsp + 0x38], 0
test ecx, ecx
jne 0x10042a58a
mov edx, dword [r14 + 0x58]
lea r8d, [rdx + 0xf]
cmp r8d, dword [r14 + 0x54]
jae 0x10042a764
lea r10, [rsi + 0xc]
mov qword [rsp + 0x40], r10
cmp r10, qword [rsp + 0xd0]
jae 0x10042a764
mov rcx, qword [r14 + 0x48]
lea r8d, [rdx + 1]
lea r11d, [rdx + 2]
mov r9d, eax
shl r9d, 0x12
lea ebp, [rdx + 8]
movzx r11d, byte [rcx + r11]
movzx r8d, byte [rcx + r8]
movzx ebp, byte [rcx + rbp]
mov r8d, dword [rdi + r8*4 + 0x400]
or r8d, dword [rdi + r11*4]
mov r11d, edx
movzx r11d, byte [rcx + r11]
or r8d, dword [rdi + r11*4 + 0x800]
lea r11d, [rdx + 4]
or r8d, r9d
lea r9d, [rdx + 3]
movzx r11d, byte [rcx + r11]
movzx r9d, byte [rcx + r9]
mov r9d, dword [rdi + r9*4 + 0xc00]
or r9d, dword [rdi + r11*4 + 0x800]
lea r11d, [rdx + 5]
movzx r11d, byte [rcx + r11]
or r9d, dword [rdi + r11*4 + 0x400]
lea r11d, [rdx + 6]
movzx r11d, byte [rcx + r11]
or r9d, dword [rdi + r11*4]
lea r11d, [rdx + 7]
movzx r11d, byte [rcx + r11]
mov r11d, dword [rdi + r11*4 + 0xc00]
or r11d, dword [rdi + rbp*4 + 0x800]
lea ebp, [rdx + 9]
movzx ebp, byte [rcx + rbp]
or r11d, dword [rdi + rbp*4 + 0x400]
lea ebp, [rdx + 0xa]
movzx ebp, byte [rcx + rbp]
or r11d, dword [rdi + rbp*4]
lea ebp, [rdx + 0xc]
mov r10d, r11d
lea r11d, [rdx + 0xb]
movzx ebp, byte [rcx + rbp]
movzx r11d, byte [rcx + r11]
mov r11d, dword [rdi + r11*4 + 0xc00]
or r11d, dword [rdi + rbp*4 + 0x800]
lea ebp, [rdx + 0xd]
add edx, 0xe
movzx edx, byte [rcx + rdx]
movzx ebp, byte [rcx + rbp]
or r11d, dword [rdi + rbp*4 + 0x400]
or r11d, dword [rdi + rdx*4]
mov edx, r9d
or edx, r10d
or edx, r11d
or edx, r8d
cmp edx, 0xffffffff
je 0x10042a678
mov edi, r10d
mov eax, r10d
mov ecx, r9d
mov edx, r8d
shr edi, 0x10
and eax, 0xff00
shr ecx, 0x10
xor r12d, r12d
movzx edi, dil
movzx ecx, cl
shr edx, 0x10
mov dword [rsp + 0x38], 0
or rax, rdi
movzx edi, r9b
movzx edx, dl
shl rax, 8
or rdi, rax
mov eax, r9d
movzx eax, ah
mov r9, rax
mov rax, rdi
shl rax, 8
or rax, r9
shl rax, 8
or rax, rcx
movzx ecx, r8b
shl rax, 8
or rax, rcx
mov ecx, r8d
movzx edi, ch
shl rax, 8
mov ecx, r11d
or rax, rdi
mov rdi, qword [rsp + 0xc8]
shl rax, 8
or rax, rdx
mov edx, r11d
mov qword [rdi + rsi], rax
movzx eax, r11b
movzx edi, ch
shr edx, 0x10
shl eax, 8
movzx edx, dl
or eax, edi
mov rdi, qword [rsp + 0xc8]
shl eax, 8
or eax, edx
movzx edx, r10b
shl eax, 8
or eax, edx
mov dword [rdi + rsi + 8], eax
mov rsi, qword [rsp + 0x40]
add dword [r14 + 0x58], 0xf
jmp 0x100429d7f
mov ecx, dword [rsp + 0x4c]
call fcn.10049edb0
sub eax, 0x37
jmp 0x100429f9c
mov ecx, dword [rsp + 0x48]
call fcn.10049edb0
lea ebp, [rax - 0x37]
jmp 0x100429f82
mov rbx, r15
mov r15, r14
mov r14, rsi
mov rsi, qword [rsp + 0x38]
mov edx, dword [r14 + 0x58]
mov ecx, dword [r14 + 0x54]
lea eax, [rdx + 6]
cmp eax, ecx
jae 0x10042a22f
mov rcx, qword [r14 + 0x48]
mov r8d, edx
cmp byte [rcx + r8], 0x33
je 0x10042a5f9
cmp r12d, 1
je 0x10042a549
mov dword [r14 + 0x60], r12d
mov byte [r14 + 0x5c], r13b
test rsi, rsi
jne 0x10042a565
mov rcx, qword [r14 + 0x68]
mov edx, 5
xor r9d, r9d
xor r8d, r8d
call sub.msys_gcrypt_20.dll_gcry_md_ctl
mov edx, dword [r14 + 0x58]
mov eax, dword [r14 + 0x54]
mov dword [r14 + 0x78], 1
mov dword [r14 + 0x1c], 0
mov dword [r14 + 0x30], 0
cmp edx, eax
jae 0x10042a2ae
mov rcx, qword [r14 + 0x48]
lea r8d, [rdx + 1]
mov dword [r14 + 0x58], r8d
movzx edx, byte [rcx + rdx]
cmp dl, 0x3d
ja 0x10042a310
movabs r9, 0x2000000100002600
bt r9, rdx
jae 0x10042a310
mov edx, r8d
cmp edx, eax
jb 0x10042a282
mov dword [r14 + 0x58], 0
lea r8, [r14 + 0x50]
lea rdx, [r14 + 0x48]
mov rcx, r15
lea r9, [rsp + 0x5c]
mov dword [rsp + 0x5c], 0x4e20
call fcn.1004b0a80
mov r8d, dword [rsp + 0x5c]
mov dword [r14 + 0x54], eax
test r8d, r8d
jne 0x10042a2e6
add dword [r14 + 0x34], 1
test eax, eax
jne 0x10042a540
lea rcx, str.premature_eof__no_CRC__n
call sub.msys_intl_8.dll_libintl_gettext
mov rcx, rax
call sub.msys_gpg_error_0.dll_gpgrt_log_error
xor eax, eax
jmp 0x100429de6
lea r10, [r14 + 0x50]
lea rbp, [r14 + 0x48]
xor r12d, r12d
mov dword [rsp + 0x30], 0
lea r11, [rsp + 0x5c]
mov qword [rsp + 0x28], r10
mov qword [rsp + 0x20], r11
mov r11, rbp
mov ebp, r12d
mov r12, r14
mov r14, r11
movsxd rdx, edx
mov edx, dword [rdi + rdx*4]
cmp edx, 0xffffffff
je 0x10042a520
cmp ebp, 2
je 0x10042a4f8
cmp ebp, 3
je 0x10042a4e0
cmp ebp, 1
je 0x10042a4b0
lea r13d, [rdx*4]
mov edx, dword [r12 + 0x58]
cmp edx, eax
jb 0x10042a40a
mov r9, qword [rsp + 0x20]
mov r8, qword [rsp + 0x28]
mov rcx, r15
mov rdx, r14
mov dword [r12 + 0x58], 0
mov dword [rsp + 0x5c], 0x4e20
call fcn.1004b0a80
mov ecx, dword [rsp + 0x5c]
mov dword [r12 + 0x54], eax
test ecx, ecx
jne 0x10042a3b6
add dword [r12 + 0x34], 1
test eax, eax
jne 0x10042a3f8
lea rcx, str.premature_eof__in_CRC__n
call sub.msys_intl_8.dll_libintl_gettext
mov rcx, rax
call sub.msys_gpg_error_0.dll_gpgrt_log_info
mov rax, qword [0x1004f7480]
mov edx, dword [rax + 0x2c0]
test edx, edx
jne 0x100429ea4
call sub.msys_gpg_error_0.dll_gpgrt_inc_errorcount
mov eax, 0x200000f
jmp 0x100429de6
mov edx, dword [r12 + 0x58]
cmp edx, eax
jae 0x10042a37d
mov rcx, qword [r12 + 0x48]
lea r8d, [rdx + 1]
add ebp, 1
mov dword [r12 + 0x58], r8d
movzx edx, byte [rcx + rdx]
cmp ebp, 4
jne 0x10042a33e
mov r14, r12
mov rcx, qword [r14 + 0x68]
mov edx, 0x130
call sub.msys_gcrypt_20.dll_gcry_md_read
mov r15d, dword [rsp + 0x30]
movzx edx, word [rax]
movzx eax, byte [rax + 2]
rol dx, 8
movzx edx, dx
shl edx, 8
or eax, edx
cmp r15d, eax
je 0x100429ea4
mov rcx, qword [r14 + 0x68]
mov edx, 0x130
call sub.msys_gcrypt_20.dll_gcry_md_read
lea rcx, str.CRC_error___06lX____06lX_n
movzx edx, word [rax]
movzx edi, byte [rax + 2]
rol dx, 8
movzx edx, dx
shl edx, 8
or edi, edx
call sub.msys_intl_8.dll_libintl_gettext
mov r8d, r15d
mov rdx, rdi
mov rcx, rax
call sub.msys_gpg_error_0.dll_gpgrt_log_info
mov rax, qword [0x1004f7480]
mov eax, dword [rax + 0x2c0]
test eax, eax
je 0x10042a3e3
xor eax, eax
jmp 0x100429de6
mov r8d, edx
shr r8d, 4
and r8d, 3
or r8d, r13d
mov r13d, edx
movzx r8d, r8b
shl r13d, 4
shl r8d, 0x10
or dword [rsp + 0x30], r8d
jmp 0x10042a370
and edx, 0x3f
or r13d, edx
movzx edx, r13b
or dword [rsp + 0x30], edx
jmp 0x10042a370
mov r8d, edx
shr r8d, 2
and r8d, 0xf
or r8d, r13d
mov r13d, edx
movzx r8d, r8b
shl r13d, 6
shl r8d, 8
or dword [rsp + 0x30], r8d
jmp 0x10042a370
mov r14, r12
test ebp, ebp
je 0x100429ea4
cmp ebp, 4
je 0x10042a426
lea rcx, str.malformed_CRC_n
jmp 0x10042a3c1
mov r8d, dword [r14 + 0x58]
jmp 0x10042a2a7
mov rax, qword [rsp + 0xc8]
mov byte [rax + rsi], r13b
add rsi, 1
mov dword [r14 + 0x60], 1
mov byte [r14 + 0x5c], r13b
mov rcx, qword [r14 + 0x68]
mov rdx, qword [rsp + 0xc8]
mov r8, rsi
call sub.msys_gcrypt_20.dll_gcry_md_write
jmp 0x10042a24a
mov ecx, dword [rsp + 0x38]
or ecx, r12d
jmp 0x100429fce
cmp r12d, 2
je 0x10042a739
jg 0x10042a775
test r12d, r12d
je 0x10042a811
cmp r12d, 1
jne 0x10042a5ca
mov edx, eax
mov rdi, qword [rsp + 0xc8]
shr edx, 4
and edx, 3
or edx, r13d
mov r13d, eax
mov byte [rdi + rsi], dl
shl r13d, 4
add rsi, 1
add r12d, 1
mov eax, r12d
sar eax, 0x1f
shr eax, 0x1e
add r12d, eax
and r12d, 3
sub r12d, eax
jmp 0x100429e73
mov rbx, r15
mov r15, r14
mov r14, rsi
mov rsi, qword [rsp + 0x38]
jmp 0x10042a216
lea r8d, [rdx + 1]
cmp byte [rcx + r8], 0x44
jne 0x10042a22f
lea r9d, [rdx + 2]
mov r8, r9
movzx r9d, byte [rcx + r9]
cmp dword [rdi + r9*4], 0xffffffff
je 0x10042a22f
lea r9d, [rdx + 3]
movzx r9d, byte [rcx + r9]
cmp dword [rdi + r9*4], 0xffffffff
je 0x10042a22f
lea r9d, [rdx + 4]
movzx r9d, byte [rcx + r9]
cmp dword [rdi + r9*4], 0xffffffff
je 0x10042a22f
add edx, 5
movzx edx, byte [rcx + rdx]
cmp dword [rdi + rdx*4], 0xffffffff
je 0x10042a22f
cmp byte [rcx + rax], 0xa
jne 0x10042a22f
mov dword [r14 + 0x58], r8d
mov dword [r14 + 0x38], 1
jmp 0x10042a22f
cmp r8d, 0xffffffff
je 0x10042a75f
mov rdi, qword [rsp + 0xc8]
mov edx, r8d
mov ecx, r8d
shr edx, 0x10
shr ecx, 8
add rdi, rsi
cmp r9d, 0xffffffff
je 0x10042a7e5
mov r12d, r9d
mov r11d, r9d
shr r12d, 0x10
shr r11d, 8
cmp r10d, 0xffffffff
je 0x10042a79a
mov eax, r10d
mov ebp, r10d
movzx r9d, r9b
movzx r11d, r11b
shr eax, 0x10
and ebp, 0xff00
movzx r12d, r12b
movzx ecx, cl
movzx eax, al
movzx r8d, r8b
movzx edx, dl
mov dword [rsp + 0x38], 1
or rax, rbp
shl rax, 8
or rax, r9
shl rax, 8
or rax, r11
shl rax, 8
or rax, r12
xor r12d, r12d
shl rax, 8
or rax, r8
shl rax, 8
or rax, rcx
shl rax, 8
or rax, rdx
mov qword [rdi], rax
mov rax, qword [rsp + 0xc8]
mov byte [rax + rsi + 8], r10b
add rsi, 9
add dword [r14 + 0x58], 0xb
jmp 0x100429e73
mov edx, eax
mov rdi, qword [rsp + 0xc8]
shr edx, 2
and edx, 0xf
or edx, r13d
mov r13d, eax
mov byte [rdi + rsi], dl
shl r13d, 6
add rsi, 1
jmp 0x10042a5ca
mov ecx, 1
mov dword [rsp + 0x38], ecx
lea r13d, [rax*4]
jmp 0x10042a5ca
cmp r12d, 3
jne 0x10042a5ca
and eax, 0x3f
or r13d, eax
mov rax, qword [rsp + 0xc8]
mov byte [rax + rsi], r13b
add rsi, 1
jmp 0x10042a5ca
movzx eax, r12b
movzx r8d, r8b
movzx ecx, cl
movzx edx, dl
shl eax, 8
mov dword [rsp + 0x38], 1
xor r12d, r12d
or eax, r8d
shl eax, 8
or eax, ecx
shl eax, 8
or eax, edx
mov dword [rdi], eax
mov rax, qword [rsp + 0xc8]
mov byte [rax + rsi + 4], r11b
mov byte [rax + rsi + 5], r9b
add rsi, 6
add dword [r14 + 0x58], 7
jmp 0x100429e73
mov rax, qword [rsp + 0xc8]
mov byte [rdi], dl
xor r12d, r12d
mov dword [rsp + 0x38], 1
mov byte [rax + rsi + 1], cl
mov byte [rax + rsi + 2], r8b
add rsi, 3
add dword [r14 + 0x58], 3
jmp 0x100429e73
mov ecx, dword [rsp + 0x38]
jmp 0x10042a764