Function at 0x1401522e0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
sub rsp, 0x308
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x1c0], rdx
mov qword [rbp + 0x1b0], rcx
mov qword [rbp + 0x180], rcx
mov eax, 0x10
mov qword [rbp + 0x198], rax
call fcn.1401f0aa0
sub rsp, rax
mov rax, qword [rbp + 0x198]
mov rcx, rsp
mov qword [rbp + 0x188], rcx
call fcn.1401f0aa0
sub rsp, rax
mov rax, qword [rbp + 0x198]
mov rcx, rsp
mov qword [rbp + 0x1c8], rcx
call fcn.1401f0aa0
sub rsp, rax
mov rax, qword [rbp + 0x198]
mov rcx, rsp
mov qword [rbp + 0x190], rcx
call fcn.1401f0aa0
sub rsp, rax
mov rax, qword [rbp + 0x198]
mov rcx, rsp
mov qword [rbp + 0x1a0], rcx
call fcn.1401f0aa0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x1a8], rax
sub rsp, 0x20
call fcn.140167250
mov rcx, qword [rbp + 0x1b0]
add rsp, 0x20
mov qword [rbp + 0x1d0], rax
add rax, 0x60
mov qword [rbp + 0x1b8], rax
sub rsp, 0x20
mov edx, 0x18
call fcn.140135f2d
mov rdx, qword [rbp + 0x1c0]
add rsp, 0x20
movups xmm0, xmmword [rdx]
movaps xmmword [rbp + 0x260], xmm0
sub rsp, 0x20
lea rcx, [rbp + 0x278]
lea rdx, [rbp + 0x260]
call fcn.140020190
mov rcx, qword [rbp + 0x1c8]
add rsp, 0x20
mov rdx, qword [rbp + 0x278]
mov rax, qword [rbp + 0x280]
mov qword [rcx], rdx
mov qword [rcx + 8], rax
sub rsp, 0x20
call fcn.1400d0cd5
add rsp, 0x20
mov cl, al
mov rax, qword [rbp + 0x1d0]
mov al, byte [rax + 0x60]
test al, al
setne al
mov byte [rbp + 0x1df], al
or al, cl
test al, 1
jne 0x1401525b0
mov eax, dword [0x1401faca8]
imul eax, dword [0x1401facac]
imul eax, eax, 0xc8a4aa2d
mov ecx, 0x8b0c01b9
xor ecx, 0x8b0c01b9
mov edx, 0x9d211494
xor edx, 0xe1be8cae
sub ecx, edx
sub eax, ecx
mov ecx, 0xc29620c6
xor ecx, 0xa14e14ca
xor edx, edx
div ecx
cmp eax, 0x905ffe3
jae 0x14015466b
mov rcx, qword [rbp + 0x1b0]
mov edx, dword [0x1401facb0]
mov r8d, dword [0x1401facb4]
xor r8d, 0x4905586c
mov eax, edx
xor eax, 0xffffffff
mov r10d, 0x69cf5d3e
xor r10d, 0x9630a2c1
mov r9d, r8d
xor r9d, r10d
and eax, r9d
or edx, r8d
xor edx, 0xffffffff
xor eax, 0xffffffff
xor edx, 0xffffffff
and eax, edx
mov r8d, 0xd9a4320
xor edx, edx
div r8d
xor eax, 0xd3018433
mov r8d, 0xc1803fad
xor r8d, 0x11de2d26
mov edx, eax
xor edx, r8d
xor edx, 0xffffffff
mov r8d, 0xd14fb98c
xor r8d, 0x111ab07
or eax, r8d
and eax, edx
mov dword [rbp + 0x178], eax
sub rsp, 0x20
call fcn.140151c60
mov rcx, qword [rbp + 0x1b8]
mov eax, dword [rbp + 0x178]
add rsp, 0x20
cmp byte [rcx], 0
sete cl
mov byte [rbp + 0x17f], cl
cmp eax, 0x291032e
jbe 0x14015247d
mov cl, byte [rbp + 0x17f]
xor eax, eax
test cl, 1
mov rcx, rax
mov qword [rbp + 0x158], rcx
mov rcx, rax
mov qword [rbp + 0x160], rcx
mov rcx, rax
mov qword [rbp + 0x168], rcx
mov qword [rbp + 0x170], rax
jne 0x14015256a
jmp 0x1401541c4
mov rax, qword [rbp + 0x1c0]
mov rax, qword [rax + 8]
mov qword [rbp + 0x150], rax
cmp rax, 0
je 0x14015465a
mov rax, qword [rbp + 0x150]
movabs rcx, 0x4000000000000000
and rcx, qword [rax]
cmp rcx, 0
mov qword [rbp + 0x148], rax
je 0x140154646
jmp 0x14015465a
mov cl, byte [rbp + 0x1df]
xor eax, eax
test cl, 1
mov rcx, rax
mov qword [rbp + 0x158], rcx
mov rcx, rax
mov qword [rbp + 0x160], rcx
mov rcx, rax
mov qword [rbp + 0x168], rcx
mov qword [rbp + 0x170], rax
jne 0x1401541c4
jmp 0x1401525eb
mov rcx, qword [rbp + 0x190]
mov rax, qword [rbp + 0x1c0]
mov rdx, qword [rax]
mov qword [rbp + 0x250], rdx
mov rax, qword [rax + 8]
mov qword [rbp + 0x258], rax
lea rdx, [rbp + 0x250]
xor eax, eax
mov r8d, eax
sub rsp, 0x20
call fcn.1400cb830
mov rax, qword [rbp + 0x190]
mov rcx, qword [rbp + 0x1b8]
add rsp, 0x20
mov rdx, qword [rax]
mov qword [rbp + 0x138], rdx
mov rax, qword [rax + 8]
mov qword [rbp + 0x140], rax
mov dl, byte [rcx]
mov r8b, 0x4f
xor r8b, 0x4f
xor ecx, ecx
cmp dl, r8b
mov rdx, rcx
mov qword [rbp + 0x158], rdx
mov rdx, rcx
mov qword [rbp + 0x160], rdx
mov qword [rbp + 0x168], rcx
mov qword [rbp + 0x170], rax
jne 0x1401541c4
mov rcx, qword [rbp + 0x188]
mov word [rcx], 0x6fc
sub rsp, 0x20
call fcn.14006d720
mov rcx, qword [rbp + 0x1b8]
add rsp, 0x20
mov rdx, rax
mov rax, qword [rbp + 0x140]
mov qword [rbp + 0x130], rdx
mov dl, byte [rcx]
mov r8b, 0xfe
xor r8b, 0xfe
xor ecx, ecx
cmp dl, r8b
mov rdx, rcx
mov qword [rbp + 0x158], rdx
mov rdx, rcx
mov qword [rbp + 0x160], rdx
mov qword [rbp + 0x168], rcx
mov qword [rbp + 0x170], rax
jne 0x1401541c4
mov rdx, qword [rbp + 0x140]
mov r8, qword [rbp + 0x138]
mov rax, qword [rbp + 0x130]
mov rcx, qword [rax]
mov qword [rbp + 0x120], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x240], r8
mov qword [rbp + 0x248], rdx
mov qword [rbp + 0x230], rcx
mov qword [rbp + 0x238], rax
lea rcx, [rbp + 0x240]
lea rdx, [rbp + 0x230]
xor eax, eax
mov r8d, eax
mov r9, 0xffffffffffffffff
sub rsp, 0x20
call fcn.140049bf0
mov rcx, qword [rbp + 0x1b8]
add rsp, 0x20
mov rdx, rax
mov rax, qword [rbp + 0x140]
mov qword [rbp + 0x128], rdx
mov dl, byte [rcx]
mov r8b, 6
xor r8b, 6
xor ecx, ecx
cmp dl, r8b
mov rdx, rcx
mov qword [rbp + 0x158], rdx
mov rdx, rcx
mov qword [rbp + 0x160], rdx
mov qword [rbp + 0x168], rcx
mov qword [rbp + 0x170], rax
jne 0x1401541c4
mov ecx, 0x37f
sub rsp, 0x20
call fcn.14006d5fc
mov rdx, qword [rbp + 0x1b8]
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x140]
mov qword [rbp + 0x118], rcx
xor ecx, ecx
cmp byte [rdx], 0
mov rdx, rcx
mov qword [rbp + 0x158], rdx
mov rdx, rcx
mov qword [rbp + 0x160], rdx
mov qword [rbp + 0x168], rcx
mov qword [rbp + 0x170], rax
jne 0x1401541c4
mov rax, qword [rbp + 0x128]
mov rcx, qword [rbp + 0x118]
cmp rax, rcx
jne 0x1401529bc
mov rcx, qword [rbp + 0x1b0]
sub rsp, 0x20
call fcn.140151c60
mov rdx, qword [rbp + 0x1b8]
mov rax, qword [rbp + 0x140]
add rsp, 0x20
xor ecx, ecx
cmp byte [rdx], 0
mov rdx, rcx
mov qword [rbp + 0x158], rdx
mov rdx, rcx
mov qword [rbp + 0x160], rdx
mov qword [rbp + 0x168], rcx
mov qword [rbp + 0x170], rax
jne 0x1401541c4
mov rax, qword [rbp + 0x1c0]
mov rax, qword [rax + 8]
mov qword [rbp + 0x110], rax
cmp rax, 0
je 0x1401528bc
mov rcx, qword [rbp + 0x110]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
movabs rcx, 0xef638ee55bb58178
movabs rdx, 0xef638ee55bb58178
xor rcx, rdx
cmp rax, rcx
jne 0x1401528bc
mov rcx, qword [rbp + 0x110]
sub rsp, 0x20
call fcn.140011305
add rsp, 0x20
mov rax, qword [rbp + 0x140]
cmp rax, 0
je 0x14015465a
mov rax, qword [rbp + 0x140]
mov rcx, qword [rax]
or rcx, rcx
movabs rdx, 0xc1d1942502c4a0f1
movabs r8, 0x3e2e6bdafd3b5f0e
xor rdx, r8
xor rcx, rdx
movabs rdx, 0xb1172aa636fc1ee3
movabs r8, 0xf1172aa636fc1ee3
xor rdx, r8
movabs r8, 0xbb75f04daf9cc287
movabs r9, 0x448a0fb250633d78
xor r8, r9
xor rdx, r8
movabs r8, 0x2460d6ee313f5815
movabs r9, 0x6460d6ee313f5815
xor r8, r9
movabs r9, 0x7ffa6a2f9b9a4b83
movabs r10, 0x800595d06465b47c
xor r9, r10
xor r8, r9
and rdx, r8
movabs r8, 0x44b28ffab72ac60a
movabs r9, 0xbb4d700548d539f5
xor r8, r9
xor rcx, r8
movabs r8, 0x99142879f5c7a559
movabs r9, 0x66ebd7860a385aa6
xor r8, r9
xor rdx, r8
and rcx, rdx
movabs rdx, 0x76b543369ed93aea
movabs r8, 0x76b543369ed93aea
xor rdx, r8
cmp rcx, rdx
mov qword [rbp + 0x148], rax
je 0x140154646
jmp 0x14015465a
mov r8, qword [rbp + 0x120]
mov rdx, qword [rbp + 0x128]
mov rax, rdx
add rax, r8
mov qword [rbp + 0x108], rax
mov rcx, rax
xor rcx, rdx
mov rdx, rax
and rdx, rdx
xor rdx, 0xffffffffffffffff
and rdx, r8
xor rdx, 0xffffffffffffffff
and r8, r8
xor r8, 0xffffffffffffffff
and rax, r8
xor rax, 0xffffffffffffffff
and rdx, rax
xor rdx, 0xffffffffffffffff
movabs r8, 0x517a35fb676d1f6a
movabs rax, 0xae85ca049892e095
xor r8, rax
mov rax, rcx
xor rax, r8
mov r8, rdx
xor r8, 0xffffffffffffffff
or rax, r8
and rcx, rdx
xor rcx, 0xffffffffffffffff
movabs rdx, 0xb6d4118f70e2b3c9
movabs r8, 0x492bee708f1d4c36
xor rdx, r8
xor rax, rdx
xor rcx, 0xffffffffffffffff
or rax, rcx
cmp rax, 0
jge 0x140152a99
sub rsp, 0x20
call fcn.1400091c0
mov rax, qword [rbp + 0x140]
add rsp, 0x20
xor ecx, ecx
mov rdx, rcx
mov qword [rbp + 0x158], rdx
mov rdx, rcx
mov qword [rbp + 0x160], rdx
mov qword [rbp + 0x168], rcx
mov qword [rbp + 0x170], rax
jmp 0x1401541c4
mov ecx, 0x7d8
sub rsp, 0x20
call fcn.14006d5fc
mov rdx, qword [rbp + 0x1b8]
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x140]
mov qword [rbp + 0x100], rcx
xor ecx, ecx
cmp byte [rdx], 0
mov rdx, rcx
mov qword [rbp + 0x158], rdx
mov rdx, rcx
mov qword [rbp + 0x160], rdx
mov qword [rbp + 0x168], rcx
mov qword [rbp + 0x170], rax
jne 0x1401541c4
mov rax, qword [rbp + 0x108]
movabs rcx, 0xa9f8ab6b95a5183a
movabs rdx, 0x560754946a5ae7c5
xor rcx, rdx
cmp rax, rcx
setg cl
mov byte [rbp + 0xf7], cl
mov qword [rbp + 0xf8], rax
mov rax, qword [rbp + 0x100]
mov rdx, qword [rbp + 0x138]
mov rcx, qword [rbp + 0xf8]
mov qword [rbp + 0xe0], rcx
cmp rcx, rdx
mov qword [rbp + 0xe8], rax
jge 0x140152dce
mov al, byte [rbp + 0xf7]
test al, 1
jne 0x140152bc5
jmp 0x140152b60
mov rcx, qword [rbp + 0xe0]
mov rdx, qword [rbp + 0x138]
movabs rax, 0x13ff530ab1f0eaf5
movabs r8, 0xec00acf54e0f150a
xor rax, r8
add rdx, rax
sub rsp, 0x20
call fcn.140016582
mov rax, qword [rbp + 0x140]
add rsp, 0x20
xor ecx, ecx
mov rdx, rcx
mov qword [rbp + 0x158], rdx
mov rdx, rcx
mov qword [rbp + 0x160], rdx
mov qword [rbp + 0x168], rcx
mov qword [rbp + 0x170], rax
jmp 0x1401541c4
mov rax, qword [rbp + 0x140]
mov rcx, qword [rbp + 0xe0]
cmp byte [rax + rcx + 8], 0x22
jne 0x140152d3d
mov cx, 0xdbf7
xor cx, 0xd95a
sub rsp, 0x20
call fcn.14006d5fc
mov rdx, qword [rbp + 0x1b8]
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x140]
mov qword [rbp + 0xd8], rcx
xor ecx, ecx
cmp byte [rdx], 0
mov rdx, rcx
mov qword [rbp + 0x158], rdx
mov rdx, rcx
mov qword [rbp + 0x160], rdx
mov qword [rbp + 0x168], rcx
mov qword [rbp + 0x170], rax
jne 0x1401541c4
mov r9, qword [rbp + 0xd8]
mov rdx, qword [rbp + 0xe0]
movabs rcx, 0x53c41e07fc88e922
mov rax, rdx
sub rax, rcx
sub rax, r9
movabs rcx, 0x53c41e07fc88e922
add rax, rcx
mov rcx, rax
xor rcx, rdx
cmp rcx, 0
setl cl
mov rdx, rax
xor rdx, 0xffffffffffffffff
mov r8, rax
xor r8, 0xffffffffffffffff
or rdx, r8
xor rdx, 0xffffffffffffffff
mov r8, r9
xor r8, 0xffffffffffffffff
or rdx, r8
and r9, r9
movabs r8, 0xdee1e11415d14f41
movabs r10, 0x211e1eebea2eb0be
xor r8, r10
xor r9, r8
mov r8, rax
and r8, r9
xor r8, 0xffffffffffffffff
and rdx, r8
xor rdx, 0xffffffffffffffff
cmp rdx, 0xffffffffffffffff
setg dl
xor r8d, r8d
xor r8b, 1
xor cl, r8b
xor dl, 0xff
mov r8b, 1
xor r8b, 1
or cl, dl
xor edx, edx
xor dl, 1
or dl, r8b
xor cl, 0xff
and cl, dl
test cl, 1
mov qword [rbp + 0xe8], rax
jne 0x140152d00
jmp 0x140152dce
sub rsp, 0x20
call fcn.1400091c0
mov rax, qword [rbp + 0x140]
add rsp, 0x20
xor ecx, ecx
mov rdx, rcx
mov qword [rbp + 0x158], rdx
mov rdx, rcx
mov qword [rbp + 0x160], rdx
mov qword [rbp + 0x168], rcx
mov qword [rbp + 0x170], rax
jmp 0x1401541c4
mov rdx, qword [rbp + 0xe0]
xor eax, eax
mov ecx, eax
sub rcx, 1
mov rax, rdx
sub rax, rcx
mov rcx, rdx
and rcx, 0xffffffffffffffff
shl rcx, 1
add rdx, 0xffffffffffffffff
sub rdx, rcx
mov rcx, rax
and rcx, rdx
movabs rdx, 0x4d8513f3d226e0fc
movabs r8, 0x4d8513f3d226e0fc
xor rdx, r8
cmp rcx, rdx
mov qword [rbp + 0xf8], rax
jge 0x140152b21
sub rsp, 0x20
call fcn.1400091c0
mov rax, qword [rbp + 0x140]
add rsp, 0x20
xor ecx, ecx
mov rdx, rcx
mov qword [rbp + 0x158], rdx
mov rdx, rcx
mov qword [rbp + 0x160], rdx
mov qword [rbp + 0x168], rcx
mov qword [rbp + 0x170], rax
jmp 0x1401541c4
mov rax, qword [rbp + 0xe8]
mov qword [rbp + 0xc8], rax
mov ecx, 0x79c
sub rsp, 0x20
call fcn.14006d5fc
mov rdx, qword [rbp + 0x1b8]
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x140]
mov qword [rbp + 0xd0], rcx
xor ecx, ecx
cmp byte [rdx], 0
mov rdx, rcx
mov qword [rbp + 0x158], rdx
mov rdx, rcx
mov qword [rbp + 0x160], rdx
mov qword [rbp + 0x168], rcx
mov qword [rbp + 0x170], rax
jne 0x1401541c4
mov rax, qword [rbp + 0xc8]
mov rcx, qword [rbp + 0xd0]
cmp rax, rcx
jne 0x140152f72
mov rcx, qword [rbp + 0x1b0]
sub rsp, 0x20
call fcn.140151c60
mov rdx, qword [rbp + 0x1b8]
mov rax, qword [rbp + 0x140]
add rsp, 0x20
xor ecx, ecx
cmp byte [rdx], 0
mov rdx, rcx
mov qword [rbp + 0x158], rdx
mov rdx, rcx
mov qword [rbp + 0x160], rdx
mov qword [rbp + 0x168], rcx
mov qword [rbp + 0x170], rax
jne 0x1401541c4
mov rax, qword [rbp + 0x1c0]
mov rax, qword [rax + 8]
mov qword [rbp + 0xc0], rax
cmp rax, 0
je 0x140152f27
mov rax, qword [rbp + 0xc0]
mov rcx, qword [rax]
mov rax, rcx
xor rax, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
and rax, rcx
movabs rcx, 0x4000000000000000
movabs rdx, 0x4000000000000000
or rcx, rdx
xor rcx, 0xffffffffffffffff
xor rax, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
and rax, rcx
movabs rcx, 0x37b8ca43fd3ed24a
movabs rdx, 0x37b8ca43fd3ed24a
xor rcx, rdx
cmp rax, rcx
jne 0x140152f27
mov rcx, qword [rbp + 0xc0]
sub rsp, 0x20
call fcn.140011305
add rsp, 0x20
mov rax, qword [rbp + 0x140]
cmp rax, 0
je 0x14015465a
mov rax, qword [rbp + 0x140]
mov rcx, qword [rax]
movabs rdx, 0xcc485a8414d550ef
movabs r8, 0x8c485a8414d550ef
xor rdx, r8
and rcx, rdx
cmp rcx, 0
mov qword [rbp + 0x148], rax
je 0x140154646
jmp 0x14015465a
mov eax, dword [0x1401facb8]
xor eax, 0x46b3f291
mov edx, dword [str.GCjW]
mov ecx, 0xf3ccce9c
xor ecx, 0x3c23c5cd
xor edx, ecx
mov ecx, 0x3a9b6d7e
xor ecx, 0x3a9b6d7e
sub ecx, edx
add eax, ecx
mov ecx, 0xaad4d72e
xor edx, edx
div ecx
xor eax, 0x34c1b09b
or eax, 0xc292e113
cmp eax, 0x87cdaba4
je 0x140154674
mov r10, qword [rbp + 0x108]
mov rdx, qword [rbp + 0xc8]
mov r9d, dword [0x1401facc0]
mov r8d, dword [0x1401facc4]
xor r8d, 0xfbdc121a
mov eax, r9d
xor eax, 0xffffffff
and eax, 0xdd901d6e
mov r11d, 0xa100bbc9
xor r11d, 0x7c90a6a7
mov ecx, 0x447cff6b
xor ecx, 0xbb830094
xor r11d, ecx
and r9d, r11d
mov ecx, r8d
xor ecx, 0xffffffff
and ecx, 0xdd901d6e
and r8d, r11d
or eax, r9d
or ecx, r8d
xor eax, ecx
mov ecx, 0x3551a4b6
xor ecx, 0xd92c1d5c
and eax, ecx
add eax, 0xa08294b9
and eax, 0x58809dc7
mov ecx, 0x745b70d6
xor ecx, 0x513327aa
mov r8, rdx
xor r8, r10
mov r11, r10
xor r11, 0xffffffffffffffff
mov r9, rdx
and r9, r11
shl r9, 1
sub r9, r8
mov qword [rbp + 0xb0], r9
mov r11, r9
xor r11, rdx
xor r11, 0xffffffffffffffff
mov r8, rdx
and r8, r11
shl r8, 1
sub r8, rdx
mov rdx, r9
sub rdx, r8
movabs r8, 0x50a467b06851c7ef
movabs r11, 0x50a467b06851c7ef
xor r8, r11
cmp rdx, r8
setl dl
movabs r11, 0xf36289ce42736405
movabs r8, 0xc9d7631bd8c9bfa
xor r11, r8
mov r8, r9
xor r8, r11
movabs rsi, 0xc0ce487d81e197fe
movabs r11, 0x3f31b7827e1e6801
xor rsi, r11
mov r11, r9
xor r11, rsi
and r8, r11
mov r11, r10
xor r11, 0xffffffffffffffff
mov rsi, r10
xor rsi, 0xffffffffffffffff
and r11, rsi
or r8, r11
xor r8, 0xffffffffffffffff
or r9, r10
xor r9, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
xor r9, 0xffffffffffffffff
and r8, r9
cmp r8, 0xffffffffffffffff
setg r9b
mov r8b, dl
xor r8b, r9b
xor r10d, r10d
xor r10b, 1
xor r8b, r10b
or dl, r9b
and dl, r8b
mov byte [rbp + 0xbf], dl
cmp eax, ecx
je 0x140154674
mov al, byte [rbp + 0xbf]
test al, 1
jne 0x140153143
jmp 0x140153285
mov eax, dword [0x1401facc8]
mov ecx, dword [0x1401faccc]
xor ecx, 0x4758452b
mov r8d, eax
xor r8d, 0xffffffff
mov edx, ecx
and edx, r8d
mov r8d, 0x3ead905a
xor r8d, 0xc1526fa5
xor ecx, r8d
and eax, ecx
or edx, eax
mov eax, 0xd4d4c8fa
xor eax, 0x8de93206
sub edx, eax
mov eax, 0xfdb3c7fd
xor eax, 0x3f173b43
mov ecx, edx
xor ecx, eax
mov eax, 0xffffffff
xor eax, 0xc2a4fcbe
and edx, eax
mov eax, 0x667fef09
xor eax, 0x667fef0b
imul eax, edx
sub eax, ecx
mov ecx, 0x62667b2e
xor ecx, 0x433a0a56
add eax, ecx
cmp eax, 0xc3d1c511
je 0x14015467d
mov r11d, dword [0x1401facd0]
mov r10d, dword [0x1401facd4]
mov ecx, r11d
xor ecx, 0xffffffff
mov eax, 0xb141da84
xor eax, 0x4ebe257b
mov edx, r10d
xor edx, eax
mov r8d, 0xa9040c27
xor r8d, 0x5eb60667
mov eax, 0xe949760c
xor eax, 0x16b689f3
xor r8d, eax
mov r9d, 0x5e7a291f
xor r9d, 0xa9c8235f
mov eax, ecx
and eax, r9d
and r11d, r8d
mov esi, 0xc4090a7f
xor esi, 0x33bb003f
mov r9d, edx
and r9d, esi
and r10d, r8d
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, edx
xor ecx, 0xffffffff
mov edx, 0x9d9469c6
xor edx, 0x6a266386
or edx, r8d
and ecx, edx
or eax, ecx
imul eax, eax, 0x41ac1824
mov ecx, 0xf26be43d
xor edx, edx
div ecx
add eax, 0xf14f3da9
mov dword [rbp + 0xac], eax
sub rsp, 0x20
call fcn.1400091c0
mov eax, dword [rbp + 0xac]
add rsp, 0x20
cmp eax, 0xcb29e61
jbe 0x1401531c2
jmp 0x1401536b2
mov rdx, qword [rbp + 0xb0]
movabs rcx, 0xd6f12ca09056b732
movabs rax, 0xd6f12ca09056b733
xor rcx, rax
mov rax, rdx
add rax, rcx
mov qword [rbp + 0xa0], rax
xor rdx, 0xffffffffffffffff
mov rcx, rax
xor rcx, rdx
xor rcx, 0xffffffffffffffff
or rax, rdx
and rax, rcx
cmp rax, 0
jge 0x1401532e0
sub rsp, 0x20
call fcn.1400091c0
add rsp, 0x20
jmp 0x1401536b2
mov rax, qword [rbp + 0xa0]
cmp rax, 0
jge 0x140153338
mov rcx, qword [rbp + 0xa0]
movabs rdx, 0xf377c46b8eeca62c
movabs rax, 0xf377c46b8eeca62c
xor rdx, rax
movabs r8, 0x9302af860dcf90d
movabs rax, 0x76cfd5079f2306f2
xor r8, rax
sub rsp, 0x20
call fcn.14000f6ec
add rsp, 0x20
jmp 0x1401536b2
mov rdx, qword [rbp + 0xa0]
lea rcx, [rbp + 0x220]
sub rsp, 0x20
call fcn.14001d7d0
mov rax, qword [rbp + 0x108]
add rsp, 0x20
mov rcx, rax
xor rcx, 0xffffffffffffffff
mov qword [rbp + 0x80], rcx
lea rcx, [rbp + 0x220]
add rcx, 8
mov qword [rbp + 0x88], rcx
cmp rax, 0xffffffffffffffff
setg al
mov byte [rbp + 0x97], al
xor eax, eax
mov qword [rbp + 0x98], rax
mov rcx, qword [rbp + 0xa0]
mov rax, qword [rbp + 0x98]
mov qword [rbp + 0x78], rax
cmp rax, rcx
je 0x1401536b2
mov eax, dword [0x1401facd8]
mov ecx, dword [0x1401facdc]
xor ecx, 0xdda93339
add eax, ecx
mov ecx, 0x26d253ae
xor ecx, 0x5d05ac68
or eax, ecx
mov ecx, 0x7be0db67
xor ecx, 0xbc605791
imul eax, ecx
mov ecx, 0x966d35d7
xor ecx, 0x229b23b2
sub eax, ecx
cmp eax, 0x9610523b
jb 0x140154686
mov rcx, qword [rbp + 0x78]
mov eax, dword [0x1401face0]
or eax, dword [0x1401face4]
mov edx, eax
and edx, 0x7d6eb56e
mov r8d, 0x43bf9f01
xor r8d, 0x43bf9f03
imul edx, r8d
xor eax, 0x7d6eb56e
add eax, edx
xor edx, edx
sub edx, 0xf85e8a3f
sub eax, edx
mov edx, 0x176f8b00
xor edx, 0x7a145ed9
add eax, edx
mov rdx, qword [rbp + 0x220]
mov qword [rbp + 0x68], rdx
cmp rcx, rdx
setl cl
mov byte [rbp + 0x77], cl
cmp eax, 0x1842070a
je 0x1401533f2
mov al, byte [rbp + 0x77]
test al, 1
jne 0x1401534b6
jmp 0x140153468
mov rcx, qword [rbp + 0x78]
mov rdx, qword [rbp + 0x68]
movabs rax, 0xe5fd9b9c1e33077f
movabs r8, 0xe5fd9b9c1e33077f
xor rax, r8
movabs r8, 0x664dbf45c6012e22
movabs r9, 0x99b240ba39fed1dd
xor r8, r9
sub rax, r8
sub rdx, rax
sub rsp, 0x20
call fcn.140016582
add rsp, 0x20
jmp 0x1401536b2
lea rcx, [rbp + 0x220]
sub rsp, 0x20
call fcn.1401673a8
mov rax, qword [rbp + 0x78]
mov rdx, qword [rbp + 0x108]
mov rcx, qword [rbp + 0x80]
add rsp, 0x20
add rax, rdx
mov qword [rbp + 0x60], rax
and rax, rcx
movabs rcx, 0xafd4d37c29d45e4c
movabs rdx, 0xafd4d37c29d45e4c
xor rcx, rdx
cmp rax, rcx
jge 0x140153518
sub rsp, 0x20
call fcn.1400091c0
add rsp, 0x20
jmp 0x1401536b2
mov al, byte [rbp + 0x97]
mov rdx, qword [rbp + 0x138]
mov rcx, qword [rbp + 0x60]
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x14015357e
mov rcx, qword [rbp + 0x60]
mov rdx, qword [rbp + 0x138]
xor eax, eax
sub rax, rdx
xor edx, edx
sub rdx, 0xffffffffffffffff
add rax, rdx
movabs rdx, 0x3ab01e3975eeec5f
movabs r8, 0x3ab01e3975eeec5f
xor rdx, r8
sub rdx, rax
sub rsp, 0x20
call fcn.140016582
add rsp, 0x20
jmp 0x1401536b2
mov eax, dword [0x1401face8]
xor eax, 0xda214527
mov ecx, dword [0x1401facec]
sub eax, 0x2056ddc1
add eax, ecx
mov ecx, 0x565ef113
xor ecx, 0x76082cd2
add eax, ecx
and eax, 0x34204531
mov ecx, eax
xor ecx, 0xaed7b93a
mov edx, 0x5a045f97
xor edx, 0xa5fba068
xor ecx, edx
or eax, 0xaed7b93a
and eax, ecx
add eax, 0x953cff4c
mov ecx, 0x76b911ab
xor ecx, 0x9156f807
cmp eax, ecx
je 0x14015468f
mov rcx, qword [rbp + 0x78]
mov rdx, qword [rbp + 0x88]
mov r8, qword [rbp + 0x140]
mov r9, qword [rbp + 0x60]
mov eax, dword [0x1401facf0]
xor eax, dword [0x1401facf4]
mov r11d, 0xc2a414bd
xor r11d, 0xbd8ea509
mov r10d, eax
and r10d, r11d
shl r10d, 1
add eax, 0x7f2ab1b4
sub eax, r10d
mov r11d, eax
xor r11d, 0xadb11b8e
xor r11d, 0xffffffff
and r11d, 0xadb11b8e
mov r10d, 0xa6bab644
xor r10d, 0xa6bab646
imul r10d, r11d
sub r10d, 0xadb11b8e
sub eax, r10d
add eax, 0x9bd90585
mov r8b, byte [r8 + r9 + 8]
mov rdx, qword [rdx]
mov byte [rdx + rcx + 8], r8b
movabs rdx, 0xc2d0b102f1663a3f
sub rcx, rdx
movabs rdx, 0x2c4035e7bba75611
movabs r8, 0x2c4035e7bba75610
xor rdx, r8
add rcx, rdx
movabs rdx, 0xc2d0b102f1663a3f
add rcx, rdx
mov qword [rbp + 0x58], rcx
cmp eax, 0x50836253
jb 0x14015468f
mov rax, qword [rbp + 0x58]
mov qword [rbp + 0x98], rax
jmp 0x140153390
mov rax, qword [rbp + 0x140]
mov r8, qword [rbp + 0x1b8]
mov rcx, qword [rbp + 0x220]
mov qword [rbp + 0x48], rcx
mov rdx, qword [rbp + 0x228]
mov qword [rbp + 0x50], rdx
xor ecx, ecx
cmp byte [r8], 0
mov qword [rbp + 0x158], rdx
mov rdx, rcx
mov qword [rbp + 0x160], rdx
mov qword [rbp + 0x168], rcx
mov qword [rbp + 0x170], rax
jne 0x1401541c4
mov ecx, dword [0x1401facf8]
mov edx, dword [0x1401facfc]
mov eax, ecx
and eax, edx
xor ecx, edx
or eax, ecx
sub eax, 0xd7ca224c
add eax, 0xde42146d
add eax, 0xd7ca224c
or eax, 0xe572bd2a
mov edx, 0x6ad31b48
xor edx, 0xb7927874
mov ecx, 0x32adc91b
xor ecx, 0xcd5236e4
xor edx, ecx
mov ecx, eax
and ecx, edx
mov r8d, 0x521ab00a
xor r8d, 0x8f5bd336
mov edx, eax
xor edx, r8d
add eax, edx
sub eax, ecx
cmp eax, 0x7ad9a56
je 0x140154698
mov eax, dword [0x1401fad00]
xor edx, edx
div dword [0x1401fad04]
mov ecx, 0xffffffff
xor ecx, 0x313c6b8c
add eax, ecx
add eax, 1
mov ecx, 0x99b06345
xor edx, edx
div ecx
add eax, 0xc053c609
mov dword [rbp + 0x34], eax
mov ecx, 0x601
sub rsp, 0x20
call fcn.14006d5fc
mov rcx, qword [rbp + 0x1b8]
add rsp, 0x20
mov rdx, rax
mov eax, dword [rbp + 0x34]
mov qword [rbp + 0x38], rdx
mov cl, byte [rcx]
mov dl, 0x85
xor dl, 0x85
cmp cl, dl
sete cl
mov byte [rbp + 0x47], cl
cmp eax, 0x330c32ce
jbe 0x140154698
mov rax, qword [rbp + 0x140]
mov rdx, qword [rbp + 0x50]
mov r8b, byte [rbp + 0x47]
xor ecx, ecx
test r8b, 1
mov qword [rbp + 0x158], rdx
mov rdx, rcx
mov qword [rbp + 0x160], rdx
mov qword [rbp + 0x168], rcx
mov qword [rbp + 0x170], rax
jne 0x140153811
jmp 0x1401541c4
mov rax, qword [rbp + 0x48]
mov rcx, qword [rbp + 0x38]
cmp rax, rcx
jge 0x140153cb9
mov eax, dword [0x1401fad08]
xor eax, 0x1828d291
mov ecx, dword [0x1401fad0c]
xor ecx, 0x64874283
sub eax, 0x7cb4b9ca
sub eax, ecx
add eax, 0x7cb4b9ca
xor eax, 0xaeb3a2eb
imul eax, eax, 0xfc18e3b4
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0x99d640a4
mov edx, 0xffffffff
xor edx, 0x99d640a4
and eax, edx
sub eax, ecx
cmp eax, 0x55725b64
je 0x1401546a1
mov rcx, qword [rbp + 0x1b0]
mov eax, dword [0x1401fad10]
mov r9d, dword [0x1401fad14]
mov edx, 0x3b7df948
xor edx, 0xc48206b7
mov r8d, r9d
xor r8d, edx
mov edx, eax
and edx, r8d
mov r8d, eax
xor r8d, r9d
add eax, r8d
sub eax, edx
sub eax, 0x71b6d52a
sub eax, 0xde7df22e
mov edx, 0x43aec4e8
xor edx, 0x321811c2
add eax, edx
xor eax, 0xffffffff
mov r8d, 0x60163bb5
xor r8d, 0x864756db
mov edx, 0x53873647
xor edx, 0xac78c9b8
xor r8d, edx
mov edx, 0xe35145ff
xor edx, 0xcde2c849
mov r9d, 0x5a7025ba
xor r9d, 0xa58fda45
xor edx, r9d
or eax, r8d
or edx, 0x2eb38db6
mov r8d, 0xbc13b8db
xor r8d, 0x43ec4724
xor eax, r8d
and eax, edx
mov r8d, 0x8c2bce42
xor edx, edx
div r8d
mov dword [rbp + 0x2c], eax
sub rsp, 0x20
call fcn.140151c60
mov rcx, qword [rbp + 0x1b8]
mov eax, dword [rbp + 0x2c]
add rsp, 0x20
mov cl, byte [rcx]
mov dl, 4
xor dl, 4
cmp cl, dl
sete cl
mov byte [rbp + 0x33], cl
cmp eax, 0xf49014a7
je 0x1401546a1
mov rax, qword [rbp + 0x140]
mov rdx, qword [rbp + 0x50]
mov r8b, byte [rbp + 0x33]
xor ecx, ecx
test r8b, 1
mov qword [rbp + 0x158], rdx
mov rdx, rcx
mov qword [rbp + 0x160], rdx
mov qword [rbp + 0x168], rcx
mov qword [rbp + 0x170], rax
jne 0x140153993
jmp 0x1401541c4
mov rax, qword [rbp + 0x1c0]
mov rax, qword [rax + 8]
mov qword [rbp + 0x20], rax
cmp rax, 0
je 0x140153a8c
mov rcx, qword [rbp + 0x20]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
movabs rcx, 0x36f70d3a51965999
movabs rdx, 0x36f70d3a51965999
xor rcx, rdx
cmp rax, rcx
jne 0x140153a8c
mov eax, dword [0x1401fad18]
imul eax, dword [0x1401fad1c]
mov ecx, 0x9909425d
xor ecx, 0x81ee4b70
add eax, ecx
mov ecx, 0xd92bec8b
xor edx, edx
div ecx
imul eax, eax, 0xf9237db9
cmp eax, 0x5ac73bcc
jae 0x1401546aa
mov rcx, qword [rbp + 0x20]
mov eax, dword [0x1401fad20]
xor edx, edx
div dword [0x1401fad24]
mov edx, eax
or edx, 0x40293288
mov eax, edx
xor eax, 0xffffffff
and eax, 0xabb467ce
mov r8d, 0xffffffff
xor r8d, 0xabb467ce
and edx, r8d
or eax, edx
mov edx, eax
and edx, 0x9388e194
xor edx, 0xffffffff
add eax, 0x9388e194
add eax, 1
add eax, edx
mov dword [rbp + 0x1c], eax
mov eax, 0x78263db9
xor eax, 0xd8cdcf23
mov dword [rbp + 0x18], eax
sub rsp, 0x20
call fcn.140011305
mov ecx, dword [rbp + 0x18]
mov eax, dword [rbp + 0x1c]
add rsp, 0x20
cmp eax, ecx
jbe 0x1401546aa
jmp 0x140153a8c
mov rax, qword [rbp + 0x50]
cmp rax, 0
je 0x140153c28
mov eax, dword [0x1401fad28]
xor eax, dword [0x1401fad2c]
or eax, 0xa34c7e90
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, 0xc672e5ab
add ecx, eax
xor eax, eax
sub eax, ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0x73ece508
mov r8d, 0xffffffff
xor r8d, 0x73ece508
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x73ece508
or eax, 0x73ece508
imul eax, edx
add eax, ecx
cmp eax, 0xeb102588
ja 0x1401546b3
mov rdx, qword [rbp + 0x50]
mov eax, dword [0x1401fad30]
mov ecx, dword [0x1401fad34]
mov r8d, 0xd7146766
xor r8d, 0xcd151940
xor ecx, r8d
imul eax, ecx
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0xa4ea0f11
mov r8d, 0xffffffff
xor r8d, 0xa4ea0f11
and eax, r8d
sub eax, ecx
mov ecx, 0xe261f04e
xor ecx, 0xd39f5e04
sub eax, ecx
mov r9d, 0xffffffff
xor r9d, 0xd7ab0e62
mov r8d, eax
and r8d, r9d
mov ecx, eax
or ecx, r9d
xor ecx, 0xffffffff
imul ecx, r8d
mov r9d, 0x4b9daa90
xor r9d, 0x9c36a4f2
mov r8d, eax
and r8d, r9d
mov r9d, 0x1b327a
xor r9d, 0xd7b03c18
or eax, r9d
imul eax, r8d
add eax, ecx
mov ecx, 0xb0e2b722
xor ecx, 0x6c6d81d2
mov rdx, qword [rdx]
xor rdx, 0xffffffffffffffff
mov r9, 0xffffffffffffffff
movabs r8, 0x4000000000000000
xor r9, r8
mov r8, 0xffffffffffffffff
movabs r10, 0xaf658e1921a864a6
xor r8, r10
or rdx, r9
movabs r9, 0xaf658e1921a864a6
or r8, r9
movabs r9, 0x24fc31d14b58b084
movabs r10, 0xdb03ce2eb4a74f7b
xor r9, r10
xor rdx, r9
and rdx, r8
cmp rdx, 0
sete dl
mov byte [rbp + 0x17], dl
cmp eax, ecx
ja 0x140153af9
mov al, byte [rbp + 0x17]
test al, 1
jne 0x140153c17
jmp 0x140153c28
mov rcx, qword [rbp + 0x50]
sub rsp, 0x20
call fcn.140011305
add rsp, 0x20
mov rax, qword [rbp + 0x140]
cmp rax, 0
je 0x14015465a
mov rax, qword [rbp + 0x140]
mov rcx, qword [rax]
xor rcx, 0xffffffffffffffff
mov r8, 0xffffffffffffffff
movabs rdx, 0x4000000000000000
xor r8, rdx
movabs rdx, 0x52d0e543de772c66
movabs r9, 0xbd4eba0ffd6614bd
xor rdx, r9
movabs r9, 0x9fe69ae800fa78f7
movabs r10, 0x60196517ff058708
xor r9, r10
xor rdx, r9
or rcx, r8
movabs r8, 0xef9e5f4c231138db
or rdx, r8
xor rcx, 0xffffffffffffffff
and rcx, rdx
cmp rcx, 0
mov qword [rbp + 0x148], rax
je 0x140154646
jmp 0x14015465a
mov rax, qword [rbp + 0x50]
mov rcx, qword [rbp + 0x48]
mov qword [rbp + 0x200], rcx
mov qword [rbp + 0x208], rax
lea rcx, [rbp + 0x210]
lea rdx, [rbp + 0x200]
sub rsp, 0x20
call fcn.140113a30
mov r9, qword [rbp + 0x1b8]
mov r8, qword [rbp + 0x50]
mov rax, qword [rbp + 0x140]
add rsp, 0x20
mov rcx, qword [rbp + 0x210]
mov qword [rbp], rcx
mov rcx, qword [rbp + 0x218]
mov qword [rbp + 8], rcx
xor edx, edx
cmp byte [r9], 0
mov qword [rbp + 0x158], r8
mov qword [rbp + 0x160], rdx
mov qword [rbp + 0x168], rcx
mov qword [rbp + 0x170], rax
jne 0x1401541c4
mov ecx, 0x4d8
sub rsp, 0x20
call fcn.14006d5fc
mov rdx, qword [rbp + 0x1b8]
mov r8, qword [rbp + 0x50]
mov rcx, qword [rbp + 8]
add rsp, 0x20
mov r9, rax
mov rax, qword [rbp + 0x140]
mov qword [rbp - 8], r9
mov r9b, byte [rdx]
mov r10b, 0xc4
xor r10b, 0xc4
xor edx, edx
cmp r9b, r10b
mov qword [rbp + 0x158], r8
mov qword [rbp + 0x160], rdx
mov qword [rbp + 0x168], rcx
mov qword [rbp + 0x170], rax
jne 0x1401541c4
mov rax, qword [rbp + 8]
mov r8, qword [rbp - 8]
mov rcx, qword [rbp]
mov qword [rbp + 0x1e0], rcx
mov qword [rbp + 0x1e8], rax
lea rcx, [rbp + 0x1f0]
lea rdx, [rbp + 0x1e0]
sub rsp, 0x20
call fcn.140028246
add rsp, 0x20
mov rax, qword [rbp + 0x1f0]
mov qword [rbp - 0x20], rax
mov rax, qword [rbp + 0x1f8]
mov qword [rbp - 0x18], rax
mov ecx, 0x2c2
sub rsp, 0x20
call fcn.14006d5fc
mov r9, qword [rbp + 0x1b8]
mov r8, qword [rbp + 0x50]
mov rdx, qword [rbp - 0x18]
mov rcx, qword [rbp + 8]
add rsp, 0x20
mov r10, rax
mov rax, qword [rbp + 0x140]
mov qword [rbp - 0x10], r10
cmp byte [r9], 0
mov qword [rbp + 0x158], r8
mov qword [rbp + 0x160], rdx
mov qword [rbp + 0x168], rcx
mov qword [rbp + 0x170], rax
jne 0x1401541c4
mov ecx, 0x12b
sub rsp, 0x20
call fcn.14006d5fc
mov r9, qword [rbp + 0x1b8]
mov r8, qword [rbp + 0x50]
mov rdx, qword [rbp - 0x18]
mov rcx, qword [rbp + 8]
add rsp, 0x20
mov r10, rax
mov rax, qword [rbp + 0x140]
mov qword [rbp - 0x28], r10
mov r9b, byte [r9]
mov r10b, 0xcb
xor r10b, 0xcb
cmp r9b, r10b
mov qword [rbp + 0x158], r8
mov qword [rbp + 0x160], rdx
mov qword [rbp + 0x168], rcx
mov qword [rbp + 0x170], rax
jne 0x1401541c4
mov r8, qword [rbp - 0x28]
mov rcx, qword [rbp - 0x20]
mov rdx, rcx
sub rdx, r8
mov qword [rbp - 0x30], rdx
mov rax, rdx
xor rax, rcx
cmp rax, 0
setl al
mov rcx, rdx
xor rcx, 0xffffffffffffffff
mov r9, rdx
xor r9, 0xffffffffffffffff
and rcx, r9
mov r9, r8
or r9, r9
xor r9, 0xffffffffffffffff
movabs r10, 0x6e74a933d02efd66
movabs r11, 0x918b56cc2fd10299
xor r10, r11
xor rcx, r10
xor r9, 0xffffffffffffffff
and rcx, r9
or rdx, r8
movabs r8, 0xc2287b8624ca5d43
movabs r9, 0x3dd78479db35a2bc
xor r8, r9
xor rdx, r8
or rcx, rdx
xor rcx, 0xffffffffffffffff
cmp rcx, 0xffffffffffffffff
setg cl
and al, cl
test al, 1
jne 0x140153f35
jmp 0x140153f76
sub rsp, 0x20
call fcn.1400091c0
mov r8, qword [rbp + 0x50]
mov rdx, qword [rbp - 0x18]
mov rcx, qword [rbp + 8]
mov rax, qword [rbp + 0x140]
add rsp, 0x20
mov qword [rbp + 0x158], r8
mov qword [rbp + 0x160], rdx
mov qword [rbp + 0x168], rcx
mov qword [rbp + 0x170], rax
jmp 0x1401541c4
mov rcx, qword [rbp - 0x10]
mov rax, qword [rbp - 0x30]
sub rax, rcx
mov qword [rbp - 0x38], rax
cmp rax, 0xffffffffffffffff
je 0x1401540b0
mov rax, qword [rbp - 0x10]
cmp rax, 0
jl 0x140154063
mov ecx, dword [0x1401fad38]
mov edx, dword [0x1401fad3c]
mov eax, 0xbdad7d8e
xor eax, 0x34ff7b2d
xor edx, eax
mov eax, ecx
and eax, edx
or ecx, edx
add eax, ecx
mov edx, eax
xor edx, 0xdb36d42d
xor edx, 0xffffffff
mov ecx, 0xe3a2c06d
xor ecx, 0x38941440
and ecx, edx
shl ecx, 1
mov edx, 0x6eb344be
xor edx, 0xb5859093
sub ecx, edx
sub eax, ecx
xor ecx, ecx
sub ecx, eax
mov eax, 0x4bab2779
xor eax, 0x4bab2779
mov edx, 0x69d206d7
xor edx, 0xfb85a777
sub eax, edx
add ecx, eax
xor eax, eax
sub eax, ecx
and eax, 0xd2c4604b
cmp eax, 0xff9b4720
jae 0x1401546bc
mov r9, qword [rbp - 0x20]
mov r8, qword [rbp - 0x30]
mov rdx, qword [rbp - 0x10]
mov eax, 0xb8a6ff87
mov ecx, 0x3050c5d
sub rdx, r9
setl dl
test r8, r8
setns r10b
and dl, r10b
sub r8, r9
setl r8b
and dl, r8b
mov byte [rbp - 0x39], dl
cmp eax, ecx
jb 0x140154018
mov al, byte [rbp - 0x39]
test al, 1
jne 0x1401540b0
jmp 0x140154063
mov r8, qword [rbp - 0x20]
mov rdx, qword [rbp - 0x30]
mov rcx, qword [rbp - 0x10]
sub rsp, 0x20
call fcn.1400216eb
mov r8, qword [rbp + 0x50]
mov rdx, qword [rbp - 0x18]
mov rcx, qword [rbp + 8]
mov rax, qword [rbp + 0x140]
add rsp, 0x20
mov qword [rbp + 0x158], r8
mov qword [rbp + 0x160], rdx
mov qword [rbp + 0x168], rcx
mov qword [rbp + 0x170], rax
jmp 0x1401541c4
mov r9, qword [rbp - 0x18]
mov rcx, qword [rbp + 0x1a0]
mov r8, qword [rbp - 0x38]
mov rax, qword [rbp - 0x10]
mov rdx, r9
add rdx, 8
add rdx, rax
xor eax, eax
cmp r9, 0
cmove rdx, rax
movabs r9, 0x7aff65766ec99033
movabs rax, 0x7aff65766ec99032
xor r9, rax
mov rax, r8
and rax, r9
shl rax, 1
xor r8, 1
add r8, rax
sub rsp, 0x20
call fcn.140151db0
mov r10, qword [rbp + 0x1a0]
mov r9, qword [rbp + 0x1b8]
mov r8, qword [rbp + 0x50]
mov rdx, qword [rbp - 0x18]
mov rcx, qword [rbp + 8]
mov rax, qword [rbp + 0x140]
add rsp, 0x20
mov r11, qword [r10]
mov qword [rbp - 0x50], r11
mov r10, qword [r10 + 8]
mov qword [rbp - 0x48], r10
mov r9b, byte [r9]
mov r10b, 0x8e
xor r10b, 0x8e
cmp r9b, r10b
mov qword [rbp + 0x158], r8
mov qword [rbp + 0x160], rdx
mov qword [rbp + 0x168], rcx
mov qword [rbp + 0x170], rax
jne 0x1401541c4
mov rdx, qword [rbp + 0x1a8]
mov rcx, qword [rbp + 0x1b0]
mov rax, qword [rbp - 0x48]
mov r8, qword [rbp - 0x50]
mov qword [rdx], r8
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.140151bf1
mov r8, qword [rbp + 0x50]
mov rdx, qword [rbp - 0x18]
mov rcx, qword [rbp + 8]
mov rax, qword [rbp + 0x140]
add rsp, 0x20
mov qword [rbp + 0x158], r8
mov qword [rbp + 0x160], rdx
mov qword [rbp + 0x168], rcx
mov qword [rbp + 0x170], rax
mov rax, qword [rbp + 0x1c0]
mov rcx, qword [rbp + 0x158]
mov rdx, qword [rbp + 0x160]
mov r8, qword [rbp + 0x168]
mov r9, qword [rbp + 0x170]
mov qword [rbp - 0x78], r9
mov qword [rbp - 0x70], r8
mov qword [rbp - 0x68], rdx
mov qword [rbp - 0x60], rcx
mov rax, qword [rax + 8]
mov qword [rbp - 0x58], rax
cmp rax, 0
je 0x1401542af
mov eax, dword [0x1401fad48]
xor edx, edx
div dword [0x1401fad4c]
imul ecx, eax, 0xa2307c40
xor ecx, 0x3794a578
mov eax, ecx
and eax, 0x69c00083
xor ecx, 0x69c00083
or eax, ecx
cmp eax, 0x3e0c9551
jb 0x1401546c5
mov rdx, qword [rbp - 0x58]
mov eax, dword [0x1401fad50]
and eax, dword [0x1401fad54]
or eax, 0x59926f13
or eax, 0xd3b870e8
mov ecx, eax
and ecx, 0xd61807d3
xor ecx, 0xffffffff
add eax, 0xd61807d3
add eax, 1
add eax, ecx
movabs rcx, 0x4000000000000000
and rcx, qword [rdx]
cmp rcx, 0
sete cl
mov byte [rbp - 0x79], cl
cmp eax, 0xd6c3be8f
je 0x14015423d
mov al, byte [rbp - 0x79]
test al, 1
jne 0x14015429e
jmp 0x1401542af
mov rcx, qword [rbp - 0x58]
sub rsp, 0x20
call fcn.140011305
add rsp, 0x20
mov eax, dword [0x1401fad58]
xor eax, 0xa1134e37
mov edx, dword [0x1401fad5c]
mov ecx, 0x5d77e731
xor ecx, 0xa28818ce
xor eax, ecx
xor edx, 0xffffffff
mov ecx, 0xffffffff
xor ecx, 0x207032ed
or eax, edx
or ecx, 0x207032ed
xor eax, 0xffffffff
and eax, ecx
mov ecx, 0xc6544659
xor ecx, 0x7162326b
or eax, ecx
xor eax, 0x4b608560
imul eax, eax, 0xea9a547a
cmp eax, 0x165f0f80
jb 0x1401546ce
mov rcx, qword [rbp - 0x70]
mov edx, dword [0x1401fad60]
mov r8d, dword [0x1401fad64]
mov eax, edx
xor eax, 0xffffffff
mov r9d, r8d
xor r9d, 0xffffffff
or eax, r9d
mov r9d, 0xccbd1a1
xor r9d, 0xf3342e5e
xor edx, r9d
xor r8d, 0xffffffff
or edx, r8d
and eax, edx
xor eax, 0xffffffff
mov edx, 0xd9d06060
xor edx, 0x55f89614
add eax, edx
mov r8d, eax
xor r8d, 0xffffffff
and r8d, 0x4c6da78e
mov r9d, 0xffffffff
xor r9d, 0x4c6da78e
mov edx, eax
and edx, r9d
imul edx, r8d
mov r8d, eax
and r8d, 0x4c6da78e
mov r9d, 0x5fb71148
xor r9d, 0x13dab6c6
or eax, r9d
imul eax, r8d
add eax, edx
mov edx, 0x9095ccd6
xor edx, 0xd1a49c85
add eax, edx
cmp rcx, 0
sete cl
mov byte [rbp - 0x7a], cl
cmp eax, 0x47cebc7
je 0x14015430b
mov al, byte [rbp - 0x7a]
test al, 1
jne 0x14015441d
jmp 0x1401543ca
mov rax, qword [rbp - 0x70]
mov rax, qword [rax]
mov rcx, rax
add rcx, 1
movabs rdx, 0x1ea47f6acdad3d7a
movabs r8, 0xe15b80953252c285
xor rdx, r8
xor rax, rdx
movabs rdx, 0x4000000000000000
or rax, rdx
add rax, rcx
cmp rax, 0
jne 0x14015441d
mov rcx, qword [rbp - 0x70]
sub rsp, 0x20
call fcn.140011305
add rsp, 0x20
mov rax, qword [rbp - 0x68]
cmp rax, 0
je 0x1401544a0
mov rax, qword [rbp - 0x68]
mov rcx, qword [rax]
movabs rdx, 0x4000000000000000
mov rax, rcx
and rax, rdx
xor rax, 0xffffffffffffffff
movabs rdx, 0xcb32cdca85737451
movabs r8, 0x8b32cdca85737451
xor rdx, r8
and rcx, rdx
xor rcx, 0xffffffffffffffff
xor rax, 0xffffffffffffffff
movabs rdx, 0xa19503feaf3deaa0
movabs r8, 0x5e6afc0150c2155f
xor rdx, r8
xor rcx, rdx
or rax, rcx
cmp rax, 0
jne 0x1401544a0
mov rcx, qword [rbp - 0x68]
sub rsp, 0x20
call fcn.140011305
add rsp, 0x20
mov rax, qword [rbp - 0x60]
cmp rax, 0
je 0x1401545e6
mov eax, dword [0x1401fad68]
mov ecx, dword [0x1401fad6c]
mov edx, 0x6a3bb64a
xor edx, 0x57c0e2df
xor ecx, edx
xor ecx, 0xffffffff
xor edx, edx
sub edx, 1
sub ecx, edx
sub eax, ecx
sub eax, 0xc375317b
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0x9a37094e
mov edx, 0xffffffff
xor edx, 0x9a37094e
and eax, edx
sub eax, ecx
or eax, 0x73d0506e
mov ecx, 0xc4f71fe3
xor ecx, 0x61e55b0d
cmp eax, ecx
ja 0x1401546d7
mov rcx, qword [rbp - 0x60]
mov edx, dword [0x1401fad70]
mov eax, dword [0x1401fad74]
xor eax, 0xe66c1788
sub edx, eax
or edx, 0x54a55c1c
mov r8d, 0x314b7c59
xor r8d, 0xdebd360a
mov eax, 0x1602ed14
xor eax, 0xe9fd12eb
xor r8d, eax
mov eax, edx
xor eax, r8d
and eax, edx
and eax, 0x17f20fa9
mov rdx, qword [rcx]
movabs r8, 0x21cf16ea2a3805ec
movabs rcx, 0xde30e915d5c7fa13
xor r8, rcx
mov rcx, rdx
xor rcx, r8
xor rdx, 0xffffffffffffffff
and rcx, rdx
movabs rdx, 0x4000000000000000
movabs r8, 0x4000000000000000
or rdx, r8
xor rdx, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
and rcx, rdx
movabs rdx, 0x3fe4fbff36f45db5
movabs r8, 0x3fe4fbff36f45db5
xor rdx, r8
cmp rcx, rdx
sete cl
mov byte [rbp - 0x7b], cl
cmp eax, 0x203b0dbe
jae 0x1401546d7
mov al, byte [rbp - 0x7b]
test al, 1
jne 0x1401545d5
jmp 0x1401545e6
mov rcx, qword [rbp - 0x60]
sub rsp, 0x20
call fcn.140011305
add rsp, 0x20
mov rax, qword [rbp - 0x78]
cmp rax, 0
je 0x14015465a
mov rax, qword [rbp - 0x78]
mov rcx, qword [rax]
movabs r8, 0x4000000000000000
mov rdx, rcx
xor rdx, r8
movabs r8, 0xc5fd380f0a4459c6
movabs r9, 0x3a02c7f0f5bba639
xor r8, r9
xor rdx, r8
movabs r8, 0x4000000000000000
or rcx, r8
and rcx, rdx
cmp rcx, 0
mov qword [rbp + 0x148], rax
jne 0x14015465a
mov rcx, qword [rbp + 0x148]
sub rsp, 0x20
call fcn.140011305
add rsp, 0x20
mov rax, qword [rbp + 0x180]
lea rsp, [rbp + 0x288]
pop rsi
pop rbp
ret
or cl, byte [rdx - 0x6b]
jmp 0x14015247d
sbb edi, dword [rdi]
or eax, 0xe940e9b1
invalid
pushfq
xlatb
out dx, eax
mov dl, 0xe9
cmp al, 0xeb
invalid
sub qword [r15 - 0x75], 0xffffffffffed63e9
dec dword [rdx + 0x3f]
sti
jnp 0x14015467d
invalid
out dx, eax
invalid
rcl dword [rdi - 0x3a162906], cl
invalid
or bl, cl
adc r9b, r13b
retf
invalid
push rsp
invalid
xor esi, esi
and bl, byte [rdx - 0x17]
push rbx
stc
invalid
test eax, 0xe96ec48f
outsd dx, dword [rsi]
sti
invalid
adc esi, edi
xchg ebp, eax
pop rax
jmp 0x14015430b
pmaxub mm1, qword [rax]
out dx, al
jmp 0x14015450a