Function at 0x14008d590
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r14
push rsi
push rdi
push rbx
mov rbp, rsp
mov eax, dword [0x1415b4788]
sub eax, dword [0x1415b478c]
imul rax, rax, 0x79820a3f
shr rax, 0x3d
or eax, 0xa5495cd8
cmp eax, 0x8d5eb401
jb 0x14008d650
mov eax, dword [0x1415b4790]
xor edx, edx
div dword [0x1415b4794]
mov ecx, eax
add ecx, 0xbbe70164
not ecx
or ecx, 0x7458d24b
lea r14d, [rax + rcx]
add r14d, 0xbbe70164
mov eax, 0x10
call fcn.14021cf50
sub rsp, rax
mov rsi, rsp
mov eax, 0x10
call fcn.14021cf50
sub rsp, rax
mov rbx, rsp
mov eax, 0x10
call fcn.14021cf50
sub rsp, rax
mov rdi, rsp
sub rsp, 0x20
lea rdx, [0x14013e260]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_AddVectoredExceptionHandler]
add rsp, 0x20
mov dword [rdi], 0x5000
sub rsp, 0x20
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_SetThreadStackGuarantee]
add rsp, 0x20
cmp r14d, 0x26dc9d01
jne 0x14008d6ad
mov eax, 0x10
call fcn.14021cf50
sub rsp, rax
mov eax, 0x10
call fcn.14021cf50
sub rsp, rax
mov eax, 0x10
call fcn.14021cf50
sub rsp, rax
mov rsi, rsp
sub rsp, 0x20
lea rdx, [0x14013e260]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_AddVectoredExceptionHandler]
add rsp, 0x20
mov dword [rsi], 0x5000
sub rsp, 0x20
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_SetThreadStackGuarantee]
add rsp, 0x20
jmp 0x14008d5c0
mov eax, dword [0x1415b4798]
xor eax, dword [0x1415b479c]
xor eax, 0xd96a65fd
add eax, 0xac11946b
imul rax, rax, 0xd6d9707
shr rax, 0x39
cmp eax, 0x262218db
ja 0x14008d750
mov eax, dword [0x1415b47a0]
mov ecx, dword [0x1415b47a4]
not eax
not ecx
and ecx, eax
not ecx
imul edi, ecx, 0x4551250c
xor edi, 0x6fad1bde
mov eax, edi
or eax, 0xbe9356d1
or edi, 0xbe9356d3
and edi, eax
sub rsp, 0x20
call fcn.14021adc0
add rsp, 0x20
mov r8, qword [0x1415ab008]
sub rsp, 0x20
lea rdx, [0x14159ef98]
mov rcx, rax
call r8
add rsp, 0x20
movzx eax, byte [0x1415d3950]
sub rsp, 0x20
mov edx, 0x38
xor ecx, ecx
call fcn.1401b5e70
add rsp, 0x20
cmp edi, 0xff93db2a
jbe 0x14008d79a
sub rsp, 0x20
call qword [sym.imp.KERNEL32.dll_GetCurrentThread]
add rsp, 0x20
mov r8, qword [0x1415ab008]
sub rsp, 0x20
lea rdx, [0x14159ef98]
mov rcx, rax
call r8
add rsp, 0x20
movzx eax, byte [0x1415d3950]
sub rsp, 0x20
mov edx, 0x38
xor ecx, ecx
call fcn.1401b5e70
add rsp, 0x20
jmp 0x14008d6d5
mov rcx, rax
nop dword [rax]
mov eax, dword [0x1415b47a8]
and eax, dword [0x1415b47ac]
mov edx, eax
xor edx, 0xf575a90d
add edx, eax
and eax, 0xa8a56f2
sub edx, eax
or edx, 0x118191bb
cmp edx, 0xcee10a71
je 0x14008d7a0
test rcx, rcx
je 0x14008db01
mov eax, dword [0x1415b47b8]
xor edx, edx
div dword [0x1415b47bc]
mov edx, eax
not edx
and edx, 0xd49ec355
mov r8d, eax
and r8d, 0x2b613caa
imul r8d, edx
mov edx, eax
and edx, 0xd49ec355
or eax, 0xd49ec355
imul eax, edx
add eax, r8d
add eax, 0x7cf4f78a
or eax, 0x216c6f92
cmp eax, 0xca849b7d
jbe 0x14008d830
mov qword [rcx], 1
mov qword [rcx + 8], 1
nop dword [rax]
mov eax, dword [0x1415b47c0]
xor eax, dword [0x1415b47c4]
xor eax, 0x13308480
or eax, 0xe8cb397e
mov qword [rcx], 1
mov qword [rcx + 8], 1
cmp eax, 0x363d33bd
je 0x14008d830
mov qword [rcx + 0x10], 0
mov r8, qword [0x1415d3910]
nop dword [rax + rax]
mov eax, dword [0x1415b47c8]
imul eax, dword [0x1415b47cc]
mov edx, eax
and edx, 0xd239f98
add edx, edx
neg edx
add eax, edx
add eax, 0x92187f5c
mov edx, eax
xor edx, 0x850ac5bb
and eax, 0x7af53a44
add eax, eax
sub eax, edx
cmp eax, 0xcbf8a14
jb 0x14008d870
mov r9d, 0x8af84e3b
nop
cmp r8, 0xffffffffffffffff
je 0x14008dae7
lea r10, [r8 + 1]
mov rax, r8
lock cmpxchg qword [0x1415d3910], r10
sete r11b
mov r8, rax
mov eax, dword [0x1415b47d0]
xor edx, edx
div dword [0x1415b47d4]
shr eax, 1
imul rax, r9
shr rax, 0x3b
or eax, 0xc62c29b4
cmp eax, 0xf5a3a348
je 0x14008d8d1
nop word cs:[rax + rax]
mov eax, dword [0x1415b47d8]
xor edx, edx
div dword [0x1415b47dc]
add eax, 0xa66110e9
mov edx, eax
not edx
and edx, 0x2548312a
and eax, 0xdab7ced5
sub eax, edx
mov edx, eax
not edx
or edx, 0x12039690
add eax, edx
inc eax
cmp eax, 0xa336300d
ja 0x14008d900
test r11b, r11b
je 0x14008d8b0
mov qword [rcx + 0x28], r10
mov byte [rcx + 0x30], 0
sub rsp, 0x20
call fcn.14013f700
call fcn.14021ade0
add rsp, 0x20
mov eax, dword [0x1415d38a8]
cmp eax, 4
jne 0x14008d9ce
nop word [rax + rax]
mov eax, dword [0x1415b4808]
mov ecx, dword [0x1415b480c]
mov edx, ecx
not edx
mov r8d, eax
and r8d, edx
or edx, eax
not edx
imul edx, r8d
mov r8d, eax
and r8d, ecx
or eax, ecx
imul eax, r8d
add eax, edx
or eax, 0xd21004a2
mov ecx, eax
and ecx, 0xfe5204f7
and eax, 0x42020426
mov edx, ecx
xor edx, 0xbcd1bbd9
add edx, ecx
sub edx, eax
cmp edx, 0x1b9cc6b6
jb 0x14008d970
xor eax, eax
mov rsp, rbp
pop rbx
pop rdi
pop rsi
pop r14
pop rbp
ret
mov eax, dword [0x1415b47f0]
mov ecx, dword [0x1415b47f4]
mov edx, eax
not edx
or edx, ecx
not ecx
or ecx, eax
and ecx, edx
mov eax, ecx
not eax
and eax, 0x61726bfe
xor ecx, 0x9e8d9401
lea eax, [rcx + rax*2]
xor eax, 0xdd65885b
cmp eax, 0x7b9ae810
jae 0x14008da10
mov byte [rbx], 1
nop word [rax + rax]
mov eax, dword [0x1415b47f8]
add eax, dword [0x1415b47fc]
imul eax, eax, 0x799b851
mov ecx, eax
not ecx
mov edx, eax
and edx, 0xf66288ad
and ecx, 0x99d7752
imul ecx, edx
mov edx, eax
and edx, 0x99d7752
or eax, 0x99d7752
imul eax, edx
add eax, ecx
or eax, 0x1cdf69b1
mov byte [rbx], 1
cmp eax, 0xfa4bd25a
ja 0x14008da10
mov qword [rsi], rbx
sub rsp, 0x20
mov rcx, rsi
call fcn.140242f00
add rsp, 0x20
nop dword [rax + rax]
mov ecx, dword [0x1415b4800]
mov edx, dword [0x1415b4804]
not edx
mov eax, ecx
or eax, edx
and edx, ecx
not eax
or eax, edx
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x74cb3942
and ecx, 0x8b34c6bd
imul ecx, edx
mov edx, eax
and edx, 0x8b34c6bd
or eax, 0x8b34c6bd
imul eax, edx
add eax, ecx
mov ecx, eax
not ecx
and ecx, 0x84301c46
mov edx, eax
and edx, 0x7bcfe3b9
imul edx, ecx
mov ecx, eax
and ecx, 0x84301c46
or eax, 0x84301c46
imul eax, ecx
add eax, edx
add eax, 0x79a2d78
cmp eax, 0x1f109029
jb 0x14008da70
jmp 0x14008d970
mov eax, dword [0x1415b47e0]
and eax, dword [0x1415b47e4]
add eax, 0x32b50753
cmp eax, 0xd4a62f8b
jbe 0x14008db29
jmp 0x14008db4d
xor eax, eax
test al, al
jne 0x14008db23
mov eax, dword [0x1415b47b0]
mov ecx, dword [0x1415b47b4]
add eax, ecx
add eax, 0xb1d97a9e
ud2
ud2
mov eax, dword [0x1415b47ec]
mov ecx, eax
xor ecx, eax
not ecx
and ecx, dword [0x1415b47e8]
xor ecx, eax
xor ecx, 0xd0a26b19
ud2
ud2