Function at 0x1401a51c0
Capabilities:
Encode data using base64
Encode data using xor

Disassembly:
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x30
mov rbx, r8
mov r14, rdx
mov rdi, rcx
movzx eax, byte [0x1415d3950]
mov edx, 0x10
xor ecx, ecx
call fcn.1401b5e70
mov rsi, rax
nop dword [rax]
mov eax, dword [0x1415c9670]
xor eax, dword [0x1415c9674]
and eax, 0xfffffff
add eax, 0x92407271
or eax, 0xa10aaa00
and eax, 0xaf6bfb1e
cmp eax, 0x5bbbd20b
jb 0x1401a51f0
nop word [rax + rax]
mov eax, dword [0x1415c9678]
xor eax, dword [0x1415c967c]
mov ecx, eax
and ecx, 0x6b115f50
add ecx, ecx
neg ecx
add eax, ecx
add eax, 0x6b115f50
mov ecx, eax
not ecx
mov edx, eax
and edx, 0xdd8c2f8a
and ecx, 0x2273d075
imul ecx, edx
mov edx, eax
and edx, 0x2273d075
or eax, 0x2273d075
imul eax, edx
add eax, ecx
imul eax, eax, 0x4772d03b
cmp eax, 0x1175daf5
jb 0x1401a5220
test rsi, rsi
je 0x1401a53f4
mov eax, dword [0x1415c9680]
mov ecx, dword [0x1415c9684]
mov edx, eax
and edx, ecx
xor eax, ecx
lea eax, [rax + rdx*2]
mov ecx, eax
not ecx
mov edx, eax
and edx, 0xa15d7df2
and ecx, 0x5ea2820d
imul ecx, edx
mov edx, eax
and edx, 0x5ea2820d
or eax, 0x5ea2820d
imul eax, edx
add eax, ecx
mov ecx, eax
and ecx, 0xbe9ec9a4
or eax, 0xbe9ec9a4
add eax, ecx
imul rax, rax, 0x7730c29d
shr rax, 0x3e
cmp eax, 0x9f11f44b
jbe 0x1401a52e0
mov qword [rsi], r14
nop dword [rax]
mov eax, dword [0x1415c9688]
mov ecx, dword [0x1415c968c]
mov edx, ecx
not edx
mov r8d, eax
and r8d, edx
or edx, eax
not edx
imul edx, r8d
mov r8d, eax
and r8d, ecx
or eax, ecx
imul eax, r8d
add eax, edx
mov qword [rsi], r14
cmp eax, 0x646c545f
je 0x1401a52e0
mov qword [rsi + 8], rbx
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0x10000
lea r8, [0x1401a9180]
xor ebx, ebx
xor ecx, ecx
mov rdx, rdi
mov r9, rsi
call fcn.14021c380
mov rcx, rax
test rax, rax
jne 0x1401a5740
xor eax, eax
nop
test al, al
jne 0x1401a5350
mov rdi, qword [rsi]
nop word [rax + rax]
mov eax, dword [0x1415c96a0]
mov ecx, dword [0x1415c96a4]
xor ecx, eax
not ecx
and ecx, eax
imul eax, ecx, 0xcca571da
mov ecx, eax
and ecx, 0x50b90ad4
add ecx, ecx
neg ecx
add eax, ecx
add eax, 0x50b90ad4
mov ecx, eax
not ecx
and ecx, 0xb3e22daa
mov edx, eax
and edx, 0x4c1dd254
imul edx, ecx
mov ecx, eax
and ecx, 0xb3e22daa
or eax, 0xb3e22daa
imul eax, ecx
add eax, edx
cmp eax, 0xeb6b975e
je 0x1401a5360
mov rbx, qword [rsi + 8]
mov r14, qword [rbx]
test r14, r14
je 0x1401a54f0
mov eax, dword [0x1415c96a8]
or eax, dword [0x1415c96ac]
add eax, 0xabb22ed1
mov ecx, 0xdd614687
imul rcx, rax
shr rcx, 0x3d
cmp ecx, 0x3351d709
jbe 0x1401a543a
jmp 0x1401a5484
mov eax, dword [0x1415c9690]
mov ecx, dword [0x1415c9694]
mov edx, eax
xor edx, ecx
not edx
and edx, ecx
add edx, edx
sub ecx, edx
add ecx, eax
mov eax, 0xcec07773
imul rax, rcx
shr rax, 0x3f
lea ecx, [rax - 0x7ffffc00]
xor ecx, 0x482141
or ecx, eax
cmp ecx, 0x2de6b94c
jne 0x1401a5789
jmp 0x1401a57a8
mov eax, dword [0x1415c96b0]
mov ecx, dword [0x1415c96b4]
not eax
not ecx
mov edx, eax
or edx, ecx
and ecx, eax
not ecx
and ecx, edx
and ecx, 0x3a497fed
mov ebp, ecx
xor ebp, 0x2c988002
xor ecx, 0x11222634
and ecx, 0x13237734
and ebp, 0x2cd888cb
sub ebp, ecx
mov rcx, rdi
call r14
cmp ebp, 0xe821bf33
jbe 0x1401a5490
mov rcx, rdi
call r14
jmp 0x1401a543a
mov eax, dword [0x1415c96b8]
mov ecx, dword [0x1415c96bc]
mov edx, eax
and edx, ecx
add edx, edx
add eax, ecx
sub eax, edx
mov ecx, eax
and ecx, 0x98846a2d
mov edx, ecx
not edx
mov r8d, eax
and r8d, 0x8846a2c
and edx, 0x111a8553
imul edx, r8d
and eax, 0x10000001
or ecx, 0x111a8553
imul ecx, eax
add ecx, edx
or ecx, 0xc772d83d
cmp ecx, 0x4e794cf4
jb 0x1401a5490
nop word cs:[rax + rax]
mov eax, dword [0x1415c96c0]
xor edx, edx
div dword [0x1415c96c4]
lea ecx, [rax + 0x67e3d56c]
mov edx, ecx
and edx, 0xe38bcd1d
xor ecx, 0x1c7432e2
add eax, ecx
add eax, 0x67e3d56c
sub eax, edx
imul eax, eax, 0xacf3b631
cmp eax, 0x90fe4925
je 0x1401a54f0
mov eax, 0xb1d57a17
nop dword [rax]
mov ecx, dword [0x1415c96c8]
or ecx, dword [0x1415c96cc]
or ecx, 0xe7868b40
imul rcx, rax
shr rcx, 0x3e
add ecx, 0xf236574d
cmp ecx, 0x9f2e006d
jb 0x1401a5530
mov rcx, qword [rbx + 8]
mov rax, qword [rbx + 0x10]
mov edx, dword [0x1415c96d0]
mov r8d, dword [0x1415c96d4]
not edx
not r8d
and r8d, edx
not r8d
or r8d, 0x7fa06b2d
add r8d, 0x5486e708
mov edx, r8d
xor edx, 0x84f571b2
and edx, r8d
cmp edx, 0x3f48173e
jb 0x1401a5560
test rcx, rcx
je 0x1401a56fa
nop word cs:[rax + rax]
mov edx, dword [0x1415c96d8]
mov ecx, dword [0x1415c96dc]
mov r8d, ecx
not r8d
and r8d, edx
xor ecx, edx
add ecx, edx
sub ecx, r8d
mov edx, ecx
not edx
mov r8d, ecx
and r8d, 0x1e5b4179
and edx, 0xe1a4be86
imul edx, r8d
mov r8d, ecx
and r8d, 0x61a4be86
or ecx, 0x61a4be86
imul ecx, r8d
add ecx, edx
mov edx, ecx
not edx
mov r8d, ecx
or r8d, 0xadeb1eb7
and edx, 0x4214c148
mov r9d, r8d
and r9d, 0x1d622c22
imul r9d, edx
and r8d, 0xe29dd3dd
or ecx, 0xefffdfff
imul ecx, r8d
add ecx, r9d
cmp ecx, 0xbdc4620d
ja 0x1401a55b0
cmp rax, 0x11
jb 0x1401a56e8
mov eax, 0xc499e205
nop dword [rax + rax]
mov ecx, dword [0x1415c96e0]
mov edx, ecx
not edx
or edx, dword [0x1415c96e4]
add ecx, edx
inc ecx
imul rcx, rax
shr rcx, 0x3d
mov edx, ecx
and edx, 3
mov r8d, edx
not r8d
mov r9d, ecx
and r9d, 1
and r8d, 0x1b683746
imul r8d, r9d
and ecx, 2
or edx, 0x1b683746
imul edx, ecx
add edx, r8d
cmp edx, 0x3d592ce6
ja 0x1401a5650
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x1401a56b0
mov rdi, qword [rdi - 8]
nop dword [rax + rax]
mov eax, dword [0x1415c96e8]
sub eax, dword [0x1415c96ec]
and eax, 0xb3601421
add eax, 0x179da75d
imul rax, rax, 0x2acd25e3
shr rax, 0x3c
cmp eax, 0x328c07e9
je 0x1401a56c0
mov rcx, qword [0x1415d3918]
xor edx, edx
mov r8, rdi
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rcx, qword [0x1415d3918]
xor edi, edi
xor edx, edx
mov r8, rsi
call fcn.140219910
call sub.KERNEL32.dll_GetLastError
mov ecx, eax
mov eax, dword [0x1415c96f0]
xor edx, edx
div dword [0x1415c96f4]
shl rcx, 0x20
or rcx, 2
nop word [rax + rax]
test dil, dil
jne 0x1401a5730
mov ebx, 1
nop word [rax + rax]
mov eax, dword [0x1415c96fc]
add eax, dword [0x1415c96f8]
or eax, 0x23fe16af
lea edx, [rax + 0x10955bb6]
mov r8d, edx
and r8d, 0x6887b9b4
xor edx, 0x95104249
add eax, edx
add eax, 0x10955bb6
sub eax, r8d
cmp eax, 0x54becffb
je 0x1401a5740
mov rax, rbx
mov rdx, rcx
add rsp, 0x30
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
ret
mov eax, dword [0x1415c9698]
sub eax, dword [0x1415c969c]
and eax, 0x2109dea6
xor eax, 0x200802a0
ud2
ud2