Function at 0x140097ff0
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x140
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x60], rcx
mov eax, 0x10
call fcn.1401c7680
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x58], rax
sub rsp, 0x20
call fcn.1400972f2
mov rcx, qword [rbp + 0x60]
add rsp, 0x20
mov qword [rbp + 0x68], rax
mov rax, rcx
add rax, 0x28
mov qword [rbp + 0x70], rax
mov rax, qword [rcx + 0x28]
cmp rax, 0
mov qword [rbp + 0x78], rax
jne 0x1400981e9
mov ecx, 4
sub rsp, 0x20
call fcn.140032cac
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x68]
mov qword [rbp + 0x50], rcx
cmp byte [rax], 0
jne 0x140098b52
mov rdx, qword [rbp + 0x50]
mov rax, rdx
add rax, 0xffffffffffffffff
mov qword [rbp + 0x48], rax
mov rcx, rax
xor rcx, rdx
cmp rcx, 0
setl dl
cmp rax, 0xffffffffffffffff
setg al
mov cl, al
xor cl, dl
xor cl, 0xff
or al, dl
and al, cl
test al, 1
jne 0x1400980ab
jmp 0x1400980bd
sub rsp, 0x20
call fcn.140008024
add rsp, 0x20
jmp 0x140098b52
mov ecx, dword [0x1401cc5a8]
and ecx, dword [0x1401cc5ac]
or ecx, 0x695d0954
mov eax, ecx
and eax, 0x22cc3301
xor eax, 0xffffffff
mov edx, 0x86d24a7f
xor edx, 0x792db580
xor ecx, edx
mov edx, 0xffffffff
xor edx, 0x22cc3301
or ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
or eax, 0xc90c5e04
cmp eax, 0xf4013878
ja 0x140098b5b
mov rcx, qword [rbp + 0x50]
mov rdx, qword [rbp + 0x70]
mov r8, qword [rbp + 0x48]
mov eax, dword [0x1401cc5b0]
xor eax, 0xd260827b
and eax, dword [0x1401cc5b4]
add eax, 0xdf883a54
mov r10d, eax
xor r10d, 0xdf55e68c
xor r10d, 0xffffffff
and r10d, 0xdf55e68c
mov r9d, 0x7503f220
xor r9d, 0x7503f222
imul r9d, r10d
sub r9d, 0xdf55e68c
sub eax, r9d
mov r9d, 0x3f2b7967
xor r9d, 0x3f2b7967
mov r10d, 0x23015369
xor r10d, 0xe45ae832
sub r9d, r10d
add eax, r9d
mov qword [rdx], r8
cmp rcx, 0
setl cl
mov byte [rbp + 0x47], cl
cmp eax, 0x669878fc
jae 0x14009810b
mov al, byte [rbp + 0x47]
test al, 1
jne 0x1400981a5
jmp 0x1400981c9
mov rcx, qword [rbp + 0x50]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.14000c8ac
add rsp, 0x20
jmp 0x140098b52
mov rdx, qword [rbp + 0x50]
mov rcx, qword [rbp + 0x60]
sub rsp, 0x20
call fcn.14001d11e
mov rax, qword [rbp + 0x70]
add rsp, 0x20
mov rax, qword [rax]
mov qword [rbp + 0x78], rax
mov rcx, qword [rbp + 0x78]
movabs rax, 0x9e96761c4600703d
movabs rdx, 0x9e96761c4600703c
xor rax, rdx
mov rdx, rcx
and rdx, rax
shl rdx, 1
mov rax, rcx
xor rax, 1
add rax, rdx
mov qword [rbp + 0x38], rax
xor rcx, 0xffffffffffffffff
and rax, rcx
movabs rcx, 0xb8f7a624c0183b86
movabs rdx, 0xb8f7a624c0183b86
xor rcx, rdx
cmp rax, rcx
jge 0x1400982e1
mov eax, dword [0x1401cc5b8]
xor eax, 0x1a2be03c
sub eax, dword [0x1401cc5bc]
mov ecx, 0x9e31e7d4
xor ecx, 0xea7d757a
or eax, ecx
xor eax, 0xd9fc0fef
mov ecx, 0x4baa6772
xor ecx, 0xf5497b20
xor edx, edx
div ecx
cmp eax, 0xae39c2c
jae 0x140098b64
mov eax, dword [0x1401cc5c0]
mov ecx, dword [0x1401cc5c4]
mov edx, 0xb9a374ec
xor edx, 0xe10a998f
xor ecx, edx
xor edx, edx
div ecx
add eax, 0xe1b472a7
mov ecx, 0xf7d12ed6
xor ecx, 0x60c8999a
sub eax, ecx
sub eax, 0xe1b472a7
xor eax, 0x15ff12c3
sub eax, 0x3db8d082
mov dword [rbp + 0x34], eax
sub rsp, 0x20
call fcn.140008024
mov eax, dword [rbp + 0x34]
add rsp, 0x20
cmp eax, 0x43cc7756
ja 0x140098280
jmp 0x140098b52
mov eax, dword [0x1401cc5c8]
mov edx, dword [0x1401cc5cc]
xor edx, 0xffffffff
mov ecx, eax
xor ecx, edx
and ecx, eax
mov eax, ecx
and eax, 0xfe14aac1
xor ecx, 0xfe14aac1
or eax, ecx
add eax, 0xa69158d3
mov ecx, 0xdaa27283
xor ecx, 0xaba9d89
or eax, ecx
cmp eax, 0xffddff6
je 0x140098b6d
mov rcx, qword [rbp + 0x38]
mov eax, dword [0x1401cc5d0]
or eax, dword [0x1401cc5d4]
mov r8d, 0xa747e04b
xor edx, edx
div r8d
mov rdx, qword [rbp + 0x60]
mov r8d, eax
and r8d, 0x83edffd
mov eax, r8d
xor eax, 0xffffffff
xor r8d, 0xffffffff
and eax, r8d
mov r8d, 0xffffffff
xor r8d, 0x2f40a630
mov r9d, 0xffffffff
xor r9d, 0x2f40a630
and r8d, r9d
mov r9d, 0xf68f4307
xor r9d, 0x970bcf8
xor eax, r9d
xor r8d, 0xffffffff
and eax, r8d
mov r8, rdx
add r8, 0x20
mov qword [rbp + 0x28], r8
cmp rcx, qword [rdx + 0x20]
setg cl
mov byte [rbp + 0x33], cl
cmp eax, 0x1cae7263
je 0x140098322
mov al, byte [rbp + 0x33]
test al, 1
jne 0x140098b52
jmp 0x1400983bc
mov rcx, qword [rbp + 0x38]
lea rdx, [rbp + 0xb8]
sub rsp, 0x20
call fcn.140098bb0
add rsp, 0x20
test al, 1
jne 0x1400983e1
jmp 0x1400983f3
sub rsp, 0x20
call fcn.140008024
add rsp, 0x20
jmp 0x140098b52
mov rax, qword [rbp + 0xb8]
mov qword [rbp + 0x20], rax
cmp rax, 0
jge 0x1400984fc
mov eax, dword [0x1401cc5d8]
xor edx, edx
div dword [0x1401cc5dc]
add eax, 0xb8fb0928
mov r8d, 0xffffffff
xor r8d, 0x3a18b299
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x3a18b299
or eax, 0x3a18b299
imul eax, edx
add eax, ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0x597727b
mov r8d, 0xffffffff
xor r8d, 0x597727b
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x597727b
or eax, 0x597727b
imul eax, edx
add eax, ecx
mov ecx, 0x52435042
xor ecx, 0xbddb6163
cmp eax, ecx
ja 0x140098b76
mov rcx, qword [rbp + 0x20]
mov eax, dword [0x1401cc5e0]
and eax, dword [0x1401cc5e4]
mov edx, eax
add edx, 1
xor eax, 0xffffffff
or eax, 0x84ff06cb
add eax, edx
mov r8d, 0x820bc969
xor edx, edx
div r8d
or eax, 0xed9ef1e0
mov dword [rbp + 0x1c], eax
mov eax, 0xf9c4403b
xor eax, 0xaebdcc07
mov dword [rbp + 0x18], eax
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.14000c8ac
mov ecx, dword [rbp + 0x18]
mov eax, dword [rbp + 0x1c]
add rsp, 0x20
cmp eax, ecx
je 0x140098b76
jmp 0x140098b52
mov rdx, qword [rbp + 0x20]
lea rcx, [rbp + 0xa0]
sub rsp, 0x20
call fcn.14001d148
mov r8, qword [rbp + 0x60]
mov rax, qword [rbp + 0x58]
add rsp, 0x20
mov rdx, qword [rbp + 0xa0]
mov qword [rbp - 0x28], rdx
mov rcx, qword [rbp + 0xa8]
mov qword [rbp - 0x20], rcx
mov rcx, r8
add rcx, 0x10
mov qword [rbp - 0x18], rcx
mov rcx, qword [r8 + 0x10]
add r8, 8
mov qword [rbp - 0x10], r8
add rax, 8
mov qword [rbp - 8], rax
xor eax, eax
test rdx, rdx
cmovg rax, rdx
mov qword [rbp], rax
xor eax, eax
mov qword [rbp + 8], rcx
mov qword [rbp + 0x10], rax
mov rax, qword [rbp + 8]
mov rcx, qword [rbp + 0x10]
mov qword [rbp - 0x38], rcx
mov qword [rbp - 0x30], rax
mov eax, dword [0x1401cc5e8]
or eax, dword [0x1401cc5ec]
mov ecx, 0x9e303d7a
xor ecx, 0x42c8c7b
imul eax, ecx
xor ecx, ecx
sub ecx, 0x97bd5674
add eax, ecx
mov ecx, 0xe9145837
xor ecx, 0xfbec76ac
and eax, ecx
cmp eax, 0xac70994c
ja 0x140098b7f
mov rcx, qword [rbp - 0x38]
mov eax, dword [0x1401cc5f0]
mov edx, 0xf2ac93e7
xor edx, 0x6daf3e3f
xor eax, edx
sub eax, dword [0x1401cc5f4]
mov r8d, 0xa9757c92
xor edx, edx
div r8d
mov rdx, qword [rbp + 0x28]
imul eax, eax, 0x7f03dd54
mov r8d, eax
xor r8d, 0x5da8c70a
mov r9d, 0x17b02e22
xor r9d, 0xe84fd1dd
xor r8d, r9d
or eax, 0x5da8c70a
and eax, r8d
cmp rcx, qword [rdx]
setl cl
mov byte [rbp - 0x39], cl
cmp eax, 0x590289be
jb 0x140098b7f
mov al, byte [rbp - 0x39]
test al, 1
jne 0x14009862c
jmp 0x140098a2a
mov eax, dword [0x1401cc5f8]
add eax, dword [0x1401cc5fc]
mov ecx, 0x1fe03195
xor edx, edx
div ecx
add eax, 0x100cff55
and eax, 0xeccf08c8
mov ecx, 0x2e2b64f8
xor ecx, 0xc65a9f43
cmp eax, ecx
ja 0x140098b88
mov r8, qword [rbp - 0x30]
mov r9, qword [rbp + 0x60]
mov ecx, dword [0x1401cc600]
mov edx, dword [0x1401cc604]
mov eax, ecx
and eax, edx
not eax
not ecx
not edx
or ecx, edx
and eax, ecx
xor eax, 0x14004000
or eax, 0x62011960
and eax, 0xf6075d60
mov ecx, 0x1b77ba96
test r8, r8
setns dl
mov r9, qword [r9]
mov qword [rbp - 0x48], r9
sub r8, r9
setl r8b
and dl, r8b
mov byte [rbp - 0x3a], dl
cmp eax, ecx
jbe 0x140098b88
mov al, byte [rbp - 0x3a]
test al, 1
jne 0x1400986e4
jmp 0x1400986c6
mov rcx, qword [rbp - 0x30]
mov rdx, qword [rbp - 0x48]
add rdx, 0xffffffffffffffff
sub rsp, 0x20
call fcn.1400122ad
add rsp, 0x20
jmp 0x140098b52
mov r8d, dword [str.oP_ng]
xor r8d, 0x33a81432
mov edx, dword [0x1401cc60c]
mov eax, r8d
xor eax, 0xffffffff
and eax, 0x459126c3
mov r9d, 0xffffffff
xor r9d, 0x459126c3
and r8d, r9d
mov ecx, edx
xor ecx, 0xffffffff
and ecx, 0x459126c3
and edx, r9d
or eax, r8d
or ecx, edx
xor eax, ecx
mov ecx, 0x6e2ed8b9
xor ecx, 0xcad43fe6
sub eax, ecx
mov ecx, 0x18260fb1
xor ecx, 0x93ba6e1e
add eax, ecx
add eax, 0xa4fae75f
add eax, 0x163e186a
or eax, 0x4bbafccf
cmp eax, 0xe13151fd
ja 0x140098b91
mov rcx, qword [rbp - 0x38]
mov eax, dword [0x1401cc610]
mov r8d, dword [0x1401cc614]
and eax, eax
xor eax, 0xffffffff
mov edx, r8d
xor edx, 0xffffffff
mov r9d, 0xbe5997a6
xor r9d, 0x41a66859
xor r8d, r9d
or edx, r8d
xor eax, 0xffffffff
xor edx, 0xffffffff
or eax, edx
mov edx, 0xd183e6bd
xor edx, 0x389bfdc8
and eax, edx
mov r8d, 0xcef0ab65
xor edx, edx
div r8d
mov r8d, 0xe0841173
xor r8d, 0xa344d50d
xor edx, edx
div r8d
mov rdx, qword [rbp]
cmp rcx, rdx
sete cl
mov byte [rbp - 0x49], cl
cmp eax, 0x18bd2779
jae 0x140098b91
mov al, byte [rbp - 0x49]
test al, 1
jne 0x1400987e5
jmp 0x140098819
mov rcx, qword [rbp]
mov rdx, qword [rbp - 0x28]
movabs rax, 0x47851f65e96b4219
movabs r8, 0xb87ae09a1694bde6
xor rax, r8
add rdx, rax
sub rsp, 0x20
call fcn.1400122ad
add rsp, 0x20
jmp 0x140098b52
mov ecx, dword [0x1401cc618]
xor ecx, dword [0x1401cc61c]
mov eax, ecx
xor eax, 0xffffffff
mov edx, 0x60af6d69
xor edx, 0x3132392f
mov r8d, 0xd3e3d39f
xor r8d, 0x2c1c2c60
xor edx, r8d
and eax, edx
mov edx, 0x75a5f627
xor edx, 0x8a5a09d8
xor ecx, edx
mov edx, 0xffffffff
xor edx, 0x519d5446
and ecx, edx
or eax, ecx
xor eax, 0xffffffff
mov ecx, eax
xor ecx, 0x5df89802
mov edx, 0xffffffff
xor edx, 0x5df89802
and eax, edx
shl eax, 1
sub eax, ecx
or eax, 0x8ab20314
mov ecx, 0x10104240
xor ecx, 0x429adecd
cmp eax, ecx
je 0x140098b9a
mov rax, qword [rbp - 0x30]
mov rcx, qword [rbp - 0x10]
mov r8d, dword [0x1401cc620]
sub r8d, dword [0x1401cc624]
xor r8d, 0xffffffff
mov edx, 0x13641b1d
xor edx, 0xd034aefe
mov r9d, 0x64543d5a
xor r9d, 0x9babc2a5
xor edx, r9d
mov r9d, 0xffffffff
xor r9d, 0xc2a27b93
or r8d, edx
mov edx, 0x8092d0c4
xor edx, 0x4230ab57
or edx, r9d
mov r9d, 0xb5e0abae
xor r9d, 0x4a1f5451
xor r8d, r9d
and r8d, edx
mov edx, r8d
xor edx, 0xffffffff
mov r9d, r8d
xor r9d, 0xffffffff
and edx, r9d
mov r9d, 0x12da8dda
xor r9d, 0xb9562f83
mov r10d, 0x813e3819
xor r10d, 0x2ab29a40
or r9d, r10d
mov r10d, 0xdb79997c
xor r10d, 0x24866683
xor r9d, r10d
xor edx, 0xffffffff
xor r9d, 0xffffffff
and edx, r9d
or r8d, 0xab8ca259
xor r8d, 0xffffffff
xor edx, 0xffffffff
xor r8d, 0xffffffff
and edx, r8d
xor r8d, r8d
sub r8d, 0x366e99fc
add edx, r8d
mov dword [rbp - 0x64], edx
mov rcx, qword [rcx]
add rcx, 8
shl rax, 4
add rcx, rax
mov rax, qword [rcx]
mov qword [rbp - 0x78], rax
mov rax, qword [rcx + 8]
mov qword [rbp - 0x70], rax
sub rsp, 0x20
call fcn.14000f979
mov rcx, qword [rbp - 0x20]
mov r9, qword [rbp - 0x78]
mov r8, qword [rbp - 0x70]
mov rax, qword [rbp - 8]
mov rdx, qword [rbp + 0x58]
mov r10, qword [rbp - 0x38]
add rsp, 0x20
add rcx, 8
shl r10, 4
add rcx, r10
mov qword [rdx], r9
mov qword [rax], r8
sub rsp, 0x20
call fcn.140013b10
mov r9, qword [rbp - 0x38]
mov rcx, qword [rbp - 0x30]
mov rdx, qword [rbp + 0x70]
mov eax, dword [rbp - 0x64]
add rsp, 0x20
mov r8, r9
and r8, 1
or r9, 1
add r8, r9
mov qword [rbp - 0x60], r8
mov r8, 0xffffffffffffffff
xor r8, 1
xor r9d, r9d
sub r9, 1
sub r8, r9
sub rcx, r8
and rcx, qword [rdx]
mov qword [rbp - 0x58], rcx
cmp eax, 0xb7bf01f6
ja 0x140098b9a
mov rax, qword [rbp - 0x60]
mov rcx, qword [rbp - 0x58]
mov qword [rbp + 8], rcx
mov qword [rbp + 0x10], rax
jmp 0x140098568
mov rcx, qword [rbp + 0x60]
mov rax, qword [rbp - 0x20]
mov rdx, qword [rbp - 0x28]
mov qword [rbp + 0x90], rdx
mov qword [rbp + 0x98], rax
lea rdx, [rbp + 0x90]
sub rsp, 0x20
call fcn.140097e10
mov rax, qword [rbp + 0x68]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140098b52
mov rcx, qword [rbp + 0x38]
lea rdx, [rbp + 0xb0]
sub rsp, 0x20
call fcn.140098bb0
add rsp, 0x20
test al, 1
jne 0x140098a8a
jmp 0x140098a9c
sub rsp, 0x20
call fcn.140008024
add rsp, 0x20
jmp 0x140098b52
mov rdx, qword [rbp + 0xb0]
mov rax, rdx
and rax, 0xffffffffffffffff
movabs r8, 0xf08a799eb3d9cdfd
movabs rcx, 0xf7586614c263202
xor r8, rcx
mov rcx, rdx
or rcx, r8
add rax, rcx
mov qword [rbp - 0x80], rax
mov rcx, rax
xor rcx, rdx
cmp rcx, 0
setl cl
cmp rax, 0xffffffffffffffff
setg al
and al, cl
test al, 1
jne 0x140098af1
jmp 0x140098b03
sub rsp, 0x20
call fcn.140008024
add rsp, 0x20
jmp 0x140098b52
mov rax, qword [rbp - 0x18]
mov rcx, qword [rbp + 0x60]
mov rdx, qword [rbp + 0x28]
mov r8, qword [rbp + 0x70]
mov r9, qword [rbp - 0x80]
mov qword [r8], r9
mov rdx, qword [rdx]
mov qword [rcx + 0x18], rdx
mov qword [rax], 0
mov qword [rbp + 0x80], 0
mov qword [rbp + 0x88], 0
lea rcx, [rbp + 0x80]
sub rsp, 0x20
call fcn.140096f80
add rsp, 0x20
lea rsp, [rbp + 0xc0]
pop rbp
ret
xlatb
fchs
jmp 0x14009810b
mov ch, 0x8a
invalid
cwde
outsb dx, byte [rsi]
clc
mov eax, 0xfff7ace9
jmp qword [rdi - 0x16a92b09]
cmpsd dword [rsi], dword [rdi]
not esp
push rsi
jmp 0x14009848f
invalid
sub al, 0xfa
invalid
xchg edx, eax
cmp eax, 0xcde9b9d9
cli
invalid
invalid
jle 0x140098b84
std
jmp 0x140098898