Function at 0x14008c1b0
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x240
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x78], rdx
mov qword [rbp + 0x80], rcx
mov qword [rbp + 0x38], rcx
mov eax, 0x10
mov qword [rbp + 0x48], rax
call fcn.1401c7680
sub rsp, rax
mov rax, qword [rbp + 0x48]
mov rcx, rsp
mov qword [rbp + 0x68], rcx
call fcn.1401c7680
sub rsp, rax
mov rax, qword [rbp + 0x48]
mov rcx, rsp
mov qword [rbp + 0x70], rcx
call fcn.1401c7680
sub rsp, rax
mov rax, qword [rbp + 0x48]
mov rcx, rsp
mov qword [rbp + 0x40], rcx
call fcn.1401c7680
sub rsp, rax
mov rax, qword [rbp + 0x48]
mov rcx, rsp
mov qword [rbp + 0x50], rcx
call fcn.1401c7680
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x58], rax
sub rsp, 0x20
call fcn.14008cf1f
mov rcx, qword [rbp + 0x80]
add rsp, 0x20
mov qword [rbp + 0x98], rax
mov qword [rcx], 0
mov rax, rcx
add rax, 8
mov qword [rbp + 0x60], rax
mov qword [rcx + 8], 0
lea rcx, [rbp + 0x1a0]
sub rsp, 0x20
call fcn.14008cf3a
mov r8, qword [rbp + 0x68]
mov rax, qword [rbp + 0x70]
mov rdx, qword [rbp + 0x78]
mov rcx, qword [rbp + 0x80]
add rsp, 0x20
movabs r9, 0xa6a9b325dc4d6bc6
movabs r10, 0xa6a9b325dc4d6bc6
xor r9, r10
mov qword [r8], r9
mov r9, r8
add r9, 8
mov qword [rbp + 0x88], r9
mov qword [r8 + 8], 0
mov qword [rax], 0
mov r8, rax
add r8, 8
mov qword [rbp + 0x90], r8
mov qword [rax + 8], 0
mov rax, qword [rdx]
mov qword [rbp + 0x190], rax
mov rax, qword [rdx + 8]
mov qword [rbp + 0x198], rax
lea rdx, [rbp + 0x190]
mov r8d, 0x5c
sub rsp, 0x20
call fcn.14008b386
mov rax, qword [rbp + 0x98]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0x69
xor cl, 0x69
cmp al, cl
jne 0x14008cca1
mov rax, qword [rbp + 0x80]
mov rcx, qword [rax]
mov qword [rbp + 0x180], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x188], rax
lea rcx, [rbp + 0x180]
lea rdx, [rbp + 0x1a0]
sub rsp, 0x20
call fcn.1400823b0
mov rax, qword [rbp + 0x98]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0xfb
xor cl, 0xfb
cmp al, cl
jne 0x14008cca1
mov rax, qword [rbp + 0x68]
mov rcx, qword [rbp + 0x1a0]
mov qword [rax], rcx
mov rcx, qword [rbp + 0x1a8]
mov qword [rax + 8], rcx
lea rcx, [rbp + 0x1a0]
sub rsp, 0x20
call fcn.14000f979
mov rax, qword [rbp + 0x70]
add rsp, 0x20
lea rcx, [rbp + 0x1a0]
add rcx, 0x10
mov rdx, qword [rbp + 0x1b0]
mov qword [rax], rdx
mov rdx, qword [rbp + 0x1b8]
mov qword [rax + 8], rdx
sub rsp, 0x20
call fcn.14000f979
mov rax, qword [rbp + 0x70]
mov rcx, qword [rbp + 0x80]
add rsp, 0x20
mov rdx, qword [rax]
mov qword [rbp + 0x170], rdx
mov rax, qword [rax + 8]
mov qword [rbp + 0x178], rax
lea rdx, [rbp + 0x170]
sub rsp, 0x20
call fcn.140013b10
mov rcx, qword [rbp + 0x70]
call fcn.14000f979
mov rax, qword [rbp + 0x80]
add rsp, 0x20
mov rcx, qword [rax]
mov qword [rbp + 0x160], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x168], rax
lea rcx, [rbp + 0x160]
sub rsp, 0x20
call fcn.14008b480
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x98]
mov qword [rbp + 0x30], rcx
cmp byte [rax], 0
jne 0x14008cca1
mov cx, 0xd89c
xor cx, 0xda12
sub rsp, 0x20
call fcn.140060d20
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x98]
mov qword [rbp + 0x28], rcx
cmp byte [rax], 0
jne 0x14008cca1
mov rax, qword [rbp + 0x28]
mov rcx, qword [rbp + 0x30]
cmp rax, rcx
jg 0x14008c560
mov ecx, 0x10a
sub rsp, 0x20
call fcn.140060d20
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x98]
mov qword [rbp + 0x20], rcx
cmp byte [rax], 0
jne 0x14008cca1
mov rax, qword [rbp + 0x80]
mov r9, qword [rbp + 0x30]
mov r8, qword [rbp + 0x20]
mov rcx, qword [rax]
mov qword [rbp + 0x140], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x148], rax
lea rcx, [rbp + 0x150]
lea rdx, [rbp + 0x140]
sub rsp, 0x20
call fcn.140019d8c
mov rcx, qword [rbp + 0x80]
add rsp, 0x20
mov rdx, qword [rbp + 0x150]
mov rax, qword [rbp + 0x158]
mov qword [rbp + 0x130], rdx
mov qword [rbp + 0x138], rax
lea rdx, [rbp + 0x130]
sub rsp, 0x20
call fcn.140013b10
mov rcx, qword [rbp + 0x80]
add rsp, 0x20
xor eax, eax
mov dl, al
xor dl, 0
and dl, 1
sub rsp, 0x20
call fcn.14008b6a0
mov rax, qword [rbp + 0x98]
add rsp, 0x20
cmp byte [rax], 0
je 0x14008c9e7
jmp 0x14008cca1
mov word [rbp + 0x12e], 0x364
lea rcx, [rbp + 0x12e]
sub rsp, 0x20
call fcn.140060746
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x98]
mov qword [rbp + 0x18], rcx
mov al, byte [rax]
mov cl, 0xda
xor cl, 0xda
cmp al, cl
jne 0x14008c970
mov rax, qword [rbp + 0x18]
mov rcx, qword [rbp + 0x80]
mov rdx, qword [rcx]
mov qword [rbp + 0x118], rdx
mov rcx, qword [rcx + 8]
mov qword [rbp + 0x120], rcx
mov rcx, qword [rax]
mov qword [rbp + 0x108], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x110], rax
lea rcx, [rbp + 0x118]
lea rdx, [rbp + 0x108]
sub rsp, 0x20
call fcn.14008cf9a
add rsp, 0x20
test al, 1
jne 0x14008c7c9
mov word [rbp + 0x12c], 0x2a6
lea rcx, [rbp + 0x12c]
sub rsp, 0x20
call fcn.140060746
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x98]
mov qword [rbp + 0x10], rcx
cmp byte [rax], 0
jne 0x14008c970
mov rcx, qword [rbp + 0x40]
mov rax, qword [rbp + 0x10]
mov rdx, qword [rbp + 0x80]
mov r8, qword [rdx]
mov qword [rcx], r8
mov rdx, qword [rdx + 8]
mov qword [rcx + 8], rdx
mov rdx, qword [rax]
mov qword [rbp + 0xf8], rdx
mov rax, qword [rax + 8]
mov qword [rbp + 0x100], rax
lea rdx, [rbp + 0xf8]
sub rsp, 0x20
call fcn.14008cf9a
add rsp, 0x20
test al, 1
jne 0x14008c7c9
mov ecx, 0x138
sub rsp, 0x20
call fcn.140060d20
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x98]
mov qword [rbp + 8], rcx
cmp byte [rax], 0
jne 0x14008c970
mov rax, qword [rbp + 0x80]
mov rcx, qword [rbp + 8]
cmp qword [rax], rcx
je 0x14008c7c9
mov ecx, 0x6d
sub rsp, 0x20
call fcn.140060d20
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x98]
mov qword [rbp], rcx
cmp byte [rax], 0
jne 0x14008c970
mov rdx, qword [rbp]
mov rax, qword [rbp + 0x80]
mov r8, qword [rax]
mov qword [rbp - 0x10], r8
mov rax, r8
sub rax, rdx
mov qword [rbp - 8], rax
mov rcx, rax
xor rcx, r8
cmp rcx, 0
setl cl
xor rax, rdx
cmp rax, 0xffffffffffffffff
setg dl
xor eax, eax
xor al, 1
xor dl, al
mov al, cl
xor al, dl
and al, cl
test al, 1
jne 0x14008c726
jmp 0x14008c738
sub rsp, 0x20
call fcn.140008024
add rsp, 0x20
jmp 0x14008c970
mov rax, qword [rbp - 8]
mov rdx, qword [rbp - 0x10]
cmp rax, 0xffffffffffffffff
setg cl
cmp rax, rdx
setl dl
mov al, cl
and al, dl
xor al, 0xff
and cl, dl
xor edx, edx
xor dl, 1
xor cl, dl
and al, cl
xor al, 0xff
test al, 1
jne 0x14008c79a
mov rcx, qword [rbp - 8]
mov rdx, qword [rbp - 0x10]
mov rax, 0xffffffffffffffff
xor rax, 0xffffffffffffffff
xor r8d, r8d
sub r8, 1
sub rax, r8
sub rdx, rax
sub rsp, 0x20
call fcn.1400122ad
add rsp, 0x20
jmp 0x14008c970
mov rcx, qword [rbp - 8]
mov rax, qword [rbp + 0x60]
mov rax, qword [rax]
mov al, byte [rax + rcx + 8]
mov byte [rbp - 0x11], al
sub al, 0x2f
je 0x14008c7c9
jmp 0x14008c7b9
mov al, byte [rbp - 0x11]
sub al, 0x5c
jne 0x14008c975
jmp 0x14008c7c9
mov ecx, dword [0x1401cc278]
add ecx, dword [0x1401cc27c]
mov eax, ecx
or eax, 0xd018ef0a
xor eax, 0xffffffff
or ecx, 0xd018ef0a
xor ecx, 0xffffffff
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0x4d5b7d5e
mov r8d, 0xc2c34f77
xor r8d, 0x8f983229
mov ecx, 0xf9d0cda9
xor ecx, 0x62f3256
xor r8d, ecx
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x4d5b7d5e
mov r8d, 0xaed599f4
xor r8d, 0xe38ee4aa
or eax, r8d
imul eax, edx
add eax, ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0x9573564a
mov r8d, 0xffffffff
xor r8d, 0x9573564a
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x9573564a
or eax, 0x9573564a
imul eax, edx
add eax, ecx
mov ecx, 0x27e93f5a
xor ecx, 0x31d9eac5
cmp eax, ecx
jbe 0x14008cf0d
mov rcx, qword [rbp + 0x80]
mov edx, dword [0x1401cc280]
mov eax, 0x8cfe7abe
xor eax, 0x2cab9256
xor edx, eax
mov r8d, dword [0x1401cc284]
mov eax, edx
and eax, r8d
xor eax, 0xffffffff
and edx, r8d
mov r8d, 0x8d534681
xor r8d, 0x72acb97e
xor edx, r8d
xor eax, 0xffffffff
xor edx, 0xffffffff
or eax, edx
mov edx, eax
add edx, 1
xor eax, 0xffffffff
or eax, 0x2f40a630
add eax, edx
mov r9d, 0x954b9b64
xor r9d, 0xaa9d6eb9
mov edx, 0x35ba991c
xor edx, 0xca4566e3
xor r9d, edx
mov r8d, eax
and r8d, r9d
mov edx, eax
or edx, r9d
xor edx, 0xffffffff
imul edx, r8d
mov r8d, eax
and r8d, 0x3fd6f5dd
mov r9d, 0xebb054b
xor r9d, 0x316df096
or eax, r9d
imul eax, r8d
add eax, edx
mov r8d, 0xfddd1734
xor edx, edx
div r8d
mov dword [rbp - 0x18], eax
mov rax, qword [0x1401db908]
mov qword [rbp + 0xe8], rax
mov rax, qword [0x1401db910]
mov qword [rbp + 0xf0], rax
lea rdx, [rbp + 0xe8]
sub rsp, 0x20
call fcn.140013b10
mov eax, dword [rbp - 0x18]
add rsp, 0x20
cmp eax, 0xf32515f0
ja 0x14008cf0d
jmp 0x14008c9e7
jmp 0x14008cca1
mov word [rbp + 0xe6], 0x254
lea rcx, [rbp + 0xe6]
sub rsp, 0x20
call fcn.140060746
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x98]
mov qword [rbp - 0x20], rcx
cmp byte [rax], 0
jne 0x14008c9e2
mov rcx, qword [rbp + 0x80]
mov rax, qword [rbp - 0x20]
mov rdx, qword [rax]
mov qword [rbp + 0xd0], rdx
mov rax, qword [rax + 8]
mov qword [rbp + 0xd8], rax
lea rdx, [rbp + 0xd0]
sub rsp, 0x20
call fcn.140018d5d
add rsp, 0x20
jmp 0x14008c9e7
jmp 0x14008cca1
sub rsp, 0x20
mov cx, 0x24b
call fcn.140060d20
mov rcx, qword [rbp + 0x98]
add rsp, 0x20
mov rdx, rax
mov rax, qword [rbp + 0x80]
mov cl, byte [rcx]
mov rax, qword [rax]
sub rax, rdx
setne al
test cl, cl
movzx ecx, al
mov eax, ecx
lea ecx, [rax + rax*8]
mov eax, 2
cmove eax, ecx
mov dword [rbp - 0x24], eax
test eax, eax
je 0x14008cca1
jmp 0x14008ca36
mov eax, dword [rbp - 0x24]
sub eax, 2
je 0x14008cca1
jmp 0x14008ca47
mov eax, dword [rbp - 0x24]
sub eax, 9
jne 0x14008cf00
jmp 0x14008ca58
mov ecx, 0x327
sub rsp, 0x20
call fcn.140060d20
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x98]
mov qword [rbp - 0x30], rcx
cmp byte [rax], 0
jne 0x14008cca1
mov rax, qword [rbp - 0x30]
mov rcx, qword [rbp + 0x68]
mov rcx, qword [rcx]
mov qword [rbp - 0x38], rcx
cmp rax, rcx
jl 0x14008caac
mov rax, qword [rbp + 0x80]
mov rax, qword [rax]
mov qword [rbp - 0x40], rax
jmp 0x14008cbe7
mov cx, 0x5d2f
xor cx, 0x5ff3
sub rsp, 0x20
call fcn.140060d20
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x98]
mov qword [rbp - 0x48], rcx
cmp byte [rax], 0
jne 0x14008cca1
mov rcx, qword [rbp - 0x48]
mov rax, qword [rbp + 0x80]
mov rax, qword [rax]
cmp rax, rcx
mov qword [rbp - 0x40], rax
jne 0x14008cbe7
mov ecx, 0x26e
sub rsp, 0x20
call fcn.140060d20
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x98]
mov qword [rbp - 0x50], rcx
cmp byte [rax], 0
jne 0x14008cca1
mov rcx, qword [rbp - 0x50]
mov rdx, qword [rbp + 0x80]
test rcx, rcx
setns al
mov rdx, qword [rdx]
mov qword [rbp - 0x58], rdx
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x14008cb6d
mov rcx, qword [rbp - 0x50]
mov rax, qword [rbp - 0x58]
mov rdx, rax
and rdx, 0xffffffffffffffff
or rax, 0xffffffffffffffff
add rdx, rax
sub rsp, 0x20
call fcn.1400122ad
add rsp, 0x20
jmp 0x14008cca1
mov rcx, qword [rbp - 0x50]
mov rax, qword [rbp + 0x60]
mov rax, qword [rax]
mov al, byte [rax + rcx + 8]
mov byte [rbp - 0x59], al
sub al, 0x2f
je 0x14008cba5
jmp 0x14008cb8c
mov rax, qword [rbp - 0x58]
mov cl, byte [rbp - 0x59]
sub cl, 0x5c
mov qword [rbp - 0x40], rax
jne 0x14008cbe7
jmp 0x14008cba5
mov rax, qword [rbp + 0x68]
mov rcx, qword [rbp + 0x80]
mov rdx, qword [rax]
mov qword [rbp + 0xc0], rdx
mov rax, qword [rax + 8]
mov qword [rbp + 0xc8], rax
lea rdx, [rbp + 0xc0]
sub rsp, 0x20
call fcn.140013b10
mov rcx, qword [rbp + 0x68]
call fcn.14000f979
add rsp, 0x20
jmp 0x14008cca1
mov rcx, qword [rbp + 0x50]
mov rax, qword [rbp - 0x38]
mov rdx, qword [rbp - 0x40]
mov qword [rcx], 0
mov qword [rcx + 8], 0
add rdx, rax
sub rsp, 0x20
call fcn.1400197e0
mov rax, qword [rbp + 0x68]
mov rcx, qword [rbp + 0x50]
add rsp, 0x20
mov rdx, qword [rax]
mov qword [rbp + 0xb0], rdx
mov rax, qword [rax + 8]
mov qword [rbp + 0xb8], rax
lea rdx, [rbp + 0xb0]
sub rsp, 0x20
call fcn.14008d0e0
mov rdx, qword [rbp + 0x58]
mov rcx, qword [rbp + 0x50]
mov rax, qword [rbp + 0x80]
add rsp, 0x20
mov r8, qword [rax]
mov qword [rdx], r8
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.14008d0e0
mov rax, qword [rbp + 0x50]
mov rcx, qword [rbp + 0x80]
add rsp, 0x20
mov rdx, qword [rax]
mov qword [rbp + 0xa0], rdx
mov rax, qword [rax + 8]
mov qword [rbp + 0xa8], rax
lea rdx, [rbp + 0xa0]
sub rsp, 0x20
call fcn.140013b10
add rsp, 0x20
mov rax, qword [rbp + 0x90]
mov rcx, qword [rbp + 0x98]
mov dl, byte [rcx]
mov byte [rbp - 0x69], dl
mov dl, 0xc9
xor dl, 0xc9
mov byte [rcx], dl
mov rax, qword [rax]
mov qword [rbp - 0x68], rax
cmp rax, 0
je 0x14008cd47
mov rax, qword [rbp - 0x68]
mov rax, qword [rax]
movabs rcx, 0x9f0f41bce798d637
movabs rdx, 0x60f0be43186729c8
xor rcx, rdx
xor rax, rcx
mov rdx, 0xffffffffffffffff
movabs rcx, 0x4000000000000000
xor rdx, rcx
mov rcx, 0xffffffffffffffff
movabs r8, 0xf6075d6144516fc3
xor rcx, r8
or rax, rdx
movabs rdx, 0xf6075d6144516fc3
or rcx, rdx
xor rax, 0xffffffffffffffff
and rax, rcx
cmp rax, 0
jne 0x14008cd47
mov rcx, qword [rbp - 0x68]
sub rsp, 0x20
call fcn.14000e572
add rsp, 0x20
mov eax, dword [0x1401cc288]
xor eax, 0x7de7ca66
mov r8d, dword [0x1401cc28c]
mov r9d, r8d
xor r9d, 0xffffffff
mov edx, eax
and edx, r9d
mov ecx, eax
or ecx, r9d
mov r9d, 0xe2ae197f
xor r9d, 0x1d51e680
xor ecx, r9d
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
mov r8d, 0x6ee747b
xor r8d, 0x3790600
mov ecx, 0x4ac0f3f4
xor ecx, 0xb53f0c0b
xor r8d, ecx
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov r8d, 0xe8bb3a20
xor r8d, 0xed2c485b
mov edx, eax
and edx, r8d
or eax, 0x597727b
imul eax, edx
add eax, ecx
xor eax, 0x58e84621
mov ecx, 0x562aa2e7
xor ecx, 0x6132f440
xor eax, ecx
cmp eax, 0x7c0db66a
ja 0x14008cf16
mov rcx, qword [rbp + 0x88]
mov eax, dword [0x1401cc290]
mov edx, 0xe4616e44
xor edx, 0x9e23a5b5
xor eax, edx
xor edx, edx
div dword [0x1401cc294]
mov edx, eax
mov eax, edx
and eax, 0xed9ef1e0
mov r8d, 0xde58b832
xor r8d, 0x33c649d2
xor edx, r8d
or eax, edx
mov r8d, 0x7ca37a49
xor r8d, 0x386d5e2c
mov edx, 0x61c7c45b
xor edx, 0x9e383ba4
xor r8d, edx
mov edx, eax
and edx, r8d
mov r8d, eax
xor r8d, 0x44ce2465
add eax, r8d
sub eax, edx
xor eax, 0x78059c04
mov rcx, qword [rcx]
mov qword [rbp - 0x78], rcx
cmp rcx, 0
sete cl
mov byte [rbp - 0x6a], cl
cmp eax, 0x121e97c1
jb 0x14008cdee
mov al, byte [rbp - 0x6a]
test al, 1
jne 0x14008ceca
jmp 0x14008ce8b
mov rax, qword [rbp - 0x78]
mov rcx, qword [rax]
mov rdx, 0xffffffffffffffff
movabs rax, 0x4000000000000000
xor rdx, rax
mov rax, rcx
xor rax, rdx
and rax, rcx
cmp rax, 0
jne 0x14008ceca
mov rcx, qword [rbp - 0x78]
sub rsp, 0x20
call fcn.14000e572
add rsp, 0x20
lea rcx, [rbp + 0x1a0]
sub rsp, 0x20
call fcn.14005e3c0
mov rax, qword [rbp + 0x98]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0xc0
xor cl, 0xc0
cmp al, cl
jne 0x14008cf00
mov rax, qword [rbp + 0x98]
mov cl, byte [rbp - 0x69]
mov byte [rax], cl
mov rax, qword [rbp + 0x38]
lea rsp, [rbp + 0x1c0]
pop rbp
ret
invalid
shl ebp, cl
shr cl, 0xcf
invalid