Function at 0x1400f8520
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, 0x28
mov r12, r9
mov rdi, r8
mov rbx, rdx
mov r15, rcx
mov rcx, qword [rdx]
mov eax, dword [0x141dcb340]
or eax, dword [0x141dcb344]
and eax, 0x6fb4a52c
imul eax, eax, 0x83863dea
or eax, 0x6179434
cmp eax, 0x86e9b6c3
jne 0x1400f856e
mov edx, 1
xor eax, eax
lock cmpxchg qword [rdi], rdx
mov r8d, 1
nop word cs:[rax + rax]
mov eax, dword [0x141dcb348]
xor edx, edx
div dword [0x141dcb34c]
add eax, 0x70f39e97
or eax, 0x683ca5f0
imul rdx, rax, 0x56aff0b5
shr rdx, 0x3b
xor eax, eax
lock cmpxchg qword [rdi], r8
sete al
cmp edx, 0xbf8e8d19
ja 0x1400f8580
nop word cs:[rax + rax]
mov edx, dword [0x141dcb350]
and edx, dword [0x141dcb354]
add edx, 0xaf49512c
or edx, 0x4ef38027
cmp edx, 0x42854788
jb 0x1400f85c0
test al, al
je 0x1400f8ff8
nop dword [rax + rax]
mov eax, dword [0x141dcb358]
sub eax, dword [0x141dcb35c]
add eax, 0x29ed4e4a
cmp eax, 0x907cd804
ja 0x1400f85f0
cmp rcx, qword [r15 + 0x10]
jae 0x1400f871f
mov eax, dword [0x141dcb360]
or eax, dword [0x141dcb364]
mov rdx, qword [r15 + 8]
imul eax, eax, 0x707412a4
and eax, 0x9a60510c
cmp eax, 0x4ce55a0d
jne 0x1400f8647
mov r8, rcx
shl r8, 7
mov r9b, 1
xor eax, eax
lock cmpxchg byte [rdx + r8 + 4], r9b
mov r8d, 0xb4fa0e59
shl rcx, 7
lea r14, [rdx + rcx]
mov r9b, 1
lea rsi, [rdx + rcx]
add rsi, 4
mov r10d, dword [0x141dcb368]
or r10d, dword [0x141dcb36c]
imul r10, r8
shr r10, 0x3f
add r10d, 0x98bc2637
xor eax, eax
lock cmpxchg byte [rdx + rcx + 4], r9b
sete al
cmp r10d, 0xe4b9c076
ja 0x1400f8660
nop word cs:[rax + rax]
mov ecx, dword [0x141dcb370]
imul ecx, dword [0x141dcb374]
imul rcx, rcx, 0x174f1e7b
shr rcx, 0x3c
imul ecx, ecx, 0xf26eeca7
add ecx, 0x82355b05
cmp ecx, 0x2538eb65
jb 0x1400f86a0
test al, al
je 0x1400f86f8
mov eax, dword [0x141dcb380]
imul eax, dword [0x141dcb384]
and eax, 0x4dfc202e
imul eax, eax, 0xbe919478
cmp eax, 0x9fb5d4ff
jbe 0x1400f87ac
jmp 0x1400f87c4
mov rcx, rsi
call fcn.1400fbf20
mov eax, dword [0x141dcb378]
xor eax, dword [0x141dcb37c]
xor eax, 0xd1e36bcc
add eax, 0x4561e709
cmp eax, 0x8bac571f
jb 0x1400f8700
jmp 0x1400f86d0
mov eax, dword [0x141dcb3a8]
imul eax, dword [0x141dcb3ac]
imul rax, rax, 0x4cf995b9
shr rax, 0x3e
or eax, 0x87c96a20
xor eax, 0x80470906
cmp eax, 0xfe12e457
jbe 0x1400f8750
ud2
mov eax, dword [0x141dcb3b0]
and eax, dword [0x141dcb3b4]
xor eax, 0x1c013f0c
imul eax, eax, 0xf500babe
add eax, 0xc54f313d
ud2
mov ecx, 2
mov eax, 1
lock cmpxchg qword [rdi], rcx
sete cl
xor eax, eax
test al, al
je 0x1400f87d5
mov ecx, 2
mov eax, 1
lock cmpxchg qword [rdi], rcx
jmp 0x1400f87ac
mov eax, dword [0x141dcb388]
xor edx, edx
div dword [0x141dcb38c]
nop word cs:[rax + rax]
mov eax, dword [0x141dcb390]
add eax, dword [0x141dcb394]
and eax, 0x496ea856
add eax, 0x867ec220
cmp eax, 0x7c31795e
jb 0x1400f87f0
nop dword [rax]
mov eax, dword [0x141dcb398]
or eax, dword [0x141dcb39c]
xor eax, 0x806f81d9
imul eax, eax, 0xb4647221
add eax, 0xa0c3c10a
cmp eax, 0x358aa683
jb 0x1400f8810
test cl, cl
je 0x1400f8956
nop dword [rax + rax]
mov eax, dword [0x141dcb3a0]
add eax, dword [0x141dcb3a4]
or eax, 0x767bdff3
xor eax, 0xdb4d627c
cmp eax, 0xff94fad0
ja 0x1400f8840
xor eax, eax
nop
test al, al
jne 0x1400f8860
xor r8d, r8d
mov r9d, 0xad1df899
nop dword [rax]
test r8b, r8b
je 0x1400f8880
mov rax, qword [r15 + 0x18]
nop dword [rax]
mov eax, dword [0x141dcb3c0]
and eax, dword [0x141dcb3c4]
add eax, 0x2939deba
xor eax, 0xba5d4eba
add eax, 0xf7a5507
mov rcx, qword [r15 + 0x18]
cmp eax, 0xb7d5ff78
ja 0x1400f8880
mov eax, dword [0x141dcb3c8]
xor edx, edx
div dword [0x141dcb3cc]
nop word cs:[rax + rax]
mov eax, dword [0x141dcb3d0]
add eax, dword [0x141dcb3d4]
imul eax, eax, 0x11052ca5
add eax, 0xea2b4f2f
or eax, 0x797ae961
cmp eax, 0x5831bd26
jb 0x1400f88c0
mov rax, rcx
shr rax, 0x20
cmp rax, qword [rbx + 8]
jne 0x1400f896a
lea rdx, [rcx + 1]
mov rax, rcx
lock cmpxchg qword [r15 + 0x18], rdx
sete al
mov ecx, dword [0x141dcb3d8]
or ecx, dword [0x141dcb3dc]
add ecx, 0x1ccc1fb
imul rcx, r9
shr rcx, 0x3f
cmp ecx, 0x76b0cc11
ja 0x1400f8900
test al, al
je 0x1400f8870
mov eax, dword [0x141dcb3f0]
and eax, dword [0x141dcb3f4]
imul eax, eax, 0xbad19e42
add eax, 0x6b345b6e
or eax, 0x751bf717
cmp eax, 0xd192ed12
jbe 0x1400f8a16
jmp 0x1400f8a37
mov dword [rbx + 0x10], 0
mov qword [rbx + 8], 0xffffffffffffffff
jmp 0x1400f8d5e
mov dword [rbx + 0x10], 0x20
mov qword [rbx + 8], 0xffffffffffffffff
mov eax, dword [0x141dcb3e0]
xor eax, dword [0x141dcb3e4]
and eax, 0x5a7ce55a
imul eax, eax, 0xe323d1e2
imul rax, rax, 0x5ba3fb3
shr rax, 0x37
cmp eax, 0xeafb3ff
jbe 0x1400f89b0
mov rax, qword [rdi]
nop word cs:[rax + rax]
mov ecx, dword [0x141dcb3e8]
add ecx, dword [0x141dcb3ec]
and ecx, 0x1a410
xor ecx, 0x6860c180
mov rax, qword [rdi]
cmp ecx, 0x4bd062a
jb 0x1400f89b0
xor ecx, ecx
nop word cs:[rax + rax]
test cl, cl
jne 0x1400f89e0
cmp rax, 3
je 0x1400f8d5e
mov eax, dword [0x141dcb4c8]
xor edx, edx
div dword [0x141dcb4cc]
or eax, 0x14001000
and eax, 0xf4671767
cmp eax, 0xefcbe2b6
jne 0x1400f8d67
jmp 0x1400f8d96
mov eax, dword [0x141dcb3f8]
sub eax, dword [0x141dcb3fc]
imul eax, eax, 0xa43489e1
add eax, 0xaa7e81eb
mfence
cmp eax, 0xd3e25dab
jbe 0x1400f8a3c
mfence
jmp 0x1400f8a16
mov rax, qword [r12 + 0x138]
mov rcx, qword [rax + 0x100]
mfence
mov rax, qword [rax + 0x108]
sub rax, rcx
nop dword [rax + rax]
mov ecx, dword [0x141dcb400]
or ecx, dword [0x141dcb404]
and ecx, 0xe60c0605
imul rdx, rcx, 0x417210d5
shr rdx, 0x20
sub ecx, edx
shr ecx, 1
add ecx, edx
shr ecx, 0x1f
cmp ecx, 0x17bf2425
ja 0x1400f8a60
test rax, rax
jg 0x1400f8ae1
nop word cs:[rax + rax]
mov eax, dword [0x141dcb408]
xor eax, dword [0x141dcb40c]
and eax, 0x84008e2c
xor eax, 0x8c004a60
or eax, 0x71fa3013
cmp eax, 0x8a8f5599
jb 0x1400f8aa0
mov rax, qword [r12 + 0x110]
mov rcx, qword [rax + 0x80]
mov rax, qword [rax + 0x100]
xor rax, rcx
cmp rax, 1
jbe 0x1400f8b10
mov eax, dword [0x141dcb418]
xor eax, dword [0x141dcb41c]
xor eax, 0x75aeee63
add eax, 0x823ae6d3
cmp eax, 0x6cb346cc
jae 0x1400f8dd5
jmp 0x1400f8dfe
mov eax, dword [0x141dcb410]
or eax, dword [0x141dcb414]
add eax, 0xae404499
or eax, 0xb8c86265
and eax, 0xbad9e7ed
cmp eax, 0xc66d7760
ja 0x1400f8b10
mov byte [r14 + 5], 1
xor ebp, ebp
mov r12d, 0xf10165c3
mov r15b, 1
jmp 0x1400f8b5b
cmp byte [r14 + 5], 0
je 0x1400f8e34
mov r13d, dword [r14]
mov eax, dword [0x141dcb430]
or eax, dword [0x141dcb434]
and eax, 0xbaf0d188
xor eax, 0x45d0fe0a
imul eax, eax, 0x7faae9a5
cmp eax, 0x92281a7b
jbe 0x1400f8b90
xor eax, eax
xchg byte [rsi], al
nop word cs:[rax + rax]
mov eax, dword [0x141dcb438]
xor edx, edx
div dword [0x141dcb43c]
imul eax, eax, 0x3419e987
imul rcx, rax, 0x1ca9d253
shr rcx, 0x3c
or ecx, 0xa957ddf8
mov eax, 0
xchg byte [rsi], al
cmp ecx, 0x27aed986
jb 0x1400f8b90
nop word cs:[rax + rax]
mov ecx, dword [0x141dcb440]
xor ecx, dword [0x141dcb444]
imul ecx, ecx, 0xa7c9ea80
imul rcx, r12
shr rcx, 0x3e
cmp ecx, 0xd7bf9c30
ja 0x1400f8bd0
cmp al, 2
jne 0x1400f8bff
mov rcx, rsi
call qword [sym.imp.api_ms_win_core_synch_l1_2_0.dll_WakeByAddressSingle]
mov dword [rsp + 0x24], r13d
mov r8d, 4
mov rcx, r14
lea rdx, [rsp + 0x24]
mov r9d, 0xffffffff
call qword [sym.imp.api_ms_win_core_synch_l1_2_0.dll_WaitOnAddress]
mov ecx, dword [0x141dcb448]
xor ecx, dword [0x141dcb44c]
or ecx, 0xa0401130
and ecx, 0xa1415133
cmp ecx, 0xf1dd0924
nop dword [rax]
test bpl, bpl
jne 0x1400f8c40
cmp eax, 1
je 0x1400f8cb0
mov eax, dword [0x141dcb450]
add eax, dword [0x141dcb454]
or eax, 0x54020000
and eax, 0x540b0101
cmp eax, 0x2db61f29
je 0x1400f8ca8
nop word [rax + rax]
mov r13d, dword [0x141dcb458]
or r13d, dword [0x141dcb45c]
xor r13d, 0x2401a0c4
or r13d, 0x99ac5e2b
mov eax, 0xca6e4025
imul r13, rax
shr r13, 0x39
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp r13d, 0x3095b9c9
jne 0x1400f8cb0
call qword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x1400f8c70
mov eax, dword [0x141dcb460]
and eax, dword [0x141dcb464]
xor eax, 0x11312396
imul eax, eax, 0xe6b44aa0
cmp eax, 0x5098197d
ja 0x1400f8cf3
nop
mov eax, dword [0x141dcb468]
xor edx, edx
div dword [0x141dcb46c]
mov ecx, eax
xor eax, eax
lock cmpxchg byte [rsi], r15b
sete r8b
cmp ecx, 0xe80e6f3c
jne 0x1400f8d00
xor eax, eax
lock cmpxchg byte [rsi], r15b
jmp 0x1400f8cd0
mov eax, dword [0x141dcb470]
xor edx, edx
div dword [0x141dcb474]
mov eax, dword [0x141dcb478]
sub eax, dword [0x141dcb47c]
imul eax, eax, 0xe05ec4cf
cmp eax, 0xea185818
je 0x1400f8d0e
test r8b, r8b
jne 0x1400f8b50
mov rcx, rsi
call fcn.1400fbf20
nop dword [rax + rax]
mov eax, dword [0x141dcb480]
add eax, dword [0x141dcb484]
imul eax, eax, 0xe010eb3f
cmp eax, 0xbeb5b48e
je 0x1400f8d40
jmp 0x1400f8b50
xor eax, eax
xchg byte [rsi], al
jmp 0x1400f8fb2
mov ecx, dword [0x141dcb4d0]
xor ecx, dword [0x141dcb4d4]
xor edx, edx
mov eax, 2
lock cmpxchg qword [rdi], rdx
imul eax, ecx, 0x566f5621
add eax, 0xeb3d257a
xor eax, 0x9ab6a551
cmp eax, 0xf19fda88
jbe 0x1400f8db0
xor ecx, ecx
mov eax, 2
lock cmpxchg qword [rdi], rcx
jmp 0x1400f8d67
mov eax, dword [0x141dcb4d8]
imul eax, dword [0x141dcb4dc]
xor eax, 0x36a91c
add eax, 0x1115ea82
and eax, 0x17512644
cmp eax, 0x33d2e7a6
ja 0x1400f8db0
jmp 0x1400f8d5e
mov eax, dword [0x141dcb420]
xor edx, edx
div dword [0x141dcb424]
or eax, 0xd389b3
add eax, 0xfdf61d80
or eax, 0xfe7f285e
lock dec qword [r15 + 0x18]
cmp eax, 0xfb154142
jne 0x1400f8e10
lock dec qword [r15 + 0x18]
jmp 0x1400f8dd5
mov eax, dword [0x141dcb428]
and eax, dword [0x141dcb42c]
imul eax, eax, 0xd82631a8
and eax, 0x75674360
imul eax, eax, 0x7aad8a4e
cmp eax, 0x6be54fe3
jbe 0x1400f8e10
mov dword [rbx + 0x10], 0
mov eax, dword [0x141dcb488]
sub eax, dword [0x141dcb48c]
mov qword [rbx + 8], 0xffffffffffffffff
imul eax, eax, 0x57848092
add eax, 0x57b2629
cmp eax, 0x5b7d425
jae 0x1400f8e70
mov rax, qword [rdi]
nop word cs:[rax + rax]
mov eax, dword [0x141dcb490]
mov ecx, dword [0x141dcb494]
add ecx, eax
add ecx, 0xa39cbaf2
imul rax, rcx, 0x269d9a9b
shr rax, 0x20
sub ecx, eax
shr ecx, 1
add ecx, eax
shr ecx, 0x1f
mov rax, qword [rdi]
cmp ecx, 0xe9649f5
ja 0x1400f8e70
xor ecx, ecx
nop word cs:[rax + rax]
test cl, cl
jne 0x1400f8eb0
cmp rax, 3
je 0x1400f8f4b
mov eax, dword [0x141dcb498]
imul eax, dword [0x141dcb49c]
and eax, 0x55041189
imul eax, eax, 0xe7bb70cb
add eax, 0xaf8adfad
cmp eax, 0x2a735b5e
jb 0x1400f8f14
mov ecx, dword [0x141dcb4a0]
sub ecx, dword [0x141dcb4a4]
xor edx, edx
mov eax, 2
lock cmpxchg qword [rdi], rdx
add ecx, 0xad874a7c
xor ecx, 0x20098024
and ecx, 0x3c2b9126
cmp ecx, 0x22f5509b
jae 0x1400f8f30
xor ecx, ecx
mov eax, 2
lock cmpxchg qword [rdi], rcx
jmp 0x1400f8ee2
mov eax, dword [0x141dcb4a8]
xor edx, edx
div dword [0x141dcb4ac]
imul eax, eax, 0x6be35611
cmp eax, 0xb71a2c6
je 0x1400f8f30
mov eax, dword [0x141dcb4b0]
or eax, dword [0x141dcb4b4]
xor eax, 0x717f255a
add eax, 0x6e3d7d96
imul rax, rax, 0x6f9565e3
shr rax, 0x3d
cmp eax, 0x1565c50c
jbe 0x1400f8f80
xor eax, eax
xchg byte [rsi], al
nop word [rax + rax]
mov eax, dword [0x141dcb4b8]
xor eax, dword [0x141dcb4bc]
imul rax, rax, 0x6216dfdf
shr rax, 0x3d
imul ecx, eax, 0x30c05707
xor ecx, 0xc98e7f5b
mov eax, 0
xchg byte [rsi], al
cmp ecx, 0x2f9d1106
jb 0x1400f8f80
cmp al, 2
jne 0x1400f8ff8
mov eax, dword [0x141dcb4c0]
xor eax, dword [0x141dcb4c4]
and eax, 0x8808402
or eax, 0xa21d323d
imul rax, rax, 0x1959f543
shr rax, 0x3c
cmp eax, 0x3b6a0902
je 0x1400f8fed
mov rcx, rsi
call qword [sym.imp.api_ms_win_core_synch_l1_2_0.dll_WakeByAddressSingle]
xor eax, eax
test al, al
je 0x1400f8ff8
mov rcx, rsi
call qword [sym.imp.api_ms_win_core_synch_l1_2_0.dll_WakeByAddressSingle]
jmp 0x1400f8fde
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret