Function at 0x14009c640
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0xd0
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x48], rcx
mov eax, dword [0x1401f78a8]
xor eax, 0x988992d2
mov edx, dword [0x1401f78ac]
mov ecx, eax
xor ecx, edx
mov r8d, 0xfa02f07e
xor r8d, 0x5fd0f81
xor edx, r8d
and eax, edx
shl eax, 1
sub eax, ecx
mov ecx, 0x99234dd7
xor edx, edx
div ecx
mov ecx, 0x5fac07ff
xor edx, edx
div ecx
mov ecx, 0x4dd66c01
xor ecx, 0x3f94a819
xor edx, edx
div ecx
mov ecx, 0x20eb1161
xor ecx, 0x88d066ab
cmp eax, ecx
je 0x14009d001
mov ecx, dword [0x1401f78b0]
mov eax, dword [0x1401f78b4]
xor eax, 0x498a27c
mov edx, ecx
not edx
or edx, eax
mov eax, ecx
mov ecx, edx
lea eax, [rax + rcx + 1]
or eax, 0x807a9080
and eax, 0x8c7af0c4
add eax, 0x7dc56a0d
mov dword [rbp + 0x2c], eax
mov eax, 0x30
call fcn.1401f2390
sub rsp, rax
mov rax, rsp
mov qword [rbp], rax
mov eax, 0x10
mov qword [rbp + 8], rax
call fcn.1401f2390
sub rsp, rax
mov rax, qword [rbp + 8]
mov rcx, rsp
mov qword [rbp + 0x10], rcx
call fcn.1401f2390
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x18], rax
sub rsp, 0x20
call fcn.14009d02e
add rsp, 0x20
mov qword [rbp + 0x20], rax
sub rsp, 0x20
call fcn.14009d02e
mov rcx, qword [rbp + 0x20]
add rsp, 0x20
mov rdx, rax
mov eax, dword [rbp + 0x2c]
add rdx, 0x50
mov qword [rbp + 0x30], rdx
mov rdx, rcx
add rdx, 0x2b61
mov qword [rbp + 0x38], rdx
cmp byte [rcx + 0x2b61], 0
sete cl
mov byte [rbp + 0x47], cl
cmp eax, 0xbe2d4b77
ja 0x14009c6b4
mov al, byte [rbp + 0x47]
test al, 1
jne 0x14009c78a
jmp 0x14009c91e
sub rsp, 0x20
call fcn.14009d02e
add rsp, 0x20
xor eax, eax
mov qword [rbp - 8], rax
mov rax, qword [rbp - 8]
mov qword [rbp - 0x10], rax
mov ecx, dword [0x1401f78b8]
mov eax, dword [0x1401f78bc]
xor eax, 0x4b330a5e
sub ecx, eax
and ecx, 0x3a926ac7
mov edx, 0x420ad75c
xor edx, 0xbdf528a3
mov eax, ecx
xor eax, edx
and eax, 0x4825f2c3
mov edx, 0xffffffff
xor edx, 0x4825f2c3
and ecx, edx
or eax, ecx
or eax, 0x32159592
cmp eax, 0x500340b
jbe 0x14009d00a
mov rcx, qword [rbp - 0x10]
mov eax, dword [0x1401f78c0]
mov edx, dword [0x1401f78c4]
xor edx, 0x724ce871
add eax, edx
mov edx, eax
and edx, 0x56be3b67
shl edx, 1
add eax, 0x56be3b67
sub eax, edx
mov r9d, 0xb268a5
xor r9d, 0xc35bd7f3
mov edx, 0x9a3fb928
xor edx, 0x65c046d7
xor r9d, edx
mov r8d, eax
and r8d, r9d
mov edx, eax
or edx, r9d
mov r9d, 0x9176f1ea
xor r9d, 0x6e890e15
xor edx, r9d
imul edx, r8d
mov r9d, 0x321bbcbb
xor r9d, 0xf1f203ed
mov r8d, eax
and r8d, r9d
or eax, 0xc3e9bf56
imul eax, r8d
add eax, edx
mov r8d, 0xe4921d9
xor edx, edx
div r8d
cmp rcx, 0x30
sete cl
mov byte [rbp - 0x11], cl
cmp eax, 0x83694b33
je 0x14009d00a
mov al, byte [rbp - 0x11]
test al, 1
jne 0x14009c8c1
jmp 0x14009c8a3
mov rax, qword [rbp - 0x10]
mov rcx, qword [rbp]
mov byte [rcx + rax], 0
xor ecx, ecx
sub rcx, 1
sub rax, rcx
mov qword [rbp - 8], rax
jmp 0x14009c79d
mov rdx, qword [rbp]
mov ecx, 4
sub rsp, 0x20
call fcn.140098d90
mov rax, qword [rbp + 0x30]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14009c919
mov rdx, qword [rbp]
mov rcx, qword [rbp + 0x20]
add rcx, 0x2b30
sub rsp, 0x20
call fcn.140098c8f
mov rax, qword [rbp + 0x30]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14009c919
mov rax, qword [rbp + 0x38]
mov byte [rax], 1
jmp 0x14009c99b
jmp 0x14009cff7
mov rax, qword [rbp + 0x30]
mov rcx, qword [rbp + 0x20]
add rcx, 0x2b30
mov qword [rbp - 0x20], rcx
cmp byte [rax], 0
jne 0x14009cff7
mov rax, qword [rbp + 0x20]
cmp qword [rax + 0x2b50], 0x80
jle 0x14009c99b
mov rcx, qword [rbp - 0x20]
movabs rdx, 0x891983e18f089539
movabs rax, 0x891983e18f089579
xor rdx, rax
movabs r8, 0x134a1490e701166d
movabs rax, 0x134a1490e701166d
xor r8, rax
sub rsp, 0x20
call fcn.140099240
mov rax, qword [rbp + 0x30]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14009cff7
mov rdx, qword [rbp + 0x10]
mov rcx, qword [rbp + 0x20]
mov rax, qword [rbp + 0x48]
mov r8, qword [rax]
mov qword [rdx], r8
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
add rcx, 0x2b30
mov qword [rbp - 0x28], rcx
sub rsp, 0x20
call fcn.14009ad70
mov rax, qword [rbp + 0x30]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14009cff7
sub rsp, 0x20
call fcn.14009d02e
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x20]
mov rax, qword [rax + 0x2b50]
mov qword [rbp - 0x38], rax
xor eax, eax
cmp byte [rcx + 0x50], 0
mov qword [rbp - 0x30], rax
jne 0x14009cfb5
mov rcx, qword [rbp - 0x38]
xor eax, eax
mov edx, eax
sub rdx, rcx
xor eax, eax
sub rax, 0xffffffffffffffff
add rdx, rax
xor eax, eax
sub rax, rdx
mov qword [rbp - 0x40], rax
mov r8, rax
xor r8, rcx
xor r8, 0xffffffffffffffff
mov rdx, rcx
and rdx, r8
shl rdx, 1
sub rdx, rcx
mov rcx, rax
sub rcx, rdx
cmp rcx, 0
setl dl
cmp rax, 0xffffffffffffffff
setg cl
mov r8b, 1
xor r8b, 0
mov al, cl
xor al, r8b
mov r8b, 1
xor r8b, 0
xor cl, r8b
and al, cl
mov cl, dl
xor cl, 0xff
xor dl, 0xff
and cl, dl
mov dl, 1
xor dl, 0
xor al, dl
mov dl, 1
xor dl, 0
xor cl, dl
and al, cl
test al, 1
jne 0x14009ca90
jmp 0x14009cbab
mov r11d, dword [0x1401f78c8]
xor r11d, 0xaf266058
mov r10d, dword [0x1401f78cc]
mov eax, 0x3141fd6e
xor eax, 0xcebe0291
mov ecx, r11d
xor ecx, eax
mov eax, 0x17de0c0b
xor eax, 0xe821f3f4
mov r8d, r10d
xor r8d, eax
mov edx, 0xcfd3d1f6
xor edx, 0xbcf3cb35
mov eax, 0xe9042d4
xor eax, 0xf16fbd2b
xor edx, eax
mov r9d, 0xe0c8e78
xor r9d, 0x7d2c94bb
mov eax, ecx
and eax, r9d
and r11d, edx
mov r9d, r8d
and r9d, 0x73201ac3
and r10d, edx
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, r8d
xor ecx, 0xffffffff
or edx, 0x73201ac3
and ecx, edx
or eax, ecx
xor eax, 0x1971c9f2
mov ecx, eax
xor ecx, 0x269c71e0
xor ecx, 0xffffffff
and ecx, 0x269c71e0
shl ecx, 1
sub ecx, 0x269c71e0
sub eax, ecx
mov ecx, 0xf43dac6
xor edx, edx
div ecx
cmp eax, 0xedd82641
je 0x14009d013
mov eax, dword [0x1401f78d0]
mov ecx, dword [0x1401f78d4]
add eax, 0xae6a5384
add eax, ecx
mov ecx, 0x821e73a1
xor ecx, 0x2c742025
sub eax, ecx
xor eax, 0x19aad38b
sub eax, 0x3f64d02d
mov ecx, 0xeb33e3dd
xor ecx, 0x2fc200a7
xor eax, ecx
mov dword [rbp - 0x44], eax
sub rsp, 0x20
call fcn.140009cc0
mov eax, dword [rbp - 0x44]
add rsp, 0x20
cmp eax, 0x77713a2c
je 0x14009d013
xor eax, eax
mov qword [rbp - 0x30], rax
jmp 0x14009cfb5
mov rax, qword [rbp - 0x38]
movabs rcx, 0x8000000000000000
cmp rax, rcx
jne 0x14009cd0a
mov eax, dword [0x1401f78d8]
imul eax, dword [0x1401f78dc]
mov ecx, 0xa651a294
xor ecx, 0xee395e9e
and eax, ecx
mov ecx, 0xffffffff
xor ecx, 0x2a0b3005
add eax, ecx
mov ecx, 0x3a38beb1
xor ecx, 0x3a38beb0
add eax, ecx
or eax, 0xc53fbb2a
mov ecx, 0x2e85a6f2
xor ecx, 0x3dc466b7
cmp eax, ecx
jb 0x14009d01c
mov eax, dword [0x1401f78e0]
xor edx, edx
div dword [0x1401f78e4]
xor ecx, ecx
sub ecx, 0x8a3fabed
sub eax, ecx
mov ecx, 0x21bf4fe0
xor ecx, 0x2b55d04e
add eax, ecx
mov ecx, 0xdf1d11b0
xor ecx, 0x929012d3
add eax, ecx
mov ecx, 0x483cb837
xor ecx, 0xfab5cc
add eax, ecx
sub eax, 0x4d8d0363
mov dword [rbp - 0x48], eax
movabs rcx, 0x55a6fee6abcff37
movabs rax, 0x55a6fee6abcff77
xor rcx, rax
movabs rdx, 0x223273295fe7d37e
movabs rax, 0x223273295fe7d376
xor rdx, rax
sub rsp, 0x20
call fcn.140013970
add rsp, 0x20
mov rcx, rax
mov rax, qword [0x1402090a8]
mov qword [rcx], rax
lea rax, [0x1402075d9]
mov qword [rcx + 0x10], rax
mov rax, qword [0x140207608]
mov qword [rcx + 0x18], rax
mov rax, qword [0x140207610]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
lea rdx, [0x1402075d9]
lea r8, [0x1402075e5]
lea r9, str.XeVKpW2_
sub rsp, 0x30
mov qword [rsp + 0x20], 0x12cf9208
call fcn.14001302b
mov eax, dword [rbp - 0x48]
add rsp, 0x30
cmp eax, 0x6f43111b
jbe 0x14009cc0e
xor eax, eax
mov qword [rbp - 0x30], rax
jmp 0x14009cfb5
mov rax, qword [rbp - 0x40]
movabs rcx, 0x4bb65819be586db8
movabs rdx, 0x4bb65819be586db8
xor rcx, rdx
cmp rax, rcx
jge 0x14009cdb1
mov ecx, 0x40
mov edx, 8
sub rsp, 0x20
call fcn.140013970
add rsp, 0x20
mov rcx, rax
mov rax, qword [0x1402090a8]
mov qword [rcx], rax
lea rax, [0x1402075d9]
mov qword [rcx + 0x10], rax
mov rax, qword [0x140207608]
mov qword [rcx + 0x18], rax
mov rax, qword [0x140207610]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
lea rdx, [0x1402075d9]
lea r8, [0x1402075e5]
lea r9, str.XeVKpW2_
sub rsp, 0x30
mov qword [rsp + 0x20], 0x558b6ee5
call fcn.14001302b
add rsp, 0x30
xor eax, eax
mov qword [rbp - 0x30], rax
jmp 0x14009cfb5
mov r8, qword [rbp - 0x40]
mov rax, qword [rbp + 0x20]
mov rdx, qword [rax + 0x2b40]
mov rax, rdx
and rax, r8
shl rax, 1
mov rcx, rdx
xor rcx, r8
add rcx, rax
mov qword [rbp - 0x50], rcx
mov rax, rcx
xor rax, rdx
mov r9, rcx
xor r9, 0xffffffffffffffff
mov rdx, r8
and rdx, r9
xor r8, 0xffffffffffffffff
and rcx, r8
or rdx, rcx
xor rax, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
mov rcx, 0xffffffffffffffff
movabs r8, 0x2a7b3ee87bceda0a
xor rcx, r8
or rax, rdx
movabs rdx, 0x2a7b3ee87bceda0a
or rcx, rdx
xor rax, 0xffffffffffffffff
and rax, rcx
cmp rax, 0
jge 0x14009cf3f
mov eax, dword [0x1401f78e8]
xor eax, 0x24fe58fa
mov edx, dword [0x1401f78ec]
xor edx, 0x955a1555
mov ecx, eax
xor ecx, edx
xor edx, 0xffffffff
and eax, edx
shl eax, 1
sub eax, ecx
xor ecx, ecx
sub ecx, eax
mov eax, 0x3ccb5392
xor eax, 0x3ccb5392
mov edx, 0x4f8bdbae
xor edx, 0x6c0b5331
sub eax, edx
add ecx, eax
mov eax, 0x5391c6e
xor eax, 0x5391c6e
sub eax, ecx
mov edx, 0xca61f178
xor edx, 0xaba2ca53
mov ecx, eax
xor ecx, edx
xor ecx, 0xffffffff
and ecx, 0x61c33b2b
shl ecx, 1
mov edx, 0xa3e6bedd
xor edx, 0xc22585f6
sub ecx, edx
sub eax, ecx
mov ecx, 0x50bb981f
xor edx, edx
div ecx
mov ecx, 0x51de9b06
xor ecx, 0x8c4994be
cmp eax, ecx
ja 0x14009d025
mov eax, dword [0x1401f78f0]
sub eax, dword [0x1401f78f4]
mov ecx, 0x8555211f
xor ecx, 0xa538bb7f
xor edx, edx
div ecx
mov ecx, eax
mov eax, ecx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0x6950d99d
and ecx, 0x6950d99d
mov edx, 0x543f558c
xor edx, 0xabc0aa73
xor ecx, edx
and eax, ecx
xor eax, 0xffffffff
mov ecx, 0xf1949507
xor ecx, 0xe6fe0905
add eax, ecx
mov dword [rbp - 0x54], eax
sub rsp, 0x20
call fcn.140009cc0
mov eax, dword [rbp - 0x54]
add rsp, 0x20
cmp eax, 0x243b0191
je 0x14009d025
xor eax, eax
mov qword [rbp - 0x30], rax
jmp 0x14009cfb5
mov rdx, qword [rbp - 0x28]
mov rax, qword [rbp - 0x50]
mov rcx, qword [rbp + 0x20]
mov rcx, qword [rcx + 0x2b58]
and rcx, rax
mov qword [rbp - 0x68], rcx
setns al
mov rdx, qword [rdx]
mov qword [rbp - 0x60], rdx
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x14009cf97
mov rcx, qword [rbp - 0x68]
mov rdx, qword [rbp - 0x60]
add rdx, 0xffffffffffffffff
sub rsp, 0x20
call fcn.140013c92
add rsp, 0x20
xor eax, eax
mov qword [rbp - 0x30], rax
jmp 0x14009cfb5
mov rcx, qword [rbp - 0x68]
mov rax, qword [rbp + 0x20]
mov rax, qword [rax + 0x2b38]
add rax, 8
shl rcx, 4
add rax, rcx
mov qword [rbp - 0x30], rax
mov rax, qword [rbp + 0x30]
mov rcx, qword [rbp - 0x30]
mov qword [rbp - 0x70], rcx
mov al, byte [rax]
mov cl, 0xe4
xor cl, 0xe4
cmp al, cl
jne 0x14009cff7
mov rcx, qword [rbp + 0x18]
mov rax, qword [rbp - 0x70]
mov rdx, qword [rax]
mov qword [rcx], rdx
mov rax, qword [rax + 8]
mov qword [rcx + 8], rax
sub rsp, 0x20
call fcn.14009d03c
add rsp, 0x20
mov qword [rbp - 0x78], rax
mov rax, qword [rbp - 0x78]
lea rsp, [rbp + 0x50]
pop rbp
ret
or dl, byte [rbx - 0x69]
stc
jmp 0x14009c6b4
mov dh, 0x87
jbe 0x14009d043
jmp 0x14009c7f1
invalid
sbb dword [rdi], ecx
test eax, 0xfffb2fe9
call qword [rcx - 0x160d75cb]
jmp 0x12c09d021
xchg ecx, eax
xor eax, 0xe9e9f28a
sti
invalid
jmp 0x14009d014
and al, 0x20