Function at 0x14008c600
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x90
lea rbp, [rsp + 0x80]
mov dword [rbp + 4], edx
mov qword [rbp + 8], rcx
mov eax, dword [0x140109668]
sub eax, dword [0x14010966c]
xor eax, 0x5b6794e4
imul eax, eax, 0xde29da3
and eax, 0x33bbc4d7
cmp eax, 0xceb650d2
ja 0x14008cde7
mov edx, dword [rbp + 4]
mov r9, qword [rbp + 8]
mov eax, 0x79852e3e
mov dword [rbp - 4], eax
mov eax, 0x10
mov qword [rbp - 0x28], rax
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x28]
mov rcx, rsp
mov qword [rbp - 0x40], rcx
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x28]
mov r8, rsp
mov qword [rbp - 0x38], r8
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x28]
mov rcx, rsp
mov qword [rbp - 0x10], rcx
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x28]
mov rcx, rsp
mov qword [rbp - 0x30], rcx
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x28]
mov rcx, rsp
mov qword [rbp - 0x18], rcx
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x10]
mov rcx, rsp
mov qword [rbp - 0x20], rcx
mov qword [r8], r9
mov dword [rax], edx
sub rsp, 0x20
call fcn.1400ec180
call sub.msvcrt.dll_clock
mov rdx, qword [rbp - 0x18]
mov rcx, qword [rbp - 0x10]
add rsp, 0x20
mov r8d, eax
mov eax, dword [rbp - 4]
mov dword [rdx], r8d
cmp dword [rcx], 4
setb cl
mov byte [rbp + 3], cl
cmp eax, 0x5cc4a5c5
je 0x14008cde7
mov al, byte [rbp + 3]
test al, 1
jne 0x14008c714
jmp 0x14008c776
mov eax, dword [0x140109678]
imul eax, dword [0x14010967c]
sub eax, 0xfb6e7d07
sub eax, 0x24eaa468
mov ecx, 0x848b1b65
xor edx, edx
div ecx
cmp eax, 0xf4a9824a
ja 0x14008ce77
mov rcx, qword [rbp - 0x40]
mov eax, dword [0x140109680]
xor edx, edx
div dword [0x140109684]
and eax, 0xe1ece056
add eax, 0xeb34c7c8
or eax, 0xe064e62b
mov dword [rcx], 1
cmp eax, 0xb20db2fd
jb 0x14008c73f
jmp 0x14008cddb
mov eax, dword [0x140109688]
or eax, dword [0x14010968c]
imul eax, eax, 0x62ba390f
imul eax, eax, 0xa38ec854
imul eax, eax, 0x9691c100
cmp eax, 0x414c156a
jbe 0x14008ce86
mov eax, dword [0x140109690]
xor eax, dword [0x140109694]
and eax, 0xc66d5348
and eax, 0x141a1b48
sub eax, 0xcb54dce9
mov dword [rbp - 0x48], eax
mov rcx, qword [0x140117e20]
sub rsp, 0x20
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rcx, qword [rbp - 0x38]
mov eax, dword [rbp - 0x48]
add rsp, 0x20
mov rcx, qword [rcx]
cmp qword [rcx + 0x18], 0
setne cl
mov byte [rbp - 0x41], cl
cmp eax, 0x8420dc40
je 0x14008ce86
mov al, byte [rbp - 0x41]
test al, 1
jne 0x14008c802
jmp 0x14008c829
mov rax, qword [rbp - 0x38]
mov rax, qword [rax]
mov rcx, qword [rax + 0x18]
sub rsp, 0x20
call sub.msvcrt.dll_free
mov rax, qword [rbp - 0x38]
add rsp, 0x20
mov rax, qword [rax]
mov qword [rax + 0x18], 0
mov eax, dword [0x140109698]
add eax, dword [0x14010969c]
and eax, 0x3e0f7a72
imul eax, eax, 0xbda29f8b
add eax, 0xf9a26a02
cmp eax, 0xfc3f0b41
ja 0x14008cea0
mov rcx, qword [rbp - 0x38]
mov eax, dword [0x1401096a0]
sub eax, dword [0x1401096a4]
sub eax, 0xf66be269
or eax, 0x608630d8
sub eax, 0xf6c8ebc1
mov rcx, qword [rcx]
cmp qword [rcx + 0x20], 0
setne cl
mov byte [rbp - 0x49], cl
cmp eax, 0x68415b3e
ja 0x14008cea0
mov al, byte [rbp - 0x49]
test al, 1
jne 0x14008c898
jmp 0x14008c8bf
mov rax, qword [rbp - 0x38]
mov rax, qword [rax]
mov rcx, qword [rax + 0x20]
sub rsp, 0x20
call sub.msvcrt.dll_free
mov rax, qword [rbp - 0x38]
add rsp, 0x20
mov rax, qword [rax]
mov qword [rax + 0x20], 0
mov eax, dword [0x1401096a8]
and eax, dword [0x1401096ac]
add eax, 0xf421507c
sub eax, 0x2ed39a81
and eax, 0x56aef4c5
cmp eax, 0x154716d9
je 0x14008cea5
mov rcx, qword [rbp - 0x38]
mov rax, qword [rbp - 0x10]
mov edx, dword [0x1401096b0]
sub edx, dword [0x1401096b4]
and edx, 0x8f278e32
and edx, 0xd39fdb59
xor edx, 0x2cd49175
mov dword [rbp - 0x50], edx
mov rcx, qword [rcx]
mov dword [rcx], 0
mov eax, dword [rax]
shr eax, 2
mov eax, eax
mov ecx, eax
shl rcx, 3
sub rsp, 0x20
call sub.msvcrt.dll_malloc
mov rdx, qword [rbp - 0x38]
add rsp, 0x20
mov rcx, rax
mov eax, dword [rbp - 0x50]
mov rdx, qword [rdx]
mov qword [rdx + 0x18], rcx
cmp rcx, 0
setne cl
mov byte [rbp - 0x4a], cl
cmp eax, 0x12035903
je 0x14008c8e5
mov al, byte [rbp - 0x4a]
test al, 1
jne 0x14008c98b
jmp 0x14008c967
mov rcx, qword [0x140117e20]
sub rsp, 0x20
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rax, qword [rbp - 0x40]
add rsp, 0x20
mov dword [rax], 2
jmp 0x14008cddb
mov rax, qword [rbp - 0x38]
mov rcx, qword [rbp - 0x10]
mov ecx, dword [rcx]
mov rax, qword [rax]
mov eax, dword [rax + 4]
sub eax, 4
mov eax, eax
add rax, 0x28
imul rcx, rax
sub rsp, 0x20
call sub.msvcrt.dll_malloc
mov rcx, qword [rbp - 0x38]
add rsp, 0x20
mov rcx, qword [rcx]
mov qword [rcx + 0x20], rax
cmp rax, 0
jne 0x14008ca6c
mov eax, dword [0x1401096b8]
or eax, dword [0x1401096bc]
imul eax, eax, 0x9debbd16
xor eax, 0xfa1ac5f
add eax, 0x279cdd08
cmp eax, 0xda1bec3
je 0x14008cee3
mov rax, qword [rbp - 0x38]
mov ecx, dword [0x1401096c0]
imul ecx, dword [0x1401096c4]
add ecx, 0x9852c506
xor ecx, 0x9fa592c
add ecx, 0x6c51a443
mov dword [rbp - 0x54], ecx
mov rax, qword [rax]
mov rcx, qword [rax + 0x18]
sub rsp, 0x20
call sub.msvcrt.dll_free
mov rax, qword [rbp - 0x38]
add rsp, 0x20
mov rax, qword [rax]
mov qword [rax + 0x18], 0
mov rcx, qword [0x140117e20]
sub rsp, 0x20
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rcx, qword [rbp - 0x40]
mov eax, dword [rbp - 0x54]
add rsp, 0x20
mov dword [rcx], 3
cmp eax, 0x28ad2e88
jae 0x14008c9f1
jmp 0x14008cddb
mov eax, dword [0x1401096c8]
xor edx, edx
div dword [0x1401096cc]
add eax, 0x980e01fa
sub eax, 0x37d95c41
imul eax, eax, 0xb78bdcbb
cmp eax, 0xbdcfa0cb
je 0x14008cf2e
mov rax, qword [rbp - 0x38]
mov rcx, qword [rbp - 0x20]
mov rdx, qword [rbp - 0x10]
mov r8d, dword [0x1401096d0]
or r8d, dword [0x1401096d4]
sub r8d, 0xcb9d5ec9
add r8d, 0xd65f488
and r8d, 0xeee7c43b
mov dword [rbp - 0x58], r8d
mov edx, dword [rdx]
mov rax, qword [rax]
mov dword [rax], edx
mov edx, 0x10
sub rsp, 0x20
call fcn.14006b990
add rsp, 0x20
mov edx, eax
mov rax, qword [rbp - 0x38]
mov rcx, qword [rax]
mov dword [rcx + 8], edx
mov rax, qword [rax]
mov rcx, qword [rax + 0x18]
mov edx, 8
sub rsp, 0x20
call fcn.14006b990
mov rcx, qword [rbp - 0x18]
add rsp, 0x20
mov edx, eax
mov rax, qword [rbp - 0x38]
mov rax, qword [rax]
mov dword [rax + 0xc], edx
mov edx, 4
sub rsp, 0x20
call fcn.14006b990
add rsp, 0x20
mov edx, eax
mov rax, qword [rbp - 0x38]
mov rcx, qword [rax]
mov dword [rcx + 0x10], edx
mov rax, qword [rax]
mov rcx, qword [rax + 0x20]
mov edx, 8
sub rsp, 0x20
call fcn.14006b990
add rsp, 0x20
mov edx, eax
mov rax, qword [rbp - 0x38]
mov rcx, qword [rax]
mov dword [rcx + 0x14], edx
mov rcx, qword [rax]
mov rcx, qword [rcx + 0x18]
mov rax, qword [rax]
mov eax, dword [rax]
shr eax, 2
mov eax, eax
mov r8d, eax
shl r8, 3
xor edx, edx
sub rsp, 0x20
call sub.msvcrt.dll_memset
mov rax, qword [rbp - 0x38]
add rsp, 0x20
mov rcx, qword [rax]
mov rcx, qword [rcx + 0x20]
mov rdx, qword [rax]
mov edx, dword [rdx]
mov r8d, edx
mov rax, qword [rax]
mov eax, dword [rax + 4]
add rax, 0x28
sub rax, 4
imul r8, rax
xor edx, edx
sub rsp, 0x20
call sub.msvcrt.dll_memset
mov rcx, qword [rbp - 0x30]
mov eax, dword [rbp - 0x58]
add rsp, 0x20
mov dword [rcx], 0
cmp eax, 0xf371c847
ja 0x14008cf2e
jmp 0x14008cbd1
mov eax, dword [0x1401096d8]
and eax, dword [0x1401096dc]
and eax, 0x41f9f1f4
and eax, 0x612cae72
sub eax, 0x3ea1a093
cmp eax, 0x3fccdf78
jb 0x14008d035
mov rdx, qword [rbp - 0x38]
mov rcx, qword [rbp - 0x30]
mov eax, dword [0x1401096e0]
sub eax, dword [0x1401096e4]
xor eax, 0x1453a61
or eax, 0x8031772a
sub eax, 0xa42a9112
mov ecx, dword [rcx]
mov rdx, qword [rdx]
mov edx, dword [rdx]
sub edx, 1
cmp ecx, edx
setb cl
mov byte [rbp - 0x59], cl
cmp eax, 0x381a2c4e
je 0x14008cbf7
mov al, byte [rbp - 0x59]
test al, 1
jne 0x14008cc47
jmp 0x14008cd4a
mov eax, dword [0x1401096e8]
imul eax, dword [0x1401096ec]
or eax, 0x5128a8e2
or eax, 0x7d674a6f
add eax, 0xf3e212df
cmp eax, 0xbd7ba788
je 0x14008d03a
mov r9, qword [rbp - 0x38]
mov eax, dword [0x1401096f0]
add eax, dword [0x1401096f4]
or eax, 0xc6c169e
mov ecx, 0x57ef5486
xor edx, edx
div ecx
mov rdx, qword [rbp - 0x30]
xor eax, 0x395229ce
mov rcx, qword [r9]
mov r8, qword [rcx + 0x20]
mov ecx, dword [rdx]
add ecx, 1
mov ecx, ecx
mov r10, qword [r9]
mov r10d, dword [r10 + 4]
add r10, 0x28
sub r10, 4
imul rcx, r10
add r8, rcx
mov rcx, qword [r9]
mov rcx, qword [rcx + 0x20]
mov edx, dword [rdx]
mov r9, qword [r9]
mov r9d, dword [r9 + 4]
add r9, 0x28
sub r9, 4
imul rdx, r9
mov qword [rcx + rdx + 0x18], r8
cmp eax, 0x2cf532f0
je 0x14008cc6e
jmp 0x14008ccea
mov eax, dword [0x1401096f8]
xor eax, dword [0x1401096fc]
mov ecx, 0xf873ef91
xor edx, edx
div ecx
and eax, 0x34716048
xor eax, 0xef95fa03
cmp eax, 0x13e487d9
je 0x14008d08c
mov rcx, qword [rbp - 0x30]
mov eax, dword [0x140109700]
sub eax, dword [0x140109704]
add eax, 0xaa037a79
xor eax, 0x102acb5a
and eax, 0x9aaa8c0
mov edx, dword [rcx]
add edx, 1
mov dword [rcx], edx
cmp eax, 0x96acc5b6
je 0x14008d08c
jmp 0x14008cbd1
mov eax, dword [0x140109708]
xor edx, edx
div dword [0x14010970c]
sub eax, 0x8f083ea9
and eax, 0x691d482
sub eax, 0xd8fb2841
cmp eax, 0x95322002
jae 0x14008d09c
mov eax, dword [0x140109710]
sub eax, dword [0x140109714]
and eax, 0xc11f0ef1
mov ecx, 0xbfa4c270
xor edx, edx
div ecx
mov ecx, eax
mov rax, qword [rbp - 0x38]
xor ecx, 0x4b963466
mov dword [rbp - 0x60], ecx
mov rcx, qword [rax]
mov rcx, qword [rcx + 0x20]
mov rax, qword [rax]
mov qword [rax + 0x28], rcx
mov rcx, qword [0x140117e20]
sub rsp, 0x20
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rcx, qword [rbp - 0x40]
mov eax, dword [rbp - 0x60]
add rsp, 0x20
mov dword [rcx], 0
cmp eax, 0xc33d710
jb 0x14008d09c
jmp 0x14008cddb
mov rax, qword [rbp - 0x40]
mov eax, dword [rax]
lea rsp, [rbp + 0x10]
pop rbp
ret
mov edx, dword [rbp + 4]
mov r9, qword [rbp + 8]
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 r8, rsp
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x78]
mov rcx, rsp
mov qword [rbp - 0x70], rcx
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x78]
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x78]
mov rcx, rsp
mov qword [rbp - 0x68], rcx
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x70]
mov rcx, rsp
mov qword [r8], r9
mov dword [rax], edx
sub rsp, 0x20
call fcn.1400ec180
call sub.msvcrt.dll_clock
add rsp, 0x20
mov ecx, eax
mov rax, qword [rbp - 0x68]
mov dword [rax], ecx
jmp 0x14008c63e
mov rax, qword [rbp - 0x40]
mov dword [rax], 1
jmp 0x14008c73f
mov rcx, qword [0x140117e20]
sub rsp, 0x20
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
add rsp, 0x20
jmp 0x14008c79f
jmp 0x14008c850
mov rcx, qword [rbp - 0x38]
mov rax, qword [rbp - 0x10]
mov rcx, qword [rcx]
mov dword [rcx], 0
mov eax, dword [rax]
shr eax, 2
mov eax, eax
mov ecx, eax
shl rcx, 3
sub rsp, 0x20
call sub.msvcrt.dll_malloc
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp - 0x38]
mov rax, qword [rax]
mov qword [rax + 0x18], rcx
jmp 0x14008c8e5
mov rax, qword [rbp - 0x38]
mov rax, qword [rax]
mov rcx, qword [rax + 0x18]
sub rsp, 0x20
call sub.msvcrt.dll_free
mov rax, qword [rbp - 0x38]
add rsp, 0x20
mov rax, qword [rax]
mov qword [rax + 0x18], 0
mov rcx, qword [0x140117e20]
sub rsp, 0x20
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rax, qword [rbp - 0x40]
add rsp, 0x20
mov dword [rax], 3
jmp 0x14008c9f1
mov rax, qword [rbp - 0x38]
mov rcx, qword [rbp - 0x20]
mov rdx, qword [rbp - 0x10]
mov edx, dword [rdx]
mov rax, qword [rax]
mov dword [rax], edx
mov edx, 0x10
sub rsp, 0x20
call fcn.14006b990
add rsp, 0x20
mov edx, eax
mov rax, qword [rbp - 0x38]
mov rcx, qword [rax]
mov dword [rcx + 8], edx
mov rax, qword [rax]
mov rcx, qword [rax + 0x18]
mov edx, 8
sub rsp, 0x20
call fcn.14006b990
mov rcx, qword [rbp - 0x18]
add rsp, 0x20
mov edx, eax
mov rax, qword [rbp - 0x38]
mov rax, qword [rax]
mov dword [rax + 0xc], edx
mov edx, 4
sub rsp, 0x20
call fcn.14006b990
add rsp, 0x20
mov edx, eax
mov rax, qword [rbp - 0x38]
mov rcx, qword [rax]
mov dword [rcx + 0x10], edx
mov rax, qword [rax]
mov rcx, qword [rax + 0x20]
mov edx, 8
sub rsp, 0x20
call fcn.14006b990
add rsp, 0x20
mov edx, eax
mov rax, qword [rbp - 0x38]
mov rcx, qword [rax]
mov dword [rcx + 0x14], edx
mov rcx, qword [rax]
mov rcx, qword [rcx + 0x18]
mov rax, qword [rax]
mov eax, dword [rax]
shr eax, 2
mov eax, eax
mov r8d, eax
shl r8, 3
xor edx, edx
sub rsp, 0x20
call sub.msvcrt.dll_memset
mov rax, qword [rbp - 0x38]
add rsp, 0x20
mov rcx, qword [rax]
mov rcx, qword [rcx + 0x20]
mov rdx, qword [rax]
mov edx, dword [rdx]
mov r8d, edx
mov rax, qword [rax]
mov eax, dword [rax + 4]
add rax, 0x28
sub rax, 4
imul r8, rax
xor edx, edx
sub rsp, 0x20
call sub.msvcrt.dll_memset
mov rax, qword [rbp - 0x30]
add rsp, 0x20
mov dword [rax], 0
jmp 0x14008ca95
jmp 0x14008cbf7
mov r8, qword [rbp - 0x38]
mov rcx, qword [rbp - 0x30]
mov rax, qword [r8]
mov rdx, qword [rax + 0x20]
mov eax, dword [rcx]
add eax, 1
mov eax, eax
mov r9, qword [r8]
mov r9d, dword [r9 + 4]
add r9, 0x28
sub r9, 4
imul rax, r9
add rdx, rax
mov rax, qword [r8]
mov rax, qword [rax + 0x20]
mov ecx, dword [rcx]
mov r8, qword [r8]
mov r8d, dword [r8 + 4]
add r8, 0x28
sub r8, 4
imul rcx, r8
mov qword [rax + rcx + 0x18], rdx
jmp 0x14008cc6e
mov rax, qword [rbp - 0x30]
mov ecx, dword [rax]
add ecx, 1
mov dword [rax], ecx
jmp 0x14008cd14
mov rax, qword [rbp - 0x38]
mov rcx, qword [rax]
mov rcx, qword [rcx + 0x20]
mov rax, qword [rax]
mov qword [rax + 0x28], rcx
mov rcx, qword [0x140117e20]
sub rsp, 0x20
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rax, qword [rbp - 0x40]
add rsp, 0x20
mov dword [rax], 0
jmp 0x14008cd72