Function at 0x1400f8040
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 rdi, r8
mov rbx, rdx
mov rdx, qword [rdx]
mov r8d, 1
xor eax, eax
lock cmpxchg qword [rdi], r8
sete al
mov r12, r9
mov r15, rcx
nop
mov ecx, dword [0x141dcb948]
or ecx, dword [0x141dcb94c]
and ecx, 0x269c3fe9
imul ecx, ecx, 0xad4eba05
cmp ecx, 0x8d2c8c6d
je 0x1400f8070
test al, al
je 0x1400f8d0d
nop dword [rax + rax]
mov eax, dword [0x141dcb950]
imul eax, dword [0x141dcb954]
xor eax, 0xa5220000
or eax, 0x5ac8fd6c
xor eax, 0xe2c853f6
cmp eax, 0xa0a36aa3
ja 0x1400f80a0
cmp rdx, qword [r15 + 0x10]
jae 0x1400f819f
mov rcx, qword [r15 + 8]
shl rdx, 7
mov r8b, 1
xor eax, eax
lock cmpxchg byte [rcx + rdx + 4], r8b
lea rax, [rcx + rdx]
mov qword [rsp + 0x30], rax
lea rsi, [rcx + rdx + 4]
sete al
nop word cs:[rax + rax]
mov ecx, dword [0x141dcb958]
sub ecx, dword [0x141dcb95c]
and ecx, 0x42740988
imul ecx, ecx, 0xc18a783b
cmp ecx, 0xf908e74e
je 0x1400f8100
mov ecx, dword [0x141dcb960]
or ecx, dword [0x141dcb964]
or ecx, 0x70ee5233
imul ecx, ecx, 0xad6beda8
and ecx, 0x443579d0
cmp ecx, 0x6fe0a8ca
ja 0x1400f8120
test al, al
je 0x1400f816c
mov eax, dword [0x141dcb970]
add eax, dword [0x141dcb974]
or eax, 0x26960a7c
add eax, 0xb3c01ed0
cmp eax, 0x2093603e
jae 0x1400f81cb
jmp 0x1400f81ff
mov rcx, rsi
call fcn.1400fb900
nop word cs:[rax + rax]
mov eax, dword [0x141dcb968]
xor eax, dword [0x141dcb96c]
and eax, 0x4220908
add eax, 0x70e04085
cmp eax, 0x48ba50fe
jb 0x1400f8180
jmp 0x1400f814a
mov eax, dword [0x141dcb990]
or eax, dword [0x141dcb994]
and eax, 0x92dc8c9e
imul eax, eax, 0xde641b04
add eax, 0xf64a2aa0
cmp eax, 0x1920440a
jae 0x1400f8b43
jmp 0x1400f8b66
mov eax, dword [0x141dcb978]
xor edx, edx
div dword [0x141dcb97c]
imul ecx, eax, 0x23bef2ca
add ecx, 0xd130e50
mov edx, 2
mov eax, 1
lock cmpxchg qword [rdi], rdx
sete al
cmp ecx, 0xd5e05f07
jbe 0x1400f8210
mov ecx, 2
mov eax, 1
lock cmpxchg qword [rdi], rcx
jmp 0x1400f81cb
test al, al
je 0x1400f8339
nop dword [rax + rax]
mov eax, dword [0x141dcb980]
add eax, dword [0x141dcb984]
or eax, 0xdd484800
and eax, 0xdd4c5c10
cmp eax, 0x44d8db21
je 0x1400f8220
nop dword [rax]
mov eax, dword [0x141dcb988]
imul eax, dword [0x141dcb98c]
imul eax, eax, 0x4dd6b17b
or eax, 0x2ce7199
imul eax, eax, 0xca22d2a2
cmp eax, 0x5977f3e3
jb 0x1400f8240
xor r8d, r8d
jmp 0x1400f8278
test al, al
jne 0x1400f844f
mov rcx, qword [r15 + 0x18]
mov eax, dword [0x141dcb9c0]
xor edx, edx
div dword [0x141dcb9c4]
mov eax, dword [0x141dcb9c8]
add eax, dword [0x141dcb9cc]
and eax, 0x54200032
or eax, 0xa353cac9
xor eax, 0x84b35ec
cmp eax, 0x9519baf2
jb 0x1400f828a
mov rax, rcx
shr rax, 0x20
mov rdx, qword [rbx + 8]
test r8b, r8b
jne 0x1400f82b7
cmp rax, rdx
jne 0x1400f83c7
mov eax, dword [0x141dcb9d0]
add eax, dword [0x141dcb9d4]
xor eax, 0x120415a
and eax, 0x61e54d5e
imul eax, eax, 0xb0982ca2
cmp eax, 0x32023faa
je 0x1400f832a
nop dword [rax + rax]
mov eax, dword [0x141dcb9d8]
add eax, dword [0x141dcb9dc]
imul edx, eax, 0xbbc17134
add edx, 0xa17a3c68
or edx, 0x2cbd07
lea r9, [rcx + 1]
mov rax, rcx
lock cmpxchg qword [r15 + 0x18], r9
sete al
cmp edx, 0x94e1964d
jbe 0x1400f8270
lea rdx, [rcx + 1]
mov rax, rcx
lock cmpxchg qword [r15 + 0x18], rdx
jmp 0x1400f82f0
mov dword [rbx + 0x10], 0
mov eax, dword [0x141dcb9a8]
or eax, dword [0x141dcb9ac]
or eax, 0x55f156f5
imul rax, rax, 0x5278938b
shr rax, 0x3e
add eax, 0x705307b5
cmp eax, 0xd687aa7f
ja 0x1400f8340
mov eax, dword [0x141dcb9b0]
and eax, dword [0x141dcb9b4]
or eax, 0x1f29bcb0
add eax, 0x74e30431
mov ecx, 0xcce7fb79
imul rcx, rax
shr rcx, 0x3f
cmp ecx, 0x4a246b72
jbe 0x1400f83a0
mov qword [rbx + 8], 0xffffffffffffffff
nop dword [rax + rax]
mov eax, dword [0x141dcb9b8]
xor eax, dword [0x141dcb9bc]
or eax, 0x21e9207
and eax, 0x6be9227
mov qword [rbx + 8], 0xffffffffffffffff
cmp eax, 0x19e68e16
jae 0x1400f83a0
jmp 0x1400f8446
mov dword [rbx + 0x10], 0x20
mov qword [rbx + 8], 0xffffffffffffffff
mov eax, dword [0x141dcb9e0]
xor edx, edx
div dword [0x141dcb9e4]
add eax, 0x9c306dc6
and eax, 0x9ac2af38
imul eax, eax, 0x169967d4
cmp eax, 0xda19f42a
jne 0x1400f8400
mov rax, qword [rdi]
nop
mov eax, dword [0x141dcb9e8]
sub eax, dword [0x141dcb9ec]
add eax, 0xd90b15d0
imul rcx, rax, 0x1bc70845
shr rcx, 0x3a
mov rax, qword [rdi]
cmp ecx, 0x26a2f278
ja 0x1400f8400
xor ecx, ecx
nop dword [rax]
test cl, cl
jne 0x1400f8430
cmp rax, 3
je 0x1400f8446
xor ecx, ecx
mov eax, 2
lock cmpxchg qword [rdi], rcx
xor eax, eax
xchg byte [rsi], al
jmp 0x1400f8ca6
mov eax, dword [0x141dcb9f0]
mov ecx, dword [0x141dcb9f4]
add eax, ecx
add eax, 0x247c72b1
xor eax, 0x1202400
or eax, 0x7689c9fa
cmp eax, 0xb6c49c9d
je 0x1400f84a8
mov eax, dword [0x141dcb9f8]
mov ecx, dword [0x141dcb9fc]
lea edx, [rax + rcx]
add edx, 0xb59eec7e
or edx, 0xdff1a67b
mfence
mov rcx, qword [r12 + 0x138]
mov rax, qword [rcx + 0x100]
cmp edx, 0x7b12636f
jne 0x1400f84bc
mfence
mov rax, qword [r12 + 0x138]
mov rax, qword [rax + 0x100]
jmp 0x1400f8473
xor edx, edx
test dl, dl
jne 0x1400f8509
mov r8d, dword [0x141dcba00]
xor r8d, dword [0x141dcba04]
or r8d, 0xa0202001
and r8d, 0xb23760e5
imul rdx, r8, 0x39ed6f47
shr rdx, 0x20
sub r8d, edx
shr r8d, 1
add r8d, edx
shr r8d, 0x1a
mfence
mov rdx, qword [rcx + 0x108]
cmp r8d, 0xd3792ef
jbe 0x1400f8515
mfence
mov rdx, qword [rcx + 0x108]
jmp 0x1400f84c2
sub rdx, rax
test rdx, rdx
jg 0x1400f85f9
mov eax, dword [0x141dcba08]
or eax, dword [0x141dcba0c]
xor eax, 0x104c800
or eax, 0xfe0202cb
add eax, 0x5b3e85aa
cmp eax, 0x8babff71
ja 0x1400f8558
mov rax, qword [r12 + 0x110]
mov rcx, qword [rax + 0x80]
xor edx, edx
test dl, dl
je 0x1400f8569
mov rax, qword [r12 + 0x110]
mov rax, qword [rax + 0x80]
jmp 0x1400f8543
mov edx, dword [0x141dcba10]
xor edx, dword [0x141dcba14]
imul rdx, rdx, 0x7711c4fd
shr rdx, 0x3c
imul edx, edx, 0xcb485336
and edx, 0xe260eee
cmp edx, 0xf5af9d8b
je 0x1400f85c1
mov edx, dword [0x141dcba18]
xor edx, dword [0x141dcba1c]
imul edx, edx, 0x9561d7fa
and edx, 0x4d74922e
xor edx, 0xbf0cbfd6
mov r8, qword [rax + 0x100]
cmp edx, 0x3897c6b9
jae 0x1400f85ca
mov rdx, qword [rax + 0x100]
jmp 0x1400f8594
mov eax, dword [0x141dcba20]
xor edx, edx
div dword [0x141dcba24]
xor r8, rcx
nop dword [rax + rax]
mov eax, dword [0x141dcba28]
xor eax, dword [0x141dcba2c]
cmp eax, 0x9e753e71
je 0x1400f85e0
cmp r8, 1
jbe 0x1400f8670
mov eax, dword [0x141dcba48]
xor eax, dword [0x141dcba4c]
imul eax, eax, 0x9c06fcb7
mov ecx, 0x9cdc86a7
imul rcx, rax
shr rcx, 0x3f
or ecx, 0x20c8b20c
cmp ecx, 0x54ed5156
jbe 0x1400f8630
lock dec qword [r15 + 0x18]
nop dword [rax + rax]
mov eax, dword [0x141dcba50]
add eax, dword [0x141dcba54]
or eax, 0x28028
and eax, 0x1602946d
lock dec qword [r15 + 0x18]
cmp eax, 0xf27a710
je 0x1400f8630
mov eax, dword [0x141dcbaf8]
imul eax, dword [0x141dcbafc]
cmp eax, 0x6e1f43a7
jne 0x1400f8b8c
jmp 0x1400f8ba1
mov eax, dword [0x141dcba30]
xor edx, edx
div dword [0x141dcba34]
imul eax, eax, 0x8d6fd8fa
add eax, 0xd5964e2
or eax, 0xb6165884
cmp eax, 0xb9030bde
jb 0x1400f8670
mov eax, dword [0x141dcba38]
or eax, dword [0x141dcba3c]
mov ecx, 0xca81f641
imul rcx, rax
shr rcx, 0x3c
add ecx, 0xdc762d38
and ecx, 0x9036286a
cmp ecx, 0x307c04
mov r12, qword [rsp + 0x30]
jne 0x1400f86d0
mov byte [r12 + 5], 1
nop dword [rax]
mov eax, dword [0x141dcba40]
sub eax, dword [0x141dcba44]
imul eax, eax, 0x26c2fb0a
mov byte [r12 + 5], 1
cmp eax, 0x1e027157
je 0x1400f86d0
xor ebp, ebp
mov r15, qword [sym.imp.api_ms_win_core_synch_l1_2_0.dll_WaitOnAddress]
mov r13d, 0x952f848d
nop
mov eax, dword [0x141dcba58]
xor eax, dword [0x141dcba5c]
imul eax, eax, 0xf53608c8
or eax, 0x91a7b37c
imul rcx, rax, 0x14d25d11
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1b
cmp eax, 0xac6bf4c6
ja 0x1400f87e0
nop word cs:[rax + rax]
mov eax, dword [0x141dcba60]
xor eax, dword [0x141dcba64]
imul eax, eax, 0x9c2dd1c1
and eax, 0xd7c6702f
mov r14d, dword [r12]
cmp eax, 0x4105f683
je 0x1400f87e0
test bpl, bpl
je 0x1400f8770
xor eax, eax
xchg byte [rsi], al
nop dword [rax + rax]
mov eax, dword [0x141dcba68]
mov ecx, dword [0x141dcba6c]
add ecx, eax
add ecx, 0xa86f392e
xor ecx, 0x3a9b536c
mov eax, 0
xchg byte [rsi], al
cmp ecx, 0xd2e09d5e
ja 0x1400f8770
nop dword [rax]
mov ecx, dword [0x141dcba70]
or ecx, dword [0x141dcba74]
imul ecx, ecx, 0xbba9d657
or ecx, 0xa22ec7e
xor ecx, 0x21993d22
cmp ecx, 0x825a5ce0
ja 0x1400f87a0
cmp al, 2
jne 0x1400f885b
test bpl, bpl
je 0x1400f87f0
jmp 0x1400f8890
mov eax, dword [r12]
jmp 0x1400f8740
mov eax, dword [0x141dcba78]
xor eax, dword [0x141dcba7c]
and eax, 0xf6dab340
xor eax, 0x8e420e08
imul r12d, eax, 0x23bcbf91
mov rcx, rsi
call qword [sym.imp.api_ms_win_core_synch_l1_2_0.dll_WakeByAddressSingle]
cmp r12d, 0x3ffbd47a
jb 0x1400f8890
mov r12, qword [rsp + 0x30]
nop word cs:[rax + rax]
mov eax, dword [0x141dcba80]
and eax, dword [0x141dcba84]
add eax, 0xc6770481
shr eax, 2
imul rax, rax, 0x40413395
shr rax, 0x3c
add eax, 0x2c283505
cmp eax, 0xcb4a3261
ja 0x1400f8830
mov eax, dword [0x141dcba88]
xor edx, edx
div dword [0x141dcba8c]
imul eax, eax, 0x1bbdcb7
add eax, 0x7e5358a7
or eax, 0x50fec184
cmp eax, 0xc810cc6c
jbe 0x1400f88a0
jmp 0x1400f88b9
mov rcx, rsi
call qword [sym.imp.api_ms_win_core_synch_l1_2_0.dll_WakeByAddressSingle]
jmp 0x1400f87f0
mov eax, dword [0x141dcba90]
imul eax, dword [0x141dcba94]
mov dword [rsp + 0x2c], r14d
cmp eax, 0x654686ea
jne 0x1400f88c0
mov dword [rsp + 0x2c], r14d
jmp 0x1400f88a0
mov eax, dword [0x141dcba98]
add eax, dword [0x141dcba9c]
imul eax, eax, 0x7e01e784
add eax, 0x101fc9fe
and eax, 0xfd27ae10
cmp eax, 0xf58ecc3f
lea rbp, [rsp + 0x2c]
ja 0x1400f89d0
nop dword [rax]
mov eax, dword [0x141dcbaa0]
and eax, dword [0x141dcbaa4]
imul r14d, eax, 0x3d3bc14a
or r14d, 0xdb204270
mov r8d, 4
mov rcx, r12
mov rdx, rbp
mov r9d, 0xffffffff
call r15
cmp r14d, 0xdc3bfbc2
je 0x1400f89d0
cmp eax, 1
mov ebp, 0
mov r14, qword [sym.imp.KERNEL32.dll_GetLastError]
je 0x1400f8996
mov eax, dword [0x141dcbaa8]
xor edx, edx
div dword [0x141dcbaac]
xor eax, 0x4020002
and eax, 0x4020202
cmp eax, 0xc9101527
jbe 0x1400f8960
call r14
nop
call r14
test bpl, bpl
jne 0x1400f8960
mov ecx, 0x82f18547
nop dword [rax]
mov eax, dword [0x141dcbab0]
and eax, dword [0x141dcbab4]
xor eax, 0x3bbf4658
imul eax, eax, 0xb0ae0176
imul rax, rcx
shr rax, 0x3f
cmp eax, 0x8c48e446
ja 0x1400f8970
mov eax, dword [0x141dcbab8]
imul eax, dword [0x141dcbabc]
xor eax, 0xca3a5ca2
imul rax, rax, 0x6fb9b87
shr rax, 0x3a
cmp eax, 0x7758964
mov dl, 1
jbe 0x1400f89f0
jmp 0x1400f8ab0
mov r8d, 4
mov rcx, r12
mov rdx, rbp
mov r9d, 0xffffffff
call r15
jmp 0x1400f88f0
mov eax, dword [0x141dcbac0]
or eax, dword [0x141dcbac4]
imul ecx, eax, 0x99e573dc
xor eax, eax
lock cmpxchg byte [rsi], dl
sete al
cmp ecx, 0x8a8e59a2
je 0x1400f8ab0
nop word [rax + rax]
mov ecx, dword [0x141dcbac8]
and ecx, dword [0x141dcbacc]
imul ecx, ecx, 0x235418d2
add ecx, 0xa249b1b4
xor ecx, 0x513765f0
cmp ecx, 0xac47ade2
jb 0x1400f8a20
nop word cs:[rax + rax]
mov ecx, dword [0x141dcbad0]
xor ecx, dword [0x141dcbad4]
imul ecx, ecx, 0x9df28d45
and ecx, 0xd7f4c317
imul rcx, r13
shr rcx, 0x3e
cmp ecx, 0xcd218b1a
je 0x1400f8a50
test al, al
je 0x1400f8abb
mov eax, dword [0x141dcbaf0]
sub eax, dword [0x141dcbaf4]
or eax, 0x656326df
imul eax, eax, 0xa16d48c2
or eax, 0x8a911d8f
cmp eax, 0xe7d19b6e
je 0x1400f8a7c
cmp byte [r12 + 5], 0
jne 0x1400f8700
jmp 0x1400f8652
xor eax, eax
lock cmpxchg byte [rsi], dl
jmp 0x1400f89f0
mov eax, dword [0x141dcbad8]
xor edx, edx
div dword [0x141dcbadc]
imul eax, eax, 0xb6c67d11
xor eax, 0x9a5153ba
cmp eax, 0x3a1ff4a2
jb 0x1400f8b39
mov r14d, dword [0x141dcbae0]
add r14d, dword [0x141dcbae4]
xor r14d, 0xc99cc597
add r14d, 0xf697f54d
mov rcx, rsi
call fcn.1400fb900
cmp r14d, 0xaf4e88ab
ja 0x1400f8b39
nop dword [rax + rax]
mov eax, dword [0x141dcbae8]
imul eax, dword [0x141dcbaec]
imul eax, eax, 0xf5c47980
add eax, 0x8ebef680
xor eax, 0x8897440
cmp eax, 0x3412976d
jb 0x1400f8b10
jmp 0x1400f8a7c
mov rcx, rsi
call fcn.1400fb900
jmp 0x1400f8adb
mov eax, dword [0x141dcb998]
xor eax, dword [0x141dcb99c]
mov ecx, 0xd724ae73
imul rcx, rax
shr rcx, 0x3d
ud2
ud2
mov dword [rbx + 0x10], 0
mov qword [rbx + 8], 0xffffffffffffffff
xor eax, eax
test al, al
je 0x1400f8bb2
mov dword [rbx + 0x10], 0
mov qword [rbx + 8], 0xffffffffffffffff
jmp 0x1400f8b8c
mov rax, qword [rdi]
cmp rax, 3
je 0x1400f8c43
mov eax, dword [0x141dcbb00]
and eax, dword [0x141dcbb04]
xor eax, 0xc41fc46
mov ecx, 0xca229839
imul rcx, rax
shr rcx, 0x3e
add ecx, 0x4e1d1ad2
cmp ecx, 0x307d84a6
jb 0x1400f8c0b
mov ecx, dword [0x141dcbb08]
or ecx, dword [0x141dcbb0c]
xor edx, edx
mov eax, 2
lock cmpxchg qword [rdi], rdx
cmp ecx, 0x91a9d0d8
jne 0x1400f8c19
xor ecx, ecx
mov eax, 2
lock cmpxchg qword [rdi], rcx
jmp 0x1400f8beb
mov eax, 0xbcc6a8eb
nop
mov ecx, dword [0x141dcbb10]
imul ecx, dword [0x141dcbb14]
add ecx, 0x5cbd1757
imul rcx, rax
shr rcx, 0x3c
cmp ecx, 0x4d1d54de
je 0x1400f8c20
xor eax, eax
xchg byte [rsi], al
nop word [rax + rax]
mov ecx, dword [0x141dcbb18]
and ecx, dword [0x141dcbb1c]
imul ecx, ecx, 0xab540718
imul rcx, rcx, 0x66ea988d
shr rcx, 0x3e
or ecx, 0x1f6afbf4
cmp ecx, 0xd7031be3
ja 0x1400f8c50
nop dword [rax + rax]
mov ecx, dword [0x141dcbb20]
sub ecx, dword [0x141dcbb24]
add ecx, 0xeef2afdc
xor ecx, 0xf9139cf7
add ecx, 0x4e2a6de
cmp ecx, 0x9eabf42b
ja 0x1400f8c80
cmp al, 2
jne 0x1400f8d0d
xor eax, eax
test al, al
je 0x1400f8cb9
mov rcx, rsi
call qword [sym.imp.api_ms_win_core_synch_l1_2_0.dll_WakeByAddressSingle]
mov rdi, qword [sym.imp.api_ms_win_core_synch_l1_2_0.dll_WakeByAddressSingle]
mov ebx, dword [0x141dcbb28]
and ebx, dword [0x141dcbb2c]
add ebx, 0xe5d9e00f
or ebx, 0x959e311b
xor ebx, 0x39fdc8c1
mov rcx, rsi
call rdi
cmp ebx, 0x6b77921f
jb 0x1400f8cc0
nop dword [rax + rax]
mov eax, dword [0x141dcbb30]
and eax, dword [0x141dcbb34]
xor eax, 0x4440c00d
or eax, 0x9ba61de2
cmp eax, 0xaae53561
jb 0x1400f8cf0
add rsp, 0x38
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret