Function at 0x14008d820
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
push rdi
sub rsp, 0xa0
lea rbp, [rsp + 0x80]
mov qword [rbp], r9
mov qword [rbp + 8], r8
mov qword [rbp + 0x10], rdx
mov qword [rbp + 0x18], rcx
mov eax, dword [0x140109788]
add eax, dword [0x14010978c]
add eax, 0x39e7c453
add eax, 0xcda45831
mov ecx, 0xd10f662f
xor edx, edx
div ecx
cmp eax, 0xf857355d
jae 0x14008dfe0
mov rcx, qword [rbp]
mov r8, qword [rbp + 8]
mov r10, qword [rbp + 0x10]
mov rsi, qword [rbp + 0x18]
mov eax, 0xa5caf377
mov dword [rbp - 8], eax
mov eax, 0x10
mov qword [rbp - 0x30], rax
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x30]
mov rdx, rsp
mov qword [rbp - 0x58], rdx
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x30]
mov r11, rsp
mov qword [rbp - 0x10], r11
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x30]
mov r9, rsp
mov qword [rbp - 0x50], r9
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x30]
mov rdx, rsp
mov qword [rbp - 0x48], rdx
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x30]
mov rdi, rsp
mov qword [rbp - 0x20], rdi
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x30]
mov rdi, rsp
mov qword [rbp - 0x40], rdi
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x30]
mov rdi, rsp
mov qword [rbp - 0x38], rdi
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x30]
mov rdi, rsp
mov qword [rbp - 0x28], rdi
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x20]
mov rdi, rsp
mov qword [rbp - 0x18], rdi
mov qword [r11], rsi
mov qword [r9], r10
mov qword [rdx], r8
mov qword [rax], rcx
mov rcx, qword [0x140117e20]
sub rsp, 0x20
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rcx, qword [rbp - 0x10]
mov eax, dword [rbp - 8]
add rsp, 0x20
cmp qword [rcx], 0
setne cl
mov byte [rbp - 1], cl
cmp eax, 0x45a1078b
jbe 0x14008dfe0
mov al, byte [rbp - 1]
test al, 1
jne 0x14008d985
jmp 0x14008da6a
mov eax, dword [0x140109798]
xor edx, edx
div dword [0x14010979c]
xor eax, 0x8b2d937c
add eax, 0x8d87711a
mov ecx, 0x2347799d
xor edx, edx
div ecx
cmp eax, 0x87444bad
je 0x14008e063
mov rcx, qword [rbp - 0x10]
mov eax, dword [0x1401097a0]
add eax, dword [0x1401097a4]
add eax, 0xb6897c6d
add eax, 0x20225197
imul eax, eax, 0x55ce04ea
mov rcx, qword [rcx]
cmp qword [rcx + 0x18], 0
setne cl
mov byte [rbp - 0x59], cl
cmp eax, 0x648bd184
ja 0x14008d9b1
mov al, byte [rbp - 0x59]
test al, 1
jne 0x14008d9fa
jmp 0x14008da6a
mov eax, dword [0x1401097a8]
and eax, dword [0x1401097ac]
imul eax, eax, 0x7172ead0
or eax, 0x41c66fbc
mov ecx, 0xf0f7de79
xor edx, edx
div ecx
cmp eax, 0xa58452fb
ja 0x14008e068
mov rcx, qword [rbp - 0x50]
mov eax, dword [0x1401097b0]
add eax, dword [0x1401097b4]
add eax, 0xefb41fa0
or eax, 0xaf957fdc
imul eax, eax, 0x23f2670a
cmp qword [rcx], 0
setne cl
mov byte [rbp - 0x5a], cl
cmp eax, 0xed11ee00
je 0x14008e068
mov al, byte [rbp - 0x5a]
test al, 1
jne 0x14008dae5
jmp 0x14008da6a
mov eax, dword [0x1401097b8]
xor eax, dword [0x1401097bc]
sub eax, 0x8379900
sub eax, 0xf9681e4b
or eax, 0x78f178df
cmp eax, 0xb0464a57
jae 0x14008e06d
mov eax, dword [0x1401097c0]
add eax, dword [0x1401097c4]
imul eax, eax, 0x9797e5fb
mov ecx, 0xe5ae2218
xor edx, edx
div ecx
and eax, 0xa3ca2528
mov dword [rbp - 0x60], eax
mov rcx, qword [0x140117e20]
sub rsp, 0x20
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rcx, qword [rbp - 0x58]
mov eax, dword [rbp - 0x60]
add rsp, 0x20
mov dword [rcx], 0
cmp eax, 0x1db5bb5c
jae 0x14008da90
jmp 0x14008df7b
mov rax, qword [rbp - 0x10]
mov rdx, qword [rbp - 0x40]
mov rcx, qword [rbp - 0x50]
mov rcx, qword [rcx]
mov r8, qword [rax]
add r8, 8
sub rsp, 0x20
call fcn.14008bce0
mov rdx, qword [rbp - 0x40]
mov rax, qword [rbp - 0x10]
add rsp, 0x20
mov rcx, qword [rax]
sub rsp, 0x20
call fcn.14008c230
mov rcx, qword [rbp - 0x10]
mov rdx, qword [rbp - 0x18]
add rsp, 0x20
mov r8d, eax
mov rax, qword [rbp - 0x38]
mov dword [rdx], r8d
mov rcx, qword [rcx]
mov rcx, qword [rcx + 0x18]
mov edx, dword [rdx]
shl rdx, 3
add rcx, rdx
mov qword [rax], rcx
mov eax, dword [0x1401097c8]
and eax, dword [0x1401097cc]
xor eax, 0x707dd0ee
or eax, 0xcc7ca6c5
imul eax, eax, 0x9b74d65b
cmp eax, 0x7cf7876b
jbe 0x14008e091
mov rcx, qword [rbp - 0x38]
mov eax, dword [0x1401097d0]
add eax, dword [0x1401097d4]
mov r8d, 0x5383858b
xor edx, edx
div r8d
xor eax, 0xffdf68f4
mov r8d, 0xb5a4689d
xor edx, edx
div r8d
mov rdx, qword [rbp - 0x28]
mov rcx, qword [rcx]
mov rcx, qword [rcx]
mov qword [rdx], rcx
cmp rcx, 0
setne cl
mov byte [rbp - 0x61], cl
cmp eax, 0x1fb9d4d0
je 0x14008db6c
mov al, byte [rbp - 0x61]
test al, 1
jne 0x14008dbc9
jmp 0x14008df5c
mov eax, dword [0x1401097d8]
sub eax, dword [0x1401097dc]
or eax, 0x83e25f21
or eax, 0x135eb9fa
mov ecx, 0xe6219050
xor edx, edx
div ecx
cmp eax, 0xd9a5fb1c
je 0x14008e0a7
mov rcx, qword [rbp - 0x28]
mov eax, dword [0x1401097e0]
and eax, dword [0x1401097e4]
add eax, 0xde0a483
mov r8d, 0xeaf72a15
xor edx, edx
div r8d
mov r8d, 0x649a80eb
xor edx, edx
div r8d
mov rcx, qword [rcx]
mov rcx, qword [rcx + 0x10]
mov rdx, qword [0x140117de0]
cmp rcx, qword [rdx + 0x178]
setl cl
mov byte [rbp - 0x62], cl
cmp eax, 0x3ef6a6a1
jae 0x14008dbf3
mov al, byte [rbp - 0x62]
test al, 1
jne 0x14008dc54
jmp 0x14008dce2
mov eax, dword [0x1401097e8]
sub eax, dword [0x1401097ec]
and eax, 0x61de3a21
or eax, 0x3ac11ca0
or eax, 0x9ffeebdd
cmp eax, 0xf1f776c2
ja 0x14008e0ac
mov rcx, qword [rbp - 0x10]
mov rdx, qword [rbp - 0x28]
mov r8, qword [rbp - 0x38]
mov eax, dword [0x1401097f0]
sub eax, dword [0x1401097f4]
sub eax, 0x319d3695
or eax, 0xd29f6751
imul eax, eax, 0xa5bcebc3
mov r9, qword [rdx]
mov r9, qword [r9 + 0x18]
mov r8, qword [r8]
mov qword [r8], r9
mov r8, qword [rdx]
mov qword [r8 + 0x10], 0
mov r8, qword [rcx]
mov r9, qword [r8 + 0x28]
mov r8, qword [rdx]
mov qword [r8 + 0x18], r9
mov rdx, qword [rdx]
mov rcx, qword [rcx]
mov qword [rcx + 0x28], rdx
cmp eax, 0x8f25845e
jbe 0x14008e0ac
jmp 0x14008df06
mov eax, dword [0x1401097f8]
add eax, dword [0x1401097fc]
and eax, 0xb3852efd
or eax, 0x7fe048ab
add eax, 0x916a991c
cmp eax, 0x2ac10ea6
jb 0x14008e0ed
mov rcx, qword [rbp - 0x40]
mov eax, dword [0x140109800]
xor edx, edx
div dword [0x140109804]
mov rdx, qword [rbp - 0x28]
add eax, 0xc8918f7c
sub eax, 0x81d6e654
imul eax, eax, 0x1320aa8f
mov rdx, qword [rdx]
movups xmm1, xmmword [rdx]
movups xmm0, xmmword [rcx]
pcmpeqb xmm0, xmm1
pmovmskb ecx, xmm0
sub ecx, 0xffff
setne cl
movzx ecx, cl
cmp ecx, 0
setne cl
mov byte [rbp - 0x63], cl
cmp eax, 0xaba943e
jb 0x14008dd08
mov al, byte [rbp - 0x63]
test al, 1
jne 0x14008de4d
jmp 0x14008dd6f
mov rax, qword [rbp - 0x20]
cmp qword [rax], 0
je 0x14008dd9f
mov rax, qword [rbp - 0x20]
mov rcx, qword [rbp - 0x28]
mov rcx, qword [rcx]
mov rcx, qword [rcx + 0x10]
mov rdx, qword [0x140117de0]
sub rcx, qword [rdx + 0x178]
mov rax, qword [rax]
mov dword [rax], ecx
mov eax, dword [0x140109808]
or eax, dword [0x14010980c]
add eax, 0x80516885
imul eax, eax, 0x4da5056f
imul eax, eax, 0x1cfe2e0c
cmp eax, 0xafb47d96
jb 0x14008e116
mov rcx, qword [rbp - 0x48]
mov eax, dword [0x140109810]
and eax, dword [0x140109814]
or eax, 0x7ee461f1
add eax, 0x88c314a3
mov r8d, 0x19592f50
xor edx, edx
div r8d
mov rdx, qword [rbp - 0x28]
mov r8d, eax
mov rax, qword [rbp - 0x10]
mov dword [rbp - 0x68], r8d
mov rcx, qword [rcx]
mov rdx, qword [rdx]
add rdx, 0x20
mov rax, qword [rax]
mov eax, dword [rax + 4]
mov r8d, eax
sub rsp, 0x20
call sub.msvcrt.dll_memcpy
add rsp, 0x20
mov rcx, qword [0x140117e20]
sub rsp, 0x20
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rcx, qword [rbp - 0x58]
mov eax, dword [rbp - 0x68]
add rsp, 0x20
mov dword [rcx], 1
cmp eax, 0x3bbe9051
je 0x14008ddc7
jmp 0x14008df7b
mov eax, dword [0x140109818]
sub eax, dword [0x14010981c]
add eax, 0x7f2cb467
or eax, 0xa77ae545
add eax, 0xf3d72bb7
cmp eax, 0x3179e691
jbe 0x14008e166
mov rcx, qword [rbp - 0x38]
mov rdx, qword [rbp - 0x28]
mov eax, dword [0x140109820]
sub eax, dword [0x140109824]
and eax, 0xad0a8005
imul eax, eax, 0x81114a67
add eax, 0x44997b3e
mov rdx, qword [rdx]
add rdx, 0x18
mov qword [rcx], rdx
cmp eax, 0x55e8e75f
je 0x14008de73
jmp 0x14008deb1
mov eax, dword [0x140109828]
add eax, dword [0x14010982c]
sub eax, 0xbe9350fb
mov ecx, 0x91240431
xor edx, edx
div ecx
xor eax, 0x2d0a5639
cmp eax, 0xda39e652
je 0x14008e17d
mov eax, dword [0x140109830]
add eax, dword [0x140109834]
or eax, 0xcc3bf9bc
xor eax, 0xf0804876
sub eax, 0x895b28d9
cmp eax, 0x48d3e3e
jbe 0x14008e17d
jmp 0x14008df06
mov eax, dword [0x140109838]
sub eax, dword [0x14010983c]
mov ecx, 0xae8c714d
xor edx, edx
div ecx
add eax, 0x99417b27
imul eax, eax, 0xbbce22dc
cmp eax, 0x72bfb5a6
jbe 0x14008e182
mov eax, dword [0x140109840]
or eax, dword [0x140109844]
xor eax, 0x4b7966fe
or eax, 0x6e2b6dba
and eax, 0x54f3dedc
cmp eax, 0xb3d69bc6
jae 0x14008e182
jmp 0x14008db45
mov rcx, qword [0x140117e20]
sub rsp, 0x20
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rax, qword [rbp - 0x58]
add rsp, 0x20
mov dword [rax], 0
mov eax, dword [0x140109848]
and eax, dword [0x14010984c]
mov ecx, 0x2502bcce
xor edx, edx
div ecx
or eax, 0x5ed87dad
add eax, 0x2fb912f9
cmp eax, 0xfae600e4
jae 0x14008e187
mov rcx, qword [rbp - 0x58]
mov eax, dword [0x140109850]
imul eax, dword [0x140109854]
add eax, 0xc0bcf96
or eax, 0x9cdd6e28
and eax, 0x80382c41
mov ecx, dword [rcx]
mov dword [rbp - 0x6c], ecx
cmp eax, 0x53b9b7a1
jbe 0x14008dfa5
mov eax, dword [rbp - 0x6c]
lea rsp, [rbp + 0x20]
pop rdi
pop rsi
pop rbp
ret
mov rcx, qword [rbp]
mov r8, qword [rbp + 8]
mov r10, qword [rbp + 0x10]
mov rsi, qword [rbp + 0x18]
mov eax, 0x10
mov qword [rbp - 0x78], rax
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x78]
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x78]
mov r11, rsp
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x78]
mov r9, rsp
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x78]
mov rdx, rsp
call fcn.1400ec140
sub rsp, rax
mov rax, rsp
mov qword [r11], rsi
mov qword [r9], r10
mov qword [rdx], r8
mov qword [rax], rcx
mov rcx, qword [0x140117e20]
sub rsp, 0x20
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
add rsp, 0x20
jmp 0x14008d86c
jmp 0x14008d9b1
jmp 0x14008da25
mov rcx, qword [0x140117e20]
sub rsp, 0x20
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rax, qword [rbp - 0x58]
add rsp, 0x20
mov dword [rax], 0
jmp 0x14008da90
mov rax, qword [rbp - 0x28]
mov rcx, qword [rbp - 0x38]
mov rcx, qword [rcx]
mov rcx, qword [rcx]
mov qword [rax], rcx
jmp 0x14008db6c
jmp 0x14008dbf3
mov rax, qword [rbp - 0x10]
mov rcx, qword [rbp - 0x28]
mov rdx, qword [rbp - 0x38]
mov r8, qword [rcx]
mov r8, qword [r8 + 0x18]
mov rdx, qword [rdx]
mov qword [rdx], r8
mov rdx, qword [rcx]
mov qword [rdx + 0x10], 0
mov rdx, qword [rax]
mov r8, qword [rdx + 0x28]
mov rdx, qword [rcx]
mov qword [rdx + 0x18], r8
mov rcx, qword [rcx]
mov rax, qword [rax]
mov qword [rax + 0x28], rcx
jmp 0x14008dc7a
mov rax, qword [rbp - 0x40]
mov rcx, qword [rbp - 0x28]
mov rcx, qword [rcx]
movups xmm1, xmmword [rcx]
movups xmm0, xmmword [rax]
pcmpeqb xmm0, xmm1
pmovmskb eax, xmm0
sub eax, 0xffff
setne al
movzx eax, al
jmp 0x14008dd08
mov rax, qword [rbp - 0x10]
mov rdx, qword [rbp - 0x28]
mov rcx, qword [rbp - 0x48]
mov rcx, qword [rcx]
mov rdx, qword [rdx]
add rdx, 0x20
mov rax, qword [rax]
mov eax, dword [rax + 4]
mov r8d, eax
sub rsp, 0x20
call sub.msvcrt.dll_memcpy
add rsp, 0x20
mov rcx, qword [0x140117e20]
sub rsp, 0x20
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rax, qword [rbp - 0x58]
add rsp, 0x20
mov dword [rax], 1
jmp 0x14008ddc7
mov rax, qword [rbp - 0x38]
mov rcx, qword [rbp - 0x28]
mov rcx, qword [rcx]
add rcx, 0x18
mov qword [rax], rcx
jmp 0x14008de73
jmp 0x14008dedb
jmp 0x14008df31
jmp 0x14008dfa5