Function at 0x1404d7128
Capabilities:
Encode data using base64
Write file on windows

Disassembly:
mov qword [rsp + 0x20], rbx
cmc
push rbp
sal bpl, cl
push rsi
rol bpl, cl
sub bp, 0xe96
sbb bp, r12w
push rdi
adc edi, 0x36a42a81
bt di, dx
push r12
push r13
btc r12w, bp
movsx di, r9b
sar r12, 0xf5
push r14
movsx di, r12b
movzx rdi, sp
shl di, 0xd8
push r15
jmp 0x1404d7172
mov rbp, rsp
btc r12w, r13w
sub r14w, sp
stc
sub rsp, 0x60
xor ebx, ebx
movzx r14d, r12w
mov r14d, r8d
movsxd r12, ecx
mov rdi, rdx
clc
jmp 0x1404d719d
test r8d, r8d
je 0x1404d7684
test rdx, rdx
jne 0x1404d71dd
call fcn.1404b1567
mov dword [rax], ebx
jmp 0x1404d71bb
call fcn.1404b152a
mov dword [rax], 0x16
jmp 0x1404d71cb
call fcn.1404b2217
or eax, 0xffffffff
jmp 0x1404d71d8
jmp 0x1404d7691
mov rax, r12
bsf r13w, r14w
sbb r13b, 0x43
lea rcx, [0x1400ba940]
cmp r10b, 0x9b
and eax, 0x3f
bt rsi, rsi
dec r13d
mov r13, r12
sar r15b, cl
movzx r15, r14w
sar r13, 6
cmp bh, 0x56
and sil, 0xa4
lea r15, [rax + rax*8]
mov rcx, qword [rcx + r13*8]
movsx esi, byte [rcx + r15*8 + 0x39]
lea eax, [rsi - 1]
cmp al, 1
jmp 0x1404d722b
ja 0x1404d724e
mov eax, r14d
clc
cmp rdx, 0x45393f0c
cmp rsi, r9
not eax
test al, 1
jmp 0x1404d7248
je 0x1404d71af
test byte [rcx + r15*8 + 0x38], 0x20
jmp 0x1404d7259
je 0x1404d728b
xor edx, edx
movsx cx, dil
movsx ecx, di
jmp 0x1404d726e
mov ecx, r12d
mov r8b, spl
movzx r8d, r10w
movsx r8w, r8b
lea r8d, [rdx + 2]
jmp 0x1404d7286
call fcn.1402639c2
mov ecx, r12d
jmp 0x1404d7293
mov qword [rbp - 0x20], rbx
jmp 0x1404d729c
call fcn.1404dd11f
test eax, eax
jmp 0x1404d72a8
je 0x1404d7469
lea rax, [0x1400ba940]
cmp cl, 0x2d
cmc
mov rax, qword [rax + r13*8]
cmp byte [rax + r15*8 + 0x38], bl
jmp 0x1404d72c7
jge 0x1404d7469
call fcn.1404c5905
mov rcx, qword [rax + 0x90]
cmp qword [rcx + 0x138], rbx
jmp 0x1404d72e5
jne 0x1404d7307
lea rax, [0x1400ba940]
mov rax, qword [rax + r13*8]
cmp r15w, 0x477e
cmp byte [rax + r15*8 + 0x39], bl
je 0x1404d7469
lea rax, [0x1400ba940]
setg cl
mov rcx, qword [rax + r13*8]
movsx edx, r13w
lea rdx, [rbp - 0x10]
mov rcx, qword [rcx + r15*8 + 0x28]
jmp 0x1404d7327
call qword [sym.imp.KERNEL32.dll_GetConsoleMode]
test eax, eax
jmp 0x1404d7334
je 0x1404d7469
test sil, sil
je 0x1404d7434
dec sil
stc
cmp esi, 0x7a5564ca
cmp sil, 1
jmp 0x1404d7356
ja 0x1404d75c2
lea r12, [rdi + r14]
mov qword [rbp - 0x30], rbx
mov r14, rdi
cmp r10, rcx
test r13, r14
cmp rdi, r12
jmp 0x1404d7375
jae 0x1404d75af
mov esi, dword [rbp - 0x2c]
cmovb ax, si
movzx rax, dx
mov ecx, r14d
movzx eax, word [r14]
mov cx, 0x3931
movzx cx, r11b
movzx rcx, r9w
movzx ecx, ax
jmp 0x1404d73a2
mov word [rbp - 0x10], ax
jmp 0x1404d73ab
call fcn.1404e19bd
movzx ecx, word [rbp - 0x10]
stc
cmp ax, cx
jmp 0x1404d73bd
jne 0x1404d7421
add esi, 2
mov dword [rbp - 0x2c], esi
cmp cx, 0xa
jmp 0x1404d73d2
jne 0x1404d740b
mov ecx, 0xd
call fcn.1404e19bd
mov ecx, 0xd
cmp ax, cx
jmp 0x1404d73ef
jne 0x1404d7421
inc esi
jmp 0x1404d73fc
mov dword [rbp - 0x2c], esi
jmp 0x1404d7404
inc ebx
cmc
cmp bpl, 0x3d
add r14, 2
cmp edx, r11d
cmc
cmp r14, r12
jae 0x1404d75af
jmp 0x1404d7389
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbp - 0x30], eax
jmp 0x1404d742f
jmp 0x1404d75af
mov r9d, r14d
mov r8b, r15b
lea rcx, [rbp - 0x30]
cqo
jmp 0x1404d7445
mov r8, rdi
xchg dx, dx
cdq
mov edx, r12d
call fcn.1404d76d3
movsd xmm0, qword [rax]
mov bx, 0x7dfb
mov ebx, dword [rax + 8]
jmp 0x1404d7464
jmp 0x1404d75b9
lea rax, [0x1400ba940]
xor cl, r8b
shr cl, 0x5f
btc rcx, r15
mov rcx, qword [rax + r13*8]
cmp byte [rcx + r15*8 + 0x38], bl
jmp 0x1404d7488
jge 0x1404d7548
mov ecx, esi
test sil, sil
jmp 0x1404d7498
je 0x1404d750c
sub ecx, 1
jmp 0x1404d74a6
je 0x1404d74e0
cmp ecx, 1
jmp 0x1404d74b4
jne 0x1404d75c2
mov r9d, r14d
movsx edx, r8w
xchg r8d, edx
lea rcx, [rbp - 0x30]
mov r8, rdi
cmovg edx, esi
mov edx, r12d
jmp 0x1404d74d6
call fcn.1404d832a
jmp 0x1404d7454
mov r9d, r14d
cmova r8d, ebp
lea rcx, [rbp - 0x30]
cqo
mov r8, rdi
not dx
movzx edx, r13w
movsxd rdx, esp
mov edx, r12d
jmp 0x1404d7502
call fcn.1404d8572
jmp 0x1404d7454
mov r9d, r14d
cqo
mov r8b, 0x82
movsx r8w, dl
lea rcx, [rbp - 0x30]
movzx edx, r15w
movsx rdx, cx
movzx r8, r11w
mov r8, rdi
movzx rdx, di
setge dl
movzx edx, cx
mov edx, r12d
jmp 0x1404d753e
call fcn.1404d80fa
jmp 0x1404d7454
mov rcx, qword [rcx + r15*8 + 0x28]
lea r9, [rbp - 0x2c]
xor eax, eax
jmp 0x1404d7558
mov r8d, r14d
dec dx
rcl edx, 0x32
and qword [rsp + 0x20], rax
setb dl
movzx edx, r15w
movzx dx, r9b
mov rdx, rdi
jmp 0x1404d757a
mov qword [rbp - 0x30], rax
jmp 0x1404d7583
mov dword [rbp - 0x28], eax
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jmp 0x1404d7593
jne 0x1404d75ac
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbp - 0x30], eax
and bx, sp
add ax, r8w
neg ax
mov ebx, dword [rbp - 0x28]
movsd xmm0, qword [rbp - 0x30]
bts eax, eax
not al
movsd qword [rbp - 0x20], xmm0
ror ax, 0x88
mov rax, qword [rbp - 0x20]
stc
cmp dil, dl
shr rax, 0x20
test eax, eax
jne 0x1404d7675
mov eax, dword [rbp - 0x20]
test eax, eax
jmp 0x1404d75e0
je 0x1404d7621
cmp eax, 5
jne 0x1404d760f
call fcn.1404b152a
mov dword [rax], 9
call fcn.1404b1567
mov dword [rax], 5
jmp 0x1404d760a
jmp 0x1404d71d0
mov ecx, dword [rbp - 0x20]
jmp 0x1404d7617
call fcn.1404b15a5
jmp 0x1404d71d0
lea rax, [0x1400ba940]
cmp dil, r13b
stc
test sil, r9b
mov rax, qword [rax + r13*8]
stc
cmc
test r11b, 0xf3
test byte [rax + r15*8 + 0x38], 0x40
jmp 0x1404d7644
je 0x1404d7658
cmp byte [rdi], 0x1a
jmp 0x1404d7652
je 0x1404d7684
call fcn.1404b152a
mov dword [rax], 0x1c
call fcn.1404b1567
and dword [rax], 0
jmp 0x1404d7670
jmp 0x1404d71d0
mov eax, dword [rbp - 0x1c]
sub eax, ebx
jmp 0x1404d767f
jmp 0x1404d7691
xor eax, eax
shr r13b, 0xee
rol r15w, cl
add rsi, rsp
mov rbx, qword [rsp + 0xb8]
shl r12d, 0x96
bts r12w, r9w
add rsp, 0x60
pop r15
movsx rsi, r9w
pop r14
pop r13
jmp 0x1404d76b5
pop r12
movsx rbp, r10w
pop rdi
cmovne ebp, r14d
movzx rbp, bx
pop rsi
movzx ebp, r10w
bswap bp
movsx bp, spl
pop rbp
ret