Function at 0x14008c970
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 r12d, ecx
xor eax, eax
test al, al
jne 0x14008c9df
mov eax, dword [0x141f3bb20]
and eax, dword [str.PM_9]
mov ecx, 0x863d179f
imul rcx, rax
shr rcx, 0x3f
add ecx, 0xf840c73b
xor ecx, 0xa0065405
mov eax, 0x10
call fcn.1400f4d10
sub rsp, rax
mov r15, rsp
mov eax, 0x20
call fcn.1400f4d10
sub rsp, rax
mov r13, rsp
cmp ecx, 0x8e86d64d
jbe 0x14008c9fb
mov eax, 0x10
call fcn.1400f4d10
sub rsp, rax
mov eax, 0x20
call fcn.1400f4d10
sub rsp, rax
jmp 0x14008c992
mov eax, dword [0x141f3bb28]
xor eax, dword [0x141f3bb2c]
or eax, 0x178d0c92
imul eax, eax, 0xb5ce2cee
cmp eax, 0x62421257
je 0x14008ca59
mov eax, dword [0x141f3bb30]
xor eax, dword [0x141f3bb34]
imul ecx, eax, 0x16332d1a
add ecx, 0x13759aea
mov eax, 0x20
call fcn.1400f4d10
sub rsp, rax
mov rbx, rsp
mov eax, 0x20
call fcn.1400f4d10
sub rsp, rax
mov r14, rsp
cmp ecx, 0x9c95b814
jbe 0x14008ca75
mov eax, 0x20
call fcn.1400f4d10
sub rsp, rax
mov eax, 0x20
call fcn.1400f4d10
sub rsp, rax
jmp 0x14008ca19
test r8, r8
je 0x14008caa1
mov qword [rbp], r8
mov qword [rbp - 0x10], r9
mov eax, dword [0x141f3bb38]
add eax, dword [0x141f3bb3c]
xor eax, 0x210004
or eax, 0x5dcee9fb
cmp eax, 0x8f7f733b
jne 0x14008caab
jmp 0x14008cae2
xor ecx, ecx
xor r12d, r12d
jmp 0x14008d184
mov esi, dword [0x141f3bb40]
xor esi, dword [0x141f3bb44]
add esi, 0xfc876f42
and esi, 0x25d2cc17
xor esi, 0xb2e5abd7
sub rsp, 0x20
mov ecx, r12d
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
add rsp, 0x20
cmp esi, 0xa4b049c0
jae 0x14008caf5
sub rsp, 0x20
mov ecx, r12d
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
add rsp, 0x20
jmp 0x14008caab
mov rdi, rax
mov r12d, 1
test rax, rax
je 0x14008cb18
cmp rdi, 0xffffffffffffffff
jne 0x14008cb27
xor eax, eax
test al, al
je 0x14008d0d8
jmp 0x14008d107
movabs rcx, 0x600000002
jmp 0x14008d184
mov dword [r15], 0
sub rsp, 0x20
mov rcx, rdi
mov rdx, r15
call qword [sym.imp.KERNEL32.dll_GetConsoleMode]
add rsp, 0x20
nop word cs:[rax + rax]
mov ecx, dword [0x141f3bb60]
sub ecx, dword [0x141f3bb64]
imul rcx, rcx, 0x1a7a7ca5
shr rcx, 0x3c
or ecx, 0x5a8005e
cmp ecx, 0x6aa48b19
ja 0x14008cb50
test eax, eax
mov rsi, qword [rbp - 0x10]
je 0x14008ccad
mov eax, dword [0x141f3bb70]
xor edx, edx
div dword [0x141f3bb74]
nop
mov eax, dword [0x141f3bb78]
sub eax, dword [0x141f3bb7c]
imul rax, rax, 0x98b1433
shr rax, 0x39
and eax, 3
add eax, 0x8e890467
cmp eax, 0x20097df8
jb 0x14008cb90
movzx ecx, byte [rsi + 4]
test rcx, rcx
je 0x14008ccf8
nop word cs:[rax + rax]
mov eax, dword [0x141f3bb80]
add eax, dword [0x141f3bb84]
imul eax, eax, 0x62cb32f4
xor eax, 0x618a84c8
add eax, 0x9e39d988
cmp eax, 0xe7e21cff
ja 0x14008cbd0
nop word cs:[rax + rax]
mov eax, dword [0x141f3bb88]
or eax, dword [0x141f3bb8c]
add eax, 0x66b792d4
xor eax, 0x124deb6a
cmp eax, 0x9da23604
jb 0x14008cc00
cmp cl, 4
jae 0x14008d00b
mov rax, qword [rbp - 8]
movzx r8d, byte [rax]
mov eax, dword [str.WKFT]
xor edx, edx
div dword [0x141f3bc2c]
mov eax, r8d
and al, 0xc0
nop word cs:[rax + rax]
mov edx, dword [0x141f3bc30]
imul edx, dword [str._C3_f]
imul rdx, rdx, 0x2c26a9d
shr rdx, 0x39
cmp edx, 0x347b3fe9
je 0x14008cc50
cmp al, 0x80
jne 0x14008cebe
mov eax, dword [0x141f3bc48]
add eax, dword [0x141f3bc4c]
xor eax, 0xa04eff02
mov edx, 0x9d7b1305
imul rdx, rax
shr rdx, 0x3d
add edx, 0x6ecb213a
cmp edx, 0xc41f1a4
jae 0x14008d222
jmp 0x14008d248
sub rsp, 0x20
mov rcx, rdi
mov rdx, qword [rbp - 8]
mov r8, qword [rbp]
call fcn.14008d490
add rsp, 0x20
mov r12, rax
mov rcx, rdx
nop dword [rax + rax]
mov eax, dword [0x141f3bb68]
add eax, dword [0x141f3bb6c]
imul eax, eax, 0xf1cbbcfc
xor eax, 0xda5c5d0d
add eax, 0x43352e82
cmp eax, 0x99d45bee
jbe 0x14008ccd0
jmp 0x14008d184
mov rax, qword [rbp]
cmp rax, 0x1000
mov r8d, 0x1000
cmovb r8, rax
sub rsp, 0x20
mov rcx, rbx
mov r14, qword [rbp - 8]
mov rdx, r14
call fcn.140057380
add rsp, 0x20
cmp qword [rbx], 0
je 0x14008cf2b
mov rbx, qword [rbx + 8]
nop word cs:[rax + rax]
mov eax, dword [0x141f3bb90]
sub eax, dword [0x141f3bb94]
imul rax, rax, 0x318a2e07
shr rax, 0x3d
imul eax, eax, 0xc0394e9
and eax, 0x32ae340
cmp eax, 0x48ae1768
ja 0x14008cd40
test rbx, rbx
je 0x14008cf4e
nop word cs:[rax + rax]
mov eax, dword [0x141f3bb98]
xor eax, dword [0x141f3bb9c]
imul eax, eax, 0x43f0f4af
or eax, 0x188e1c34
and eax, 0xbefe1e75
cmp eax, 0xa0f83dcb
ja 0x14008cd80
nop word cs:[rax + rax]
mov eax, dword [0x141f3bba0]
mov ecx, dword [0x141f3bba4]
add eax, ecx
add eax, 0x99d08966
cmp eax, 0x79831c15
ja 0x14008cdb0
nop word [rax + rax]
mov eax, dword [0x141f3bba8]
and eax, dword [0x141f3bbac]
or eax, 0x83facf55
imul eax, eax, 0x619ae278
xor eax, 0x92f40937
cmp eax, 0xe12cd9b2
ja 0x14008cdd0
cmp rbx, qword [rbp]
ja 0x14008d032
mov eax, dword [0x141f3bbd8]
mov ecx, dword [0x141f3bbdc]
add eax, ecx
add eax, 0x257b74c
and eax, 0x8af2576c
cmp eax, 0xc8bef3fe
jne 0x14008ce32
sub rsp, 0x20
mov rcx, r13
mov rdx, r14
mov r8, rbx
call fcn.140057380
add rsp, 0x20
xor esi, esi
nop word cs:[rax + rax]
sub rsp, 0x20
mov rcx, r13
mov rdx, r14
mov r8, rbx
call fcn.140057380
add rsp, 0x20
test sil, sil
jne 0x14008ce40
mov eax, dword [0x141f3bbe0]
xor edx, edx
div dword [0x141f3bbe4]
nop dword [rax]
mov eax, dword [0x141f3bbe8]
or eax, dword [0x141f3bbec]
imul eax, eax, 0xeecebfd8
or eax, 0xd10e3cd2
cmp eax, 0x8aca3003
je 0x14008ce70
cmp qword [r13], 0
jne 0x14008d094
nop dword [rax]
mov eax, dword [0x141f3bc00]
imul eax, dword [0x141f3bc04]
cmp eax, 0x2e2778c5
je 0x14008cea0
mov rdx, qword [r13 + 8]
mov r8, qword [r13 + 0x10]
jmp 0x14008cf33
mov eax, dword [0x141f3bc38]
xor edx, edx
div dword [0x141f3bc3c]
mov ecx, 0xb0fea74d
imul rcx, rax
shr rcx, 0x3e
imul eax, ecx, 0x1c4b69dc
cmp eax, 0x8161fee
jne 0x14008ceea
mov byte [rsi + 4], 0
lea rcx, [0x141f25bf0]
nop word cs:[rax + rax]
mov eax, dword [0x141f3bc40]
sub eax, dword [0x141f3bc44]
add eax, 0xafe0c051
or eax, 0x989542b
xor eax, 0x64d3e989
mov byte [rsi + 4], 0
cmp eax, 0xc184fa2e
jae 0x14008cf00
jmp 0x14008d184
mov rdx, qword [rbx + 8]
mov r8, qword [rbx + 0x10]
sub rsp, 0x20
mov rcx, rdi
call fcn.14008d820
add rsp, 0x20
mov r12, rax
mov rcx, rdx
jmp 0x14008d184
movzx eax, byte [r14]
movzx ecx, al
lea rdx, [0x141f25aa0]
nop dword [rax]
mov r8d, dword [0x141f3bbb0]
or r8d, dword [0x141f3bbb4]
add r8d, 0x76605be1
or r8d, 0x336e772e
imul r8d, r8d, 0x396cd0a4
cmp r8d, 0xa443da8
je 0x14008cf60
movzx ecx, byte [rcx + rdx]
mov r10, qword [rbp]
nop word cs:[rax + rax]
mov r9d, dword [0x141f3bbb8]
and r9d, dword [0x141f3bbbc]
xor r9d, 0x5d818c49
add r9d, 0xf35f1f5
xor r9d, 0x2d3d0b8e
cmp cl, 2
setae dl
cmp rcx, r10
seta r8b
cmp r9d, 0x6a185114
jb 0x14008cfa0
and dl, r8b
je 0x14008d1be
mov ecx, dword [0x141f3bbc0]
xor ecx, dword [0x141f3bbc4]
mov byte [rsi], al
imul eax, ecx, 0x7ed651a
add eax, 0x25ecabcf
cmp eax, 0x5c437146
jae 0x14008d1cd
jmp 0x14008d1ea
mov eax, dword [0x141f3bc18]
xor eax, dword [0x141f3bc1c]
imul eax, eax, 0x54c3d792
add eax, 0x9516f1f2
cmp eax, 0xaae7b66d
jbe 0x14008d19b
jmp 0x14008d1ba
mov eax, dword [0x141f3bbf0]
add eax, dword [0x141f3bbf4]
imul eax, eax, 0x43c56a30
mov ecx, 0x87a83a97
imul rcx, rax
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1e
cmp eax, 0x17763219
jbe 0x14008d063
ud2
mov eax, dword [0x141f3bbf8]
imul eax, dword [0x141f3bbfc]
xor eax, 0x401c1004
or eax, 0x9d634bf1
imul eax, eax, 0x25253713
ud2
mov eax, dword [0x141f3bc08]
xor eax, dword [0x141f3bc0c]
imul eax, eax, 0x110cabfd
cmp eax, 0xee59da0b
jne 0x14008d0af
ud2
mov eax, dword [0x141f3bc10]
or eax, dword [0x141f3bc14]
and eax, 0x606917bc
add eax, 0xd8ae37e0
xor eax, 0x2832e6d3
ud2
mov esi, dword [0x141f3bb48]
imul esi, dword [0x141f3bb4c]
or esi, 0xd7d3d06a
add esi, 0xdc014958
sub rsp, 0x20
call qword [sym.imp.KERNEL32.dll_GetLastError]
add rsp, 0x20
cmp esi, 0x8a67225d
jae 0x14008d117
sub rsp, 0x20
call qword [sym.imp.KERNEL32.dll_GetLastError]
add rsp, 0x20
jmp 0x14008d0d8
mov ecx, eax
shl rcx, 0x20
or rcx, 2
nop word cs:[rax + rax]
mov eax, dword [0x141f3bb50]
or eax, dword [0x141f3bb54]
imul eax, eax, 0xddb4759a
add eax, 0xb2943304
xor eax, 0xe162d1e7
cmp eax, 0x9e505767
ja 0x14008d130
nop word cs:[rax + rax]
mov eax, dword [0x141f3bb58]
xor edx, edx
div dword [0x141f3bb5c]
add eax, 0x211f42e2
or eax, 0x4ebde376
add eax, 0x556d9ec
cmp eax, 0x88f7b6b6
ja 0x14008d160
mov rax, r12
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 [0x141f3bc20]
or eax, dword [0x141f3bc24]
add eax, 0xbf124671
or eax, 0x348083a1
ud2
ud2
mov r12d, 1
lea rcx, [0x141f25bf0]
jmp 0x14008d184
mov eax, dword [0x141f3bbc8]
xor eax, dword [0x141f3bbcc]
imul eax, eax, 0x5c2de400
mov byte [rsi + 4], 1
cmp eax, 0x7cf62af5
jne 0x14008d1f0
mov byte [rsi + 4], 1
jmp 0x14008d1cd
xor r12d, r12d
mov eax, dword [0x141f3bbd0]
and eax, dword [0x141f3bbd4]
and eax, 0x4b37c58
imul eax, eax, 0x1df4502f
and eax, 0x7df526b8
cmp eax, 0x5787c70d
ja 0x14008d1f3
mov ecx, 1
jmp 0x14008d184
ud2
mov eax, dword [str._xZ_]
or eax, dword [0x141f3bc54]
and eax, 0x1832c61
add eax, 0x42801db7
and eax, 0x4836ffe
mov byte [rsi + rcx], r8b
cmp eax, 0x5c4162f5
jne 0x14008d24e
mov byte [rsi + rcx], r8b
jmp 0x14008d222
movzx ecx, byte [rsi + 4]
mov eax, dword [0x141f3bc58]
xor edx, edx
div dword [0x141f3bc5c]
imul eax, eax, 0x16f7ccb1
add eax, 0x2cfab92a
xor eax, 0x3beb904b
cmp eax, 0x4ebd4851
jb 0x14008d29c
mov eax, dword [0x141f3bc60]
and eax, dword [0x141f3bc64]
and eax, 0x8cfd785f
imul edx, eax, 0xe466b960
lea eax, [rcx + 1]
mov byte [rsi + 4], al
cmp edx, 0x6108c5cd
jne 0x14008d2a4
lea eax, [rcx + 1]
mov byte [rsi + 4], al
jmp 0x14008d277
movzx ecx, byte [rsi]
lea rdx, [0x141f25aa0]
movzx ebx, byte [rcx + rdx]
cmp al, bl
jae 0x14008d2d0
mov ecx, 1
xor r12d, r12d
jmp 0x14008d184
mov ecx, dword [0x141f3bc68]
imul ecx, dword [0x141f3bc6c]
imul rdx, rcx, 0x4f22b7f5
shr rdx, 0x20
sub ecx, edx
shr ecx, 1
add ecx, edx
shr ecx, 0x1d
cmp ecx, 0x4654db27
je 0x14008d2d0
xor ecx, ecx
nop dword [rax + rax]
test cl, cl
jne 0x14008d300
cmp al, 4
ja 0x14008d426
movzx r8d, al
sub rsp, 0x20
mov rcx, r14
mov rdx, rsi
call fcn.140057380
add rsp, 0x20
mov byte [rsi + 4], 0
cmp qword [r14], 0
jne 0x14008d1be
mov eax, 0xff22aa73
nop word cs:[rax + rax]
mov ecx, dword [0x141f3bc88]
or ecx, dword [0x141f3bc8c]
imul rcx, rax
shr rcx, 0x3d
cmp ecx, 0xa0958082
je 0x14008d340
nop dword [rax]
mov eax, dword [0x141f3bc90]
sub eax, dword [0x141f3bc94]
xor eax, 0x102c8201
or eax, 0xe453758e
imul eax, eax, 0x5ed12f35
cmp eax, 0x10e7c47c
je 0x14008d360
cmp qword [r14 + 0x10], rbx
jne 0x14008d220
mov rdx, qword [r14 + 8]
sub rsp, 0x20
mov rcx, rdi
mov r8, rbx
call fcn.14008d820
add rsp, 0x20
mov rcx, rdx
test rax, rax
je 0x14008d3b4
mov r12, rax
jmp 0x14008d184
cmp rbx, rcx
je 0x14008d2b6
mov eax, dword [0x141f3bc98]
or eax, dword [0x141f3bc9c]
or eax, 0x2e4e7a23
imul eax, eax, 0xbda3b66d
or eax, 0x9c4518bd
cmp eax, 0x34868691
jae 0x14008d3e2
ud2
mov eax, dword [0x141f3bca0]
xor edx, edx
div dword [0x141f3bca4]
add eax, 0x8cce7c5a
xor eax, 0xad241e7f
add eax, 0x15986524
ud2
mov eax, dword [0x141f3bc70]
imul eax, dword [0x141f3bc74]
imul eax, eax, 0x88101bc0
add eax, 0x3b1b3312
cmp eax, 0xc1d38515
jbe 0x14008d447
ud2
mov eax, dword [0x141f3bc78]
xor eax, dword [0x141f3bc7c]
imul eax, eax, 0x74d10a96
ud2