Function at 0x14012ece0
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x1f0
lea rbp, [rsp + 0x80]
mov qword [rbp + 0xe0], rdx
mov qword [rbp + 0xd0], rcx
mov qword [rbp + 0xc8], rcx
mov eax, 0x10
call fcn.1401f2390
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0xd8], rax
sub rsp, 0x20
call fcn.14012ba3c
mov rcx, qword [rbp + 0xd0]
mov rdx, qword [rbp + 0xe0]
add rsp, 0x20
mov qword [rbp + 0xf8], rax
mov qword [rcx], 0
mov qword [rcx + 8], 0
mov rax, qword [rdx]
mov rdx, qword [rax + 8]
mov qword [rbp + 0x158], rdx
mov rax, qword [rax + 0x10]
mov qword [rbp + 0x160], rax
lea rdx, [rbp + 0x158]
sub rsp, 0x20
call fcn.1400191eb
mov rcx, qword [rbp + 0xd0]
mov rax, qword [rbp + 0xd8]
mov rdx, qword [rbp + 0xe0]
add rsp, 0x20
mov rcx, qword [rcx]
mov qword [rbp + 0xe8], rcx
movabs rcx, 0x19293c39a1983a04
mov qword [rbp + 0x168], rcx
movabs rcx, 0x82bb24bd62b84d02
movabs r8, 0x82bb24bd62b84d02
xor rcx, r8
mov qword [rbp + 0x148], rcx
lea rcx, [rbp + 0x148]
add rcx, 8
mov qword [rbp + 0xf0], rcx
mov qword [rbp + 0x150], 0
mov qword [rax], 0
mov rax, qword [rdx]
mov rcx, qword [rax]
sub rsp, 0x20
call fcn.14005af40
mov rcx, qword [rbp + 0xf8]
add rsp, 0x20
xor eax, eax
cmp byte [rcx], 0
mov qword [rbp + 0x100], rax
jne 0x14012ff78
mov ecx, dword [0x1401fb438]
mov eax, dword [0x1401fb43c]
mov edx, 0xde22f8b1
xor edx, 0xf6e9a5c1
add ecx, edx
add ecx, eax
sub ecx, 0x28cb5d70
mov edx, ecx
xor edx, 0xffffffff
and edx, 0xa6c0959c
mov r8d, 0xeaa1c010
xor r8d, 0x4c61558c
mov eax, 0x47e5f9df
xor eax, 0xb81a0620
xor r8d, eax
mov eax, ecx
and eax, r8d
imul eax, edx
mov edx, ecx
and edx, 0xa6c0959c
or ecx, 0xa6c0959c
imul ecx, edx
add ecx, eax
mov eax, ecx
and eax, 0x44fcd738
xor ecx, 0x44fcd738
or eax, ecx
add eax, 0x6769b76f
cmp eax, 0x646bab3e
ja 0x14013079a
mov rcx, qword [rbp + 0xe0]
mov eax, dword [0x1401fb440]
xor eax, 0x5048a9e1
mov r8d, dword [0x1401fb444]
mov edx, eax
xor edx, 0xffffffff
and edx, r8d
xor r8d, 0xffffffff
and eax, r8d
sub eax, edx
mov r8d, 0x763da541
xor edx, edx
div r8d
mov edx, eax
and edx, 0xd3a219b8
shl edx, 1
xor eax, 0xd3a219b8
add eax, edx
mov r9d, 0xffffffff
xor r9d, 0xc18044f6
mov r8d, eax
and r8d, r9d
mov edx, eax
or edx, r9d
xor edx, 0xffffffff
imul edx, r8d
mov r8d, eax
and r8d, 0xc18044f6
or eax, 0xc18044f6
imul eax, r8d
add eax, edx
mov rcx, qword [rcx]
mov rcx, qword [rcx]
mov rcx, qword [rcx]
mov qword [rbp + 0xa8], rcx
lea rcx, [rbp + 0x128]
add rcx, 8
mov qword [rbp + 0xb0], rcx
lea rcx, [rbp + 0x128]
add rcx, 0x10
mov qword [rbp + 0xb8], rcx
lea rcx, [rbp + 0x128]
add rcx, 0x18
mov qword [rbp + 0xc0], rcx
cmp eax, 0xb5b48f5c
jae 0x14012ee98
xor eax, eax
mov rcx, rax
mov qword [rbp + 0x98], rcx
mov qword [rbp + 0xa0], rax
jmp 0x14012ef7c
mov rax, qword [rbp + 0x98]
mov rcx, qword [rbp + 0xa0]
mov qword [rbp + 0x88], rcx
mov qword [rbp + 0x90], rax
mov eax, dword [0x1401fb448]
mov ecx, dword [0x1401fb44c]
xor ecx, 0x3b4187f2
xor eax, ecx
and eax, 0x52273485
imul eax, eax, 0xb7251a
mov ecx, eax
xor ecx, 0x5d491447
mov edx, 0xb7afed7f
xor edx, 0x48501280
xor ecx, edx
mov edx, 0x1d8d807b
xor edx, 0x40c4943c
or eax, edx
and eax, ecx
cmp eax, 0x1bf73384
jb 0x1401307a3
mov rcx, qword [rbp + 0x88]
mov rdx, qword [rbp + 0xa8]
mov eax, dword [0x1401fb450]
xor eax, dword [0x1401fb454]
mov r8d, eax
xor r8d, 0xffffffff
and r8d, 0x458747d4
mov r9d, 0x4efda6ee
xor r9d, 0xb7ae13a
mov r10d, 0xa9494de3
xor r10d, 0x56b6b21c
xor r9d, r10d
and eax, r9d
sub eax, r8d
sub eax, 0x2d94e938
mov r8d, 0x6671479
xor r8d, 0xa7b28372
add eax, r8d
mov r8d, 0x605cfaf0
xor r8d, 0x4dc813c8
add eax, r8d
mov r8d, 0xff5fe2d1
xor r8d, 0x3fb37372
sub eax, r8d
cmp rcx, rdx
setl cl
mov byte [rbp + 0x87], cl
cmp eax, 0x173dc56b
jb 0x14012efe6
mov rax, qword [rbp + 0x90]
mov cl, byte [rbp + 0x87]
test cl, 1
mov qword [rbp + 0x100], rax
jne 0x14012f09f
jmp 0x14012ff78
mov rcx, qword [rbp + 0x88]
mov rdx, qword [rbp + 0xe0]
test rcx, rcx
setns al
mov rdx, qword [rdx]
mov rdx, qword [rdx]
mov qword [rbp + 0x70], rdx
mov rdx, qword [rdx]
mov qword [rbp + 0x78], rdx
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x14012f0f5
mov rcx, qword [rbp + 0x88]
mov rdx, qword [rbp + 0x78]
add rdx, 0xffffffffffffffff
sub rsp, 0x20
call fcn.140013c92
add rsp, 0x20
jmp 0x14012fda4
mov rax, qword [rbp + 0xf8]
mov rdx, qword [rbp + 0x88]
mov rcx, qword [rbp + 0x70]
mov rcx, qword [rcx + 8]
mov qword [rbp + 0x60], rcx
shl rdx, 5
mov rcx, qword [rcx + rdx + 8]
test rcx, rcx
sete cl
mov al, byte [rax]
test al, al
setne al
mov byte [rbp + 0x6f], al
or al, cl
test al, 1
jne 0x14012fdba
mov rcx, qword [rbp + 0x88]
mov rax, qword [rbp + 0x60]
add rax, 8
shl rcx, 5
add rax, rcx
add rax, 8
mov rcx, qword [rax]
mov qword [rbp + 0x118], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x120], rax
lea rcx, [rbp + 0x148]
lea rdx, [rbp + 0x118]
sub rsp, 0x20
call fcn.1400191eb
mov rcx, qword [rbp + 0xe0]
mov rax, qword [rbp + 0x88]
add rsp, 0x20
mov rcx, qword [rcx]
mov rcx, qword [rcx]
mov qword [rbp + 0x50], rcx
mov rcx, qword [rcx]
mov qword [rbp + 0x58], rcx
cmp rax, rcx
jl 0x14012f1c5
mov rcx, qword [rbp + 0x88]
mov rdx, qword [rbp + 0x58]
add rdx, 0xffffffffffffffff
sub rsp, 0x20
call fcn.140013c92
add rsp, 0x20
jmp 0x14012fda4
mov rcx, qword [rbp + 0xd8]
mov rdx, qword [rbp + 0x88]
mov rax, qword [rbp + 0x50]
mov rax, qword [rax + 8]
add rax, 8
shl rdx, 5
add rax, rdx
add rax, 0x18
mov rdx, qword [rax]
sub rsp, 0x20
call fcn.14012e860
add rsp, 0x20
mov rax, qword [0x140209350]
mov rax, qword [rax]
mov qword [rbp + 0x48], rax
cmp rax, 0x5e
jge 0x14012f273
mov rdx, qword [rbp + 0x48]
movabs rax, 0x517967d3187bffbc
movabs rcx, 0x517967d3187bffbc
xor rax, rcx
movabs rcx, 0xb6288d840aa34a0a
movabs r8, 0x49d7727bf55cb5f5
xor rcx, r8
sub rax, rcx
sub rdx, rax
movabs rcx, 0x246f294dacb31854
movabs rax, 0x246f294dacb31809
xor rcx, rax
sub rsp, 0x20
call fcn.140013c92
add rsp, 0x20
jmp 0x14012fda4
mov rax, qword [rbp + 0x148]
mov qword [rbp + 0x40], rax
cmp rax, 1
jge 0x14012f2d6
mov rdx, qword [rbp + 0x40]
movabs rax, 0x6b2ed7a06e328aca
movabs rcx, 0x6b2ed7a06e328aca
xor rax, rcx
movabs rcx, 0x749d2e9dcb2a57c9
movabs r8, 0x8b62d16234d5a836
xor rcx, r8
sub rax, rcx
sub rdx, rax
xor eax, eax
mov ecx, eax
sub rsp, 0x20
call fcn.140013c92
add rsp, 0x20
jmp 0x14012fda4
mov eax, dword [0x1401fb458]
and eax, dword [0x1401fb45c]
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xb0e987da
mov ecx, 0x8f34d35b
xor ecx, 0x229d8996
mov r8d, 0x187c1d01
xor r8d, 0xe783e2fe
xor ecx, r8d
or eax, edx
or ecx, 0xada95acd
mov edx, 0xb18f46c
xor edx, 0xf4e70b93
xor eax, edx
and eax, ecx
add eax, 0xe0683700
add eax, 0x6bfd457b
mov ecx, 0xcad386da
xor ecx, 0x2abbb1da
sub eax, ecx
mov ecx, 0x3d55b80b
xor edx, edx
div ecx
mov ecx, 0xe028c9a1
xor ecx, 0xb9a381b8
cmp eax, ecx
je 0x1401307ac
mov rcx, qword [rbp + 0x40]
mov rdx, qword [rbp + 0xf0]
mov r8d, dword [0x1401fb460]
mov eax, 0xc7d1db7e
xor eax, 0x9d29a093
xor r8d, eax
or r8d, dword [0x1401fb464]
sub r8d, 0x7a1f07bd
sub r8d, 0x1e209ec4
add r8d, 0x7a1f07bd
mov r10d, 0xffffffff
xor r10d, 0x161bfaf
mov r9d, r8d
and r9d, r10d
mov eax, r8d
or eax, r10d
mov r10d, 0x67eabed1
xor r10d, 0x9815412e
xor eax, r10d
imul eax, r9d
mov r9d, r8d
and r9d, 0x161bfaf
mov r10d, 0xd938b44e
xor r10d, 0xd8590be1
or r8d, r10d
imul r8d, r9d
add r8d, eax
mov eax, r8d
xor eax, 0xffffffff
xor r8d, 0xffffffff
or eax, r8d
mov r8d, 0x58029752
xor r8d, 0x4aaa35cf
mov r9d, 0x5e0a7e2c
xor r9d, 0xa1f581d3
xor r8d, r9d
mov r9d, 0xffffffff
xor r9d, 0x12a8a29d
or r8d, r9d
and eax, r8d
xor eax, 0xffffffff
mov rdx, qword [rdx]
add rdx, 8
mov qword [rbp + 0x128], rdx
add rcx, 0xffffffff80000000
movabs rdx, 0xffffffff00000000
cmp rcx, rdx
setb cl
mov byte [rbp + 0x3f], cl
cmp eax, 0xd4ece390
jbe 0x1401307ac
mov al, byte [rbp + 0x3f]
test al, 1
jne 0x14012f461
jmp 0x14012f4a5
mov rcx, qword [rbp + 0x40]
movabs rdx, 0x81fbff135b1cd65f
movabs rax, 0x7e0400ecdb1cd65f
xor rdx, rax
movabs r8, 0x985263a9444fde6a
movabs rax, 0x985263a93bb02195
xor r8, rax
sub rsp, 0x20
call fcn.14000e57e
add rsp, 0x20
jmp 0x14012fda4
mov rax, qword [rbp + 0xc0]
mov rcx, qword [rbp + 0xb8]
mov rdx, qword [rbp + 0xb0]
mov r8, qword [rbp + 0x40]
mov dword [rdx], r8d
lea rdx, [rbp + 0x168]
mov qword [rcx], rdx
mov ecx, 0x1ef4d733
xor ecx, 0x1ef4d73b
mov dword [rax], ecx
mov rax, qword [0x140209350]
mov rcx, qword [rax + 8]
mov rax, qword [rcx + 0x1a50]
mov qword [rbp + 0x28], rax
mov rcx, qword [rcx + 0x1a48]
mov qword [rbp + 0x30], rcx
cmp rax, 0
je 0x14012f521
mov rax, qword [rbp + 0x30]
mov rdx, qword [rbp + 0x28]
lea rcx, [rbp + 0x128]
sub rsp, 0x20
call rax
add rsp, 0x20
jmp 0x14012f5a4
mov eax, dword [0x1401fb468]
xor eax, 0xc5344f8a
imul eax, dword [0x1401fb46c]
xor eax, 0x354b579a
mov ecx, 0xcde122e
xor edx, edx
div ecx
add eax, 0x7bc00b40
sub eax, 0xd3928065
sub eax, 0x7bc00b40
cmp eax, 0xa30a1628
je 0x1401307b5
mov rax, qword [rbp + 0x30]
mov ecx, dword [0x1401fb470]
sub ecx, dword [0x1401fb474]
or ecx, 0x9cf845f4
sub ecx, 0xa8d2afbd
add ecx, 0xa3f95443
mov dword [rbp + 0x24], ecx
lea rcx, [rbp + 0x128]
sub rsp, 0x20
call rax
mov eax, dword [rbp + 0x24]
add rsp, 0x20
cmp eax, 0x9664694d
je 0x14012f55b
jmp 0x14012f5a4
mov rax, qword [rbp + 0xf8]
cmp byte [rax], 0
jne 0x14012fda4
mov eax, dword [0x1401fb478]
xor edx, edx
div dword [0x1401fb47c]
imul eax, eax, 0x39328a8f
mov ecx, 0xe4765983
xor edx, edx
div ecx
mov ecx, eax
xor ecx, 0xc909ac0f
mov edx, 0x4a9ce439
xor edx, 0xb5631bc6
xor ecx, edx
and ecx, 0xc909ac0f
shl ecx, 1
sub ecx, 0xc909ac0f
sub eax, ecx
cmp eax, 0xae59589b
jb 0x1401307be
mov rcx, qword [rbp + 0xd0]
mov eax, dword [0x1401fb480]
xor edx, edx
div dword [0x1401fb484]
mov r8d, 0x9707e949
xor edx, edx
div r8d
xor edx, edx
sub edx, 0xc013b21f
sub eax, edx
xor eax, 0xd4b4ad9d
mov dword [rbp + 0x1c], eax
mov edx, 0x2014b50
sub rsp, 0x20
call fcn.14012be64
mov rcx, qword [rbp + 0xf8]
mov eax, dword [rbp + 0x1c]
add rsp, 0x20
cmp byte [rcx], 0
sete cl
mov byte [rbp + 0x23], cl
cmp eax, 0x40a535be
ja 0x14012f602
mov al, byte [rbp + 0x23]
test al, 1
jne 0x14012f674
jmp 0x14012fda4
mov rcx, qword [rbp + 0xd0]
movabs rdx, 0x2f0e0e818063f704
movabs rax, 0x2f0e0e818063f729
xor rdx, rax
sub rsp, 0x20
call fcn.14012c3a2
mov rax, qword [rbp + 0xf8]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14012fda4
mov rcx, qword [rbp + 0xd0]
mov edx, 0x2d
sub rsp, 0x20
call fcn.14012c3a2
mov rax, qword [rbp + 0xf8]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14012fda4
mov rcx, qword [rbp + 0xd0]
mov edx, 0x800
sub rsp, 0x20
call fcn.14012c516
mov rax, qword [rbp + 0xf8]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0x72
xor cl, 0x72
cmp al, cl
jne 0x14012fda4
mov rcx, qword [rbp + 0xd0]
mov rax, qword [rbp + 0xd8]
mov rax, qword [rax]
mov qword [rbp + 0x10], rax
mov dx, word [rax + 0x1c]
sub rsp, 0x20
call fcn.14012c516
mov rax, qword [rbp + 0xf8]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0x1f
xor cl, 0x1f
cmp al, cl
jne 0x14012fda4
mov eax, dword [0x1401fb488]
mov ecx, 0x432aaa1c
xor ecx, 0x7ef1c16e
xor eax, ecx
mov r8d, dword [0x1401fb48c]
mov edx, r8d
xor edx, 0xffffffff
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, r8d
add eax, edx
sub eax, ecx
xor eax, 0xdb2d78ad
sub eax, 0xd31f0e18
add eax, 0xa52399c6
mov ecx, 0x894f50e6
xor ecx, 0x5a505efe
add eax, ecx
xor eax, 0xd6740ecc
cmp eax, 0x7a6d4777
je 0x1401307c7
mov rcx, qword [rbp + 0xd0]
mov edx, dword [0x1401fb490]
mov eax, dword [0x1401fb494]
xor eax, 0x28d4d5a1
add edx, eax
mov r8d, 0xffffffff
xor r8d, 0x188d6af4
mov eax, edx
xor eax, r8d
and eax, edx
mov edx, eax
xor edx, 0xbd511b62
xor edx, 0xffffffff
or eax, 0xbd511b62
and eax, edx
and eax, 0xcd268912
mov dword [rbp + 8], eax
mov dx, word [0x14021bab0]
sub rsp, 0x20
call fcn.14012c516
mov rcx, qword [rbp + 0xf8]
mov eax, dword [rbp + 8]
add rsp, 0x20
cmp byte [rcx], 0
sete cl
mov byte [rbp + 0xf], cl
cmp eax, 0xb525200
je 0x14012f79c
mov al, byte [rbp + 0xf]
test al, 1
jne 0x14012f826
jmp 0x14012fda4
mov eax, dword [0x1401fb498]
mov r8d, dword [0x1401fb49c]
mov r9d, r8d
xor r9d, 0xffffffff
mov edx, eax
and edx, r9d
mov ecx, eax
or ecx, r9d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, 0xd48de831
xor ecx, 0x469eac25
xor eax, ecx
mov edx, 0x507ce0fe
xor edx, 0xfb264f60
mov ecx, eax
xor ecx, edx
xor ecx, 0xffffffff
mov edx, 0x989d2b88
xor edx, 0x33c78416
or eax, edx
and eax, ecx
add eax, 0x94aab195
cmp eax, 0x3558e36f
jbe 0x1401307d0
mov rcx, qword [rbp + 0xd0]
mov eax, dword [0x1401fb4a0]
or eax, dword [0x1401fb4a4]
sub eax, 0x37d38832
add eax, 0xed9b257c
mov r8d, 0x93e30015
xor r8d, 0x8273b1e3
xor edx, edx
div r8d
mov dword [rbp], eax
mov dx, word [0x14021bab2]
sub rsp, 0x20
call fcn.14012c516
mov rcx, qword [rbp + 0xf8]
mov eax, dword [rbp]
add rsp, 0x20
cmp byte [rcx], 0
sete cl
mov byte [rbp + 7], cl
cmp eax, 0x2ade5f1
jae 0x1401307d0
mov al, byte [rbp + 7]
test al, 1
jne 0x14012f909
jmp 0x14012fda4
mov rcx, qword [rbp + 0xd0]
mov rax, qword [rbp + 0x10]
mov edx, dword [rax + 0x18]
sub rsp, 0x20
call fcn.14012be64
mov rax, qword [rbp + 0xf8]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0x79
xor cl, 0x79
cmp al, cl
jne 0x14012fda4
mov rcx, qword [rbp + 0xd0]
mov edx, 0x630a2ccc
xor edx, 0x9cf5d333
sub rsp, 0x20
call fcn.14012be64
mov rax, qword [rbp + 0xf8]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0x7d
xor cl, 0x7d
cmp al, cl
jne 0x14012fda4
mov eax, dword [0x1401fb4a8]
xor eax, 0xb8b4dc08
xor edx, edx
div dword [0x1401fb4ac]
mov ecx, eax
xor ecx, 0xffffffff
mov edx, 0x8e01f210
xor edx, 0x1697450c
and edx, ecx
mov r8d, 0xffffffff
xor r8d, 0x9896b71c
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov r8d, 0x37f3a7b6
xor r8d, 0xaf6510aa
mov edx, eax
and edx, r8d
or eax, 0x9896b71c
imul eax, edx
add eax, ecx
imul eax, eax, 0x35f527e3
mov ecx, 0x3fb4b1c9
xor ecx, 0x7e063335
imul eax, ecx
cmp eax, 0x7977226b
ja 0x1401307d9
mov rcx, qword [rbp + 0xd0]
mov eax, dword [0x1401fb4b0]
mov r9d, dword [0x1401fb4b4]
mov r8d, 0xe96dad5d
xor r8d, 0x169252a2
mov edx, eax
xor edx, r8d
mov r8d, r9d
and r8d, edx
mov r10d, r9d
xor r10d, 0xffffffff
mov edx, eax
and edx, r10d
imul edx, r8d
mov r8d, eax
and r8d, r9d
or eax, r9d
imul eax, r8d
add eax, edx
sub eax, 0xc135822d
add eax, 0xf636026c
add eax, 0xc135822d
mov edx, 0xafab54ba
xor edx, 0xafab54ba
sub edx, eax
xor eax, eax
sub eax, 0x5f4d8880
add edx, eax
mov eax, 0xef2cb640
xor eax, 0xef2cb640
sub eax, edx
and eax, 0xacbce406
mov dword [rbp - 8], eax
mov edx, 0xffffffff
sub rsp, 0x20
call fcn.14012be64
mov rcx, qword [rbp + 0xf8]
mov eax, dword [rbp - 8]
add rsp, 0x20
cmp byte [rcx], 0
sete cl
mov byte [rbp - 1], cl
cmp eax, 0xb6f886ef
jae 0x14012f9e4
mov al, byte [rbp - 1]
test al, 1
jne 0x14012faa8
jmp 0x14012fda4
mov rcx, qword [rbp + 0xd0]
mov rax, qword [rbp + 0x148]
mov dx, ax
sub rsp, 0x20
call fcn.14012c516
mov rax, qword [rbp + 0xf8]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14012fda4
mov rcx, qword [rbp + 0xd0]
movabs rdx, 0x73083b3b6d838a7f
movabs rax, 0x73083b3b6d838a63
xor rdx, rax
sub rsp, 0x20
call fcn.14012c3a2
mov rax, qword [rbp + 0xf8]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14012fda4
mov rcx, qword [rbp + 0xd0]
xor eax, eax
mov edx, eax
sub rsp, 0x20
call fcn.14012c3a2
mov rax, qword [rbp + 0xf8]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0x16
xor cl, 0x16
cmp al, cl
jne 0x14012fda4
mov rcx, qword [rbp + 0xd0]
xor eax, eax
mov edx, eax
sub rsp, 0x20
call fcn.14012c3a2
mov rax, qword [rbp + 0xf8]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14012fda4
mov rcx, qword [rbp + 0xd0]
xor eax, eax
mov edx, eax
sub rsp, 0x20
call fcn.14012c3a2
mov rax, qword [rbp + 0xf8]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0x5a
xor cl, 0x5a
cmp al, cl
jne 0x14012fda4
mov rcx, qword [rbp + 0xd0]
xor eax, eax
mov edx, eax
sub rsp, 0x20
call fcn.14012eac0
mov rax, qword [rbp + 0xf8]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14012fda4
mov rcx, qword [rbp + 0xd0]
mov edx, 0x1b57d07c
xor edx, 0xe4a82f83
sub rsp, 0x20
call fcn.14012be64
mov rax, qword [rbp + 0xf8]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14012fda4
mov rcx, qword [rbp + 0xd0]
mov rdx, qword [rbp + 0x148]
sub rsp, 0x20
call fcn.14001a700
mov rcx, qword [rbp + 0xd0]
add rsp, 0x20
mov rax, qword [rbp + 0x148]
mov qword [rbp + 0x108], rax
mov rax, qword [rbp + 0x150]
mov qword [rbp + 0x110], rax
lea rdx, [rbp + 0x108]
sub rsp, 0x20
call fcn.14012e6a6
mov rcx, qword [rbp + 0xd0]
add rsp, 0x20
mov edx, 1
sub rsp, 0x20
call fcn.14012c516
mov rax, qword [rbp + 0xf8]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14012fda4
mov rcx, qword [rbp + 0xd0]
mov edx, 0x18
sub rsp, 0x20
call fcn.14012c3a2
mov rax, qword [rbp + 0xf8]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14012fda4
mov rcx, qword [rbp + 0xd0]
mov rax, qword [rbp + 0x10]
mov rdx, qword [rax + 0x10]
sub rsp, 0x20
call fcn.14012c670
mov rax, qword [rbp + 0xf8]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0x44
xor cl, 0x44
cmp al, cl
jne 0x14012fda4
mov rcx, qword [rbp + 0xd0]
mov rax, qword [rbp + 0x10]
mov rdx, qword [rax + 8]
sub rsp, 0x20
call fcn.14012c670
mov rax, qword [rbp + 0xf8]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14012fda4
mov rcx, qword [rbp + 0xd0]
mov rax, qword [rbp + 0x10]
mov rdx, qword [rax]
sub rsp, 0x20
call fcn.14012c670
mov rax, qword [rbp + 0xf8]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14012fda4
mov rax, qword [rbp + 0x148]
mov qword [rbp - 0x10], rax
cmp rax, 1
jge 0x14012fd51
mov rdx, qword [rbp - 0x10]
xor eax, eax
sub rax, 0xffffffffffffffff
sub rdx, rax
xor eax, eax
mov ecx, eax
sub rsp, 0x20
call fcn.140013c92
add rsp, 0x20
jmp 0x14012fda4
mov rax, qword [rbp + 0xf0]
mov rax, qword [rax]
add rax, 8
mov qword [rbp - 0x20], rax
xor eax, eax
mov qword [rbp - 0x18], rax
mov rcx, qword [rbp - 0x10]
mov rax, qword [rbp - 0x18]
mov qword [rbp - 0x28], rax
cmp rax, rcx
jne 0x14012fd8b
mov rax, qword [rbp + 0x10]
mov qword [rbp - 0x30], rax
jmp 0x14012fddb
mov rax, qword [rbp - 0x28]
mov rcx, qword [rbp - 0x20]
mov byte [rcx + rax], 0x8f
add rax, 1
mov qword [rbp - 0x18], rax
jmp 0x14012fd69
mov rax, qword [rbp + 0xd8]
mov rax, qword [rax]
mov qword [rbp + 0x100], rax
jmp 0x14012ff78
mov rax, qword [rbp + 0x90]
mov cl, byte [rbp + 0x6f]
test cl, 1
mov rcx, rax
mov qword [rbp - 0x30], rcx
mov qword [rbp + 0x100], rax
jne 0x14012ff78
mov rdx, qword [rbp + 0x88]
mov rcx, qword [rbp - 0x30]
mov qword [rbp - 0x38], rcx
movabs r8, 0xa2dc2e4a14f44048
movabs rax, 0xa2dc2e4a14f44049
xor r8, rax
mov rax, rdx
and rax, r8
mov r8, rdx
or r8, 1
add rax, r8
mov r9, rdx
xor r9, 0xffffffffffffffff
and r9, 0xffffffffffffffff
mov r8, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
and rdx, r8
or r9, rdx
mov r8, rax
xor r8, r9
xor r8, 0xffffffffffffffff
mov rdx, rax
or rdx, r9
and rdx, r8
cmp rdx, 0
mov qword [rbp + 0x98], rcx
mov qword [rbp + 0xa0], rax
jge 0x14012ef7c
mov eax, dword [0x1401fb4b8]
mov ecx, dword [0x1401fb4bc]
mov edx, 0xa35e770a
xor edx, 0x826b8bcc
xor ecx, edx
xor edx, edx
div ecx
mov ecx, 0x2f40676b
xor ecx, 0x969d9e8a
imul eax, ecx
or eax, eax
xor eax, 0xffffffff
mov ecx, 0x9444b744
xor ecx, 0x56c2ad07
mov edx, 0x387018b6
xor edx, 0xfaf602f5
or ecx, edx
mov edx, 0xc8f4bb8b
xor edx, 0x370b4474
xor ecx, edx
or eax, ecx
xor eax, 0xffffffff
or eax, 0xd0b20c2c
cmp eax, 0x2a878d1b
jbe 0x1401307e2
mov ecx, dword [0x1401fb4c0]
mov r8d, dword [0x1401fb4c4]
mov r9d, r8d
xor r9d, 0xffffffff
mov edx, ecx
and edx, r9d
mov eax, ecx
or eax, r9d
mov r9d, 0x394bc967
xor r9d, 0xc6b43698
xor eax, r9d
imul eax, edx
mov edx, ecx
and edx, r8d
or ecx, r8d
imul ecx, edx
add ecx, eax
mov eax, ecx
xor eax, 0xffffffff
and eax, 0x46987b72
mov edx, 0xd31c58f5
xor edx, 0x95842387
mov r8d, 0xe7e1dcd4
xor r8d, 0x181e232b
xor edx, r8d
and ecx, edx
or eax, ecx
xor ecx, ecx
sub ecx, 0x55abab6a
sub eax, ecx
add eax, 0x667d541c
mov ecx, 0x7c3e7dac
xor ecx, 0x59116c9e
add eax, ecx
sub eax, 0x667d541c
mov dword [rbp - 0x3c], eax
sub rsp, 0x20
call fcn.140009cc0
mov eax, dword [rbp - 0x3c]
add rsp, 0x20
cmp eax, 0x48a2e5d6
je 0x1401307e2
mov rax, qword [rbp - 0x38]
mov qword [rbp + 0x100], rax
jmp 0x14012ff78
mov rcx, qword [rbp + 0x100]
sub rsp, 0x20
call fcn.14012ecab
mov rax, qword [rbp + 0xf0]
add rsp, 0x20
mov rax, qword [rax]
mov qword [rbp - 0x48], rax
cmp rax, 0
je 0x14012ffd0
mov rcx, qword [rbp - 0x48]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
cmp rax, 0
jne 0x14012ffd0
mov rcx, qword [rbp - 0x48]
sub rsp, 0x20
call fcn.14000f935
add rsp, 0x20
mov rax, qword [rbp + 0xf8]
mov al, byte [rax]
cmp al, 0
jne 0x14013078a
mov rcx, qword [rbp + 0xd0]
mov rax, qword [rcx]
mov qword [rbp - 0x50], rax
mov edx, 0x4302f525
xor edx, 0x4504be75
sub rsp, 0x20
call fcn.14012be64
mov rax, qword [rbp + 0xf8]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0xad
xor cl, 0xad
cmp al, cl
jne 0x14013078a
mov rcx, qword [rbp + 0xd0]
mov edx, 0x2c
sub rsp, 0x20
call fcn.14012c670
mov rax, qword [rbp + 0xf8]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14013078a
mov rcx, qword [rbp + 0xd0]
mov edx, 0x2d
sub rsp, 0x20
call fcn.14012c3a2
mov rax, qword [rbp + 0xf8]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14013078a
mov rcx, qword [rbp + 0xd0]
mov edx, 0x2d
sub rsp, 0x20
call fcn.14012c3a2
mov rax, qword [rbp + 0xf8]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0x69
xor cl, 0x69
cmp al, cl
jne 0x14013078a
mov rcx, qword [rbp + 0xd0]
xor eax, eax
mov edx, eax
sub rsp, 0x20
call fcn.14012eac0
mov rax, qword [rbp + 0xf8]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14013078a
mov rcx, qword [rbp + 0xd0]
xor eax, eax
mov edx, eax
sub rsp, 0x20
call fcn.14012eac0
mov rax, qword [rbp + 0xf8]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0xd7
xor cl, 0xd7
cmp al, cl
jne 0x14013078a
mov rax, qword [rbp + 0xe0]
mov rax, qword [rax]
mov rcx, qword [rax]
sub rsp, 0x20
call fcn.14005af40
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0xf8]
mov qword [rbp - 0x58], rcx
cmp byte [rax], 0
jne 0x14013078a
mov rdx, qword [rbp - 0x58]
mov rcx, qword [rbp + 0xd0]
sub rsp, 0x20
call fcn.14012c670
mov rax, qword [rbp + 0xf8]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14013078a
mov rax, qword [rbp + 0xe0]
mov rax, qword [rax]
mov rcx, qword [rax]
sub rsp, 0x20
call fcn.14005af40
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0xf8]
mov qword [rbp - 0x60], rcx
cmp byte [rax], 0
jne 0x14013078a
mov rdx, qword [rbp - 0x60]
mov rcx, qword [rbp + 0xd0]
sub rsp, 0x20
call fcn.14012c670
mov rax, qword [rbp + 0xf8]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14013078a
mov r8, qword [rbp + 0xe8]
mov rdx, qword [rbp - 0x50]
mov rax, rdx
xor rax, r8
mov r9, r8
xor r9, 0xffffffffffffffff
mov rcx, rdx
and rcx, r9
shl rcx, 1
sub rcx, rax
mov qword [rbp - 0x68], rcx
mov rax, rcx
xor rax, rdx
cmp rax, 0
setl al
mov r9, rcx
xor r9, r8
xor r9, 0xffffffffffffffff
mov rdx, r8
and rdx, r9
shl rdx, 1
sub rdx, r8
sub rcx, rdx
cmp rcx, 0xffffffffffffffff
setg dl
mov cl, al
xor cl, dl
mov r8b, 1
xor r8b, 0
xor cl, r8b
or al, dl
and al, cl
test al, 1
jne 0x14013021c
jmp 0x14013022e
sub rsp, 0x20
call fcn.140009cc0
add rsp, 0x20
jmp 0x14013078a
mov rdx, qword [rbp - 0x68]
mov rcx, qword [rbp + 0xd0]
sub rsp, 0x20
call fcn.14012c670
mov rax, qword [rbp + 0xf8]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0xaf
xor cl, 0xaf
cmp al, cl
jne 0x14013078a
mov rdx, qword [rbp + 0xe8]
mov rcx, qword [rbp + 0xd0]
sub rsp, 0x20
call fcn.14012c670
mov rax, qword [rbp + 0xf8]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14013078a
mov rcx, qword [rbp + 0xd0]
mov edx, 0x7064b50
sub rsp, 0x20
call fcn.14012be64
mov rax, qword [rbp + 0xf8]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14013078a
mov rcx, qword [rbp + 0xd0]
xor eax, eax
mov edx, eax
sub rsp, 0x20
call fcn.14012eac0
mov rax, qword [rbp + 0xf8]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14013078a
mov rdx, qword [rbp - 0x50]
mov rcx, qword [rbp + 0xd0]
sub rsp, 0x20
call fcn.14012c670
mov rax, qword [rbp + 0xf8]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0xc8
xor cl, 0xc8
cmp al, cl
jne 0x14013078a
mov rcx, qword [rbp + 0xd0]
mov edx, 1
sub rsp, 0x20
call fcn.14012eac0
mov rax, qword [rbp + 0xf8]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14013078a
mov rcx, qword [rbp + 0xd0]
mov edx, 0x6054b50
sub rsp, 0x20
call fcn.14012be64
mov rax, qword [rbp + 0xf8]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0xcf
xor cl, 0xcf
cmp al, cl
jne 0x14013078a
mov eax, dword [0x1401fb4c8]
xor eax, 0xb11e13f4
mov ecx, dword [0x1401fb4cc]
mov edx, 0xccd0bffb
xor edx, 0x2a22abf7
xor ecx, edx
sub eax, 0xbc1849a3
sub eax, ecx
add eax, 0xbc1849a3
and eax, 0x689502cd
xor eax, 0xb3d6465d
or eax, 0x2cc231e9
cmp eax, 0x3fbfcf5f
je 0x1401307eb
mov rcx, qword [rbp + 0xd0]
mov eax, dword [0x1401fb4d0]
xor eax, dword [0x1401fb4d4]
imul edx, eax, 0x53a2af42
mov eax, edx
and eax, 0x38bde159
xor eax, 0xffffffff
mov r8d, 0x2e6f32ff
xor r8d, 0x16d2d3a6
and edx, r8d
mov r8d, 0xae2f086c
xor r8d, 0x51d0f793
xor edx, r8d
xor eax, 0xffffffff
xor edx, 0xffffffff
or eax, edx
mov edx, eax
xor edx, 0x968c1ed9
xor edx, 0xffffffff
and edx, 0x968c1ed9
shl edx, 1
sub edx, 0x968c1ed9
sub eax, edx
mov dword [rbp - 0x70], eax
movabs rdx, 0x2568f6da88a2c7ad
movabs rax, 0x2568f6da88a2c7ad
xor rdx, rax
sub rsp, 0x20
call fcn.14012c3a2
mov rcx, qword [rbp + 0xf8]
mov eax, dword [rbp - 0x70]
add rsp, 0x20
cmp byte [rcx], 0
sete cl
mov byte [rbp - 0x69], cl
cmp eax, 0xdfb2085c
ja 0x1401307eb
mov al, byte [rbp - 0x69]
test al, 1
jne 0x14013045e
jmp 0x14013078a
mov rcx, qword [rbp + 0xd0]
movabs rdx, 0xa4aea7ab35698a27
movabs rax, 0xa4aea7ab35698a27
xor rdx, rax
sub rsp, 0x20
call fcn.14012c3a2
mov rax, qword [rbp + 0xf8]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14013078a
mov rcx, qword [rbp + 0xd0]
mov edx, 0xffff
sub rsp, 0x20
call fcn.14012c516
mov rax, qword [rbp + 0xf8]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0x83
xor cl, 0x83
cmp al, cl
jne 0x14013078a
mov rcx, qword [rbp + 0xd0]
mov dx, 0x3ee4
xor dx, 0xc11b
sub rsp, 0x20
call fcn.14012c516
mov rax, qword [rbp + 0xf8]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14013078a
mov rcx, qword [rbp + 0xd0]
mov edx, 0xffffffff
sub rsp, 0x20
call fcn.14012be64
mov rax, qword [rbp + 0xf8]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14013078a
mov ecx, dword [0x1401fb4d8]
mov edx, dword [0x1401fb4dc]
xor edx, 0x53d7812a
mov eax, ecx
xor eax, 0xffffffff
mov r8d, ecx
xor r8d, 0xffffffff
or eax, r8d
xor eax, 0xffffffff
mov r8d, edx
xor r8d, 0xffffffff
or eax, r8d
and edx, edx
mov r8d, 0x98d6a71f
xor r8d, 0x672958e0
xor edx, r8d
and ecx, edx
xor ecx, 0xffffffff
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0x4f4fdd7f
xor edx, edx
div ecx
sub eax, 0x15dcebc9
sub eax, 0xaa8dc9da
mov ecx, 0x28acece1
xor ecx, 0x3d700728
add eax, ecx
mov ecx, 0xc09708c
xor edx, edx
div ecx
cmp eax, 0x9128b408
jae 0x1401307f4
mov rcx, qword [rbp + 0xd0]
mov edx, dword [0x1401fb4e0]
mov r8d, dword [0x1401fb4e4]
mov r9d, edx
xor r9d, 0xffffffff
mov eax, r8d
and eax, r9d
xor r8d, 0xffffffff
and edx, r8d
or eax, edx
mov r8d, 0xffffffff
xor r8d, 0x10914641
mov edx, eax
and edx, r8d
mov r8d, eax
xor r8d, 0x10914641
add eax, r8d
sub eax, edx
and eax, 0xbaa80c94
mov edx, eax
xor edx, 0xcbf628e5
xor edx, 0xffffffff
mov r8d, 0xd9b4162
xor r8d, 0xc66d6987
or eax, r8d
and eax, edx
mov dword [rbp - 0x78], eax
mov edx, 0xffffffff
sub rsp, 0x20
call fcn.14012be64
mov rcx, qword [rbp + 0xf8]
mov eax, dword [rbp - 0x78]
add rsp, 0x20
mov cl, byte [rcx]
mov dl, 0xc1
xor dl, 0xc1
cmp cl, dl
sete cl
mov byte [rbp - 0x71], cl
cmp eax, 0x71ec8a5
jb 0x1401307f4
mov al, byte [rbp - 0x71]
test al, 1
jne 0x140130655
jmp 0x14013078a
mov eax, dword [0x1401fb4e8]
and eax, dword [0x1401fb4ec]
sub eax, 0x769d8ab3
mov edx, eax
xor edx, 0xffffffff
and edx, 0x886a5046
mov r8d, 0xffffffff
xor r8d, 0x886a5046
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x886a5046
or eax, 0x886a5046
imul eax, edx
add eax, ecx
mov ecx, 0x53187dd6
xor ecx, 0xce7016ad
sub eax, ecx
cmp eax, 0x3e509c7a
je 0x1401307fd
mov rcx, qword [rbp + 0xd0]
mov edx, dword [0x1401fb4f0]
mov r8d, dword [0x1401fb4f4]
xor r8d, 0x257691e0
mov eax, edx
and eax, r8d
mov r9d, 0x24053cee
xor r9d, 0x24053cec
imul eax, r9d
xor edx, r8d
add edx, eax
or edx, 0x8842c506
and edx, 0xfa866555
mov r8d, 0xf821d8c0
xor r8d, 0x7de273f
mov eax, edx
xor eax, r8d
xor edx, 0xffffffff
and eax, edx
mov edx, 0xffffffff
xor edx, 0xe3687993
mov r8d, 0x3726677c
xor r8d, 0xd44e1eef
mov r9d, 0xf7f94815
xor r9d, 0x806b7ea
xor r8d, r9d
and edx, r8d
or eax, edx
mov edx, 0xee95551e
sar byte [rdx - 0x116aaae2], 1
xor edx, 0x116aaae1
xor eax, edx
mov dword [rbp - 0x7c], eax
mov eax, 0xee1c9868
xor eax, 0x3bb500fc
mov dword [rbp - 0x80], eax
movabs rdx, 0x36cbcb5107c66139
movabs rax, 0x36cbcb5107c66139
xor rdx, rax
sub rsp, 0x20
call fcn.14012c3a2
mov ecx, dword [rbp - 0x80]
mov eax, dword [rbp - 0x7c]
add rsp, 0x20
cmp eax, ecx
jae 0x1401306b0
jmp 0x14013078a
mov rax, qword [rbp + 0xc8]
lea rsp, [rbp + 0x170]
pop rbp
ret
in eax, 0x2d
je 0x140130735
jmp 0x14012ee98
xor byte [rsi + 0x3ae9a706], cl
call 0x1705c07ad
xor esi, edi
jmp 0x14012f355
xor byte [rbx], sil
imul ecx
movabs al, byte [0xe9baacc446ffffeb]
popfq
in eax, dx
invalid
invalid
xchg bl, al
invalid
jne 0x1401307d6
jge 0x1401307b5
int3
or al, 0xac
or bh, byte [rcx - 0xf4317]
jmp [rcx - 0x1602ec97]
invalid
test eax, 0xe9fd1369
add dh, dl
invalid
sub ebx, dword [rax]
pop rdx
jmp 0x14012fec2
mov bh, bh
sahf
int1
jmp 0x1401303a2
ret 0xb0c1
invalid