Function at 0x140091170
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x458
mov qword [rsp + 0x40], 0
mov qword [rsp + 0x48], 2
mov eax, dword [0x141dcffc0]
add eax, dword [0x141dcffc4]
xor eax, 0x20004858
and eax, 0x3342687d
imul eax, eax, 0x904f4c74
cmp eax, 0x31cdf231
jae 0x1400911c1
mov qword [rsp + 0x50], 0
mov qword [rsp + 0x30], rcx
nop word cs:[rax + rax]
mov eax, dword [0x141dcffc8]
and eax, dword [str.__2]
add eax, 0x26d928f8
or eax, 0xb9bb15bf
mov qword [rsp + 0x50], 0
cmp eax, 0xb44e0760
jb 0x1400911d0
mov r15d, 0x200
mov eax, 2
mov qword [rsp + 0x28], rax
mov esi, 0xffffffff
xor edi, edi
mov r13d, 0xcdbce6d9
xor ebx, ebx
xor r14d, r14d
nop dword [rax + rax]
mov eax, dword [0x141dcffd0]
or eax, dword [0x141dcffd4]
imul eax, eax, 0x8198cd00
cmp eax, 0x62c827b7
je 0x140091220
cmp r15, 0x201
jae 0x140091260
mov eax, 0x200
mov qword [rsp + 0x38], rax
lea rbp, [rsp + 0x58]
mov r12, r15
jmp 0x1400912ed
test dil, dil
jne 0x140091260
sub r15, r14
mov rax, rbx
sub rax, r14
cmp r15, rax
ja 0x14009148b
mov eax, dword [0x141dcffd8]
mov ecx, dword [0x141dcffdc]
add eax, ecx
add eax, 0xe1623b7f
or eax, 0x11ff1e5d
cmp eax, 0xa8116377
jne 0x1400912b0
cmp rbx, rsi
mov eax, 0xffffffff
cmovb rax, rbx
mov qword [rsp + 0x50], rax
nop word [rax + rax]
mov eax, dword [0x141dcffe0]
xor eax, dword [0x141dcffe4]
xor eax, 0x561d8853
imul eax, eax, 0x8315a63a
cmp rbx, rsi
mov r14d, 0xffffffff
cmovb r14, rbx
mov qword [rsp + 0x50], r14
cmp eax, 0xaf369ba4
je 0x1400912b0
mov qword [rsp + 0x38], r14
mov rbp, qword [rsp + 0x28]
mov r12, r14
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetLastError]
xor ecx, ecx
mov rsi, rbp
mov rdx, rbp
mov r8d, r12d
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
mov ebp, eax
test eax, eax
jne 0x14009131a
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x140091593
mov r15d, ebp
cmp r12, r15
jne 0x140091410
mov eax, dword [0x141dd0008]
xor edx, edx
div dword [0x141dd000c]
and eax, 0x884c3
or eax, 0xf5f74238
xor eax, 0xe96f31c2
cmp eax, 0x3d6d70b0
mov r15, qword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, 0xffffffff
jbe 0x140091360
call r15
nop dword [rax]
call r15
test dil, dil
jne 0x140091360
test dil, dil
jne 0x140091368
mov edx, 0x9970bae3
nop word cs:[rax + rax]
mov ecx, dword [0x141dd0010]
xor ecx, dword [0x141dd0014]
xor ecx, 0xd128bca7
cmp ecx, 0x61b77c38
jb 0x140091380
cmp eax, 0x7a
jne 0x1400915b1
lea rax, [r12 + r12]
nop word [rax + rax]
mov ecx, dword [0x141dd0020]
xor ecx, dword [0x141dd0024]
imul ecx, ecx, 0xbc9cf8e1
imul rcx, rdx
shr rcx, 0x3d
and ecx, 1
cmp ecx, 0xdd588fa4
ja 0x1400913b0
mov ecx, dword [str.Xi_LQ]
add ecx, dword [0x141dd002c]
imul rcx, rcx, 0x1813bd6d
shr rcx, 0x3c
add ecx, 0x13bb76e1
or ecx, 0xb724a5b0
cmp r12, 0x7fffffff
mov r15, rax
cmova r15, rsi
cmp ecx, 0xb6d8b176
je 0x1400913d5
jmp 0x140091460
mov rbp, rsi
nop word cs:[rax + rax]
mov eax, dword [0x141dd0018]
imul eax, dword [0x141dd001c]
imul eax, eax, 0x61984386
add eax, 0x7ef6a760
or eax, 0x6bd6e799
cmp eax, 0x62804225
je 0x140091420
nop word cs:[rax + rax]
test dil, dil
jne 0x140091450
cmp r12, r15
jae 0x1400914be
mov esi, 0xffffffff
nop
mov eax, dword [0x141dd0030]
imul eax, dword [0x141dd0034]
or eax, 0x6faea8f1
imul rax, r13
shr rax, 0x3e
add eax, 0x4eeb2e05
cmp eax, 0xb0b2e8bf
ja 0x140091460
jmp 0x140091220
mov qword [rsp + 0x20], 2
mov r9d, 2
lea rcx, [rsp + 0x40]
mov rdx, r14
mov r8, r15
call fcn.1400fd630
mov rbx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x28], rax
jmp 0x140091277
xor eax, eax
test al, al
jne 0x1400914c0
cmp qword [rsp + 0x38], r15
mov rdi, qword [rsp + 0x28]
mov r14, qword [rsp + 0x30]
jb 0x1400915d7
mov eax, dword [0x141dd0048]
and eax, dword [0x141dd004c]
or eax, 0x201f5889
imul rax, rax, 0x61777a1d
shr rax, 0x3e
cmp eax, 0x22e9ed2c
jne 0x140091510
mov rcx, r14
mov rdx, rbp
mov r8, r15
call fcn.14008ba90
nop word [rax + rax]
mov esi, dword [0x141dd0050]
sub esi, dword [0x141dd0054]
and esi, 0x45b47e2d
add esi, 0x55592b92
and esi, 0x8add583b
mov rcx, r14
mov rdx, rbp
mov r8, r15
call fcn.14008ba90
cmp esi, 0x5f1be2c2
jb 0x140091510
nop word cs:[rax + rax]
mov eax, dword [0x141dd0058]
and eax, dword [0x141dd005c]
imul eax, eax, 0x8223e0d4
xor eax, 0x148d8240
or eax, 0xcb006c0b
cmp eax, 0x1250702d
jb 0x140091550
test rbx, rbx
je 0x14009174a
mov rcx, qword [0x141ddb9a0]
xor edx, edx
mov r8, rdi
call qword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x14009174a
movabs rsi, 0x8000000000000000
xor eax, eax
test al, al
mov r14, qword [rsp + 0x30]
je 0x14009164d
jmp 0x14009167c
mov eax, dword [0x141dd0038]
and eax, dword [0x141dd003c]
and eax, 0x2d06c04f
add eax, 0xf1539a46
cmp eax, 0xec046c34
jae 0x14009175e
jmp 0x140091782
mov eax, dword [0x141dd0060]
imul eax, dword [0x141dd0064]
xor eax, 0x90288000
and eax, 0xf23dced7
cmp eax, 0x286a5227
jbe 0x140091600
ud2
mov eax, dword [0x141dd0068]
or eax, dword [0x141dd006c]
ud2
mov eax, dword [0x141dcffe8]
and eax, dword [0x141dcffec]
imul edi, eax, 0x14649e8
call qword [sym.imp.KERNEL32.dll_GetLastError]
shl rax, 0x20
or rax, 2
mov qword [r14 + 8], rax
mov qword [r14], rsi
cmp edi, 0xa53effe6
jne 0x140091693
call qword [sym.imp.KERNEL32.dll_GetLastError]
shl rax, 0x20
or rax, 2
mov qword [r14 + 8], rax
mov qword [r14], rsi
jmp 0x14009164d
test rbx, rbx
mov r14, qword [rsp + 0x28]
je 0x14009174a
mov rdi, qword [0x141ddb9a0]
mov eax, dword [0x141dcfff0]
imul eax, dword [0x141dcfff4]
mov ecx, 0x89138815
imul rcx, rax
shr rcx, 0x3e
imul eax, ecx, 0x5346acba
and eax, 0x69549bfe
cmp eax, 0x20cd0e41
jne 0x1400916e2
mov rcx, rdi
xor edx, edx
mov r8, r14
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rsi, qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax]
mov eax, dword [0x141dcfff8]
xor eax, dword [0x141dcfffc]
imul ebx, eax, 0xb474111f
and ebx, 0x74d49cb4
add ebx, 0x71891a1f
mov rcx, rdi
xor edx, edx
mov r8, r14
call rsi
cmp ebx, 0x97ad4a3d
jb 0x1400916f0
mov eax, dword [0x141dd0000]
xor edx, edx
div dword [0x141dd0004]
or eax, 0xf932fe44
add eax, 0x73974f88
imul rax, rax, 0x736313a1
shr rax, 0x3c
cmp eax, 0xb37b9d2a
je 0x140091720
add rsp, 0x458
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov eax, dword [0x141dd0040]
sub eax, dword [0x141dd0044]
add eax, 0x38c8bb20
and eax, 0xf1ef2896
add eax, 0xf4e21e5b
ud2
ud2