Function at 0x140087e20
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, 0xc28
movaps xmmword [rsp + 0xc10], xmm6
mov qword [rsp + 0x28], r8
mov qword [rsp + 0x20], rdx
mov rsi, rcx
mov rax, qword [rcx]
mov rcx, qword [rcx + 0x80]
xor rcx, rax
mov qword [rsp + 0x30], rcx
mov r13, qword [rsi + 0x80]
mov r10, qword [rsi + 0x88]
lea rdi, [rsp + 0x58]
xor ebx, ebx
mov r12, qword [sym.imp.KERNEL32.dll_SwitchToThread]
xorps xmm6, xmm6
xor r15d, r15d
xor ebp, ebp
nop
mov eax, dword [0x141f3b058]
or eax, dword [0x141f3b05c]
add eax, 0x5b88619d
xor eax, 0xf24d5c6
cmp eax, 0xbefcc0b4
jb 0x140087e80
mov r14d, r13d
shr r14d, 1
and r14d, 0x3f
cmp r14d, 0x3f
jne 0x140087ff2
nop word cs:[rax + rax]
cmp ebp, 6
ja 0x140087f60
xor r8d, r8d
mov r9d, 1
jmp 0x140087eee
inc r9d
inc r8d
test eax, eax
jne 0x140087f93
mov eax, dword [0x141f3b070]
and eax, dword [0x141f3b074]
imul eax, eax, 0xf37ef8d9
imul rax, rax, 0x6cfdd6e9
shr rax, 0x3e
or eax, 0xff425b94
cmp eax, 0x70f7fd3c
jb 0x140087f4f
nop word [rax + rax]
mov eax, dword [0x141f3b078]
xor edx, edx
div dword [0x141f3b07c]
xor eax, 0x3870d8ed
pause
imul rdx, rax, 0x4e449f41
shr rdx, 0x3e
mov eax, r9d
mov ecx, ebp
shr eax, cl
cmp edx, 0xd6d2446d
jne 0x140087ee0
pause
jmp 0x140087f20
call r12
nop word cs:[rax + rax]
mov eax, dword [0x141f3b060]
xor eax, dword [0x141f3b064]
or eax, 0x213ab69f
imul eax, eax, 0x3a496786
add eax, 0x50d8d6ad
cmp eax, 0xdfcea70f
jb 0x140087f70
mov eax, dword [0x141f3b068]
imul eax, dword [0x141f3b06c]
or eax, 0x1abe7fdf
and eax, 0x5bffffdf
cmp eax, 0xef72d09f
jbe 0x140087fc0
mov rax, qword [rsi + 0x80]
nop dword [rax + rax]
cmp ebp, 0xb
mov eax, ebp
adc eax, 0
mov r13, qword [rsi + 0x80]
test bl, bl
jne 0x140087fc0
mov r10, qword [rsi + 0x88]
mov r14d, r13d
shr r14d, 1
and r14d, 0x3f
mov ebp, eax
cmp r14d, 0x3f
je 0x140087ec0
mov ebp, eax
cmp r14d, 0x3e
jne 0x140088680
test r15, r15
jne 0x140088680
mov qword [rsp + 0x38], r10
movaps xmmword [rsp + 0x40], xmm6
mov qword [rsp + 0x50], 0
movups xmmword [rdi], xmm6
mov qword [rdi + 0x10], 0
movups xmmword [rdi + 0x18], xmm6
mov qword [rdi + 0x28], 0
movups xmmword [rdi + 0x30], xmm6
mov qword [rdi + 0x40], 0
movups xmmword [rdi + 0x48], xmm6
mov qword [rdi + 0x58], 0
movups xmmword [rdi + 0x60], xmm6
mov qword [rdi + 0x70], 0
movups xmmword [rdi + 0x78], xmm6
mov qword [rdi + 0x88], 0
movups xmmword [rdi + 0x90], xmm6
mov qword [rdi + 0xa0], 0
movups xmmword [rdi + 0xa8], xmm6
mov qword [rdi + 0xb8], 0
movups xmmword [rdi + 0xc0], xmm6
mov qword [rdi + 0xd0], 0
movups xmmword [rdi + 0xd8], xmm6
mov qword [rdi + 0xe8], 0
movups xmmword [rdi + 0xf0], xmm6
mov qword [rdi + 0x100], 0
movups xmmword [rdi + 0x108], xmm6
mov qword [rdi + 0x118], 0
movups xmmword [rdi + 0x120], xmm6
mov qword [rdi + 0x130], 0
movups xmmword [rdi + 0x138], xmm6
mov qword [rdi + 0x148], 0
movups xmmword [rdi + 0x150], xmm6
mov qword [rdi + 0x160], 0
movups xmmword [rdi + 0x168], xmm6
mov qword [rdi + 0x178], 0
movups xmmword [rdi + 0x180], xmm6
mov qword [rdi + 0x190], 0
movups xmmword [rdi + 0x198], xmm6
mov qword [rdi + 0x1a8], 0
movups xmmword [rdi + 0x1b0], xmm6
mov qword [rdi + 0x1c0], 0
movups xmmword [rdi + 0x1c8], xmm6
mov qword [rdi + 0x1d8], 0
movups xmmword [rdi + 0x1e0], xmm6
mov qword [rdi + 0x1f0], 0
movups xmmword [rdi + 0x1f8], xmm6
mov qword [rdi + 0x208], 0
movups xmmword [rdi + 0x210], xmm6
mov qword [rdi + 0x220], 0
movups xmmword [rdi + 0x228], xmm6
mov qword [rdi + 0x238], 0
movups xmmword [rdi + 0x240], xmm6
mov qword [rdi + 0x250], 0
movups xmmword [rdi + 0x258], xmm6
mov qword [rdi + 0x268], 0
movups xmmword [rdi + 0x270], xmm6
mov qword [rdi + 0x280], 0
movups xmmword [rdi + 0x288], xmm6
mov qword [rdi + 0x298], 0
movups xmmword [rdi + 0x2a0], xmm6
mov qword [rdi + 0x2b0], 0
movups xmmword [rdi + 0x2b8], xmm6
mov qword [rdi + 0x2c8], 0
movups xmmword [rdi + 0x2d0], xmm6
mov qword [rdi + 0x2e0], 0
movups xmmword [rdi + 0x2e8], xmm6
mov qword [rdi + 0x2f8], 0
movups xmmword [rdi + 0x300], xmm6
mov qword [rdi + 0x310], 0
movups xmmword [rdi + 0x318], xmm6
mov qword [rdi + 0x328], 0
movups xmmword [rdi + 0x330], xmm6
mov qword [rdi + 0x340], 0
movups xmmword [rdi + 0x348], xmm6
mov qword [rdi + 0x358], 0
movups xmmword [rdi + 0x360], xmm6
mov qword [rdi + 0x370], 0
movups xmmword [rdi + 0x378], xmm6
mov qword [rdi + 0x388], 0
movups xmmword [rdi + 0x390], xmm6
mov qword [rdi + 0x3a0], 0
movups xmmword [rdi + 0x3a8], xmm6
mov qword [rdi + 0x3b8], 0
movups xmmword [rdi + 0x3c0], xmm6
mov qword [rdi + 0x3d0], 0
movups xmmword [rdi + 0x3d8], xmm6
mov qword [rdi + 0x3e8], 0
movups xmmword [rdi + 0x3f0], xmm6
mov eax, dword [0x141f3b090]
or eax, dword [0x141f3b094]
mov qword [rdi + 0x400], 0
or eax, 0x5edebc9d
add eax, 0x5ae5df30
cmp eax, 0xdb4d9836
lea rdx, [rsp + 0x40]
jbe 0x14008849e
movups xmmword [rdi + 0x408], xmm6
mov qword [rdi + 0x418], 0
movups xmmword [rdi + 0x420], xmm6
mov qword [rdi + 0x430], 0
movups xmmword [rdi + 0x438], xmm6
mov qword [rdi + 0x448], 0
movups xmmword [rdi + 0x450], xmm6
mov qword [rdi + 0x460], 0
movups xmmword [rdi + 0x468], xmm6
mov qword [rdi + 0x478], 0
movups xmmword [rdi + 0x480], xmm6
mov qword [rdi + 0x490], 0
movups xmmword [rdi + 0x498], xmm6
mov qword [rdi + 0x4a8], 0
movups xmmword [rdi + 0x4b0], xmm6
mov qword [rdi + 0x4c0], 0
movups xmmword [rdi + 0x4c8], xmm6
mov qword [rdi + 0x4d8], 0
movups xmmword [rdi + 0x4e0], xmm6
mov qword [rdi + 0x4f0], 0
movups xmmword [rdi + 0x4f8], xmm6
mov qword [rdi + 0x508], 0
movups xmmword [rdi + 0x510], xmm6
mov qword [rdi + 0x520], 0
movups xmmword [rdi + 0x528], xmm6
mov qword [rdi + 0x538], 0
movups xmmword [rdi + 0x540], xmm6
mov qword [rdi + 0x550], 0
movups xmmword [rdi + 0x558], xmm6
mov qword [rdi + 0x568], 0
movups xmmword [rdi + 0x570], xmm6
mov qword [rdi + 0x580], 0
movups xmmword [rdi + 0x588], xmm6
mov qword [rdi + 0x598], 0
movups xmmword [rdi + 0x5a0], xmm6
mov qword [rdi + 0x5b0], 0
movups xmmword [rdi + 0x5b8], xmm6
mov qword [rdi + 0x5c8], 0
mov r8d, 0x5e8
lea rcx, [rsp + 0x628]
call sub.VCRUNTIME140.dll_memcpy
movzx eax, byte [0x141f49078]
mov edx, 0x5f0
xor ecx, ecx
call fcn.1400c6170
lea r15, [rsp + 0x628]
nop word cs:[rax + rax]
mov eax, dword [0x141f3b098]
and eax, dword [0x141f3b09c]
imul rax, rax, 0x6426d373
shr rax, 0x3e
imul r12d, eax, 0x59c6fc17
add r12d, 0x4bc6f5c1
movups xmmword [rdi + 0x408], xmm6
mov qword [rdi + 0x418], 0
movups xmmword [rdi + 0x420], xmm6
mov qword [rdi + 0x430], 0
movups xmmword [rdi + 0x438], xmm6
mov qword [rdi + 0x448], 0
movups xmmword [rdi + 0x450], xmm6
mov qword [rdi + 0x460], 0
movups xmmword [rdi + 0x468], xmm6
mov qword [rdi + 0x478], 0
movups xmmword [rdi + 0x480], xmm6
mov qword [rdi + 0x490], 0
movups xmmword [rdi + 0x498], xmm6
mov qword [rdi + 0x4a8], 0
movups xmmword [rdi + 0x4b0], xmm6
mov qword [rdi + 0x4c0], 0
movups xmmword [rdi + 0x4c8], xmm6
mov qword [rdi + 0x4d8], 0
movups xmmword [rdi + 0x4e0], xmm6
mov qword [rdi + 0x4f0], 0
movups xmmword [rdi + 0x4f8], xmm6
mov qword [rdi + 0x508], 0
movups xmmword [rdi + 0x510], xmm6
mov qword [rdi + 0x520], 0
movups xmmword [rdi + 0x528], xmm6
mov qword [rdi + 0x538], 0
movups xmmword [rdi + 0x540], xmm6
mov qword [rdi + 0x550], 0
movups xmmword [rdi + 0x558], xmm6
mov qword [rdi + 0x568], 0
movups xmmword [rdi + 0x570], xmm6
mov qword [rdi + 0x580], 0
movups xmmword [rdi + 0x588], xmm6
mov qword [rdi + 0x598], 0
movups xmmword [rdi + 0x5a0], xmm6
mov qword [rdi + 0x5b0], 0
movups xmmword [rdi + 0x5b8], xmm6
mov qword [rdi + 0x5c8], 0
mov r8d, 0x5e8
mov rcx, r15
lea rdx, [rsp + 0x40]
call sub.VCRUNTIME140.dll_memcpy
movzx eax, byte [0x141f49078]
mov edx, 0x5f0
xor ecx, ecx
call fcn.1400c6170
cmp r12d, 0x54353742
ja 0x1400884b0
mov rcx, rax
test rax, rax
je 0x1400889d4
test bl, bl
mov r12, qword [sym.imp.KERNEL32.dll_SwitchToThread]
je 0x140088740
jmp 0x14008876b
mov eax, dword [0x141f3b080]
imul eax, dword [0x141f3b084]
imul eax, eax, 0xa433c861
shr eax, 1
imul rax, rax, 0x40b0c255
shr rax, 0x3d
add eax, 0x487076ff
cmp eax, 0x6c00f754
ja 0x140088720
nop dword [rax]
mov ecx, dword [0x141f3b088]
xor ecx, dword [0x141f3b08c]
xor ecx, 0xcff664
add ecx, 0x79fb23cb
and ecx, 0x695736e
lea rdx, [r13 + 2]
mov rax, r13
lock cmpxchg qword [rsi + 0x80], rdx
mov r8, rax
sete al
cmp ecx, 0x48ab4a67
ja 0x140088720
test al, al
jne 0x14008892c
mov eax, dword [0x141f3b0c0]
xor eax, dword [0x141f3b0c4]
xor eax, 0xac12278
imul eax, eax, 0xac63975
cmp eax, 0x60245b95
jne 0x1400887b0
jmp 0x140088920
lea rcx, [r13 + 2]
mov rax, r13
lock cmpxchg qword [rsi + 0x80], rcx
jmp 0x1400886b0
mov eax, dword [0x141f3b0a0]
imul eax, dword [0x141f3b0a4]
add eax, 0x9f175335
imul rax, rax, 0x6d6b69d9
shr rax, 0x3e
mov qword [rcx], 0
cmp eax, 0xc4c39a80
jne 0x140088780
mov qword [rcx], 0
jmp 0x140088740
mov r15, rcx
add rcx, 8
mov r8d, 0x5e8
lea rdx, [rsp + 0x628]
call sub.VCRUNTIME140.dll_memcpy
mov r10, qword [rsp + 0x38]
jmp 0x140088680
mov eax, dword [0x141f3b0c8]
xor eax, dword [0x141f3b0cc]
imul eax, eax, 0xd900c
xor eax, 0xd6bbbb11
imul rcx, rax, 0x3a1cb153
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1f
mov r10, qword [rsi + 0x88]
cmp eax, 0xb7ae886d
ja 0x140088920
mov r9d, 1
mov ecx, ebp
shl r9d, cl
cmp ebp, 7
mov eax, 0x40
cmovae r9d, eax
test r9d, r9d
jle 0x1400888e7
cmp r9d, 8
jb 0x140088835
mov eax, r9d
and eax, 0xfffffff8
nop dword [rax]
pause
pause
pause
pause
pause
pause
pause
pause
add eax, 0xfffffff8
jne 0x140088820
and r9d, 7
nop dword [rax]
mov eax, dword [0x141f3b0d0]
sub eax, dword [0x141f3b0d4]
and eax, 0xc40e0604
cmp eax, 0x794416d5
je 0x140088840
nop dword [rax + rax]
mov eax, dword [0x141f3b0d8]
and eax, dword [0x141f3b0dc]
imul eax, eax, 0x58057f88
and eax, 0xc8867ef0
add eax, 0x537cb51f
cmp eax, 0x36f9d33b
ja 0x140088860
test r9d, r9d
je 0x1400888e7
xor ecx, ecx
nop word [rax + rax]
mov eax, dword [0x141f3b0e0]
xor edx, edx
div dword [0x141f3b0e4]
imul eax, eax, 0xd52d18e3
add eax, 0x8e76ce90
or eax, 0xe5b8f740
cmp eax, 0xeb96f290
jae 0x1400888c0
pause
nop word [rax + rax]
mov eax, dword [0x141f3b0e8]
add eax, dword [str._hF_b]
pause
imul eax, eax, 0xfa3af869
and eax, 0x2030211
cmp eax, 0xc51e7e1
ja 0x1400888c0
inc ecx
cmp ecx, r9d
jne 0x140088890
cmp ebp, 7
adc ebp, 0
nop dword [rax]
mov eax, dword [0x141f3b0f0]
xor eax, dword [0x141f3b0f4]
add eax, 0xb9340862
xor eax, 0x905cc8b
or eax, 0xf6d03330
cmp eax, 0x38f9ce2b
jbe 0x1400888f0
mov r13, r8
jmp 0x140087e80
mov rax, qword [rsi + 0x88]
jmp 0x1400887b0
cmp r14d, 0x3e
jne 0x1400889a2
nop word cs:[rax + rax]
mov eax, dword [0x141f3b0f8]
xor eax, dword [0x141f3b0fc]
or eax, 0xee03110f
imul eax, eax, 0xf3d271b5
cmp eax, 0xac4614cc
je 0x140088940
test r15, r15
je 0x140088a3d
add r13, 4
mov qword [rsi + 0x88], r15
mov qword [rsi + 0x80], r13
mov qword [r10], r15
mov rax, qword [rsp + 0x20]
mov qword [r10 + 0x5d8], rax
mov rax, qword [rsp + 0x28]
mov qword [r10 + 0x5e0], rax
lock or qword [r10 + 0x5e8], 1
jmp 0x140088b93
add r10, 8
mov eax, dword [0x141f3b100]
xor edx, edx
div dword [0x141f3b104]
add eax, 0xaf2907ed
xor eax, 0x76700a2a
cmp eax, 0x3985542a
mov rdx, qword [rsp + 0x28]
mov r8, qword [rsp + 0x20]
jae 0x140088a3f
jmp 0x140088a80
mov eax, dword [0x141f3b0a8]
and eax, dword [0x141f3b0ac]
or eax, 0xd9d2e5f9
imul eax, eax, 0x8ebe494c
and eax, 0x9f1ac1e8
cmp eax, 0xbff2dd39
je 0x140088a12
mov eax, dword [0x141f3b0b0]
and eax, dword [0x141f3b0b4]
imul eax, eax, 0x7b98e1e8
ud2
ud2
ud2
mov eax, dword [0x141f3b108]
add eax, dword [0x141f3b10c]
mov ecx, 0x838aa1f1
imul rcx, rax
shr rcx, 0x3f
xor ecx, 0x5b758397
add ecx, 0x39397368
lea rax, [r14 + r14*2]
mov qword [r10 + rax*8], r8
mov qword [r10 + rax*8 + 8], rdx
lock or qword [r10 + rax*8 + 0x10], 1
cmp ecx, 0xfde87f35
jbe 0x140088a96
lea rax, [r14 + r14*2]
mov qword [r10 + rax*8], r8
mov qword [r10 + rax*8 + 8], rdx
lock or qword [r10 + rax*8 + 0x10], 1
jmp 0x140088a3f
mov r8, r15
nop dword [rax]
mov eax, dword [0x141f3b110]
or eax, dword [0x141f3b114]
add eax, 0xd547bb33
or eax, 0xc29ac34c
and eax, 0xdbfadfcd
cmp eax, 0x77ebc881
jb 0x140088aa0
test r8, r8
je 0x140088b93
mov eax, dword [0x141f3b118]
xor edx, edx
div dword [0x141f3b11c]
imul eax, eax, 0xbe979f41
or eax, 0xf3e13836
add eax, 0xb242240f
cmp eax, 0x65684b84
jb 0x140088b19
mov eax, dword [0x141f3b120]
or eax, dword [0x141f3b124]
or eax, 0x1941a100
xor eax, 0x45001142
or eax, 0xa29e0e3d
mov rdi, qword [0x141f49060]
cmp eax, 0xb6437fb7
jae 0x140088b22
mov rax, qword [0x141f49060]
jmp 0x140088af0
xor eax, eax
test al, al
je 0x140088b36
mov rcx, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r8, r15
mov rbx, qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax]
mov eax, dword [0x141f3b128]
or eax, dword [0x141f3b12c]
and eax, 0xb21a1de8
imul ebp, eax, 0x2242e8d2
add ebp, 0xa1ad316a
mov rcx, rdi
xor edx, edx
call rbx
mov r8, r15
cmp ebp, 0xfb677b76
ja 0x140088b40
nop
mov eax, dword [0x141f3b130]
add eax, dword [0x141f3b134]
or eax, 0xfb170cc1
xor eax, 0x14432063
imul eax, eax, 0x99270008
cmp eax, 0xc120b854
jb 0x140088b70
mov eax, dword [0x141f3b138]
add eax, dword [0x141f3b13c]
or eax, 0x401a6544
xor eax, 0x40010c54
or eax, 0x9e6012ab
cmp eax, 0xe5d7ecc6
je 0x140088bbe
mfence
xor eax, eax
test al, al
je 0x140088bc3
mfence
jmp 0x140088bb5
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x140088bd0
mov edx, 0xffffffff
lea r8, [rdx + 1]
mov r9d, 0xf7882ad9
mov r10d, 0xda9d26a1
jmp 0x140088bf8
test al, al
jne 0x140088cac
mov rcx, qword [rsi + 0x170]
mov eax, dword [0x141f3b140]
imul eax, dword [0x141f3b144]
add eax, 0x88af2664
imul rax, r9
shr rax, 0x3e
imul eax, eax, 0xc034606f
cmp eax, 0x199c19aa
je 0x140088bff
test rcx, r8
jne 0x140088ca9
lea r11, [rdx + rcx]
inc r11
mov eax, dword [0x141f3b148]
sub eax, dword [0x141f3b14c]
xor eax, 0x2d914e1e
add eax, 0xe716a871
imul rax, rax, 0x4f43a44d
shr rax, 0x3d
cmp eax, 0x237d4f3
ja 0x140088c9b
nop word [rax + rax]
mov edi, dword [0x141f3b150]
xor edi, dword [0x141f3b154]
xor edi, 0x445b10
or edi, 0x6f93a427
imul rdi, r10
shr rdi, 0x3a
mov rax, rcx
lock cmpxchg qword [rsi + 0x170], r11
sete al
cmp edi, 0x4e454629
jbe 0x140088bf0
mov rax, rcx
lock cmpxchg qword [rsi + 0x170], r11
jmp 0x140088c60
mov r11, rcx
mov rdx, r11
and rdx, 0xffff
je 0x140088d30
cmp qword [rsp + 0x30], 2
jae 0x140088d69
shr r11, 0x10
mov ecx, 0xf5230699
movzx eax, r11w
sub rax, rdx
nop word cs:[rax + rax]
mov edx, dword [0x141f3b160]
sub edx, dword [0x141f3b164]
imul rdx, rcx
shr rdx, 0x3f
cmp edx, 0x8597f440
je 0x140088ce0
nop dword [rax]
mov ecx, dword [0x141f3b168]
and ecx, dword [str.mc__]
imul ecx, ecx, 0x164f3c55
add ecx, 0xeab55515
cmp ecx, 0x6abc394
jb 0x140088d00
test eax, eax
je 0x140088d69
nop word cs:[rax + rax]
mov eax, dword [0x141f3b170]
or eax, dword [0x141f3b174]
xor eax, 0xd491b1b5
add eax, 0x1eaee314
cmp eax, 0x3cffbca
jb 0x140088d30
movaps xmm6, xmmword [rsp + 0xc10]
add rsp, 0xc28
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
add rsi, 0x158
mov rcx, rsi
mov edx, 1
call fcn.1400fd900
nop dword [rax]
mov eax, dword [0x141f3b158]
or eax, dword [0x141f3b15c]
or eax, 0x9715cf44
cmp eax, 0x394d5f7f
je 0x140088d80
jmp 0x140088d30