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

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x18
lea rbp, [rsp + 0x10]
mov r10, rdx
mov eax, dword [0x141dce170]
imul eax, dword [0x141dce174]
mov esi, ecx
add eax, 0x64a1b5f8
or eax, 0xb2aa8110
cmp eax, 0xca4cc039
ja 0x140086e5e
mov ecx, dword [0x141dce178]
and ecx, dword [0x141dce17c]
xor ecx, 0x247b4e1
add ecx, 0xaa69499b
or ecx, 0xd91c8888
mov eax, 0x10
call fcn.1400ef330
sub rsp, rax
mov rbx, rsp
mov eax, 0x20
call fcn.1400ef330
sub rsp, rax
mov r12, rsp
mov eax, 0x20
call fcn.1400ef330
sub rsp, rax
mov r13, rsp
mov eax, 0x20
call fcn.1400ef330
sub rsp, rax
mov r15, rsp
cmp ecx, 0xa5e70449
jne 0x140086e97
mov eax, 0x10
call fcn.1400ef330
sub rsp, rax
mov eax, 0x20
call fcn.1400ef330
sub rsp, rax
mov eax, 0x20
call fcn.1400ef330
sub rsp, rax
mov eax, 0x20
call fcn.1400ef330
sub rsp, rax
jmp 0x140086df8
mov eax, dword [0x141dce180]
xor edx, edx
div dword [0x141dce184]
nop word cs:[rax + rax]
mov eax, dword [0x141dce188]
add eax, dword [0x141dce18c]
imul eax, eax, 0x602a146a
add eax, 0xb2dc1de2
cmp eax, 0x972455f9
jb 0x140086eb0
test r8, r8
je 0x140086f04
mov qword [rbp - 8], r8
mov qword [rbp], r10
mov qword [rbp - 0x10], r9
mov eax, dword [0x141dce190]
or eax, dword [0x141dce194]
and eax, 0x29d5e608
imul eax, eax, 0x850d8149
add eax, 0x6fb37719
cmp eax, 0xc5a40cd1
jbe 0x140086f46
jmp 0x140086f80
xor ecx, ecx
xor r8d, r8d
nop dword [rax]
mov eax, dword [0x141dce1a0]
xor edx, edx
div dword [0x141dce1a4]
add eax, 0x7baf19d8
xor eax, 0xedb8f4e6
cmp eax, 0x81e4689
jb 0x140086f10
mov rax, r8
mov rdx, rcx
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov eax, dword [0x141dce198]
xor eax, dword [0x141dce19c]
imul r14d, eax, 0x215a85da
add r14d, 0xd506036d
and r14d, 0x8fb5a4fd
sub rsp, 0x20
mov ecx, esi
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
add rsp, 0x20
cmp r14d, 0x3cbcc61f
jbe 0x140086f92
sub rsp, 0x20
mov ecx, esi
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
add rsp, 0x20
jmp 0x140086f46
mov rdi, rax
xor eax, eax
nop word [rax + rax]
test al, al
jne 0x140086fa0
test rdi, rdi
je 0x140086fc9
cmp rdi, 0xffffffffffffffff
jne 0x14008700a
sub rsp, 0x20
call qword [sym.imp.KERNEL32.dll_GetLastError]
add rsp, 0x20
mov ecx, eax
shl rcx, 0x20
or rcx, 2
jmp 0x140086fe0
movabs rcx, 0x600000002
nop word cs:[rax + rax]
mov eax, dword [0x141dce1a8]
xor edx, edx
div dword [0x141dce1ac]
xor eax, 0x10000801
and eax, 0x58d01c03
cmp eax, 0x3727cc5e
ja 0x140086fe0
mov r8d, 1
jmp 0x140086f10
mov eax, dword [0x141dce1b0]
and eax, dword [0x141dce1b4]
cmp eax, 0xcf6d3997
je 0x14008705b
mov eax, dword [0x141dce1b8]
sub eax, dword [0x141dce1bc]
xor eax, 0x2fa591b5
imul rsi, rax, 0x5b146f57
shr rsi, 0x3e
mov dword [rbx], 0
sub rsp, 0x20
mov rcx, rdi
mov rdx, rbx
call qword [sym.imp.KERNEL32.dll_GetConsoleMode]
add rsp, 0x20
cmp esi, 0x239b4be8
jbe 0x140087077
mov dword [rbx], 0
sub rsp, 0x20
mov rcx, rdi
mov rdx, rbx
call qword [sym.imp.KERNEL32.dll_GetConsoleMode]
add rsp, 0x20
jmp 0x14008701d
test eax, eax
je 0x14008742c
mov rdx, qword [rbp - 0x10]
nop word cs:[rax + rax]
mov eax, dword [0x141dce1d0]
xor eax, dword [0x141dce1d4]
imul rcx, rax, 0x207539a5
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1f
imul eax, eax, 0x351867c9
xor eax, 0x35c76982
cmp eax, 0xa859c8d6
ja 0x140087090
nop word cs:[rax + rax]
mov eax, dword [0x141dce1d8]
xor eax, dword [0x141dce1dc]
and eax, 0xb8efcbc1
imul eax, eax, 0x1ff3b3cd
cmp eax, 0x5cb65408
je 0x1400870d0
movzx eax, byte [rdx + 4]
nop word cs:[rax + rax]
mov ecx, dword [0x141dce1e0]
xor ecx, dword [0x141dce1e4]
add ecx, 0x531eab39
or ecx, 0xc00b2301
cmp ecx, 0x9f97a9e6
jb 0x140087100
test rax, rax
je 0x140087498
mov ecx, 0xca7e6381
nop
mov r8d, dword [0x141dce1e8]
imul r8d, dword [0x141dce1ec]
or r8d, 0xcac06dac
imul r8, rcx
shr r8, 0x3d
cmp r8d, 0x7d2360be
je 0x140087130
cmp al, 4
jae 0x1400877c2
mov rcx, qword [rbp]
movzx ecx, byte [rcx]
mov r9d, ecx
and r9b, 0xc0
nop dword [rax]
mov r8d, dword [0x141dce270]
sub r8d, dword [0x141dce274]
cmp r8d, 0x92e5d8cb
je 0x140087170
cmp r9b, 0x80
jne 0x1400875e3
mov byte [rdx + rax], cl
movzx eax, byte [rdx + 4]
inc al
mov byte [rdx + 4], al
mov r9d, 0x9a69aadf
lea rcx, [0x141db95b8]
nop word [rax + rax]
mov r8d, dword [0x141dce290]
sub r8d, dword [0x141dce294]
or r8d, 0xb2219dd9
imul r8, r9
shr r8, 0x3c
imul r8d, r8d, 0x74a6696f
cmp r8d, 0xa9b88ec5
je 0x1400871b0
movzx r8d, byte [rdx]
movzx ebx, byte [r8 + rcx]
cmp al, bl
jae 0x140087200
mov ecx, 1
jmp 0x140086f06
mov ecx, dword [0x141dce298]
imul ecx, dword [0x141dce29c]
imul rcx, rcx, 0x66a16719
shr rcx, 0x3e
add ecx, 0x7ec8be1f
cmp ecx, 0x5ef68946
jb 0x140087200
mov ecx, 0xd02ef443
nop dword [rax + rax]
mov r8d, dword [0x141dce2a0]
and r8d, dword [0x141dce2a4]
add r8d, 0xb1b5de22
imul r8, rcx
shr r8, 0x3f
or r8d, 0x9eec3792
cmp r8d, 0xf8e47075
ja 0x140087230
cmp al, 4
ja 0x140087944
movzx r8d, al
sub rsp, 0x20
mov rcx, r15
mov rsi, rdx
call fcn.140053dc0
add rsp, 0x20
mov byte [rsi + 4], 0
cmp qword [r15], 0
jne 0x1400877b0
nop word [rax + rax]
mov eax, dword [0x141dce2a8]
imul eax, dword [0x141dce2ac]
or eax, 0x11b1848
and eax, 0x19b1c4c
cmp eax, 0x1567521a
je 0x140087290
mov rcx, qword [r15 + 0x10]
nop word cs:[rax + rax]
mov eax, dword [0x141dce2b0]
imul eax, dword [0x141dce2b4]
xor eax, 0x818000
or eax, 0xdf6e7fff
cmp eax, 0xdf01884
jb 0x1400872c0
nop
mov eax, dword [0x141dce2b8]
xor edx, edx
div dword [0x141dce2bc]
imul eax, eax, 0x3f0e5c1f
and eax, 0x85d2dfdf
add eax, 0xff94be37
cmp eax, 0x35bec7ee
jb 0x1400872e0
cmp rcx, rbx
jne 0x140087850
mov rdx, qword [r15 + 8]
sub rsp, 0x20
mov rcx, rdi
mov r8, rbx
call fcn.140087d60
add rsp, 0x20
mov r8, rax
mov rcx, rdx
mov eax, dword [0x141dce2d0]
xor r9d, r9d
xor edx, edx
div dword [0x141dce2d4]
nop dword [rax]
test r9b, r9b
jne 0x140087340
nop word cs:[rax + rax]
mov eax, dword [0x141dce2d8]
add eax, dword [0x141dce2dc]
imul eax, eax, 0xbd5a6873
add eax, 0x428d6c25
imul rax, rax, 0x2a6107f3
shr rax, 0x3c
cmp eax, 0x689b0843
ja 0x140087350
test r8, r8
jne 0x140086f10
mov eax, dword [0x141dce2e0]
xor edx, edx
div dword [0x141dce2e4]
add eax, 0xebe3fdae
imul rax, rax, 0x4bfa0697
shr rax, 0x3a
add eax, 0xd382ac75
cmp eax, 0xfb9eaef5
ja 0x140087382
cmp rbx, rcx
je 0x1400871ea
mov eax, dword [0x141dce2e8]
xor eax, dword [0x141dce2ec]
imul eax, eax, 0x8efb83a0
or eax, 0x3698db1e
cmp eax, 0xdf992bdf
jbe 0x1400873d5
ud2
mov eax, dword [0x141dce2f0]
or eax, dword [0x141dce2f4]
imul rax, rax, 0x73861ced
shr rax, 0x3e
xor eax, 0xe15a3def
ud2
sub rsp, 0x20
mov rcx, rdi
mov rdx, qword [rbp]
mov r8, qword [rbp - 8]
call fcn.140087980
add rsp, 0x20
mov r8, rax
mov rcx, rdx
nop word [rax + rax]
mov eax, dword [0x141dce1c0]
imul eax, dword [0x141dce1c4]
imul eax, eax, 0x94c425e0
cmp eax, 0x5ec9b8e6
je 0x140087450
nop word [rax + rax]
mov eax, dword [0x141dce1c8]
sub eax, dword [0x141dce1cc]
or eax, 0x119b0d1
and eax, 0x613bb9db
imul eax, eax, 0xbdb2ac65
cmp eax, 0x89fef730
je 0x140087470
jmp 0x140086f10
mov rax, qword [rbp - 8]
cmp rax, 0x1000
mov r8d, 0x1000
cmovb r8, rax
sub rsp, 0x20
mov rcx, r13
mov rdx, qword [rbp]
call fcn.140053dc0
add rsp, 0x20
mov rax, qword [r13]
xor ecx, ecx
nop word cs:[rax + rax]
test cl, cl
jne 0x1400874d0
test rax, rax
je 0x14008766e
mov r8, qword [r13 + 8]
nop word cs:[rax + rax]
mov eax, dword [0x141dce1f8]
sub eax, dword [0x141dce1fc]
add eax, 0x48d270fd
imul rax, rax, 0x700d22c9
shr rax, 0x3b
cmp eax, 0x4a04dd27
ja 0x1400874f0
test r8, r8
je 0x1400876e4
nop dword [rax]
mov eax, dword [0x141dce210]
or eax, dword [0x141dce214]
xor eax, 0x4150cc08
and eax, 0xcbd7cc2a
cmp eax, 0x4e97f6a7
je 0x140087520
nop dword [rax]
mov eax, dword [0x141dce218]
and eax, dword [0x141dce21c]
or eax, 0x148a2cea
add eax, 0x97a2215d
and eax, 0x5599595e
cmp eax, 0x7a88844c
je 0x140087540
cmp r8, qword [rbp - 8]
ja 0x1400877f4
sub rsp, 0x20
mov rcx, r12
mov rdx, qword [rbp]
call fcn.140053dc0
add rsp, 0x20
cmp qword [r12], 0
jne 0x140087822
nop dword [rax + rax]
mov eax, dword [0x141dce258]
xor eax, dword [0x141dce25c]
imul rcx, rax, 0xebc4a7
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1f
imul eax, eax, 0x3af82097
or eax, 0x3eaf1d7a
cmp eax, 0x2705ea62
jb 0x140087590
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x1400875d0
mov rsi, qword [r12 + 8]
mov rbx, qword [r12 + 0x10]
jmp 0x1400876b0
mov eax, dword [0x141dce278]
imul eax, dword [0x141dce27c]
and eax, 0x20092a04
xor eax, 0xc0ed7574
cmp eax, 0x119c9aa1
jae 0x140087610
mov byte [rdx + 4], 0
nop word cs:[rax + rax]
mov eax, dword [0x141dce280]
imul eax, dword [0x141dce284]
or eax, 0x3ed74b41
imul eax, eax, 0xb24c4e7c
or eax, 0x7c0a7cad
mov byte [rdx + 4], 0
cmp eax, 0x41a8a7f3
jb 0x140087610
lea rcx, [0x141db9708]
nop
mov eax, dword [0x141dce288]
xor eax, dword [0x141dce28c]
imul eax, eax, 0xe91cf467
and eax, 0x4656f7d7
xor eax, 0xc8853820
cmp eax, 0x514b11de
jbe 0x140087640
mov r8d, 1
jmp 0x140086f10
mov eax, 0x9bb6a45b
nop word cs:[rax + rax]
mov ecx, dword [0x141dce1f0]
sub ecx, dword [0x141dce1f4]
or ecx, 0x1590f24b
imul ecx, ecx, 0x83e20c85
imul rcx, rax
shr rcx, 0x3f
cmp ecx, 0xe7515194
ja 0x140087680
mov rsi, qword [r13 + 8]
mov rbx, qword [r13 + 0x10]
mov eax, dword [0x141dce200]
add eax, dword [0x141dce204]
or eax, 0xfe6256a
mov ecx, 0x9df6aa15
imul rcx, rax
shr rcx, 0x3f
imul eax, ecx, 0x6b588e9b
cmp eax, 0x7db13cb8
jbe 0x140087889
jmp 0x1400878c4
mov eax, dword [0x141dce220]
xor edx, edx
div dword [0x141dce224]
lea rcx, [0x141db95b8]
nop dword [rax]
mov eax, dword [0x141dce228]
imul eax, dword [0x141dce22c]
and eax, 0x121cb18
imul eax, eax, 0x53c15513
or eax, 0xf92fadd5
cmp eax, 0xc8409eac
jb 0x140087700
mov rax, qword [rbp]
movzx eax, byte [rax]
movzx ecx, byte [rax + rcx]
mov r10, qword [rbp - 8]
nop word cs:[rax + rax]
cmp cl, 2
setae dl
mov r9d, dword [0x141dce230]
xor r9d, dword [0x141dce234]
xor r9d, 0x40000220
or r9d, 0x83bd9010
and r9d, 0xe3bd9233
cmp rcx, r10
seta r8b
cmp r9d, 0x2cd8bddb
je 0x140087740
and dl, r8b
je 0x1400877b0
mov rcx, qword [rbp - 0x10]
mov byte [rcx], al
mov eax, dword [0x141dce238]
sub eax, dword [0x141dce23c]
add eax, 0x9ea8adbf
or eax, 0xc1adabb2
imul eax, eax, 0xb7bcd020
cmp eax, 0x2434b9af
jae 0x1400878e7
jmp 0x14008790e
mov r8d, 1
lea rcx, [0x141db9708]
jmp 0x140086f10
ud2
ud2
ud2
mov eax, dword [0x141dce2c0]
or eax, dword [0x141dce2c4]
imul rcx, rax, 0xd634ca9
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1b
and eax, 0xa
imul eax, eax, 0xeafe91c2
cmp eax, 0xb46c68fc
jae 0x140087946
jmp 0x14008794e
mov r14d, dword [0x141dce208]
or r14d, dword [0x141dce20c]
add r14d, 0xa8211ec2
or r14d, 0x1c98c8b5
sub rsp, 0x20
mov rcx, rdi
mov rdx, rsi
mov r8, rbx
call fcn.140087d60
add rsp, 0x20
cmp r14d, 0x8d6ae11f
jae 0x1400878dc
sub rsp, 0x20
mov rcx, rdi
mov rdx, rsi
mov r8, rbx
call fcn.140087d60
add rsp, 0x20
jmp 0x140087889
mov r8, rax
mov rcx, rdx
jmp 0x140086f10
mov eax, dword [0x141dce240]
and eax, dword [0x141dce244]
imul eax, eax, 0x26dba6d8
and eax, 0x8bb018c8
add eax, 0xb3206c44
mov byte [rcx + 4], 1
cmp eax, 0x8ba41e78
jae 0x140087914
mov byte [rcx + 4], 1
jmp 0x1400878e7
xor r8d, r8d
mov eax, dword [0x141dce248]
xor eax, dword [0x141dce24c]
add eax, 0x45ec92e0
imul rax, rax, 0x2161c4fb
shr rax, 0x3d
cmp eax, 0x745c199a
jae 0x140087917
mov ecx, 1
jmp 0x140086f10
ud2
ud2
ud2