Function at 0x140073610
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, 0x38
mov rsi, rcx
mov r10, qword [rcx + 0x118]
mov r8, qword [r10 + 0x108]
mov eax, dword [0x141dca6f0]
imul eax, dword [0x141dca6f4]
mov ecx, 0xd5e3af03
imul rcx, rax
shr rcx, 0x3f
cmp ecx, 0x93ce81db
ja 0x140073660
mov rax, qword [r10 + 0x100]
xor ecx, ecx
test cl, cl
je 0x140073669
mov rax, qword [r10 + 0x100]
jmp 0x140073653
mov r9, r8
sub r9, rax
test r9, r9
jle 0x140073c7f
nop dword [rax + rax]
mov eax, dword [0x141dca6f8]
and eax, dword [0x141dca6fc]
add eax, 0x636f24a9
imul rax, rax, 0x3f24b69d
shr rax, 0x3c
cmp eax, 0xe9688661
je 0x140073680
cmp byte [rsi + 0x130], 0
je 0x1400736fa
mov eax, dword [0x141dca720]
xor edx, edx
div dword [0x141dca724]
lea rcx, [r8 - 1]
nop
mov eax, dword [0x141dca728]
imul eax, dword [0x141dca72c]
add eax, 0xc8aae640
and eax, 0x70c6406d
cmp eax, 0xb73774f8
ja 0x1400736c0
mov eax, dword [0x141dca730]
sub eax, dword [0x141dca734]
cmp eax, 0xfdb6e82d
jne 0x140073965
jmp 0x140073991
xor eax, eax
test al, al
je 0x140073710
lock inc qword [r10 + 0x100]
nop dword [rax + rax]
mov eax, dword [0x141dca700]
xor eax, dword [0x141dca704]
shr eax, 2
imul rax, rax, 0x41ec6bf5
shr rax, 0x3a
add eax, 0xc6ba81e
and eax, 0x4a8837
mov ecx, 1
lock xadd qword [r10 + 0x100], rcx
cmp eax, 0xe3596247
ja 0x140073710
mov eax, dword [0x141dca708]
xor edx, edx
div dword [0x141dca70c]
mov edx, 0x9113227d
mov rax, rcx
not rax
nop word cs:[rax + rax]
mov r10d, dword [0x141dca710]
mov r11d, dword [0x141dca714]
add r10d, r11d
add r10d, 0xf5c6c425
imul r10, rdx
shr r10, 0x3f
or r10d, 0xe5c3a9d4
cmp r10d, 0x30f758bb
jb 0x140073770
add r8, rax
nop word cs:[rax + rax]
mov eax, dword [0x141dca718]
or eax, dword [0x141dca71c]
and eax, 0xd008166b
or eax, 0xe53a980
xor eax, 0x9d1f632b
cmp eax, 0xf437b030
ja 0x1400737b0
test r8, r8
js 0x1400738bd
mov eax, dword [0x141dca740]
and eax, dword [0x141dca744]
xor eax, 0x6d6d4634
add eax, 0xbfc40795
cmp eax, 0xe89bf57d
jbe 0x140073820
mov rax, qword [rsi + 0x120]
mov rdx, qword [rsi + 0x128]
dec rdx
and rdx, rcx
shl rdx, 4
mov r8, qword [rax + rdx]
mov rax, qword [rax + rdx + 8]
nop dword [rax]
mov eax, dword [0x141dca748]
or eax, dword [0x141dca74c]
imul r8d, eax, 0x3e68e5f
add r8d, 0x62dba621
mov rdx, qword [rsi + 0x120]
mov r14, qword [rsi + 0x128]
lea r10, [r14 - 1]
and r10, rcx
shl r10, 4
cmp r14, 0x41
setae al
lea r11, [r14 + 3]
test r14, r14
cmovns r11, r14
sar r11, 2
cmp r9, r11
mov rdi, qword [rdx + r10]
mov rbx, qword [rdx + r10 + 8]
setle dl
cmp r8d, 0x596fbe26
ja 0x140073820
and al, dl
nop word cs:[rax + rax]
mov ecx, dword [0x141dca750]
or ecx, dword [0x141dca754]
and ecx, 0x827b6a1b
imul ecx, ecx, 0x9c050e0f
cmp ecx, 0x1b14a8a6
jb 0x140073890
test al, al
je 0x140073c10
jmp 0x140073ba3
mov eax, dword [0x141dca758]
xor edx, edx
div dword [0x141dca75c]
mov r8d, 0xb9f4358b
nop word cs:[rax + rax]
mov eax, dword [0x141dca760]
xor edx, edx
div dword [0x141dca764]
imul rax, r8
shr rax, 0x3d
add eax, 0x12661ba1
cmp eax, 0x25bfdda5
ja 0x1400738e0
mov rax, qword [rsi + 0x118]
nop dword [rax]
mov edx, dword [0x141dca768]
or edx, dword [0x141dca76c]
add edx, 0x8acdb237
xor edx, 0xb0657236
add edx, 0x5ca81253
cmp edx, 0x2e386914
jb 0x140073910
mov edx, dword [0x141dca770]
add edx, dword [0x141dca774]
imul edx, edx, 0xe11f0e1e
add edx, 0x530ab5a
or edx, 0x6924a12e
cmp edx, 0xe84086e6
jbe 0x140073c4f
jmp 0x140073c76
mov eax, dword [0x141dca738]
add eax, dword [0x141dca73c]
and eax, 0x204084
xor eax, 0xc401380
or eax, 0xf39bac7b
mov qword [r10 + 0x108], rcx
mfence
cmp eax, 0x34919882
jae 0x14007399d
mov qword [r10 + 0x108], rcx
mfence
jmp 0x140073965
mov r9, qword [rsi + 0x118]
mov rax, qword [r9 + 0x100]
mov r10, rcx
sub r10, rax
js 0x140073afa
mov edx, dword [str.O_CAsU]
xor edx, dword [0x141dca784]
and edx, 0x90051020
xor edx, 0x5c858900
cmp edx, 0xbd2679c2
jbe 0x140073a00
mov rdx, qword [rsi + 0x120]
mov r11, qword [rsi + 0x128]
dec r11
and r11, rcx
shl r11, 4
mov rdi, qword [rdx + r11]
mov rdx, qword [rdx + r11 + 8]
nop dword [rax + rax]
mov edx, dword [0x141dca788]
add edx, dword [0x141dca78c]
mov r11, qword [rsi + 0x120]
mov r14, qword [rsi + 0x128]
lea rbx, [r14 - 1]
and rbx, rcx
shl rbx, 4
mov rdi, qword [r11 + rbx]
mov rbx, qword [r11 + rbx + 8]
imul edx, edx, 0xe41f55f4
add edx, 0xaac22bb8
or edx, 0x96d13718
cmp edx, 0x13d0fb79
je 0x140073a00
nop dword [rax + rax]
mov edx, dword [0x141dca790]
or edx, dword [0x141dca794]
or edx, 0x208c4080
and edx, 0xa5acc0c0
cmp edx, 0xa68f20e4
je 0x140073a50
cmp rcx, rax
jne 0x140073b44
mov eax, dword [0x141dca7a8]
xor eax, dword [0x141dca7ac]
or eax, 0x18008000
and eax, 0x18428040
cmp eax, 0x881f6486
jne 0x140073ab0
mov rax, rcx
lock cmpxchg qword [r9 + 0x100], r8
nop word cs:[rax + rax]
mov edx, dword [0x141dca7b0]
and edx, dword [0x141dca7b4]
or edx, 0xa0010422
and edx, 0xbc87b436
mov rax, rcx
lock cmpxchg qword [r9 + 0x100], r8
sete al
cmp edx, 0x14ea1726
je 0x140073ab0
mov rcx, qword [rsi + 0x118]
mov qword [rcx + 0x108], r8
test al, al
jne 0x140073c10
jmp 0x140073c7f
mov eax, dword [0x141dca798]
xor edx, edx
div dword [0x141dca79c]
xor eax, 0x64404150
or eax, 0x9aab8283
cmp eax, 0x4c1daa32
jne 0x140073b20
mov qword [r9 + 0x108], r8
mov eax, dword [0x141dca7a0]
or eax, dword [0x141dca7a4]
or eax, 0xecb2f5fe
mov qword [r9 + 0x108], r8
cmp eax, 0x8e39a2f9
je 0x140073b20
jmp 0x140073c7f
lea rax, [r14 + 3]
xor edx, edx
nop word [rax + rax]
test r14, r14
mov rcx, r14
cmovs rcx, rax
test dl, dl
jne 0x140073b50
sar rcx, 2
nop word cs:[rax + rax]
cmp r10, rcx
setl r8b
cmp r14, 0x41
setae r9b
mov eax, dword [0x141dca7b8]
xor edx, edx
div dword [str._.7O]
xor eax, 0x45031022
and eax, 0xd53b12a3
cmp eax, 0x692911ea
je 0x140073b70
and r9b, r8b
je 0x140073c10
mov eax, dword [0x141dca7c0]
xor edx, edx
div dword [0x141dca7c4]
imul eax, eax, 0x430318fd
xor eax, 0x3366e71d
add eax, 0x3d83923c
cmp eax, 0x91dfa206
jb 0x140073c38
mov r12d, 0xe6dd1341
shr r14, 1
lea r15, [rsi + 0x118]
mov r13d, dword [0x141dca7c8]
add r13d, dword [0x141dca7cc]
imul r13, r12
shr r13, 0x3e
or r13d, 0x7b79ee7c
mov rcx, r15
mov rdx, r14
call fcn.1400f8710
cmp r13d, 0xa407740b
ja 0x140073bd8
nop dword [rax]
mov eax, dword [0x141dca7d0]
and eax, dword [0x141dca7d4]
add eax, 0x579fd9ac
and eax, 0x10040024
cmp eax, 0xf67dd4ae
ja 0x140073c10
test rdi, rdi
jne 0x140073d90
jmp 0x140073c7f
mov rdx, r14
shr rdx, 1
lea rcx, [rsi + 0x118]
call fcn.1400f8710
jmp 0x140073bc8
mov edx, dword [0x141dca778]
xor edx, dword [0x141dca77c]
add edx, 0xed7121c3
and edx, 0x29df516
mov qword [rax + 0x100], rcx
cmp edx, 0x733cbaa5
jbe 0x140073c7f
mov qword [rax + 0x100], rcx
jmp 0x140073c4f
add rsi, 0x138
mov ebx, 0x917e1009
lea rdi, [rsp + 0x20]
jmp 0x140073cab
mov rax, qword [rsp + 0x20]
cmp rax, 2
jne 0x140073d1e
mov eax, dword [0x141dca7e8]
add eax, dword [0x141dca7ec]
imul eax, eax, 0x7a4a0436
imul rax, rbx
shr rax, 0x3a
or eax, 0x5d494472
cmp eax, 0xc32927b9
ja 0x140073d11
nop word cs:[rax + rax]
mov ebp, dword [0x141dca7f0]
xor ebp, dword [0x141dca7f4]
xor ebp, 0x12044310
or ebp, 0xe5e29c2f
add ebp, 0x23034cbe
mov rcx, rdi
mov rdx, rsi
call fcn.140073df0
cmp ebp, 0x29804f05
jbe 0x140073ca0
mov rcx, rdi
mov rdx, rsi
call fcn.140073df0
jmp 0x140073ce0
test rax, rax
jne 0x140073d27
xor edi, edi
jmp 0x140073d90
cmp eax, 1
jne 0x140073dd0
mov eax, dword [0x141dca7f8]
imul eax, dword [0x141dca7fc]
or eax, 0xffd5ebff
cmp eax, 0x77641403
je 0x140073d30
mov rdi, qword [rsp + 0x28]
mov rbx, qword [rsp + 0x30]
nop word cs:[rax + rax]
mov eax, dword [0x141dca800]
xor edx, edx
div dword [0x141dca804]
or eax, 0x7c428b93
add eax, 0x7da0e5ff
xor eax, 0x9b3e94ff
cmp eax, 0xaeb3d9f9
jae 0x140073d60
nop word cs:[rax + rax]
mov eax, dword [0x141dca7e0]
add eax, dword [0x141dca7e4]
imul rax, rax, 0x7582a20b
shr rax, 0x3b
xor eax, 0x6add0228
imul eax, eax, 0x94b3cc0e
cmp eax, 0xc68d3853
ja 0x140073d90
mov rax, rdi
mov rdx, rbx
add rsp, 0x38
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov eax, dword [0x141dca7d8]
sub eax, dword [0x141dca7dc]
imul eax, eax, 0x7e610b7
cmp eax, 0x6be9b81a
je 0x140073dd0
ud2