Function at 0x140087a20
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 qword [rbp - 8], rdx
mov edi, ecx
mov eax, dword [0x141dcf108]
and eax, dword [0x141dcf10c]
and eax, 0xeba387c3
cmp eax, 0xa251c971
je 0x140087ab9
mov ecx, dword [0x141dcf110]
xor ecx, dword [0x141dcf114]
add ecx, 0x9fe45c66
xor ecx, 0x72361494
add ecx, 0x75670b4
mov eax, 0x10
call fcn.1400f07c0
sub rsp, rax
mov r12, rsp
mov eax, 0x20
call fcn.1400f07c0
sub rsp, rax
mov r15, rsp
mov eax, 0x20
call fcn.1400f07c0
sub rsp, rax
mov r13, rsp
mov eax, 0x20
call fcn.1400f07c0
sub rsp, rax
mov r14, rsp
cmp ecx, 0xe6023292
jbe 0x140087af2
mov eax, 0x10
call fcn.1400f07c0
sub rsp, rax
mov eax, 0x20
call fcn.1400f07c0
sub rsp, rax
mov eax, 0x20
call fcn.1400f07c0
sub rsp, rax
mov eax, 0x20
call fcn.1400f07c0
sub rsp, rax
jmp 0x140087a53
test r8, r8
je 0x140087b27
mov qword [rbp], r8
mov qword [rbp - 0x10], r9
mov eax, dword [0x141dcf118]
xor eax, dword [0x141dcf11c]
and eax, 0xe800c850
mov ecx, 0x812b3773
imul rcx, rax
shr rcx, 0x3d
cmp ecx, 0xebb48f81
jne 0x140087b6a
jmp 0x140087b9c
xor ecx, ecx
xor r8d, r8d
nop dword [rax]
mov eax, dword [0x141dcf148]
and eax, dword [str._si]
imul eax, eax, 0xc6c025ba
or eax, 0xe3f3b2d0
xor eax, 0xde2f6722
cmp eax, 0x90188fc
jb 0x140087b30
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 [0x141dcf120]
xor edx, edx
div dword [0x141dcf124]
imul ebx, eax, 0xf7d0989f
or ebx, 0xfcfbeffb
sub rsp, 0x20
mov ecx, edi
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
add rsp, 0x20
cmp ebx, 0x82b69c3c
jae 0x140087bae
sub rsp, 0x20
mov ecx, edi
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
add rsp, 0x20
jmp 0x140087b6a
mov rsi, rax
nop word cs:[rax + rax]
mov eax, dword [0x141dcf128]
xor eax, dword [0x141dcf12c]
add eax, 0xa704ec99
xor eax, 0x38b5c9f7
cmp eax, 0x48bd361
jb 0x140087bc0
nop dword [rax]
mov eax, dword [0x141dcf130]
or eax, dword [0x141dcf134]
and eax, 0x6d8661cd
imul rax, rax, 0x28828e8f
shr rax, 0x3c
or eax, 0x3da025d0
cmp eax, 0x17be827c
jb 0x140087be0
test rsi, rsi
je 0x140087f99
cmp rsi, 0xffffffffffffffff
jne 0x140087c50
mov eax, dword [0x141dcf138]
and eax, dword [0x141dcf13c]
mov ecx, 0x83eda39b
imul rcx, rax
shr rcx, 0x39
add ecx, 0x3afdb3a1
and ecx, 0x2e1132c
cmp ecx, 0xe188a728
jbe 0x1400882c5
jmp 0x1400882d9
mov eax, dword [0x141dcf158]
xor eax, dword [0x141dcf15c]
and eax, 0x9187f642
xor eax, 0x9c87fd6f
imul eax, eax, 0x347d0ec3
cmp eax, 0xff4833f3
je 0x140087c50
mov eax, dword [str.7X]
imul eax, dword [0x141dcf164]
mov dword [r12], 0
or eax, 0x2d0840
and eax, 0x202d4f51
cmp eax, 0x6d1260c8
jne 0x140087cad
sub rsp, 0x20
mov rcx, rsi
mov rdx, r12
call qword [sym.imp.KERNEL32.dll_GetConsoleMode]
add rsp, 0x20
mov rdi, qword [sym.imp.KERNEL32.dll_GetConsoleMode]
nop word cs:[rax + rax]
mov ebx, dword [0x141dcf168]
add ebx, dword [0x141dcf16c]
or ebx, 0xe7359ad3
sub rsp, 0x20
mov rcx, rsi
mov rdx, r12
call rdi
add rsp, 0x20
cmp ebx, 0xa83632c8
je 0x140087cc0
test eax, eax
je 0x140087fa8
nop word cs:[rax + rax]
mov eax, dword [0x141dcf180]
or eax, dword [0x141dcf184]
imul eax, eax, 0x3f1f5bc3
add eax, 0x1832139e
and eax, 0xb93f2e8c
cmp eax, 0x2bc6ac49
je 0x140087d00
mov r9, qword [rbp - 0x10]
nop word [rax + rax]
mov eax, dword [0x141dcf188]
and eax, dword [0x141dcf18c]
imul rax, rax, 0x6d292a05
shr rax, 0x3e
cmp eax, 0x15bb65bc
je 0x140087d30
movzx ecx, byte [r9 + 4]
nop word cs:[rax + rax]
mov eax, dword [0x141dcf190]
imul eax, dword [0x141dcf194]
and eax, 0x6b8e2032
add eax, 0x569678a9
imul rax, rax, 0x6bd42ecb
shr rax, 0x3c
cmp eax, 0xf9939689
je 0x140087d60
test rcx, rcx
je 0x140088013
cmp cl, 4
jae 0x140088216
nop dword [rax + rax]
mov eax, dword [0x141dcf218]
sub eax, dword [0x141dcf21c]
imul eax, eax, 0x54789e10
add eax, 0xa3a82190
imul rax, rax, 0x732bd32b
shr rax, 0x3e
cmp eax, 0x242221dd
je 0x140087da0
mov rax, qword [rbp - 8]
movzx r8d, byte [rax]
mov eax, r8d
and al, 0xc0
xor edx, edx
nop dword [rax + rax]
test dl, dl
jne 0x140087de0
cmp al, 0x80
jne 0x14008804b
nop dword [rax]
mov eax, dword [0x141dcf228]
mov edx, dword [0x141dcf22c]
add eax, edx
add eax, 0x2c49226e
xor eax, 0xaad1bcf5
add eax, 0x73e30ded
cmp eax, 0xf69c11ba
ja 0x140087df0
mov eax, dword [0x141dcf230]
xor edx, edx
div dword [0x141dcf234]
or eax, 0x2e52e754
add eax, 0xf27e3290
cmp eax, 0x9fb0cd46
jbe 0x140087e37
mov byte [r9 + rcx], r8b
mov eax, 0xa8888455
nop dword [rax]
mov edx, dword [str.3Gly]
imul edx, dword [0x141dcf23c]
imul rdx, rax
shr rdx, 0x3f
or edx, 0x9fb76afa
imul edx, edx, 0x202ec4d9
mov byte [r9 + rcx], r8b
cmp edx, 0x573c4540
je 0x140087e40
movzx eax, byte [r9 + 4]
inc al
mov byte [r9 + 4], al
movzx ecx, byte [r9]
lea rdx, [0x141dba9d8]
movzx ebx, byte [rcx + rdx]
cmp al, bl
jae 0x140087ea0
mov ecx, 1
jmp 0x140087b29
mov ecx, dword [0x141dcf240]
imul ecx, dword [0x141dcf244]
add ecx, 0xdb9c6f84
and ecx, 0xe77f05e6
imul rdx, rcx, 0x2beb935
shr rdx, 0x20
sub ecx, edx
shr ecx, 1
add ecx, edx
shr ecx, 0x1f
cmp ecx, 0xebb6f693
ja 0x140087ea0
mov ecx, 0xd613f87f
nop word [rax + rax]
mov edx, dword [0x141dcf248]
or edx, dword [0x141dcf24c]
or edx, 0x336abdde
imul rdx, rcx
shr rdx, 0x3e
imul edx, edx, 0x9149833
cmp edx, 0xbbbf49cb
je 0x140087ee0
nop dword [rax + rax]
mov ecx, dword [0x141dcf250]
add ecx, dword [0x141dcf254]
and ecx, 0x7d332eea
add ecx, 0x6746e306
cmp ecx, 0xdda43f08
ja 0x140087f10
cmp al, 4
ja 0x14008823d
movzx r8d, al
sub rsp, 0x20
mov rcx, r14
mov rdx, r9
mov rdi, r9
call fcn.140055a70
add rsp, 0x20
mov byte [rdi + 4], 0
nop word cs:[rax + rax]
mov eax, dword [0x141dcf258]
or eax, dword [0x141dcf25c]
add eax, 0x870655f1
and eax, 0xb825a108
cmp eax, 0x89111b49
je 0x140087f60
cmp qword [r14], 0
je 0x140088094
mov r8d, 1
lea rcx, [0x141dbab28]
jmp 0x1400881b0
movabs rcx, 0x600000002
jmp 0x140088330
sub rsp, 0x20
mov rcx, rsi
mov rdx, qword [rbp - 8]
mov r8, qword [rbp]
call fcn.140088720
add rsp, 0x20
mov r8, rax
mov rcx, rdx
nop word cs:[rax + rax]
mov eax, dword [0x141dcf170]
imul eax, dword [0x141dcf174]
imul eax, eax, 0x8d3ce5b8
and eax, 0xfa9597a0
cmp eax, 0xa7d4a336
ja 0x140087fd0
nop
mov eax, dword [0x141dcf178]
imul eax, dword [0x141dcf17c]
and eax, 0xcce0fe54
xor eax, 0x689005c
cmp eax, 0x946e11fe
ja 0x140087ff0
jmp 0x140087b30
mov rax, qword [rbp]
cmp rax, 0x1000
mov edi, 0x1000
cmovb rdi, rax
mov eax, dword [0x141dcf198]
sub eax, dword [0x141dcf19c]
or eax, 0xc6edd377
cmp eax, 0xdea7d5e1
mov r14, qword [rbp - 8]
jne 0x140088359
jmp 0x140088398
mov eax, dword [0x141dcf220]
or eax, dword [0x141dcf224]
add eax, 0x3c81bfce
xor eax, 0x2bb7bb8d
imul eax, eax, 0x7d947f46
cmp eax, 0x64369742
jne 0x140088073
mov byte [r9 + 4], 0
lea rcx, [0x141dbab28]
xor eax, eax
nop dword [rax]
mov byte [r9 + 4], 0
test al, al
jne 0x140088080
mov r8d, 1
jmp 0x140087b30
cmp qword [r14 + 0x10], rbx
jne 0x1400881d0
mov eax, dword [0x141dcf280]
add eax, dword [0x141dcf284]
xor eax, 0xddba8ae1
imul eax, eax, 0x2fdf6691
xor eax, 0xbc2e00fa
cmp eax, 0xb862096b
jbe 0x1400880e0
mov rdx, qword [r14 + 8]
sub rsp, 0x20
mov rcx, rsi
mov r8, rbx
call fcn.140088b50
add rsp, 0x20
nop dword [rax + rax]
mov eax, dword [0x141dcf288]
and eax, dword [0x141dcf28c]
imul edi, eax, 0xa7801fb0
mov rdx, qword [r14 + 8]
sub rsp, 0x20
mov rcx, rsi
mov r8, rbx
call fcn.140088b50
add rsp, 0x20
cmp edi, 0xa1419b27
je 0x1400880e0
mov r8, rax
mov rcx, rdx
mov eax, dword [0x141dcf290]
xor r9d, r9d
xor edx, edx
div dword [0x141dcf294]
nop dword [rax + rax]
test r9b, r9b
jne 0x140088130
nop word cs:[rax + rax]
mov eax, dword [0x141dcf298]
and eax, dword [0x141dcf29c]
imul eax, eax, 0xff6ae141
cmp eax, 0x79168ad3
je 0x140088140
test r8, r8
jne 0x1400881b0
mov eax, dword [0x141dcf2a0]
xor eax, dword [0x141dcf2a4]
imul rax, rax, 0x4e7aff03
shr rax, 0x3e
cmp eax, 0x5b99ea4d
je 0x14008815e
mov eax, dword [0x141dcf2a8]
imul eax, dword [0x141dcf2ac]
imul eax, eax, 0xd705d09a
cmp eax, 0x74997231
je 0x14008817c
cmp rbx, rcx
jne 0x14008829e
mov ecx, 1
xor r8d, r8d
nop word [rax + rax]
mov eax, dword [0x141dcf2c8]
xor edx, edx
div dword [0x141dcf2cc]
imul eax, eax, 0xd9a51941
cmp eax, 0x17ddd4a3
je 0x1400881b0
jmp 0x140087b30
ud2
mov eax, dword [0x141dcf208]
and eax, dword [0x141dcf20c]
imul eax, eax, 0x9369d24f
add eax, 0xe9665bcb
cmp eax, 0xa898c0fc
jae 0x1400886aa
jmp 0x1400886d2
mov eax, dword [0x141dcf260]
or eax, dword [0x141dcf264]
xor eax, 0x84004604
and eax, 0xbc507644
xor eax, 0x81f0168f
cmp eax, 0x84c56729
jae 0x140088261
ud2
mov eax, dword [0x141dcf268]
sub eax, dword [0x141dcf26c]
ud2
mov eax, dword [0x141dcf2b0]
add eax, dword [0x141dcf2b4]
or eax, 0xaefbbe3d
imul eax, eax, 0x5b6d5d6
cmp eax, 0x183161e
jne 0x1400886d6
jmp 0x1400886f6
sub rsp, 0x20
call qword [sym.imp.KERNEL32.dll_GetLastError]
add rsp, 0x20
xor ecx, ecx
test cl, cl
je 0x1400882e9
sub rsp, 0x20
call qword [sym.imp.KERNEL32.dll_GetLastError]
add rsp, 0x20
jmp 0x1400882c5
movsxd rcx, eax
shl rcx, 0x20
or rcx, 2
mov eax, 0x83d7d79f
nop dword [rax]
mov edx, dword [0x141dcf140]
or edx, dword [0x141dcf144]
add edx, 0xfb489271
shr edx, 1
imul rdx, rax
shr rdx, 0x3e
cmp edx, 0xbc678a66
je 0x140088300
nop word cs:[rax + rax]
mov eax, dword [0x141dcf150]
or eax, dword [0x141dcf154]
and eax, 0x437bb50a
imul eax, eax, 0xed76b15e
cmp eax, 0x73f53291
je 0x140088330
mov r8d, 1
jmp 0x140087b30
mov eax, dword [0x141dcf1a0]
and eax, dword [0x141dcf1a4]
add eax, 0x8928256c
and eax, 0x68f66ab
imul rbx, rax, 0xaace9cf
shr rbx, 0x32
sub rsp, 0x20
mov rcx, r13
mov rdx, r14
mov r8, rdi
call fcn.140055a70
add rsp, 0x20
cmp ebx, 0x454a4b5d
jbe 0x1400883b0
sub rsp, 0x20
mov rcx, r13
mov rdx, r14
mov r8, rdi
call fcn.140055a70
add rsp, 0x20
jmp 0x140088359
cmp qword [r13], 0
je 0x140088471
mov rdi, qword [r13 + 8]
nop
mov eax, dword [0x141dcf1a8]
and eax, dword [0x141dcf1ac]
or eax, 0x3735ce25
add eax, 0x106f6cf1
and eax, 0x5ec179de
cmp eax, 0x465d044f
jb 0x1400883c0
mov r9, qword [rbp - 0x10]
nop word cs:[rax + rax]
mov eax, dword [0x141dcf1b0]
imul eax, dword [0x141dcf1b4]
imul eax, eax, 0xfc12da1b
cmp eax, 0x76ff5d9c
jb 0x1400883f0
test rdi, rdi
je 0x14008847e
nop
mov eax, dword [str.8T08]
xor edx, edx
div dword [0x141dcf1c4]
imul eax, eax, 0x45a01320
add eax, 0xe52c57c0
imul rax, rax, 0x5f5df3b3
shr rax, 0x3d
cmp eax, 0x3d77ea5d
ja 0x140088410
cmp rdi, qword [rbp]
ja 0x140088519
mov eax, dword [0x141dcf1d8]
add eax, dword [0x141dcf1dc]
imul eax, eax, 0xbb37666f
and eax, 0x75d4b0e2
xor eax, 0x9cbdfe62
cmp eax, 0x905f6cec
jbe 0x1400885b6
jmp 0x1400885ed
mov rdi, qword [r13 + 8]
mov rbx, qword [r13 + 0x10]
jmp 0x140088547
movzx eax, byte [r14]
lea rcx, [0x141dba9d8]
movzx edx, byte [rax + rcx]
mov r8d, 1
lea rcx, [0x141dbab28]
cmp rdx, 2
jb 0x140087b30
cmp rdx, qword [rbp]
jbe 0x140087b30
mov byte [r9], al
mov eax, dword [0x141dcf1c8]
sub eax, dword [0x141dcf1cc]
shr eax, 0xb
imul rax, rax, 0x4684d
shr rax, 0x27
or eax, 0xd795ffb6
cmp eax, 0x60a1eb39
jne 0x1400884dc
mov byte [r9 + 4], 1
xor eax, eax
mov byte [r9 + 4], 1
test al, al
jne 0x1400884de
xor r8d, r8d
mov eax, dword [0x141dcf1d0]
xor edx, edx
div dword [0x141dcf1d4]
xor eax, 0x8e105130
and eax, 0xce9df338
imul eax, eax, 0xedb62768
cmp eax, 0xe75c2882
ja 0x1400884ea
mov ecx, 1
jmp 0x140087b30
ud2
xor eax, eax
test al, al
je 0x140088570
sub rsp, 0x20
mov rcx, rsi
mov rdx, rdi
mov r8, rbx
call fcn.140088b50
add rsp, 0x20
nop word cs:[rax + rax]
mov r14d, dword [str.VvTd]
sub r14d, dword [0x141dcf1bc]
xor r14d, 0xc84004
or r14d, 0x8f17b7fb
sub rsp, 0x20
mov rcx, rsi
mov rdx, rdi
mov r8, rbx
call fcn.140088b50
add rsp, 0x20
cmp r14d, 0x65bec97f
je 0x140088570
mov r8, rax
mov rcx, rdx
jmp 0x140087b30
mov eax, dword [str.s__M]
imul eax, dword [0x141dcf1e4]
imul ebx, eax, 0x9697009b
add ebx, 0x4359f74b
sub rsp, 0x20
mov rcx, r15
mov rdx, r14
mov r8, rdi
call fcn.140055a70
add rsp, 0x20
cmp ebx, 0x5255612b
jbe 0x140088610
sub rsp, 0x20
mov rcx, r15
mov rdx, r14
mov r8, rdi
call fcn.140055a70
add rsp, 0x20
jmp 0x1400885b6
mov eax, dword [0x141dcf1e8]
xor edx, edx
div dword [0x141dcf1ec]
imul eax, eax, 0xaf68d681
add eax, 0x87fe64cb
or eax, 0xc5b6c60a
cmp eax, 0xa19d8ff1
je 0x140088610
cmp qword [r15], 0
jne 0x140088676
nop dword [rax + rax]
mov eax, dword [0x141dcf1f8]
sub eax, dword [0x141dcf1fc]
imul eax, eax, 0xcac76394
add eax, 0x894d60a8
imul rax, rax, 0x5a535129
shr rax, 0x3c
cmp eax, 0x17d6c211
ja 0x140088640
mov rdi, qword [r15 + 8]
mov rbx, qword [r15 + 0x10]
jmp 0x140088547
ud2
mov eax, dword [0x141dcf210]
or eax, dword [0x141dcf214]
add eax, 0xa1be67a1
shr eax, 2
imul rax, rax, 0x25f55e2d
shr rax, 0x39
ud2
ud2
mov eax, dword [0x141dcf2b8]
sub eax, dword [0x141dcf2bc]
imul eax, eax, 0xc02fdb31
add eax, 0xba6db8f7
ud2
ud2