Function at 0x140008e50
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x1a8
mov qword [rsp + 0x88], rdx
mov qword [rsp + 0x90], rcx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp rax, 0
mov qword [rsp + 0x98], rax
jne 0x140009355
lea rcx, [rsp + 0xa0]
mov edx, 0xfa
call fcn.14000943f
mov byte [rsp + 0xa0], 0x5f
mov eax, 1
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x78], rax
cmp rax, 0xf5
je 0x140008fe3
mov rax, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x78]
xor edx, edx
sub rdx, 0xffffffffffffffff
sub rcx, rdx
mov al, byte [rax + rcx]
mov byte [rsp + 0x77], al
cmp al, 0
je 0x140008fe3
mov eax, dword [0x14024b6c8]
mov ecx, 0x16d6ff8
xor ecx, 0x23083a67
xor eax, ecx
mov edx, dword [0x14024b6cc]
xor edx, 0x61125031
mov ecx, eax
xor ecx, edx
xor ecx, 0xffffffff
or eax, edx
and eax, ecx
mov ecx, 0x5264090d
xor edx, edx
div ecx
imul eax, eax, 0x6c47a202
mov ecx, eax
and ecx, 0x4e733e45
xor ecx, 0xffffffff
mov edx, 0x36bbee6a
xor edx, 0x78c8d02f
add eax, edx
mov edx, 0x9cc958f2
xor edx, 0x9cc958f3
add eax, edx
add eax, ecx
cmp eax, 0xcdc32902
jbe 0x140009424
mov rcx, qword [rsp + 0x78]
mov dl, byte [rsp + 0x77]
mov eax, dword [0x14024b6d0]
or eax, dword [0x14024b6d4]
or eax, 0x1af9bd82
xor r8d, r8d
sub r8d, 0x42ef5be
sub eax, r8d
imul eax, eax, 0x4c2b8b50
mov byte [rsp + rcx + 0xa0], dl
movabs r8, 0x50a89fbfcdc1c182
movabs rdx, 0x50a89fbfcdc1c183
xor r8, rdx
mov rdx, rcx
and rdx, r8
shl rdx, 1
movabs r8, 0x94cc998691a56ba8
movabs r9, 0x94cc998691a56ba9
xor r8, r9
xor rcx, r8
add rcx, rdx
mov qword [rsp + 0x68], rcx
cmp eax, 0x35675328
jbe 0x140008f4f
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x80], rax
jmp 0x140008ea6
mov rcx, qword [rsp + 0x78]
mov al, 0x9e
xor al, 0xde
mov byte [rsp + rcx + 0xa0], al
xor eax, eax
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x60], rax
mov rcx, qword [rsp + 0x58]
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x50], rcx
cmp rax, 0x33
je 0x140009201
mov r9, qword [rsp + 0x48]
movabs rcx, 0xb73f9d7bad5dba0e
movabs rax, 0xb73f9d7bad5dba0c
xor rcx, rax
mov rax, r9
shl rax, cl
mov rcx, qword [rsp + 0x50]
movabs r10, 0x93478fc4ea376595
movabs rdx, 0x93478fc4ea37659f
xor r10, rdx
mov r8d, 2
mov edx, 1
cmp rax, r10
cmovb r8, rdx
movabs rdx, 0x4428657b1d7cb605
movabs r10, 0x4428657b1d7cb606
xor rdx, r10
cmp r9, 0x19
cmovb rdx, r8
movabs r8, 0xad5225b53a826fa4
movabs r9, 0x52adda4ac57d905b
xor r8, r9
xor rdx, r8
xor r8d, r8d
sub r8, 1
sub rdx, r8
sub rcx, rdx
mov r8, 0xffffffffffffffff
xor r8, 1
movabs rdx, 0xec5ec6fb02f77eda
movabs r9, 0xec5ec6fb02f77eda
xor rdx, r9
movabs r9, 0xf679d36d0d76e366
movabs r10, 0xf679d36d0d76e367
xor r9, r10
sub rdx, r9
sub r8, rdx
mov rdx, rcx
sub rdx, r8
mov byte [rsp + rdx + 0xa0], 0
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x40], rax
mov r8, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x38]
mov r9d, 0xa
mov rax, r8
xor edx, edx
div r9
mov al, dl
and al, 0x30
xor dl, 0x30
or al, dl
mov byte [rsp + rcx + 0xa0], al
add rcx, 0xffffffffffffffff
mov qword [rsp + 0x30], rcx
mov r9d, 0xa
mov rax, r8
cqo
idiv r9
mov rdx, r8
and rdx, 9
or r8, 9
add rdx, r8
movabs r8, 0xb55618c3628ab78b
movabs r9, 0xb55618c3628ab798
xor r8, r9
cmp rdx, r8
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x40], rax
jae 0x14000910a
mov rcx, qword [rsp + 0x90]
lea rdx, [rsp + 0xa0]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x30]
xor r8d, r8d
sub r8, rcx
movabs rcx, 0x267ea9ae8a50ce9c
movabs r9, 0x267ea9ae8a50ce9c
xor rcx, r9
movabs r9, 0x2e3dc6111f4c2453
movabs r10, 0x2e3dc6111f4c2452
xor r9, r10
sub rcx, r9
add r8, rcx
xor ecx, ecx
sub rcx, r8
cmp rax, 0
mov qword [rsp + 0x58], rdx
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x98], rax
je 0x140008fff
jmp 0x140009355
mov eax, dword [0x14024b6d8]
mov ecx, 0x8eb287e5
xor ecx, 0x209c0037
xor eax, ecx
mov edx, dword [0x14024b6dc]
mov ecx, eax
xor ecx, edx
xor ecx, 0xffffffff
or eax, edx
and eax, ecx
imul eax, eax, 0x63b08334
mov r8d, eax
or r8d, 0x8dd45459
xor r8d, 0xffffffff
mov ecx, 0xd669339d
xor ecx, 0x5bbd67c4
or eax, ecx
xor eax, 0xffffffff
or r8d, eax
xor r8d, 0xffffffff
mov ecx, r8d
xor ecx, 0xffffffff
mov eax, 0x5e4607a8
xor eax, 0xdf8525b2
and eax, ecx
mov r9d, 0xffffffff
xor r9d, 0x81c3221a
and r8d, r9d
mov ecx, 0xffffffff
xor ecx, 0x1da37a22
and ecx, 0x81c3221a
mov edx, 0x49e36b45
xor edx, 0x54401167
and edx, r9d
or eax, r8d
or ecx, edx
xor eax, ecx
mov ecx, 0x97e4a1a6
xor ecx, 0x7c119c62
cmp eax, ecx
je 0x14000942d
mov eax, dword [0x14024b6e0]
mov edx, dword [0x14024b6e4]
mov r8d, eax
and r8d, edx
mov ecx, 0x6911aff1
xor ecx, 0x6911aff3
imul ecx, r8d
add eax, edx
sub eax, ecx
mov r8d, 0xffffffff
xor r8d, 0x61b6bf2f
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov r8d, 0x67f76841
xor r8d, 0x641d76e
mov edx, eax
and edx, r8d
mov r8d, 0x8c3415a2
xor r8d, 0xed82aa8d
or eax, r8d
imul eax, edx
add eax, ecx
imul eax, eax, 0xd728d7f3
sub eax, 0x1d7e9954
mov dword [rsp + 0x2c], eax
mov rax, qword [0x1402720a8]
mov ecx, 0x21971507
xor ecx, 0x21971506
call rax
mov eax, dword [rsp + 0x2c]
cmp eax, 0xc856a844
jbe 0x14000942d
xor eax, eax
mov qword [rsp + 0x98], rax
jmp 0x140009355
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x20], rax
mov eax, dword [0x14024b6e8]
mov ecx, 0xc4c76e0
xor ecx, 0x3849fee3
xor eax, ecx
mov edx, dword [0x14024b6ec]
mov r8d, eax
xor r8d, edx
mov ecx, 0xfef003ca
xor ecx, 0x10ffc35
xor r8d, ecx
mov ecx, edx
and ecx, r8d
shl ecx, 1
sub ecx, edx
sub eax, ecx
mov edx, 0x4e41ac80
xor edx, 0x3c7cea6e
mov ecx, 0x548bf71e
xor ecx, 0xab7408e1
xor edx, ecx
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, 0x723d46ee
add eax, edx
sub eax, ecx
mov ecx, 0xf815fd05
xor ecx, 0x59c8f5be
xor edx, edx
div ecx
and eax, 0xfdc657ff
mov ecx, 0xaa902079
xor ecx, 0x118ff354
cmp eax, ecx
je 0x140009436
mov eax, dword [0x14024b6f0]
xor edx, edx
div dword [0x14024b6f4]
or eax, 0xddc16ee5
xor ecx, ecx
sub ecx, 0xb0f49989
add eax, ecx
and eax, 0xd356ea19
cmp eax, 0xe182791
jae 0x140009436
cdq
hlt
mov rax, qword [rsp + 0x20]
add rsp, 0x1a8
ret
jne 0x140009402
xchg ebx, eax
sbb al, 0xe9
and bh, bl
invalid
sbb dword [rcx], edi
nop
invalid
movabs eax, dword [0xffffffabe9b43c42]