Function at 0x140085490
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, 0x28
lea rbp, [rsp + 0x20]
mov qword [rbp - 8], r8
mov eax, dword [0x141dcb0d0]
add eax, dword [0x141dcb0d4]
mov r12d, ecx
or eax, 0x9fbbffd7
add eax, 0x5b39f429
cmp eax, 0xdb04f671
jbe 0x1400854e0
mov eax, 0x10
call fcn.1400ed360
sub rsp, rax
nop word cs:[rax + rax]
mov ecx, dword [0x141dcb0d8]
or ecx, dword [0x141dcb0dc]
add ecx, 0xf0aeddf
and ecx, 0x2a65a3fb
mov eax, 0x10
call fcn.1400ed360
sub rsp, rax
mov rdi, rsp
cmp ecx, 0xcabe30d9
ja 0x1400854e0
mov qword [rbp], r9
xor eax, eax
test al, al
je 0x140085540
mov eax, 0x20
call fcn.1400ed360
sub rsp, rax
mov eax, 0x20
call fcn.1400ed360
sub rsp, rax
nop word cs:[rax + rax]
mov ecx, dword [0x141dcb0e0]
xor ecx, dword [0x141dcb0e4]
or ecx, 0xfaacd37e
add ecx, 0xa4fc512f
mov eax, 0x20
call fcn.1400ed360
sub rsp, rax
mov r15, rsp
mov eax, 0x20
call fcn.1400ed360
sub rsp, rax
mov r13, rsp
cmp ecx, 0xf01cecff
ja 0x140085540
mov eax, 0x20
call fcn.1400ed360
sub rsp, rax
mov qword [rbp - 0x10], rsp
cmp qword [rbp - 8], 0
je 0x14008567d
mov qword [rbp - 0x18], rdx
mov eax, dword [0x141dcb0e8]
and eax, dword [0x141dcb0ec]
mov ecx, 0xd3a683d3
imul rcx, rax
shr rcx, 0x3f
or ecx, 0x62028068
cmp ecx, 0x7273ecad
jbe 0x1400855d8
sub rsp, 0x20
mov ecx, r12d
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
add rsp, 0x20
mov ebx, 0xd2e57693
mov r14, qword [sym.imp.KERNEL32.dll_GetStdHandle]
nop word cs:[rax + rax]
mov eax, dword [0x141dcb0f0]
sub eax, dword [0x141dcb0f4]
imul rax, rbx
shr rax, 0x3e
imul esi, eax, 0x266753b1
xor esi, 0xb3d9fbac
sub rsp, 0x20
mov ecx, r12d
call r14
add rsp, 0x20
cmp esi, 0x73c776cc
jb 0x1400855f0
nop word cs:[rax + rax]
mov ecx, dword [0x141dcb0f8]
sub ecx, dword [0x141dcb0fc]
or ecx, 0x18010964
and ecx, 0x5d190966
cmp ecx, 0xd065ab27
je 0x140085630
test rax, rax
mov rbx, qword [rbp - 0x18]
mov r12, qword [rbp - 8]
je 0x140085683
cmp rax, 0xffffffffffffffff
jne 0x1400856c9
sub rsp, 0x20
call qword [sym.imp.KERNEL32.dll_GetLastError]
add rsp, 0x20
mov edx, eax
shl rdx, 0x20
or rdx, 2
jmp 0x140085690
xor edx, edx
xor eax, eax
jmp 0x1400856b8
movabs rdx, 0x600000002
nop dword [rax]
mov eax, dword [0x141dcb100]
sub eax, dword [0x141dcb104]
or eax, 0x413aca2
imul eax, eax, 0x512136f4
and eax, 0xfc5933c
cmp eax, 0x390f3887
ja 0x140085690
mov eax, 1
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov dword [rdi], 0
sub rsp, 0x20
mov r14, rax
mov rcx, rax
mov rdx, rdi
call qword [sym.imp.KERNEL32.dll_GetConsoleMode]
add rsp, 0x20
test eax, eax
je 0x140085b77
nop
mov eax, dword [0x141dcb120]
or eax, dword [0x141dcb124]
and eax, 0x9f8f08fe
add eax, 0xb9b2197c
cmp eax, 0xefd1d290
ja 0x1400856f0
mov rax, qword [rbp]
movzx eax, byte [rax + 4]
test rax, rax
je 0x140085830
xor ecx, ecx
test cl, cl
jne 0x140085720
mov r15, qword [rbp]
mov r12, qword [rbp - 0x10]
nop dword [rax]
mov ecx, dword [0x141dcb140]
add ecx, dword [0x141dcb144]
or ecx, 0x97102e0
add ecx, 0x207c2d4
and ecx, 0x72875575
cmp ecx, 0xfc1fd455
ja 0x140085730
cmp al, 4
jae 0x140085ea3
movzx ecx, byte [rbx]
mov edx, ecx
and dl, 0xc0
nop word cs:[rax + rax]
mov r8d, dword [0x141dcb208]
and r8d, dword [str.PAp]
imul r8d, r8d, 0xebf94706
cmp r8d, 0x1a2c34cb
je 0x140085770
cmp dl, 0x80
jne 0x140085bad
xor edx, edx
nop dword [rax]
test dl, dl
jne 0x1400857a0
mov edx, dword [0x141dcb220]
xor edx, dword [0x141dcb224]
add edx, 0x5655e44
or edx, 0x927c83bd
cmp edx, 0xa244a955
jae 0x1400857d0
mov byte [r15 + rax], cl
nop dword [rax + rax]
mov edx, dword [0x141dcb228]
mov r8d, dword [0x141dcb22c]
add edx, r8d
add edx, 0x97f44275
or edx, 0xf244b04f
mov byte [r15 + rax], cl
cmp edx, 0x706d226f
je 0x1400857d0
movzx ecx, byte [r15 + 4]
inc cl
mov byte [r15 + 4], cl
movzx eax, byte [r15]
lea rdx, [0x141db67d8]
movzx ebx, byte [rax + rdx]
cmp cl, bl
jae 0x140085c17
mov edx, 1
xor eax, eax
jmp 0x1400856b8
mov eax, dword [0x141dcb128]
imul eax, dword [0x141dcb12c]
imul eax, eax, 0x528d1ec5
add eax, 0xcbf84011
or eax, 0x7c2557f6
cmp r12, 0x1000
mov edi, 0x1000
cmovb rdi, r12
cmp eax, 0xacceb1ee
ja 0x140085830
mov eax, dword [0x141dcb130]
mov ecx, dword [0x141dcb134]
add eax, ecx
add eax, 0x6cf04aef
xor eax, 0xdb33fb8a
mov ecx, 0xcf6c8b35
imul rcx, rax
shr rcx, 0x3c
cmp ecx, 0x68e4f655
jbe 0x1400858b0
sub rsp, 0x20
mov rcx, r13
mov rdx, rbx
mov r8, rdi
call fcn.140053980
add rsp, 0x20
nop word [rax + rax]
mov eax, dword [0x141dcb138]
or eax, dword [0x141dcb13c]
or eax, 0x169bb26
imul esi, eax, 0xeb87eac2
sub rsp, 0x20
mov rcx, r13
mov rdx, rbx
mov r8, rdi
call fcn.140053980
add rsp, 0x20
cmp esi, 0x78821cfa
ja 0x1400858b0
cmp qword [r13], 0
je 0x140085b10
mov rdi, qword [r13 + 8]
nop word cs:[rax + rax]
mov eax, dword [0x141dcb158]
imul eax, dword [0x141dcb15c]
and eax, 0x220008db
or eax, 0xddb5d724
imul rcx, rax, 0x2b423a4b
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1c
cmp eax, 0x20e592b0
ja 0x140085900
nop word cs:[rax + rax]
mov eax, dword [0x141dcb160]
xor eax, dword [0x141dcb164]
or eax, 0x40808008
and eax, 0xea85841d
cmp eax, 0xfe65aaf6
je 0x140085940
test rdi, rdi
je 0x140085ddc
nop word cs:[rax + rax]
mov eax, dword [0x141dcb168]
or eax, dword [0x141dcb16c]
imul rax, rax, 0x1e01b85b
shr rax, 0x3c
imul eax, eax, 0x22f1e702
imul rax, rax, 0x1856d4b
shr rax, 0x36
cmp eax, 0x4ae18ab9
ja 0x140085970
nop
mov eax, dword [0x141dcb170]
xor eax, dword [0x141dcb174]
xor eax, 0x49804400
or eax, 0x32641017
and eax, 0x7fe45c17
cmp eax, 0xbca93c0f
je 0x1400859a0
cmp rdi, r12
ja 0x140085ef1
mov eax, dword [0x141dcb1a0]
add eax, dword [0x141dcb1a4]
xor eax, 0x6179cce7
add eax, 0x6f969068
and eax, 0x5d09db85
cmp eax, 0x13472a9c
jae 0x140085a10
sub rsp, 0x20
mov rcx, r15
mov rdx, rbx
mov r8, rdi
call fcn.140053980
add rsp, 0x20
nop word cs:[rax + rax]
mov eax, dword [0x141dcb1a8]
add eax, dword [0x141dcb1ac]
imul eax, eax, 0x3830bbac
add eax, 0x755993d5
shr eax, 7
imul rsi, rax, 0x10c765
shr rsi, 0x2c
sub rsp, 0x20
mov rcx, r15
mov rdx, rbx
mov r8, rdi
call fcn.140053980
add rsp, 0x20
cmp esi, 0x52ed62b5
ja 0x140085a10
nop word cs:[rax + rax]
mov eax, dword [0x141dcb1b0]
or eax, dword [0x141dcb1b4]
add eax, 0xf303300d
or eax, 0x7fff2f5d
cmp eax, 0x3496d810
je 0x140085a60
mov rcx, qword [r15]
mov eax, dword [0x141dcb1b8]
xor edx, edx
div dword [0x141dcb1bc]
or eax, 0x17a6a6fa
imul eax, eax, 0xc2da5fd1
xor eax, 0x9c73e856
cmp eax, 0x1a38c8d8
ja 0x140085a80
test rcx, rcx
jne 0x140085f2d
mov eax, dword [0x141dcb1d8]
xor edx, edx
div dword [0x141dcb1dc]
nop dword [rax]
mov eax, dword [0x141dcb1e0]
xor eax, dword [0x141dcb1e4]
add eax, 0x3ce779d
or eax, 0x30dcff79
add eax, 0xc57c19ce
cmp eax, 0x166680b1
jb 0x140085ac0
mov r9, qword [r15 + 8]
nop word cs:[rax + rax]
mov eax, dword [0x141dcb1e8]
xor edx, edx
div dword [0x141dcb1ec]
cmp eax, 0xea1c3240
je 0x140085af0
mov r8, qword [r15 + 0x10]
jmp 0x140085b5f
mov eax, dword [0x141dcb148]
and eax, dword [0x141dcb14c]
cmp eax, 0xf39fcedc
je 0x140085b10
mov r9, qword [r13 + 8]
nop word [rax + rax]
mov eax, dword [0x141dcb150]
and eax, dword [0x141dcb154]
add eax, 0x70da35d2
shr eax, 1
imul rax, rax, 0x21eb3825
shr rax, 0x3c
imul eax, eax, 0x90ccf0af
cmp eax, 0x7fd6080d
ja 0x140085b30
mov r8, qword [r13 + 0x10]
sub rsp, 0x20
mov rcx, r14
mov rdx, r9
call fcn.140086570
add rsp, 0x20
jmp 0x1400856b8
mov eax, dword [0x141dcb108]
sub eax, dword [0x141dcb10c]
imul eax, eax, 0x7ee593c5
mov ecx, 0xc4856253
imul rcx, rax
shr rcx, 0x3f
or ecx, 0x8154f6e8
cmp ecx, 0xa26bb6ab
ja 0x140086075
jmp 0x14008603f
mov eax, dword [0x141dcb210]
add eax, dword [0x141dcb214]
xor eax, 0x15aa193b
mov ecx, 0x83befd2d
imul rcx, rax
shr rcx, 0x3d
xor ecx, 0xe3dc3643
cmp ecx, 0x14a930fa
jae 0x140085bde
mov byte [r15 + 4], 0
lea rdx, [0x141db6928]
nop word cs:[rax + rax]
mov eax, dword [0x141dcb218]
and eax, dword [0x141dcb21c]
or eax, 0x100080
and eax, 0x160098
mov byte [r15 + 4], 0
cmp eax, 0x3b935035
je 0x140085bf0
jmp 0x1400856b3
mov eax, dword [0x141dcb230]
xor r8d, r8d
xor edx, edx
div dword [0x141dcb234]
nop dword [rax + rax]
test r8b, r8b
jne 0x140085c30
cmp cl, 4
ja 0x140085ed0
movzx edi, cl
nop word cs:[rax + rax]
mov eax, dword [0x141dcb238]
imul eax, dword [0x141dcb23c]
and eax, 0x2118804
add eax, 0x98eff388
cmp eax, 0xef5fa03d
ja 0x140085c50
mov eax, dword [0x141dcb240]
sub eax, dword [0x141dcb244]
add eax, 0xbadaee7d
or eax, 0x28dfbe6d
add eax, 0x20f51747
cmp eax, 0xf2b262f0
jbe 0x140085cb0
sub rsp, 0x20
mov rcx, r12
mov rdx, r15
mov r8, rdi
call fcn.140053980
add rsp, 0x20
mov byte [r15 + 4], 0
nop dword [rax + rax]
mov eax, dword [0x141dcb248]
sub eax, dword [0x141dcb24c]
add eax, 0xc02c01b7
imul rsi, rax, 0x3284d97d
shr rsi, 0x3d
sub rsp, 0x20
mov rcx, r12
mov rdx, r15
mov r8, rdi
call fcn.140053980
add rsp, 0x20
mov byte [r15 + 4], 0
cmp esi, 0x8045cb40
je 0x140085cb0
cmp qword [r12], 0
je 0x140085d10
mov eax, 1
lea rdx, [0x141db6928]
jmp 0x140085db0
mov eax, dword [0x141dcb258]
xor edx, edx
div dword [0x141dcb25c]
xor eax, 0xf4975740
imul eax, eax, 0xbf858dd4
cmp eax, 0xde56c1c6
je 0x140085d10
mov eax, dword [0x141dcb260]
mov ecx, dword [0x141dcb264]
add eax, ecx
add eax, 0xd08a1090
and eax, 0xc92aee2b
imul rax, rax, 0x3e86df95
shr rax, 0x3d
cmp eax, 0xd55016c3
je 0x140085d30
mov rax, qword [r12 + 0x10]
xor ecx, ecx
nop word cs:[rax + rax]
test cl, cl
jne 0x140085d70
cmp rax, rbx
jne 0x140085f91
mov rdx, qword [r12 + 8]
sub rsp, 0x20
mov rcx, r14
mov r8, rbx
call fcn.140086570
add rsp, 0x20
test rax, rax
jne 0x140085db0
cmp rbx, rdx
jne 0x140085e71
mov edx, 1
xor eax, eax
nop word [rax + rax]
mov ecx, dword [0x141dcb280]
imul ecx, dword [0x141dcb284]
add ecx, 0x40088ad2
or ecx, 0xc212800
and ecx, 0xd6579e0
cmp ecx, 0x15b08953
jae 0x140085db0
jmp 0x1400856b8
mov eax, 0x93c48a91
mov r9, qword [rbp]
nop word cs:[rax + rax]
mov ecx, dword [0x141dcb178]
sub ecx, dword [0x141dcb17c]
imul rcx, rax
shr rcx, 0x3f
imul ecx, ecx, 0xdf317fe7
cmp ecx, 0xea73375b
je 0x140085df0
movzx ecx, byte [rbx]
movzx eax, cl
lea rdx, [0x141db67d8]
movzx r8d, byte [rax + rdx]
mov eax, 1
lea rdx, [0x141db6928]
cmp r8, 2
jb 0x140086020
cmp r8, r12
jbe 0x140086020
mov eax, dword [0x141dcb188]
add eax, dword [0x141dcb18c]
imul rax, rax, 0x54fafb91
shr rax, 0x3e
not eax
and eax, 0x3885a01
cmp eax, 0x6df99fc3
ja 0x140085fe3
jmp 0x140085fbd
ud2
mov eax, dword [0x141dcb200]
or eax, dword [0x141dcb204]
imul eax, eax, 0x5fb65b82
add eax, 0x53903109
cmp eax, 0x3cf8e73d
jae 0x140085ec3
ud2
xor eax, eax
ud2
mov eax, dword [0x141dcb250]
add eax, dword [0x141dcb254]
or eax, 0xab7d831c
cmp eax, 0x125ec10d
je 0x14008610c
jmp 0x140086104
mov eax, dword [0x141dcb1c0]
xor edx, edx
div dword [0x141dcb1c4]
imul rcx, rax, 0x5f5ab9b
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x16
xor eax, 0xab8612e6
add eax, 0x4155cf6b
cmp eax, 0xedda4670
ja 0x1400860db
jmp 0x1400860bc
xor eax, eax
test al, al
je 0x140085f35
ud2
mov eax, 0x880678d5
mov ecx, dword [0x141dcb1f0]
add ecx, dword [0x141dcb1f4]
imul rcx, rax
shr rcx, 0x3f
or ecx, 0x3c27734e
imul rcx, rcx, 0x2e19b0af
shr rcx, 0x38
ud2
mov eax, dword [0x141dcb268]
xor eax, dword [0x141dcb26c]
add eax, 0xea404512
xor eax, 0xa2bcfac2
imul eax, eax, 0x638a8264
cmp eax, 0xbd6ecc1
jb 0x14008612f
jmp 0x140086110
mov eax, dword [0x141dcb190]
add eax, dword [0x141dcb194]
imul eax, eax, 0x48165061
add eax, 0x8011d0db
and eax, 0x70f81ebc
mov byte [r9], cl
cmp eax, 0x450e02bf
jbe 0x140085fe8
mov byte [r9], cl
jmp 0x140085fbd
mov byte [r9 + 4], 1
xor eax, eax
mov ecx, dword [0x141dcb198]
or ecx, dword [0x141dcb19c]
and ecx, 0xa14f2f5
add ecx, 0xb9e0366c
and ecx, 0x29b1cf79
cmp ecx, 0x4dd259df
je 0x140085fef
mov edx, 1
nop word [rax + rax]
mov ecx, dword [0x141dcb180]
sub ecx, dword [0x141dcb184]
imul ecx, ecx, 0xc5a4bf37
cmp ecx, 0x5ff3167b
je 0x140086020
jmp 0x1400856b8
mov eax, dword [0x141dcb110]
add eax, dword [0x141dcb114]
imul esi, eax, 0xd838f274
add esi, 0x6d6afb5c
sub rsp, 0x20
mov rcx, r14
mov rdx, rbx
mov r8, r12
call fcn.140086140
add rsp, 0x20
cmp esi, 0xfae80cbd
jbe 0x140086090
sub rsp, 0x20
mov rcx, r14
mov rdx, rbx
mov r8, r12
call fcn.140086140
add rsp, 0x20
jmp 0x14008603f
mov ecx, dword [0x141dcb118]
imul ecx, dword [0x141dcb11c]
add ecx, 0x1d9c59b0
and ecx, 0xc7722168
add ecx, 0xec923120
cmp ecx, 0x63751a9c
jbe 0x140086090
jmp 0x1400856b8
mov eax, dword [0x141dcb1c8]
or eax, dword [0x141dcb1cc]
or eax, 0xff0d38ff
add eax, 0x1ab14769
ud2
ud2
ud2
ud2
mov eax, dword [0x141dcb270]
or eax, dword [0x141dcb274]
add eax, 0xa3671259
or eax, 0xd8273e1d
ud2
ud2