Function at 0x140091550
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, 0x38
lea rbp, [rsp + 0x30]
mov qword [rbp - 0x10], rcx
xor eax, eax
test al, al
je 0x140091590
mov eax, 0x20
call fcn.1400eeec0
sub rsp, rax
mov eax, 0x400
call fcn.1400eeec0
sub rsp, rax
nop dword [rax]
mov eax, dword [0x141dcec18]
add eax, dword [0x141dcec1c]
imul ecx, eax, 0xb6cf1d2a
add ecx, 0xd17d14fe
xor ecx, 0xf9df80f
mov eax, 0x20
call fcn.1400eeec0
sub rsp, rax
mov rbx, rsp
mov eax, 0x400
call fcn.1400eeec0
sub rsp, rax
mov rax, rsp
cmp ecx, 0x657f125d
jb 0x140091590
mov qword [rbp - 0x28], rax
mov eax, dword [0x141dcec20]
xor eax, dword [0x141dcec24]
and eax, 0x80080602
cmp eax, 0x99ed7a2
je 0x140091619
mov eax, dword [str._M_:d]
xor edx, edx
div dword [0x141dcec2c]
and eax, 0xc03cb8ca
imul eax, eax, 0x3ad5beff
mov qword [rbx], 0
cmp eax, 0xd969c167
jne 0x140091622
mov qword [rbx], 0
jmp 0x1400915f2
mov qword [rbx + 8], 2
mov qword [rbx + 0x10], 0
mov r8d, 0x200
mov eax, 2
mov qword [rbp], rax
xor esi, esi
mov r15d, 0x8056de8b
mov r13d, 0xffffffff
mov r12d, 0xc6903c5f
xor ecx, ecx
xor r14d, r14d
nop word [rax + rax]
cmp r8, 0x201
jae 0x140091690
mov qword [rbp - 8], rcx
mov eax, 0x200
mov qword [rbp - 0x18], rax
mov rdi, qword [rbp - 0x28]
mov r13, r8
jmp 0x140091739
sub r8, r14
sub rcx, r14
nop word cs:[rax + rax]
mov eax, dword [0x141dcec30]
imul eax, dword [0x141dcec34]
imul eax, eax, 0x8a633926
and eax, 0x393782a6
cmp eax, 0xcdc7f49
je 0x1400916a0
cmp r8, rcx
ja 0x1400918e6
mov eax, dword [0x141dcec38]
xor eax, dword [0x141dcec3c]
or eax, 0xbc21fb70
add eax, 0xab543c7c
cmp eax, 0x17759f50
jae 0x140091700
cmp rsi, r13
mov eax, 0xffffffff
cmovb rax, rsi
mov qword [rbx + 0x10], rax
nop word cs:[rax + rax]
mov eax, dword [0x141dcec40]
add eax, dword [0x141dcec44]
imul eax, eax, 0xb4186736
cmp rsi, r13
mov r14d, 0xffffffff
cmovb r14, rsi
mov qword [rbx + 0x10], r14
cmp eax, 0x6c6b9c9e
je 0x140091700
mov qword [rbp - 8], rsi
mov qword [rbp - 0x18], r14
mov rdi, qword [rbp]
mov r13, r14
sub rsp, 0x20
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetLastError]
xor ecx, ecx
mov qword [rbp - 0x30], rdi
mov rdx, rdi
mov qword [rbp - 0x20], r13
mov r8d, r13d
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
add rsp, 0x20
mov r13d, eax
test eax, eax
jne 0x1400917e0
mov eax, dword [0x141dcec48]
xor edx, edx
div dword [0x141dcec4c]
xor eax, 0x1a001385
add eax, 0x1300e942
or eax, 0xe55d3496
cmp eax, 0x2a85ed29
jae 0x140091798
sub rsp, 0x20
call qword [sym.imp.KERNEL32.dll_GetLastError]
add rsp, 0x20
mov r15, qword [sym.imp.KERNEL32.dll_GetLastError]
nop
mov edi, dword [0x141dcec50]
imul edi, dword [0x141dcec54]
add edi, 0xdfb8d918
or edi, 0x16868205
and edi, 0x7696c747
sub rsp, 0x20
call r15
add rsp, 0x20
cmp edi, 0x9c9e3af1
ja 0x1400917a0
test eax, eax
mov r15d, 0x8056de8b
jne 0x14009195d
mov r13d, r13d
mov eax, dword [0x141dcec88]
add eax, dword [0x141dcec8c]
cmp eax, 0xe5c485f1
je 0x1400917e3
mov rcx, qword [rbp - 0x20]
cmp rcx, r13
jne 0x140091870
sub rsp, 0x20
call qword [sym.imp.KERNEL32.dll_GetLastError]
add rsp, 0x20
nop dword [rax]
mov ecx, dword [0x141dcec90]
or ecx, dword [0x141dcec94]
imul ecx, ecx, 0x5cfbf9bc
imul rcx, r15
shr rcx, 0x3d
imul ecx, ecx, 0x7a8031b6
cmp ecx, 0x73b59dd5
je 0x140091810
cmp eax, 0x7a
mov r13d, 0xffffffff
mov rax, qword [rbp - 0x20]
jne 0x14009199f
cmp rax, 0x7fffffff
lea r15, [rax + rax]
cmova r15, r13
mov r8, r15
mov r15d, 0x8056de8b
jmp 0x1400918af
mov eax, dword [0x141dcec98]
xor edx, edx
div dword [0x141dcec9c]
mov eax, dword [0x141dceca0]
and eax, dword [0x141dceca4]
imul eax, eax, 0x65d6850b
add eax, 0x6b91d76e
xor eax, 0x9183f377
cmp eax, 0x540d41f6
ja 0x14009187e
cmp rcx, r13
jae 0x140091918
mov r8, r13
mov r13d, 0xffffffff
mov rcx, qword [rbp - 8]
nop word cs:[rax + rax]
mov eax, dword [0x141dceca8]
imul eax, dword [0x141dcecac]
imul rax, r12
shr rax, 0x3f
add eax, 0xf3e7701b
cmp eax, 0xab24d823
jbe 0x1400918c0
jmp 0x140091660
sub rsp, 0x30
mov qword [rsp + 0x20], 2
mov r9d, 2
mov rcx, rbx
mov rdx, r14
call fcn.1400fce40
add rsp, 0x30
mov rsi, qword [rbx]
mov rax, qword [rbx + 8]
mov qword [rbp], rax
jmp 0x1400916c8
cmp qword [rbp - 0x18], r13
jb 0x140091a18
mov eax, dword [0x141dcecc8]
sub eax, dword [0x141dceccc]
shr eax, 2
imul rax, rax, 0x22cf4561
shr rax, 0x3a
or eax, 0x369ec7ac
cmp eax, 0xec659f21
mov r14, qword [rbp]
mov rbx, qword [rbp - 0x10]
mov r15, qword [rbp - 0x30]
jbe 0x140091b89
jmp 0x140091bc5
movabs rdi, 0x8000000000000000
mov eax, dword [0x141dcec58]
xor edx, edx
div dword [0x141dcec5c]
imul eax, eax, 0xf40e6ad
add eax, 0x5c7664f2
imul rax, rax, 0x50b6d17
shr rax, 0x3a
cmp eax, 0x15ac60e8
mov rbx, qword [rbp - 0x10]
jbe 0x140091a39
jmp 0x140091a5c
mov eax, dword [0x141dcecb0]
mov ecx, dword [0x141dcecb4]
add eax, ecx
add eax, 0xf1c3402f
mov ecx, 0xf5dcb605
imul rcx, rax
shr rcx, 0x3e
xor ecx, 0xb53fba8d
cmp ecx, 0x2e211c79
jae 0x1400919d0
ud2
mov eax, dword [0x141dcecb8]
imul eax, dword [0x141dcecbc]
imul eax, eax, 0x4769bccf
ud2
mov eax, dword [0x141dced08]
and eax, dword [0x141dced0c]
and eax, 0x2910000
cmp eax, 0xba3b569c
jbe 0x140091d2f
jmp 0x140091d6d
sub rsp, 0x20
call qword [sym.imp.KERNEL32.dll_GetLastError]
add rsp, 0x20
shl rax, 0x20
or rax, 2
mov qword [rbx + 8], rax
mov qword [rbx], rdi
xor eax, eax
test al, al
je 0x140091a7b
sub rsp, 0x20
call qword [sym.imp.KERNEL32.dll_GetLastError]
add rsp, 0x20
shl rax, 0x20
or rax, 2
mov qword [rbx + 8], rax
mov qword [rbx], rdi
jmp 0x140091a39
test rsi, rsi
mov rbx, qword [rbp]
je 0x140091b60
mov eax, dword [0x141dcec60]
xor edx, edx
div dword [0x141dcec64]
add eax, 0xe57c8e5c
cmp eax, 0xc36439d7
jb 0x140091ac8
mov eax, dword [0x141dcec68]
imul eax, dword [0x141dcec6c]
imul eax, eax, 0x5ac7393f
and eax, 0x874bfe32
mov rdi, qword [0x141dda6a0]
cmp eax, 0x6fe46e4
jne 0x140091ad1
mov rax, qword [0x141dda6a0]
jmp 0x140091aa2
xor eax, eax
test al, al
jne 0x140091b14
mov eax, dword [0x141dcec70]
xor edx, edx
div dword [0x141dcec74]
and eax, 0x12d61798
imul esi, eax, 0x7967afb6
add esi, 0xd80fd780
sub rsp, 0x20
mov rcx, rdi
xor edx, edx
mov r8, rbx
call qword [sym.imp.KERNEL32.dll_HeapFree]
add rsp, 0x20
cmp esi, 0xf5af4124
jbe 0x140091b30
sub rsp, 0x20
mov rcx, rdi
xor edx, edx
mov r8, rbx
call qword [sym.imp.KERNEL32.dll_HeapFree]
add rsp, 0x20
jmp 0x140091ad7
mov eax, dword [0x141dcec78]
imul eax, dword [0x141dcec7c]
xor eax, 0xd043e30e
imul eax, eax, 0x39cfeada
add eax, 0x1724a52
cmp eax, 0xbad391bc
ja 0x140091b30
nop word cs:[rax + rax]
mov eax, dword [0x141dcec80]
sub eax, dword [0x141dcec84]
or eax, 0x1d5933b
xor eax, 0xbdad3998
add eax, 0x5c6adc13
cmp eax, 0xf4b16fc3
ja 0x140091b60
jmp 0x140091d00
mov edi, dword [0x141dcecd0]
sub edi, dword [0x141dcecd4]
add edi, 0x5a5071fe
and edi, 0x561f640a
add edi, 0x94dcab44
sub rsp, 0x20
mov rcx, rbx
mov rdx, r15
mov r8, r13
call fcn.14008b7e0
add rsp, 0x20
cmp edi, 0x7302a13c
jae 0x140091be0
sub rsp, 0x20
mov rcx, rbx
mov rdx, r15
mov r8, r13
call fcn.14008b7e0
add rsp, 0x20
jmp 0x140091b89
mov eax, dword [0x141dcecd8]
or eax, dword [0x141dcecdc]
or eax, 0xcd201ac4
cmp eax, 0xd662d076
je 0x140091be0
test rsi, rsi
je 0x140091d00
mov eax, dword [0x141dcece0]
imul eax, dword [0x141dcece4]
or eax, 0x987ab7f0
add eax, 0x8ab0dd64
imul rax, rax, 0xba3195b
shr rax, 0x3a
cmp eax, 0x27eff4c8
jbe 0x140091c40
mov rax, qword [0x141dda6a0]
nop word cs:[rax + rax]
mov eax, dword [0x141dcece8]
imul eax, dword [0x141dcecec]
xor eax, 0xc5020001
or eax, 0x3a64676c
mov rdi, qword [0x141dda6a0]
cmp eax, 0xb8f76b02
je 0x140091c40
mov eax, dword [str.GJ]
xor eax, dword [0x141dcecf4]
imul eax, eax, 0x10e8bf5d
or eax, 0xe13e01bb
and eax, 0xf1ff0fbf
cmp eax, 0x41c10665
jb 0x140091cc2
mov eax, dword [0x141dcecf8]
xor edx, edx
div dword [0x141dcecfc]
mov ebx, eax
add ebx, 0x71aeb212
or ebx, 0xc06c7bd5
sub rsp, 0x20
mov rcx, rdi
xor edx, edx
mov r8, r14
call qword [sym.imp.KERNEL32.dll_HeapFree]
add rsp, 0x20
cmp ebx, 0x98f3e5
jne 0x140091ce0
sub rsp, 0x20
mov rcx, rdi
xor edx, edx
mov r8, r14
call qword [sym.imp.KERNEL32.dll_HeapFree]
add rsp, 0x20
jmp 0x140091c88
mov eax, dword [0x141dced00]
mov ecx, dword [0x141dced04]
add eax, ecx
add eax, 0xa36dd2b8
or eax, 0x1b8b8a28
cmp eax, 0x25a955f8
jb 0x140091ce0
nop
mov eax, dword [0x141dced18]
sub eax, dword [0x141dced1c]
or eax, 0xf05850d7
imul eax, eax, 0x88662a02
cmp eax, 0x1fdf0106
je 0x140091d00
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov eax, dword [0x141dced10]
add eax, dword [0x141dced14]
imul rax, rax, 0x40abc813
shr rax, 0x3a
imul eax, eax, 0x78f4280b
imul rcx, rax, 0x8a69681
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1f
ud2
ud2