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

Disassembly:
mov rax, rsp
jmp 0x18012dee8
push rbp
xor bpl, dil
bt ebp, 0xe1
movsx bp, r12b
push rsi
shl bpl, 0xcb
bts si, r12w
push rdi
sbb sil, sil
bt si, 0x7f
rcr sil, cl
push r12
movsx rbp, bx
push r13
jmp 0x18012df21
push r14
push r15
bt r15d, 0xed
lea rbp, [rax - 0x57]
sub rsp, 0xd0
shl r13b, cl
test edx, r9d
mov qword [rbp - 9], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov rax, qword [0x180079010]
bsf r12d, eax
bts r15w, r11w
clc
xor rax, rsp
neg rbx
btc r14d, 0xb2
mov qword [rbp + 0x17], rax
bsf r13d, edx
shl bh, cl
mov rsi, r8
ror r13b, 0x37
test r9b, r9b
xchg r14w, r12w
mov qword [rbp - 0x41], r8
movsxd r14, edx
sar r15w, cl
stc
sub r13d, r11d
mov rbx, rcx
movzx r12d, r14w
shr ah, 0xa5
sar r12b, 0xde
mov rax, qword [rbp + 0x7f]
rol r15, 0x69
test r10b, 0x6c
mov qword [rbp - 0x59], rax
mov rax, r14
movsx r12d, cx
not r12
mov r13, r14
sbb r15, 0x1ccf450a
sar r13, 6
inc cl
sal cx, 0xea
rcl rcx, 0x15
mov qword [rbp - 0x39], r13
neg ch
rcr ecx, 0x92
btr r12d, eax
lea rcx, [0x180000000]
sub r12b, r15b
movsx r12d, r8w
shl r12b, 0x3c
and eax, 0x3f
bsr r15w, di
sbb r12b, r12b
lea r15, [rax + rax*8]
stc
movsxd r12, r9d
mov rax, qword [rcx + r13*8 + 0x7bb40]
rcl r12b, 0xd5
and r12d, ebx
sub r12w, r13w
mov rax, qword [rax + r15*8 + 0x28]
mov qword [rbp - 0x19], rax
bts r12d, r14d
mov r12d, r9d
jmp 0x18012e024
add r12, r8
mov qword [rbp - 0x61], r12
jmp 0x18012e030
call qword [sym.imp.KERNEL32.dll_GetConsoleOutputCP]
mov dword [rbp - 0x49], eax
bts r10d, r15d
sub edi, edi
mov r10, qword [rbp - 0x59]
test r11b, 0x6d
cmp byte [r10 + 0x28], dil
jne 0x18012e06c
mov rcx, r10
jmp 0x18012e059
call fcn.180123ab2
mov r10, qword [rbp - 0x59]
jmp 0x18012e06c
mov rcx, qword [r10 + 0x18]
mov ecx, dword [rcx + 0xc]
jmp 0x18012e07b
mov dword [rbp - 0x45], ecx
test bx, 0x61a2
sub eax, eax
test r13w, r11w
jmp 0x18012e08f
mov qword [rbx], rax
mov dword [rbx + 8], eax
cmp qword [rbp - 0x41], r12
jae 0x18012e792
mov r9, r14
sar r9, 6
mov qword [rbp - 0x11], r9
bt dx, ax
sal al, 0x63
mov edx, edi
mov al, byte [rsi]
or r11b, 0xe
mov byte [rbp - 0x71], al
xadd r11, r11
movsx r11d, r14w
mov dword [rbp - 0x6d], edi
movsxd r11, r13d
test r8b, 0xa5
or r12, rdx
mov r12d, 1
lea r11, [0x180000000]
cmp ecx, 0xfde9
jmp 0x18012e0e9
jne 0x18012e3f2
mov edx, edi
adc r14w, r8w
btc rcx, 0xa1
mov r14, rdi
shl ch, 0xb4
rol cl, 0x3d
lea rcx, [r15*8 + 0x3e]
cmp r13w, 0x5611
test ebx, 0x518a456b
add rcx, qword [r11 + r9*8 + 0x7bb40]
jmp 0x18012e129
cmp byte [rcx], dil
jmp 0x18012e131
je 0x18012e15b
inc edx
jmp 0x18012e13e
inc r14
jmp 0x18012e146
inc rcx
cmp r13d, ebx
cmp r14, 5
jmp 0x18012e155
jl 0x18012e129
test r14, r14
jmp 0x18012e163
jle 0x18012e321
mov rax, qword [r11 + r13*8 + 0x7bb40]
movzx ecx, byte [rax + r15*8 + 0x3e]
dec r12w
jmp 0x18012e184
movsx r12d, byte [rcx + r11 + 0x798e0]
movzx r8w, r13b
cmovo ax, r14w
inc r12d
btr r8w, bx
movsx rax, r8w
and al, r9b
mov eax, r12d
btr r8, r11
movsx r8w, r10b
sub eax, edx
add r8b, r8b
mov dword [rbp - 0x51], eax
and r8, r10
bsr edx, r12d
adc dl, 0x81
mov rdx, qword [rbp - 0x61]
btr r8d, 0xe
and r8b, al
sal r8w, 0x5b
sub rdx, rsi
cmp dl, 0xd7
bsf r8, r11
cmp r9b, r8b
movsxd r8, eax
cmp r8, rdx
jmp 0x18012e1ed
jg 0x18012e68d
mov rcx, rdi
sub al, 0xce
and dl, r10b
lea rdx, [r15*8 + 0x3e]
add rdx, qword [r11 + r9*8 + 0x7bb40]
mov al, byte [rdx]
mov byte [rbp + rcx - 1], al
jmp 0x18012e216
inc rcx
inc rdx
test r8, 0x501e437b
cmc
test r11b, r10b
cmp rcx, r14
jl 0x18012e20b
test r8, r8
jle 0x18012e25f
lea rcx, [rbp - 1]
shrd edx, r10d, 0x63
add rcx, r14
mov rdx, rsi
jmp 0x18012e24d
call fcn.18012033a
mov r10, qword [rbp - 0x59]
cwd
lea r11, [0x180000000]
mov rdx, rdi
bsf cx, r9w
mov rcx, qword [r11 + r13*8 + 0x7bb40]
cmp r15d, r12d
test bx, dx
add rcx, rdx
jmp 0x18012e27d
mov byte [rcx + r15*8 + 0x3e], dil
jmp 0x18012e287
inc rdx
test r10b, 0xa5
cmp rdx, r14
jmp 0x18012e296
jl 0x18012e267
mov qword [rbp - 0x31], rdi
cbw
lea rax, [rbp - 1]
mov cl, 0x4b
movsxd rdx, ebp
mov qword [rbp - 0x29], rax
mov eax, edi
or r9b, 0x10
cmp r12d, 4
sete al
inc eax
mov r12d, eax
movsx cx, r11b
mov r9b, 0x5a
bswap rcx
mov r8d, eax
mov qword [rsp + 0x20], r10
jmp 0x18012e2dc
lea r9, [rbp - 0x31]
lea rdx, [rbp - 0x29]
lea rcx, [rbp - 0x6d]
jmp 0x18012e2ed
call fcn.18012fb76
cmp rax, 0xffffffffffffffff
jmp 0x18012e2fb
je 0x18012e792
mov eax, dword [rbp - 0x51]
dec eax
movsxd rcx, eax
test r12d, 0x40632e01
cmp dil, 0x14
add rsi, rcx
jmp 0x18012e31c
jmp 0x18012e4e8
movzx eax, byte [rsi]
movsx r13, byte [rax + r11 + 0x798e0]
and ch, 0x2b
lea ecx, [r13 + 1]
test r14w, r8w
rcr rax, cl
mov r8, qword [rbp - 0x61]
sub r8, rsi
cwde
movzx rax, cx
cmp r13b, r10b
movsxd rax, ecx
cmp rax, r8
jmp 0x18012e355
jg 0x18012e6ef
mov qword [rbp - 0x51], rdi
lahf
xor r14d, 0x2a5e7ea3
test r9, rax
mov qword [rbp - 0x21], rsi
rdtsc
dec al
mov eax, edi
cmp ecx, 4
movsxd r8, ecx
movzx rdx, r9w
bswap r14w
sete al
jmp 0x18012e391
inc eax
mov r14d, eax
mov r8d, eax
movzx rcx, r10w
movsxd r9, esp
mov qword [rsp + 0x20], r10
movsx cx, dh
cwd
lea r9, [rbp - 0x51]
lea rdx, [rbp - 0x21]
bswap rcx
mov ecx, 0x457d7c31
lea rcx, [rbp - 0x6d]
jmp 0x18012e3c4
call fcn.18012fb76
cmp rax, 0xffffffffffffffff
je 0x18012e792
add rsi, r13
mov r12d, edx
movsx r13d, r8w
mov r12d, r14d
movsx r13, r11w
mov r13, qword [rbp - 0x39]
jmp 0x18012e3ed
jmp 0x18012e4e8
mov r8, qword [r11 + r13*8 + 0x7bb40]
mov cl, byte [r8 + r15*8 + 0x3d]
test cl, 4
jmp 0x18012e407
je 0x18012e444
mov al, byte [r8 + r15*8 + 0x3e]
mov byte [rbp + 7], al
mov al, byte [rsi]
xor dh, 0x26
mov byte [rbp + 8], al
setp dl
movsx rdx, r10w
and cl, 0xfb
mov byte [r8 + r15*8 + 0x3d], cl
mov r8d, 2
movsx rdx, r9w
lea rdx, [rbp + 7]
jmp 0x18012e43f
jmp 0x18012e4cb
movzx r9d, byte [rsi]
add ch, 0xa3
movsx rcx, r11w
rcr al, 0xe4
mov rax, qword [r10 + 0x18]
sub cl, r14b
mov rcx, qword [rax]
jmp 0x18012e462
cmp word [rcx + r9*2], di
jmp 0x18012e46c
jge 0x18012e4c1
lea r14, [rsi + 1]
cmc
test r14b, cl
cmp r14, qword [rbp - 0x61]
jmp 0x18012e483
jae 0x18012e753
mov r9, r10
cmovno r8w, bx
mov r8d, 2
mov rdx, rsi
bswap cx
lea rcx, [rbp - 0x6d]
jmp 0x18012e4a6
call fcn.18012a7a7
cmp eax, 0xffffffff
je 0x18012e792
mov rsi, r14
jmp 0x18012e4bc
jmp 0x18012e4e8
mov r8, r12
mov rdx, rsi
movzx r9, r15w
mov r9, r10
mov cl, r13b
lea rcx, [rbp - 0x6d]
call fcn.18012a7a7
cmp eax, 0xffffffff
jmp 0x18012e4e2
je 0x18012e792
inc rsi
mov qword [rsp + 0x38], rdi
rcl ah, cl
movsx rax, r8w
mov qword [rsp + 0x30], rdi
sal cl, 0x36
mov dword [rsp + 0x28], 5
lea rax, [rbp + 0xf]
or r9w, 0x4849
rol r9b, 0x32
mov qword [rsp + 0x20], rax
sub r9b, 0x37
mov r8w, 0x1b6c
cmp dl, dil
mov r9d, r12d
bts r8d, eax
lea r8, [rbp - 0x6d]
stc
add cl, 0xb2
sub edx, edx
mov ecx, dword [rbp - 0x49]
jmp 0x18012e53e
call fcn.1801280e3
mov r14d, eax
jmp 0x18012e54f
test eax, eax
jmp 0x18012e556
je 0x18012e792
mov qword [rsp + 0x20], rdi
bswap r9d
lea r9, [rbp - 0x69]
cqo
cmove r12d, edi
setns r12b
mov r8d, eax
lea rdx, [rbp + 0xf]
movzx r12, r10w
mov r12, qword [rbp - 0x19]
not ecx
cmovne rcx, rbx
mov rcx, r12
jmp 0x18012e58f
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x18012e78a
mov edx, esi
cmc
clc
cmp r9w, 0x4039
sub edx, dword [rbp - 0x41]
cmc
add edx, dword [rbx + 8]
mov dword [rbx + 4], edx
jmp 0x18012e5b6
cmp dword [rbp - 0x69], r14d
jmp 0x18012e5bf
jb 0x18012e792
cmp byte [rbp - 0x71], 0xa
jne 0x18012e658
mov eax, 0xd
movsx dx, r11b
cqo
mov cl, r10b
mov word [rbp - 0x71], ax
cmove dx, r9w
not r9b
mov qword [rsp + 0x20], rdi
mov r9w, 0x5429
not r9w
lea r9, [rbp - 0x69]
mov r8d, 0x548c066d
lea r8d, [rax - 0xc]
xchg rdx, rdx
mov rdx, rbx
lea rdx, [rbp - 0x71]
mov rcx, r12
jmp 0x18012e618
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jmp 0x18012e625
je 0x18012e78a
cmp dword [rbp - 0x69], 1
jb 0x18012e792
inc dword [rbx + 8]
mov dl, r11b
xchg dh, dh
inc dword [rbx + 4]
sbb rdx, 0x48a2465d
xor rdx, 0x4e564cd9
rol dl, cl
mov edx, dword [rbx + 4]
cmc
test r13b, 0x43
cmp rsi, qword [rbp - 0x61]
jmp 0x18012e661
jae 0x18012e792
mov r10, qword [rbp - 0x59]
bswap r9w
not r9w
jmp 0x18012e678
mov r9, qword [rbp - 0x11]
movzx rcx, r14w
mov ecx, dword [rbp - 0x45]
jmp 0x18012e688
jmp 0x18012e0b3
test rdx, rdx
jmp 0x18012e695
jle 0x18012e6e2
sub rsi, r14
mov rcx, qword [r11 + r13*8 + 0x7bb40]
mov al, 0x95
or al, 0xce
add rcx, r14
setae al
mov al, byte [rsi + r14]
jmp 0x18012e6b9
mov byte [rcx + r15*8 + 0x3e], al
movsxd rax, edi
movzx ax, sil
setge al
inc edi
movzx rax, dx
lahf
cdqe
inc r14
clc
movsxd rax, edi
cmp rax, rdx
jl 0x18012e69e
add dword [rbx + 4], edx
jmp 0x18012e6ea
jmp 0x18012e792
test r8, r8
jmp 0x18012e6f7
jle 0x18012e74a
mov rdx, rdi
rcr cl, 0x6f
add al, bl
mov r9, qword [rbp - 0x39]
rol al, cl
mov rcx, qword [r11 + r9*8 + 0x7bb40]
add rcx, rdx
mov al, byte [rdx + rsi]
jmp 0x18012e71e
mov byte [rcx + r15*8 + 0x3e], al
bswap ax
cbw
mov ah, pe_nt_image_headers64
inc edi
mov al, 0xaf
inc rdx
movsxd rax, edi
cmp r11b, sil
test bpl, 0x86
cmp rax, r8
jmp 0x18012e744
jl 0x18012e70b
add dword [rbx + 4], r8d
jmp 0x18012e792
mov byte [r8 + r15*8 + 0x3e], r9b
bts rax, rbp
mov rax, qword [r11 + r13*8 + 0x7bb40]
cmp r12b, 0xe3
cmc
jmp 0x18012e76e
or byte [rax + r15*8 + 0x3d], 4
cdqe
movsx eax, r8w
lea eax, [rdx + 1]
jmp 0x18012e782
mov dword [rbx + 4], eax
jmp 0x18012e792
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbx], eax
mov rax, rbx
mov rcx, qword [rbp + 0x17]
test bx, 0x52fc
xor rcx, rsp
jmp 0x18012e7a6
call fcn.1801157b3
mov rbx, qword [rsp + 0x110]
add rsp, 0xd0
movzx rdi, bx
not r15w
pop r15
pop r14
jmp 0x18012e7d2
pop r13
mov rbp, rsi
movsx esi, ax
pop r12
cmove esi, ebx
movzx ebp, r12w
pop rdi
pop rsi
movsxd rbp, r14d
mov bp, 0x49ba
pop rbp
jmp 0x18012e7f2
ret