Function at 0x14014c450
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0xa88
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x5e0], rcx
mov eax, 0x10
mov qword [rbp + 0x658], rax
call fcn.140271bb0
sub rsp, rax
mov rax, qword [rbp + 0x658]
mov rcx, rsp
mov qword [rbp + 0x678], rcx
call fcn.140271bb0
sub rsp, rax
mov rax, qword [rbp + 0x658]
mov rcx, rsp
mov qword [rbp + 0x680], rcx
call fcn.140271bb0
sub rsp, rax
mov rax, qword [rbp + 0x658]
mov rcx, rsp
mov qword [rbp + 0x5e8], rcx
call fcn.140271bb0
sub rsp, rax
mov rax, qword [rbp + 0x658]
mov rcx, rsp
mov qword [rbp + 0x5f0], rcx
call fcn.140271bb0
sub rsp, rax
mov rax, qword [rbp + 0x658]
mov rcx, rsp
mov qword [rbp + 0x5f8], rcx
call fcn.140271bb0
sub rsp, rax
mov rax, qword [rbp + 0x658]
mov rcx, rsp
mov qword [rbp + 0x600], rcx
call fcn.140271bb0
sub rsp, rax
mov rax, qword [rbp + 0x658]
mov rcx, rsp
mov qword [rbp + 0x608], rcx
call fcn.140271bb0
sub rsp, rax
mov rax, qword [rbp + 0x658]
mov rcx, rsp
mov qword [rbp + 0x610], rcx
call fcn.140271bb0
sub rsp, rax
mov rax, qword [rbp + 0x658]
mov rcx, rsp
mov qword [rbp + 0x618], rcx
call fcn.140271bb0
sub rsp, rax
mov rax, qword [rbp + 0x658]
mov rcx, rsp
mov qword [rbp + 0x620], rcx
call fcn.140271bb0
sub rsp, rax
mov rax, qword [rbp + 0x658]
mov rcx, rsp
mov qword [rbp + 0x628], rcx
call fcn.140271bb0
sub rsp, rax
mov rax, qword [rbp + 0x658]
mov rcx, rsp
mov qword [rbp + 0x630], rcx
call fcn.140271bb0
sub rsp, rax
mov rax, qword [rbp + 0x658]
mov rcx, rsp
mov qword [rbp + 0x638], rcx
call fcn.140271bb0
sub rsp, rax
mov rax, qword [rbp + 0x658]
mov rcx, rsp
mov qword [rbp + 0x640], rcx
call fcn.140271bb0
sub rsp, rax
mov rax, qword [rbp + 0x658]
mov rcx, rsp
mov qword [rbp + 0x648], rcx
call fcn.140271bb0
sub rsp, rax
mov rax, qword [rbp + 0x658]
mov rcx, rsp
mov qword [rbp + 0x650], rcx
call fcn.140271bb0
sub rsp, rax
mov rax, qword [rbp + 0x658]
mov rcx, rsp
mov qword [rbp + 0x660], rcx
call fcn.140271bb0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x668], rax
mov rax, qword [0x14028d330]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000efc9
add rsp, 0x20
mov qword [rbp + 0x6b0], rax
add rax, 0x60
mov qword [rbp + 0x670], rax
mov ecx, 0x38
mov edx, 8
sub rsp, 0x20
call fcn.140029060
mov rcx, qword [rbp + 0x678]
add rsp, 0x20
mov rdx, rax
mov rax, qword [rbp + 0x680]
mov qword [rbp + 0x688], rdx
mov qword [rcx], 0
mov rdx, rcx
add rdx, 8
mov qword [rbp + 0x690], rdx
mov qword [rcx + 8], 0
movabs rcx, 0xf38761bdd034d7a4
movabs rdx, 0xf38761bdd034d7a4
xor rcx, rdx
mov qword [rbp + 0x9f8], rcx
lea rcx, [rbp + 0x9f8]
add rcx, 8
mov qword [rbp + 0x698], rcx
mov qword [rbp + 0xa00], 0
mov qword [rbp + 0x9e8], 0
lea rcx, [rbp + 0x9e8]
add rcx, 8
mov qword [rbp + 0x6a0], rcx
mov qword [rbp + 0x9f0], 0
mov qword [rax], 0
mov rcx, rax
add rcx, 8
mov qword [rbp + 0x6a8], rcx
mov qword [rax + 8], 0
mov word [rbp + 0x9e6], 0x380
lea rcx, [rbp + 0x9e6]
sub rsp, 0x20
call fcn.140093f60
mov rcx, qword [rbp + 0x6b0]
add rsp, 0x20
mov qword [rbp + 0x6b8], rax
xor eax, eax
mov qword [rbp + 0x6c0], rax
cmp byte [rcx + 0x60], 0
mov rcx, rax
mov qword [rbp + 0x6c8], rcx
mov rcx, rax
mov qword [rbp + 0x6d0], rcx
mov rcx, rax
mov qword [rbp + 0x6d8], rcx
mov rcx, rax
mov qword [rbp + 0x6e0], rcx
mov rcx, rax
mov qword [rbp + 0x6e8], rcx
mov rcx, rax
mov qword [rbp + 0x6f0], rcx
mov rcx, rax
mov qword [rbp + 0x6f8], rcx
mov rcx, rax
mov qword [rbp + 0x700], rcx
mov rcx, rax
mov qword [rbp + 0x708], rcx
mov rcx, rax
mov qword [rbp + 0x710], rcx
mov rcx, rax
mov qword [rbp + 0x718], rcx
mov rcx, rax
mov qword [rbp + 0x720], rcx
mov rcx, rax
mov qword [rbp + 0x728], rcx
mov qword [rbp + 0x730], rax
jne 0x14015376d
mov rax, qword [rbp + 0x6b8]
mov rcx, qword [rbp + 0x5e0]
mov rdx, rcx
add rdx, 0x80
mov qword [rbp + 0x5c0], rdx
mov rdx, qword [rcx + 0x80]
mov qword [rbp + 0x9a0], rdx
mov rcx, qword [rcx + 0x88]
mov qword [rbp + 0x9a8], rcx
mov rcx, qword [rax]
mov qword [rbp + 0x990], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x998], rax
lea rcx, [rbp + 0x9b0]
lea rdx, [rbp + 0x9a0]
lea r8, [rbp + 0x990]
sub rsp, 0x20
call fcn.140138d90
mov rax, qword [rbp + 0x670]
add rsp, 0x20
mov rcx, qword [rbp + 0x9b0]
mov qword [rbp + 0x5c8], rcx
mov rcx, qword [rbp + 0x9b8]
mov qword [rbp + 0x5d0], rcx
mov dl, byte [rax]
mov r8b, 0xbe
xor r8b, 0xbe
xor eax, eax
mov qword [rbp + 0x5d8], rax
cmp dl, r8b
mov rdx, rax
mov qword [rbp + 0x6c8], rdx
mov rdx, rax
mov qword [rbp + 0x6d0], rdx
mov rdx, rax
mov qword [rbp + 0x6d8], rdx
mov rdx, rax
mov qword [rbp + 0x6e0], rdx
mov qword [rbp + 0x6e8], rcx
mov rcx, rax
mov qword [rbp + 0x6f0], rcx
mov rcx, rax
mov qword [rbp + 0x6f8], rcx
mov rcx, rax
mov qword [rbp + 0x700], rcx
mov rcx, rax
mov qword [rbp + 0x708], rcx
mov rcx, rax
mov qword [rbp + 0x710], rcx
mov rcx, rax
mov qword [rbp + 0x718], rcx
mov rcx, rax
mov qword [rbp + 0x720], rcx
mov rcx, rax
mov qword [rbp + 0x728], rcx
mov qword [rbp + 0x730], rax
jne 0x14015376d
mov rax, qword [rbp + 0x5d0]
mov rcx, qword [rbp + 0x5e8]
mov rdx, qword [rbp + 0x5c8]
mov qword [rbp + 0x980], rdx
mov qword [rbp + 0x988], rax
lea rdx, [rbp + 0x980]
sub rsp, 0x20
call fcn.14014bc90
mov rax, qword [rbp + 0x5e8]
mov r8, qword [rbp + 0x670]
mov rcx, qword [rbp + 0x5d0]
add rsp, 0x20
mov rdx, qword [rax]
mov qword [rbp + 0x5a8], rdx
mov rdx, qword [rax + 8]
mov qword [rbp + 0x5b0], rdx
xor eax, eax
mov qword [rbp + 0x5b8], rax
cmp byte [r8], 0
mov r8, rax
mov qword [rbp + 0x6c8], r8
mov r8, rax
mov qword [rbp + 0x6d0], r8
mov r8, rax
mov qword [rbp + 0x6d8], r8
mov qword [rbp + 0x6e0], rdx
mov qword [rbp + 0x6e8], rcx
mov rcx, rax
mov qword [rbp + 0x6f0], rcx
mov rcx, rax
mov qword [rbp + 0x6f8], rcx
mov rcx, rax
mov qword [rbp + 0x700], rcx
mov rcx, rax
mov qword [rbp + 0x708], rcx
mov rcx, rax
mov qword [rbp + 0x710], rcx
mov rcx, rax
mov qword [rbp + 0x718], rcx
mov rcx, rax
mov qword [rbp + 0x720], rcx
mov rcx, rax
mov qword [rbp + 0x728], rcx
mov qword [rbp + 0x730], rax
jne 0x14015376d
mov rax, qword [rbp + 0x5a8]
cmp rax, 1
jge 0x14014caed
mov rdx, qword [rbp + 0x5a8]
add rdx, 0xffffffffffffffff
xor eax, eax
mov ecx, eax
sub rsp, 0x20
call fcn.1400292ad
mov rdx, qword [rbp + 0x5b0]
mov rcx, qword [rbp + 0x5d0]
add rsp, 0x20
xor eax, eax
mov qword [rbp + 0x5a0], rax
mov r8, rax
mov qword [rbp + 0x6c8], r8
mov r8, rax
mov qword [rbp + 0x6d0], r8
mov r8, rax
mov qword [rbp + 0x6d8], r8
mov qword [rbp + 0x6e0], rdx
mov qword [rbp + 0x6e8], rcx
mov rcx, rax
mov qword [rbp + 0x6f0], rcx
mov rcx, rax
mov qword [rbp + 0x6f8], rcx
mov rcx, rax
mov qword [rbp + 0x700], rcx
mov rcx, rax
mov qword [rbp + 0x708], rcx
mov rcx, rax
mov qword [rbp + 0x710], rcx
mov rcx, rax
mov qword [rbp + 0x718], rcx
mov rcx, rax
mov qword [rbp + 0x720], rcx
mov rcx, rax
mov qword [rbp + 0x728], rcx
mov qword [rbp + 0x730], rax
jmp 0x14015376d
mov rcx, qword [rbp + 0x5b0]
add rcx, 8
mov edx, 4
xor eax, eax
mov r9d, eax
xor eax, eax
sub rsp, 0x30
mov r8, r9
mov dword [rsp + 0x20], 0
call fcn.1400fd625
mov r9, qword [rbp + 0x670]
mov rdx, qword [rbp + 0x5b0]
mov rcx, qword [rbp + 0x5d0]
add rsp, 0x30
mov r8, rax
mov qword [rbp + 0x590], r8
xor eax, eax
mov qword [rbp + 0x598], rax
cmp byte [r9], 0
mov qword [rbp + 0x6c8], r8
mov r8, rax
mov qword [rbp + 0x6d0], r8
mov r8, rax
mov qword [rbp + 0x6d8], r8
mov qword [rbp + 0x6e0], rdx
mov qword [rbp + 0x6e8], rcx
mov rcx, rax
mov qword [rbp + 0x6f0], rcx
mov rcx, rax
mov qword [rbp + 0x6f8], rcx
mov rcx, rax
mov qword [rbp + 0x700], rcx
mov rcx, rax
mov qword [rbp + 0x708], rcx
mov rcx, rax
mov qword [rbp + 0x710], rcx
mov rcx, rax
mov qword [rbp + 0x718], rcx
mov rcx, rax
mov qword [rbp + 0x720], rcx
mov rcx, rax
mov qword [rbp + 0x728], rcx
mov qword [rbp + 0x730], rax
jne 0x14015376d
mov rax, qword [rbp + 0x590]
cmp rax, 0
jne 0x14014cd1a
movabs rcx, 0xe7389658dd8a1f4
movabs rax, 0xe7389658dd8a1b4
xor rcx, rax
movabs rdx, 0x763ad671b3549b95
movabs rax, 0x763ad671b3549b9d
xor rdx, rax
sub rsp, 0x20
call fcn.140029060
add rsp, 0x20
mov rcx, rax
mov rax, qword [0x14028cf78]
mov qword [rcx], rax
lea rax, [0x14028a788]
mov qword [rcx + 0x10], rax
mov rax, qword [0x14028a7c0]
mov qword [rcx + 0x18], rax
mov rax, qword [0x14028a7c8]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
lea rdx, [0x14028a788]
lea r8, [0x14028a793]
lea r9, [0x14028a7a1]
sub rsp, 0x30
mov qword [rsp + 0x20], 0xffffffffd990665e
call fcn.140028fa8
mov rdx, qword [rbp + 0x5b0]
mov rcx, qword [rbp + 0x5d0]
add rsp, 0x30
xor eax, eax
mov qword [rbp + 0x588], rax
mov r8, rax
mov qword [rbp + 0x6c8], r8
mov r8, rax
mov qword [rbp + 0x6d0], r8
mov r8, rax
mov qword [rbp + 0x6d8], r8
mov qword [rbp + 0x6e0], rdx
mov qword [rbp + 0x6e8], rcx
mov rcx, rax
mov qword [rbp + 0x6f0], rcx
mov rcx, rax
mov qword [rbp + 0x6f8], rcx
mov rcx, rax
mov qword [rbp + 0x700], rcx
mov rcx, rax
mov qword [rbp + 0x708], rcx
mov rcx, rax
mov qword [rbp + 0x710], rcx
mov rcx, rax
mov qword [rbp + 0x718], rcx
mov rcx, rax
mov qword [rbp + 0x720], rcx
mov rcx, rax
mov qword [rbp + 0x728], rcx
mov qword [rbp + 0x730], rax
jmp 0x14015376d
mov eax, dword [0x14027b388]
xor edx, edx
div dword [0x14027b38c]
mov ecx, 0x61fa0272
xor edx, edx
div ecx
mov ecx, 0xfa1c7bfe
xor edx, edx
div ecx
mov ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x755de628
or eax, edx
mov edx, 0xe65018a5
xor edx, 0x930dfe8d
and ecx, edx
xor ecx, 0xffffffff
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0x14795b30
xor ecx, 0xe3b0bedd
cmp eax, ecx
ja 0x14015466e
mov rcx, qword [rbp + 0x590]
mov eax, dword [0x14027b390]
xor edx, edx
div dword [0x14027b394]
mov r8d, 0x79b471fe
xor edx, edx
div r8d
mov edx, eax
mov rax, qword [rbp + 0x5e0]
xor r8d, r8d
sub r8d, 0xdca56873
add edx, r8d
xor edx, 0xb5332061
mov dword [rbp + 0x57c], edx
movss xmm0, dword [0x14028a770]
mulss xmm0, dword [rax + 0x90]
cvttss2si eax, xmm0
sub rsp, 0x30
mov edx, eax
mov r8d, eax
mov r9d, eax
mov dword [rsp + 0x20], eax
call fcn.1400fd66f
mov rcx, qword [rbp + 0x670]
add rsp, 0x30
mov edx, eax
mov eax, dword [rbp + 0x57c]
mov dword [rbp + 0x580], edx
cmp byte [rcx], 0
sete cl
mov byte [rbp + 0x587], cl
cmp eax, 0x53e08712
jbe 0x14014cd79
mov rcx, qword [rbp + 0x5d0]
mov rdx, qword [rbp + 0x5b0]
mov r8, qword [rbp + 0x590]
mov r9b, byte [rbp + 0x587]
xor eax, eax
mov qword [rbp + 0x570], rax
test r9b, 1
mov qword [rbp + 0x6c8], r8
mov r8, rax
mov qword [rbp + 0x6d0], r8
mov r8, rax
mov qword [rbp + 0x6d8], r8
mov qword [rbp + 0x6e0], rdx
mov qword [rbp + 0x6e8], rcx
mov rcx, rax
mov qword [rbp + 0x6f0], rcx
mov rcx, rax
mov qword [rbp + 0x6f8], rcx
mov rcx, rax
mov qword [rbp + 0x700], rcx
mov rcx, rax
mov qword [rbp + 0x708], rcx
mov rcx, rax
mov qword [rbp + 0x710], rcx
mov rcx, rax
mov qword [rbp + 0x718], rcx
mov rcx, rax
mov qword [rbp + 0x720], rcx
mov rcx, rax
mov qword [rbp + 0x728], rcx
mov qword [rbp + 0x730], rax
jne 0x14014cec8
jmp 0x14015376d
mov eax, dword [rbp + 0x580]
cmp eax, 0
jne 0x14014cff2
mov ecx, 0x40
mov edx, 8
sub rsp, 0x20
call fcn.140029060
add rsp, 0x20
mov rcx, rax
mov rax, qword [0x14028cf78]
mov qword [rcx], rax
lea rax, [0x14028a788]
mov qword [rcx + 0x10], rax
mov rax, qword [0x14028a7c0]
mov qword [rcx + 0x18], rax
mov rax, qword [0x14028a7c8]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
lea rdx, [0x14028a788]
lea r8, [0x14028a793]
lea r9, [0x14028a7a1]
sub rsp, 0x30
mov qword [rsp + 0x20], 0xffffffffcd2371ec
call fcn.140028fa8
mov r8, qword [rbp + 0x590]
mov rdx, qword [rbp + 0x5b0]
mov rcx, qword [rbp + 0x5d0]
add rsp, 0x30
xor eax, eax
mov qword [rbp + 0x568], rax
mov qword [rbp + 0x6c8], r8
mov r8, rax
mov qword [rbp + 0x6d0], r8
mov r8, rax
mov qword [rbp + 0x6d8], r8
mov qword [rbp + 0x6e0], rdx
mov qword [rbp + 0x6e8], rcx
mov rcx, rax
mov qword [rbp + 0x6f0], rcx
mov rcx, rax
mov qword [rbp + 0x6f8], rcx
mov rcx, rax
mov qword [rbp + 0x700], rcx
mov rcx, rax
mov qword [rbp + 0x708], rcx
mov rcx, rax
mov qword [rbp + 0x710], rcx
mov rcx, rax
mov qword [rbp + 0x718], rcx
mov rcx, rax
mov qword [rbp + 0x720], rcx
mov rcx, rax
mov qword [rbp + 0x728], rcx
mov qword [rbp + 0x730], rax
jmp 0x14015376d
mov rax, qword [rbp + 0x5e0]
mov rcx, rax
add rcx, 0x40
mov qword [rbp + 0x560], rcx
mov rax, qword [rax + 0x40]
movabs rcx, 0xb5608170ae4d7a53
movabs rdx, 0xb5608170ae4d7a53
xor rcx, rdx
cmp rax, rcx
jne 0x14014d73f
mov rcx, qword [rbp + 0x5f0]
mov word [rcx], 0xca
sub rsp, 0x20
call fcn.140093f60
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x670]
mov qword [rbp + 0x558], rcx
cmp byte [rax], 0
jne 0x14014d29b
mov rdx, qword [rbp + 0x558]
mov rcx, qword [rbp + 0x5e0]
mov rax, qword [rcx]
mov qword [rbp + 0x538], rax
mov r8, rcx
add r8, 8
mov qword [rbp + 0x540], r8
mov rcx, qword [rcx + 8]
mov qword [rbp + 0x548], rcx
mov rcx, qword [rdx]
mov rdx, qword [rdx + 8]
mov qword [rbp + 0x550], rdx
cmp rax, rcx
jne 0x14014d351
mov rax, qword [rbp + 0x538]
cmp rax, 0
je 0x14014d26f
mov r8d, dword [0x14027b398]
mov ecx, dword [0x14027b39c]
mov eax, 0xff6cba56
xor eax, 0xad0a03
xor ecx, eax
mov eax, r8d
xor eax, 0xffffffff
and eax, ecx
xor ecx, 0xffffffff
and r8d, ecx
sub r8d, eax
mov eax, 0x3b42a5f0
xor eax, 0x161df6d
add r8d, eax
sub r8d, 0xd7495f59
mov eax, 0x3e51c75e
xor eax, 0x472bdc3
sub r8d, eax
mov ecx, r8d
xor ecx, 0xffffffff
mov eax, 0x80e4413e
xor eax, 0xa827b260
and eax, ecx
mov edx, 0x2fea0c1a
xor edx, 0x729ff44
mov ecx, 0xd6bc965d
xor ecx, 0x294369a2
xor edx, ecx
and r8d, edx
mov ecx, 0x927be36b
xor ecx, 0x94bbf079
mov r9d, 0xfbb16939
xor r9d, 0x44e96c6
xor ecx, r9d
and ecx, 0x28c3f35e
and edx, 0x6c01312
or eax, r8d
or ecx, edx
xor eax, ecx
mov ecx, 0x8f58460d
xor edx, edx
div ecx
mov ecx, 0x3ce2cb0f
xor ecx, 0x34a81a27
cmp eax, ecx
jae 0x140154677
mov rcx, qword [rbp + 0x538]
mov rdx, qword [rbp + 0x550]
mov r8, qword [rbp + 0x548]
mov eax, dword [0x14027b3a0]
mov r10d, dword [0x14027b3a4]
mov r9d, eax
xor r9d, r10d
xor r9d, 0xffffffff
or eax, r10d
and eax, r9d
sub eax, 0x3e8539a
or eax, 0x33d446da
mov r9d, eax
xor r9d, 0xea95ba27
mov r10d, 0xffffffff
xor r10d, 0xea95ba27
and eax, r10d
shl eax, 1
sub eax, r9d
add r8, 8
mov qword [rbp + 0x520], r8
add rdx, 8
mov qword [rbp + 0x528], rdx
cmp rcx, 0
setg cl
mov byte [rbp + 0x537], cl
cmp eax, 0xd03098b5
jae 0x14014d179
mov cl, byte [rbp + 0x537]
xor eax, eax
test cl, 1
mov qword [rbp + 0x518], rax
jne 0x14014d242
jmp 0x14014d26f
mov rcx, qword [rbp + 0x538]
mov rax, qword [rbp + 0x510]
add rax, 1
cmp rax, rcx
mov qword [rbp + 0x518], rax
je 0x14014d26f
mov rcx, qword [rbp + 0x528]
mov rax, qword [rbp + 0x520]
mov rdx, qword [rbp + 0x518]
mov qword [rbp + 0x510], rdx
mov al, byte [rax + rdx]
cmp al, byte [rcx + rdx]
je 0x14014d220
jmp 0x14014d351
mov ecx, 0xd
sub rsp, 0x20
call fcn.1400949bf
add rsp, 0x20
mov cx, ax
mov rax, qword [rbp + 0x670]
mov word [rbp + 0x50e], cx
cmp byte [rax], 0
je 0x14014d33e
mov rcx, qword [rbp + 0x5d0]
mov rdx, qword [rbp + 0x5b0]
mov r8, qword [rbp + 0x590]
xor eax, eax
mov qword [rbp + 0x500], rax
mov qword [rbp + 0x6c8], r8
mov r8, rax
mov qword [rbp + 0x6d0], r8
mov r8, rax
mov qword [rbp + 0x6d8], r8
mov qword [rbp + 0x6e0], rdx
mov qword [rbp + 0x6e8], rcx
mov rcx, rax
mov qword [rbp + 0x6f0], rcx
mov rcx, rax
mov qword [rbp + 0x6f8], rcx
mov rcx, rax
mov qword [rbp + 0x700], rcx
mov rcx, rax
mov qword [rbp + 0x708], rcx
mov rcx, rax
mov qword [rbp + 0x710], rcx
mov rcx, rax
mov qword [rbp + 0x718], rcx
mov rcx, rax
mov qword [rbp + 0x720], rcx
mov rcx, rax
mov qword [rbp + 0x728], rcx
mov qword [rbp + 0x730], rax
jmp 0x14015376d
mov ax, word [rbp + 0x50e]
mov word [rbp + 0x4fe], ax
jmp 0x14014dd9d
mov word [rbp + 0x97e], 0x1d6
lea rcx, [rbp + 0x97e]
sub rsp, 0x20
call fcn.140093f60
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x670]
mov qword [rbp + 0x4f0], rcx
cmp byte [rax], 0
jne 0x14014d69c
mov rax, qword [rbp + 0x4f0]
mov rdx, qword [rbp + 0x540]
mov rcx, qword [rbp + 0x5e0]
mov rcx, qword [rcx]
mov qword [rbp + 0x4d0], rcx
mov rdx, qword [rdx]
mov qword [rbp + 0x4d8], rdx
mov rdx, qword [rax]
mov rax, qword [rax + 8]
mov qword [rbp + 0x4e0], rax
xor eax, eax
cmp rcx, rdx
mov word [rbp + 0x4ee], ax
jne 0x14014d689
mov rax, qword [rbp + 0x4d0]
cmp rax, 0
je 0x14014d4af
mov rcx, qword [rbp + 0x4d0]
mov rax, qword [rbp + 0x4e0]
mov rdx, qword [rbp + 0x4d8]
add rdx, 8
mov qword [rbp + 0x4b8], rdx
add rax, 8
mov qword [rbp + 0x4c0], rax
xor eax, eax
cmp rcx, 0
mov qword [rbp + 0x4c8], rax
jg 0x14014d477
jmp 0x14014d4af
mov rcx, qword [rbp + 0x4d0]
mov rax, qword [rbp + 0x4b0]
movabs rdx, 0x9b7cc29611924b84
sub rax, rdx
movabs rdx, 0xbda8e268e00e6c3c
movabs r8, 0xbda8e268e00e6c3d
xor rdx, r8
add rax, rdx
movabs rdx, 0x9b7cc29611924b84
add rax, rdx
cmp rax, rcx
mov qword [rbp + 0x4c8], rax
je 0x14014d4af
mov rdx, qword [rbp + 0x4c0]
mov rax, qword [rbp + 0x4b8]
mov r8, qword [rbp + 0x4c8]
mov qword [rbp + 0x4b0], r8
mov cl, byte [rax + r8]
xor eax, eax
cmp cl, byte [rdx + r8]
mov word [rbp + 0x4ee], ax
je 0x14014d425
jmp 0x14014d689
mov eax, dword [0x14027b3a8]
or eax, dword [0x14027b3ac]
mov ecx, eax
and ecx, 0x4e2e717c
shl ecx, 1
xor eax, 0x4e2e717c
add eax, ecx
mov ecx, eax
add ecx, 1
mov edx, 0xfef5014c
xor edx, 0x10afeb3
xor eax, edx
mov edx, 0x119024d2
xor edx, 0x3816f698
or eax, edx
add eax, ecx
mov ecx, 0x943a0a54
xor edx, edx
div ecx
mov ecx, 0x7170f9fe
xor ecx, 0xdf5c3a7
cmp eax, ecx
je 0x140154680
mov eax, dword [0x14027b3b0]
xor eax, 0x5ff0c539
xor edx, edx
div dword [0x14027b3b4]
mov r11d, eax
xor r11d, 0xffffffff
mov ecx, eax
xor ecx, 0xffffffff
and r11d, ecx
mov ecx, 0xffffffff
xor ecx, 0xf76cb516
mov edx, 0xffffffff
xor edx, 0xf76cb516
and ecx, edx
xor r11d, 0xffffffff
xor ecx, 0xffffffff
and r11d, ecx
xor eax, 0xffffffff
mov ecx, 0xffffffff
xor ecx, 0xf76cb516
and eax, ecx
xor r11d, 0xffffffff
mov ecx, 0x25337012
xor ecx, 0xdacc8fed
xor eax, ecx
and r11d, eax
add r11d, 0xa3f81403
mov eax, 0xe1549b7a
xor eax, 0xb9ca9543
sub r11d, eax
sub r11d, 0xa3f81403
mov eax, 0x206d4c7d
xor eax, 0xdf92b382
mov ecx, r11d
xor ecx, eax
mov r8d, 0x5ecf6e63
xor r8d, 0xbec227af
mov eax, 0xa03bf62f
xor eax, 0x5fc409d0
xor r8d, eax
mov edx, 0xffffffff
xor edx, 0xe86ff08e
mov r9d, 0x652f1d2b
xor r9d, 0x8d40eda5
mov eax, ecx
and eax, r9d
and r11d, edx
mov r10d, 0x884f7505
xor r10d, 0x6020858b
mov r9d, r8d
and r9d, r10d
mov r10d, edx
and r10d, 0xe00d49cc
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, r8d
xor ecx, 0xffffffff
or edx, 0xe86ff08e
and ecx, edx
or eax, ecx
mov dword [rbp + 0x4a8], eax
mov eax, 0x78f95a6
xor eax, 0xc9fe0d5b
mov dword [rbp + 0x4a4], eax
mov ecx, 0x287
sub rsp, 0x20
call fcn.1400949bf
mov rdx, qword [rbp + 0x670]
mov ecx, dword [rbp + 0x4a4]
add rsp, 0x20
mov r8w, ax
mov eax, dword [rbp + 0x4a8]
mov word [rbp + 0x4ac], r8w
cmp byte [rdx], 0
sete dl
mov byte [rbp + 0x4af], dl
cmp eax, ecx
jb 0x14014d50a
mov ax, word [rbp + 0x4ac]
mov cl, byte [rbp + 0x4af]
test cl, 1
mov word [rbp + 0x4ee], ax
jne 0x14014d689
jmp 0x14014d69c
mov ax, word [rbp + 0x4ee]
mov word [rbp + 0x4fe], ax
jmp 0x14014dd9d
mov rcx, qword [rbp + 0x5d0]
mov rdx, qword [rbp + 0x5b0]
mov r8, qword [rbp + 0x590]
xor eax, eax
mov qword [rbp + 0x498], rax
mov qword [rbp + 0x6c8], r8
mov r8, rax
mov qword [rbp + 0x6d0], r8
mov r8, rax
mov qword [rbp + 0x6d8], r8
mov qword [rbp + 0x6e0], rdx
mov qword [rbp + 0x6e8], rcx
mov rcx, rax
mov qword [rbp + 0x6f0], rcx
mov rcx, rax
mov qword [rbp + 0x6f8], rcx
mov rcx, rax
mov qword [rbp + 0x700], rcx
mov rcx, rax
mov qword [rbp + 0x708], rcx
mov rcx, rax
mov qword [rbp + 0x710], rcx
mov rcx, rax
mov qword [rbp + 0x718], rcx
mov rcx, rax
mov qword [rbp + 0x720], rcx
mov rcx, rax
mov qword [rbp + 0x728], rcx
mov qword [rbp + 0x730], rax
jmp 0x14015376d
mov ecx, dword [0x14027b3b8]
sub ecx, dword [0x14027b3bc]
mov r8d, 0x93d600bb
xor r8d, 0x5bf4b9f6
mov eax, 0x9f6faefe
xor eax, 0x60905101
xor r8d, eax
mov edx, ecx
and edx, r8d
mov eax, ecx
or eax, r8d
xor eax, 0xffffffff
imul eax, edx
mov edx, ecx
and edx, 0xc822b94d
or ecx, 0xc822b94d
imul ecx, edx
add ecx, eax
mov edx, 0xbaa374cc
xor edx, 0xc37ca6ab
mov eax, ecx
and eax, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
mov edx, 0x11170b5
xor edx, 0x78cea2d2
mov r8d, 0x34f8d894
xor r8d, 0xcb07276b
xor edx, r8d
or ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0x82378fee
mov r8d, 0xffffffff
xor r8d, 0x82378fee
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x82378fee
or eax, 0x82378fee
imul eax, edx
add eax, ecx
cmp eax, 0x9730ab23
jae 0x140154689
mov rax, qword [rbp + 0x560]
mov edx, dword [0x14027b3c0]
mov r8d, dword [0x14027b3c4]
mov ecx, edx
xor ecx, 0xffffffff
mov r9d, r8d
xor r9d, 0xffffffff
and ecx, r9d
xor edx, 0xffffffff
xor r8d, 0xffffffff
and edx, r8d
mov r8d, 0xe46c13ed
xor r8d, 0x1b93ec12
xor ecx, r8d
xor edx, 0xffffffff
and ecx, edx
xor ecx, 0xbbbdbee9
mov r9d, 0xffffffff
xor r9d, 0x6ba4722
mov r8d, ecx
and r8d, r9d
mov edx, ecx
or edx, r9d
xor edx, 0xffffffff
imul edx, r8d
mov r9d, 0xcc58165a
xor r9d, 0xcae25178
mov r8d, ecx
and r8d, r9d
or ecx, 0x6ba4722
imul ecx, r8d
add ecx, edx
xor ecx, 0x71f0e7c1
mov dword [rbp + 0x484], ecx
mov ecx, 0x42e34ab7
xor ecx, 0xfb9ab031
mov dword [rbp + 0x480], ecx
mov rcx, qword [rax]
mov qword [rbp + 0x968], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x970], rax
lea rcx, [rbp + 0x968]
sub rsp, 0x20
call fcn.140068230
mov rdx, qword [rbp + 0x670]
mov ecx, dword [rbp + 0x480]
add rsp, 0x20
mov r8, rax
mov eax, dword [rbp + 0x484]
mov qword [rbp + 0x488], r8
cmp byte [rdx], 0
sete dl
mov byte [rbp + 0x497], dl
cmp eax, ecx
je 0x14014d7ff
mov al, byte [rbp + 0x497]
test al, 1
jne 0x14014d90f
jmp 0x14014da4d
mov ecx, 0x28f
sub rsp, 0x20
call fcn.140094770
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x670]
mov qword [rbp + 0x478], rcx
cmp byte [rax], 0
jne 0x14014da4d
mov rax, qword [rbp + 0x488]
mov rcx, qword [rbp + 0x478]
cmp rax, rcx
setl dl
cmp rax, 0xffff
setg cl
mov al, cl
or al, dl
xor al, 0xff
xor r8d, r8d
xor r8b, 1
xor cl, r8b
xor dl, 0xff
and cl, dl
mov dl, 1
xor dl, 0
xor al, dl
xor cl, 0xff
and al, cl
test al, 1
jne 0x14014d986
jmp 0x14014da3a
movabs rcx, 0x76d036ff271219db
movabs rax, 0x76d036ff2712199b
xor rcx, rax
movabs rdx, 0x4f8cdc560f66ea01
movabs rax, 0x4f8cdc560f66ea09
xor rdx, rax
sub rsp, 0x20
call fcn.140029060
add rsp, 0x20
mov rcx, rax
mov rax, qword [0x14028cf78]
mov qword [rcx], rax
lea rax, [0x14028a788]
mov qword [rcx + 0x10], rax
mov rax, qword [0x14028a7c0]
mov qword [rcx + 0x18], rax
mov rax, qword [0x14028a7c8]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
movabs rax, 0xbfd23b5d459ddae8
movabs rdx, 0x402dc4a2b9c61d30
xor rax, rdx
lea rdx, [0x14028a788]
lea r8, [0x14028a793]
lea r9, [0x14028a7a1]
sub rsp, 0x30
mov qword [rsp + 0x20], rax
call fcn.140028fa8
add rsp, 0x30
jmp 0x14014da4d
mov rax, qword [rbp + 0x488]
mov word [rbp + 0x476], ax
jmp 0x14014dcd5
mov rax, qword [0x14028d330]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000efc9
add rsp, 0x20
mov rax, qword [rax + 0x10]
mov rcx, qword [rax]
mov qword [rbp + 0x468], rcx
xor eax, eax
cmp word [rcx + 0x12], 2
mov word [rbp + 0x476], ax
jle 0x14014dcd5
mov rax, qword [rbp + 0x468]
mov rcx, qword [rax + 0x18]
xor eax, eax
cmp dword [rcx + 0xc], 0x97225393
mov word [rbp + 0x476], ax
jne 0x14014dcd5
mov rcx, qword [rbp + 0x670]
mov rax, qword [rbp + 0x5f8]
mov byte [rcx], 0
mov qword [rax], 0
sub rsp, 0x20
call fcn.140154780
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x5f8]
mov qword [rax], rcx
mov ecx, 0x40
mov edx, 8
sub rsp, 0x20
call fcn.140029060
mov rcx, qword [rbp + 0x5f8]
add rsp, 0x20
mov qword [rbp + 0x460], rax
mov rdx, qword [0x14028cf78]
mov qword [rax], rdx
lea rdx, [0x14028a788]
mov qword [rax + 0x10], rdx
mov rdx, qword [0x14028a7c0]
mov qword [rax + 0x18], rdx
mov rdx, qword [0x14028a7c8]
mov qword [rax + 0x20], rdx
mov rax, qword [rcx]
mov qword [rbp + 0x458], rax
sub rsp, 0x20
call fcn.14003c5a2
mov rax, qword [rbp + 0x458]
mov rcx, qword [rbp + 0x460]
add rsp, 0x20
mov qword [rcx + 8], rax
movabs rax, 0xff45cf206f687e01
movabs rdx, 0xba30dfac3aa4b5
xor rax, rdx
lea rdx, [0x14028a788]
lea r8, [0x14028a793]
lea r9, [0x14028a7a1]
sub rsp, 0x30
mov qword [rsp + 0x20], rax
call fcn.140028fa8
mov rax, qword [rbp + 0x5f8]
add rsp, 0x30
mov rcx, qword [rax]
sub rsp, 0x20
call fcn.14003c5b0
mov rax, qword [rbp + 0x670]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14014dbc3
sub rsp, 0x20
call fcn.1401548b9
add rsp, 0x20
mov eax, dword [0x14027b3c8]
mov ecx, dword [0x14027b3cc]
add eax, 0x83f2dfdf
add eax, ecx
mov ecx, 0xd938db30
xor ecx, 0x5aca04ef
sub eax, ecx
mov ecx, 0xe50f015f
xor ecx, 0xd4dd89ae
and eax, ecx
mov r8d, 0xffffffff
xor r8d, 0xab25e579
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov r8d, 0xd8974016
xor r8d, 0x73b2a56f
mov edx, eax
and edx, r8d
or eax, 0xab25e579
imul eax, edx
add eax, ecx
and eax, 0x28a404b3
cmp eax, 0x1e21fb6c
je 0x140154692
mov eax, dword [0x14027b3d0]
mov ecx, dword [0x14027b3d4]
mov edx, 0xd4cda581
xor edx, 0x2b325a7e
xor ecx, edx
add eax, ecx
mov ecx, 0x70a4b295
xor ecx, 0x70a4b294
add eax, ecx
mov ecx, 0x73b65fe7
xor edx, edx
div ecx
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0xc4754c16
mov edx, 0x32bf32a9
xor edx, 0xf6ca7ebf
mov r8d, 0xadbdea1e
xor r8d, 0x524215e1
xor edx, r8d
and eax, edx
or ecx, eax
mov edx, ecx
xor edx, 0xffffffff
mov eax, 0x2a943bb6
xor eax, 0xc20d3f34
and eax, edx
mov edx, 0xffffffff
xor edx, 0xe8990482
and ecx, edx
or eax, ecx
mov ecx, 0x8920fcad
xor ecx, 0x87ad3e14
cmp eax, ecx
jb 0x140154692
xor eax, eax
mov word [rbp + 0x476], ax
jmp 0x14014dcd5
mov rcx, qword [rbp + 0x5d0]
mov rdx, qword [rbp + 0x5b0]
mov r8, qword [rbp + 0x590]
mov rax, qword [rbp + 0x670]
mov r9w, word [rbp + 0x476]
mov r10b, byte [rax]
mov r11b, 0x48
xor r11b, 0x48
xor eax, eax
mov qword [rbp + 0x450], rax
cmp r10b, r11b
mov word [rbp + 0x4fe], r9w
mov qword [rbp + 0x6c8], r8
mov r8, rax
mov qword [rbp + 0x6d0], r8
mov r8, rax
mov qword [rbp + 0x6d8], r8
mov qword [rbp + 0x6e0], rdx
mov qword [rbp + 0x6e8], rcx
mov rcx, rax
mov qword [rbp + 0x6f0], rcx
mov rcx, rax
mov qword [rbp + 0x6f8], rcx
mov rcx, rax
mov qword [rbp + 0x700], rcx
mov rcx, rax
mov qword [rbp + 0x708], rcx
mov rcx, rax
mov qword [rbp + 0x710], rcx
mov rcx, rax
mov qword [rbp + 0x718], rcx
mov rcx, rax
mov qword [rbp + 0x720], rcx
mov rcx, rax
mov qword [rbp + 0x728], rcx
mov qword [rbp + 0x730], rax
jne 0x14015376d
mov rax, qword [rbp + 0x5e0]
mov cx, word [rbp + 0x4fe]
mov word [rbp + 0x436], cx
mov rcx, qword [rax + 0x30]
mov qword [rbp + 0x948], rcx
mov rax, qword [rax + 0x38]
mov qword [rbp + 0x950], rax
lea rcx, [rbp + 0x958]
lea rdx, [rbp + 0x948]
sub rsp, 0x20
call fcn.14014bc90
mov r9, qword [rbp + 0x670]
mov r8, qword [rbp + 0x590]
mov rdx, qword [rbp + 0x5b0]
mov rcx, qword [rbp + 0x5d0]
add rsp, 0x20
mov rax, qword [rbp + 0x958]
mov qword [rbp + 0x438], rax
mov rax, qword [rbp + 0x960]
mov qword [rbp + 0x440], rax
xor eax, eax
mov qword [rbp + 0x448], rax
cmp byte [r9], 0
mov qword [rbp + 0x6c8], r8
mov r8, rax
mov qword [rbp + 0x6d0], r8
mov r8, rax
mov qword [rbp + 0x6d8], r8
mov qword [rbp + 0x6e0], rdx
mov qword [rbp + 0x6e8], rcx
mov rcx, rax
mov qword [rbp + 0x6f0], rcx
mov rcx, rax
mov qword [rbp + 0x6f8], rcx
mov rcx, rax
mov qword [rbp + 0x700], rcx
mov rcx, rax
mov qword [rbp + 0x708], rcx
mov rcx, rax
mov qword [rbp + 0x710], rcx
mov rcx, rax
mov qword [rbp + 0x718], rcx
mov rcx, rax
mov qword [rbp + 0x720], rcx
mov rcx, rax
mov qword [rbp + 0x728], rcx
mov qword [rbp + 0x730], rax
jne 0x14015376d
mov ecx, dword [0x14027b3d8]
sub ecx, dword [0x14027b3dc]
sub ecx, 0x71cd4d06
sub ecx, 0x174a0cf6
mov eax, ecx
and eax, eax
mov edx, 0x117f99c2
xor edx, 0xee80663d
xor eax, edx
and eax, 0x94f1e0d
mov edx, 0x9c11c6dd
xor edx, 0x63ee3922
xor eax, edx
mov edx, 0x94f1e0d
and edx, 0x94f1e0d
xor edx, 0xffffffff
xor ecx, 0xffffffff
xor edx, 0xffffffff
or ecx, edx
mov edx, 0x8333d172
xor edx, 0x7ccc2e8d
xor eax, edx
xor ecx, 0xffffffff
or eax, ecx
cmp eax, 0xf4fd4cc4
jb 0x14015469b
mov eax, dword [0x14027b3e0]
xor edx, edx
div dword [0x14027b3e4]
or eax, 0x66e950f3
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x2afb4d56
mov ecx, 0xffffffff
xor ecx, 0xf942f9bd
or eax, edx
or ecx, 0xf942f9bd
mov edx, 0x80e1adcf
xor edx, 0x7f1e5230
xor eax, edx
and eax, ecx
mov ecx, 0x6ef2a2df
xor ecx, 0x81e5c7a5
xor edx, edx
div ecx
mov rdx, qword [rbp + 0x438]
mov ecx, 0x327fedee
xor ecx, 0x71d2a0e0
cmp rdx, 1
setl dl
mov byte [rbp + 0x435], dl
cmp eax, ecx
jae 0x14015469b
mov al, byte [rbp + 0x435]
test al, 1
jne 0x14014dfa8
jmp 0x14014e06b
mov rdx, qword [rbp + 0x438]
add rdx, 0xffffffffffffffff
xor eax, eax
mov ecx, eax
sub rsp, 0x20
call fcn.1400292ad
mov r9, qword [rbp + 0x590]
mov r8, qword [rbp + 0x5b0]
mov rdx, qword [rbp + 0x5d0]
mov rcx, qword [rbp + 0x440]
add rsp, 0x20
xor eax, eax
mov qword [rbp + 0x428], rax
mov qword [rbp + 0x6c8], r9
mov r9, rax
mov qword [rbp + 0x6d0], r9
mov r9, rax
mov qword [rbp + 0x6d8], r9
mov qword [rbp + 0x6e0], r8
mov qword [rbp + 0x6e8], rdx
mov qword [rbp + 0x6f0], rcx
mov rcx, rax
mov qword [rbp + 0x6f8], rcx
mov rcx, rax
mov qword [rbp + 0x700], rcx
mov rcx, rax
mov qword [rbp + 0x708], rcx
mov rcx, rax
mov qword [rbp + 0x710], rcx
mov rcx, rax
mov qword [rbp + 0x718], rcx
mov rcx, rax
mov qword [rbp + 0x720], rcx
mov rcx, rax
mov qword [rbp + 0x728], rcx
mov qword [rbp + 0x730], rax
jmp 0x14015376d
mov rdx, qword [rbp + 0x440]
mov rcx, qword [rbp + 0x590]
mov r8w, word [rbp + 0x436]
add rdx, 8
xor r9d, r9d
sub rsp, 0x20
call fcn.1400fd6b9
mov r9, qword [rbp + 0x590]
mov r8, qword [rbp + 0x5b0]
mov rdx, qword [rbp + 0x5d0]
mov rcx, qword [rbp + 0x440]
add rsp, 0x20
mov r10, rax
mov rax, qword [rbp + 0x670]
mov qword [rbp + 0x418], r10
mov r10b, byte [rax]
mov r11b, 0x29
xor r11b, 0x29
xor eax, eax
mov qword [rbp + 0x420], rax
cmp r10b, r11b
mov qword [rbp + 0x6c8], r9
mov r9, rax
mov qword [rbp + 0x6d0], r9
mov r9, rax
mov qword [rbp + 0x6d8], r9
mov qword [rbp + 0x6e0], r8
mov qword [rbp + 0x6e8], rdx
mov qword [rbp + 0x6f0], rcx
mov rcx, rax
mov qword [rbp + 0x6f8], rcx
mov rcx, rax
mov qword [rbp + 0x700], rcx
mov rcx, rax
mov qword [rbp + 0x708], rcx
mov rcx, rax
mov qword [rbp + 0x710], rcx
mov rcx, rax
mov qword [rbp + 0x718], rcx
mov rcx, rax
mov qword [rbp + 0x720], rcx
mov rcx, rax
mov qword [rbp + 0x728], rcx
mov qword [rbp + 0x730], rax
jne 0x14015376d
mov rax, qword [rbp + 0x418]
cmp rax, 0
jne 0x14014e28b
mov ecx, 0x40
mov edx, 8
sub rsp, 0x20
call fcn.140029060
add rsp, 0x20
mov rcx, rax
mov rax, qword [0x14028cf78]
mov qword [rcx], rax
lea rax, [0x14028a788]
mov qword [rcx + 0x10], rax
mov rax, qword [0x14028a7c0]
mov qword [rcx + 0x18], rax
mov rax, qword [0x14028a7c8]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
lea rdx, [0x14028a788]
lea r8, [0x14028a793]
lea r9, [0x14028a7a1]
sub rsp, 0x30
mov qword [rsp + 0x20], 0xffffffff9648a212
call fcn.140028fa8
mov r9, qword [rbp + 0x590]
mov r8, qword [rbp + 0x5b0]
mov rdx, qword [rbp + 0x5d0]
mov rcx, qword [rbp + 0x440]
add rsp, 0x30
xor eax, eax
mov qword [rbp + 0x410], rax
mov qword [rbp + 0x6c8], r9
mov r9, rax
mov qword [rbp + 0x6d0], r9
mov r9, rax
mov qword [rbp + 0x6d8], r9
mov qword [rbp + 0x6e0], r8
mov qword [rbp + 0x6e8], rdx
mov qword [rbp + 0x6f0], rcx
mov rcx, rax
mov qword [rbp + 0x6f8], rcx
mov rcx, rax
mov qword [rbp + 0x700], rcx
mov rcx, rax
mov qword [rbp + 0x708], rcx
mov rcx, rax
mov qword [rbp + 0x710], rcx
mov rcx, rax
mov qword [rbp + 0x718], rcx
mov rcx, rax
mov qword [rbp + 0x720], rcx
mov rcx, rax
mov qword [rbp + 0x728], rcx
mov qword [rbp + 0x730], rax
jmp 0x14015376d
mov word [rbp + 0x946], 0x2e
lea rcx, [rbp + 0x946]
sub rsp, 0x20
call fcn.140093f60
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x670]
mov qword [rbp + 0x408], rcx
mov al, byte [rax]
mov cl, 0xa4
xor cl, 0xa4
cmp al, cl
jne 0x14014e567
mov rax, qword [rbp + 0x408]
mov rdx, qword [rbp + 0x5e0]
mov rcx, qword [rdx]
mov qword [rbp + 0x3e8], rcx
mov rdx, qword [rdx + 8]
mov qword [rbp + 0x3f0], rdx
mov rdx, qword [rax]
mov rax, qword [rax + 8]
mov qword [rbp + 0x3f8], rax
xor eax, eax
cmp rcx, rdx
mov dword [rbp + 0x404], eax
jne 0x14014e612
mov rcx, qword [rbp + 0x3e8]
mov eax, 0x800000
cmp rcx, 0
mov dword [rbp + 0x404], eax
je 0x14014e612
mov ecx, dword [0x14027b3e8]
mov edx, dword [0x14027b3ec]
xor edx, 0x7ed98804
xor edx, 0xffffffff
mov eax, ecx
xor eax, edx
and eax, ecx
xor eax, 0x5b1d8a05
mov ecx, 0xffffffff
xor ecx, 0xe1db633b
add eax, ecx
mov ecx, 0xb815c380
xor ecx, 0xb815c381
add eax, ecx
or eax, 0x851010dc
cmp eax, 0x40f7f3bc
jbe 0x1401546a4
mov rcx, qword [rbp + 0x3e8]
mov rdx, qword [rbp + 0x3f8]
mov r8, qword [rbp + 0x3f0]
mov r9d, dword [0x14027b3f0]
xor r9d, dword [0x14027b3f4]
add r9d, 0x33891c64
mov r10d, 0x12950069
xor r10d, 0xe1c4391e
mov eax, 0x2eb67f01
xor eax, 0xd14980fe
xor r10d, eax
mov eax, r9d
xor eax, r10d
and eax, r9d
mov r9d, eax
xor r9d, 0xffffffff
mov r10d, 0x663a2bd4
xor r10d, 0x80118694
and r9d, r10d
mov r10d, 0xffffffff
xor r10d, 0xe62bad40
and eax, r10d
sub eax, r9d
add r8, 8
mov qword [rbp + 0x3d0], r8
add rdx, 8
mov qword [rbp + 0x3d8], rdx
movabs rdx, 0x590165ee98e138de
movabs r8, 0x590165ee98e138de
xor rdx, r8
cmp rcx, rdx
setg cl
mov byte [rbp + 0x3e7], cl
cmp eax, 0x4f601b50
jb 0x14014e370
mov dl, byte [rbp + 0x3e7]
xor eax, eax
mov ecx, eax
mov eax, 0x800000
test dl, 1
mov qword [rbp + 0x3c8], rcx
mov dword [rbp + 0x404], eax
jne 0x14014e530
jmp 0x14014e612
mov eax, dword [0x14027b3f8]
mov ecx, dword [0x14027b3fc]
sub eax, 0xa457b2
sub eax, ecx
add eax, 0xa457b2
mov ecx, 0x142c265
xor ecx, 0x105bd655
xor edx, edx
div ecx
or eax, 0x17fb77b9
or eax, 0x4adb30e2
cmp eax, 0x59bd69b
je 0x1401546ad
mov rcx, qword [rbp + 0x3b0]
mov eax, dword [0x14027b400]
xor edx, edx
div dword [0x14027b404]
mov rdx, qword [rbp + 0x3e8]
mov r8d, eax
xor r8d, 0x1076a750
or r8d, 0xeba6ae5c
mov r9d, 0x2cb13600
xor r9d, 0xa1767816
mov eax, 0xda699361
xor eax, 0x25966c9e
xor r9d, eax
mov eax, r8d
xor eax, r9d
and eax, r8d
add rcx, 1
mov qword [rbp + 0x3b8], rcx
cmp rcx, rdx
sete cl
mov byte [rbp + 0x3c7], cl
cmp eax, 0xd8225315
je 0x1401546ad
mov rcx, qword [rbp + 0x3b8]
mov dl, byte [rbp + 0x3c7]
mov eax, 0x800000
test dl, 1
mov qword [rbp + 0x3c8], rcx
mov dword [rbp + 0x404], eax
jne 0x14014e612
jmp 0x14014e530
mov rdx, qword [rbp + 0x3d8]
mov rax, qword [rbp + 0x3d0]
mov r8, qword [rbp + 0x3c8]
mov qword [rbp + 0x3b0], r8
mov cl, byte [rax + r8]
xor eax, eax
cmp cl, byte [rdx + r8]
mov dword [rbp + 0x404], eax
je 0x14014e455
jmp 0x14014e612
mov rcx, qword [rbp + 0x440]
mov rdx, qword [rbp + 0x5d0]
mov r8, qword [rbp + 0x5b0]
mov r9, qword [rbp + 0x418]
mov r10, qword [rbp + 0x590]
xor eax, eax
mov qword [rbp + 0x3a8], rax
mov qword [rbp + 0x6c8], r10
mov qword [rbp + 0x6d0], r9
mov r9, rax
mov qword [rbp + 0x6d8], r9
mov qword [rbp + 0x6e0], r8
mov qword [rbp + 0x6e8], rdx
mov qword [rbp + 0x6f0], rcx
mov rcx, rax
mov qword [rbp + 0x6f8], rcx
mov rcx, rax
mov qword [rbp + 0x700], rcx
mov rcx, rax
mov qword [rbp + 0x708], rcx
mov rcx, rax
mov qword [rbp + 0x710], rcx
mov rcx, rax
mov qword [rbp + 0x718], rcx
mov rcx, rax
mov qword [rbp + 0x720], rcx
mov rcx, rax
mov qword [rbp + 0x728], rcx
mov qword [rbp + 0x730], rax
jmp 0x14015376d
mov rcx, qword [rbp + 0x600]
mov rdx, qword [rbp + 0x5e0]
mov eax, dword [rbp + 0x404]
mov dword [rbp + 0x38c], eax
sub rsp, 0x20
call fcn.1401496b0
mov rax, qword [rbp + 0x600]
mov r11, qword [rbp + 0x670]
mov r10, qword [rbp + 0x590]
mov r9, qword [rbp + 0x418]
mov r8, qword [rbp + 0x5b0]
mov rdx, qword [rbp + 0x5d0]
mov rcx, qword [rbp + 0x440]
add rsp, 0x20
mov rsi, qword [rax]
mov qword [rbp + 0x390], rsi
mov rax, qword [rax + 8]
mov qword [rbp + 0x398], rax
xor eax, eax
mov qword [rbp + 0x3a0], rax
cmp byte [r11], 0
mov qword [rbp + 0x6c8], r10
mov qword [rbp + 0x6d0], r9
mov r9, rax
mov qword [rbp + 0x6d8], r9
mov qword [rbp + 0x6e0], r8
mov qword [rbp + 0x6e8], rdx
mov qword [rbp + 0x6f0], rcx
mov rcx, rax
mov qword [rbp + 0x6f8], rcx
mov rcx, rax
mov qword [rbp + 0x700], rcx
mov rcx, rax
mov qword [rbp + 0x708], rcx
mov rcx, rax
mov qword [rbp + 0x710], rcx
mov rcx, rax
mov qword [rbp + 0x718], rcx
mov rcx, rax
mov qword [rbp + 0x720], rcx
mov rcx, rax
mov qword [rbp + 0x728], rcx
mov qword [rbp + 0x730], rax
jne 0x14015376d
mov rdx, qword [rbp + 0x5e0]
mov rax, qword [rbp + 0x690]
mov rcx, qword [rbp + 0x398]
mov r8, qword [rbp + 0x678]
mov r9, qword [rbp + 0x390]
mov qword [r8], r9
mov qword [rax], rcx
lea rcx, [rbp + 0x918]
sub rsp, 0x20
call fcn.14014a670
mov rcx, qword [rbp + 0x670]
add rsp, 0x20
mov rax, qword [rbp + 0x918]
mov qword [rbp + 0x370], rax
mov rax, qword [rbp + 0x920]
mov qword [rbp + 0x378], rax
xor eax, eax
cmp byte [rcx], 0
mov qword [rbp + 0x380], rax
jne 0x14014eb47
mov rax, qword [rbp + 0x370]
cmp rax, 0
je 0x14014ebf6
movabs rax, 0x8ed8125ce2a36ffb
movabs rcx, 0x8ed8125ce2a36ffb
xor rax, rcx
mov qword [rbp + 0x930], rax
lea rax, [rbp + 0x930]
add rax, 8
mov qword [rbp + 0x360], rax
mov qword [rbp + 0x938], 0
mov word [rbp + 0x92e], 0x24c
lea rcx, [rbp + 0x92e]
sub rsp, 0x20
call fcn.140093f60
mov rcx, qword [rbp + 0x670]
add rsp, 0x20
mov rdx, rax
mov rax, qword [rbp + 0x378]
mov qword [rbp + 0x368], rdx
mov cl, byte [rcx]
mov dl, 0xab
xor dl, 0xab
cmp cl, dl
mov qword [rbp + 0x380], rax
jne 0x14014eb47
mov rdx, qword [rbp + 0x5e0]
lea rcx, [rbp + 0x908]
sub rsp, 0x20
call fcn.14014a670
mov rcx, qword [rbp + 0x670]
mov rax, qword [rbp + 0x378]
add rsp, 0x20
mov rdx, qword [rbp + 0x908]
mov qword [rbp + 0x350], rdx
mov rdx, qword [rbp + 0x910]
mov qword [rbp + 0x358], rdx
cmp byte [rcx], 0
mov qword [rbp + 0x380], rax
jne 0x14014eb47
mov rdx, qword [rbp + 0x350]
mov rax, qword [rbp + 0x368]
add rdx, qword [rax]
lea rcx, [rbp + 0x930]
sub rsp, 0x20
call fcn.140037460
mov rax, qword [rbp + 0x368]
add rsp, 0x20
mov rcx, qword [rax]
mov qword [rbp + 0x8f8], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x900], rax
lea rcx, [rbp + 0x930]
lea rdx, [rbp + 0x8f8]
sub rsp, 0x20
call fcn.1401548f0
mov rcx, qword [rbp + 0x350]
mov rax, qword [rbp + 0x358]
mov rdx, qword [rbp + 0x608]
add rsp, 0x20
mov qword [rdx], rcx
mov qword [rdx + 8], rax
lea rcx, [rbp + 0x930]
sub rsp, 0x20
call fcn.1401548f0
mov rax, qword [rbp + 0x360]
mov rcx, qword [rbp + 0x678]
add rsp, 0x20
mov rdx, qword [rbp + 0x930]
mov qword [rbp + 0x340], rdx
mov rax, qword [rax]
mov qword [rbp + 0x348], rax
sub rsp, 0x20
call fcn.140037690
mov r8, qword [rbp + 0x340]
mov rcx, qword [rbp + 0x678]
mov rdx, qword [rbp + 0x610]
mov rax, qword [rbp + 0x348]
add rsp, 0x20
mov qword [rdx], r8
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.1401548f0
mov rax, qword [rbp + 0x348]
add rsp, 0x20
cmp rax, 0
je 0x14014ead0
mov rcx, qword [rbp + 0x348]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
cmp rax, 0
jne 0x14014ead0
mov ecx, dword [0x14027b408]
xor ecx, dword [0x14027b40c]
mov r8d, 0x76088afa
xor r8d, 0x718f0396
mov eax, 0x8a6ddf83
xor eax, 0x7592207c
xor r8d, eax
mov edx, ecx
and edx, r8d
mov eax, ecx
or eax, r8d
xor eax, 0xffffffff
imul eax, edx
mov edx, ecx
and edx, 0x787896c
or ecx, 0x787896c
imul ecx, edx
add ecx, eax
mov eax, ecx
or eax, 0xae0681c
mov edx, 0xbd2b21d8
xor edx, 0x42d4de27
xor eax, edx
mov edx, 0xb544ddb8
xor edx, 0x4abb2247
xor ecx, edx
mov edx, 0xffffffff
xor edx, 0xae0681c
and ecx, edx
mov edx, 0x9e89f4f4
xor edx, 0x61760b0b
xor eax, edx
xor ecx, 0xffffffff
and eax, ecx
mov ecx, eax
xor ecx, 0xb4381068
xor ecx, 0xffffffff
mov edx, 0xeab7f8dc
xor edx, 0x5e8fe8b4
or eax, edx
and eax, ecx
cmp eax, 0x6e016514
jb 0x1401546b6
mov rcx, qword [rbp + 0x348]
mov eax, dword [0x14027b410]
xor edx, edx
div dword [0x14027b414]
xor eax, 0xc4d530cf
or eax, eax
mov edx, 0x8787e907
xor edx, 0x787816f8
xor eax, edx
mov edx, 0xffffffff
xor edx, 0x7a86571a
mov r8d, 0xffffffff
xor r8d, 0x7a86571a
and edx, r8d
xor eax, 0xffffffff
xor edx, 0xffffffff
and eax, edx
mov r8d, 0xe55162a5
xor r8d, 0x9e1b345f
xor edx, edx
div r8d
mov dword [rbp + 0x33c], eax
mov eax, 0x36329c82
xor eax, 0x6ca6c689
mov dword [rbp + 0x338], eax
sub rsp, 0x20
call fcn.14001d1d6
mov ecx, dword [rbp + 0x338]
mov eax, dword [rbp + 0x33c]
add rsp, 0x20
cmp eax, ecx
je 0x14014ea36
jmp 0x14014ead0
mov rax, qword [rbp + 0x358]
cmp rax, 0
je 0x14014eb23
mov rax, qword [rbp + 0x358]
mov rax, qword [rax]
movabs rcx, 0xfcf4c3a7a8b21326
movabs rdx, 0xbcf4c3a7a8b21326
xor rcx, rdx
and rax, rcx
cmp rax, 0
jne 0x14014eb23
mov rcx, qword [rbp + 0x358]
sub rsp, 0x20
call fcn.14001d1d6
add rsp, 0x20
mov rax, qword [rbp + 0x378]
mov rcx, qword [rbp + 0x670]
mov cl, byte [rcx]
mov dl, 0xa8
xor dl, 0xa8
cmp cl, dl
mov qword [rbp + 0x380], rax
je 0x14014ebf6
mov rdx, qword [rbp + 0x440]
mov r8, qword [rbp + 0x5d0]
mov r9, qword [rbp + 0x5b0]
mov r10, qword [rbp + 0x418]
mov r11, qword [rbp + 0x590]
mov rcx, qword [rbp + 0x380]
xor eax, eax
mov qword [rbp + 0x330], rax
mov qword [rbp + 0x6c8], r11
mov qword [rbp + 0x6d0], r10
mov r10, rax
mov qword [rbp + 0x6d8], r10
mov qword [rbp + 0x6e0], r9
mov qword [rbp + 0x6e8], r8
mov qword [rbp + 0x6f0], rdx
mov qword [rbp + 0x6f8], rcx
mov rcx, rax
mov qword [rbp + 0x700], rcx
mov rcx, rax
mov qword [rbp + 0x708], rcx
mov rcx, rax
mov qword [rbp + 0x710], rcx
mov rcx, rax
mov qword [rbp + 0x718], rcx
mov rcx, rax
mov qword [rbp + 0x720], rcx
mov rcx, rax
mov qword [rbp + 0x728], rcx
mov qword [rbp + 0x730], rax
jmp 0x14015376d
mov rax, qword [rbp + 0x5e0]
mov rcx, qword [rax + 0x98]
mov qword [rbp + 0x8d8], rcx
mov rax, qword [rax + 0xa0]
mov qword [rbp + 0x8e0], rax
lea rcx, [rbp + 0x8e8]
lea rdx, [rbp + 0x8d8]
sub rsp, 0x20
call fcn.1400660e0
mov rax, qword [rbp + 0x670]
mov r11, qword [rbp + 0x590]
mov r10, qword [rbp + 0x418]
mov r9, qword [rbp + 0x5b0]
mov r8, qword [rbp + 0x5d0]
mov rdx, qword [rbp + 0x440]
mov rcx, qword [rbp + 0x378]
add rsp, 0x20
mov rsi, qword [rbp + 0x8e8]
mov qword [rbp + 0x318], rsi
mov rsi, qword [rbp + 0x8f0]
mov qword [rbp + 0x320], rsi
mov bl, byte [rax]
mov sil, 0x55
xor sil, 0x55
xor eax, eax
mov qword [rbp + 0x328], rax
cmp bl, sil
mov qword [rbp + 0x6c8], r11
mov qword [rbp + 0x6d0], r10
mov r10, rax
mov qword [rbp + 0x6d8], r10
mov qword [rbp + 0x6e0], r9
mov qword [rbp + 0x6e8], r8
mov qword [rbp + 0x6f0], rdx
mov qword [rbp + 0x6f8], rcx
mov rcx, rax
mov qword [rbp + 0x700], rcx
mov rcx, rax
mov qword [rbp + 0x708], rcx
mov rcx, rax
mov qword [rbp + 0x710], rcx
mov rcx, rax
mov qword [rbp + 0x718], rcx
mov rcx, rax
mov qword [rbp + 0x720], rcx
mov rcx, rax
mov qword [rbp + 0x728], rcx
mov qword [rbp + 0x730], rax
jne 0x14015376d
mov rax, qword [rbp + 0x320]
mov rsi, qword [rbp + 0x590]
mov rcx, qword [rbp + 0x318]
mov qword [rbp + 0x8b8], rcx
mov qword [rbp + 0x8c0], rax
lea rcx, [rbp + 0x8c8]
lea rdx, [rbp + 0x8b8]
sub rsp, 0x20
call fcn.14014bc90
mov rax, qword [rbp + 0x670]
mov r11, qword [rbp + 0x418]
mov r10, qword [rbp + 0x5b0]
mov r9, qword [rbp + 0x5d0]
mov r8, qword [rbp + 0x440]
mov rdx, qword [rbp + 0x378]
mov rcx, qword [rbp + 0x320]
add rsp, 0x20
mov rdi, qword [rbp + 0x8c8]
mov qword [rbp + 0x308], rdi
mov rdi, qword [rbp + 0x8d0]
mov qword [rbp + 0x310], rdi
mov bl, byte [rax]
mov dil, 0x75
xor dil, 0x75
xor eax, eax
cmp bl, dil
mov qword [rbp + 0x6c8], rsi
mov qword [rbp + 0x6d0], r11
mov r11, rax
mov qword [rbp + 0x6d8], r11
mov qword [rbp + 0x6e0], r10
mov qword [rbp + 0x6e8], r9
mov qword [rbp + 0x6f0], r8
mov qword [rbp + 0x6f8], rdx
mov rdx, rax
mov qword [rbp + 0x700], rdx
mov qword [rbp + 0x708], rcx
mov rcx, rax
mov qword [rbp + 0x710], rcx
mov rcx, rax
mov qword [rbp + 0x718], rcx
mov rcx, rax
mov qword [rbp + 0x720], rcx
mov rcx, rax
mov qword [rbp + 0x728], rcx
mov qword [rbp + 0x730], rax
jne 0x14015376d
mov rsi, qword [rbp + 0x418]
mov rdi, qword [rbp + 0x590]
mov rdx, qword [rbp + 0x618]
mov rax, qword [rbp + 0x678]
mov rcx, qword [rax]
mov qword [rdx], rcx
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
lea rcx, [rbp + 0x8a8]
sub rsp, 0x20
call fcn.14014bc90
mov rax, qword [rbp + 0x670]
mov r11, qword [rbp + 0x5b0]
mov r10, qword [rbp + 0x5d0]
mov r9, qword [rbp + 0x440]
mov r8, qword [rbp + 0x378]
mov rdx, qword [rbp + 0x310]
mov rcx, qword [rbp + 0x320]
add rsp, 0x20
mov rbx, qword [rbp + 0x8a8]
mov qword [rbp + 0x2f8], rbx
mov rbx, qword [rbp + 0x8b0]
mov qword [rbp + 0x300], rbx
mov bl, byte [rax]
mov r14b, 0x4b
xor r14b, 0x4b
xor eax, eax
cmp bl, r14b
mov qword [rbp + 0x6c8], rdi
mov qword [rbp + 0x6d0], rsi
mov rsi, rax
mov qword [rbp + 0x6d8], rsi
mov qword [rbp + 0x6e0], r11
mov qword [rbp + 0x6e8], r10
mov qword [rbp + 0x6f0], r9
mov qword [rbp + 0x6f8], r8
mov qword [rbp + 0x700], rdx
mov qword [rbp + 0x708], rcx
mov rcx, rax
mov qword [rbp + 0x710], rcx
mov rcx, rax
mov qword [rbp + 0x718], rcx
mov rcx, rax
mov qword [rbp + 0x720], rcx
mov rcx, rax
mov qword [rbp + 0x728], rcx
mov qword [rbp + 0x730], rax
jne 0x14015376d
mov rsi, qword [rbp + 0x5b0]
mov rdi, qword [rbp + 0x418]
mov rbx, qword [rbp + 0x590]
mov r14, qword [rbp + 0x670]
mov ax, 0xe731
xor ax, 0xe54b
mov word [rbp + 0x9e4], ax
lea rcx, [rbp + 0x9e4]
sub rsp, 0x20
call fcn.140093f60
mov r11, qword [rbp + 0x5d0]
mov r10, qword [rbp + 0x440]
mov r9, qword [rbp + 0x378]
mov r8, qword [rbp + 0x310]
mov rdx, qword [rbp + 0x320]
mov rcx, qword [rbp + 0x300]
add rsp, 0x20
mov qword [rbp + 0x2f0], rax
xor eax, eax
cmp byte [r14], 0
mov qword [rbp + 0x6c8], rbx
mov qword [rbp + 0x6d0], rdi
mov rdi, rax
mov qword [rbp + 0x6d8], rdi
mov qword [rbp + 0x6e0], rsi
mov qword [rbp + 0x6e8], r11
mov qword [rbp + 0x6f0], r10
mov qword [rbp + 0x6f8], r9
mov qword [rbp + 0x700], r8
mov qword [rbp + 0x708], rdx
mov qword [rbp + 0x710], rcx
mov rcx, rax
mov qword [rbp + 0x718], rcx
mov rcx, rax
mov qword [rbp + 0x720], rcx
mov rcx, rax
mov qword [rbp + 0x728], rcx
mov qword [rbp + 0x730], rax
jne 0x14015376d
mov rsi, qword [rbp + 0x5b0]
mov rdi, qword [rbp + 0x418]
mov rbx, qword [rbp + 0x590]
mov r14, qword [rbp + 0x670]
mov rax, qword [rbp + 0x2f0]
mov rcx, qword [rax]
mov qword [rbp + 0x888], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x890], rax
lea rcx, [rbp + 0x898]
lea rdx, [rbp + 0x888]
sub rsp, 0x20
call fcn.14014bc90
mov r11, qword [rbp + 0x5d0]
mov r10, qword [rbp + 0x440]
mov r9, qword [rbp + 0x378]
mov r8, qword [rbp + 0x310]
mov rdx, qword [rbp + 0x320]
mov rcx, qword [rbp + 0x300]
add rsp, 0x20
mov rax, qword [rbp + 0x898]
mov qword [rbp + 0x2e0], rax
mov rax, qword [rbp + 0x8a0]
mov qword [rbp + 0x2e8], rax
xor eax, eax
cmp byte [r14], 0
mov qword [rbp + 0x6c8], rbx
mov qword [rbp + 0x6d0], rdi
mov rdi, rax
mov qword [rbp + 0x6d8], rdi
mov qword [rbp + 0x6e0], rsi
mov qword [rbp + 0x6e8], r11
mov qword [rbp + 0x6f0], r10
mov qword [rbp + 0x6f8], r9
mov qword [rbp + 0x700], r8
mov qword [rbp + 0x708], rdx
mov qword [rbp + 0x710], rcx
mov rcx, rax
mov qword [rbp + 0x718], rcx
mov rcx, rax
mov qword [rbp + 0x720], rcx
mov rcx, rax
mov qword [rbp + 0x728], rcx
mov qword [rbp + 0x730], rax
jne 0x14015376d
mov rsi, qword [rbp + 0x5d0]
mov rdi, qword [rbp + 0x5b0]
mov rbx, qword [rbp + 0x418]
mov r14, qword [rbp + 0x590]
mov r15, qword [rbp + 0x670]
mov rax, qword [0x14028d330]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000efc9
add rsp, 0x20
xorps xmm0, xmm0
movaps xmmword [rbp + 0x9d0], xmm0
mov ecx, 0x37f
sub rsp, 0x20
call fcn.140094770
mov r11, qword [rbp + 0x440]
mov r10, qword [rbp + 0x378]
mov r9, qword [rbp + 0x310]
mov r8, qword [rbp + 0x320]
mov rdx, qword [rbp + 0x300]
mov rcx, qword [rbp + 0x2e8]
add rsp, 0x20
mov qword [rbp + 0x2d8], rax
xor eax, eax
cmp byte [r15], 0
mov qword [rbp + 0x6c8], r14
mov qword [rbp + 0x6d0], rbx
mov rbx, rax
mov qword [rbp + 0x6d8], rbx
mov qword [rbp + 0x6e0], rdi
mov qword [rbp + 0x6e8], rsi
mov qword [rbp + 0x6f0], r11
mov qword [rbp + 0x6f8], r10
mov qword [rbp + 0x700], r9
mov qword [rbp + 0x708], r8
mov qword [rbp + 0x710], rdx
mov qword [rbp + 0x718], rcx
mov rcx, rax
mov qword [rbp + 0x720], rcx
mov rcx, rax
mov qword [rbp + 0x728], rcx
mov qword [rbp + 0x730], rax
jne 0x14015376d
mov rdx, qword [rbp + 0x2e0]
mov rcx, qword [rbp + 0x2d8]
test rcx, rcx
setns al
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x14014f345
mov rsi, qword [rbp + 0x5d0]
mov rdi, qword [rbp + 0x5b0]
mov rbx, qword [rbp + 0x418]
mov r14, qword [rbp + 0x590]
mov rcx, qword [rbp + 0x2d8]
mov rdx, qword [rbp + 0x2e0]
movabs rax, 0x89bca64491a2cabc
sub rdx, rax
add rdx, 0xffffffffffffffff
movabs rax, 0x89bca64491a2cabc
add rdx, rax
sub rsp, 0x20
call fcn.1400292ad
mov r11, qword [rbp + 0x440]
mov r10, qword [rbp + 0x378]
mov r9, qword [rbp + 0x310]
mov r8, qword [rbp + 0x320]
mov rdx, qword [rbp + 0x300]
mov rcx, qword [rbp + 0x2e8]
add rsp, 0x20
xor eax, eax
mov qword [rbp + 0x6c8], r14
mov qword [rbp + 0x6d0], rbx
mov rbx, rax
mov qword [rbp + 0x6d8], rbx
mov qword [rbp + 0x6e0], rdi
mov qword [rbp + 0x6e8], rsi
mov qword [rbp + 0x6f0], r11
mov qword [rbp + 0x6f8], r10
mov qword [rbp + 0x700], r9
mov qword [rbp + 0x708], r8
mov qword [rbp + 0x710], rdx
mov qword [rbp + 0x718], rcx
mov rcx, rax
mov qword [rbp + 0x720], rcx
mov rcx, rax
mov qword [rbp + 0x728], rcx
mov qword [rbp + 0x730], rax
jmp 0x14015376d
mov rax, qword [rbp + 0x308]
mov rdx, qword [rbp + 0x2d8]
mov rcx, qword [rbp + 0x2e8]
add rcx, 8
add rcx, rdx
mov qword [rbp + 0x9d0], rcx
mov qword [rbp + 0x9d8], 0
cmp rax, 1
jge 0x14014f451
mov rsi, qword [rbp + 0x5d0]
mov rdi, qword [rbp + 0x5b0]
mov rbx, qword [rbp + 0x418]
mov r14, qword [rbp + 0x590]
mov rdx, qword [rbp + 0x308]
add rdx, 0xffffffffffffffff
xor eax, eax
mov ecx, eax
sub rsp, 0x20
call fcn.1400292ad
mov r11, qword [rbp + 0x440]
mov r10, qword [rbp + 0x378]
mov r9, qword [rbp + 0x310]
mov r8, qword [rbp + 0x320]
mov rdx, qword [rbp + 0x300]
mov rcx, qword [rbp + 0x2e8]
add rsp, 0x20
xor eax, eax
mov qword [rbp + 0x6c8], r14
mov qword [rbp + 0x6d0], rbx
mov rbx, rax
mov qword [rbp + 0x6d8], rbx
mov qword [rbp + 0x6e0], rdi
mov qword [rbp + 0x6e8], rsi
mov qword [rbp + 0x6f0], r11
mov qword [rbp + 0x6f8], r10
mov qword [rbp + 0x700], r9
mov qword [rbp + 0x708], r8
mov qword [rbp + 0x710], rdx
mov qword [rbp + 0x718], rcx
mov rcx, rax
mov qword [rbp + 0x720], rcx
mov rcx, rax
mov qword [rbp + 0x728], rcx
mov qword [rbp + 0x730], rax
jmp 0x14015376d
mov rax, qword [rbp + 0x2f8]
cmp rax, 1
jge 0x14014f536
mov rsi, qword [rbp + 0x5d0]
mov rdi, qword [rbp + 0x5b0]
mov rbx, qword [rbp + 0x418]
mov r14, qword [rbp + 0x590]
mov rdx, qword [rbp + 0x2f8]
add rdx, 0xffffffffffffffff
xor eax, eax
mov ecx, eax
sub rsp, 0x20
call fcn.1400292ad
mov r11, qword [rbp + 0x440]
mov r10, qword [rbp + 0x378]
mov r9, qword [rbp + 0x310]
mov r8, qword [rbp + 0x320]
mov rdx, qword [rbp + 0x300]
mov rcx, qword [rbp + 0x2e8]
add rsp, 0x20
xor eax, eax
mov qword [rbp + 0x6c8], r14
mov qword [rbp + 0x6d0], rbx
mov rbx, rax
mov qword [rbp + 0x6d8], rbx
mov qword [rbp + 0x6e0], rdi
mov qword [rbp + 0x6e8], rsi
mov qword [rbp + 0x6f0], r11
mov qword [rbp + 0x6f8], r10
mov qword [rbp + 0x700], r9
mov qword [rbp + 0x708], r8
mov qword [rbp + 0x710], rdx
mov qword [rbp + 0x718], rcx
mov rcx, rax
mov qword [rbp + 0x720], rcx
mov rcx, rax
mov qword [rbp + 0x728], rcx
mov qword [rbp + 0x730], rax
jmp 0x14015376d
mov eax, dword [0x14027b418]
mov ecx, 0x85acbd03
xor ecx, 0x98d1e821
xor eax, ecx
sub eax, dword [0x14027b41c]
xor ecx, ecx
sub ecx, 0xa39aec66
add eax, ecx
mov ecx, eax
xor ecx, 0xf553a014
mov edx, 0xffffffff
xor edx, 0xf553a014
and eax, edx
shl eax, 1
sub eax, ecx
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0x823936ef
mov edx, 0x6a7dd9b4
xor edx, 0xe844ef5b
mov r8d, 0x73c9be0c
xor r8d, 0x8c3641f3
xor edx, r8d
and eax, edx
sub eax, ecx
mov ecx, 0x6e849db2
xor ecx, 0x2eb63b9f
cmp eax, ecx
jb 0x1401546bf
mov rcx, qword [rbp + 0x418]
mov r8, qword [rbp + 0x300]
mov eax, dword [0x14027b420]
mov r9d, dword [0x14027b424]
xor edx, edx
sub edx, r9d
add eax, edx
xor edx, edx
sub edx, 0xae4b2806
add eax, edx
mov r9d, 0x7cdce839
xor edx, edx
div r9d
mov rdx, qword [rbp + 0x310]
mov r10d, eax
mov eax, dword [rbp + 0x38c]
mov r9d, r10d
xor r9d, 0xffffffff
mov r11d, 0xffffffff
xor r11d, 0xdec596fc
or r9d, r11d
and r10d, 0xdec596fc
mov r11d, 0xa0d1919a
xor r11d, 0x5f2e6e65
xor r10d, r11d
and r9d, r10d
xor r9d, 0xffffffff
mov dword [rbp + 0x2c4], r9d
mov r9d, 0x8b5a45c0
xor r9d, 0xc10d6b7a
mov dword [rbp + 0x2c0], r9d
add rdx, 8
add r8, 8
xor r9d, r9d
lea r10, [rbp + 0x9d0]
sub rsp, 0x40
mov qword [rsp + 0x20], 0
mov qword [rsp + 0x28], r10
mov dword [rsp + 0x30], eax
call fcn.1400fd703
mov rdx, qword [rbp + 0x670]
mov ecx, dword [rbp + 0x2c0]
add rsp, 0x40
mov r8, rax
mov eax, dword [rbp + 0x2c4]
mov qword [rbp + 0x2c8], r8
mov dl, byte [rdx]
mov r8b, 9
xor r8b, 9
cmp dl, r8b
sete dl
mov byte [rbp + 0x2d7], dl
cmp eax, ecx
ja 0x14014f5b0
mov rcx, qword [rbp + 0x2e8]
mov rdx, qword [rbp + 0x300]
mov r8, qword [rbp + 0x320]
mov r9, qword [rbp + 0x310]
mov r10, qword [rbp + 0x378]
mov r11, qword [rbp + 0x440]
mov rsi, qword [rbp + 0x5d0]
mov rdi, qword [rbp + 0x5b0]
mov rbx, qword [rbp + 0x418]
mov r14, qword [rbp + 0x590]
mov r15b, byte [rbp + 0x2d7]
xor eax, eax
test r15b, 1
mov qword [rbp + 0x6c8], r14
mov qword [rbp + 0x6d0], rbx
mov rbx, rax
mov qword [rbp + 0x6d8], rbx
mov qword [rbp + 0x6e0], rdi
mov qword [rbp + 0x6e8], rsi
mov qword [rbp + 0x6f0], r11
mov qword [rbp + 0x6f8], r10
mov qword [rbp + 0x700], r9
mov qword [rbp + 0x708], r8
mov qword [rbp + 0x710], rdx
mov qword [rbp + 0x718], rcx
mov rcx, rax
mov qword [rbp + 0x720], rcx
mov rcx, rax
mov qword [rbp + 0x728], rcx
mov qword [rbp + 0x730], rax
jne 0x14014f77b
jmp 0x14015376d
mov rax, qword [rbp + 0x2c8]
cmp rax, 0
jne 0x14014f8bc
mov rsi, qword [rbp + 0x5d0]
mov rdi, qword [rbp + 0x5b0]
mov rbx, qword [rbp + 0x418]
mov r14, qword [rbp + 0x590]
mov ecx, 0x40
mov edx, 8
sub rsp, 0x20
call fcn.140029060
add rsp, 0x20
mov rcx, rax
mov rax, qword [0x14028cf78]
mov qword [rcx], rax
lea rax, [0x14028a788]
mov qword [rcx + 0x10], rax
mov rax, qword [0x14028a7c0]
mov qword [rcx + 0x18], rax
mov rax, qword [0x14028a7c8]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
lea rdx, [0x14028a788]
lea r8, [0x14028a793]
lea r9, [0x14028a7a1]
sub rsp, 0x30
mov qword [rsp + 0x20], 0x3e581902
call fcn.140028fa8
mov r11, qword [rbp + 0x440]
mov r10, qword [rbp + 0x378]
mov r9, qword [rbp + 0x310]
mov r8, qword [rbp + 0x320]
mov rdx, qword [rbp + 0x300]
mov rcx, qword [rbp + 0x2e8]
add rsp, 0x30
xor eax, eax
mov qword [rbp + 0x6c8], r14
mov qword [rbp + 0x6d0], rbx
mov rbx, rax
mov qword [rbp + 0x6d8], rbx
mov qword [rbp + 0x6e0], rdi
mov qword [rbp + 0x6e8], rsi
mov qword [rbp + 0x6f0], r11
mov qword [rbp + 0x6f8], r10
mov qword [rbp + 0x700], r9
mov qword [rbp + 0x708], r8
mov qword [rbp + 0x710], rdx
mov qword [rbp + 0x718], rcx
mov rcx, rax
mov qword [rbp + 0x720], rcx
mov rcx, rax
mov qword [rbp + 0x728], rcx
mov qword [rbp + 0x730], rax
jmp 0x14015376d
mov rcx, qword [rbp + 0x5c0]
mov qword [rbp + 0x878], 0
lea rax, [rbp + 0x878]
add rax, 8
mov qword [rbp + 0x2a8], rax
mov qword [rbp + 0x880], 0
sub rsp, 0x20
call fcn.1401382c0
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x670]
mov qword [rbp + 0x2b0], rcx
mov cl, byte [rax]
mov dl, 0x51
xor dl, 0x51
mov al, 1
cmp cl, dl
mov byte [rbp + 0x2bf], al
jne 0x14014ff22
mov rdx, qword [rbp + 0x620]
mov rax, qword [rbp + 0x2b0]
mov rcx, qword [rax]
mov qword [rdx], rcx
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
lea rcx, [rbp + 0x878]
sub rsp, 0x20
call fcn.140092080
add rsp, 0x20
mov rax, qword [rbp + 0x878]
mov qword [rbp + 0x2a0], rax
cmp rax, 0
jg 0x14014f97c
mov rax, qword [rbp + 0x670]
mov al, byte [rax]
mov byte [rbp + 0x29f], al
jmp 0x14014fda2
mov rax, qword [rbp + 0x630]
lea rcx, [rbp + 0x868]
add rcx, 8
mov qword [rbp + 0x280], rcx
add rax, 8
mov qword [rbp + 0x288], rax
xor eax, eax
mov qword [rbp + 0x290], rax
mov rcx, qword [rbp + 0x290]
mov qword [rbp + 0x270], rcx
test rcx, rcx
setns al
mov rdx, qword [rbp + 0x878]
mov qword [rbp + 0x278], rdx
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x14014fa27
mov rcx, qword [rbp + 0x270]
mov rdx, qword [rbp + 0x278]
movabs rax, 0x7d521071448e1c02
sub rdx, rax
add rdx, 0xffffffffffffffff
movabs rax, 0x7d521071448e1c02
add rdx, rax
sub rsp, 0x20
call fcn.1400292ad
mov rax, qword [rbp + 0x270]
add rsp, 0x20
mov qword [rbp + 0x268], rax
jmp 0x14014fd7d
mov rcx, qword [rbp + 0x628]
mov rax, qword [rbp + 0x280]
mov rdx, qword [rbp + 0x2a8]
mov rdx, qword [rdx]
mov qword [rbp + 0x258], rdx
movabs rdx, 0xce359134cc3d30a5
movabs r8, 0xce359134cc3d30a5
xor rdx, r8
mov qword [rbp + 0x868], rdx
mov qword [rax], 0
mov word [rcx], 0x1ff
sub rsp, 0x20
call fcn.140093f60
mov rcx, qword [rbp + 0x670]
add rsp, 0x20
mov qword [rbp + 0x260], rax
mov al, 1
cmp byte [rcx], 0
mov byte [rbp + 0x29f], al
jne 0x14014fda2
mov r8, qword [rbp + 0x270]
mov rdx, qword [rbp + 0x260]
mov rax, qword [rbp + 0x258]
mov rcx, rax
add rcx, 8
mov r9, r8
shl r9, 5
add rcx, r9
mov qword [rbp + 0x230], rcx
add rax, 8
shl r8, 5
add rax, r8
add rax, 0x10
mov qword [rbp + 0x238], rax
mov rcx, qword [rcx]
mov r8, qword [rdx]
mov rax, qword [rax]
movabs rdx, 0xd613a935df231e27
movabs r9, 0xd613a935df231e27
xor rdx, r9
sub rdx, rcx
xor ecx, ecx
sub rcx, 2
add rdx, rcx
xor ecx, ecx
sub rcx, rdx
mov rdx, rcx
and rdx, r8
or rcx, r8
add rdx, rcx
movabs rcx, 0xb91791894238ebc7
add rdx, rcx
add rdx, rax
movabs rax, 0xceb835fe8b87e17d
movabs rcx, 0x77afa477c9bf0aba
xor rax, rcx
sub rdx, rax
lea rcx, [rbp + 0x868]
sub rsp, 0x20
call fcn.140037460
mov rax, qword [rbp + 0x230]
add rsp, 0x20
mov rcx, qword [rax]
mov qword [rbp + 0x858], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x860], rax
lea rcx, [rbp + 0x868]
lea rdx, [rbp + 0x858]
sub rsp, 0x20
call fcn.1401548f0
mov rax, qword [rbp + 0x260]
add rsp, 0x20
mov rcx, qword [rax]
mov qword [rbp + 0x848], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x850], rax
lea rcx, [rbp + 0x868]
lea rdx, [rbp + 0x848]
sub rsp, 0x20
call fcn.1401548f0
mov rax, qword [rbp + 0x238]
add rsp, 0x20
mov rcx, qword [rax]
mov qword [rbp + 0x838], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x840], rax
lea rcx, [rbp + 0x868]
lea rdx, [rbp + 0x838]
sub rsp, 0x20
call fcn.1401548f0
add rsp, 0x20
lea rcx, [rbp + 0x868]
lea rdx, [0x14028a7b0]
sub rsp, 0x20
call fcn.1401548f0
mov rax, qword [rbp + 0x280]
add rsp, 0x20
mov rdx, qword [rbp + 0x868]
mov qword [rbp + 0x240], rdx
mov rax, qword [rax]
mov qword [rbp + 0x248], rax
lea rcx, [rbp + 0x9f8]
sub rsp, 0x20
call fcn.140037690
mov r8, qword [rbp + 0x240]
mov rax, qword [rbp + 0x288]
mov rdx, qword [rbp + 0x630]
mov rcx, qword [rbp + 0x248]
add rsp, 0x20
mov qword [rdx], r8
mov qword [rax], rcx
lea rcx, [rbp + 0x9f8]
sub rsp, 0x20
call fcn.1401548f0
mov rax, qword [rbp + 0x270]
mov rcx, qword [rbp + 0x248]
add rsp, 0x20
movabs rdx, 0x18a0afbf049af23
movabs r8, 0x18a0afbf049af22
xor rdx, r8
add rax, rdx
mov qword [rbp + 0x250], rax
cmp rcx, 0
mov qword [rbp + 0x268], rax
je 0x14014fd7d
mov rax, qword [rbp + 0x250]
mov rcx, qword [rbp + 0x248]
mov rdx, qword [rcx]
movabs r8, 0x5c08d891a0a935f4
movabs rcx, 0xa3f7276e5f56ca0b
xor r8, rcx
mov rcx, rdx
xor rcx, r8
movabs r8, 0xf415f4009d5b6612
movabs r9, 0xb415f4009d5b6612
xor r8, r9
movabs r9, 0xff5414f35400976f
movabs r10, 0xabeb0cabff6890
xor r9, r10
xor r8, r9
or rcx, r8
movabs r8, 0x51e7c9b3a5a5b45d
movabs r9, 0x11e7c9b3a5a5b45d
xor r8, r9
and rdx, r8
xor rdx, 0xffffffffffffffff
and rcx, rdx
xor rcx, 0xffffffffffffffff
cmp rcx, 0
mov qword [rbp + 0x268], rax
jne 0x14014fd7d
mov rcx, qword [rbp + 0x248]
sub rsp, 0x20
call fcn.14001d1d6
mov rax, qword [rbp + 0x250]
add rsp, 0x20
mov qword [rbp + 0x268], rax
mov rax, qword [rbp + 0x670]
mov rcx, qword [rbp + 0x268]
mov qword [rbp + 0x228], rcx
mov al, byte [rax]
cmp al, 0
mov byte [rbp + 0x29f], al
je 0x14014fef7
mov al, byte [rbp + 0x29f]
mov byte [rbp + 0x227], al
mov ecx, dword [0x14027b428]
xor ecx, 0xbbd35b7b
mov r8d, dword [0x14027b42c]
mov eax, 0x39afd63e
xor eax, 0x5029c1b8
xor r8d, eax
mov eax, ecx
and eax, eax
mov edx, 0x47a58c1e
xor edx, 0xb85a73e1
xor eax, edx
xor eax, 0xffffffff
mov edx, r8d
xor edx, 0xffffffff
or eax, edx
mov r9d, 0x46006d7f
xor r9d, 0xb9ff9280
mov edx, r8d
xor edx, r9d
xor r8d, 0xffffffff
or edx, r8d
and ecx, edx
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0x2db98833
xor ecx, 0xd24677cc
xor eax, ecx
sub eax, 0xa7394c95
mov ecx, 0x82d54496
xor ecx, 0x6aa1184a
xor edx, edx
div ecx
mov ecx, 0x2aaf3348
xor ecx, 0xbaf706e8
and eax, ecx
cmp eax, 0xc4cb1690
je 0x1401546c8
mov eax, dword [0x14027b430]
mov r8d, dword [0x14027b434]
xor r8d, 0xb3a7160d
mov ecx, eax
xor ecx, 0xffffffff
mov edx, r8d
and edx, ecx
mov ecx, 0xb38fc816
xor ecx, 0x4c7037e9
mov r9d, r8d
xor r9d, ecx
mov ecx, eax
and ecx, r9d
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
or eax, 0x5e49d59
mov ecx, 0xff39aba1
xor ecx, 0xbce3c0da
add eax, ecx
mov ecx, eax
xor ecx, 0xffffffff
mov edx, 0xae852ba9
xor edx, 0xbff69f67
and edx, ecx
mov r8d, 0xffffffff
xor r8d, 0x1173b4ce
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x1173b4ce
or eax, 0x1173b4ce
imul eax, edx
add eax, ecx
mov ecx, 0x82cf8cd3
xor ecx, 0x5d35515a
cmp eax, ecx
ja 0x1401546c8
mov al, byte [rbp + 0x227]
mov byte [rbp + 0x2bf], al
jmp 0x14014ff22
mov rcx, qword [rbp + 0x228]
mov rdx, qword [rbp + 0x2a0]
xor eax, eax
cmp rcx, rdx
mov qword [rbp + 0x290], rcx
mov byte [rbp + 0x29f], al
jl 0x14014f9a9
jmp 0x14014fda2
mov rax, qword [rbp + 0x670]
mov cl, byte [rbp + 0x2bf]
mov byte [rbp + 0x226], cl
mov byte [rax], 0
mov rax, qword [rbp + 0x878]
mov qword [rbp + 0x828], rax
mov rax, qword [rbp + 0x880]
mov qword [rbp + 0x830], rax
lea rcx, [rbp + 0x828]
sub rsp, 0x20
call fcn.1400921d0
mov rax, qword [rbp + 0x670]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0x44
xor cl, 0x44
cmp al, cl
jne 0x1401500e6
mov eax, dword [0x14027b438]
xor eax, 0x937ad772
mov edx, dword [0x14027b43c]
xor edx, 0x71f1394
mov r8d, eax
xor r8d, edx
xor r8d, 0xffffffff
mov ecx, edx
and ecx, r8d
shl ecx, 1
sub ecx, edx
sub eax, ecx
mov ecx, 0x1e1ab470
xor ecx, 0x1fa87d12
imul eax, ecx
mov ecx, 0xd8d67018
xor edx, edx
div ecx
mov ecx, 0x14d6087f
xor ecx, 0x14d6087f
sub ecx, eax
xor eax, eax
sub eax, 0x1450ab8b
add ecx, eax
xor eax, eax
sub eax, ecx
cmp eax, 0xeda21d2b
jae 0x1401546d1
mov rcx, qword [rbp + 0x670]
mov dl, byte [rbp + 0x226]
mov r8d, dword [0x14027b440]
mov r9d, dword [0x14027b444]
mov eax, r8d
xor eax, 0xffffffff
mov r10d, r9d
xor r10d, 0xffffffff
and eax, r10d
xor r8d, 0xffffffff
mov r10d, 0x6edd8920
xor r10d, 0x912276df
xor r9d, r10d
and r8d, r9d
mov r9d, 0x3a9cb364
xor r9d, 0xc5634c9b
xor eax, r9d
xor r8d, 0xffffffff
and eax, r8d
mov r9d, eax
xor r9d, 0xffffffff
and r9d, 0x9f8b0425
mov r10d, 0xbbf658c7
xor r10d, 0x247d5ce2
mov r8d, 0x33f269b9
xor r8d, 0xcc0d9646
xor r10d, r8d
mov r8d, eax
and r8d, r10d
imul r8d, r9d
mov r9d, eax
and r9d, 0x9f8b0425
mov r10d, 0x818cb97f
xor r10d, 0x1e07bd5a
or eax, r10d
imul eax, r9d
add eax, r8d
xor r8d, r8d
sub r8d, eax
xor eax, eax
sub eax, 0xbe97f51b
add r8d, eax
mov eax, 0x3887cfbf
xor eax, 0x3887cfbf
sub eax, r8d
xor eax, 0x7789953
cmp dl, 0
sete r8b
mov byte [rbp + 0x225], r8b
mov byte [rcx], dl
cmp eax, 0x2f62e08b
jb 0x14014ffe7
mov al, byte [rbp + 0x225]
test al, 1
jne 0x1401501a2
jmp 0x1401500e6
mov rcx, qword [rbp + 0x2e8]
mov rdx, qword [rbp + 0x300]
mov r8, qword [rbp + 0x320]
mov r9, qword [rbp + 0x310]
mov r10, qword [rbp + 0x378]
mov r11, qword [rbp + 0x440]
mov rsi, qword [rbp + 0x5d0]
mov rdi, qword [rbp + 0x5b0]
mov rbx, qword [rbp + 0x2c8]
mov r14, qword [rbp + 0x418]
mov r15, qword [rbp + 0x590]
xor eax, eax
mov qword [rbp + 0x6c8], r15
mov qword [rbp + 0x6d0], r14
mov qword [rbp + 0x6d8], rbx
mov qword [rbp + 0x6e0], rdi
mov qword [rbp + 0x6e8], rsi
mov qword [rbp + 0x6f0], r11
mov qword [rbp + 0x6f8], r10
mov qword [rbp + 0x700], r9
mov qword [rbp + 0x708], r8
mov qword [rbp + 0x710], rdx
mov qword [rbp + 0x718], rcx
mov rcx, rax
mov qword [rbp + 0x720], rcx
mov rcx, rax
mov qword [rbp + 0x728], rcx
mov qword [rbp + 0x730], rax
jmp 0x14015376d
mov rsi, qword [rbp + 0x5d0]
mov rdi, qword [rbp + 0x5b0]
mov rbx, qword [rbp + 0x2c8]
mov r14, qword [rbp + 0x418]
mov r15, qword [rbp + 0x590]
mov r12, qword [rbp + 0x670]
mov rcx, qword [rbp + 0x638]
mov rax, qword [rbp + 0x9f8]
mov qword [rbp + 0x818], rax
mov rax, qword [rbp + 0xa00]
mov qword [rbp + 0x820], rax
lea rdx, [rbp + 0x818]
sub rsp, 0x20
call fcn.14014bc90
mov rax, qword [rbp + 0x638]
mov r11, qword [rbp + 0x440]
mov r10, qword [rbp + 0x378]
mov r9, qword [rbp + 0x310]
mov r8, qword [rbp + 0x320]
mov rdx, qword [rbp + 0x300]
mov rcx, qword [rbp + 0x2e8]
add rsp, 0x20
mov r13, qword [rax]
mov qword [rbp + 0x210], r13
mov rax, qword [rax + 8]
mov qword [rbp + 0x218], rax
xor eax, eax
cmp byte [r12], 0
mov qword [rbp + 0x6c8], r15
mov qword [rbp + 0x6d0], r14
mov qword [rbp + 0x6d8], rbx
mov qword [rbp + 0x6e0], rdi
mov qword [rbp + 0x6e8], rsi
mov qword [rbp + 0x6f0], r11
mov qword [rbp + 0x6f8], r10
mov qword [rbp + 0x700], r9
mov qword [rbp + 0x708], r8
mov qword [rbp + 0x710], rdx
mov qword [rbp + 0x718], rcx
mov rcx, rax
mov qword [rbp + 0x720], rcx
mov rcx, rax
mov qword [rbp + 0x728], rcx
mov qword [rbp + 0x730], rax
jne 0x14015376d
mov rax, qword [rbp + 0x210]
movabs rcx, 0x50f8c4d6e83bb900
movabs rdx, 0x50f8c4d6e83bb901
xor rcx, rdx
cmp rax, rcx
jge 0x1401503d4
mov rsi, qword [rbp + 0x440]
mov rdi, qword [rbp + 0x5d0]
mov rbx, qword [rbp + 0x5b0]
mov r14, qword [rbp + 0x2c8]
mov r15, qword [rbp + 0x418]
mov r12, qword [rbp + 0x590]
mov rdx, qword [rbp + 0x210]
add rdx, 0xffffffffffffffff
movabs rcx, 0x2e286743d936dea5
movabs rax, 0x2e286743d936dea5
xor rcx, rax
sub rsp, 0x20
call fcn.1400292ad
mov r11, qword [rbp + 0x378]
mov r10, qword [rbp + 0x310]
mov r9, qword [rbp + 0x320]
mov r8, qword [rbp + 0x300]
mov rdx, qword [rbp + 0x2e8]
mov rcx, qword [rbp + 0x218]
add rsp, 0x20
xor eax, eax
mov qword [rbp + 0x6c8], r12
mov qword [rbp + 0x6d0], r15
mov qword [rbp + 0x6d8], r14
mov qword [rbp + 0x6e0], rbx
mov qword [rbp + 0x6e8], rdi
mov qword [rbp + 0x6f0], rsi
mov qword [rbp + 0x6f8], r11
mov qword [rbp + 0x700], r10
mov qword [rbp + 0x708], r9
mov qword [rbp + 0x710], r8
mov qword [rbp + 0x718], rdx
mov qword [rbp + 0x720], rcx
mov rcx, rax
mov qword [rbp + 0x728], rcx
mov qword [rbp + 0x730], rax
jmp 0x14015376d
mov rdx, qword [rbp + 0x218]
mov rsi, qword [rbp + 0x440]
mov rdi, qword [rbp + 0x5d0]
mov rbx, qword [rbp + 0x5b0]
mov r14, qword [rbp + 0x2c8]
mov r15, qword [rbp + 0x418]
mov r12, qword [rbp + 0x590]
mov r13, qword [rbp + 0x670]
add rdx, 8
mov r8d, 0xffffffff
mov r9d, 0xa0000000
sub rsp, 0x20
mov rcx, r14
call fcn.1400fd75c
mov r11, qword [rbp + 0x378]
mov r10, qword [rbp + 0x310]
mov r9, qword [rbp + 0x320]
mov r8, qword [rbp + 0x300]
mov rdx, qword [rbp + 0x2e8]
mov rcx, qword [rbp + 0x218]
add rsp, 0x20
mov dword [rbp + 0x20c], eax
xor eax, eax
cmp byte [r13], 0
mov qword [rbp + 0x6c8], r12
mov qword [rbp + 0x6d0], r15
mov qword [rbp + 0x6d8], r14
mov qword [rbp + 0x6e0], rbx
mov qword [rbp + 0x6e8], rdi
mov qword [rbp + 0x6f0], rsi
mov qword [rbp + 0x6f8], r11
mov qword [rbp + 0x700], r10
mov qword [rbp + 0x708], r9
mov qword [rbp + 0x710], r8
mov qword [rbp + 0x718], rdx
mov qword [rbp + 0x720], rcx
mov rcx, rax
mov qword [rbp + 0x728], rcx
mov qword [rbp + 0x730], rax
jne 0x14015376d
mov eax, dword [rbp + 0x20c]
cmp eax, 0
jne 0x140150615
mov rsi, qword [rbp + 0x440]
mov rdi, qword [rbp + 0x5d0]
mov rbx, qword [rbp + 0x5b0]
mov r14, qword [rbp + 0x2c8]
mov r15, qword [rbp + 0x418]
mov r12, qword [rbp + 0x590]
mov ecx, 0x40
mov edx, 8
sub rsp, 0x20
call fcn.140029060
add rsp, 0x20
mov rcx, rax
mov rax, qword [0x14028cf78]
mov qword [rcx], rax
lea rax, [0x14028a788]
mov qword [rcx + 0x10], rax
mov rax, qword [0x14028a7c0]
mov qword [rcx + 0x18], rax
mov rax, qword [0x14028a7c8]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
lea rdx, [0x14028a788]
lea r8, [0x14028a793]
lea r9, [0x14028a7a1]
sub rsp, 0x30
mov qword [rsp + 0x20], 0x5deb8a2f
call fcn.140028fa8
mov r11, qword [rbp + 0x378]
mov r10, qword [rbp + 0x310]
mov r9, qword [rbp + 0x320]
mov r8, qword [rbp + 0x300]
mov rdx, qword [rbp + 0x2e8]
mov rcx, qword [rbp + 0x218]
add rsp, 0x30
xor eax, eax
mov qword [rbp + 0x6c8], r12
mov qword [rbp + 0x6d0], r15
mov qword [rbp + 0x6d8], r14
mov qword [rbp + 0x6e0], rbx
mov qword [rbp + 0x6e8], rdi
mov qword [rbp + 0x6f0], rsi
mov qword [rbp + 0x6f8], r11
mov qword [rbp + 0x700], r10
mov qword [rbp + 0x708], r9
mov qword [rbp + 0x710], r8
mov qword [rbp + 0x718], rdx
mov qword [rbp + 0x720], rcx
mov rcx, rax
mov qword [rbp + 0x728], rcx
mov qword [rbp + 0x730], rax
jmp 0x14015376d
mov rax, qword [rbp + 0x5e0]
mov rax, qword [rax + 0xa8]
mov qword [rbp + 0x200], rax
movabs rcx, 0xce4a3fe7dffff1cb
movabs rdx, 0x31b5c0185ffff1cb
xor rcx, rdx
add rax, rcx
movabs rcx, 0xffffffff00000000
cmp rax, rcx
jae 0x140150738
mov rsi, qword [rbp + 0x440]
mov rdi, qword [rbp + 0x5d0]
mov rbx, qword [rbp + 0x5b0]
mov r14, qword [rbp + 0x2c8]
mov r15, qword [rbp + 0x418]
mov r12, qword [rbp + 0x590]
mov rcx, qword [rbp + 0x200]
mov rdx, 0xffffffff80000000
mov r8d, 0x7fffffff
sub rsp, 0x20
call fcn.14001a720
mov r11, qword [rbp + 0x378]
mov r10, qword [rbp + 0x310]
mov r9, qword [rbp + 0x320]
mov r8, qword [rbp + 0x300]
mov rdx, qword [rbp + 0x2e8]
mov rcx, qword [rbp + 0x218]
add rsp, 0x20
xor eax, eax
mov qword [rbp + 0x6c8], r12
mov qword [rbp + 0x6d0], r15
mov qword [rbp + 0x6d8], r14
mov qword [rbp + 0x6e0], rbx
mov qword [rbp + 0x6e8], rdi
mov qword [rbp + 0x6f0], rsi
mov qword [rbp + 0x6f8], r11
mov qword [rbp + 0x700], r10
mov qword [rbp + 0x708], r9
mov qword [rbp + 0x710], r8
mov qword [rbp + 0x718], rdx
mov qword [rbp + 0x720], rcx
mov rcx, rax
mov qword [rbp + 0x728], rcx
mov qword [rbp + 0x730], rax
jmp 0x14015376d
mov rsi, qword [rbp + 0x440]
mov rdi, qword [rbp + 0x5d0]
mov rbx, qword [rbp + 0x5b0]
mov r14, qword [rbp + 0x2c8]
mov r15, qword [rbp + 0x418]
mov r12, qword [rbp + 0x590]
mov rax, qword [rbp + 0x200]
mov rcx, qword [rbp + 0x5e0]
mov r9, qword [rcx + 0xb0]
add r9, 8
lea rcx, [0x14028a7f0]
cmp rax, 0
cmove r9, rcx
mov r10d, eax
mov r8d, 0xd7c04b57
xor r8d, 0xd7c04b57
movabs rax, 0xaadde3b241dfe1d4
movabs rcx, 0xaadde3b241dfe1d4
xor rax, rcx
xor ecx, ecx
mov edx, ecx
sub rsp, 0x40
mov rcx, r14
mov dword [rsp + 0x20], r10d
mov dword [rsp + 0x28], r10d
mov qword [rsp + 0x30], rax
call fcn.1400fd7a4
mov r11, qword [rbp + 0x378]
mov r10, qword [rbp + 0x310]
mov r9, qword [rbp + 0x320]
mov r8, qword [rbp + 0x300]
mov rdx, qword [rbp + 0x2e8]
add rsp, 0x40
mov ecx, eax
mov rax, qword [rbp + 0x670]
mov dword [rbp + 0x1fc], ecx
mov r13b, byte [rax]
mov cl, 0x5e
xor cl, 0x5e
xor eax, eax
cmp r13b, cl
mov rcx, qword [rbp + 0x218]
mov qword [rbp + 0x6c8], r12
mov qword [rbp + 0x6d0], r15
mov qword [rbp + 0x6d8], r14
mov qword [rbp + 0x6e0], rbx
mov qword [rbp + 0x6e8], rdi
mov qword [rbp + 0x6f0], rsi
mov qword [rbp + 0x6f8], r11
mov qword [rbp + 0x700], r10
mov qword [rbp + 0x708], r9
mov qword [rbp + 0x710], r8
mov qword [rbp + 0x718], rdx
mov qword [rbp + 0x720], rcx
mov rcx, rax
mov qword [rbp + 0x728], rcx
mov qword [rbp + 0x730], rax
jne 0x14015376d
mov eax, dword [0x14027b448]
or eax, dword [0x14027b44c]
or eax, 0xb6b75b48
mov ecx, eax
xor ecx, 0xffffffff
mov edx, 0xdfd37cb5
xor edx, 0x1429f783
and edx, ecx
mov r8d, 0xffffffff
xor r8d, 0xcbfa8b36
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov r8d, 0x6f097624
xor r8d, 0xa4f3fd12
mov edx, eax
and edx, r8d
mov r8d, 0xf28f2125
xor r8d, 0x3975aa13
or eax, r8d
imul eax, edx
add eax, ecx
and eax, 0xd11e6d2a
mov ecx, 0xb9a4443e
xor ecx, 0x7db30dfa
cmp eax, ecx
je 0x1401546da
mov ecx, dword [rbp + 0x1fc]
mov eax, dword [0x14027b450]
or eax, dword [0x14027b454]
and eax, 0xe29bbb21
sub eax, 0xf67c63cb
mov edx, eax
and edx, 0xfbc0ff59
mov r8d, 0xa63b8ea3
xor r8d, 0x59c4715c
xor edx, r8d
add eax, 0xfbc0ff59
add eax, 1
add eax, edx
cmp ecx, 0
sete cl
mov byte [rbp + 0x1fb], cl
cmp eax, 0x34c416d4
je 0x1401546da
mov al, byte [rbp + 0x1fb]
test al, 1
jne 0x140150964
jmp 0x140150aaf
mov rsi, qword [rbp + 0x440]
mov rdi, qword [rbp + 0x5d0]
mov rbx, qword [rbp + 0x5b0]
mov r14, qword [rbp + 0x2c8]
mov r15, qword [rbp + 0x418]
mov r12, qword [rbp + 0x590]
mov ecx, 0x40
mov edx, 8
sub rsp, 0x20
call fcn.140029060
add rsp, 0x20
mov rcx, rax
mov rax, qword [0x14028cf78]
mov qword [rcx], rax
lea rax, [0x14028a788]
mov qword [rcx + 0x10], rax
mov rax, qword [0x14028a7c0]
mov qword [rcx + 0x18], rax
mov rax, qword [0x14028a7c8]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
movabs rax, 0x2c13f642b19765f1
movabs rdx, 0x2c13f642a678aceb
xor rax, rdx
lea rdx, [0x14028a788]
lea r8, [0x14028a793]
lea r9, [0x14028a7a1]
sub rsp, 0x30
mov qword [rsp + 0x20], rax
call fcn.140028fa8
mov r11, qword [rbp + 0x378]
mov r10, qword [rbp + 0x310]
mov r9, qword [rbp + 0x320]
mov r8, qword [rbp + 0x300]
mov rdx, qword [rbp + 0x2e8]
mov rcx, qword [rbp + 0x218]
add rsp, 0x30
xor eax, eax
mov qword [rbp + 0x6c8], r12
mov qword [rbp + 0x6d0], r15
mov qword [rbp + 0x6d8], r14
mov qword [rbp + 0x6e0], rbx
mov qword [rbp + 0x6e8], rdi
mov qword [rbp + 0x6f0], rsi
mov qword [rbp + 0x6f8], r11
mov qword [rbp + 0x700], r10
mov qword [rbp + 0x708], r9
mov qword [rbp + 0x710], r8
mov qword [rbp + 0x718], rdx
mov qword [rbp + 0x720], rcx
mov rcx, rax
mov qword [rbp + 0x728], rcx
mov qword [rbp + 0x730], rax
jmp 0x14015376d
mov rsi, qword [rbp + 0x440]
mov rdi, qword [rbp + 0x5d0]
mov rbx, qword [rbp + 0x5b0]
mov r14, qword [rbp + 0x2c8]
mov r15, qword [rbp + 0x418]
mov r12, qword [rbp + 0x590]
xor eax, eax
mov edx, eax
sub rsp, 0x20
mov rcx, r14
call fcn.1400fd7fc
mov r11, qword [rbp + 0x378]
mov r10, qword [rbp + 0x310]
mov r9, qword [rbp + 0x320]
mov r8, qword [rbp + 0x300]
mov rdx, qword [rbp + 0x2e8]
add rsp, 0x20
mov ecx, eax
mov rax, qword [rbp + 0x670]
mov dword [rbp + 0x1f4], ecx
mov r13b, byte [rax]
mov cl, 0x90
xor cl, 0x90
xor eax, eax
cmp r13b, cl
mov rcx, qword [rbp + 0x218]
mov qword [rbp + 0x6c8], r12
mov qword [rbp + 0x6d0], r15
mov qword [rbp + 0x6d8], r14
mov qword [rbp + 0x6e0], rbx
mov qword [rbp + 0x6e8], rdi
mov qword [rbp + 0x6f0], rsi
mov qword [rbp + 0x6f8], r11
mov qword [rbp + 0x700], r10
mov qword [rbp + 0x708], r9
mov qword [rbp + 0x710], r8
mov qword [rbp + 0x718], rdx
mov qword [rbp + 0x720], rcx
mov rcx, rax
mov qword [rbp + 0x728], rcx
mov qword [rbp + 0x730], rax
jne 0x14015376d
mov eax, dword [rbp + 0x1f4]
cmp eax, 0
jne 0x140150ce5
mov rsi, qword [rbp + 0x440]
mov rdi, qword [rbp + 0x5d0]
mov rbx, qword [rbp + 0x5b0]
mov r14, qword [rbp + 0x2c8]
mov r15, qword [rbp + 0x418]
mov r12, qword [rbp + 0x590]
mov ecx, 0x40
mov edx, 8
sub rsp, 0x20
call fcn.140029060
add rsp, 0x20
mov rcx, rax
mov rax, qword [0x14028cf78]
mov qword [rcx], rax
lea rax, [0x14028a788]
mov qword [rcx + 0x10], rax
mov rax, qword [0x14028a7c0]
mov qword [rcx + 0x18], rax
mov rax, qword [0x14028a7c8]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
lea rdx, [0x14028a788]
lea r8, [0x14028a793]
lea r9, [0x14028a7a1]
sub rsp, 0x30
mov qword [rsp + 0x20], 0x374d34
call fcn.140028fa8
mov r11, qword [rbp + 0x378]
mov r10, qword [rbp + 0x310]
mov r9, qword [rbp + 0x320]
mov r8, qword [rbp + 0x300]
mov rdx, qword [rbp + 0x2e8]
mov rcx, qword [rbp + 0x218]
add rsp, 0x30
xor eax, eax
mov qword [rbp + 0x6c8], r12
mov qword [rbp + 0x6d0], r15
mov qword [rbp + 0x6d8], r14
mov qword [rbp + 0x6e0], rbx
mov qword [rbp + 0x6e8], rdi
mov qword [rbp + 0x6f0], rsi
mov qword [rbp + 0x6f8], r11
mov qword [rbp + 0x700], r10
mov qword [rbp + 0x708], r9
mov qword [rbp + 0x710], r8
mov qword [rbp + 0x718], rdx
mov qword [rbp + 0x720], rcx
mov rcx, rax
mov qword [rbp + 0x728], rcx
mov qword [rbp + 0x730], rax
jmp 0x14015376d
mov rsi, qword [rbp + 0x440]
mov rdi, qword [rbp + 0x5d0]
mov rbx, qword [rbp + 0x5b0]
mov r14, qword [rbp + 0x2c8]
mov r15, qword [rbp + 0x418]
mov r12, qword [rbp + 0x590]
mov r13, qword [rbp + 0x670]
mov eax, 0x2a249aa6
xor eax, 0x2a249aa6
mov dword [rbp + 0x9cc], eax
mov dword [rbp + 0x9c8], 4
mov edx, 0x20000013
xor eax, eax
mov r8d, eax
lea r9, [rbp + 0x9cc]
lea rax, [rbp + 0x9c8]
sub rsp, 0x30
mov rcx, r14
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], 0
call fcn.1400fd830
mov r11, qword [rbp + 0x378]
mov r10, qword [rbp + 0x310]
mov r9, qword [rbp + 0x320]
mov r8, qword [rbp + 0x300]
mov rdx, qword [rbp + 0x2e8]
mov rcx, qword [rbp + 0x218]
add rsp, 0x30
mov dword [rbp + 0x1f0], eax
xor eax, eax
cmp byte [r13], 0
mov qword [rbp + 0x6c8], r12
mov qword [rbp + 0x6d0], r15
mov qword [rbp + 0x6d8], r14
mov qword [rbp + 0x6e0], rbx
mov qword [rbp + 0x6e8], rdi
mov qword [rbp + 0x6f0], rsi
mov qword [rbp + 0x6f8], r11
mov qword [rbp + 0x700], r10
mov qword [rbp + 0x708], r9
mov qword [rbp + 0x710], r8
mov qword [rbp + 0x718], rdx
mov qword [rbp + 0x720], rcx
mov rcx, rax
mov qword [rbp + 0x728], rcx
mov qword [rbp + 0x730], rax
jne 0x14015376d
mov eax, dword [rbp + 0x1f0]
cmp eax, 0
jne 0x140150f73
mov rsi, qword [rbp + 0x440]
mov rdi, qword [rbp + 0x5d0]
mov rbx, qword [rbp + 0x5b0]
mov r14, qword [rbp + 0x2c8]
mov r15, qword [rbp + 0x418]
mov r12, qword [rbp + 0x590]
movabs rcx, 0x346bf7264bf15033
movabs rax, 0x346bf7264bf15073
xor rcx, rax
movabs rdx, 0x6316d9bc42c94b92
movabs rax, 0x6316d9bc42c94b9a
xor rdx, rax
sub rsp, 0x20
call fcn.140029060
add rsp, 0x20
mov rcx, rax
mov rax, qword [0x14028cf78]
mov qword [rcx], rax
lea rax, [0x14028a788]
mov qword [rcx + 0x10], rax
mov rax, qword [0x14028a7c0]
mov qword [rcx + 0x18], rax
mov rax, qword [0x14028a7c8]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
lea rdx, [0x14028a788]
lea r8, [0x14028a793]
lea r9, [0x14028a7a1]
sub rsp, 0x30
mov qword [rsp + 0x20], 0xffffffffdf8e4562
call fcn.140028fa8
mov r11, qword [rbp + 0x378]
mov r10, qword [rbp + 0x310]
mov r9, qword [rbp + 0x320]
mov r8, qword [rbp + 0x300]
mov rdx, qword [rbp + 0x2e8]
mov rcx, qword [rbp + 0x218]
add rsp, 0x30
xor eax, eax
mov qword [rbp + 0x6c8], r12
mov qword [rbp + 0x6d0], r15
mov qword [rbp + 0x6d8], r14
mov qword [rbp + 0x6e0], rbx
mov qword [rbp + 0x6e8], rdi
mov qword [rbp + 0x6f0], rsi
mov qword [rbp + 0x6f8], r11
mov qword [rbp + 0x700], r10
mov qword [rbp + 0x708], r9
mov qword [rbp + 0x710], r8
mov qword [rbp + 0x718], rdx
mov qword [rbp + 0x720], rcx
mov rcx, rax
mov qword [rbp + 0x728], rcx
mov qword [rbp + 0x730], rax
jmp 0x14015376d
mov rsi, qword [rbp + 0x440]
mov rdi, qword [rbp + 0x5d0]
mov rbx, qword [rbp + 0x5b0]
mov r14, qword [rbp + 0x2c8]
mov r15, qword [rbp + 0x418]
mov r12, qword [rbp + 0x590]
mov r13, qword [rbp + 0x670]
mov rax, qword [rbp + 0x688]
movsxd rcx, dword [rbp + 0x9cc]
mov qword [rax + 0x20], rcx
mov dword [rbp + 0x9c4], 0
mov edx, 0x22
xor eax, eax
mov r8d, eax
lea r9, [rbp + 0x9c4]
sub rsp, 0x20
mov rcx, r14
call fcn.1400fd880
mov r11, qword [rbp + 0x378]
mov r10, qword [rbp + 0x310]
mov r9, qword [rbp + 0x320]
mov r8, qword [rbp + 0x300]
mov rdx, qword [rbp + 0x2e8]
mov rcx, qword [rbp + 0x218]
add rsp, 0x20
xor eax, eax
cmp byte [r13], 0
mov qword [rbp + 0x6c8], r12
mov qword [rbp + 0x6d0], r15
mov qword [rbp + 0x6d8], r14
mov qword [rbp + 0x6e0], rbx
mov qword [rbp + 0x6e8], rdi
mov qword [rbp + 0x6f0], rsi
mov qword [rbp + 0x6f8], r11
mov qword [rbp + 0x700], r10
mov qword [rbp + 0x708], r9
mov qword [rbp + 0x710], r8
mov qword [rbp + 0x718], rdx
mov qword [rbp + 0x720], rcx
mov rcx, rax
mov qword [rbp + 0x728], rcx
mov qword [rbp + 0x730], rax
jne 0x14015376d
mov eax, dword [rbp + 0x9c4]
mov dword [rbp + 0x1ec], eax
cmp eax, 1
jge 0x1401511ee
mov rsi, qword [rbp + 0x440]
mov rdi, qword [rbp + 0x5d0]
mov rbx, qword [rbp + 0x5b0]
mov r14, qword [rbp + 0x2c8]
mov r15, qword [rbp + 0x418]
mov r12, qword [rbp + 0x590]
movabs rcx, 0x26c9d0f794b3e218
movabs rax, 0x26c9d0f794b3e258
xor rcx, rax
movabs rdx, 0x1f06557694487ec4
movabs rax, 0x1f06557694487ecc
xor rdx, rax
sub rsp, 0x20
call fcn.140029060
add rsp, 0x20
mov rcx, rax
mov rax, qword [0x14028cf78]
mov qword [rcx], rax
lea rax, [0x14028a788]
mov qword [rcx + 0x10], rax
mov rax, qword [0x14028a7c0]
mov qword [rcx + 0x18], rax
mov rax, qword [0x14028a7c8]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
lea rdx, [0x14028a788]
lea r8, [0x14028a793]
lea r9, [0x14028a7a1]
sub rsp, 0x30
mov qword [rsp + 0x20], 0x2051450e
call fcn.140028fa8
mov r11, qword [rbp + 0x378]
mov r10, qword [rbp + 0x310]
mov r9, qword [rbp + 0x320]
mov r8, qword [rbp + 0x300]
mov rdx, qword [rbp + 0x2e8]
mov rcx, qword [rbp + 0x218]
add rsp, 0x30
xor eax, eax
mov qword [rbp + 0x6c8], r12
mov qword [rbp + 0x6d0], r15
mov qword [rbp + 0x6d8], r14
mov qword [rbp + 0x6e0], rbx
mov qword [rbp + 0x6e8], rdi
mov qword [rbp + 0x6f0], rsi
mov qword [rbp + 0x6f8], r11
mov qword [rbp + 0x700], r10
mov qword [rbp + 0x708], r9
mov qword [rbp + 0x710], r8
mov qword [rbp + 0x718], rdx
mov qword [rbp + 0x720], rcx
mov rcx, rax
mov qword [rbp + 0x728], rcx
mov qword [rbp + 0x730], rax
jmp 0x14015376d
mov eax, dword [rbp + 0x1ec]
mov eax, eax
mov edx, eax
lea rcx, [rbp + 0x9e8]
sub rsp, 0x20
call fcn.14002bfc0
add rsp, 0x20
mov rax, qword [rbp + 0x9e8]
mov qword [rbp + 0x1e0], rax
cmp rax, 1
jge 0x140151300
mov rsi, qword [rbp + 0x440]
mov rdi, qword [rbp + 0x5d0]
mov rbx, qword [rbp + 0x5b0]
mov r14, qword [rbp + 0x2c8]
mov r15, qword [rbp + 0x418]
mov r12, qword [rbp + 0x590]
mov rdx, qword [rbp + 0x1e0]
add rdx, 0xffffffffffffffff
xor eax, eax
mov ecx, eax
sub rsp, 0x20
call fcn.1400292ad
mov r11, qword [rbp + 0x378]
mov r10, qword [rbp + 0x310]
mov r9, qword [rbp + 0x320]
mov r8, qword [rbp + 0x300]
mov rdx, qword [rbp + 0x2e8]
mov rcx, qword [rbp + 0x218]
add rsp, 0x20
xor eax, eax
mov qword [rbp + 0x6c8], r12
mov qword [rbp + 0x6d0], r15
mov qword [rbp + 0x6d8], r14
mov qword [rbp + 0x6e0], rbx
mov qword [rbp + 0x6e8], rdi
mov qword [rbp + 0x6f0], rsi
mov qword [rbp + 0x6f8], r11
mov qword [rbp + 0x700], r10
mov qword [rbp + 0x708], r9
mov qword [rbp + 0x710], r8
mov qword [rbp + 0x718], rdx
mov qword [rbp + 0x720], rcx
mov rcx, rax
mov qword [rbp + 0x728], rcx
mov qword [rbp + 0x730], rax
jmp 0x14015376d
mov eax, dword [0x14027b458]
xor eax, dword [0x14027b45c]
or eax, 0x1ac6b35c
sub eax, 0xaadad1ef
and eax, 0x57fa51f8
cmp eax, 0xacca8998
jae 0x1401546e3
mov rcx, qword [rbp + 0x2c8]
mov rax, qword [rbp + 0x6a0]
mov edx, dword [0x14027b460]
mov r9d, dword [0x14027b464]
mov r8d, edx
and r8d, r9d
shl r8d, 1
xor edx, r9d
add edx, r8d
or edx, 0x7c7482c4
mov r10d, 0xffffffff
xor r10d, 0xa4e8ab4
mov r9d, edx
and r9d, r10d
mov r8d, edx
or r8d, r10d
xor r8d, 0xffffffff
imul r8d, r9d
mov r9d, edx
and r9d, 0xa4e8ab4
or edx, 0xa4e8ab4
imul edx, r9d
add edx, r8d
and edx, 0x10bcece3
mov dword [rbp + 0x1d4], edx
mov r8, qword [rax]
add r8, 8
mov edx, 0x22
lea r9, [rbp + 0x9c4]
sub rsp, 0x20
call fcn.1400fd880
mov rcx, qword [rbp + 0x670]
add rsp, 0x20
mov edx, eax
mov eax, dword [rbp + 0x1d4]
mov dword [rbp + 0x1d8], edx
cmp byte [rcx], 0
sete cl
mov byte [rbp + 0x1df], cl
cmp eax, 0x3f7809a9
ja 0x140151326
mov rcx, qword [rbp + 0x218]
mov rdx, qword [rbp + 0x2e8]
mov r8, qword [rbp + 0x300]
mov r9, qword [rbp + 0x320]
mov r10, qword [rbp + 0x310]
mov r11, qword [rbp + 0x378]
mov rsi, qword [rbp + 0x440]
mov rdi, qword [rbp + 0x5d0]
mov rbx, qword [rbp + 0x5b0]
mov r14, qword [rbp + 0x2c8]
mov r15, qword [rbp + 0x418]
mov r12, qword [rbp + 0x590]
mov r13b, byte [rbp + 0x1df]
xor eax, eax
test r13b, 1
mov qword [rbp + 0x6c8], r12
mov qword [rbp + 0x6d0], r15
mov qword [rbp + 0x6d8], r14
mov qword [rbp + 0x6e0], rbx
mov qword [rbp + 0x6e8], rdi
mov qword [rbp + 0x6f0], rsi
mov qword [rbp + 0x6f8], r11
mov qword [rbp + 0x700], r10
mov qword [rbp + 0x708], r9
mov qword [rbp + 0x710], r8
mov qword [rbp + 0x718], rdx
mov qword [rbp + 0x720], rcx
mov rcx, rax
mov qword [rbp + 0x728], rcx
mov qword [rbp + 0x730], rax
jne 0x1401514b8
jmp 0x14015376d
mov eax, dword [rbp + 0x1d8]
mov ecx, 0x47430ee6
xor ecx, 0x47430ee6
cmp eax, ecx
jne 0x140151609
mov rsi, qword [rbp + 0x440]
mov rdi, qword [rbp + 0x5d0]
mov rbx, qword [rbp + 0x5b0]
mov r14, qword [rbp + 0x2c8]
mov r15, qword [rbp + 0x418]
mov r12, qword [rbp + 0x590]
mov ecx, 0x40
mov edx, 8
sub rsp, 0x20
call fcn.140029060
add rsp, 0x20
mov rcx, rax
mov rax, qword [0x14028cf78]
mov qword [rcx], rax
lea rax, [0x14028a788]
mov qword [rcx + 0x10], rax
mov rax, qword [0x14028a7c0]
mov qword [rcx + 0x18], rax
mov rax, qword [0x14028a7c8]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
lea rdx, [0x14028a788]
lea r8, [0x14028a793]
lea r9, [0x14028a7a1]
sub rsp, 0x30
mov qword [rsp + 0x20], 0x9c0b36f
call fcn.140028fa8
mov r11, qword [rbp + 0x378]
mov r10, qword [rbp + 0x310]
mov r9, qword [rbp + 0x320]
mov r8, qword [rbp + 0x300]
mov rdx, qword [rbp + 0x2e8]
mov rcx, qword [rbp + 0x218]
add rsp, 0x30
xor eax, eax
mov qword [rbp + 0x6c8], r12
mov qword [rbp + 0x6d0], r15
mov qword [rbp + 0x6d8], r14
mov qword [rbp + 0x6e0], rbx
mov qword [rbp + 0x6e8], rdi
mov qword [rbp + 0x6f0], rsi
mov qword [rbp + 0x6f8], r11
mov qword [rbp + 0x700], r10
mov qword [rbp + 0x708], r9
mov qword [rbp + 0x710], r8
mov qword [rbp + 0x718], rdx
mov qword [rbp + 0x720], rcx
mov rcx, rax
mov qword [rbp + 0x728], rcx
mov qword [rbp + 0x730], rax
jmp 0x14015376d
mov rax, qword [rbp + 0x9e8]
mov qword [rbp + 0x1c8], rax
movabs rcx, 0x4f010b8676011057
movabs rdx, 0x4f010b8676011056
xor rcx, rdx
cmp rax, rcx
jge 0x140151729
mov rsi, qword [rbp + 0x440]
mov rdi, qword [rbp + 0x5d0]
mov rbx, qword [rbp + 0x5b0]
mov r14, qword [rbp + 0x2c8]
mov r15, qword [rbp + 0x418]
mov r12, qword [rbp + 0x590]
mov rdx, qword [rbp + 0x1c8]
movabs rax, 0x38d25e226343d307
movabs rcx, 0xc72da1dd9cbc2cf8
xor rax, rcx
add rdx, rax
xor eax, eax
mov ecx, eax
sub rsp, 0x20
call fcn.1400292ad
mov r11, qword [rbp + 0x378]
mov r10, qword [rbp + 0x310]
mov r9, qword [rbp + 0x320]
mov r8, qword [rbp + 0x300]
mov rdx, qword [rbp + 0x2e8]
mov rcx, qword [rbp + 0x218]
add rsp, 0x20
xor eax, eax
mov qword [rbp + 0x6c8], r12
mov qword [rbp + 0x6d0], r15
mov qword [rbp + 0x6d8], r14
mov qword [rbp + 0x6e0], rbx
mov qword [rbp + 0x6e8], rdi
mov qword [rbp + 0x6f0], rsi
mov qword [rbp + 0x6f8], r11
mov qword [rbp + 0x700], r10
mov qword [rbp + 0x708], r9
mov qword [rbp + 0x710], r8
mov qword [rbp + 0x718], rdx
mov qword [rbp + 0x720], rcx
mov rcx, rax
mov qword [rbp + 0x728], rcx
mov qword [rbp + 0x730], rax
jmp 0x14015376d
mov eax, dword [0x14027b468]
mov ecx, dword [0x14027b46c]
mov r8d, eax
and r8d, ecx
xor eax, ecx
or r8d, eax
mov eax, 0x4fdbe72
xor eax, 0x84ec8850
and r8d, eax
mov edx, 0xffffffff
xor edx, 0x5f07b60a
mov ecx, r8d
and ecx, edx
mov eax, r8d
or eax, edx
xor eax, 0xffffffff
imul eax, ecx
mov ecx, r8d
and ecx, 0x5f07b60a
or r8d, 0x5f07b60a
imul r8d, ecx
add r8d, eax
mov eax, r8d
xor eax, 0xffffffff
and eax, 0xc9914b68
mov edx, 0x26b8eeae
xor edx, 0xef29a5c6
mov ecx, 0xd40a7df0
xor ecx, 0x2bf5820f
xor edx, ecx
and r8d, edx
mov ecx, 0xffffffff
xor ecx, 0xf97125a1
and ecx, 0xc9914b68
and edx, 0xf97125a1
or eax, r8d
or ecx, edx
xor eax, ecx
cmp eax, 0xffc9ffa6
ja 0x1401546ec
mov rax, qword [rbp + 0x6a0]
mov edx, dword [0x14027b470]
add edx, dword [0x14027b474]
mov ecx, 0xf9922a4d
xor ecx, 0x3ce4014d
add edx, ecx
mov r8d, 0xffffffff
xor r8d, 0xf89584a7
mov ecx, edx
xor ecx, r8d
and ecx, edx
mov r8d, 0x8f4e194a
xor r8d, 0x51047bd6
mov edx, ecx
and edx, r8d
shl edx, 1
xor ecx, 0xde4a629c
add ecx, edx
mov dword [rbp + 0x1ac], ecx
mov rdx, qword [rax]
add rdx, 8
lea rcx, [rbp + 0x808]
sub rsp, 0x20
call fcn.14014c0a0
mov rcx, qword [rbp + 0x670]
mov eax, dword [rbp + 0x1ac]
add rsp, 0x20
mov rdx, qword [rbp + 0x808]
mov qword [rbp + 0x1b0], rdx
mov rdx, qword [rbp + 0x810]
mov qword [rbp + 0x1b8], rdx
mov cl, byte [rcx]
mov dl, 0xe8
xor dl, 0xe8
cmp cl, dl
sete cl
mov byte [rbp + 0x1c7], cl
cmp eax, 0xcb01d99
jb 0x1401517ce
mov rcx, qword [rbp + 0x218]
mov rdx, qword [rbp + 0x2e8]
mov r8, qword [rbp + 0x300]
mov r9, qword [rbp + 0x320]
mov r10, qword [rbp + 0x310]
mov r11, qword [rbp + 0x378]
mov rsi, qword [rbp + 0x440]
mov rdi, qword [rbp + 0x5d0]
mov rbx, qword [rbp + 0x5b0]
mov r14, qword [rbp + 0x2c8]
mov r15, qword [rbp + 0x418]
mov r12, qword [rbp + 0x590]
mov r13b, byte [rbp + 0x1c7]
xor eax, eax
test r13b, 1
mov qword [rbp + 0x6c8], r12
mov qword [rbp + 0x6d0], r15
mov qword [rbp + 0x6d8], r14
mov qword [rbp + 0x6e0], rbx
mov qword [rbp + 0x6e8], rdi
mov qword [rbp + 0x6f0], rsi
mov qword [rbp + 0x6f8], r11
mov qword [rbp + 0x700], r10
mov qword [rbp + 0x708], r9
mov qword [rbp + 0x710], r8
mov qword [rbp + 0x718], rdx
mov qword [rbp + 0x720], rcx
mov rcx, rax
mov qword [rbp + 0x728], rcx
mov qword [rbp + 0x730], rax
jne 0x140151957
jmp 0x14015376d
mov rsi, qword [rbp + 0x440]
mov rdi, qword [rbp + 0x5d0]
mov rbx, qword [rbp + 0x5b0]
mov r14, qword [rbp + 0x2c8]
mov r15, qword [rbp + 0x418]
mov r12, qword [rbp + 0x590]
mov r13, qword [rbp + 0x670]
mov rax, qword [rbp + 0x1b8]
mov rdx, qword [rbp + 0x1b0]
mov rcx, qword [rbp + 0x688]
add rcx, 0x10
mov qword [rbp + 0x7f8], rdx
mov qword [rbp + 0x800], rax
lea rdx, [rbp + 0x7f8]
sub rsp, 0x20
call fcn.14002b970
add rsp, 0x20
mov dword [rbp + 0x9c0], 0
mov edx, 0xca15a5
xor edx, 0xca15b3
xor eax, eax
mov r9d, eax
lea rax, [rbp + 0x9c0]
sub rsp, 0x30
mov rcx, r14
mov r8, r9
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], 0
call fcn.1400fd830
mov r11, qword [rbp + 0x378]
mov r10, qword [rbp + 0x310]
mov r9, qword [rbp + 0x320]
mov r8, qword [rbp + 0x300]
mov rdx, qword [rbp + 0x2e8]
mov rcx, qword [rbp + 0x218]
add rsp, 0x30
xor eax, eax
cmp byte [r13], 0
mov qword [rbp + 0x6c8], r12
mov qword [rbp + 0x6d0], r15
mov qword [rbp + 0x6d8], r14
mov qword [rbp + 0x6e0], rbx
mov qword [rbp + 0x6e8], rdi
mov qword [rbp + 0x6f0], rsi
mov qword [rbp + 0x6f8], r11
mov qword [rbp + 0x700], r10
mov qword [rbp + 0x708], r9
mov qword [rbp + 0x710], r8
mov qword [rbp + 0x718], rdx
mov qword [rbp + 0x720], rcx
mov rcx, rax
mov qword [rbp + 0x728], rcx
mov qword [rbp + 0x730], rax
jne 0x14015376d
mov eax, dword [rbp + 0x9c0]
mov dword [rbp + 0x1a8], eax
mov ecx, 0xec9829b6
xor ecx, 0xec9829b7
cmp eax, ecx
jge 0x140151bf8
mov rsi, qword [rbp + 0x440]
mov rdi, qword [rbp + 0x5d0]
mov rbx, qword [rbp + 0x5b0]
mov r14, qword [rbp + 0x2c8]
mov r15, qword [rbp + 0x418]
mov r12, qword [rbp + 0x590]
mov ecx, 0x40
mov edx, 8
sub rsp, 0x20
call fcn.140029060
add rsp, 0x20
mov rcx, rax
mov rax, qword [0x14028cf78]
mov qword [rcx], rax
lea rax, [0x14028a788]
mov qword [rcx + 0x10], rax
mov rax, qword [0x14028a7c0]
mov qword [rcx + 0x18], rax
mov rax, qword [0x14028a7c8]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
lea rdx, [0x14028a788]
lea r8, [0x14028a793]
lea r9, [0x14028a7a1]
sub rsp, 0x30
mov qword [rsp + 0x20], 0x14811843
call fcn.140028fa8
mov r11, qword [rbp + 0x378]
mov r10, qword [rbp + 0x310]
mov r9, qword [rbp + 0x320]
mov r8, qword [rbp + 0x300]
mov rdx, qword [rbp + 0x2e8]
mov rcx, qword [rbp + 0x218]
add rsp, 0x30
xor eax, eax
mov qword [rbp + 0x6c8], r12
mov qword [rbp + 0x6d0], r15
mov qword [rbp + 0x6d8], r14
mov qword [rbp + 0x6e0], rbx
mov qword [rbp + 0x6e8], rdi
mov qword [rbp + 0x6f0], rsi
mov qword [rbp + 0x6f8], r11
mov qword [rbp + 0x700], r10
mov qword [rbp + 0x708], r9
mov qword [rbp + 0x710], r8
mov qword [rbp + 0x718], rdx
mov qword [rbp + 0x720], rcx
mov rcx, rax
mov qword [rbp + 0x728], rcx
mov qword [rbp + 0x730], rax
jmp 0x14015376d
mov rcx, qword [rbp + 0x680]
mov eax, dword [rbp + 0x1a8]
mov eax, eax
mov edx, eax
sub rsp, 0x20
call fcn.14002bfc0
mov rax, qword [rbp + 0x680]
add rsp, 0x20
mov rax, qword [rax]
mov qword [rbp + 0x1a0], rax
cmp rax, 1
jge 0x140151d23
mov rsi, qword [rbp + 0x440]
mov rdi, qword [rbp + 0x5d0]
mov rbx, qword [rbp + 0x5b0]
mov r14, qword [rbp + 0x2c8]
mov r15, qword [rbp + 0x418]
mov r12, qword [rbp + 0x590]
mov rdx, qword [rbp + 0x1a0]
movabs rax, 0x9f1277408ff1b95e
movabs rcx, 0x60ed88bf700e46a1
xor rax, rcx
add rdx, rax
xor eax, eax
mov ecx, eax
sub rsp, 0x20
call fcn.1400292ad
mov r11, qword [rbp + 0x378]
mov r10, qword [rbp + 0x310]
mov r9, qword [rbp + 0x320]
mov r8, qword [rbp + 0x300]
mov rdx, qword [rbp + 0x2e8]
mov rcx, qword [rbp + 0x218]
add rsp, 0x20
xor eax, eax
mov qword [rbp + 0x6c8], r12
mov qword [rbp + 0x6d0], r15
mov qword [rbp + 0x6d8], r14
mov qword [rbp + 0x6e0], rbx
mov qword [rbp + 0x6e8], rdi
mov qword [rbp + 0x6f0], rsi
mov qword [rbp + 0x6f8], r11
mov qword [rbp + 0x700], r10
mov qword [rbp + 0x708], r9
mov qword [rbp + 0x710], r8
mov qword [rbp + 0x718], rdx
mov qword [rbp + 0x720], rcx
mov rcx, rax
mov qword [rbp + 0x728], rcx
mov qword [rbp + 0x730], rax
jmp 0x14015376d
mov rsi, qword [rbp + 0x440]
mov rdi, qword [rbp + 0x5d0]
mov rbx, qword [rbp + 0x5b0]
mov r14, qword [rbp + 0x2c8]
mov r15, qword [rbp + 0x418]
mov r12, qword [rbp + 0x590]
mov r13, qword [rbp + 0x670]
mov rax, qword [rbp + 0x6a8]
mov r9, qword [rax]
add r9, 8
mov edx, 0x16
xor eax, eax
mov r8d, eax
lea rax, [rbp + 0x9c0]
sub rsp, 0x30
mov rcx, r14
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], 0
call fcn.1400fd830
mov r11, qword [rbp + 0x378]
mov r10, qword [rbp + 0x310]
mov r9, qword [rbp + 0x320]
mov r8, qword [rbp + 0x300]
mov rdx, qword [rbp + 0x2e8]
mov rcx, qword [rbp + 0x218]
add rsp, 0x30
mov dword [rbp + 0x19c], eax
xor eax, eax
cmp byte [r13], 0
mov qword [rbp + 0x6c8], r12
mov qword [rbp + 0x6d0], r15
mov qword [rbp + 0x6d8], r14
mov qword [rbp + 0x6e0], rbx
mov qword [rbp + 0x6e8], rdi
mov qword [rbp + 0x6f0], rsi
mov qword [rbp + 0x6f8], r11
mov qword [rbp + 0x700], r10
mov qword [rbp + 0x708], r9
mov qword [rbp + 0x710], r8
mov qword [rbp + 0x718], rdx
mov qword [rbp + 0x720], rcx
mov rcx, rax
mov qword [rbp + 0x728], rcx
mov qword [rbp + 0x730], rax
jne 0x14015376d
mov eax, dword [rbp + 0x19c]
cmp eax, 0
jne 0x140151f7a
mov rsi, qword [rbp + 0x440]
mov rdi, qword [rbp + 0x5d0]
mov rbx, qword [rbp + 0x5b0]
mov r14, qword [rbp + 0x2c8]
mov r15, qword [rbp + 0x418]
mov r12, qword [rbp + 0x590]
mov ecx, 0x40
mov edx, 8
sub rsp, 0x20
call fcn.140029060
add rsp, 0x20
mov rcx, rax
mov rax, qword [0x14028cf78]
mov qword [rcx], rax
lea rax, [0x14028a788]
mov qword [rcx + 0x10], rax
mov rax, qword [0x14028a7c0]
mov qword [rcx + 0x18], rax
mov rax, qword [0x14028a7c8]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
lea rdx, [0x14028a788]
lea r8, [0x14028a793]
lea r9, [0x14028a7a1]
sub rsp, 0x30
mov qword [rsp + 0x20], 0x3fe1e6be
call fcn.140028fa8
mov r11, qword [rbp + 0x378]
mov r10, qword [rbp + 0x310]
mov r9, qword [rbp + 0x320]
mov r8, qword [rbp + 0x300]
mov rdx, qword [rbp + 0x2e8]
mov rcx, qword [rbp + 0x218]
add rsp, 0x30
xor eax, eax
mov qword [rbp + 0x6c8], r12
mov qword [rbp + 0x6d0], r15
mov qword [rbp + 0x6d8], r14
mov qword [rbp + 0x6e0], rbx
mov qword [rbp + 0x6e8], rdi
mov qword [rbp + 0x6f0], rsi
mov qword [rbp + 0x6f8], r11
mov qword [rbp + 0x700], r10
mov qword [rbp + 0x708], r9
mov qword [rbp + 0x710], r8
mov qword [rbp + 0x718], rdx
mov qword [rbp + 0x720], rcx
mov rcx, rax
mov qword [rbp + 0x728], rcx
mov qword [rbp + 0x730], rax
jmp 0x14015376d
mov rax, qword [rbp + 0x680]
mov rax, qword [rax]
mov qword [rbp + 0x190], rax
cmp rax, 1
jge 0x140152071
mov rsi, qword [rbp + 0x440]
mov rdi, qword [rbp + 0x5d0]
mov rbx, qword [rbp + 0x5b0]
mov r14, qword [rbp + 0x2c8]
mov r15, qword [rbp + 0x418]
mov r12, qword [rbp + 0x590]
mov rdx, qword [rbp + 0x190]
add rdx, 0xffffffffffffffff
xor eax, eax
mov ecx, eax
sub rsp, 0x20
call fcn.1400292ad
mov r11, qword [rbp + 0x378]
mov r10, qword [rbp + 0x310]
mov r9, qword [rbp + 0x320]
mov r8, qword [rbp + 0x300]
mov rdx, qword [rbp + 0x2e8]
mov rcx, qword [rbp + 0x218]
add rsp, 0x20
xor eax, eax
mov qword [rbp + 0x6c8], r12
mov qword [rbp + 0x6d0], r15
mov qword [rbp + 0x6d8], r14
mov qword [rbp + 0x6e0], rbx
mov qword [rbp + 0x6e8], rdi
mov qword [rbp + 0x6f0], rsi
mov qword [rbp + 0x6f8], r11
mov qword [rbp + 0x700], r10
mov qword [rbp + 0x708], r9
mov qword [rbp + 0x710], r8
mov qword [rbp + 0x718], rdx
mov qword [rbp + 0x720], rcx
mov rcx, rax
mov qword [rbp + 0x728], rcx
mov qword [rbp + 0x730], rax
jmp 0x14015376d
mov rsi, qword [rbp + 0x440]
mov rdi, qword [rbp + 0x5d0]
mov rbx, qword [rbp + 0x5b0]
mov r14, qword [rbp + 0x2c8]
mov r15, qword [rbp + 0x418]
mov r12, qword [rbp + 0x590]
mov r13, qword [rbp + 0x670]
mov rax, qword [rbp + 0x6a8]
mov rdx, qword [rax]
add rdx, 8
lea rcx, [rbp + 0x7e8]
sub rsp, 0x20
call fcn.14014c0a0
mov r11, qword [rbp + 0x378]
mov r10, qword [rbp + 0x310]
mov r9, qword [rbp + 0x320]
mov r8, qword [rbp + 0x300]
mov rdx, qword [rbp + 0x2e8]
mov rcx, qword [rbp + 0x218]
add rsp, 0x20
mov rax, qword [rbp + 0x7e8]
mov qword [rbp + 0x180], rax
mov rax, qword [rbp + 0x7f0]
mov qword [rbp + 0x188], rax
xor eax, eax
cmp byte [r13], 0
mov qword [rbp + 0x6c8], r12
mov qword [rbp + 0x6d0], r15
mov qword [rbp + 0x6d8], r14
mov qword [rbp + 0x6e0], rbx
mov qword [rbp + 0x6e8], rdi
mov qword [rbp + 0x6f0], rsi
mov qword [rbp + 0x6f8], r11
mov qword [rbp + 0x700], r10
mov qword [rbp + 0x708], r9
mov qword [rbp + 0x710], r8
mov qword [rbp + 0x718], rdx
mov qword [rbp + 0x720], rcx
mov rcx, rax
mov qword [rbp + 0x728], rcx
mov qword [rbp + 0x730], rax
jne 0x14015376d
mov rdx, qword [rbp + 0x640]
mov rax, qword [rbp + 0x188]
mov rcx, qword [rbp + 0x180]
mov qword [rdx], rcx
mov qword [rdx + 8], rax
mov rax, qword [0x14028a7b0]
mov qword [rbp + 0x7c8], rax
mov rax, qword [0x14028a7b8]
mov qword [rbp + 0x7d0], rax
lea rcx, [rbp + 0x7d8]
lea r8, [rbp + 0x7c8]
mov r9, 0xffffffffffffffff
sub rsp, 0x20
call fcn.1400688b0
mov rcx, qword [rbp + 0x670]
add rsp, 0x20
mov rax, qword [rbp + 0x7d8]
mov qword [rbp + 0x160], rax
mov rax, qword [rbp + 0x7e0]
mov qword [rbp + 0x168], rax
xor eax, eax
cmp byte [rcx], 0
mov rcx, rax
mov qword [rbp + 0x170], rcx
mov qword [rbp + 0x178], rax
jne 0x1401534a1
mov rax, qword [rbp + 0x160]
cmp rax, 0
jne 0x1401522ba
mov ecx, 0x40
mov edx, 8
sub rsp, 0x20
call fcn.140029060
add rsp, 0x20
mov rcx, rax
mov rax, qword [0x14028cf78]
mov qword [rcx], rax
lea rax, [0x14028a788]
mov qword [rcx + 0x10], rax
mov rax, qword [0x14028a7c0]
mov qword [rcx + 0x18], rax
mov rax, qword [0x14028a7c8]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
lea rdx, [0x14028a788]
lea r8, [0x14028a793]
lea r9, [0x14028a7a1]
sub rsp, 0x30
mov qword [rsp + 0x20], 0x495cc773
call fcn.140028fa8
mov rax, qword [rbp + 0x168]
add rsp, 0x30
xor ecx, ecx
mov qword [rbp + 0x170], rcx
mov qword [rbp + 0x178], rax
jmp 0x1401534a1
mov rax, qword [rbp + 0x160]
mov qword [rbp + 0x7b8], 0
lea rcx, [rbp + 0x7b8]
add rcx, 8
mov qword [rbp + 0x158], rcx
mov qword [rbp + 0x7c0], 0
cmp rax, 0
jle 0x1401526f1
mov rax, qword [rbp + 0x668]
mov rcx, qword [rbp + 0x650]
mov rdx, qword [rbp + 0x648]
lea r8, [rbp + 0x790]
add r8, 8
mov qword [rbp + 0x118], r8
add rdx, 8
mov qword [rbp + 0x120], rdx
lea rdx, [rbp + 0x760]
add rdx, 8
mov qword [rbp + 0x128], rdx
add rcx, 8
mov qword [rbp + 0x130], rcx
lea rcx, [rbp + 0x760]
add rcx, 0x10
mov qword [rbp + 0x138], rcx
lea rcx, [rbp + 0x760]
add rcx, 0x18
mov qword [rbp + 0x140], rcx
add rax, 8
mov qword [rbp + 0x148], rax
xor eax, eax
mov qword [rbp + 0x150], rax
mov rax, qword [rbp + 0x168]
mov rcx, qword [rbp + 0x150]
mov qword [rbp + 0x110], rcx
shl rcx, 4
movups xmm0, xmmword [rax + rcx + 8]
movaps xmmword [rbp + 0x7a0], xmm0
sub rsp, 0x20
lea rcx, [rbp + 0x7b8]
lea rdx, [rbp + 0x7a0]
call fcn.1400344e0
mov rax, qword [rbp + 0x110]
add rsp, 0x20
test rax, rax
sete al
mov rcx, qword [rbp + 0x7b8]
test rcx, rcx
sete cl
or al, cl
test al, 1
jne 0x140152642
mov rax, qword [rbp + 0x7b8]
mov qword [rbp + 0x780], rax
mov rax, qword [rbp + 0x7c0]
mov qword [rbp + 0x788], rax
lea rcx, [rbp + 0x790]
lea rdx, [rbp + 0x780]
mov r8d, 0x3a
mov r9d, 1
sub rsp, 0x20
call fcn.140064920
mov rcx, qword [rbp + 0x118]
mov rax, qword [rbp + 0x670]
add rsp, 0x20
mov rdx, qword [rbp + 0x790]
mov qword [rbp + 0x100], rdx
mov rcx, qword [rcx]
mov qword [rbp + 0x108], rcx
cmp byte [rax], 0
jne 0x140152694
mov rax, qword [rbp + 0x100]
movabs rcx, 0x457445118c91368
movabs rdx, 0x457445118c9136a
xor rcx, rdx
cmp rax, rcx
jne 0x140152613
mov rcx, qword [rbp + 0x688]
sub rsp, 0x20
call fcn.1401382c0
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x670]
mov qword [rbp + 0xf8], rcx
cmp byte [rax], 0
jne 0x14015260e
mov rcx, qword [rbp + 0x648]
mov rax, qword [rbp + 0x108]
mov rdx, qword [rax + 8]
mov qword [rbp + 0x750], rdx
mov rax, qword [rax + 0x10]
mov qword [rbp + 0x758], rax
lea rdx, [rbp + 0x750]
mov r9d, 1
lea rax, [0x14028a800]
sub rsp, 0x30
mov r8d, r9d
mov qword [rsp + 0x20], rax
call fcn.140064fc0
mov rdx, qword [rbp + 0x648]
mov rcx, qword [rbp + 0x120]
mov rax, qword [rbp + 0x670]
add rsp, 0x30
mov rdx, qword [rdx]
mov qword [rbp + 0xe8], rdx
mov rcx, qword [rcx]
mov qword [rbp + 0xf0], rcx
cmp byte [rax], 0
jne 0x14015260e
mov rcx, qword [rbp + 0x650]
mov rdx, qword [rbp + 0x660]
mov rax, qword [rbp + 0x108]
mov r8, qword [rbp + 0x128]
mov r9, qword [rbp + 0xf0]
mov r10, qword [rbp + 0xe8]
mov qword [rbp + 0x760], r10
mov qword [r8], r9
mov r8, qword [rax + 0x18]
mov qword [rdx], r8
mov rax, qword [rax + 0x20]
mov qword [rdx + 8], rax
mov r8b, 1
xor r8b, 0
xor eax, eax
mov r9b, al
xor r9b, 1
sub rsp, 0x30
lea r10, [0x14028a800]
mov rax, rsp
mov qword [rax + 0x20], r10
and r8b, 1
and r9b, 1
call fcn.140064fc0
mov rdx, qword [rbp + 0x650]
mov rcx, qword [rbp + 0x130]
mov rax, qword [rbp + 0x670]
add rsp, 0x30
mov rdx, qword [rdx]
mov qword [rbp + 0xd8], rdx
mov rcx, qword [rcx]
mov qword [rbp + 0xe0], rcx
cmp byte [rax], 0
jne 0x14015260e
mov rcx, qword [rbp + 0xf8]
mov rax, qword [rbp + 0x140]
mov rdx, qword [rbp + 0xe0]
mov r8, qword [rbp + 0x138]
mov r9, qword [rbp + 0xd8]
mov qword [r8], r9
mov qword [rax], rdx
lea rdx, [rbp + 0x760]
sub rsp, 0x20
call fcn.14003c310
add rsp, 0x20
jmp 0x140152613
jmp 0x140152694
mov rcx, qword [rbp + 0x668]
mov rax, qword [rbp + 0x148]
mov rdx, qword [rbp + 0x108]
mov r8, qword [rbp + 0x100]
mov qword [rcx], r8
mov qword [rax], rdx
sub rsp, 0x20
call fcn.1400333b0
add rsp, 0x20
mov rcx, qword [rbp + 0x160]
mov rax, qword [rbp + 0x110]
movabs rdx, 0x5d0a332d76ab6eac
movabs r8, 0x5d0a332d76ab6eac
xor rdx, r8
movabs r8, 0x319ff07654d0755c
movabs r9, 0x319ff07654d0755d
xor r8, r9
sub rdx, r8
sub rax, rdx
cmp rax, rcx
mov qword [rbp + 0x150], rax
jne 0x14015237a
mov rax, qword [rbp + 0x158]
mov rax, qword [rax]
mov qword [rbp + 0xd0], rax
cmp rax, 0
je 0x1401526f1
mov rax, qword [rbp + 0xd0]
mov rax, qword [rax]
movabs rcx, 0x43178f9fed222a00
movabs rdx, 0x3178f9fed222a00
xor rcx, rdx
and rax, rcx
cmp rax, 0
jne 0x1401526f1
mov rcx, qword [rbp + 0xd0]
sub rsp, 0x20
call fcn.14001d1d6
add rsp, 0x20
mov rax, qword [rbp + 0x168]
mov rcx, qword [rbp + 0x160]
mov rdx, qword [rbp + 0x670]
mov dl, byte [rdx]
cmp dl, 0
mov qword [rbp + 0x170], rcx
mov qword [rbp + 0x178], rax
jne 0x1401534a1
mov rcx, qword [rbp + 0x688]
add rcx, 0x28
mov qword [rbp + 0xb8], rcx
mov edx, 0x2000
sub rsp, 0x20
call fcn.14002bfc0
mov rax, qword [rbp + 0x688]
add rsp, 0x20
mov ecx, 0x74352cc0
xor ecx, 0x74352cc0
mov dword [rbp + 0x74c], ecx
add rax, 0x30
mov qword [rbp + 0xc0], rax
xor eax, eax
mov qword [rbp + 0xc8], rax
mov rax, qword [rbp + 0xc8]
mov qword [rbp + 0xb0], rax
mov r11d, dword [0x14027b478]
mov eax, 0x2213e91
xor eax, 0x133386fa
xor r11d, eax
mov r10d, dword [0x14027b47c]
mov ecx, r11d
xor ecx, 0xffffffff
mov r8d, r10d
xor r8d, 0xffffffff
mov edx, 0x4d6ded08
xor edx, 0xd7e01502
mov eax, 0x978285b4
xor eax, 0x687d7a4b
xor edx, eax
mov r9d, 0xbdea1635
xor r9d, 0x2767ee3f
mov eax, ecx
and eax, r9d
and r11d, edx
mov r9d, r8d
and r9d, 0x9a8df80a
and r10d, edx
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, r8d
xor ecx, 0xffffffff
or edx, 0x9a8df80a
and ecx, edx
or eax, ecx
mov ecx, 0x2b470e51
xor edx, edx
div ecx
mov r8d, 0x8ed25385
xor r8d, 0x83a57c81
mov ecx, 0xbac77e6d
xor ecx, 0x45388192
xor r8d, ecx
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0xd772f04
or eax, 0xd772f04
imul eax, edx
add eax, ecx
mov ecx, 0x1ebc7302
xor ecx, 0x188d29c7
or eax, ecx
cmp eax, 0x63b7d43d
je 0x1401546f5
mov rdx, qword [rbp + 0xb0]
mov rcx, qword [rbp + 0xb8]
mov eax, dword [0x14027b480]
or eax, dword [0x14027b484]
xor r8d, r8d
sub r8d, 0x5b8a2077
sub eax, r8d
mov r8d, eax
and r8d, 0x45ac7073
shl r8d, 1
add eax, 0x45ac7073
sub eax, r8d
or eax, 0xa7a874c3
mov rcx, qword [rcx]
mov qword [rbp + 0xa0], rcx
cmp rcx, rdx
setg cl
mov byte [rbp + 0xaf], cl
cmp eax, 0xc10a28c3
ja 0x1401546f5
mov rax, qword [rbp + 0xb0]
mov rcx, qword [rbp + 0xa0]
mov dl, byte [rbp + 0xaf]
test dl, 1
mov qword [rbp + 0x90], rcx
mov qword [rbp + 0x98], rax
jne 0x140152922
jmp 0x1401528e8
mov rdx, qword [rbp + 0x90]
mov rcx, qword [rbp + 0x98]
movabs rax, 0x88c039330bc516b4
movabs r8, 0x773fc6ccf43ae94b
xor rax, r8
add rdx, rax
sub rsp, 0x20
call fcn.1400292ad
add rsp, 0x20
jmp 0x14015314d
mov eax, dword [0x14027b488]
xor eax, 0xd1da2fc3
mov ecx, dword [0x14027b48c]
mov edx, 0x198afed1
xor edx, 0xa976d675
xor ecx, edx
add eax, ecx
mov ecx, 0x5830ebf5
xor ecx, 0xf6ab3997
add eax, ecx
mov ecx, 0x15163815
xor ecx, 0x15163815
mov edx, 0xab9e2eaf
xor edx, 0xff275710
sub ecx, edx
sub eax, ecx
or eax, 0xa584d7ce
cmp eax, 0x674db90
jbe 0x1401546fe
mov r8, qword [rbp + 0xb0]
mov rcx, qword [rbp + 0xa0]
mov eax, dword [0x14027b490]
mov r10d, dword [0x14027b494]
mov r11d, r10d
xor r11d, 0xffffffff
mov r9d, eax
and r9d, r11d
mov edx, eax
or edx, r11d
xor edx, 0xffffffff
imul edx, r9d
mov r9d, eax
and r9d, r10d
or eax, r10d
imul eax, r9d
add eax, edx
or eax, 0x6ebaac24
mov r9d, 0xeb0817ca
xor edx, edx
div r9d
or eax, eax
xor eax, 0xffffffff
mov edx, 0xbe2ec5b7
xor edx, 0x9cb32eaa
mov r9d, 0xe19e3307
xor r9d, 0xc303d81a
or edx, r9d
xor edx, 0xffffffff
xor eax, 0xffffffff
xor edx, 0xffffffff
and eax, edx
mov rdx, rcx
sub rdx, r8
mov qword [rbp + 0x80], rdx
mov r9, rdx
xor r9, rcx
xor r9, 0xffffffffffffffff
mov r10, rcx
and r10, r9
movabs r9, 0x25cdd3736890236a
movabs r11, 0x25cdd37368902368
xor r9, r11
imul r9, r10
sub r9, rcx
mov rcx, rdx
sub rcx, r9
cmp rcx, 0
setl cl
xor rdx, r8
cmp rdx, 0xffffffffffffffff
setg dl
and cl, dl
mov byte [rbp + 0x8f], cl
cmp eax, 0xa35dfd83
je 0x140152979
mov al, byte [rbp + 0x8f]
test al, 1
jne 0x140152a6f
jmp 0x140152a81
sub rsp, 0x20
call fcn.14000f24b
add rsp, 0x20
jmp 0x14015314d
mov rax, qword [rbp + 0x80]
xor ecx, ecx
sub rcx, rax
xor eax, eax
sub rax, 0xffffffff80000000
add rcx, rax
xor eax, eax
sub rax, rcx
movabs rcx, 0x956789caad8c2845
movabs rdx, 0x6a987635ad8c2845
xor rcx, rdx
cmp rax, rcx
jae 0x140152bc8
mov eax, dword [0x14027b498]
mov ecx, dword [0x14027b49c]
mov edx, 0xbc79befe
xor edx, 0x510f4b3d
xor ecx, edx
or eax, ecx
xor eax, 0xb03fa87e
or eax, eax
mov ecx, 0x2bb3c995
xor ecx, 0xd44c366a
xor eax, ecx
mov ecx, 0xffffffff
xor ecx, 0xd5385df2
mov edx, 0xffffffff
xor edx, 0xd5385df2
and ecx, edx
or eax, ecx
xor eax, 0xffffffff
mov r8d, 0x7975a791
xor r8d, 0x252bbfa0
mov ecx, 0xb8042db3
xor ecx, 0x47fbd24c
xor r8d, ecx
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
mov r8d, 0xeddef44d
xor r8d, 0x12210bb2
xor ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x5c5e1831
or eax, 0x5c5e1831
imul eax, edx
add eax, ecx
cmp eax, 0xa0d26577
jbe 0x140154707
mov rcx, qword [rbp + 0x80]
mov edx, dword [0x14027b4a0]
sub edx, dword [0x14027b4a4]
or edx, 0xdc2461b2
mov eax, edx
xor eax, 0xffffffff
and eax, 0x265e776c
mov r8d, 0xffffffff
xor r8d, 0x265e776c
and edx, r8d
or eax, edx
add eax, 0x6f3f9a15
mov dword [rbp + 0x7c], eax
mov rdx, 0xffffffff80000000
mov r8d, 0x7fffffff
sub rsp, 0x20
call fcn.14001a720
mov eax, dword [rbp + 0x7c]
add rsp, 0x20
cmp eax, 0xac248f19
je 0x140154707
jmp 0x14015314d
mov rcx, qword [rbp + 0x2c8]
mov rax, qword [rbp + 0x80]
mov r8, qword [rbp + 0xb0]
mov rdx, qword [rbp + 0xc0]
mov rdx, qword [rdx]
add rdx, 8
add rdx, r8
mov r8d, eax
lea r9, [rbp + 0x74c]
sub rsp, 0x20
call fcn.1400fd95d
add rsp, 0x20
mov ecx, eax
mov rax, qword [rbp + 0x670]
mov dword [rbp + 0x78], ecx
mov al, byte [rax]
mov cl, 0x3c
xor cl, 0x3c
cmp al, cl
jne 0x14015314d
mov eax, dword [rbp + 0x78]
mov ecx, 0x72bb367a
xor ecx, 0x72bb367a
cmp eax, ecx
jne 0x140152cd7
movabs rcx, 0x5473c3463822a6b6
movabs rax, 0x5473c3463822a6f6
xor rcx, rax
movabs rdx, 0xcd74074eb2d35db1
movabs rax, 0xcd74074eb2d35db9
xor rdx, rax
sub rsp, 0x20
call fcn.140029060
add rsp, 0x20
mov rcx, rax
mov rax, qword [0x14028cf78]
mov qword [rcx], rax
lea rax, [0x14028a788]
mov qword [rcx + 0x10], rax
mov rax, qword [0x14028a7c0]
mov qword [rcx + 0x18], rax
mov rax, qword [0x14028a7c8]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
lea rdx, [0x14028a788]
lea r8, [0x14028a793]
lea r9, [0x14028a7a1]
sub rsp, 0x30
mov qword [rsp + 0x20], 0x392ac605
call fcn.140028fa8
add rsp, 0x30
jmp 0x14015314d
mov r9, qword [rbp + 0xb0]
mov eax, dword [rbp + 0x74c]
mov dword [rbp + 0x6c], eax
movsxd rcx, eax
movabs rax, 0xe2a7961255b95cfe
movabs rdx, 0x4c80109659da456d
xor rax, rdx
mov rdx, r9
add rdx, rax
add rdx, rcx
movabs rax, 0xae2786840c631993
sub rdx, rax
mov qword [rbp + 0x70], rdx
mov r8, rdx
xor r8, 0xffffffffffffffff
mov rax, r9
and rax, r8
xor r9, 0xffffffffffffffff
mov r8, rdx
and r8, r9
or rax, r8
xor rdx, rcx
movabs rcx, 0x2ed1028c45c660e6
movabs r8, 0xd12efd73ba399f19
xor rcx, r8
xor rax, rcx
xor rdx, 0xffffffffffffffff
movabs rcx, 0xe0b10562a0964cb7
movabs r8, 0x3c7d9de2fdd48272
xor rcx, r8
movabs r8, 0xb6853377f8eb2489
movabs r9, 0x497acc880714db76
xor r8, r9
xor rcx, r8
or rax, rdx
movabs rdx, 0xdccc98805d42cec5
or rcx, rdx
movabs rdx, 0xa72af96d9ea40794
movabs r8, 0x58d50692615bf86b
xor rdx, r8
xor rax, rdx
and rax, rcx
cmp rax, 0
jge 0x140152dd0
sub rsp, 0x20
call fcn.14000f24b
add rsp, 0x20
jmp 0x14015314d
mov eax, dword [0x14027b4a8]
add eax, dword [0x14027b4ac]
mov edx, 0x2dbdd927
xor edx, 0xd24226d8
mov ecx, eax
xor ecx, edx
mov edx, 0x3bc9b7a1
xor edx, 0xc3362004
and edx, ecx
mov r8d, 0xa2641506
xor r8d, 0x5a9b82a3
mov ecx, 0x50818cbf
xor ecx, 0xaf7e7340
xor r8d, ecx
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov r8d, 0xd503a6a3
xor r8d, 0x2dfc3106
mov edx, eax
and edx, r8d
or eax, 0xf8ff97a5
imul eax, edx
add eax, ecx
add eax, 0x54760307
and eax, 0x598f3fb0
mov ecx, 0xe201639f
xor ecx, 0x49417448
cmp eax, ecx
ja 0x140154710
mov ecx, dword [rbp + 0x6c]
mov eax, dword [0x14027b4b0]
add eax, dword [0x14027b4b4]
imul eax, eax, 0x84287b26
mov edx, 0xdddd951e
xor edx, 0xd674a5bf
sub eax, edx
mov r8d, 0x2064a445
xor edx, edx
div r8d
cmp ecx, 0
sete cl
mov byte [rbp + 0x6b], cl
cmp eax, 0xfc940079
je 0x140152e54
mov al, byte [rbp + 0x6b]
test al, 1
jne 0x1401532e6
jmp 0x140152ea5
mov r11d, dword [0x14027b4b8]
mov eax, 0x2c5a9629
xor eax, 0xc45b4598
xor r11d, eax
mov r10d, dword [0x14027b4bc]
mov ecx, r11d
xor ecx, 0xffffffff
mov edx, r10d
xor edx, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0xc240b0e3
mov eax, ecx
and eax, 0xc240b0e3
and r11d, r8d
mov r9d, edx
and r9d, 0xc240b0e3
and r10d, r8d
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, edx
xor ecx, 0xffffffff
mov edx, 0xbe53018f
xor edx, 0x7c13b16c
or edx, r8d
and ecx, edx
or eax, ecx
mov edx, 0x3d50f299
xor edx, 0xc2af0d66
mov ecx, eax
xor ecx, edx
mov edx, 0x3d9bfc09
xor edx, 0xffb77e11
and ecx, edx
mov edx, 0xffffffff
xor edx, 0xc22c8218
and eax, edx
sub eax, ecx
mov r8d, 0xffffffff
xor r8d, 0x62c34e2d
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov r8d, 0xe121fb7f
xor r8d, 0x83e2b552
mov edx, eax
and edx, r8d
mov r8d, 0x34e8b07c
xor r8d, 0x562bfe51
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, 0x2515d72d
xor ecx, 0xcbeb1263
sub eax, ecx
cmp eax, 0xea663408
ja 0x140154719
mov rcx, qword [rbp + 0x70]
mov edx, dword [0x14027b4c0]
mov r8d, dword [0x14027b4c4]
mov eax, edx
and eax, r8d
xor eax, 0xffffffff
and edx, r8d
xor edx, 0xffffffff
xor eax, 0xffffffff
xor edx, 0xffffffff
or eax, edx
mov r8d, 0x31d3b5ee
xor edx, edx
div r8d
mov rdx, qword [rbp + 0xb8]
add eax, 0x1f9758c2
mov r9d, eax
xor r9d, 0xffffffff
and r9d, 0x87535081
mov r10d, 0x93b07450
xor r10d, 0x14e324d1
mov r8d, 0x583a405
xor r8d, 0xfa7c5bfa
xor r10d, r8d
mov r8d, eax
and r8d, r10d
imul r8d, r9d
mov r10d, 0xe5e98d00
xor r10d, 0x62badd81
mov r9d, eax
and r9d, r10d
mov r10d, 0xf6174282
xor r10d, 0x71441203
or eax, r10d
imul eax, r9d
add eax, r8d
cmp rcx, qword [rdx]
sete cl
mov byte [rbp + 0x6a], cl
cmp eax, 0x47d643a
je 0x140152f97
mov al, byte [rbp + 0x6a]
test al, 1
jne 0x140153058
jmp 0x14015316e
mov rcx, qword [rbp + 0x70]
mov rax, rcx
shl rax, 1
mov qword [rbp + 0x50], rax
cvtsi2sd xmm0, rcx
movsd xmm1, qword [0x14028a778]
mulsd xmm0, xmm1
movsd qword [rbp + 0x58], xmm0
cvtsi2sd xmm1, rax
movsd qword [rbp + 0x60], xmm1
ucomisd xmm0, xmm1
jne 0x14015309c
jp 0x14015309c
jmp 0x1401530fe
movsd xmm1, qword [rbp + 0x58]
movsd xmm0, qword [rbp + 0x60]
subsd xmm0, xmm1
sub rsp, 0x20
call fcn.140271c60
add rsp, 0x20
movaps xmm1, xmm0
movsd xmm0, qword [rbp + 0x58]
movsd qword [rbp + 0x48], xmm1
sub rsp, 0x20
call fcn.140271c60
movsd xmm1, qword [rbp + 0x48]
add rsp, 0x20
movsd xmm2, qword [0x14028a780]
mulsd xmm1, xmm2
ucomisd xmm0, xmm1
jae 0x1401530fe
sub rsp, 0x20
call fcn.14000f24b
add rsp, 0x20
jmp 0x14015314d
mov rax, qword [rbp + 0x50]
cmp rax, 0
jge 0x140153130
mov rcx, qword [rbp + 0x50]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.14001a720
add rsp, 0x20
jmp 0x14015314d
mov rdx, qword [rbp + 0x50]
mov rcx, qword [rbp + 0xb8]
sub rsp, 0x20
call fcn.14002bfc0
add rsp, 0x20
jmp 0x14015316e
mov rax, qword [rbp + 0x168]
mov rcx, qword [rbp + 0x160]
mov qword [rbp + 0x170], rcx
mov qword [rbp + 0x178], rax
jmp 0x1401534a1
mov eax, dword [0x14027b4c8]
xor eax, 0xb4d06e06
or eax, dword [0x14027b4cc]
mov ecx, 0x5a7567a6
xor ecx, 0xdb6bd764
xor edx, edx
div ecx
and eax, 0x1401ff61
add eax, 0xc3a9ed32
mov ecx, 0x8bbbcebd
xor ecx, 0x6be2fc85
add eax, ecx
mov ecx, 0x183d1c97
xor ecx, 0xdb94f1a5
sub eax, ecx
cmp eax, 0xa2274ff8
je 0x140154722
mov rcx, qword [rbp + 0x70]
mov eax, dword [0x14027b4d0]
xor eax, 0x261b75b0
add eax, dword [0x14027b4d4]
mov edx, 0x791b2ad7
xor edx, 0x32cc1fbc
sub eax, edx
sub eax, 0xe39e2511
mov edx, 0x59eded94
xor edx, 0x123ad8ff
add eax, edx
mov r8d, eax
xor r8d, 0xffffffff
and r8d, 0x9a3d7249
mov r9d, 0xffffffff
xor r9d, 0x9a3d7249
mov edx, eax
and edx, r9d
imul edx, r8d
mov r9d, 0xd3e49df5
xor r9d, 0x49d9efbc
mov r8d, eax
and r8d, r9d
or eax, 0x9a3d7249
imul eax, r8d
add eax, edx
mov r8d, eax
xor r8d, 0xffffffff
and r8d, 0xc6c9ec52
mov r9d, 0x80eec6af
xor r9d, 0x46272afd
mov edx, 0x7e588552
xor edx, 0x81a77aad
xor r9d, edx
mov edx, eax
and edx, r9d
imul edx, r8d
mov r9d, 0x15747ea3
xor r9d, 0xd3bd92f1
mov r8d, eax
and r8d, r9d
or eax, 0xc6c9ec52
imul eax, r8d
add eax, edx
mov edx, 0x31e15dd2
xor edx, 0x31e15dd2
mov dword [rbp + 0x74c], edx
cmp rcx, 0
setl cl
mov byte [rbp + 0x47], cl
cmp eax, 0xfe7118a
jbe 0x140154722
mov rax, qword [rbp + 0x70]
mov cl, byte [rbp + 0x47]
test cl, 1
mov qword [rbp + 0xc8], rax
jne 0x1401532c5
jmp 0x14015276f
mov rax, qword [rbp + 0x70]
mov rcx, qword [rbp + 0xb8]
mov rcx, qword [rcx]
mov qword [rbp + 0x90], rcx
mov qword [rbp + 0x98], rax
jmp 0x1401528e8
mov eax, dword [0x14027b4d8]
xor eax, 0xd3fa0903
mov ecx, dword [0x14027b4dc]
xor ecx, 0x7a6e3036
xor edx, edx
div ecx
mov ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, ecx
xor edx, 0xffffffff
and eax, edx
mov edx, 0xffffffff
xor edx, 0xe9cc0f59
mov r8d, 0xffffffff
xor r8d, 0xe9cc0f59
and edx, r8d
or eax, edx
mov edx, 0xbd1441a
xor edx, 0xf42ebbe5
xor eax, edx
mov edx, 0xae4dcec6
xor edx, 0x51b23139
xor ecx, edx
mov edx, 0xffffffff
xor edx, 0xe9cc0f59
and ecx, edx
mov edx, 0x14e1f7e4
xor edx, 0xeb1e081b
xor eax, edx
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0xb99730f1
xor edx, edx
div ecx
xor eax, 0xae991148
cmp eax, 0xbdd91f97
ja 0x14015472b
mov rdx, qword [rbp + 0x70]
mov eax, dword [0x14027b4e0]
xor eax, 0x370f6174
mov ecx, dword [0x14027b4e4]
xor ecx, 0x2940725a
sub eax, ecx
mov r9d, 0xffffffff
xor r9d, 0x82f1daad
mov r8d, eax
and r8d, r9d
mov ecx, eax
or ecx, r9d
mov r9d, 0x2841c7e
xor r9d, 0xfd7be381
xor ecx, r9d
imul ecx, r8d
mov r9d, 0x2bd88481
xor r9d, 0xa9295e2c
mov r8d, eax
and r8d, r9d
or eax, 0x82f1daad
imul eax, r8d
add eax, ecx
mov ecx, 0x5f83cff8
xor ecx, 0x9f8e9dff
imul eax, ecx
mov ecx, 0xaa57437f
xor ecx, 0xcb17e5ed
sub eax, ecx
mov ecx, 0x1db781a9
xor ecx, 0xfa0c6612
cmp rdx, 0
setl dl
mov byte [rbp + 0x46], dl
cmp eax, ecx
ja 0x14015472b
mov al, byte [rbp + 0x46]
test al, 1
jne 0x14015342d
jmp 0x14015346d
mov rcx, qword [rbp + 0x70]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.14001a720
mov rcx, qword [rbp + 0x160]
mov rax, qword [rbp + 0x168]
add rsp, 0x20
mov qword [rbp + 0x170], rcx
mov qword [rbp + 0x178], rax
jmp 0x1401534a1
mov rdx, qword [rbp + 0x70]
mov rcx, qword [rbp + 0xb8]
sub rsp, 0x20
call fcn.14002bfc0
mov rcx, qword [rbp + 0x160]
mov rax, qword [rbp + 0x168]
add rsp, 0x20
mov qword [rbp + 0x170], rcx
mov qword [rbp + 0x178], rax
mov rdx, qword [rbp + 0x218]
mov r8, qword [rbp + 0x2e8]
mov r9, qword [rbp + 0x300]
mov r10, qword [rbp + 0x320]
mov r11, qword [rbp + 0x310]
mov rsi, qword [rbp + 0x378]
mov rdi, qword [rbp + 0x440]
mov rbx, qword [rbp + 0x5d0]
mov r14, qword [rbp + 0x5b0]
mov r15, qword [rbp + 0x2c8]
mov r12, qword [rbp + 0x418]
mov r13, qword [rbp + 0x590]
mov rax, qword [rbp + 0x170]
mov rcx, qword [rbp + 0x178]
mov qword [rbp + 0x30], rcx
mov qword [rbp + 0x38], rax
mov rax, qword [rbp + 0x188]
cmp rax, 0
mov rax, qword [rbp + 0x38]
mov qword [rbp + 0x6c8], r13
mov qword [rbp + 0x6d0], r12
mov qword [rbp + 0x6d8], r15
mov qword [rbp + 0x6e0], r14
mov qword [rbp + 0x6e8], rbx
mov qword [rbp + 0x6f0], rdi
mov qword [rbp + 0x6f8], rsi
mov qword [rbp + 0x700], r11
mov qword [rbp + 0x708], r10
mov qword [rbp + 0x710], r9
mov qword [rbp + 0x718], r8
mov qword [rbp + 0x720], rdx
mov qword [rbp + 0x728], rcx
mov qword [rbp + 0x730], rax
je 0x14015376d
mov r9, qword [rbp + 0x300]
mov r10, qword [rbp + 0x320]
mov r11, qword [rbp + 0x310]
mov rsi, qword [rbp + 0x378]
mov rdi, qword [rbp + 0x440]
mov rbx, qword [rbp + 0x5d0]
mov r14, qword [rbp + 0x5b0]
mov r15, qword [rbp + 0x2c8]
mov r12, qword [rbp + 0x418]
mov r13, qword [rbp + 0x590]
mov rax, qword [rbp + 0x188]
mov rax, qword [rax]
movabs rdx, 0xd30a230af52f0116
movabs rcx, 0x930a230af52f0116
xor rdx, rcx
mov rcx, rax
xor rcx, rdx
movabs rdx, 0xc221de4429cc5bd3
movabs r8, 0x3dde21bbd633a42c
xor rdx, r8
mov r8, qword [rbp + 0x2e8]
xor rcx, rdx
movabs rdx, 0x4000000000000000
or rax, rdx
mov rdx, qword [rbp + 0x218]
and rax, rcx
mov rcx, qword [rbp + 0x30]
cmp rax, 0
mov rax, qword [rbp + 0x38]
mov qword [rbp + 0x6c8], r13
mov qword [rbp + 0x6d0], r12
mov qword [rbp + 0x6d8], r15
mov qword [rbp + 0x6e0], r14
mov qword [rbp + 0x6e8], rbx
mov qword [rbp + 0x6f0], rdi
mov qword [rbp + 0x6f8], rsi
mov qword [rbp + 0x700], r11
mov qword [rbp + 0x708], r10
mov qword [rbp + 0x710], r9
mov qword [rbp + 0x718], r8
mov qword [rbp + 0x720], rdx
mov qword [rbp + 0x728], rcx
mov qword [rbp + 0x730], rax
jne 0x14015376d
mov rsi, qword [rbp + 0x378]
mov rdi, qword [rbp + 0x440]
mov rbx, qword [rbp + 0x5d0]
mov r14, qword [rbp + 0x5b0]
mov r15, qword [rbp + 0x2c8]
mov r12, qword [rbp + 0x418]
mov r13, qword [rbp + 0x590]
mov rcx, qword [rbp + 0x188]
sub rsp, 0x20
call fcn.14001d1d6
mov r11, qword [rbp + 0x310]
mov r10, qword [rbp + 0x320]
mov r9, qword [rbp + 0x300]
mov r8, qword [rbp + 0x2e8]
mov rdx, qword [rbp + 0x218]
mov rcx, qword [rbp + 0x30]
mov rax, qword [rbp + 0x38]
add rsp, 0x20
mov qword [rbp + 0x6c8], r13
mov qword [rbp + 0x6d0], r12
mov qword [rbp + 0x6d8], r15
mov qword [rbp + 0x6e0], r14
mov qword [rbp + 0x6e8], rbx
mov qword [rbp + 0x6f0], rdi
mov qword [rbp + 0x6f8], rsi
mov qword [rbp + 0x700], r11
mov qword [rbp + 0x708], r10
mov qword [rbp + 0x710], r9
mov qword [rbp + 0x718], r8
mov qword [rbp + 0x720], rdx
mov qword [rbp + 0x728], rcx
mov qword [rbp + 0x730], rax
mov rdx, qword [rbp + 0x6c8]
mov r8, qword [rbp + 0x6d0]
mov r9, qword [rbp + 0x6d8]
mov r10, qword [rbp + 0x6e0]
mov r11, qword [rbp + 0x6e8]
mov rsi, qword [rbp + 0x6f0]
mov rdi, qword [rbp + 0x6f8]
mov rbx, qword [rbp + 0x700]
mov r14, qword [rbp + 0x708]
mov r15, qword [rbp + 0x710]
mov r12, qword [rbp + 0x718]
mov r13, qword [rbp + 0x720]
mov rax, qword [rbp + 0x728]
mov rcx, qword [rbp + 0x730]
mov qword [rbp - 0x38], r13
mov qword [rbp - 0x30], r12
mov qword [rbp - 0x28], r15
mov qword [rbp - 0x20], r14
mov qword [rbp - 0x18], rbx
mov qword [rbp - 0x10], rdi
mov qword [rbp - 8], rsi
mov qword [rbp], r11
mov qword [rbp + 8], r10
mov qword [rbp + 0x10], r9
mov qword [rbp + 0x18], r8
mov qword [rbp + 0x20], rdx
mov qword [rbp + 0x738], rcx
mov qword [rbp + 0x740], rax
lea rcx, [rbp + 0x738]
sub rsp, 0x20
call fcn.1400333b0
mov rax, qword [rbp + 0x6a8]
add rsp, 0x20
mov rax, qword [rax]
mov qword [rbp + 0x28], rax
cmp rax, 0
je 0x140153865
mov rcx, qword [rbp + 0x28]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
cmp rax, 0
jne 0x140153865
mov rcx, qword [rbp + 0x28]
sub rsp, 0x20
call fcn.14001d1d6
add rsp, 0x20
mov eax, dword [0x14027b4e8]
xor eax, 0x5ec16b28
and eax, dword [0x14027b4ec]
imul eax, eax, 0xeaed0d9c
xor ecx, ecx
sub ecx, eax
mov eax, 0x4d25bd0b
xor eax, 0x4d25bd0b
mov edx, 0x2beba42e
xor edx, 0xbc66cda4
sub eax, edx
add ecx, eax
mov eax, 0x8ebd49c1
xor eax, 0x8ebd49c1
sub eax, ecx
mov ecx, 0x6d6a8a89
xor ecx, 0xc08643b1
imul eax, ecx
cmp eax, 0x50b929a2
je 0x140154734
mov rcx, qword [rbp + 0x6a0]
mov eax, dword [0x14027b4f0]
xor edx, edx
div dword [0x14027b4f4]
mov edx, eax
and edx, 0x6a62f2d
or eax, 0x6a62f2d
add edx, eax
mov r8d, 0x6495b0a7
xor r8d, 0x9b6a4f58
mov eax, edx
xor eax, r8d
mov r8d, 0xf58075e6
xor r8d, 0x3643b3bc
mov r9d, 0x4a95b734
xor r9d, 0xb56a48cb
xor r8d, r9d
or eax, r8d
mov r8d, 0xbc01a1c6
xor r8d, 0x7fc2679c
and edx, r8d
mov r8d, 0x5907979e
xor r8d, 0xa6f86861
xor edx, r8d
xor eax, 0xffffffff
mov r8d, 0x52c9a01a
xor r8d, 0xad365fe5
xor edx, r8d
or eax, edx
mov edx, eax
xor edx, 0xffffffff
and edx, 0x8ac1a71e
mov r8d, 0xffffffff
xor r8d, 0x8ac1a71e
and eax, r8d
sub eax, edx
mov rcx, qword [rcx]
mov qword [rbp - 0x48], rcx
cmp rcx, 0
sete cl
mov byte [rbp - 0x39], cl
cmp eax, 0xdb9fe5af
je 0x1401538be
mov al, byte [rbp - 0x39]
test al, 1
jne 0x1401539d4
jmp 0x140153992
mov rcx, qword [rbp - 0x48]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
movabs rcx, 0x990358df0658a4a
movabs rdx, 0x990358df0658a4a
xor rcx, rdx
cmp rax, rcx
jne 0x1401539d4
mov rcx, qword [rbp - 0x48]
sub rsp, 0x20
call fcn.14001d1d6
add rsp, 0x20
mov rax, qword [rbp - 0x38]
cmp rax, 0
je 0x140153a34
mov rax, qword [rbp - 0x38]
mov rax, qword [rax]
movabs rcx, 0x54dd5f3be7980351
movabs rdx, 0x14dd5f3be7980351
xor rcx, rdx
and rax, rcx
movabs rcx, 0xa6136cc8602e2648
movabs rdx, 0xa6136cc8602e2648
xor rcx, rdx
cmp rax, rcx
jne 0x140153a34
mov rcx, qword [rbp - 0x38]
sub rsp, 0x20
call fcn.14001d1d6
add rsp, 0x20
mov rax, qword [rbp + 0x698]
mov rax, qword [rax]
mov qword [rbp - 0x50], rax
cmp rax, 0
je 0x140153b8f
mov eax, dword [0x14027b4f8]
mov ecx, dword [0x14027b4fc]
mov edx, 0x92a605d0
xor edx, 0xb19400a9
xor ecx, edx
or eax, ecx
mov ecx, 0xe931670e
xor ecx, 0xeeab5270
and eax, ecx
or eax, eax
mov ecx, 0xf8c24aa6
xor ecx, 0x73db559
xor eax, ecx
mov ecx, 0xa5cfde14
or ecx, 0xa5cfde14
xor ecx, 0xffffffff
mov edx, 0x66f21bdf
xor edx, 0x990de420
xor eax, edx
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xa0a03de8
cmp eax, 0xc0df75b9
ja 0x14015473d
mov rdx, qword [rbp - 0x50]
mov eax, dword [0x14027b500]
add eax, dword [0x14027b504]
mov r8d, 0xffffffff
xor r8d, 0x5c589b4e
mov ecx, eax
and ecx, r8d
mov r9d, 0x6d692ffb
xor r9d, 0x3131b4b5
mov r8d, eax
xor r8d, r9d
add eax, r8d
sub eax, ecx
mov r8d, eax
xor r8d, 0xffffffff
and r8d, 0x821c8caf
mov r9d, 0xffffffff
xor r9d, 0x821c8caf
mov ecx, eax
and ecx, r9d
imul ecx, r8d
mov r8d, eax
and r8d, 0x821c8caf
or eax, 0x821c8caf
imul eax, r8d
add eax, ecx
mov ecx, 0x35b5c338
xor ecx, 0xc323e52b
imul eax, ecx
mov ecx, 0x2d112cb7
xor ecx, 0xa0c4964c
mov rdx, qword [rdx]
movabs r8, 0x8d7a452f30c52968
movabs r9, 0xcd7a452f30c52968
xor r8, r9
and rdx, r8
cmp rdx, 0
sete dl
mov byte [rbp - 0x51], dl
cmp eax, ecx
ja 0x140153ab3
mov al, byte [rbp - 0x51]
test al, 1
jne 0x140153b7e
jmp 0x140153b8f
mov rcx, qword [rbp - 0x50]
sub rsp, 0x20
call fcn.14001d1d6
add rsp, 0x20
mov rax, qword [rbp - 0x30]
cmp rax, 0
je 0x140153cb0
mov rax, qword [rbp - 0x30]
mov rax, qword [rax]
movabs rdx, 0x4ec181f5972ba837
movabs rcx, 0x4ec181f5972ba836
xor rdx, rcx
mov rcx, rax
add rcx, rdx
xor rax, 0xffffffffffffffff
movabs rdx, 0x4000000000000000
or rax, rdx
add rax, rcx
movabs rcx, 0xf9822192e342db26
movabs rdx, 0xf9822192e342db26
xor rcx, rdx
cmp rax, rcx
jne 0x140153cb0
mov eax, dword [0x14027b508]
and eax, dword [0x14027b50c]
and eax, 0xf83441b6
xor eax, 0x4f970626
add eax, 0x322712fc
cmp eax, 0xe5b4c60
ja 0x140154746
mov rcx, qword [rbp - 0x30]
mov edx, dword [0x14027b510]
imul edx, dword [0x14027b514]
mov eax, edx
xor eax, 0x47d8f53d
mov r8d, 0xcebaf711
xor r8d, 0x314508ee
xor eax, r8d
and eax, 0x47d8f53d
shl eax, 1
sub eax, 0x47d8f53d
sub edx, eax
sub edx, 0xb8ba4e78
add edx, 0x3b23a0cd
add edx, 0xb8ba4e78
mov r8d, 0x823b649f
xor r8d, 0x7dc49b60
mov eax, edx
xor eax, r8d
and eax, 0xa3dc43d1
mov r8d, 0xffffffff
xor r8d, 0xa3dc43d1
and edx, r8d
or eax, edx
mov dword [rbp - 0x58], eax
sub rsp, 0x20
call fcn.14001d1d6
mov eax, dword [rbp - 0x58]
add rsp, 0x20
cmp eax, 0xf5ab93a8
je 0x140154746
jmp 0x140153cb0
mov rax, qword [rbp - 0x28]
cmp rax, 0
je 0x140153d1e
mov rax, qword [rbp - 0x28]
mov rax, qword [rax]
mov rcx, rax
add rcx, 1
movabs rdx, 0x6f86a91bd04e556d
movabs r8, 0x907956e42fb1aa92
xor rdx, r8
xor rax, rdx
movabs rdx, 0x54c5af5dc224f15c
movabs r8, 0x14c5af5dc224f15c
xor rdx, r8
or rax, rdx
add rax, rcx
cmp rax, 0
jne 0x140153d1e
mov rcx, qword [rbp - 0x28]
sub rsp, 0x20
call fcn.14001d1d6
add rsp, 0x20
mov rax, qword [rbp - 0x20]
cmp rax, 0
je 0x140153d58
mov rcx, qword [rbp - 0x20]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
cmp rax, 0
jne 0x140153d58
mov rcx, qword [rbp - 0x20]
sub rsp, 0x20
call fcn.14001d1d6
add rsp, 0x20
mov rax, qword [rbp - 0x18]
cmp rax, 0
je 0x140153ef5
mov rax, qword [rbp - 0x18]
mov rcx, qword [rax]
mov rax, rcx
xor rax, 0xffffffffffffffff
mov rdx, 0xffffffffffffffff
movabs r8, 0x4000000000000000
xor rdx, r8
or rax, rdx
xor rcx, 0xffffffffffffffff
mov rdx, 0xffffffffffffffff
movabs r8, 0x4000000000000000
xor rdx, r8
or rcx, rdx
and rax, rcx
xor rax, 0xffffffffffffffff
cmp rax, 0
jne 0x140153ef5
mov eax, dword [0x14027b518]
mov r8d, dword [0x14027b51c]
mov ecx, 0x2de3c338
xor ecx, 0x5089b901
xor r8d, ecx
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, 0x73b5455a
xor ecx, 0x73b5455a
mov edx, 0x8d7c3528
xor edx, 0x4c6b557d
sub ecx, edx
add eax, ecx
or eax, eax
xor eax, 0xffffffff
mov ecx, 0xffffffff
xor ecx, 0xc327adf3
mov edx, 0xffffffff
xor edx, 0xc327adf3
and ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0xebcb07d5
mov r8d, 0xffffffff
xor r8d, 0xebcb07d5
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov r8d, 0x2c8fe43c
xor r8d, 0xc744e3e9
mov edx, eax
and edx, r8d
or eax, 0xebcb07d5
imul eax, edx
add eax, ecx
mov ecx, 0x28482b63
xor ecx, 0x3c0b5ffe
cmp eax, ecx
jbe 0x14015474f
mov rcx, qword [rbp - 0x18]
mov edx, dword [0x14027b520]
mov eax, dword [0x14027b524]
xor eax, 0xafb54a17
imul edx, eax
xor edx, 0xbd2144f8
mov eax, 0x3267efd8
xor eax, 0x3267efd8
mov r8d, 0x6db005be
xor r8d, 0xd27efe
sub eax, r8d
add edx, eax
mov r8d, 0xffffffff
xor r8d, 0xa28bb9d2
mov eax, edx
xor eax, r8d
and eax, edx
mov dword [rbp - 0x5c], eax
sub rsp, 0x20
call fcn.14001d1d6
mov eax, dword [rbp - 0x5c]
add rsp, 0x20
cmp eax, 0x9715be8a
jb 0x14015474f
jmp 0x140153ef5
mov rax, qword [rbp - 0x10]
cmp rax, 0
je 0x1401540f8
mov rax, qword [rbp - 0x10]
mov rcx, qword [rax]
mov rax, rcx
xor rax, 0xffffffffffffffff
movabs rdx, 0x1c0259a4dd926fd9
movabs r8, 0x5c0259a4dd926fd9
xor rdx, r8
movabs r8, 0x2f2fa4e676699d46
movabs r9, 0xd0d05b19899662b9
xor r8, r9
xor rdx, r8
or rax, rdx
movabs rdx, 0x95215a4f375bab97
movabs r8, 0x6adea5b0c8a45468
xor rdx, r8
xor rcx, rdx
mov rdx, 0xffffffffffffffff
movabs r8, 0x4000000000000000
xor rdx, r8
or rcx, rdx
xor rax, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
or rax, rcx
movabs rcx, 0x2cbb257cc9152b3c
movabs rdx, 0x2cbb257cc9152b3c
xor rcx, rdx
cmp rax, rcx
jne 0x1401540f8
mov r11d, dword [0x14027b528]
mov eax, dword [0x14027b52c]
mov ecx, 0x432cbebd
xor ecx, 0x54379be2
xor eax, ecx
or r11d, eax
mov ecx, r11d
xor ecx, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0x4a6414bf
mov edx, 0xd6db3640
xor edx, 0xa4de2a7d
mov eax, 0x3ed3ddaa
xor eax, 0xc12c2255
xor edx, eax
mov eax, ecx
and eax, 0x72051c3d
and r11d, edx
mov r9d, r8d
and r9d, 0x72051c3d
mov r10d, edx
and r10d, 0x4a6414bf
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, r8d
xor ecx, 0xffffffff
or edx, 0x72051c3d
and ecx, edx
or eax, ecx
or eax, 0x51ebade2
mov edx, 0xffffffff
xor edx, 0x3fc1adc3
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, 0x3fc1adc3
add eax, edx
sub eax, ecx
cmp eax, 0x95f02f20
jbe 0x140154758
mov rcx, qword [rbp - 0x10]
mov r9d, dword [0x14027b530]
mov r8d, dword [0x14027b534]
xor r8d, 0xf99f3584
mov edx, r9d
xor edx, 0xffffffff
and edx, 0xd74fb45d
mov r10d, 0x92a6ef45
xor r10d, 0x45e95b18
mov eax, 0x9aa381c0
xor eax, 0x655c7e3f
xor r10d, eax
and r9d, r10d
mov eax, r8d
xor eax, 0xffffffff
mov r11d, 0x7a7cd33a
xor r11d, 0xad336767
and eax, r11d
and r8d, r10d
or edx, r9d
or eax, r8d
xor edx, eax
or edx, 0x33daffa6
mov r8d, 0xffffffff
xor r8d, 0x4db2aa6d
mov eax, edx
xor eax, r8d
and eax, edx
mov edx, 0xacd8640
xor edx, 0xfc54ef82
imul eax, edx
mov dword [rbp - 0x60], eax
sub rsp, 0x20
call fcn.14001d1d6
mov eax, dword [rbp - 0x60]
add rsp, 0x20
cmp eax, 0xd19113c2
jae 0x140154758
jmp 0x1401540f8
mov rax, qword [rbp + 0x690]
mov rax, qword [rax]
mov qword [rbp - 0x68], rax
cmp rax, 0
je 0x1401541ee
mov rcx, qword [rbp - 0x68]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
cmp rax, 0
jne 0x1401541ee
mov eax, dword [0x14027b538]
or eax, dword [0x14027b53c]
mov ecx, 0xb935daf7
xor ecx, 0x2299a97e
sub eax, ecx
mov ecx, 0xe6995e47
xor ecx, 0x7bae87d9
add eax, ecx
add eax, 0x9bac7389
add eax, 0x76a4c0b5
mov ecx, 0x1a9cf4ab
xor edx, edx
div ecx
mov ecx, 0x88f658d7
xor ecx, 0x74b107d0
cmp eax, ecx
jae 0x140154761
mov rcx, qword [rbp - 0x68]
mov edx, dword [0x14027b540]
xor edx, 0x2a3834d4
imul edx, dword [str.0f]
or edx, 0x8e6f9ffd
mov eax, edx
or eax, 0x67347d62
mov r8d, 0x7be501bd
xor r8d, 0x841afe42
xor eax, r8d
or edx, 0x67347d62
xor edx, 0xffffffff
or eax, edx
xor eax, 0xffffffff
and eax, 0x46e6b537
mov dword [rbp - 0x6c], eax
mov eax, 0xa25fc8e4
xor eax, 0x82108067
mov dword [rbp - 0x70], eax
sub rsp, 0x20
call fcn.14001d1d6
mov ecx, dword [rbp - 0x70]
mov eax, dword [rbp - 0x6c]
add rsp, 0x20
cmp eax, ecx
jb 0x140154177
jmp 0x1401541ee
mov rax, qword [rbp - 8]
cmp rax, 0
je 0x140154258
mov rax, qword [rbp - 8]
mov rcx, qword [rax]
movabs rdx, 0x83945c2cbe0a6a4f
movabs rax, 0xc3945c2cbe0a6a4f
xor rdx, rax
movabs rax, 0x4ba55fd60f5c07d6
movabs r8, 0xb45aa029f0a3f829
xor rax, r8
xor rdx, rax
mov rax, rcx
xor rax, rdx
and rax, rcx
cmp rax, 0
jne 0x140154258
mov rcx, qword [rbp - 8]
sub rsp, 0x20
call fcn.14001d1d6
add rsp, 0x20
mov rax, qword [rbp]
cmp rax, 0
je 0x140154292
mov rcx, qword [rbp]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
cmp rax, 0
jne 0x140154292
mov rcx, qword [rbp]
sub rsp, 0x20
call fcn.14001d1d6
add rsp, 0x20
mov eax, dword [0x14027b548]
sub eax, dword [0x14027b54c]
mov ecx, eax
xor ecx, 0xffffffff
mov edx, 0x6a4c9efc
xor edx, 0x261254dc
and edx, ecx
mov r8d, 0xffffffff
xor r8d, 0x4c5eca20
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x4c5eca20
or eax, 0x4c5eca20
imul eax, edx
add eax, ecx
add eax, 0xbfb543f4
mov ecx, 0xdcdea2ed
xor ecx, 0x4a60682d
sub eax, ecx
mov ecx, 0xb044778e
xor ecx, 0xff1347a
sub eax, ecx
and eax, eax
xor eax, 0xffffffff
mov ecx, 0x35f90c42
and ecx, 0x35f90c42
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0x4db07a1d
xor ecx, 0xb24f85e2
xor eax, ecx
cmp eax, 0x36a502b3
jb 0x14015476a
mov rdx, qword [rbp + 8]
mov eax, dword [0x14027b550]
xor eax, 0xa190c88a
mov r9d, dword [0x14027b554]
mov ecx, eax
xor ecx, 0xffffffff
mov r8d, r9d
and r8d, ecx
mov ecx, 0xd24e2454
xor ecx, 0x2db1dbab
mov r10d, r9d
xor r10d, ecx
mov ecx, eax
and ecx, r10d
imul ecx, r8d
mov r8d, eax
and r8d, r9d
or eax, r9d
imul eax, r8d
add eax, ecx
mov ecx, eax
and ecx, 0xd4866bf0
shl ecx, 1
add eax, 0xd4866bf0
sub eax, ecx
and eax, 0xc98e738f
mov ecx, eax
xor ecx, 0xd3af5a97
mov r8d, 0xffffffff
xor r8d, 0xd3af5a97
and eax, r8d
shl eax, 1
sub eax, ecx
mov ecx, 0x8f5693da
xor ecx, 0xe4e1075b
cmp rdx, 0
sete dl
mov byte [rbp - 0x71], dl
cmp eax, ecx
jbe 0x14015476a
mov al, byte [rbp - 0x71]
test al, 1
jne 0x140154410
jmp 0x1401543ce
mov rcx, qword [rbp + 8]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
movabs rcx, 0x693e40e082cd1155
movabs rdx, 0x693e40e082cd1155
xor rcx, rdx
cmp rax, rcx
jne 0x140154410
mov rcx, qword [rbp + 8]
sub rsp, 0x20
call fcn.14001d1d6
add rsp, 0x20
mov r11d, dword [0x14027b558]
mov r10d, dword [0x14027b55c]
xor r10d, 0xee595741
mov eax, 0x2de5cfe1
xor eax, 0xd21a301e
mov ecx, r11d
xor ecx, eax
mov eax, 0x9d09716c
xor eax, 0x62f68e93
mov edx, r10d
xor edx, eax
mov r8d, 0xffffffff
xor r8d, 0xe8982935
mov r9d, 0xcc56e023
xor r9d, 0x24cec916
mov eax, ecx
and eax, r9d
and r11d, r8d
mov r9d, edx
and r9d, 0xe8982935
and r10d, r8d
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, edx
xor ecx, 0xffffffff
mov edx, 0xa345fb88
xor edx, 0x4bddd2bd
or edx, r8d
and ecx, edx
or eax, ecx
mov ecx, 0x6c0b7054
xor ecx, 0xa2fbc405
xor edx, edx
div ecx
mov ecx, eax
xor ecx, 0x4a8e8df8
xor ecx, 0xffffffff
or eax, 0x4a8e8df8
and eax, ecx
xor eax, 0x917c8860
cmp eax, 0x3cdad1bc
jbe 0x140154773
mov rax, qword [rbp + 0x670]
mov rcx, qword [rbp + 0x10]
mov r8d, dword [0x14027b560]
xor r8d, 0x607653a4
mov r10d, dword [0x14027b564]
mov edx, r8d
xor edx, 0xffffffff
mov r9d, r10d
and r9d, edx
mov r11d, r10d
xor r11d, 0xffffffff
mov edx, r8d
and edx, r11d
imul edx, r9d
mov r9d, r8d
and r9d, r10d
or r8d, r10d
imul r8d, r9d
add r8d, edx
mov edx, r8d
or edx, edx
xor edx, 0xffffffff
mov r9d, 0xffffffff
xor r9d, 0xc1ac827c
mov r10d, 0x93cfde9f
xor r10d, 0x52635ce3
mov r11d, 0xf34e6b2c
xor r11d, 0xcb194d3
xor r10d, r11d
and r9d, r10d
or edx, r9d
xor edx, 0xffffffff
mov r9d, 0x2f9a28ab
xor r9d, 0xee36aad7
or r8d, r9d
xor r8d, 0xffffffff
xor edx, 0xffffffff
mov r9d, 0x3e534702
xor r9d, 0xc1acb8fd
xor r8d, r9d
and edx, r8d
mov r8d, 0x664dfed9
xor r8d, 0x82cc72eb
sub edx, r8d
mov r9d, 0x4b46a7e3
xor r9d, 0xb4b9581c
mov r8d, edx
xor r8d, r9d
mov r9d, 0xa7a57949
xor r9d, 0x14f48f4a
and r8d, r9d
mov r9d, 0xffffffff
xor r9d, 0xb351f603
and edx, r9d
sub edx, r8d
mov dword [rbp - 0x78], edx
mov dl, byte [rax]
mov byte [rbp - 0x79], dl
mov dl, 0xb8
xor dl, 0xb8
mov byte [rax], dl
sub rsp, 0x20
call fcn.1400fd9a5
mov rcx, qword [rbp + 0x670]
add rsp, 0x20
mov eax, dword [rbp - 0x78]
cmp byte [rcx], 0
sete cl
mov byte [rbp - 0x72], cl
cmp eax, 0x42a3377
jb 0x1401544c3
mov al, byte [rbp - 0x72]
test al, 1
jne 0x140154605
jmp 0x140154653
mov rcx, qword [rbp + 0x18]
sub rsp, 0x20
call fcn.1400fd9a5
add rsp, 0x20
mov rax, qword [rbp + 0x670]
cmp byte [rax], 0
jne 0x140154653
mov rcx, qword [rbp + 0x20]
sub rsp, 0x20
call fcn.1400fd9a5
add rsp, 0x20
mov rax, qword [rbp + 0x670]
cmp byte [rax], 0
jne 0x140154653
mov rax, qword [rbp + 0x670]
mov cl, byte [rbp - 0x79]
mov byte [rax], cl
mov rax, qword [rbp + 0x688]
add byte [rax], al
lea rsp, [rbp + 0xa08]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
in al, dx
add al, 0xd3
jmp 0x14014cd79
ja 0x140154658
invalid
scasb al, byte [rdi]
clc
cmp byte [rcx + rbp*8 - 0x7f], al
invalid
fdiv dword [rax + 0x6de9dadd]
xchg ecx, eax
invalid
movsd dword [rdi], dword [rsi]
mov ax, 0xe96a
sahf
xchg ebp, eax
invalid
invalid
imul cl
invalid
xchg ebx, eax
adc esi, eax
cmp al, 0xe9
fistp dword [rbp + 0x7989ffff]
mov edx, 0xa377e94f
invalid
mov dword [rcx - 0x46], edi
jmp 0x14014ea36
wait
xchg esp, eax
jge 0x1401546a6
jmp 0x14014f5b0
adc edx, dword [rax]
adc al, 0x8c
jmp 0x14014fe44
ret 0x8d18
mov edi, 0xe98b6a58
sbb edx, eax
invalid
invalid
jmp 0x140151326
pushfq
mov ebp, 0xd9e94100
sar bh, 1
jmp qword [rcx]
and dword [rdi + 0x57e9c163], ebx
loope 0x1401546fc
invalid
inc dword [rcx - 0x163f9eef]
jb 0x1401546e7
adc dword [rcx], 0x72e9c061
loop 0x140154705
invalid
call [rbx - 0x62]
pop rbx
sahf
wait
jmp 0x140152b5e
cmp byte [rbx - 0x7e], bh
jmp 0x140152e54
sbb dword [rbx], edx
invalid
movabs eax, dword [0xffffea92e935be7b]
xor rax, 0x4ae93c50
in al, dx
invalid
pop rbp
in al, 0x57
xchg ebp, eax
jmp 0x1401538be
mov dl, 0xbe
invalid
mov byte [rax], bl
mov eax, gs
jmp 0x140153c1b
push rsp
retf 0x4585
imul edx, dword [rbp - 0x16164772], 0xfffffff8
invalid
pop rsp
mov ebp, 0xde9087c
cli
invalid
fadd dword [rdi - 0x4f162561]
sti
invalid
xor byte [rsi + 0x47e90520], cl
std
invalid