Function at 0x1401826c0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
push rdi
push rbx
sub rsp, 0x288
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x120], r8
mov qword [rbp + 0x158], rdx
mov qword [rbp + 0x128], rcx
mov eax, 0x10
mov qword [rbp + 0x138], rax
call fcn.1402a7dd0
sub rsp, rax
mov rax, qword [rbp + 0x138]
mov rcx, rsp
mov qword [rbp + 0x160], rcx
call fcn.1402a7dd0
sub rsp, rax
mov rax, qword [rbp + 0x138]
mov rcx, rsp
mov qword [rbp + 0x130], rcx
call fcn.1402a7dd0
sub rsp, rax
mov rax, qword [rbp + 0x138]
mov rcx, rsp
mov qword [rbp + 0x140], rcx
call fcn.1402a7dd0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x148], rax
mov rax, qword [0x1402c6150]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000eaf8
add rsp, 0x20
mov qword [rbp + 0x150], rax
mov rax, qword [0x1402c6150]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000eaf8
mov rcx, qword [rbp + 0x150]
mov rdx, qword [rbp + 0x158]
add rsp, 0x20
mov rax, qword [rbp + 0x160]
add rcx, 0x60
mov qword [rbp + 0x168], rcx
mov qword [rax], 0
mov rcx, rax
add rcx, 8
mov qword [rbp + 0x170], rcx
mov qword [rax + 8], 0
cmp qword [rdx], 0
jne 0x14018286c
movabs rcx, 0x6297cdf06a53fbff
movabs rax, 0x6297cdf06a53fbbf
xor rcx, rax
movabs rdx, 0xed19ca9227a3cc12
movabs rax, 0xed19ca9227a3cc1a
xor rdx, rax
sub rsp, 0x20
call fcn.140025b10
add rsp, 0x20
mov rcx, rax
mov rax, qword [0x1402c5d80]
mov qword [rcx], rax
lea rax, [0x1402c41e0]
mov qword [rcx + 0x10], rax
mov rax, qword [0x1402c4238]
mov qword [rcx + 0x18], rax
mov rax, qword [str.HB__]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
lea rdx, [0x1402c41e0]
lea r8, [0x1402c41eb]
lea r9, [0x1402c41f3]
sub rsp, 0x30
mov qword [rsp + 0x20], 0x43bc8c63
call fcn.140025a43
add rsp, 0x30
jmp 0x140183ef3
mov rcx, qword [rbp + 0x160]
mov rax, qword [rbp + 0x158]
mov rdx, qword [rax]
mov qword [rbp + 0x1d8], rdx
mov rax, qword [rax + 8]
mov qword [rbp + 0x1e0], rax
lea rdx, [rbp + 0x1d8]
sub rsp, 0x20
call fcn.140030ffb
mov rcx, qword [rbp + 0x160]
add rsp, 0x20
mov rax, qword [0x1402c4218]
mov qword [rbp + 0x1c8], rax
mov rax, qword [str.XB__]
mov qword [rbp + 0x1d0], rax
lea rdx, [rbp + 0x1c8]
sub rsp, 0x20
call fcn.140061e90
mov rax, qword [rbp + 0x168]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140183ef3
mov rcx, qword [rbp + 0x160]
mov rax, qword [0x1402c4228]
mov qword [rbp + 0x1b8], rax
mov rax, qword [str.hB__]
mov qword [rbp + 0x1c0], rax
lea rdx, [rbp + 0x1b8]
sub rsp, 0x20
call fcn.140061e90
mov rax, qword [rbp + 0x168]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140183ef3
mov rcx, qword [rbp + 0x140]
mov rax, qword [rbp + 0x160]
mov rdx, qword [rax]
mov qword [rbp + 0x1a8], rdx
mov rax, qword [rax + 8]
mov qword [rbp + 0x1b0], rax
lea rdx, [rbp + 0x1a8]
mov r8d, 0x5c
mov r9d, 0x2f
sub rsp, 0x20
call fcn.140059f60
mov rcx, qword [rbp + 0x140]
mov rax, qword [rbp + 0x168]
add rsp, 0x20
mov rdx, qword [rcx]
mov qword [rbp + 0x110], rdx
mov rcx, qword [rcx + 8]
mov qword [rbp + 0x118], rcx
cmp byte [rax], 0
jne 0x140183e9f
mov eax, dword [0x1402b1ec8]
add eax, dword [0x1402b1ecc]
mov edx, 0x6a6ef64d
xor edx, 0x959109b2
mov ecx, eax
xor ecx, edx
mov edx, 0x966dc73e
xor edx, 0x6673e7e8
and edx, ecx
mov r8d, 0xffffffff
xor r8d, 0xf01e20d6
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0xf01e20d6
or eax, 0xf01e20d6
imul eax, edx
add eax, ecx
mov ecx, 0xb9e3b32c
xor ecx, 0x199c4c1e
add eax, ecx
sub eax, 0x825b5726
cmp eax, 0x9208d0c5
je 0x140183f7e
mov rax, qword [rbp + 0x118]
mov rdx, qword [rbp + 0x110]
mov rcx, qword [rbp + 0x128]
mov r8d, dword [0x1402b1ed0]
mov r9d, dword [0x1402b1ed4]
or r8d, r9d
xor r8d, 0x2c8b7f0d
mov r9d, 0xe2ca748f
imul r8, r9
shr r8, 0x3e
add r8d, 0x13ae55c3
mov dword [rbp + 0x108], r8d
mov r8d, 0x8d9a4a02
mov dword [rbp + 0x104], r8d
mov rcx, qword [rcx]
mov rcx, qword [rcx]
mov qword [rbp + 0x198], rdx
mov qword [rbp + 0x1a0], rax
sub rsp, 0x20
lea rdx, [rbp + 0x198]
call fcn.140078cc9
mov rdx, qword [rbp + 0x168]
mov ecx, dword [rbp + 0x104]
add rsp, 0x20
mov r8b, al
mov eax, dword [rbp + 0x108]
mov dl, byte [rdx]
test dl, dl
sete dl
mov byte [rbp + 0x10e], dl
and dl, r8b
mov byte [rbp + 0x10f], dl
cmp eax, ecx
jae 0x140183f7e
mov al, byte [rbp + 0x10f]
test al, 1
jne 0x140182ad1
jmp 0x140182b4e
mov ecx, 0x40
mov edx, 8
sub rsp, 0x20
call fcn.140025b10
add rsp, 0x20
mov rcx, rax
mov rax, qword [0x1402c5d80]
mov qword [rcx], rax
lea rax, [0x1402c41e0]
mov qword [rcx + 0x10], rax
mov rax, qword [0x1402c4238]
mov qword [rcx + 0x18], rax
mov rax, qword [str.HB__]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
lea rdx, [0x1402c41e0]
lea r8, [0x1402c41eb]
lea r9, [0x1402c41f3]
sub rsp, 0x30
mov qword [rsp + 0x20], 0x6d55c7a2
call fcn.140025a43
add rsp, 0x30
jmp 0x140183e9f
mov al, byte [rbp + 0x10e]
test al, 1
jne 0x140182b61
jmp 0x140183e9f
mov rax, qword [rbp + 0x120]
mov rcx, qword [rax]
mov qword [rbp + 0xf8], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0xf0], rax
mov rax, qword [0x1402c6150]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000eaf8
mov rcx, qword [rbp + 0xf0]
mov rdx, qword [rbp + 0xf8]
add rsp, 0x20
add rcx, 8
lea rax, [0x1402c4278]
cmp rdx, 0
cmove rcx, rax
sub rsp, 0x20
call fcn.14016e7a2
add rsp, 0x20
mov ecx, eax
mov rax, qword [rbp + 0x168]
mov dword [rbp + 0x100], ecx
cmp byte [rax], 0
jne 0x140183e9f
mov rax, qword [rbp + 0x120]
mov rax, qword [rax]
movabs rcx, 0xcd59af31f7404dc2
movabs rdx, 0xcd59af31f7404dc2
xor rcx, rdx
cmp rax, rcx
jne 0x140182c4d
mov rax, qword [rbp + 0x128]
mov rdx, qword [rax]
mov r8, qword [rdx + 8]
xor eax, eax
mov cx, ax
xor eax, eax
mov qword [rbp + 0xc0], r8
mov qword [rbp + 0xc8], rdx
mov word [rbp + 0xd6], cx
mov rcx, rax
mov qword [rbp + 0xd8], rcx
mov rcx, rax
mov qword [rbp + 0xe0], rcx
mov qword [rbp + 0xe8], rax
jmp 0x140182d12
mov rax, qword [rbp + 0x120]
mov rcx, qword [rax]
mov qword [rbp + 0x178], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x180], rax
lea rcx, [rbp + 0x188]
lea rdx, [rbp + 0x178]
mov r8d, 1
mov r9d, 1
sub rsp, 0x20
call fcn.1401809a0
mov rcx, qword [rbp + 0x168]
add rsp, 0x20
mov rax, qword [rbp + 0x188]
mov qword [rbp + 0xa8], rax
mov rax, qword [rbp + 0x190]
mov qword [rbp + 0xb0], rax
cmp byte [rcx], 0
mov qword [rbp + 0xb8], rax
jne 0x140183e5e
mov rax, qword [rbp + 0xb0]
mov rcx, qword [rbp + 0xa8]
mov rdx, qword [rbp + 0x128]
mov r9, qword [rdx]
mov rdx, qword [r9 + 8]
mov r8w, 8
mov r10, rdx
mov qword [rbp + 0xc0], r10
mov qword [rbp + 0xc8], r9
mov word [rbp + 0xd6], r8w
mov qword [rbp + 0xd8], rdx
mov qword [rbp + 0xe0], rcx
mov qword [rbp + 0xe8], rax
mov rax, qword [rbp + 0xc0]
mov rcx, qword [rbp + 0xc8]
mov dx, word [rbp + 0xd6]
mov r9, qword [rbp + 0xd8]
mov r8, qword [rbp + 0xe0]
mov r10, qword [rbp + 0xe8]
mov qword [rbp + 0x70], r10
mov qword [rbp + 0x78], r8
mov qword [rbp + 0x80], r9
mov word [rbp + 0x8e], dx
mov qword [rbp + 0x90], rcx
add rcx, 8
mov qword [rbp + 0x98], rcx
mov rcx, rax
add rcx, r8
mov qword [rbp + 0xa0], rcx
mov r9, rcx
xor r9, rax
xor r9, 0xffffffffffffffff
mov rdx, rax
and rdx, r9
shl rdx, 1
sub rdx, rax
mov rax, rcx
sub rax, rdx
mov rdx, rcx
xor rdx, 0xffffffffffffffff
mov r9, rcx
xor r9, 0xffffffffffffffff
and rdx, r9
mov r9, r8
or r9, r9
xor r9, 0xffffffffffffffff
or rdx, r9
movabs r9, 0x533e7580f9e8768d
movabs r10, 0xacc18a7f06178972
xor r9, r10
xor rdx, r9
or rcx, r8
xor rcx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
and rdx, rcx
mov rcx, rax
xor rcx, rdx
xor rcx, 0xffffffffffffffff
or rax, rdx
and rax, rcx
cmp rax, 0
jge 0x140182e0f
sub rsp, 0x20
call fcn.14000ee80
mov rax, qword [rbp + 0x70]
add rsp, 0x20
mov qword [rbp + 0xb8], rax
jmp 0x140183e5e
mov eax, dword [0x1402b1ed8]
mov edx, dword [0x1402b1edc]
mov ecx, eax
xor ecx, edx
xor edx, 0xffffffff
and eax, edx
shl eax, 1
sub eax, ecx
mov ecx, 0x15d9474b
xor ecx, 0x15d9474b
mov edx, 0x607aaba1
xor edx, 0xa6aaf47b
sub ecx, edx
add eax, ecx
mov ecx, 0x6d936b0e
xor edx, edx
div ecx
mov ecx, eax
mov eax, ecx
or eax, eax
xor eax, 0xffffffff
mov edx, 0x35fff88c
or edx, 0x35fff88c
mov r8d, 0x8735d788
xor r8d, 0x78ca2877
xor edx, r8d
or eax, edx
mov edx, 0xdd9edd84
xor edx, 0x2261227b
xor eax, edx
or ecx, 0x35fff88c
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0xcd8ab7e9
xor ecx, 0x32754816
xor eax, ecx
cmp eax, 0x3453296c
je 0x140183f87
mov r8, qword [rbp + 0xa0]
mov eax, dword [0x1402b1ee0]
mov ecx, 0xabe164fe
xor ecx, 0xb2571b3a
xor eax, ecx
and eax, dword [0x1402b1ee4]
mov ecx, 0xf25a37a2
xor ecx, 0xf3c39010
sub eax, ecx
mov ecx, 0xd5e2613
xor edx, edx
div ecx
mov rdx, qword [rbp + 0x90]
or eax, 0x66eae8d0
mov ecx, 0x70ebf6b9
xor ecx, 0x62f77820
cmp qword [rdx + 0x18], r8
setl dl
mov byte [rbp + 0x6f], dl
cmp eax, ecx
je 0x140182ea2
mov al, byte [rbp + 0x6f]
test al, 1
jne 0x140182f11
jmp 0x140182f99
mov ecx, 0x40
mov edx, 8
sub rsp, 0x20
call fcn.140025b10
add rsp, 0x20
mov rcx, rax
mov rax, qword [0x1402c5d80]
mov qword [rcx], rax
lea rax, [0x1402c41e0]
mov qword [rcx + 0x10], rax
mov rax, qword [0x1402c4238]
mov qword [rcx + 0x18], rax
mov rax, qword [str.HB__]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
lea rdx, [0x1402c41e0]
lea r8, [0x1402c41eb]
lea r9, [0x1402c41f3]
sub rsp, 0x30
mov qword [rsp + 0x20], 0x54ca026
call fcn.140025a43
mov rax, qword [rbp + 0x70]
add rsp, 0x30
mov qword [rbp + 0xb8], rax
jmp 0x140183e5e
mov rcx, qword [rbp + 0x98]
mov edx, 0x4034b50
sub rsp, 0x20
call fcn.140180e90
mov rcx, qword [rbp + 0x168]
mov rax, qword [rbp + 0x70]
add rsp, 0x20
cmp byte [rcx], 0
mov qword [rbp + 0xb8], rax
jne 0x140183e5e
mov rax, qword [rbp + 0x128]
mov rcx, qword [rax]
add rcx, 8
movabs rdx, 0xa878c8d060dcac8e
movabs rax, 0xa878c8d060dcaca3
xor rdx, rax
sub rsp, 0x20
call fcn.1401813b0
mov rcx, qword [rbp + 0x168]
mov rax, qword [rbp + 0x70]
add rsp, 0x20
cmp byte [rcx], 0
mov qword [rbp + 0xb8], rax
jne 0x140183e5e
mov rax, qword [rbp + 0x128]
mov rcx, qword [rax]
add rcx, 8
mov edx, 0x800
sub rsp, 0x20
call fcn.140181a00
mov rcx, qword [rbp + 0x168]
mov rax, qword [rbp + 0x70]
add rsp, 0x20
cmp byte [rcx], 0
mov qword [rbp + 0xb8], rax
jne 0x140183e5e
mov dx, word [rbp + 0x8e]
mov rax, qword [rbp + 0x128]
mov rcx, qword [rax]
add rcx, 8
sub rsp, 0x20
call fcn.140181a00
mov rcx, qword [rbp + 0x168]
mov rax, qword [rbp + 0x70]
add rsp, 0x20
cmp byte [rcx], 0
mov qword [rbp + 0xb8], rax
jne 0x140183e5e
mov rax, qword [rbp + 0x128]
mov rcx, qword [rax]
add rcx, 8
mov dx, word [0x1402d7aa0]
sub rsp, 0x20
call fcn.140181a00
mov rcx, qword [rbp + 0x168]
mov rax, qword [rbp + 0x70]
add rsp, 0x20
cmp byte [rcx], 0
mov qword [rbp + 0xb8], rax
jne 0x140183e5e
mov rax, qword [rbp + 0x128]
mov rcx, qword [rax]
add rcx, 8
mov dx, word [0x1402d7aa2]
sub rsp, 0x20
call fcn.140181a00
mov rcx, qword [rbp + 0x168]
mov rax, qword [rbp + 0x70]
add rsp, 0x20
cmp byte [rcx], 0
mov qword [rbp + 0xb8], rax
jne 0x140183e5e
mov edx, dword [rbp + 0x100]
mov rax, qword [rbp + 0x128]
mov rcx, qword [rax]
add rcx, 8
sub rsp, 0x20
call fcn.140180e90
mov rcx, qword [rbp + 0x168]
mov rax, qword [rbp + 0x70]
add rsp, 0x20
cmp byte [rcx], 0
mov qword [rbp + 0xb8], rax
jne 0x140183e5e
mov rax, qword [rbp + 0x128]
mov rcx, qword [rax]
add rcx, 8
mov edx, 0xffffffff
sub rsp, 0x20
call fcn.140180e90
mov rcx, qword [rbp + 0x168]
mov rax, qword [rbp + 0x70]
add rsp, 0x20
cmp byte [rcx], 0
mov qword [rbp + 0xb8], rax
jne 0x140183e5e
mov rax, qword [rbp + 0x128]
mov rcx, qword [rax]
add rcx, 8
mov edx, 0xffffffff
sub rsp, 0x20
call fcn.140180e90
mov rcx, qword [rbp + 0x168]
mov rax, qword [rbp + 0x70]
add rsp, 0x20
mov cl, byte [rcx]
mov dl, 0x28
xor dl, 0x28
cmp cl, dl
mov qword [rbp + 0xb8], rax
jne 0x140183e5e
mov rax, qword [rbp + 0x158]
mov rcx, qword [rbp + 0x128]
mov rcx, qword [rcx]
add rcx, 8
mov rax, qword [rax]
mov dx, ax
sub rsp, 0x20
call fcn.140181a00
mov rcx, qword [rbp + 0x168]
mov rax, qword [rbp + 0x70]
add rsp, 0x20
mov cl, byte [rcx]
mov dl, 0x9a
xor dl, 0x9a
cmp cl, dl
mov qword [rbp + 0xb8], rax
jne 0x140183e5e
mov rax, qword [rbp + 0x128]
mov rcx, qword [rax]
add rcx, 8
mov edx, 0x14
sub rsp, 0x20
call fcn.1401813b0
mov rcx, qword [rbp + 0x168]
mov rax, qword [rbp + 0x70]
add rsp, 0x20
cmp byte [rcx], 0
mov qword [rbp + 0xb8], rax
jne 0x140183e5e
mov rax, qword [rbp + 0x158]
mov rcx, qword [rbp + 0x128]
mov rcx, qword [rcx]
add rcx, 8
mov rdx, qword [rax]
sub rsp, 0x20
call fcn.1400321d0
mov rax, qword [rbp + 0x128]
mov rcx, qword [rbp + 0x158]
add rsp, 0x20
mov rax, qword [rax]
mov qword [rbp + 0x48], rax
add rax, 8
mov qword [rbp + 0x50], rax
mov rax, qword [rcx]
mov qword [rbp + 0x58], rax
mov rcx, qword [rcx + 8]
mov qword [rbp + 0x60], rcx
movabs rcx, 0xa3a2dbaf0a76d801
movabs rdx, 0xa3a2dbaf0a76d801
xor rcx, rdx
cmp rax, rcx
jle 0x1401835cd
mov rdx, qword [rbp + 0x58]
mov rcx, 0xffffffffffffffff
xor rcx, 1
movabs rax, 0xb0dcf16a665550df
movabs r8, 0xb0dcf16a665550df
xor rax, r8
movabs r8, 0x73c562f4c1afc878
movabs r9, 0x73c562f4c1afc879
xor r8, r9
sub rax, r8
sub rcx, rax
mov rax, rdx
sub rax, rcx
mov qword [rbp + 0x40], rax
mov r8, rdx
xor r8, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
and r8, 0xffffffffffffffff
movabs rcx, 0x77886a26a9804777
movabs r9, 0x77886a26a9804775
xor rcx, r9
imul rcx, r8
sub rcx, 0xffffffffffffffff
sub rdx, rcx
or rax, rax
movabs rcx, 0x171cd857ca4a513b
movabs r8, 0xe8e327a835b5aec4
xor rcx, r8
xor rax, rcx
mov rcx, rdx
xor rcx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
and rcx, rdx
or rax, rcx
xor rax, 0xffffffffffffffff
cmp rax, 0
jge 0x1401834b7
mov r8d, dword [0x1402b1ee8]
mov ecx, dword [0x1402b1eec]
mov edx, r8d
xor edx, ecx
mov eax, 0xe67ecaf2
xor eax, 0x1981350d
xor edx, eax
mov eax, ecx
and eax, edx
shl eax, 1
sub eax, ecx
sub r8d, eax
xor r8d, 0xffffffff
mov ecx, 0xffffffff
xor ecx, 0x5b779a2
mov eax, 0xffffffff
xor eax, 0x8417ac84
or r8d, ecx
or eax, 0x8417ac84
xor r8d, 0xffffffff
and r8d, eax
xor r8d, 0xe92e9374
mov eax, r8d
xor eax, 0xffffffff
and eax, 0x89ea2d42
mov edx, 0xffffffff
xor edx, 0x89ea2d42
and r8d, edx
mov ecx, 0xffffffff
xor ecx, 0xbc50901e
and ecx, 0x89ea2d42
and edx, 0xbc50901e
or eax, r8d
or ecx, edx
xor eax, ecx
cmp eax, 0x35ef9d60
je 0x140183f90
mov eax, dword [0x1402b1ef0]
mov edx, dword [0x1402b1ef4]
xor edx, 0x7ffe4216
mov ecx, 0x32ebe10d
xor ecx, 0x32ebe10d
sub ecx, edx
sub eax, ecx
and eax, eax
mov ecx, 0xf4a59d2e
xor ecx, 0xb5a62d1
xor eax, ecx
mov ecx, 0xffffffff
xor ecx, 0x9e585837
mov edx, 0xffffffff
xor edx, 0x9e585837
or ecx, edx
and eax, ecx
mov ecx, 0x33cd3022
xor ecx, 0xcc32cfdd
xor eax, ecx
mov edx, 0x6b64dce8
xor edx, 0x6b64dce9
mov ecx, eax
add ecx, edx
xor eax, 0xffffffff
or eax, 0xb697fcbf
add eax, ecx
mov ecx, 0xd1c6f7a8
xor edx, edx
div ecx
mov dword [rbp + 0x3c], eax
mov eax, 0xe1ff3d1a
xor eax, 0x365901cf
mov dword [rbp + 0x38], eax
sub rsp, 0x20
call fcn.14000ee80
mov ecx, dword [rbp + 0x38]
mov eax, dword [rbp + 0x3c]
add rsp, 0x20
cmp eax, ecx
je 0x14018340e
jmp 0x1401835cd
mov rax, qword [rbp + 0x40]
cmp rax, 0
jge 0x1401834e9
mov rcx, qword [rbp + 0x40]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.140018506
add rsp, 0x20
jmp 0x1401835cd
mov rax, qword [rbp + 0x60]
mov rdx, qword [rbp + 0x50]
mov rcx, qword [rbp + 0x48]
mov rcx, qword [rcx + 0x10]
add rcx, 8
add rcx, qword [rdx]
mov qword [rbp + 0x20], rcx
add rax, 8
mov qword [rbp + 0x28], rax
xor eax, eax
mov qword [rbp + 0x30], rax
mov rcx, qword [rbp + 0x30]
mov rdx, qword [rbp + 0x58]
mov rax, qword [rbp + 0x20]
mov r8, qword [rbp + 0x28]
mov r8b, byte [r8 + rcx]
mov byte [rax + rcx], r8b
mov rax, rcx
add rax, 1
cmp rcx, rdx
mov qword [rbp + 0x30], rax
jne 0x140183512
mov r8, qword [rbp + 0x58]
mov rax, qword [rbp + 0x50]
mov rcx, qword [rax]
mov rdx, rcx
add rdx, r8
mov qword [rbp + 0x18], rdx
mov rax, rdx
xor rax, rcx
mov rcx, rdx
xor rcx, 0xffffffffffffffff
mov r9, rdx
xor r9, 0xffffffffffffffff
and rcx, r9
mov r9, r8
or r9, r9
xor r9, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
movabs r10, 0x5d5bb6efae0541de
movabs r11, 0xa2a4491051fabe21
xor r10, r11
xor r9, r10
and rcx, r9
or rdx, r8
xor rdx, 0xffffffffffffffff
or rcx, rdx
xor rcx, 0xffffffffffffffff
and rax, rcx
cmp rax, 0
jge 0x1401835c2
sub rsp, 0x20
call fcn.14000ee80
add rsp, 0x20
jmp 0x1401835cd
mov rax, qword [rbp + 0x50]
mov rcx, qword [rbp + 0x18]
mov qword [rax], rcx
mov rax, qword [rbp + 0x128]
mov rcx, qword [rax]
add rcx, 8
mov edx, 1
sub rsp, 0x20
call fcn.140181a00
mov rcx, qword [rbp + 0x168]
mov rax, qword [rbp + 0x70]
add rsp, 0x20
mov cl, byte [rcx]
mov dl, 0x83
xor dl, 0x83
cmp cl, dl
mov qword [rbp + 0xb8], rax
jne 0x140183e5e
mov rax, qword [rbp + 0x128]
mov rcx, qword [rax]
add rcx, 8
mov edx, 0x10
sub rsp, 0x20
call fcn.1401813b0
mov rcx, qword [rbp + 0x168]
mov rax, qword [rbp + 0x70]
add rsp, 0x20
cmp byte [rcx], 0
mov qword [rbp + 0xb8], rax
jne 0x140183e5e
mov rdx, qword [rbp + 0xf8]
mov rax, qword [rbp + 0x128]
mov rcx, qword [rax]
add rcx, 8
sub rsp, 0x20
call fcn.140181f10
mov rcx, qword [rbp + 0x168]
mov rax, qword [rbp + 0x70]
add rsp, 0x20
mov cl, byte [rcx]
mov dl, 0x44
xor dl, 0x44
cmp cl, dl
mov qword [rbp + 0xb8], rax
jne 0x140183e5e
mov rdx, qword [rbp + 0x78]
mov rax, qword [rbp + 0x128]
mov rcx, qword [rax]
add rcx, 8
sub rsp, 0x20
call fcn.140181f10
mov rcx, qword [rbp + 0x168]
mov rax, qword [rbp + 0x70]
add rsp, 0x20
cmp byte [rcx], 0
mov qword [rbp + 0xb8], rax
jne 0x140183e5e
mov rax, qword [rbp + 0x78]
movabs rcx, 0x39f4525cfd7200bc
movabs rdx, 0x39f4525cfd7200bc
xor rcx, rdx
cmp rax, rcx
je 0x140183998
mov rcx, qword [rbp + 0x78]
mov rax, qword [rbp + 0x128]
mov rax, qword [rax]
mov rdx, rax
add rdx, 8
mov qword [rbp + 8], rdx
mov r9, qword [rax + 8]
mov rdx, r9
add rdx, rcx
mov qword [rbp + 0x10], rdx
mov r8, rdx
and r8, r9
shl r8, 1
mov rax, rdx
add rax, r9
sub rax, r8
xor rdx, rcx
mov rcx, rax
xor rcx, rdx
movabs r8, 0xe40539395367812e
movabs r9, 0x1bfac6c6ac987ed1
xor r8, r9
xor rcx, r8
or rax, rdx
and rax, rcx
movabs rcx, 0x98026781434cac9f
movabs rdx, 0x98026781434cac9f
xor rcx, rdx
cmp rax, rcx
jge 0x14018378a
sub rsp, 0x20
call fcn.14000ee80
mov rax, qword [rbp + 0x70]
add rsp, 0x20
mov qword [rbp + 0xb8], rax
jmp 0x140183e5e
mov rax, qword [rbp + 0x10]
cmp rax, 0
jge 0x1401837c7
mov rcx, qword [rbp + 0x10]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.140018506
mov rax, qword [rbp + 0x70]
add rsp, 0x20
mov qword [rbp + 0xb8], rax
jmp 0x140183e5e
mov rdx, qword [rbp + 0x10]
mov rcx, qword [rbp + 8]
sub rsp, 0x20
call fcn.140028330
mov rax, qword [rbp + 0x128]
mov r8, qword [rbp + 0x78]
add rsp, 0x20
mov rax, qword [rax]
mov qword [rbp - 0x10], rax
mov rdx, qword [rax + 8]
mov qword [rbp - 8], rdx
mov rcx, rdx
sub rcx, r8
mov qword [rbp], rcx
mov rax, rcx
xor rax, rdx
and rcx, r8
add rcx, rcx
sub rdx, rcx
mov rcx, rax
and rcx, rdx
test rax, rax
sets al
test rcx, rcx
setns cl
add al, cl
inc al
test al, 1
jne 0x140183832
jmp 0x14018384f
sub rsp, 0x20
call fcn.14000ee80
mov rax, qword [rbp + 0x70]
add rsp, 0x20
mov qword [rbp + 0xb8], rax
jmp 0x140183e5e
mov rcx, qword [rbp]
mov rdx, qword [rbp - 8]
movabs rax, 0xdc5468c9ee74c6fb
movabs r8, 0x23ab9736118b3904
xor rax, r8
cmp rcx, rax
setg al
cmp rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x1401838c3
mov rcx, qword [rbp]
mov rdx, qword [rbp - 8]
movabs rax, 0x6db2fa064988f31c
movabs r8, 0x924d05f9b6770ce3
xor rax, r8
add rdx, rax
sub rsp, 0x20
call fcn.140025e55
mov rax, qword [rbp + 0x70]
add rsp, 0x20
mov qword [rbp + 0xb8], rax
jmp 0x140183e5e
mov rax, qword [rbp + 0x78]
movabs rcx, 0xd807fd765c06eb42
movabs rdx, 0xd807fd765c06eb42
xor rcx, rdx
cmp rax, rcx
jge 0x140183916
mov rcx, qword [rbp + 0x78]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.140018506
mov rax, qword [rbp + 0x70]
add rsp, 0x20
mov qword [rbp + 0xb8], rax
jmp 0x140183e5e
mov rax, qword [rbp + 0x70]
mov rdx, qword [rbp]
mov rcx, qword [rbp - 0x10]
mov rcx, qword [rcx + 0x10]
add rcx, 8
add rcx, rdx
mov qword [rbp - 0x28], rcx
add rax, 8
mov qword [rbp - 0x20], rax
xor eax, eax
mov qword [rbp - 0x18], rax
mov rax, qword [rbp - 0x18]
mov rcx, qword [rbp + 0x78]
mov rdx, qword [rbp - 0x28]
mov r8, qword [rbp - 0x20]
mov r8b, byte [r8 + rax]
mov byte [rdx + rax], r8b
movabs rdx, 0x5e192bd7c0aae710
movabs r8, 0x5e192bd7c0aae710
xor rdx, r8
movabs r8, 0x91f561713ec6ef3d
movabs r9, 0x91f561713ec6ef3c
xor r8, r9
sub rdx, r8
sub rax, rdx
cmp rax, rcx
mov qword [rbp - 0x18], rax
jne 0x14018393f
mov rax, qword [rbp + 0x130]
movabs rcx, 0x95b9f5ac53a59067
mov qword [rax], rcx
mov rax, qword [str.hO__]
mov rax, qword [rax]
mov qword [rbp - 0x30], rax
cmp rax, 4
jge 0x140183a04
mov rdx, qword [rbp - 0x30]
movabs rax, 0x7117d1743268ecdd
movabs rcx, 0x8ee82e8bcd971322
xor rax, rcx
add rdx, rax
mov ecx, 3
sub rsp, 0x20
call fcn.140025e55
mov rax, qword [rbp + 0x70]
add rsp, 0x20
mov qword [rbp + 0xb8], rax
jmp 0x140183e5e
mov rax, qword [rbp + 0x110]
movabs rcx, 0xadd83c063f0a03e5
movabs rdx, 0xadd83c063f0a03e4
xor rcx, rdx
cmp rax, rcx
jge 0x140183a57
mov rdx, qword [rbp + 0x110]
add rdx, 0xffffffffffffffff
xor eax, eax
mov ecx, eax
sub rsp, 0x20
call fcn.140025e55
mov rax, qword [rbp + 0x70]
add rsp, 0x20
mov qword [rbp + 0xb8], rax
jmp 0x140183e5e
mov rax, qword [rbp + 0x110]
mov rcx, qword [rbp + 0x118]
add rcx, 8
mov qword [rbp + 0x1e8], rcx
movabs rcx, 0x1cb92a62fd1735e3
movabs rdx, 0x1cb92a6282e8ca1c
xor rcx, rdx
cmp rax, rcx
jbe 0x140183ac1
mov rcx, qword [rbp + 0x110]
mov rdx, 0xffffffff80000000
mov r8d, 0x7fffffff
sub rsp, 0x20
call fcn.140018506
mov rax, qword [rbp + 0x70]
add rsp, 0x20
mov qword [rbp + 0xb8], rax
jmp 0x140183e5e
mov rax, qword [rbp + 0x130]
mov rcx, qword [rbp + 0x110]
mov dword [rbp + 0x1f0], ecx
mov qword [rbp + 0x1f8], rax
mov dword [rbp + 0x200], 8
mov rax, qword [str.hO__]
mov rcx, qword [rax + 8]
mov rax, qword [rcx + 0xf0]
mov qword [rbp - 0x40], rax
mov rcx, qword [rcx + 0xe8]
mov qword [rbp - 0x38], rcx
cmp rax, 0
je 0x140183b2f
mov rax, qword [rbp - 0x38]
mov rdx, qword [rbp - 0x40]
lea rcx, [rbp + 0x1e8]
sub rsp, 0x20
call rax
add rsp, 0x20
jmp 0x140183b44
mov rax, qword [rbp - 0x38]
lea rcx, [rbp + 0x1e8]
sub rsp, 0x20
call rax
add rsp, 0x20
mov rax, qword [rbp + 0x70]
mov rcx, qword [rbp + 0x168]
cmp byte [rcx], 0
mov qword [rbp + 0xb8], rax
jne 0x140183e5e
mov rsi, qword [rbp + 0xf8]
mov rdi, qword [rbp + 0x78]
mov rbx, qword [rbp + 0x80]
mov ecx, 0x20
mov edx, 8
sub rsp, 0x20
call fcn.140035850
mov r11w, word [rbp + 0x8e]
mov r10d, dword [rbp + 0x100]
mov rcx, qword [rbp + 0x128]
mov r9, qword [rbp + 0x110]
mov rdx, qword [rbp + 0x148]
add rsp, 0x20
mov r8, rax
mov rax, qword [rbp + 0x118]
mov qword [r8], rbx
mov qword [r8 + 8], rdi
mov qword [r8 + 0x10], rsi
mov word [r8 + 0x1c], r11w
mov dword [r8 + 0x18], r10d
mov rcx, qword [rcx]
mov rcx, qword [rcx]
mov qword [rdx], r9
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.14007b333
mov rcx, qword [rbp + 0x168]
mov rax, qword [rbp + 0x70]
add rsp, 0x20
cmp byte [rcx], 0
mov qword [rbp + 0xb8], rax
jne 0x140183e5e
mov rax, qword [rbp + 0x70]
cmp rax, 0
je 0x140183d9e
mov eax, dword [0x1402b1ef8]
mov edx, dword [0x1402b1efc]
mov ecx, eax
xor ecx, 0xffffffff
and ecx, edx
xor edx, 0xffffffff
and eax, edx
sub eax, ecx
mov ecx, 0x416580f8
xor ecx, 0x4eb6d60b
imul eax, ecx
mov edx, 0x57273469
xor edx, 0x57273468
mov ecx, eax
add ecx, edx
xor eax, 0xffffffff
or eax, 0x34f79b7b
add eax, ecx
mov ecx, 0x1532f323
xor ecx, 0x1532f323
mov edx, 0xcacd6906
xor edx, 0x77bf2c29
sub ecx, edx
add eax, ecx
mov ecx, 0xe5894330
xor ecx, 0x603f3b03
cmp eax, ecx
ja 0x140183f99
mov rdx, qword [rbp + 0x70]
mov eax, dword [0x1402b1f00]
mov ecx, dword [0x1402b1f04]
mov r8d, 0xb7930eea
xor r8d, 0xa1ea5d79
add eax, r8d
add eax, ecx
sub eax, 0x16795393
xor ecx, ecx
sub ecx, 0xcb20883d
sub eax, ecx
mov r9d, 0xffffffff
xor r9d, 0x47ec67af
mov r8d, eax
and r8d, r9d
mov ecx, eax
or ecx, r9d
xor ecx, 0xffffffff
imul ecx, r8d
mov r8d, eax
and r8d, 0x47ec67af
or eax, 0x47ec67af
imul eax, r8d
add eax, ecx
mov ecx, 0xffffffff
xor ecx, 0x2ee6091e
xor r8d, r8d
sub r8d, 1
sub ecx, r8d
sub eax, ecx
mov ecx, 0xa77d8220
xor ecx, 0xa0f84ca2
mov rdx, qword [rdx]
xor rdx, 0xffffffffffffffff
mov r8, 0xffffffffffffffff
movabs r9, 0x4000000000000000
xor r8, r9
mov r9, 0xffffffffffffffff
movabs r10, 0x8a7136236b34a19c
xor r9, r10
or rdx, r8
movabs r8, 0xc528fb768743205d
movabs r10, 0x4f59cd55ec7781c1
xor r8, r10
or r8, r9
xor rdx, 0xffffffffffffffff
and rdx, r8
movabs r8, 0x6876d35ff9797c6d
movabs r9, 0x6876d35ff9797c6d
xor r8, r9
cmp rdx, r8
sete dl
mov byte [rbp - 0x41], dl
cmp eax, ecx
je 0x140183c7b
mov al, byte [rbp - 0x41]
test al, 1
jne 0x140183d8d
jmp 0x140183d9e
mov rcx, qword [rbp + 0x70]
sub rsp, 0x20
call fcn.14001a7c0
add rsp, 0x20
mov rax, qword [rbp + 0x118]
cmp rax, 0
je 0x140183df1
mov rax, qword [rbp + 0x118]
mov rax, qword [rax]
movabs rcx, 0xc215ee558e1a9dcb
movabs rdx, 0x8215ee558e1a9dcb
xor rcx, rdx
and rax, rcx
cmp rax, 0
jne 0x140183df1
mov rcx, qword [rbp + 0x118]
sub rsp, 0x20
call fcn.14001a7c0
add rsp, 0x20
mov rax, qword [rbp + 0x78]
mov rcx, qword [rbp + 0x170]
mov rcx, qword [rcx]
mov qword [rbp - 0x58], rcx
cmp rcx, 0
mov qword [rbp - 0x50], rax
je 0x140183f6e
mov rax, qword [rbp + 0x78]
mov rcx, qword [rbp - 0x58]
mov rdx, qword [rcx]
movabs r9, 0x4000000000000000
mov r8, rdx
xor r8, r9
xor r8, 0xffffffffffffffff
movabs r9, 0x4000000000000000
or rdx, r9
and rdx, r8
cmp rdx, 0
mov rdx, rax
mov qword [rbp - 0x68], rdx
mov qword [rbp - 0x60], rcx
mov qword [rbp - 0x50], rax
je 0x140183f4d
jmp 0x140183f6e
mov rax, qword [rbp + 0xb8]
mov qword [rbp - 0x70], rax
cmp rax, 0
je 0x140183e9f
mov rcx, qword [rbp - 0x70]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
cmp rax, 0
jne 0x140183e9f
mov rcx, qword [rbp - 0x70]
sub rsp, 0x20
call fcn.14001a7c0
add rsp, 0x20
mov rax, qword [rbp + 0x118]
cmp rax, 0
je 0x140183ef3
mov rax, qword [rbp + 0x118]
mov rax, qword [rax]
mov rcx, rax
add rcx, 1
xor rax, 0xffffffffffffffff
movabs rdx, 0x4000000000000000
or rax, rdx
add rax, rcx
cmp rax, 0
jne 0x140183ef3
mov rcx, qword [rbp + 0x118]
sub rsp, 0x20
call fcn.14001a7c0
add rsp, 0x20
mov rax, qword [rbp + 0x170]
mov rcx, qword [rax]
mov qword [rbp - 0x78], rcx
xor eax, eax
cmp rcx, 0
mov qword [rbp - 0x50], rax
je 0x140183f6e
mov rcx, qword [rbp - 0x78]
mov rdx, qword [rcx]
movabs rax, 0xba400dd290b74cfb
movabs r8, 0xfa400dd290b74cfb
xor rax, r8
and rdx, rax
xor eax, eax
cmp rdx, 0
mov rdx, rax
mov qword [rbp - 0x68], rdx
mov qword [rbp - 0x60], rcx
mov qword [rbp - 0x50], rax
jne 0x140183f6e
mov rax, qword [rbp - 0x68]
mov rcx, qword [rbp - 0x60]
mov qword [rbp - 0x80], rax
sub rsp, 0x20
call fcn.14001a7c0
mov rax, qword [rbp - 0x80]
add rsp, 0x20
mov qword [rbp - 0x50], rax
mov rax, qword [rbp - 0x50]
lea rsp, [rbp + 0x208]
pop rbx
pop rdi
pop rsi
pop rbp
ret
invalid
je 0x140183ff0
jns 0x140183fb8
jmp 0x140182ea2
cli
pop rsi
or ecx, dword [rsi]
jmp 0x14018340e
jmp 0x140183f72
add byte [rax], al
mov esi, 0x2ca96fbc
mov ebx, 0x48c83149
mov ecx, edx