Function at 0x140100100
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xc8
mov rax, rdx
mov qword [rsp + 0x28], rcx
nop dword [rax + rax]
mov ecx, dword [0x141dd7860]
xor ecx, dword [0x141dd7864]
and ecx, 0xf2494042
imul ecx, ecx, 0xfbd60f43
xor ecx, 0xfcde707d
cmp ecx, 0xddf0a8cc
ja 0x140100120
mov ecx, dword [0x141ddc4fc]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp dword [rcx + 0x28], 0
jne 0x1401001b0
mov ecx, dword [0x141ddc4fc]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
mov dword [rcx + 0x28], 1
mov qword [rcx + 0x2c], 0
nop word [rax + rax]
mov ecx, dword [0x141dd7868]
and ecx, dword [0x141dd786c]
imul ecx, ecx, 0x69967800
or ecx, 0x717c1e32
cmp ecx, 0x75166663
jb 0x140100190
mov ecx, dword [0x141dd7870]
and ecx, dword [0x141dd7874]
imul ecx, ecx, 0x51269efc
add ecx, 0x39772c77
cmp ecx, 0x68fe356b
jb 0x14010026a
mov rcx, qword [r8 + 0x50]
mov qword [rsp + 0x88], rcx
movups xmm0, xmmword [r8 + 0x40]
movups xmmword [rsp + 0x78], xmm0
movups xmm0, xmmword [r8]
movups xmm1, xmmword [r8 + 0x10]
movups xmm2, xmmword [r8 + 0x20]
movups xmm3, xmmword [r8 + 0x30]
movups xmmword [rsp + 0x68], xmm3
movups xmmword [rsp + 0x58], xmm2
movups xmmword [rsp + 0x48], xmm1
movups xmmword [rsp + 0x38], xmm0
mov ecx, dword [0x141ddc4fc]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
mov edx, dword [0x141dd7878]
xor edx, dword [0x141dd787c]
or edx, 0x48337b82
add edx, 0x16edd9d9
shr edx, 2
imul rdx, rdx, 0x2479e72b
shr rdx, 0x39
lea rcx, [rcx + 0x2c]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x90], 0
cmp edx, 0x4f1f5a33
jbe 0x1401002d7
mov rcx, qword [r8 + 0x50]
mov qword [rsp + 0x88], rcx
movups xmm0, xmmword [r8 + 0x40]
movups xmmword [rsp + 0x78], xmm0
movups xmm0, xmmword [r8]
movups xmm1, xmmword [r8 + 0x10]
movups xmm2, xmmword [r8 + 0x20]
movups xmm3, xmmword [r8 + 0x30]
movups xmmword [rsp + 0x68], xmm3
movups xmmword [rsp + 0x58], xmm2
movups xmmword [rsp + 0x48], xmm1
movups xmmword [rsp + 0x38], xmm0
mov ecx, dword [0x141ddc4fc]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
lea rcx, [rcx + 0x2c]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x90], 0
jmp 0x1401001d4
lea rdx, [0x1400d0270]
lea r8, [rsp + 0x30]
mov rcx, rax
call fcn.140084360
mov rbx, qword [rsp + 0x30]
lea rdi, [rbx + 4]
mov cl, 1
xor eax, eax
lock cmpxchg byte [rbx + 4], cl
jne 0x14010070f
nop word cs:[rax + rax]
mov eax, dword [0x141dd7888]
imul eax, dword [0x141dd788c]
add eax, 0x347e3353
or eax, 0x5440001
and eax, 0x654d2bab
cmp eax, 0x7fb0fae2
ja 0x140100310
movzx eax, byte [rbx + 5]
xor ecx, ecx
nop dword [rax]
test cl, cl
jne 0x140100340
test al, al
je 0x1401003db
mov byte [rbx + 5], 0
xor eax, eax
xchg byte [rbx + 4], al
nop word cs:[rax + rax]
mov ecx, dword [0x141dd7900]
add ecx, dword [0x141dd7904]
or ecx, 0x2b171270
imul ecx, ecx, 0x28964807
cmp ecx, 0x309efbf3
je 0x140100360
cmp al, 2
jne 0x14010038d
mov rcx, rdi
call qword [sym.imp.api_ms_win_core_synch_l1_2_0.dll_WakeByAddressSingle]
mov rax, qword [rsp + 0x90]
cmp rax, 1
jne 0x140100757
movups xmm0, xmmword [rsp + 0x98]
movups xmm1, xmmword [rsp + 0xa8]
movups xmm2, xmmword [rsp + 0xb8]
mov rax, qword [rsp + 0x28]
movups xmmword [rax + 0x20], xmm2
movups xmmword [rax + 0x10], xmm1
movups xmmword [rax], xmm0
add rsp, 0xc8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
xor r12d, r12d
mov r15d, 0x94c32715
mov r13d, 0x90083a05
lea r14, [rsp + 0x24]
mov rsi, qword [sym.imp.api_ms_win_core_synch_l1_2_0.dll_WaitOnAddress]
nop word cs:[rax + rax]
test r12b, r12b
jne 0x1401004a0
nop dword [rax]
mov ecx, dword [0x141dd7890]
or ecx, dword [0x141dd7894]
or ecx, 0x328000
and ecx, 0x32a001
mov ebp, dword [rbx]
mov eax, 0
xchg byte [rbx + 4], al
cmp ecx, 0x9ae8cca2
ja 0x1401004a0
nop word [rax + rax]
mov ecx, dword [0x141dd7898]
or ecx, dword [0x141dd789c]
imul ecx, ecx, 0x8985e40e
add ecx, 0x8a9199d1
imul rcx, r15
shr rcx, 0x3f
cmp ecx, 0xee391bee
ja 0x140100440
cmp al, 2
jne 0x140100518
mov eax, dword [0x141dd78a0]
sub eax, dword [0x141dd78a4]
add eax, 0xda298a1b
xor eax, 0x443ee2b3
cmp eax, 0xdb9f9728
jbe 0x1401004b0
jmp 0x1401006d0
mov eax, dword [rbx]
xor eax, eax
xchg byte [rbx + 4], al
jmp 0x140100410
mov eax, dword [0x141dd78a8]
sub eax, dword [0x141dd78ac]
imul r12d, eax, 0x2ceb8e35
xor r12d, 0x440085c
and r12d, 0x64624a5c
mov rcx, rdi
call qword [sym.imp.api_ms_win_core_synch_l1_2_0.dll_WakeByAddressSingle]
cmp r12d, 0xca9cdc40
je 0x1401006d0
xor r12d, r12d
nop word [rax + rax]
mov eax, dword [0x141dd78b0]
add eax, dword [0x141dd78b4]
imul rax, rax, 0x3418a8b
shr rax, 0x38
add eax, 0x52ab6aee
or eax, 0xc1f3705c
cmp eax, 0x2a086818
je 0x1401004f0
test r12b, r12b
je 0x140100530
mov dword [rsp + 0x24], ebp
nop word cs:[rax + rax]
mov eax, dword [0x141dd78b8]
and eax, dword [0x141dd78bc]
xor eax, 0x225e112d
imul eax, eax, 0xd94196b4
imul rax, rax, 0x12af7e0b
shr rax, 0x3c
mov dword [rsp + 0x24], ebp
cmp eax, 0x128732c8
je 0x140100530
mov eax, dword [0x141dd78c0]
and eax, dword [0x141dd78c4]
and eax, 0xe60fa577
imul eax, eax, 0x63bd93e7
cmp eax, 0x80535352
jne 0x140100590
mov r8d, 4
mov rcx, rbx
mov rdx, r14
mov r9d, 0xffffffff
call rsi
nop
mov eax, dword [0x141dd78c8]
and eax, dword [0x141dd78cc]
imul rax, r13
shr rax, 0x3e
imul ebp, eax, 0xece3d457
add ebp, 0xe96c71c5
mov r8d, 4
mov rcx, rbx
mov rdx, r14
mov r9d, 0xffffffff
call rsi
cmp ebp, 0xf08eccfe
ja 0x140100590
mov ecx, dword [0x141dd78d0]
imul ecx, dword [0x141dd78d4]
imul ecx, ecx, 0xc428d712
cmp ecx, 0x856f80e3
nop word cs:[rax + rax]
mov ecx, dword [0x141dd78d8]
sub ecx, dword [0x141dd78dc]
imul ecx, ecx, 0x8f0e43f3
add ecx, 0x1e08dc65
cmp ecx, 0x2540cbb9
jb 0x1401005f0
cmp eax, 1
je 0x14010061b
call qword [sym.imp.KERNEL32.dll_GetLastError]
xor eax, eax
mov cl, 1
lock cmpxchg byte [rdi], cl
sete al
mov ecx, dword [str.Lh]
imul ecx, dword [0x141dd78e4]
or ecx, 0xfe26c9ca
imul rcx, rcx, 0x46cc37c3
shr rcx, 0x3e
or ecx, 0x47fb599a
cmp ecx, 0x1091f5d8
je 0x140100626
nop word cs:[rax + rax]
mov ecx, dword [0x141dd78e8]
add ecx, dword [0x141dd78ec]
or ecx, 0x2ae64c3
add ecx, 0x284a23dd
or ecx, 0xfde8f053
cmp ecx, 0xce6d2208
jb 0x140100660
test al, al
je 0x1401006de
movzx eax, byte [rbx + 5]
nop
mov ecx, dword [0x141dd78f8]
xor ecx, dword [0x141dd78fc]
or ecx, 0x33d9199
add ecx, 0xd4d2ff23
and ecx, 0x4c426096
cmp ecx, 0xe975f912
je 0x140100690
test al, al
je 0x140100400
jmp 0x14010034c
mov rcx, rdi
call qword [sym.imp.api_ms_win_core_synch_l1_2_0.dll_WakeByAddressSingle]
jmp 0x1401004b0
mov rcx, rdi
call fcn.1400fc860
nop word cs:[rax + rax]
mov eax, dword [0x141dd78f0]
xor edx, edx
div dword [0x141dd78f4]
add eax, 0xae6b1a43
cmp eax, 0xc32df914
ja 0x1401006f0
jmp 0x14010068a
mov rcx, rdi
call fcn.1400fc860
nop word [rax + rax]
mov eax, dword [0x141dd7880]
and eax, dword [0x141dd7884]
imul rcx, rax, 0x1c053cd1
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1e
or eax, 0xc9be8fd1
imul eax, eax, 0x25844f5c
cmp eax, 0x7294e9f9
je 0x140100720
jmp 0x140100310
test rax, rax
jne 0x14010075e
ud2
mov eax, dword [0x141dd7908]
add eax, dword [0x141dd790c]
or eax, 0x3e42c1f
add eax, 0x4a7181f8
or eax, 0xc14239ec
cmp eax, 0xf3db3f58
ja 0x14010075e
mov eax, dword [0x141dd7910]
xor eax, dword [0x141dd7914]
add eax, 0x907879a3
and eax, 0xf856709e
xor eax, 0xc9faefc1
cmp eax, 0x2c310480
jae 0x1401007a7
call fcn.140075330
mov esi, dword [0x141dd7918]
sub esi, dword [0x141dd791c]
or esi, 0xc392f61a
add esi, 0xe1de6607
and esi, 0xacd001a1
call fcn.140075330
cmp esi, 0x9aef6d49
jb 0x1401007a7
jmp 0x14010075c