Function at 0x1400c408a
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x270
lea rbp, [rsp + 0x80]
mov eax, 0x10
mov qword [rbp + 0x138], rax
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x138]
mov rcx, rsp
mov qword [rbp + 0x100], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x138]
mov rcx, rsp
mov qword [rbp + 0x108], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x138]
mov rcx, rsp
mov qword [rbp + 0x110], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x138]
mov rcx, rsp
mov qword [rbp + 0x118], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x138]
mov rcx, rsp
mov qword [rbp + 0x120], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x138]
mov rcx, rsp
mov qword [rbp + 0x128], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x138]
mov rcx, rsp
mov qword [rbp + 0x130], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x138]
mov rcx, rsp
mov qword [rbp + 0x140], rcx
call fcn.140195b60
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x148], rax
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
add rsp, 0x20
add rax, 0x60
mov qword [rbp + 0x150], rax
mov rax, qword [0x1401b1930]
cmp rax, 0
mov qword [rbp + 0x158], rax
jne 0x1400c5126
mov ecx, 0x61811bee
xor ecx, 0x61811b8e
sub rsp, 0x20
call fcn.1400a3a42
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x150]
mov qword [rbp + 0xf8], rcx
cmp byte [rax], 0
jne 0x1400c5126
mov rax, qword [rbp + 0xf8]
movabs rdx, 0x5febb9b8294ea417
movabs rcx, 0x5febb9b8294ea437
xor rdx, rcx
mov rcx, rax
and rcx, rdx
shl rcx, 1
movabs rdx, 0x442ce501722aeefe
movabs r8, 0x442ce501722aeede
xor rdx, r8
xor rax, rdx
add rax, rcx
mov rax, qword [rax]
mov qword [rbp + 0xf0], rax
movabs rcx, 0xc222b21270880d7a
movabs rdx, 0xc222b21270880d7a
xor rcx, rdx
cmp rax, rcx
jne 0x1400c42f4
mov ecx, 0x40
mov edx, 8
sub rsp, 0x20
call fcn.140019bef
add rsp, 0x20
mov rcx, rax
lea rax, str._f0_f_
mov qword [rcx], rax
lea rax, [0x14019f760]
mov qword [rcx + 0x10], rax
mov rax, qword [0x14019f7b0]
mov qword [rcx + 0x18], rax
mov rax, qword [0x14019f7b8]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
lea rdx, [0x14019f760]
lea r8, [0x14019f77f]
lea r9, [0x14019f797]
sub rsp, 0x30
mov qword [rsp + 0x20], 0x69a43a62
call fcn.140019b17
add rsp, 0x30
xor eax, eax
mov rcx, rax
mov qword [rbp + 0xd8], rcx
mov rcx, rax
mov qword [rbp + 0xe0], rcx
mov qword [rbp + 0xe8], rax
jmp 0x1400c4fd5
mov rax, qword [rbp + 0xf0]
mov rax, qword [rax + 0x3f0]
mov qword [rbp + 0xd0], rax
movabs rcx, 0x3be72efc5dfe0ed8
movabs rdx, 0x3be72efc5dfe0ed8
xor rcx, rdx
cmp rax, rcx
jne 0x1400c43d6
mov ecx, 0x40
mov edx, 8
sub rsp, 0x20
call fcn.140019bef
add rsp, 0x20
mov rcx, rax
lea rax, str._f0_f_
mov qword [rcx], rax
lea rax, [0x14019f760]
mov qword [rcx + 0x10], rax
mov rax, qword [0x14019f7b0]
mov qword [rcx + 0x18], rax
mov rax, qword [0x14019f7b8]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
movabs rax, 0x14fe31e629c5a2f6
movabs rdx, 0xeb01ce198b001bc9
xor rax, rdx
lea rdx, [0x14019f760]
lea r8, [0x14019f77f]
lea r9, [0x14019f797]
sub rsp, 0x30
mov qword [rsp + 0x20], rax
call fcn.140019b17
add rsp, 0x30
xor eax, eax
mov rcx, rax
mov qword [rbp + 0xd8], rcx
mov rcx, rax
mov qword [rbp + 0xe0], rcx
mov qword [rbp + 0xe8], rax
jmp 0x1400c4fd5
mov rax, qword [rbp + 0xd0]
mov rcx, qword [rbp + 0xf0]
movabs rdx, 0xa8dc2b3751600406
movabs r8, 0xa8dc2b3751600486
xor rdx, r8
add rcx, rdx
mov rcx, qword [rcx]
mov qword [rbp + 0xc0], rcx
movabs rcx, 0x14b9fdc5b255d3b0
movabs rdx, 0x14b9fdc5b255d3b2
xor rcx, rdx
cqo
idiv rcx
mov rcx, rax
mov rax, qword [rbp + 0xd0]
mov qword [rbp + 0xc8], rcx
movabs rcx, 0x6acd4d851a6a952f
movabs rdx, 0x9532b27ae5956ad0
xor rcx, rdx
cmp rax, rcx
jge 0x1400c4499
mov rcx, qword [rbp + 0xc8]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.140010917
add rsp, 0x20
xor eax, eax
mov rcx, rax
mov qword [rbp + 0xd8], rcx
mov rcx, rax
mov qword [rbp + 0xe0], rcx
mov qword [rbp + 0xe8], rax
jmp 0x1400c4fd5
mov rcx, qword [rbp + 0x100]
mov rdx, qword [rbp + 0xc8]
sub rsp, 0x20
call fcn.14009e71a
mov rax, qword [rbp + 0x100]
mov rcx, qword [rbp + 0x150]
add rsp, 0x20
mov rdx, qword [rax]
mov qword [rbp + 0xb0], rdx
mov rax, qword [rax + 8]
mov qword [rbp + 0xb8], rax
xor eax, eax
cmp byte [rcx], 0
mov rcx, rax
mov qword [rbp + 0xd8], rcx
mov rcx, rax
mov qword [rbp + 0xe0], rcx
mov qword [rbp + 0xe8], rax
jne 0x1400c4fd5
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
mov r9, qword [rbp + 0xb0]
mov rdx, qword [rbp + 0x150]
add rsp, 0x20
mov rax, qword [rbp + 0xb8]
movabs r10, 0x9a6919086dae401a
movabs rcx, 0x9a6919086dae401a
xor r10, rcx
mov rcx, rax
add rcx, 8
lea r8, [0x14019f7d0]
cmp r9, r10
cmove rcx, r8
mov qword [rbp + 0xa8], rcx
xor ecx, ecx
cmp byte [rdx], 0
mov rdx, rcx
mov qword [rbp + 0xd8], rdx
mov qword [rbp + 0xe0], rcx
mov qword [rbp + 0xe8], rax
jne 0x1400c4fd5
mov rax, qword [rbp + 0xd0]
movabs rcx, 0xa80bcb9794077755
movabs rdx, 0xa80bcb9794077755
xor rcx, rdx
cmp rax, rcx
jge 0x1400c45ed
mov rcx, qword [rbp + 0xd0]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.140010917
mov rax, qword [rbp + 0xb8]
add rsp, 0x20
xor ecx, ecx
mov rdx, rcx
mov qword [rbp + 0xd8], rdx
mov qword [rbp + 0xe0], rcx
mov qword [rbp + 0xe8], rax
jmp 0x1400c4fd5
xor eax, eax
mov qword [rbp + 0xa0], rax
mov rax, qword [rbp + 0xa0]
mov rcx, qword [rbp + 0xd0]
mov rdx, qword [rbp + 0xa8]
mov r8, qword [rbp + 0xc0]
mov r8b, byte [r8 + rax]
mov byte [rdx + rax], r8b
movabs rdx, 0xb34ba4a9520f5811
movabs r8, 0xb34ba4a9520f5810
xor rdx, r8
add rax, rdx
cmp rax, rcx
mov qword [rbp + 0xa0], rax
jne 0x1400c45f6
mov rax, qword [rbp + 0xb8]
mov rdx, qword [rbp + 0x108]
mov rcx, qword [rbp + 0xb0]
mov qword [rdx], rcx
mov qword [rdx + 8], rax
lea rcx, [rbp + 0x1e0]
sub rsp, 0x20
call fcn.1400c5136
mov rcx, qword [rbp + 0x150]
mov rax, qword [rbp + 0xb8]
add rsp, 0x20
mov rdx, qword [rbp + 0x1e0]
mov qword [rbp + 0x90], rdx
mov rdx, qword [rbp + 0x1e8]
mov qword [rbp + 0x98], rdx
mov dl, byte [rcx]
mov r8b, 0xe7
xor r8b, 0xe7
xor ecx, ecx
cmp dl, r8b
mov rdx, rcx
mov qword [rbp + 0xd8], rdx
mov qword [rbp + 0xe0], rcx
mov qword [rbp + 0xe8], rax
jne 0x1400c4fd5
mov rax, qword [rbp + 0x98]
mov rcx, qword [rbp + 0x90]
mov qword [rbp + 0x1c0], rcx
mov qword [rbp + 0x1c8], rax
xor eax, eax
mov r8b, al
xor r8b, 1
mov r9b, 1
xor r9b, 0
sub rsp, 0x30
lea rcx, [0x14019f7e0]
mov rax, rsp
mov qword [rax + 0x20], rcx
and r8b, 1
and r9b, 1
lea rcx, [rbp + 0x1d0]
lea rdx, [rbp + 0x1c0]
call fcn.140039d15
mov rcx, qword [rbp + 0x150]
add rsp, 0x30
mov rax, qword [rbp + 0x1d0]
mov qword [rbp + 0x70], rax
mov rax, qword [rbp + 0x1d8]
mov qword [rbp + 0x78], rax
xor eax, eax
cmp byte [rcx], 0
mov rcx, rax
mov qword [rbp + 0x80], rcx
mov qword [rbp + 0x88], rax
jne 0x1400c4ee8
mov rcx, qword [rbp + 0x110]
mov rdx, qword [rbp + 0x118]
mov rax, qword [rbp + 0x78]
mov r8, qword [rbp + 0x70]
mov qword [rdx], r8
mov qword [rdx + 8], rax
mov r8b, 0x28
xor r8b, 0x28
movabs r9, 0xf82da89ec39a9833
movabs rax, 0x7d257613c6567cc
xor r9, rax
sub rsp, 0x20
call fcn.14003a680
mov rax, qword [rbp + 0x110]
mov rcx, qword [rbp + 0x150]
add rsp, 0x20
mov rdx, qword [rax]
mov qword [rbp + 0x50], rdx
mov rax, qword [rax + 8]
mov qword [rbp + 0x58], rax
xor eax, eax
cmp byte [rcx], 0
mov rcx, rax
mov qword [rbp + 0x60], rcx
mov qword [rbp + 0x68], rax
jne 0x1400c4e64
sub rsp, 0x20
call fcn.14002471c
add rsp, 0x20
mov rdx, rax
lea rcx, [0x1401b1930]
sub rsp, 0x20
call fcn.140024419
mov rcx, qword [rbp + 0x50]
mov rax, qword [rbp + 0x58]
add rsp, 0x20
movabs rdx, 0x77c706045761e240
movabs r8, 0x77c706045761e240
xor rdx, r8
cmp rcx, rdx
mov qword [rbp + 0x60], rcx
mov qword [rbp + 0x68], rax
jle 0x1400c4e64
mov rax, qword [rbp + 0x148]
mov rcx, qword [rbp + 0x140]
mov rdx, qword [rbp + 0x120]
add rdx, 8
mov qword [rbp + 0x18], rdx
lea rdx, [rbp + 0x1b0]
add rdx, 8
mov qword [rbp + 0x20], rdx
lea rdx, [rbp + 0x190]
add rdx, 8
mov qword [rbp + 0x28], rdx
add rcx, 8
mov qword [rbp + 0x30], rcx
add rax, 8
mov qword [rbp + 0x38], rax
lea rax, [rbp + 0x170]
add rax, 8
mov qword [rbp + 0x40], rax
xor eax, eax
mov qword [rbp + 0x48], rax
mov rdx, qword [rbp + 0x130]
mov rcx, qword [rbp + 0x20]
mov r8, qword [rbp + 0x18]
mov r9, qword [rbp + 0x120]
mov rax, qword [rbp + 0x58]
mov r10, qword [rbp + 0x48]
mov qword [rbp - 0x10], r10
add rax, 8
shl r10, 4
add rax, r10
mov qword [r9], 0
mov qword [r8], 0
mov qword [rbp + 0x1b0], 0
mov qword [rcx], 0
mov rcx, qword [rax]
mov qword [rdx], rcx
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
mov r8b, 0x12
xor r8b, 0x2f
movabs r9, 0xeaf06a0c5a45b5ab
movabs rax, 0xeaf06a0c5a45b5a9
xor r9, rax
lea rcx, [rbp + 0x190]
sub rsp, 0x20
call fcn.14003a680
mov rcx, qword [rbp + 0x28]
mov rax, qword [rbp + 0x150]
add rsp, 0x20
mov rdx, qword [rbp + 0x190]
mov qword [rbp - 8], rdx
mov rcx, qword [rcx]
mov qword [rbp], rcx
mov cl, byte [rax]
mov dl, 0xce
xor dl, 0xce
xor eax, eax
cmp cl, dl
mov rcx, rax
mov qword [rbp + 8], rcx
mov qword [rbp + 0x10], rax
jne 0x1400c4d21
mov rax, qword [rbp - 8]
movabs rcx, 0xf823ebe509775263
movabs rdx, 0xf823ebe509775263
xor rcx, rdx
cmp rax, rcx
jg 0x1400c4a9f
mov rax, qword [rbp + 0x20]
mov rax, qword [rax]
mov qword [rbp - 0x18], rax
cmp rax, 0
je 0x1400c4a0d
mov rax, qword [rbp - 0x18]
mov rax, qword [rax]
movabs rdx, 0x4000000000000000
mov rcx, rax
xor rcx, rdx
movabs rdx, 0x6dddc7b92b25958
movabs r8, 0xf92223846d4da6a7
xor rdx, r8
xor rcx, rdx
movabs rdx, 0xe8e5d82b4ac1cf62
movabs r8, 0xa8e5d82b4ac1cf62
xor rdx, r8
or rax, rdx
and rax, rcx
movabs rcx, 0x6e9f75255315596a
movabs rdx, 0x6e9f75255315596a
xor rcx, rdx
cmp rax, rcx
jne 0x1400c4a0d
mov rcx, qword [rbp - 0x18]
sub rsp, 0x20
call fcn.1400121d0
add rsp, 0x20
mov rax, qword [rbp + 0x18]
mov rax, qword [rax]
mov qword [rbp - 0x20], rax
cmp rax, 0
je 0x1400c4a74
mov rax, qword [rbp - 0x20]
mov rax, qword [rax]
movabs rcx, 0xde8174cf720a8382
movabs rdx, 0x9e8174cf720a8382
xor rcx, rdx
and rax, rcx
movabs rcx, 0x19468fa507b8d36d
movabs rdx, 0x19468fa507b8d36d
xor rcx, rdx
cmp rax, rcx
jne 0x1400c4a74
mov rcx, qword [rbp - 0x20]
sub rsp, 0x20
call fcn.1400121d0
add rsp, 0x20
mov rcx, qword [rbp + 0x140]
mov rax, qword [rbp + 0x30]
mov rdx, qword [rbp]
mov r8, qword [rbp - 8]
mov qword [rcx], r8
mov qword [rax], rdx
sub rsp, 0x20
call fcn.1400208b6
add rsp, 0x20
jmp 0x1400c4e35
mov rcx, qword [rbp + 0x120]
mov rax, qword [rbp]
mov rdx, qword [rax + 8]
mov qword [rbp + 0x180], rdx
mov rax, qword [rax + 0x10]
mov qword [rbp + 0x188], rax
lea rdx, [rbp + 0x180]
sub rsp, 0x20
call fcn.140021260
mov rax, qword [rbp + 0x120]
add rsp, 0x20
cmp qword [rax], 0
jne 0x1400c4bf9
mov rax, qword [rbp + 0x20]
mov rax, qword [rax]
mov qword [rbp - 0x28], rax
cmp rax, 0
je 0x1400c4b4c
mov rax, qword [rbp - 0x28]
mov rax, qword [rax]
movabs rcx, 0x15471147693f8a2b
movabs rdx, 0x55471147693f8a2b
xor rcx, rdx
and rax, rcx
movabs rcx, 0xe1c7aa6b8b987b39
movabs rdx, 0xe1c7aa6b8b987b39
xor rcx, rdx
cmp rax, rcx
jne 0x1400c4b4c
mov rcx, qword [rbp - 0x28]
sub rsp, 0x20
call fcn.1400121d0
add rsp, 0x20
mov rax, qword [rbp + 0x18]
mov rax, qword [rax]
mov qword [rbp - 0x30], rax
cmp rax, 0
je 0x1400c4bca
mov rax, qword [rbp - 0x30]
mov rax, qword [rax]
movabs rdx, 0x9c4916b0bf534817
movabs rcx, 0x9c4916b0bf534816
xor rdx, rcx
mov rcx, rax
add rcx, rdx
xor rax, 0xffffffffffffffff
movabs rdx, 0x4000000000000000
or rax, rdx
add rax, rcx
movabs rcx, 0xc87381729d29a9ea
movabs rdx, 0xc87381729d29a9ea
xor rcx, rdx
cmp rax, rcx
jne 0x1400c4bca
mov rcx, qword [rbp - 0x30]
sub rsp, 0x20
call fcn.1400121d0
add rsp, 0x20
mov rax, qword [rbp + 0x40]
mov rcx, qword [rbp]
mov rdx, qword [rbp - 8]
mov qword [rbp + 0x170], rdx
mov qword [rax], rcx
lea rcx, [rbp + 0x170]
sub rsp, 0x20
call fcn.1400208b6
add rsp, 0x20
jmp 0x1400c4e35
mov rax, qword [rbp - 8]
cmp rax, 1
jne 0x1400c4c28
mov rax, qword [0x14019f7b0]
mov qword [rbp + 0x1b0], rax
mov rax, qword [0x14019f7b8]
mov qword [rbp + 0x1b8], rax
jmp 0x1400c4c56
mov rax, qword [rbp]
mov rcx, rax
add rcx, 0x18
mov rdx, qword [rax + 0x18]
mov qword [rbp + 0x1b0], rdx
mov rax, qword [rax + 0x20]
mov qword [rbp + 0x1b8], rax
sub rsp, 0x20
call fcn.1400143a4
add rsp, 0x20
mov ecx, 0x20
mov edx, 8
sub rsp, 0x20
call fcn.140024940
mov rcx, qword [rbp + 0x120]
add rsp, 0x20
mov qword [rbp - 0x38], rax
mov rax, qword [rcx]
mov qword [rbp + 0x1a0], rax
mov rax, qword [rcx + 8]
mov qword [rbp + 0x1a8], rax
sub rsp, 0x20
call fcn.1400143a4
mov rax, qword [rbp + 0x128]
mov rcx, qword [rbp - 0x38]
add rsp, 0x20
mov rdx, qword [rbp + 0x1a0]
mov qword [rcx], rdx
mov rdx, qword [rbp + 0x1a8]
mov qword [rcx + 8], rdx
mov rcx, qword [rbp + 0x1b0]
mov qword [rax], rcx
mov rcx, qword [rbp + 0x1b8]
mov qword [rax + 8], rcx
lea rcx, [rbp + 0x1b0]
sub rsp, 0x20
call fcn.1400143a4
mov rax, qword [rbp + 0x128]
mov rdx, qword [rbp - 0x38]
add rsp, 0x20
mov rcx, qword [rax]
mov qword [rdx + 0x10], rcx
mov rax, qword [rax + 8]
mov qword [rdx + 0x18], rax
mov rcx, qword [0x1401b1930]
sub rsp, 0x20
call fcn.140024783
mov rcx, qword [rbp]
mov rax, qword [rbp - 8]
add rsp, 0x20
mov qword [rbp + 8], rcx
mov qword [rbp + 0x10], rax
mov rax, qword [rbp + 0x20]
mov rcx, qword [rbp + 8]
mov rdx, qword [rbp + 0x10]
mov qword [rbp - 0x50], rdx
mov qword [rbp - 0x48], rcx
mov rax, qword [rax]
mov qword [rbp - 0x40], rax
cmp rax, 0
je 0x1400c4d82
mov rax, qword [rbp - 0x40]
mov rax, qword [rax]
movabs rcx, 0x7e2f962c1e918001
movabs rdx, 0x3e2f962c1e918001
xor rcx, rdx
and rax, rcx
cmp rax, 0
jne 0x1400c4d82
mov rcx, qword [rbp - 0x40]
sub rsp, 0x20
call fcn.1400121d0
add rsp, 0x20
mov rax, qword [rbp + 0x18]
mov rax, qword [rax]
mov qword [rbp - 0x58], rax
cmp rax, 0
je 0x1400c4dc3
mov rcx, qword [rbp - 0x58]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
cmp rax, 0
jne 0x1400c4dc3
mov rcx, qword [rbp - 0x58]
sub rsp, 0x20
call fcn.1400121d0
add rsp, 0x20
mov rcx, qword [rbp + 0x148]
mov rax, qword [rbp + 0x38]
mov rdx, qword [rbp - 0x48]
mov r8, qword [rbp - 0x50]
mov qword [rcx], r8
mov qword [rax], rdx
sub rsp, 0x20
call fcn.1400208b6
mov rax, qword [rbp + 0x150]
add rsp, 0x20
cmp byte [rax], 0
je 0x1400c4e35
mov rax, qword [rbp + 0x150]
mov byte [rax], 0
sub rsp, 0x20
call fcn.1400c5316
mov rax, qword [rbp + 0x150]
add rsp, 0x20
cmp byte [rax], 0
je 0x1400c4e35
mov rax, qword [rbp + 0x58]
mov rcx, qword [rbp + 0x50]
mov qword [rbp + 0x60], rcx
mov qword [rbp + 0x68], rax
jmp 0x1400c4e64
mov rax, qword [rbp + 0x58]
mov rcx, qword [rbp + 0x50]
mov r8, qword [rbp - 0x10]
mov rdx, r8
and rdx, 1
or r8, 1
add rdx, r8
cmp rdx, rcx
mov qword [rbp + 0x48], rdx
mov qword [rbp + 0x60], rcx
mov qword [rbp + 0x68], rax
jne 0x1400c488f
mov rdx, qword [rbp + 0x78]
mov rax, qword [rbp + 0x60]
mov rcx, qword [rbp + 0x68]
mov qword [rbp - 0x68], rcx
mov qword [rbp - 0x60], rax
cmp rdx, 0
mov qword [rbp + 0x80], rcx
mov qword [rbp + 0x88], rax
je 0x1400c4ee8
mov rax, qword [rbp - 0x60]
mov rcx, qword [rbp - 0x68]
mov r8, qword [rbp + 0x78]
movabs rdx, 0x4000000000000000
and rdx, qword [r8]
cmp rdx, 0
mov qword [rbp + 0x80], rcx
mov qword [rbp + 0x88], rax
jne 0x1400c4ee8
mov rcx, qword [rbp + 0x78]
sub rsp, 0x20
call fcn.1400121d0
mov rcx, qword [rbp - 0x68]
mov rax, qword [rbp - 0x60]
add rsp, 0x20
mov qword [rbp + 0x80], rcx
mov qword [rbp + 0x88], rax
mov rax, qword [rbp + 0xb8]
mov r8, qword [rbp + 0x98]
mov rcx, qword [rbp + 0x80]
mov rdx, qword [rbp + 0x88]
mov qword [rbp - 0x78], rdx
mov qword [rbp - 0x70], rcx
cmp r8, 0
mov qword [rbp + 0xd8], rdx
mov qword [rbp + 0xe0], rcx
mov qword [rbp + 0xe8], rax
je 0x1400c4fd5
mov rax, qword [rbp + 0xb8]
mov rcx, qword [rbp - 0x70]
mov rdx, qword [rbp - 0x78]
mov r8, qword [rbp + 0x98]
mov r9, qword [r8]
movabs r10, 0x15d5b195bf4238da
movabs r8, 0x55d5b195bf4238da
xor r10, r8
movabs r8, 0xbd67f8ea7f1a3551
movabs r11, 0x4298071580e5caae
xor r8, r11
xor r10, r8
mov r8, r9
xor r8, r10
and r8, r9
cmp r8, 0
mov qword [rbp + 0xd8], rdx
mov qword [rbp + 0xe0], rcx
mov qword [rbp + 0xe8], rax
jne 0x1400c4fd5
mov rcx, qword [rbp + 0x98]
sub rsp, 0x20
call fcn.1400121d0
mov rdx, qword [rbp - 0x78]
mov rcx, qword [rbp - 0x70]
mov rax, qword [rbp + 0xb8]
add rsp, 0x20
mov qword [rbp + 0xd8], rdx
mov qword [rbp + 0xe0], rcx
mov qword [rbp + 0xe8], rax
mov rcx, qword [rbp + 0xd8]
mov rax, qword [rbp + 0xe0]
mov rdx, qword [rbp + 0xe8]
mov qword [rbp - 0x80], rdx
mov qword [rbp + 0x160], rcx
mov qword [rbp + 0x168], rax
lea rcx, [rbp + 0x160]
sub rsp, 0x20
call fcn.1400208b6
mov rax, qword [rbp - 0x80]
add rsp, 0x20
cmp rax, 0
je 0x1400c50c2
mov rax, qword [rbp - 0x80]
mov rax, qword [rax]
or rax, rax
xor rax, 0xffffffffffffffff
mov rcx, 0xffffffffffffffff
movabs rdx, 0x4000000000000000
xor rcx, rdx
movabs rdx, 0xf2b1181abc822202
movabs r8, 0xb2b1181abc822202
xor rdx, r8
movabs r8, 0x8f39422031ea42c6
movabs r9, 0x70c6bddfce15bd39
xor r8, r9
xor rdx, r8
and rcx, rdx
or rax, rcx
movabs rcx, 0xf2becfe211323df9
movabs rdx, 0xd41301deecdc206
xor rcx, rdx
xor rax, rcx
movabs rcx, 0x2bd6912531262219
movabs rdx, 0x2bd6912531262219
xor rcx, rdx
cmp rax, rcx
jne 0x1400c50c2
mov rcx, qword [rbp - 0x80]
sub rsp, 0x20
call fcn.1400121d0
add rsp, 0x20
mov rax, qword [rbp + 0x150]
cmp byte [rax], 0
jne 0x1400c50e5
mov rax, qword [0x1401b1930]
mov qword [rbp + 0x158], rax
jmp 0x1400c5126
mov rax, qword [rbp + 0x150]
mov byte [rax], 0
sub rsp, 0x20
call fcn.14002471c
add rsp, 0x20
mov rdx, rax
lea rcx, [0x1401b1930]
sub rsp, 0x20
call fcn.140024419
call fcn.1400c5316
add rsp, 0x20
mov rax, qword [0x1401b1930]
mov qword [rbp + 0x158], rax
mov rax, qword [rbp + 0x158]
lea rsp, [rbp + 0x1f0]
pop rbp
ret