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

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x18
lea rbp, [rsp + 0x10]
mov rdi, r9
mov rsi, r8
mov rbx, rdx
mov eax, dword [0x141f38c70]
and eax, dword [0x141f38c74]
mov r12, rcx
add eax, 0x2dcf6a3d
or eax, 0x676eed02
cmp eax, 0x277eef97
jae 0x1400fdde0
mov eax, 0x10
call fcn.1400f4d10
sub rsp, rax
nop dword [rax + rax]
mov ecx, dword [0x141f38c78]
imul ecx, dword [0x141f38c7c]
xor ecx, 0xaaa1e484
add ecx, 0x7ddc27af
or ecx, 0x66b16c97
mov eax, 0x10
call fcn.1400f4d10
sub rsp, rax
mov r14, rsp
cmp ecx, 0xeec13363
ja 0x1400fdde0
mov rcx, qword [rbx]
mov edx, 1
xor eax, eax
lock cmpxchg qword [rsi], rdx
jne 0x1400fe4d5
xor eax, eax
nop
test al, al
jne 0x1400fde30
cmp rcx, qword [r12 + 0x10]
jae 0x1400fdef5
mov eax, dword [0x141f38c80]
xor edx, edx
div dword [0x141f38c84]
nop dword [rax]
mov eax, dword [0x141f38c88]
xor edx, edx
div dword [0x141f38c8c]
add eax, 0xd88f2064
imul rax, rax, 0x437c4053
shr rax, 0x3d
cmp eax, 0xf9ba5c5f
ja 0x1400fde50
mov rdx, qword [r12 + 8]
shl rcx, 7
mov r8b, 1
xor eax, eax
lock cmpxchg byte [rdx + rcx + 4], r8b
lea r15, [rdx + rcx]
lea rax, [rdx + rcx + 4]
mov qword [rbp], rax
sete al
nop word [rax + rax]
mov ecx, dword [0x141f38c90]
xor ecx, dword [0x141f38c94]
imul ecx, ecx, 0x9888dfe8
and ecx, 0x28dfefc0
imul ecx, ecx, 0x2aac779a
cmp ecx, 0x2c91f49a
jb 0x1400fdea0
test al, al
jne 0x1400fdf4f
mov eax, dword [str.g:_X]
xor edx, edx
div dword [0x141f38c9c]
or eax, 0x92050a34
and eax, 0xde354e3d
imul eax, eax, 0x105c4ce9
cmp eax, 0x72e8fcb8
jne 0x1400fdf06
jmp 0x1400fdf3c
ud2
mov eax, dword [0x141f38ca0]
xor edx, edx
div dword [0x141f38ca4]
imul r13d, eax, 0xcad726fa
or r13d, 0x38d9f933
sub rsp, 0x20
mov rcx, qword [rbp]
call fcn.140101410
add rsp, 0x20
cmp r13d, 0xd5ffaabc
jne 0x1400fdf4f
sub rsp, 0x20
mov rcx, qword [rbp]
call fcn.140101410
add rsp, 0x20
jmp 0x1400fdf06
mov eax, dword [0x141f38ca8]
sub eax, dword [0x141f38cac]
imul eax, eax, 0xbb56a010
or eax, 0xfdefe7db
cmp eax, 0xbb7cb3cd
je 0x1400fdf9e
mov eax, dword [0x141f38cb0]
and eax, dword [0x141f38cb4]
and eax, 0xe1564e23
imul ecx, eax, 0x6c7c634c
mov edx, 2
mov eax, 1
lock cmpxchg qword [rsi], rdx
sete al
cmp ecx, 0xf06e446
jae 0x1400fdfb0
mov ecx, 2
mov eax, 1
lock cmpxchg qword [rsi], rcx
jmp 0x1400fdf6d
mov ecx, dword [0x141f38cb8]
or ecx, dword [0x141f38cbc]
or ecx, 0xaef87124
imul rcx, rcx, 0x12e8dd03
shr rcx, 0x3c
or ecx, 0x9c298550
cmp ecx, 0xbcb47898
ja 0x1400fdfb0
test al, al
je 0x1400fe1e0
nop word cs:[rax + rax]
mov eax, dword [0x141f38cc0]
or eax, dword [0x141f38cc4]
imul eax, eax, 0x41f25b37
add eax, 0xebf551e7
xor eax, 0x4c3086c5
cmp eax, 0xc7977dcb
ja 0x1400fdff0
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x1400fe020
jmp 0x1400fe0a9
mov eax, dword [0x141f38cf8]
sub eax, dword [0x141f38cfc]
or eax, 0x2c480fc
imul eax, eax, 0x9d37f7e5
xor eax, 0xd1b19e9f
cmp eax, 0x905ba431
jae 0x1400fe070
lea rdx, [rcx + 1]
mov rax, rcx
lock cmpxchg qword [r12 + 0x18], rdx
nop word cs:[rax + rax]
mov edx, dword [0x141f38d00]
sub edx, dword [0x141f38d04]
add edx, 0x69f80816
and edx, 0x42f1e127
lea r8, [rcx + 1]
mov rax, rcx
lock cmpxchg qword [r12 + 0x18], r8
sete al
cmp edx, 0xa7810cb
ja 0x1400fe070
test al, al
jne 0x1400fe262
mov eax, dword [0x141f38cd8]
or eax, dword [0x141f38cdc]
or eax, 0x67a422f7
imul eax, eax, 0x7a4ce272
cmp eax, 0x3ccf41a3
jae 0x1400fe0d0
mov rax, qword [r12 + 0x18]
nop dword [rax]
mov eax, dword [0x141f38ce0]
sub eax, dword [0x141f38ce4]
imul eax, eax, 0x593a7abb
and eax, 0x9b6726e0
add eax, 0x3d0acfa5
mov rcx, qword [r12 + 0x18]
cmp eax, 0x41cced9
jb 0x1400fe0d0
mov rax, rcx
shr rax, 0x20
mov edx, dword [0x141f38ce8]
and edx, dword [0x141f38cec]
shr edx, 3
imul rdx, rdx, 0x1291d555
shr rdx, 0x37
imul edx, edx, 0xd45dba87
cmp edx, 0xd3827323
je 0x1400fe0ff
mov rdx, qword [rbx + 8]
nop dword [rax + rax]
mov r8d, dword [0x141f38cf0]
and r8d, dword [0x141f38cf4]
add r8d, 0x1b7b4ef9
cmp r8d, 0x5cb3c5b
jb 0x1400fe130
cmp rax, rdx
je 0x1400fe030
mov dword [rbx + 0x10], 0x20
mov qword [rbx + 8], 0xffffffffffffffff
mov rax, qword [rsi]
mov r8, qword [rbp]
nop dword [rax]
mov ecx, dword [0x141f38d08]
sub ecx, dword [0x141f38d0c]
add ecx, 0x3d1d0f55
imul rcx, rcx, 0x5ffcdfb
shr rcx, 0x3a
imul ecx, ecx, 0x8427be6f
cmp ecx, 0xc98fe429
je 0x1400fe170
cmp rax, 3
je 0x1400fe250
xor ecx, ecx
mov eax, 2
lock cmpxchg qword [rsi], rcx
nop word cs:[rax + rax]
mov eax, dword [0x141f38de0]
imul eax, dword [0x141f38de4]
add eax, 0x58195fe9
or eax, 0x889a6665
cmp eax, 0x5c17816a
je 0x1400fe1c0
jmp 0x1400fe250
mov dword [rbx + 0x10], 0
mov eax, dword [0x141f38cc8]
xor eax, dword [0x141f38ccc]
imul eax, eax, 0xb45d2b39
or eax, 0x78120dd8
imul eax, eax, 0xd11c2c21
cmp eax, 0xd9e01191
jae 0x1400fe213
mov qword [rbx + 8], 0xffffffffffffffff
mov eax, 0x82edd549
mov r8, qword [rbp]
nop dword [rax]
mov ecx, dword [0x141f38cd0]
or ecx, dword [0x141f38cd4]
imul ecx, ecx, 0x25c466ff
add ecx, 0xd32e01b1
imul rcx, rax
shr rcx, 0x3f
mov qword [rbx + 8], 0xffffffffffffffff
cmp ecx, 0xf818aa63
ja 0x1400fe220
xor eax, eax
xchg byte [r8], al
cmp al, 2
je 0x1400fe499
jmp 0x1400fe4d5
mfence
mov rcx, qword [rdi + 0x138]
mov rax, qword [rcx + 0x100]
mfence
mov edx, dword [0x141f38d10]
imul edx, dword [0x141f38d14]
xor edx, 0xc772bece
imul edx, edx, 0x2ba11c8f
imul r8, rdx, 0x34b6a299
shr r8, 0x20
sub edx, r8d
shr edx, 1
add edx, r8d
shr edx, 0x1f
cmp edx, 0x22aed52c
jbe 0x1400fe2c0
mov rdx, qword [rcx + 0x108]
nop word cs:[rax + rax]
mov r8d, dword [0x141f38d18]
or r8d, dword [0x141f38d1c]
or r8d, 0x4a4661f5
mov rdx, qword [rcx + 0x108]
cmp r8d, 0xb4bed068
je 0x1400fe2c0
sub rdx, rax
test rdx, rdx
jg 0x1400fe33b
mov rax, qword [rdi + 0x110]
mov rcx, qword [rax + 0x80]
mov rax, qword [rax + 0x100]
xor rax, rcx
nop word cs:[rax + rax]
mov ecx, dword [0x141f38d20]
imul ecx, dword [0x141f38d24]
add ecx, 0x8976d642
or ecx, 0x651e3b1f
cmp ecx, 0xedc82a04
jb 0x1400fe310
cmp rax, 1
jbe 0x1400fe4f0
mov eax, dword [0x141f38d40]
or eax, dword [0x141f38d44]
imul eax, eax, 0xfe3e40d6
add eax, 0x5d1c20ca
or eax, 0xe8817d4a
cmp eax, 0x393cbd26
jae 0x1400fe364
lock dec qword [r12 + 0x18]
xor eax, eax
nop word cs:[rax + rax]
lock dec qword [r12 + 0x18]
test al, al
jne 0x1400fe370
mov r8, qword [rbp]
nop
mov eax, dword [0x141f38d48]
or eax, dword [0x141f38d4c]
xor eax, 0x15b77ebd
imul eax, eax, 0xc4589b00
cmp eax, 0xc612b698
jb 0x1400fe380
mov eax, dword [0x141f38db8]
or eax, dword [0x141f38dbc]
add eax, 0x3367884a
or eax, 0x3dcc7d47
xor eax, 0x2239095e
cmp eax, 0xfffa79f8
jbe 0x1400fe3cf
mov dword [rbx + 0x10], 0
mov qword [rbx + 8], 0xffffffffffffffff
xor eax, eax
nop word cs:[rax + rax]
mov dword [rbx + 0x10], 0
mov qword [rbx + 8], 0xffffffffffffffff
test al, al
jne 0x1400fe3e0
mov eax, dword [0x141f38dc0]
sub eax, dword [0x141f38dc4]
or eax, 0x12465209
xor eax, 0x2404600
or eax, 0x6d88a976
cmp eax, 0x5fe78bf9
jne 0x1400fe420
mov rax, qword [rsi]
nop dword [rax + rax]
mov ecx, dword [0x141f38dc8]
and ecx, dword [0x141f38dcc]
add ecx, 0x196f5a6
and ecx, 0x4569ffaa
mov rax, qword [rsi]
cmp ecx, 0x5e7848fa
je 0x1400fe420
cmp rax, 3
je 0x1400fe464
xor ecx, ecx
mov eax, 2
lock cmpxchg qword [rsi], rcx
nop word cs:[rax + rax]
test cl, cl
jne 0x1400fe460
xor ecx, ecx
xchg byte [r8], cl
nop dword [rax]
mov eax, dword [0x141f38dd0]
xor edx, edx
div dword [0x141f38dd4]
add eax, 0x66a9c9c4
and eax, 0xcb12c8bb
add eax, 0x4b17db7e
cmp eax, 0x475d31b3
jb 0x1400fe470
cmp cl, 2
jne 0x1400fe4d5
sub rsp, 0x20
mov rcx, r8
call qword [sym.imp.api_ms_win_core_synch_l1_2_0.dll_WakeByAddressSingle]
add rsp, 0x20
nop word [rax + rax]
mov eax, dword [0x141f38dd8]
xor edx, edx
div dword [0x141f38ddc]
and eax, 0x75cb3231
xor eax, 0x7b055faf
imul eax, eax, 0xe77904ee
cmp eax, 0x3ca9d5d3
jb 0x1400fe4b0
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov eax, dword [0x141f38d28]
sub eax, dword [0x141f38d2c]
or eax, 0xc6ec5fb
add eax, 0x6b60dcfb
and eax, 0x4158d098
cmp eax, 0x950db6ba
je 0x1400fe4f0
mov eax, dword [0x141f38d30]
or eax, dword [0x141f38d34]
mov ecx, 0xb39e1d87
imul rcx, rax
shr rcx, 0x3a
xor ecx, 0xf2c8532d
add ecx, 0xe708f6bc
cmp ecx, 0x5e34404c
jae 0x1400fe544
mov byte [r15 + 5], 1
xor eax, eax
nop word cs:[rax + rax]
mov byte [r15 + 5], 1
test al, al
jne 0x1400fe550
nop dword [rax]
mov eax, dword [0x141f38d38]
xor edx, edx
div dword [0x141f38d3c]
imul eax, eax, 0x5be3f369
imul rax, rax, 0x4668d283
shr rax, 0x3d
or eax, 0xb3f31aa6
cmp eax, 0xbb4e9644
je 0x1400fe560
mov rdi, qword [sym.imp.api_ms_win_core_synch_l1_2_0.dll_WakeByAddressSingle]
mov r13, qword [sym.imp.api_ms_win_core_synch_l1_2_0.dll_WaitOnAddress]
mov qword [rbp - 8], rbx
jmp 0x1400fe5ab
cmp byte [r15 + 5], 0
je 0x1400fe39e
mov r12d, dword [r15]
xor eax, eax
xchg byte [r15 + 4], al
mov ecx, dword [0x141f38d50]
xor ecx, dword [0x141f38d54]
cmp ecx, 0xb275d83b
je 0x1400fe5b4
cmp al, 2
jne 0x1400fe658
mov eax, dword [0x141f38d58]
imul eax, dword [0x141f38d5c]
imul eax, eax, 0xa7a5c012
add eax, 0xab0f672a
cmp eax, 0xc2d1a847
mov rbx, rdi
ja 0x1400fe820
nop word cs:[rax + rax]
mov eax, dword [0x141f38d60]
xor edx, edx
div dword [0x141f38d64]
imul edi, eax, 0xacbf310c
and edi, 0xec2a8150
xor edi, 0xfd9a4b97
sub rsp, 0x20
mov rcx, qword [rbp]
call rbx
add rsp, 0x20
cmp edi, 0x87c91aea
ja 0x1400fe820
mov rbx, qword [rbp - 8]
nop
mov eax, dword [0x141f38d68]
or eax, dword [0x141f38d6c]
and eax, 0x68904c6e
cmp eax, 0xdbc43b56
je 0x1400fe640
mov eax, dword [0x141f38d70]
or eax, dword [0x141f38d74]
mov ecx, 0xa6b59173
imul rax, rcx
shr rax, 0x3f
or eax, 0x82fb1c94
cmp eax, 0xb03363cb
jbe 0x1400fe680
mov dword [r14], r12d
mov eax, dword [str.SZvc_]
and eax, dword [0x141f38d7c]
imul eax, eax, 0xd241a9ce
and eax, 0xad173806
imul eax, eax, 0xff79b783
mov dword [r14], r12d
cmp eax, 0x11a361a6
jb 0x1400fe680
mov eax, dword [0x141f38d80]
mov ecx, dword [0x141f38d84]
add eax, ecx
add eax, 0xf2ebdb5b
cmp eax, 0x4ad89d85
jae 0x1400fe6de
sub rsp, 0x20
mov r8d, 4
mov rcx, r15
mov rdx, r14
mov r9d, 0xffffffff
call r13
add rsp, 0x20
mov r12, qword [rbp]
nop word cs:[rax + rax]
mov edi, dword [0x141f38d88]
imul edi, dword [0x141f38d8c]
add edi, 0xd079117b
or edi, 0x13ff1b93
sub rsp, 0x20
mov r8d, 4
mov rcx, r15
mov rdx, r14
mov r9d, 0xffffffff
call r13
add rsp, 0x20
cmp edi, 0x6acae395
ja 0x1400fe6f0
nop
mov ecx, dword [0x141f38d90]
or ecx, dword [0x141f38d94]
add ecx, 0x69174cc1
or ecx, 0x153519c
cmp ecx, 0x95a85c61
je 0x1400fe730
cmp eax, 1
mov rdi, qword [sym.imp.api_ms_win_core_synch_l1_2_0.dll_WakeByAddressSingle]
mov r8, r12
je 0x1400fe783
sub rsp, 0x20
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r8, r12
add rsp, 0x20
mov eax, dword [0x141f38d98]
and eax, dword [0x141f38d9c]
cmp eax, 0x879923f7
je 0x1400fe770
xor eax, eax
mov cl, 1
lock cmpxchg byte [r8], cl
sete al
mov ecx, dword [0x141f38da0]
and ecx, dword [0x141f38da4]
imul ecx, ecx, 0xbbe2e595
add ecx, 0xdfe2f827
cmp ecx, 0x5870487b
jb 0x1400fe78f
test al, al
jne 0x1400fe5a0
mov eax, dword [0x141f38da8]
or eax, dword [0x141f38dac]
xor eax, 0x24006020
and eax, 0x2c807bae
add eax, 0xc323aaa5
cmp eax, 0x75ac628b
jb 0x1400fe833
mov edi, dword [0x141f38db0]
imul edi, dword [0x141f38db4]
add edi, 0xae7f7297
and edi, 0x67c76bb2
add edi, 0xd1abae06
sub rsp, 0x20
mov rcx, r8
call fcn.140101410
mov r8, r12
add rsp, 0x20
cmp edi, 0xc8120bd9
mov rdi, qword [sym.imp.api_ms_win_core_synch_l1_2_0.dll_WakeByAddressSingle]
ja 0x1400fe7d9
jmp 0x1400fe5a0
sub rsp, 0x20
mov rcx, qword [rbp]
call rbx
add rsp, 0x20
jmp 0x1400fe600
sub rsp, 0x20
mov rcx, r8
call fcn.140101410
mov r8, r12
add rsp, 0x20
jmp 0x1400fe7d9