Function at 0x1400ff880
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
push rax
mov rbp, rsp
mov rbx, rdx
mov rsi, rcx
mov eax, dword [0x141dd6640]
add eax, dword [0x141dd6644]
imul eax, eax, 0x2d059b23
cmp eax, 0xb679d731
jne 0x1400ff8bc
mov eax, 0xa0
call fcn.1400ef330
sub rsp, rax
mov ecx, 0x8f98f1b7
nop word cs:[rax + rax]
mov eax, dword [0x141dd6648]
or eax, dword [0x141dd664c]
imul edx, eax, 0x3d16022c
add edx, 0x930e67a5
imul rdx, rcx
shr rdx, 0x3f
mov eax, 0xa0
call fcn.1400ef330
sub rsp, rax
mov rdi, rsp
cmp edx, 0x7bc09523
ja 0x1400ff8d0
nop dword [rax + rax]
mov eax, dword [0x141dd6650]
imul eax, dword [0x141dd6654]
xor eax, 0xcd2c72b7
imul eax, eax, 0x4df9e833
cmp eax, 0x694b820
je 0x1400ff910
mov eax, dword [0x141ddb27c]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp dword [rax + 0x28], 0
jne 0x1400ff9f5
mov eax, dword [0x141dd6658]
add eax, dword [0x141dd665c]
imul eax, eax, 0xd31d2863
imul rcx, rax, 0x10a656b
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1f
imul eax, eax, 0x4aecc82f
cmp eax, 0x7ec84686
jbe 0x1400ff9a0
mov eax, dword [0x141ddb27c]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov dword [rax + 0x28], 1
nop
mov eax, dword [0x141dd6660]
imul eax, dword [0x141dd6664]
mov ecx, dword [0x141ddb27c]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
imul eax, eax, 0xbbc35dbc
mov dword [rcx + 0x28], 1
cmp eax, 0x5e55dd03
je 0x1400ff9a0
mov eax, dword [0x141ddb27c]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov qword [rax + 0x2c], 0
mov rax, qword [r8 + 0x50]
mov qword [rdi + 0x58], rax
movups xmm0, xmmword [r8 + 0x40]
movups xmmword [rdi + 0x48], xmm0
movups xmm0, xmmword [r8]
movups xmm1, xmmword [r8 + 0x10]
movups xmm2, xmmword [r8 + 0x20]
movups xmm3, xmmword [r8 + 0x30]
movups xmmword [rdi + 0x38], xmm3
movups xmmword [rdi + 0x28], xmm2
movups xmmword [rdi + 0x18], xmm1
movups xmmword [rdi + 8], xmm0
mov eax, dword [0x141ddb27c]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rax, [rax + 0x2c]
mov qword [rdi], rax
mov eax, dword [0x141dd6668]
xor edx, edx
div dword [0x141dd666c]
or eax, 0xa8a37ec3
imul eax, eax, 0x15095222
cmp eax, 0xaad44ccd
je 0x1400ffaa6
mov r14d, dword [0x141dd6670]
or r14d, dword [0x141dd6674]
and r14d, 0xf97f343c
mov qword [rdi + 0x60], 0
sub rsp, 0x20
lea rdx, [0x1400ced90]
mov rcx, rbx
mov r8, rdi
call fcn.140082290
add rsp, 0x20
cmp r14d, 0x1f982f98
jne 0x1400ffaca
mov qword [rdi + 0x60], 0
sub rsp, 0x20
lea rdx, [0x1400ced90]
mov rcx, rbx
mov r8, rdi
call fcn.140082290
add rsp, 0x20
jmp 0x1400ffa66
mov r14, qword [rdi]
lea rbx, [r14 + 4]
mov cl, 1
xor eax, eax
lock cmpxchg byte [r14 + 4], cl
je 0x1400ffb48
mov eax, dword [0x141dd6678]
imul eax, dword [0x141dd667c]
imul eax, eax, 0x7dd56be4
add eax, 0x67566254
or eax, 0xe5bc7532
cmp eax, 0x5866c2ca
jb 0x14010003f
mov r15d, 0x90a23c95
mov r12d, dword [0x141dd6680]
or r12d, dword [0x141dd6684]
add r12d, 0x5c9d1868
or r12d, 0xe97cbcd
imul r12, r15
shr r12, 0x3d
sub rsp, 0x20
mov rcx, rbx
call fcn.1400fbf20
add rsp, 0x20
cmp r12d, 0xa5c20ab7
ja 0x1400ffb0b
movzx ecx, byte [r14 + 5]
nop dword [rax]
mov eax, dword [0x141dd6688]
sub eax, dword [0x141dd668c]
and eax, 0xcbf74584
imul rdx, rax, 0x21d1619
shr rdx, 0x20
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 0x1b
and eax, 0xa
cmp eax, 0x8b920e8a
ja 0x1400ffb50
nop
mov eax, dword [0x141dd6690]
xor edx, edx
div dword [0x141dd6694]
xor eax, 0x5861a38c
add eax, 0x7c438c50
cmp eax, 0xaf67c653
jb 0x1400ffb80
test cl, cl
je 0x1400ffd04
mov byte [r14 + 5], 0
xor eax, eax
xchg byte [r14 + 4], al
nop word cs:[rax + rax]
mov ecx, dword [0x141dd6710]
add ecx, dword [0x141dd6714]
imul ecx, ecx, 0x3837a0e6
add ecx, 0xad08581c
cmp ecx, 0x2e39fd77
jb 0x1400ffbc0
cmp al, 2
jne 0x1400ffc60
mov eax, dword [0x141dd6718]
imul eax, dword [0x141dd671c]
imul eax, eax, 0x11320fe8
cmp eax, 0x6180fc0f
jne 0x1400ffc0f
sub rsp, 0x20
mov rcx, rbx
call qword [sym.imp.api_ms_win_core_synch_l1_2_0.dll_WakeByAddressSingle]
add rsp, 0x20
mov r14, qword [sym.imp.api_ms_win_core_synch_l1_2_0.dll_WakeByAddressSingle]
nop word cs:[rax + rax]
mov eax, dword [0x141dd6720]
imul eax, dword [0x141dd6724]
xor eax, 0x5a86f27b
imul r15d, eax, 0xb964d35d
and r15d, 0x796ded3e
sub rsp, 0x20
mov rcx, rbx
call r14
add rsp, 0x20
cmp r15d, 0x24d3105a
jb 0x1400ffc20
nop word [rax + rax]
mov eax, dword [0x141dd6728]
imul eax, dword [0x141dd672c]
add eax, 0xd067751f
or eax, 0x5c83865f
add eax, 0xa5b50884
cmp eax, 0x186998b0
jb 0x1400ffc60
mov rcx, qword [rdi + 0x60]
movups xmm0, xmmword [rdi + 0x68]
nop dword [rax + rax]
mov eax, dword [0x141dd6730]
xor edx, edx
div dword [0x141dd6734]
xor eax, 0x52349bb3
add eax, 0xa9e8afdc
or eax, 0x6fc8d3e3
cmp eax, 0x62aaabd1
jb 0x1400ffc90
cmp rcx, 1
jne 0x140100013
movups xmm1, xmmword [rdi + 0x78]
movups xmm2, xmmword [rdi + 0x88]
movups xmmword [rsi + 0x20], xmm2
movups xmmword [rsi + 0x10], xmm1
mov eax, dword [0x141dd6750]
imul eax, dword [0x141dd6754]
and eax, 0x81eea09b
imul eax, eax, 0x905ec45b
imul rax, rax, 0x5c33784d
shr rax, 0x3c
cmp eax, 0x28510276
jbe 0x1401000b0
jmp 0x1401000e0
mov r12b, 1
mov r15, qword [sym.imp.KERNEL32.dll_GetLastError]
nop
mov eax, dword [0x141dd6698]
imul eax, dword [0x141dd669c]
and eax, 0xb5c155d8
add eax, 0x46d93886
cmp eax, 0x2f086256
jb 0x1400ffff0
nop word cs:[rax + rax]
mov eax, dword [0x141dd66a0]
and eax, dword [0x141dd66a4]
and eax, 0xabe3f990
imul rcx, rax, 0x42ddc2a1
shr rcx, 0x3a
and ecx, 0xfffffff8
mov r13d, dword [r14]
mov eax, 0
xchg byte [r14 + 4], al
cmp ecx, 0xd865682b
ja 0x1400ffff0
nop word [rax + rax]
mov ecx, dword [0x141dd66a8]
imul ecx, dword [0x141dd66ac]
or ecx, 0xb898040
and ecx, 0xabdb80f0
add ecx, 0x8d53e8eb
cmp ecx, 0x8c4b333c
jb 0x1400ffd80
cmp al, 2
jne 0x1400ffdbc
sub rsp, 0x20
mov rcx, rbx
call qword [sym.imp.api_ms_win_core_synch_l1_2_0.dll_WakeByAddressSingle]
add rsp, 0x20
mov eax, dword [0x141dd66b0]
add eax, dword [0x141dd66b4]
and eax, 0x7a0e91b8
add eax, 0xa8477d68
and eax, 0x7018f898
cmp eax, 0xc9515533
jbe 0x1400ffdf0
mov dword [rbp + 4], r13d
nop word cs:[rax + rax]
mov eax, dword [0x141dd66b8]
and eax, dword [0x141dd66bc]
add eax, 0x36547dd4
xor eax, 0xd63ae507
imul eax, eax, 0x35cb45fd
mov dword [rbp + 4], r13d
cmp eax, 0xe53bddc0
je 0x1400ffdf0
sub rsp, 0x20
mov r8d, 4
mov rcx, r14
lea rdx, [rbp + 4]
mov r9d, 0xffffffff
call qword [sym.imp.api_ms_win_core_synch_l1_2_0.dll_WaitOnAddress]
add rsp, 0x20
mov ecx, dword [0x141dd66c0]
or ecx, dword [0x141dd66c4]
xor ecx, 0xd92c512
imul ecx, ecx, 0x96992ce4
or ecx, 0xd47e56e3
cmp ecx, 0x7fb1442e
nop dword [rax]
mov ecx, dword [0x141dd66c8]
and ecx, dword [0x141dd66cc]
add ecx, 0x764330d3
or ecx, 0x410a24
and ecx, 0x61430a24
cmp ecx, 0x68370bfd
je 0x1400ffe60
cmp eax, 1
je 0x1400ffee3
mov eax, dword [0x141dd66d0]
or eax, dword [0x141dd66d4]
and eax, 0x8001001
cmp eax, 0x99865363
jbe 0x1400ffeb0
sub rsp, 0x20
call r15
add rsp, 0x20
nop
mov eax, dword [0x141dd66d8]
and eax, dword [0x141dd66dc]
xor eax, 0x15f2eb2a
imul r13d, eax, 0x9c5ff101
add r13d, 0x542373d2
sub rsp, 0x20
call r15
add rsp, 0x20
cmp r13d, 0xaf6309ea
ja 0x1400ffeb0
mov eax, dword [0x141dd66e0]
sub eax, dword [0x141dd66e4]
add eax, 0xb6d16f40
or eax, 0x32706196
add eax, 0x79f32542
cmp eax, 0x2758b352
jae 0x1400fff10
xor eax, eax
lock cmpxchg byte [rbx], r12b
nop dword [rax]
mov ecx, dword [0x141dd66e8]
imul ecx, dword [0x141dd66ec]
or ecx, 0x73f1aefb
xor eax, eax
lock cmpxchg byte [rbx], r12b
sete al
cmp ecx, 0x270af45e
je 0x1400fff10
nop word cs:[rax + rax]
mov ecx, dword [0x141dd66f0]
add ecx, dword [0x141dd66f4]
and ecx, 0xbfdacda2
imul rcx, rcx, 0x3647adb9
shr rcx, 0x3d
cmp ecx, 0xd3803c8
je 0x1400fff40
test al, al
je 0x1400ffffe
mov eax, dword [0x141dd66f8]
xor eax, dword [0x141dd66fc]
add eax, 0xf3f026a5
xor eax, 0x11a0021a
and eax, 0x17b12b1b
cmp eax, 0xa7281a57
ja 0x1400fff6d
movzx ecx, byte [r14 + 5]
nop word cs:[rax + rax]
mov eax, dword [0x141dd6700]
xor edx, edx
div dword [0x141dd6704]
cmp eax, 0x5e01b30b
je 0x1400fffa0
nop word cs:[rax + rax]
mov eax, dword [0x141dd6708]
or eax, dword [0x141dd670c]
and eax, 0xca5a4fb
imul eax, eax, 0xb84cc3f4
cmp eax, 0x86040aba
je 0x1400fffc0
test cl, cl
je 0x1400ffd10
jmp 0x1400ffba7
mov eax, dword [r14]
xor eax, eax
xchg byte [r14 + 4], al
jmp 0x1400ffd40
sub rsp, 0x20
mov rcx, rbx
call fcn.1400fbf20
add rsp, 0x20
jmp 0x1400fff6d
test rcx, rcx
jne 0x140100054
ud2
sub rsp, 0x20
mov rcx, rbx
call fcn.1400fbf20
add rsp, 0x20
jmp 0x1400ffb05
cmp rcx, 2
jne 0x140100086
mov eax, 0x81208681
nop
mov ecx, dword [0x141dd6748]
imul ecx, dword [0x141dd674c]
imul rcx, rax
shr rcx, 0x3b
cmp ecx, 0x231c0798
je 0x140100060
sub rsp, 0x20
call fcn.140073830
mov eax, dword [0x141dd6738]
sub eax, dword [0x141dd673c]
or eax, 0x97027702
add eax, 0x3097c958
imul rax, rax, 0x49d6e5dd
shr rax, 0x3d
cmp eax, 0x1afb52fc
ja 0x140100086
ud2
mov eax, dword [0x141dd6758]
xor eax, dword [0x141dd675c]
imul eax, eax, 0x12718657
mov ecx, 0xb3a6eac5
imul rcx, rax
shr rcx, 0x3d
or ecx, 0x4f18002b
movups xmmword [rsi], xmm0
cmp ecx, 0x54ff59cd
jne 0x1401000f0
movups xmmword [rsi], xmm0
jmp 0x1401000b0
mov eax, dword [0x141dd6760]
xor eax, dword [0x141dd6764]
and eax, 0x880c210
xor eax, 0x89a58800
or eax, 0x5458356d
cmp eax, 0x6be9cdb9
jb 0x1401000f0
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret