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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x4b8
mov rsi, rdx
mov rbx, qword [rdx + 8]
mov r11, qword [rdx + 0x10]
cmp r11, 4
jb 0x140093c21
movabs rax, 0x5c003f003f005c
lea rdi, [rax + 0x1d0000]
nop dword [rax]
mov edx, dword [0x141dcf0a0]
or edx, dword [0x141dcf0a4]
imul r10d, edx, 0x42947ee1
xor edx, edx
cmp rdi, qword [rbx]
setne r9b
cmp r10d, 0xa18a80a5
je 0x140093b60
mov dl, r9b
nop dword [rax + rax]
mov r9d, dword [0x141dcf0a8]
sub r9d, dword [0x141dcf0ac]
cmp r9d, 0xbee5d184
je 0x140093b90
test edx, edx
je 0x140093c7a
xor edx, edx
cmp rax, qword [rbx]
setne dl
nop word [rax + rax]
mov eax, dword [0x141dcf0b0]
sub eax, dword [0x141dcf0b4]
imul eax, eax, 0xcc3a0b88
or eax, 0x7fffe6bf
cmp eax, 0xc28e198f
jb 0x140093bc0
test edx, edx
je 0x140093c7a
cmp r11, 0xf8
jae 0x140093ec4
cmp word [rbx + 2], 0x3a
jne 0x140093e40
nop
mov eax, dword [0x141dcf258]
or eax, dword [0x141dcf25c]
add eax, 0x1a26dc48
cmp eax, 0x8ede87c2
ja 0x140093c00
movzx eax, word [rbx + 4]
jmp 0x140093daf
cmp r11, 3
je 0x140093d10
cmp r11, 1
jne 0x140093e10
nop word cs:[rax + rax]
mov eax, dword [0x141dcf0d0]
add eax, dword [0x141dcf0d4]
imul rdx, rax, 0x285a82dd
shr rdx, 0x3a
add edx, 0x22972bad
xor eax, eax
cmp word [rbx], 0
setne r9b
cmp edx, 0x7dce2beb
ja 0x140093c40
mov al, r9b
test eax, eax
jne 0x140093ec4
mov eax, dword [0x141dcf0b8]
imul eax, dword [0x141dcf0bc]
imul eax, eax, 0x3c499936
cmp eax, 0xa732fcc2
jne 0x140093cb0
mov rax, qword [rsi + 0x10]
mov qword [rcx + 0x10], rax
movups xmm0, xmmword [rsi]
movups xmmword [rcx], xmm0
nop word cs:[rax + rax]
mov rax, qword [rsi + 0x10]
mov qword [rcx + 0x10], rax
mov eax, dword [0x141dcf0c0]
add eax, dword [0x141dcf0c4]
imul eax, eax, 0x27758f8b
add eax, 0x8b1badc8
movups xmm0, xmmword [rsi]
movups xmmword [rcx], xmm0
cmp eax, 0x2c209b95
jb 0x140093cb0
nop dword [rax]
mov eax, dword [0x141dcf0c8]
or eax, dword [0x141dcf0cc]
add eax, 0xf721959e
imul rax, rax, 0x5d91776d
shr rax, 0x3e
xor eax, 0x46533c19
cmp eax, 0x41d9b0ce
jb 0x140093ce0
jmp 0x140094b00
mov eax, dword [0x141dcf230]
xor eax, dword [0x141dcf234]
or eax, 0x800904c3
and eax, 0x940985c3
add eax, 0x54571fc5
cmp eax, 0xec2b20f6
ja 0x140093d10
movzx eax, word [rbx + 2]
nop word cs:[rax + rax]
mov edx, dword [0x141dcf238]
xor edx, dword [0x141dcf23c]
or edx, 0x8194
and edx, 0x2c80e9bc
xor edx, 0x674d2fd6
cmp edx, 0xbf3d45af
ja 0x140093d40
cmp ax, 0x3a
jne 0x140093e40
mov eax, 0xba14c067
nop word cs:[rax + rax]
mov edx, dword [0x141dcf240]
sub edx, dword [0x141dcf244]
imul rdx, rax
shr rdx, 0x3a
add edx, 0xb3ed52d3
cmp edx, 0x35f19452
jb 0x140093d80
movzx eax, word [rbx + 4]
test ax, ax
je 0x1400947d0
cmp ax, 0x2f
je 0x1400947b9
movzx eax, ax
cmp eax, 0x5c
jne 0x140093e40
nop word cs:[rax + rax]
mov eax, dword [0x141dcf260]
xor eax, dword [0x141dcf264]
and eax, 0xd6729f09
add eax, 0xc22a5eb9
cmp eax, 0x21a9d0f0
jb 0x140093dd0
movzx eax, word [rbx]
movzx edx, ax
cmp edx, 0x2f
je 0x140093e66
cmp edx, 0x5c
je 0x140093e66
jmp 0x1400947e5
mov eax, dword [0x141dcf250]
xor edx, edx
div dword [0x141dcf254]
imul eax, eax, 0x79265b8e
xor eax, 0x85833406
and eax, 0xcfeb365e
cmp eax, 0x6c255fb6
jb 0x140093e10
cmp r11, 1
jbe 0x140093ec4
nop
mov eax, dword [0x141dcf268]
xor eax, dword [0x141dcf26c]
imul eax, eax, 0xb193d72f
xor eax, 0x8682068c
and eax, 0xbfd766cc
cmp eax, 0xb6e7d1b2
jb 0x140093e40
movzx eax, word [rbx]
cmp ax, 0x5c
je 0x140093e74
movzx eax, ax
cmp eax, 0x2f
jne 0x140093ec4
mov r9d, 0xa5eeda69
nop word [rax + rax]
mov eax, dword [0x141dcf270]
xor edx, edx
div dword [0x141dcf274]
imul rax, r9
shr rax, 0x3f
imul eax, eax, 0x666ac16e
cmp eax, 0xc7dd04a9
ja 0x140093e80
movzx eax, word [rbx + 2]
cmp eax, 0x5c
je 0x140093eb1
cmp eax, 0x2f
jne 0x140093ec4
mov rax, qword [rsi + 0x10]
mov qword [rcx + 0x10], rax
movups xmm0, xmmword [rsi]
movups xmmword [rcx], xmm0
jmp 0x140094b00
mov byte [rsp + 0x37], r8b
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x68], rcx
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x140093ee0
mov qword [rsp + 0x80], 0
mov qword [rsp + 0x88], 2
mov qword [rsp + 0x90], 0
mov r10d, 0x200
mov eax, 2
mov qword [rsp + 0x38], rax
xor eax, eax
mov qword [rsp + 0x48], rax
mov rdi, qword [sym.imp.KERNEL32.dll_SetLastError]
mov rsi, qword [sym.imp.KERNEL32.dll_GetFullPathNameW]
xor eax, eax
mov qword [rsp + 0x70], rax
xor eax, eax
mov qword [rsp + 0x78], rax
nop dword [rax + rax]
cmp r10, 0x201
jae 0x140093f60
mov r14d, 0x200
lea r15, [rsp + 0xb8]
mov r13, r10
jmp 0x140093fd2
mov rdx, qword [rsp + 0x78]
sub r10, rdx
mov rax, qword [rsp + 0x70]
sub rax, rdx
cmp r10, rax
mov r15, qword [rsp + 0x38]
ja 0x14009404e
mov rax, qword [rsp + 0x48]
mov ecx, 0xffffffff
cmp rax, rcx
mov r13d, 0xffffffff
cmovb r13, rax
mov qword [rsp + 0x90], r13
mov qword [rsp + 0x70], rax
mov r14, r13
mov qword [rsp + 0x38], r15
mov rax, r13
mov qword [rsp + 0x78], r13
jmp 0x140093fd2
xor ecx, ecx
call rdi
mov rcx, rbx
mov edx, r13d
mov r8, r15
xor r9d, r9d
call rsi
mov r12d, dword [0x141dcf0e0]
and r12d, dword [0x141dcf0e4]
xor r12d, 0x2806372d
add r12d, 0x78a26cc1
and r12d, 0x2f7341a8
xor ecx, ecx
call rdi
mov rcx, rbx
mov edx, r13d
mov r8, r15
xor r9d, r9d
call rsi
cmp r12d, 0x1b126faf
ja 0x140093fc0
mov ebp, eax
test eax, eax
jne 0x140094100
mov qword [rsp + 0x98], r14
mov eax, dword [0x141dcf0e8]
xor edx, edx
div dword [0x141dcf0ec]
and eax, 0xbb44a06c
imul eax, eax, 0xe3073978
cmp eax, 0x811f74c4
mov r14, qword [sym.imp.KERNEL32.dll_GetLastError]
jbe 0x1400940c0
jmp 0x1400940e6
mov qword [rsp + 0x20], 2
mov r9d, 2
lea rcx, [rsp + 0x80]
mov r8, r10
call fcn.1400fce40
mov ecx, 0xa4319879
nop word cs:[rax + rax]
mov eax, dword [0x141dcf0d8]
sub eax, dword [0x141dcf0dc]
add eax, 0xcc169c4f
imul rax, rcx
shr rax, 0x3c
add eax, 0x29f60f9a
cmp eax, 0xb171d034
ja 0x140094080
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x48], rax
mov r15, qword [rsp + 0x88]
jmp 0x140093f7e
mov eax, dword [0x141dcf0f0]
xor eax, dword [0x141dcf0f4]
imul r12d, eax, 0x9c977a06
add r12d, 0xa015e3d0
call r14
cmp r12d, 0x5237f2be
jae 0x1400940f0
call r14
jmp 0x1400940c0
test eax, eax
mov r14, qword [rsp + 0x98]
jne 0x1400944e9
mov r10d, ebp
cmp r13, r10
jne 0x140094160
mov eax, dword [0x141dcf108]
imul eax, dword [0x141dcf10c]
and eax, 0x47a69b13
xor eax, 0x9a1b5968
cmp eax, 0x29078a42
mov r14, qword [sym.imp.KERNEL32.dll_GetLastError]
jae 0x140094130
call r14
call r14
cmp eax, 0x7a
jne 0x140094220
lea r10, [r13*2]
cmp r13, 0x7fffffff
mov eax, 0xffffffff
cmova r10, rax
jmp 0x140093f40
mov eax, dword [0x141dcf110]
and eax, dword [0x141dcf114]
xor eax, 0xbeedd9fc
add eax, 0x4785e97
cmp eax, 0xdbdab987
jb 0x140094160
cmp r13, r10
jb 0x140093f40
mov rcx, r14
mov r14, qword [rsp + 0x40]
nop
mov eax, dword [0x141dcf120]
sub eax, dword [0x141dcf124]
xor eax, 0xf641241e
imul rax, rax, 0x816d701
shr rax, 0x39
or eax, 0x35aac5b8
cmp eax, 0x910392cb
ja 0x140094190
cmp rcx, r10
jb 0x1400944c2
mov qword [r14 + 0x10], 0
cmp ebp, 0xf6
ja 0x140094250
cmp byte [rsp + 0x37], 0
jne 0x140094250
lea rsi, [r10 + 1]
mov eax, dword [0x141dcf130]
and eax, dword [0x141dcf134]
shr eax, 3
imul rax, rax, 0x2c532c1
shr rax, 0x35
add eax, 0x510d4551
cmp eax, 0x351deb5d
jb 0x1400941e0
mov rcx, qword [r14]
cmp rcx, r10
mov r12, qword [rsp + 0x38]
jbe 0x140094720
mov rsi, rcx
jmp 0x1400948e7
mov eax, dword [0x141dcf118]
sub eax, dword [0x141dcf11c]
and eax, 0xa894038
xor eax, 0x2e6adb1c
ud2
mov eax, dword [0x141dcf128]
or eax, dword [0x141dcf12c]
add eax, 0x222f1e66
xor eax, 0xc22fa2e3
add eax, 0x11a78aa5
cmp eax, 0xef8e96
jb 0x140094250
cmp ebp, 2
jbe 0x1400945fd
nop dword [rax + rax]
mov eax, dword [0x141dcf178]
xor edx, edx
div dword [0x141dcf17c]
add eax, 0xad8ee748
xor eax, 0x7383782c
imul eax, eax, 0xce45c13f
cmp eax, 0x24682965
je 0x140094280
movzx ecx, word [r15 + 2]
movzx eax, cx
nop dword [rax]
mov edx, dword [0x141dcf180]
imul edx, dword [0x141dcf184]
add edx, 0xb24627fc
xor edx, 0xae85006e
add edx, 0x2485c3e4
cmp edx, 0x237fb12
jb 0x1400942b0
nop word [rax + rax]
mov edx, dword [0x141dcf188]
xor edx, dword [0x141dcf18c]
and edx, 0x10a3248
or edx, 0x4a540d01
xor edx, 0x6a892022
cmp edx, 0x20a1e4a8
jb 0x1400942e0
cmp cx, 0x3a
jne 0x140094330
cmp word [r15 + 4], 0x5c
jne 0x140094330
lea r12, [0x141db8a38]
mov r13d, 4
jmp 0x1400946e3
mov edx, dword [0x141dcf190]
sub edx, dword [0x141dcf194]
imul edx, edx, 0x5b346fdb
add edx, 0xb578a692
xor edx, 0xc2cba467
cmp edx, 0x2b6b6292
jb 0x140094330
movzx edx, word [r15]
nop word [rax + rax]
mov r8d, dword [0x141dcf198]
imul r8d, dword [0x141dcf19c]
xor r8d, 0x625e82f0
imul r8d, r8d, 0x21e36c7d
cmp r8d, 0x51f68adc
jb 0x140094360
cmp ebp, 3
jbe 0x14009463f
nop
mov r8d, dword [0x141dcf1b8]
add r8d, dword [0x141dcf1bc]
or r8d, 0xf8dd5f77
imul r8d, r8d, 0x24c31d8e
cmp r8d, 0xb506501
jb 0x140094390
mov r12d, 2
cmp dx, 0x5c
jne 0x1400946e0
nop word cs:[rax + rax]
mov edx, dword [0x141dcf1c0]
sub edx, dword [0x141dcf1c4]
and edx, 0x28f50a2d
add edx, 0x1cebb0d8
cmp edx, 0x4d64b15f
ja 0x1400943d0
cmp eax, 0x3f
je 0x1400946e0
cmp eax, 0x5c
jne 0x140094650
movzx eax, word [r15 + 4]
cmp eax, 0x3f
je 0x1400948ec
cmp eax, 0x2e
jne 0x140094676
movzx eax, word [r15 + 6]
mov ecx, dword [0x141dcf1c8]
xor ecx, dword [0x141dcf1cc]
or ecx, 0xc6c96836
imul ecx, ecx, 0x3fc42049
add ecx, 0x966498f5
cmp ecx, 0x3636e29b
ja 0x14009441e
cmp ax, 0x5c
jne 0x140094676
add r10, 0xfffffffffffffffc
mov eax, dword [0x141dcf1d8]
xor edx, edx
div dword [0x141dcf1dc]
cmp eax, 0xd0317558
je 0x140094452
add r15, 8
mov eax, dword [0x141dcf1e0]
imul eax, dword [0x141dcf1e4]
or eax, 0x2c8
and eax, 0x418036c8
cmp eax, 0x26c4fd82
ja 0x14009446b
lea r12, [0x141db8a38]
mov eax, dword [0x141dcf220]
xor edx, edx
div dword [0x141dcf224]
imul eax, eax, 0xf5e2d2a
add eax, 0x5f8a34d4
ud2
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r14d, eax
shl r14, 0x20
cmp qword [rsp + 0x48], 0
mov r12, qword [rsp + 0x38]
je 0x14009456b
mov r15, qword [0x141dda6a0]
mov eax, dword [0x141dcf0f8]
and eax, dword [0x141dcf0fc]
or eax, 0xb43b155f
add eax, 0xecc9a4ac
cmp eax, 0xef56cb2c
jbe 0x140094535
mov rcx, r15
xor edx, edx
mov r8, r12
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rsi, qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax]
invalid
jne 0x1400946da
mov eax, dword [0x141dcf138]
movzx eax, word [rbx]
cmp eax, 0x2f
je 0x140093e66
cmp eax, 0x5c
je 0x140093e66
jmp 0x1400947e5
movzx eax, word [rbx]
cmp eax, 0x2f
je 0x140093e40
cmp eax, 0x5c
je 0x140093e40
mov eax, 0xdf9ff6a5
nop word [rax + rax]
movzx eax, word [r15 + 6]