Function at 0x140178ee0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0xb68
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x678], r8
mov qword [rbp + 0x5b8], rdx
mov qword [rbp + 0x688], rcx
mov eax, 0x10
mov qword [rbp + 0x660], rax
call fcn.14024abd0
sub rsp, rax
mov rax, qword [rbp + 0x660]
mov rcx, rsp
mov qword [rbp + 0x690], rcx
call fcn.14024abd0
sub rsp, rax
mov rax, qword [rbp + 0x660]
mov rcx, rsp
mov qword [rbp + 0x698], rcx
call fcn.14024abd0
sub rsp, rax
mov rax, qword [rbp + 0x660]
mov rcx, rsp
mov qword [rbp + 0x5c0], rcx
call fcn.14024abd0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x5c8], rax
mov eax, 0x30
call fcn.14024abd0
sub rsp, rax
mov rax, qword [rbp + 0x660]
mov rcx, rsp
mov qword [rbp + 0x5d0], rcx
call fcn.14024abd0
sub rsp, rax
mov rax, qword [rbp + 0x660]
mov rcx, rsp
mov qword [rbp + 0x5d8], rcx
call fcn.14024abd0
sub rsp, rax
mov rax, qword [rbp + 0x660]
mov rcx, rsp
mov qword [rbp + 0x5e0], rcx
call fcn.14024abd0
sub rsp, rax
mov rax, qword [rbp + 0x660]
mov rcx, rsp
mov qword [rbp + 0x5e8], rcx
call fcn.14024abd0
sub rsp, rax
mov rax, qword [rbp + 0x660]
mov rcx, rsp
mov qword [rbp + 0x5f0], rcx
call fcn.14024abd0
sub rsp, rax
mov rax, qword [rbp + 0x660]
mov rcx, rsp
mov qword [rbp + 0x5f8], rcx
call fcn.14024abd0
sub rsp, rax
mov rax, qword [rbp + 0x660]
mov rcx, rsp
mov qword [rbp + 0x600], rcx
call fcn.14024abd0
sub rsp, rax
mov rax, qword [rbp + 0x660]
mov rcx, rsp
mov qword [rbp + 0x608], rcx
call fcn.14024abd0
sub rsp, rax
mov rax, qword [rbp + 0x660]
mov rcx, rsp
mov qword [rbp + 0x610], rcx
call fcn.14024abd0
sub rsp, rax
mov rax, qword [rbp + 0x660]
mov rcx, rsp
mov qword [rbp + 0x618], rcx
call fcn.14024abd0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x620], rax
mov eax, 0x20
mov qword [rbp + 0x650], rax
call fcn.14024abd0
sub rsp, rax
mov rax, qword [rbp + 0x660]
mov rcx, rsp
mov qword [rbp + 0x628], rcx
call fcn.14024abd0
sub rsp, rax
mov rax, qword [rbp + 0x660]
mov rcx, rsp
mov qword [rbp + 0x630], rcx
call fcn.14024abd0
sub rsp, rax
mov rax, qword [rbp + 0x660]
mov rcx, rsp
mov qword [rbp + 0x638], rcx
call fcn.14024abd0
sub rsp, rax
mov rax, qword [rbp + 0x660]
mov rcx, rsp
mov qword [rbp + 0x640], rcx
call fcn.14024abd0
sub rsp, rax
mov rax, qword [rbp + 0x660]
mov rcx, rsp
mov qword [rbp + 0x648], rcx
call fcn.14024abd0
sub rsp, rax
mov rax, qword [rbp + 0x650]
mov rcx, rsp
mov qword [rbp + 0x658], rcx
call fcn.14024abd0
sub rsp, rax
mov rax, qword [rbp + 0x660]
mov rcx, rsp
mov qword [rbp + 0x668], rcx
call fcn.14024abd0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x670], rax
sub rsp, 0x20
call fcn.14019ba7e
mov rcx, qword [rbp + 0x678]
add rsp, 0x20
mov qword [rbp + 0x6a0], rax
add rax, 0x50
mov qword [rbp + 0x680], rax
sub rsp, 0x20
mov edx, 0x28
call fcn.140159480
mov rax, qword [rbp + 0x688]
mov rcx, qword [rbp + 0x690]
add rsp, 0x20
movups xmm0, xmmword [rax]
movaps xmmword [rbp + 0xad0], xmm0
sub rsp, 0x20
lea rdx, [rbp + 0xad0]
call fcn.14001ba7e
mov rax, qword [rbp + 0x690]
mov rcx, qword [rbp + 0x698]
add rsp, 0x20
mov rdx, qword [rax]
mov rax, qword [rax + 8]
mov qword [rcx], rdx
mov qword [rcx + 8], rax
sub rsp, 0x20
call fcn.1400c37f9
mov rcx, qword [rbp + 0x6a0]
add rsp, 0x20
mov r8b, byte [rcx + 0x50]
test r8b, r8b
sete cl
and cl, al
mov edx, 0xb1c3299c
xor edx, 0xb1c3299f
mov eax, 0xac9b303b
xor eax, 0xac9b3039
cmp r8b, 0
cmove eax, edx
test cl, 1
mov dword [rbp + 0x6ac], eax
jne 0x140179227
jmp 0x14017eb62
mov rsi, qword [rbp + 0x638]
mov rdi, qword [rbp + 0x630]
mov rbx, qword [rbp + 0x5d0]
mov r14, qword [rbp + 0x610]
mov r15, qword [rbp + 0x608]
mov r12, qword [rbp + 0x600]
mov r13, qword [rbp + 0x5f8]
movabs rdx, 0x5659b7797bc2e452
movabs rax, 0x5659b7797bc2e462
xor rdx, rax
lea rcx, [rbp + 0xaa0]
sub rsp, 0x20
call fcn.140159480
mov rax, qword [rbp + 0x5c0]
add rsp, 0x20
movabs rcx, 0x5c71d11f48fe7cc7
movabs rdx, 0x5c71d11f48fe7cc6
xor rcx, rdx
mov qword [rax], rcx
movabs rcx, 0x3647ca9098dbde56
movabs rax, 0x3647ca9098dbde57
xor rcx, rax
movabs rdx, 0x2fcb35ebb447c127
movabs rax, 0x2fcb35ebb447c137
xor rdx, rax
movabs r8, 0x3114f4e62320c9a6
movabs rax, 0x3114f4e62320c9ae
xor r8, rax
sub rsp, 0x20
call fcn.140018f50
mov rcx, qword [rbp + 0x5c8]
mov rdx, qword [rbp + 0x5c0]
add rsp, 0x20
mov r8, rax
mov rax, qword [rbp + 0x688]
mov qword [rdx + 8], r8
mov rdx, qword [rax]
mov qword [rbp + 0xa90], rdx
mov rax, qword [rax + 8]
mov qword [rbp + 0xa98], rax
lea rdx, [rbp + 0xa90]
sub rsp, 0x20
call fcn.14001ba7e
mov rcx, qword [rbp + 0x5c8]
mov rax, qword [rbp + 0x5c0]
mov r11, qword [rbp + 0x628]
mov r10, qword [rbp + 0x5b8]
mov r9, qword [rbp + 0x640]
mov r8, qword [rbp + 0x648]
add rsp, 0x20
mov rdx, qword [rcx]
mov rcx, qword [rcx + 8]
mov rax, qword [rax + 8]
mov qword [rax + 8], rdx
mov rdx, qword [rbp + 0x658]
mov qword [rax + 0x10], rcx
mov rcx, qword [rbp + 0x670]
lea rax, [rbp + 0xa80]
add rax, 8
mov qword [rbp + 0x3a0], rax
mov rax, qword [rbp + 0x5d8]
add rax, 8
mov qword [rbp + 0x3a8], rax
mov rax, qword [rbp + 0x5e8]
add rax, 8
mov qword [rbp + 0x3b0], rax
lea rax, [rbp + 0x9e8]
add rax, 8
mov qword [rbp + 0x3b8], rax
lea rax, [rbp + 0x9f8]
add rax, 8
mov qword [rbp + 0x3c0], rax
lea rax, [rbp + 0x9d8]
add rax, 8
mov qword [rbp + 0x3c8], rax
lea rax, [rbp + 0x9b8]
add rax, 8
mov qword [rbp + 0x3d0], rax
lea rax, [rbp + 0x9c8]
add rax, 8
mov qword [rbp + 0x3d8], rax
mov rax, qword [rbp + 0x5f0]
add rax, 8
mov qword [rbp + 0x3e0], rax
lea rax, [rbp + 0xa68]
add rax, 2
mov qword [rbp + 0x3e8], rax
mov rax, qword [rbp + 0x668]
add r13, 8
mov qword [rbp + 0x3f0], r13
lea r13, [rbp + 0x9a8]
add r13, 8
mov qword [rbp + 0x3f8], r13
lea r13, [rbp + 0x998]
add r13, 8
mov qword [rbp + 0x400], r13
lea r13, [rbp + 0xa68]
add r13, 8
mov qword [rbp + 0x408], r13
lea r13, [rbp + 0xa30]
add r13, 0x10
mov qword [rbp + 0x410], r13
lea r13, [rbp + 0xa30]
add r13, 0x18
mov qword [rbp + 0x418], r13
lea r13, [rbp + 0xa30]
add r13, 8
mov qword [rbp + 0x420], r13
lea r13, [rbp + 0xa30]
add r13, 0x20
mov qword [rbp + 0x428], r13
lea r13, [rbp + 0xa30]
add r13, 0x28
mov qword [rbp + 0x430], r13
lea r13, [rbp + 0x988]
add r13, 8
mov qword [rbp + 0x438], r13
add r12, 8
mov qword [rbp + 0x440], r12
add r15, 8
mov qword [rbp + 0x448], r15
lea r15, [rbp + 0xa18]
add r15, 8
mov qword [rbp + 0x450], r15
add r14, 8
mov qword [rbp + 0x458], r14
lea r14, [rbp + 0x908]
add r14, 8
mov qword [rbp + 0x460], r14
lea r14, [rbp + 0x918]
add r14, 8
mov qword [rbp + 0x468], r14
lea r14, [rbp + 0x8e8]
add r14, 8
mov qword [rbp + 0x470], r14
lea r14, [rbp + 0x8f8]
add r14, 8
mov qword [rbp + 0x478], r14
lea r14, [rbp + 0x928]
add r14, 8
mov qword [rbp + 0x480], r14
lea r14, [rbp + 0x928]
add r14, 0x10
mov qword [rbp + 0x488], r14
lea r14, [rbp + 0x8c8]
add r14, 8
mov qword [rbp + 0x490], r14
lea r14, [rbp + 0x8b8]
add r14, 8
mov qword [rbp + 0x498], r14
lea r14, [rbp + 0x8d8]
add r14, 8
mov qword [rbp + 0x4a0], r14
lea r14, [rbp + 0x928]
add r14, 0x18
mov qword [rbp + 0x4a8], r14
lea r14, [rbp + 0x928]
add r14, 0x20
mov qword [rbp + 0x4b0], r14
lea r14, [rbp + 0x928]
add r14, 0x28
mov qword [rbp + 0x4b8], r14
add rbx, 0x18
mov qword [rbp + 0x4c0], rbx
lea rbx, [rbp + 0x8a8]
add rbx, 8
mov qword [rbp + 0x4c8], rbx
lea rbx, [rbp + 0x888]
add rbx, 8
mov qword [rbp + 0x4d0], rbx
lea rbx, [rbp + 0xaa0]
add rbx, 8
mov qword [rbp + 0x4d8], rbx
add rdi, 8
mov qword [rbp + 0x4e0], rdi
lea rdi, [rbp + 0x840]
add rdi, 8
mov qword [rbp + 0x4e8], rdi
lea rdi, [rbp + 0x820]
add rdi, 8
mov qword [rbp + 0x4f0], rdi
add rsi, 8
mov qword [rbp + 0x4f8], rsi
lea rsi, [rbp + 0xaa0]
add rsi, 0x18
mov qword [rbp + 0x500], rsi
add r11, 0x10
mov qword [rbp + 0x508], r11
add r10, 8
mov qword [rbp + 0x510], r10
lea r10, [rbp + 0x7d0]
add r10, 8
mov qword [rbp + 0x518], r10
add r9, 8
mov qword [rbp + 0x520], r9
lea r9, [rbp + 0x7c0]
add r9, 8
mov qword [rbp + 0x528], r9
lea r9, [rbp + 0x7b0]
add r9, 8
mov qword [rbp + 0x530], r9
add r8, 8
mov qword [rbp + 0x538], r8
lea r8, [rbp + 0x7e0]
add r8, 8
mov qword [rbp + 0x540], r8
lea r8, [rbp + 0x7e0]
add r8, 0x10
mov qword [rbp + 0x548], r8
lea r8, [rbp + 0x790]
add r8, 8
mov qword [rbp + 0x550], r8
add rdx, 8
mov qword [rbp + 0x558], rdx
lea rdx, [rbp + 0x7a0]
add rdx, 8
mov qword [rbp + 0x560], rdx
lea rdx, [rbp + 0x7e0]
add rdx, 0x18
mov qword [rbp + 0x568], rdx
lea rdx, [rbp + 0x7e0]
add rdx, 0x20
mov qword [rbp + 0x570], rdx
lea rdx, [rbp + 0x7e0]
add rdx, 0x28
mov qword [rbp + 0x578], rdx
lea rdx, [rbp + 0x760]
add rdx, 8
mov qword [rbp + 0x580], rdx
lea rdx, [rbp + 0x740]
add rdx, 8
mov qword [rbp + 0x588], rdx
lea rdx, [rbp + 0x710]
add rdx, 8
mov qword [rbp + 0x590], rdx
lea rdx, [rbp + 0x6f0]
add rdx, 8
mov qword [rbp + 0x598], rdx
lea rdx, [rbp + 0x6d0]
add rdx, 8
mov qword [rbp + 0x5a0], rdx
add rcx, 8
mov qword [rbp + 0x5a8], rcx
add rax, 0x10
mov qword [rbp + 0x5b0], rax
mov rax, qword [rbp + 0x5c0]
cmp qword [rax], 0
jle 0x14017ea8c
mov rdx, qword [rbp + 0x5c0]
lea rcx, [rbp + 0xa80]
sub rsp, 0x20
call fcn.140173be0
mov rax, qword [rbp + 0x3a0]
mov rcx, qword [rbp + 0x5d0]
add rsp, 0x20
mov rdx, qword [rbp + 0xa80]
mov qword [rbp + 0x370], rdx
mov rax, qword [rax]
mov qword [rbp + 0x378], rax
mov edx, 0x30
sub rsp, 0x20
call fcn.140159480
mov rcx, qword [rbp + 0x5d0]
add rsp, 0x20
mov edx, 0x30
sub rsp, 0x20
call fcn.140159480
mov rcx, qword [rbp + 0x5d8]
mov rax, qword [rbp + 0x3a8]
add rsp, 0x20
movabs rdx, 0xc68bb271504d9f54
movabs r8, 0xc68bb271504d9f54
xor rdx, r8
mov qword [rcx], rdx
mov qword [rax], 0
mov word [rbp + 0xa7e], 0x8bc
lea rcx, [rbp + 0xa7e]
sub rsp, 0x20
call fcn.140061b50
mov rcx, qword [rbp + 0x680]
add rsp, 0x20
mov qword [rbp + 0x380], rax
xor eax, eax
cmp byte [rcx], 0
mov rcx, rax
mov qword [rbp + 0x388], rcx
mov rcx, rax
mov qword [rbp + 0x390], rcx
mov qword [rbp + 0x398], rax
jne 0x14017e018
mov rcx, qword [rbp + 0x5d8]
mov rdx, qword [rbp + 0x370]
mov rax, qword [rbp + 0x380]
add rdx, qword [rax]
sub rsp, 0x20
call fcn.140019380
mov rax, qword [rbp + 0x380]
mov rcx, qword [rbp + 0x5d8]
add rsp, 0x20
mov rdx, qword [rax]
mov qword [rbp + 0xa08], rdx
mov rax, qword [rax + 8]
mov qword [rbp + 0xa10], rax
lea rdx, [rbp + 0xa08]
sub rsp, 0x20
call fcn.14015b160
mov r9, qword [rbp + 0x370]
mov r8, qword [rbp + 0x378]
mov rax, qword [rbp + 0x3b0]
mov rdx, qword [rbp + 0x5e8]
mov rcx, qword [rbp + 0x5d8]
add rsp, 0x20
mov qword [rdx], r9
mov qword [rax], r8
sub rsp, 0x20
call fcn.14015b160
mov rdx, qword [rbp + 0x5d8]
mov rcx, qword [rbp + 0x3a8]
mov rax, qword [rbp + 0x3b8]
add rsp, 0x20
mov rdx, qword [rdx]
mov qword [rbp + 0x350], rdx
mov rcx, qword [rcx]
mov qword [rbp + 0x358], rcx
mov qword [rbp + 0x9e8], rdx
mov qword [rax], rcx
lea rcx, [rbp + 0x9f8]
lea rdx, [rbp + 0x9e8]
sub rsp, 0x20
call fcn.140173f60
mov rcx, qword [rbp + 0x3c0]
mov rdx, qword [rbp + 0x680]
mov rax, qword [rbp + 0x358]
add rsp, 0x20
mov r8, qword [rbp + 0x9f8]
mov qword [rbp + 0x360], r8
mov rcx, qword [rcx]
mov qword [rbp + 0x368], rcx
xor ecx, ecx
cmp byte [rdx], 0
mov rdx, rcx
mov qword [rbp + 0x388], rdx
mov qword [rbp + 0x390], rcx
mov qword [rbp + 0x398], rax
jne 0x14017e018
mov rcx, qword [rbp + 0x368]
mov rax, qword [rbp + 0x3c8]
mov rdx, qword [rbp + 0x360]
mov qword [rbp + 0x9d8], rdx
mov qword [rax], rcx
lea rcx, [rbp + 0x9d8]
sub rsp, 0x20
call fcn.140174170
mov r8, qword [rbp + 0x680]
mov rcx, qword [rbp + 0x368]
add rsp, 0x20
mov rdx, rax
mov rax, qword [rbp + 0x358]
mov qword [rbp + 0x348], rdx
xor edx, edx
cmp byte [r8], 0
mov qword [rbp + 0x388], rdx
mov qword [rbp + 0x390], rcx
mov qword [rbp + 0x398], rax
jne 0x14017e018
mov eax, dword [0x1402553f0]
xor edx, edx
div dword [0x1402553f4]
mov ecx, 0x20e19fbe
xor edx, edx
div ecx
mov edx, 0x2bdaee3
xor edx, 0xca1f75be
mov ecx, eax
xor ecx, edx
xor ecx, 0xffffffff
or eax, 0xc8a2db5d
and eax, ecx
xor eax, 0x6ed22bed
cmp eax, 0xd4cd7742
ja 0x14017ec6d
mov r8, qword [rbp + 0x5e0]
mov rcx, qword [rbp + 0x348]
mov eax, dword [0x1402553f8]
mov edx, dword [0x1402553fc]
xor edx, 0x21e5639b
or eax, edx
mov r9d, 0xd6cda032
xor edx, edx
div r9d
sub eax, 0x7e36fd8d
mov edx, 0x25e48ae
xor edx, 0xb931a3a0
add eax, edx
mov dword [rbp + 0x340], eax
mov edx, 2
sub rsp, 0x20
call fcn.140174368
add rsp, 0x20
mov cl, al
mov eax, dword [rbp + 0x340]
mov byte [rbp + 0x347], cl
cmp eax, 0xeac8ba5f
ja 0x140179ac1
mov cl, byte [rbp + 0x347]
xor eax, eax
test cl, 1
mov qword [rbp + 0x338], rax
jne 0x14017dfc8
jmp 0x140179b4e
mov eax, dword [0x140255400]
xor eax, 0x2a171376
or eax, dword [0x140255404]
mov ecx, 0x7469b5ee
xor ecx, 0xeb2506cd
and eax, ecx
xor ecx, ecx
sub ecx, 0x6dffd78a
sub eax, ecx
mov ecx, 0x5ebb2815
xor edx, edx
div ecx
cmp eax, 0x68dd7f32
jae 0x14017ec76
mov rcx, qword [rbp + 0x358]
mov r8, qword [rbp + 0x5e0]
mov eax, dword [0x140255408]
mov r10d, dword [0x14025540c]
mov r9d, 0xcbd4f1fc
xor r9d, 0x342b0e03
mov edx, eax
xor edx, r9d
mov r9d, r10d
and r9d, edx
mov r11d, r10d
xor r11d, 0xffffffff
mov edx, eax
and edx, r11d
imul edx, r9d
mov r9d, eax
and r9d, r10d
or eax, r10d
imul eax, r9d
add eax, edx
mov r10d, 0xffffffff
xor r10d, 0xb62156e3
mov r9d, eax
and r9d, r10d
mov edx, eax
or edx, r10d
xor edx, 0xffffffff
imul edx, r9d
mov r9d, eax
and r9d, 0xb62156e3
or eax, 0xb62156e3
imul eax, r9d
add eax, edx
mov r9d, 0xa0f3383d
xor edx, edx
div r9d
mov rdx, qword [rbp + 0x350]
mov r9d, eax
mov rax, qword [rbp + 0x3d0]
imul r9d, r9d, 0xc0ac8aa9
mov dword [rbp + 0x31c], r9d
mov r9d, 0x7263b7c4
xor r9d, 0x51d5a432
mov dword [rbp + 0x318], r9d
mov r8, qword [r8]
mov word [rbp + 0xa68], r8w
mov qword [rbp + 0x9b8], rdx
mov qword [rax], rcx
lea rcx, [rbp + 0x9c8]
lea rdx, [rbp + 0x9b8]
sub rsp, 0x20
call fcn.140173f60
mov r8, qword [rbp + 0x3d8]
mov rdx, qword [rbp + 0x680]
mov ecx, dword [rbp + 0x318]
mov eax, dword [rbp + 0x31c]
add rsp, 0x20
mov r9, qword [rbp + 0x9c8]
mov qword [rbp + 0x320], r9
mov r8, qword [r8]
mov qword [rbp + 0x328], r8
cmp byte [rdx], 0
sete dl
mov byte [rbp + 0x337], dl
cmp eax, ecx
je 0x140179b8a
mov rax, qword [rbp + 0x358]
mov rcx, qword [rbp + 0x368]
mov r8b, byte [rbp + 0x337]
xor edx, edx
test r8b, 1
mov qword [rbp + 0x388], rdx
mov qword [rbp + 0x390], rcx
mov qword [rbp + 0x398], rax
jne 0x140179cff
jmp 0x14017e018
mov rdx, qword [rbp + 0x328]
mov rcx, qword [rbp + 0x5f0]
mov rax, qword [rbp + 0x3e0]
mov r8, qword [rbp + 0x320]
mov qword [rcx], r8
mov qword [rax], rdx
sub rsp, 0x20
call fcn.140174170
mov r8, qword [rbp + 0x680]
mov rdx, qword [rbp + 0x328]
mov rcx, qword [rbp + 0x368]
add rsp, 0x20
mov r9, rax
mov rax, qword [rbp + 0x358]
mov qword [rbp + 0x310], r9
cmp byte [r8], 0
mov qword [rbp + 0x388], rdx
mov qword [rbp + 0x390], rcx
mov qword [rbp + 0x398], rax
jne 0x14017e018
mov rcx, qword [rbp + 0x310]
movabs rdx, 0xb357569737b36e71
movabs rax, 0xb357569737b36e73
xor rdx, rax
lea r8, [rbp + 0xa60]
sub rsp, 0x20
call fcn.140174368
add rsp, 0x20
mov cl, al
mov rax, qword [rbp + 0x328]
test cl, 1
mov qword [rbp + 0x338], rax
jne 0x14017dfc8
mov eax, dword [0x140255410]
xor eax, 0x75e5e72d
mov edx, dword [0x140255414]
mov r8d, 0x11612cb0
xor r8d, 0x11612cb1
mov ecx, eax
add ecx, r8d
xor eax, 0xffffffff
or eax, edx
add eax, ecx
mov r8d, 0x9e0cad50
xor r8d, 0xef55f8b2
mov ecx, 0xbd090365
xor ecx, 0x42f6fc9a
xor r8d, ecx
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov r8d, 0x94db215b
xor r8d, 0xe58274b9
mov edx, eax
and edx, r8d
or eax, 0x715955e2
imul eax, edx
add eax, ecx
mov ecx, 0xffffffff
xor ecx, 0x68f4f65
xor edx, edx
sub edx, 1
sub ecx, edx
sub eax, ecx
xor eax, 0x968919a2
cmp eax, 0x5525014d
jbe 0x14017ec7f
mov ecx, dword [0x140255418]
mov eax, 0xc80050e4
xor eax, 0x88c5d9ae
xor ecx, eax
mov r8d, dword [0x14025541c]
xor r8d, 0x6b8727b4
mov eax, ecx
xor eax, 0xffffffff
mov edx, r8d
and edx, eax
mov r9d, r8d
xor r9d, 0xffffffff
mov eax, ecx
and eax, r9d
imul eax, edx
mov edx, ecx
and edx, r8d
or ecx, r8d
imul ecx, edx
add ecx, eax
mov eax, ecx
and eax, 0x8a00f7c
or ecx, 0x8a00f7c
add eax, ecx
xor eax, 0x982c7fbb
and eax, 0xb42246b4
mov rdx, qword [rbp + 0xa60]
movabs r8, 0xfca890512ab72194
mov rcx, rdx
add rcx, r8
add rcx, 2
movabs r8, 0xfca890512ab72194
sub rcx, r8
mov qword [rbp + 0x300], rcx
mov r8, rdx
and r8, 0xffffffffffffffff
shl r8, 1
add rdx, 0xffffffffffffffff
sub rdx, r8
and rcx, rdx
movabs rdx, 0xa369da5e3cacfb1a
movabs r8, 0xa369da5e3cacfb1a
xor rdx, r8
cmp rcx, rdx
setl cl
mov byte [rbp + 0x30f], cl
cmp eax, 0xc7d033ae
jae 0x140179e53
mov rax, qword [rbp + 0x328]
mov cl, byte [rbp + 0x30f]
test cl, 1
mov qword [rbp + 0x338], rax
jne 0x14017dfc8
jmp 0x140179f46
mov rcx, qword [rbp + 0x358]
mov rdx, qword [rbp + 0x5f8]
mov rax, qword [rbp + 0x3f0]
mov r8, qword [rbp + 0x350]
mov r9, qword [rbp + 0x3e8]
mov r10, qword [rbp + 0x300]
mov word [r9], r10w
mov qword [rdx], r8
mov qword [rax], rcx
lea rcx, [rbp + 0x9a8]
sub rsp, 0x20
call fcn.140173f60
mov r9, qword [rbp + 0x3f8]
mov r8, qword [rbp + 0x680]
mov rdx, qword [rbp + 0x328]
mov rcx, qword [rbp + 0x368]
mov rax, qword [rbp + 0x358]
add rsp, 0x20
mov r10, qword [rbp + 0x9a8]
mov qword [rbp + 0x2f0], r10
mov r9, qword [r9]
mov qword [rbp + 0x2f8], r9
cmp byte [r8], 0
mov qword [rbp + 0x388], rdx
mov qword [rbp + 0x390], rcx
mov qword [rbp + 0x398], rax
jne 0x14017e018
mov rcx, qword [rbp + 0x2f8]
mov rax, qword [rbp + 0x400]
mov rdx, qword [rbp + 0x2f0]
mov qword [rbp + 0x998], rdx
mov qword [rax], rcx
lea rcx, [rbp + 0x998]
sub rsp, 0x20
call fcn.140174447
mov r8, qword [rbp + 0x680]
mov rcx, qword [rbp + 0x2f8]
add rsp, 0x20
mov rdx, rax
mov rax, qword [rbp + 0x328]
mov qword [rbp + 0x2d0], rdx
mov dl, 1
cmp byte [r8], 0
mov byte [rbp + 0x2df], dl
mov qword [rbp + 0x2e0], rcx
mov qword [rbp + 0x2e8], rax
jne 0x14017e12c
mov rax, qword [rbp + 0x408]
mov rcx, qword [rbp + 0x2d0]
mov qword [rax], rcx
movabs rdx, 0x5dd25b8726d6d4e8
movabs rax, 0x5dd25b8726d6d4d8
xor rdx, rax
lea rcx, [rbp + 0xa30]
sub rsp, 0x20
call fcn.140159480
mov r9, qword [rbp + 0x410]
mov r8, qword [rbp + 0x418]
mov rdx, qword [rbp + 0x420]
mov rcx, qword [rbp + 0x428]
mov rax, qword [rbp + 0x430]
add rsp, 0x20
mov r10d, 0x7469c019
xor r10d, 0x7469c029
mov dword [rbp + 0xa30], r10d
lea r10, [rbp + 0xa68]
mov qword [r9], r10
mov dword [r8], 0x40
movabs r8, 0x36f3473b5b8ba562
movabs r9, 0x36f3473b5b8ba562
xor r8, r9
mov qword [rdx], r8
mov qword [rcx], 0
mov qword [rax], 0
movabs rax, 0x2a190086bd06ffb0
movabs rcx, 0x2a190086bd06ffb0
xor rax, rcx
mov qword [rbp + 0xa28], rax
lea rcx, [rbp + 0xa18]
mov edx, 0x10
sub rsp, 0x20
call fcn.140159480
add rsp, 0x20
lea rcx, [rbp + 0xa28]
mov edx, 0x80000000
lea r8, [rbp + 0xa30]
lea r9, [rbp + 0xa18]
mov rax, qword [0x1402647c0]
sub rsp, 0x30
mov dword [rsp + 0x20], 7
mov dword [rsp + 0x28], 1
call qword [rax]
mov r8, qword [rbp + 0x680]
mov rcx, qword [rbp + 0x2f8]
add rsp, 0x30
mov edx, eax
mov rax, qword [rbp + 0x328]
mov dword [rbp + 0x2cc], edx
mov dl, 1
cmp byte [r8], 0
mov byte [rbp + 0x2df], dl
mov qword [rbp + 0x2e0], rcx
mov qword [rbp + 0x2e8], rax
jne 0x14017e12c
mov ecx, dword [rbp + 0x2cc]
mov rax, qword [rbp + 0x438]
mov rdx, qword [rbp + 0x378]
mov r8, qword [rbp + 0x370]
mov qword [rbp + 0x988], r8
mov qword [rax], rdx
lea rdx, [rbp + 0x988]
sub rsp, 0x20
call fcn.1400c0190
mov r8, qword [rbp + 0x680]
mov rcx, qword [rbp + 0x2f8]
mov rax, qword [rbp + 0x328]
add rsp, 0x20
mov dl, 1
cmp byte [r8], 0
mov byte [rbp + 0x2df], dl
mov qword [rbp + 0x2e0], rcx
mov qword [rbp + 0x2e8], rax
jne 0x14017e12c
mov rdx, qword [rbp + 0x600]
mov ecx, dword [rbp + 0x2cc]
mov rax, qword [rbp + 0x440]
mov r8, qword [rbp + 0x378]
mov r9, qword [rbp + 0x370]
mov qword [rdx], r9
mov qword [rax], r8
sub rsp, 0x20
call fcn.1400c38d9
mov r8, qword [rbp + 0x680]
mov rcx, qword [rbp + 0x2f8]
mov rax, qword [rbp + 0x328]
add rsp, 0x20
mov dl, 1
cmp byte [r8], 0
mov byte [rbp + 0x2df], dl
mov qword [rbp + 0x2e0], rcx
mov qword [rbp + 0x2e8], rax
jne 0x14017e12c
mov r8, qword [rbp + 0x608]
mov edx, dword [rbp + 0x2cc]
mov rax, qword [rbp + 0x448]
mov r9, qword [rbp + 0x378]
mov r10, qword [rbp + 0x370]
mov rcx, qword [rbp + 0xa28]
mov qword [r8], r10
mov qword [rax], r9
sub rsp, 0x20
call fcn.1400c39a0
mov rdx, qword [rbp + 0x680]
mov rcx, qword [rbp + 0x2f8]
mov rax, qword [rbp + 0x328]
add rsp, 0x20
mov r8b, byte [rdx]
mov r9b, 0xcd
xor r9b, 0xcd
mov dl, 1
cmp r8b, r9b
mov byte [rbp + 0x2df], dl
mov qword [rbp + 0x2e0], rcx
mov qword [rbp + 0x2e8], rax
jne 0x14017e12c
cmp qword [rbp + 0xa28], 1
jge 0x14017a380
mov ecx, dword [rbp + 0x2cc]
mov rax, qword [0x140263ce8]
mov qword [rbp + 0x978], rax
mov rax, qword [0x140263cf0]
mov qword [rbp + 0x980], rax
lea rdx, [rbp + 0x978]
sub rsp, 0x20
call fcn.1400a6ec0
mov r8, qword [rbp + 0x680]
mov rcx, qword [rbp + 0x2f8]
mov rax, qword [rbp + 0x328]
add rsp, 0x20
mov dl, 1
cmp byte [r8], 0
mov byte [rbp + 0x2df], dl
mov qword [rbp + 0x2e0], rcx
mov qword [rbp + 0x2e8], rax
jne 0x14017e12c
mov ecx, dword [rbp + 0x2cc]
mov rax, qword [0x140263ce8]
mov qword [rbp + 0x968], rax
mov rax, qword [0x140263cf0]
mov qword [rbp + 0x970], rax
lea rdx, [rbp + 0x968]
sub rsp, 0x20
call fcn.1400a6ec0
mov rax, qword [rbp + 0x680]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14017de80
mov ecx, 0x1d4c0
sub rsp, 0x20
call fcn.14000bcfb
mov r10, qword [rbp + 0x2f8]
mov r9, qword [rbp + 0x328]
mov r8, qword [rbp + 0x368]
mov rdx, qword [rbp + 0x358]
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x378]
cmp r10, 0
sete r10b
mov byte [rbp + 0x2b3], r10b
cmp r9, 0
sete r9b
mov byte [rbp + 0x2b4], r9b
cmp r8, 0
sete r8b
mov byte [rbp + 0x2b5], r8b
cmp rdx, 0
sete dl
mov byte [rbp + 0x2b6], dl
cmp rax, 0
sete al
mov byte [rbp + 0x2b7], al
mov edx, 0x1d4c0
mov al, 1
mov qword [rbp + 0x2b8], rdx
mov qword [rbp + 0x2c0], rcx
mov byte [rbp + 0x2cb], al
mov rcx, qword [rbp + 0x2b8]
mov rdx, qword [rbp + 0x2c0]
mov al, byte [rbp + 0x2cb]
mov qword [rbp + 0x2a0], rdx
mov qword [rbp + 0x2a8], rcx
mov byte [rbp + 0x2b2], al
mov rbx, qword [rbp + 0x2a0]
mov r10b, byte [rbp + 0x2b2]
mov byte [rbp + 0x293], r10b
mov rax, qword [0x1402647e8]
mov rax, qword [rax]
mov rcx, qword [rbp + 0xa28]
movabs rdx, 0x1fecc64d09c3f1b3
movabs r8, 0x1fecc64d09c3f1b3
xor rdx, r8
mov edi, 0xca4ac5ec
xor edi, 0xca4b112c
mov esi, 0xc502f512
xor esi, 0xc502f511
mov r11b, 0x73
xor r11b, 0x73
xor r8d, r8d
mov r9d, r8d
lea r14, [rbp + 0xa18]
sub rsp, 0x60
mov r8, r9
mov qword [rsp + 0x20], r14
mov qword [rsp + 0x28], rbx
mov dword [rsp + 0x30], edi
mov dword [rsp + 0x38], esi
mov byte [rsp + 0x40], r11b
mov qword [rsp + 0x48], 0
mov byte [rsp + 0x50], r10b
call rax
mov rcx, qword [rbp + 0x680]
add rsp, 0x60
mov edx, eax
mov rax, qword [rbp + 0x2a0]
mov dword [rbp + 0x294], edx
mov cl, byte [rcx]
mov dl, 0x5b
xor dl, 0x5b
cmp cl, dl
mov qword [rbp + 0x298], rax
jne 0x14017de6c
mov eax, dword [rbp + 0x294]
cmp eax, 0x103
mov dword [rbp + 0x28c], eax
jne 0x14017a936
mov ecx, dword [0x140255420]
xor ecx, 0x49024cb4
add ecx, dword [0x140255424]
mov eax, ecx
xor eax, 0xffffffff
and eax, 0x71046a45
mov edx, 0xffffffff
xor edx, 0x71046a45
and ecx, edx
or eax, ecx
mov ecx, 0xffffffff
xor ecx, 0x691966c3
xor edx, edx
sub edx, 1
sub ecx, edx
sub eax, ecx
or eax, eax
xor eax, 0xffffffff
mov ecx, 0xffffffff
xor ecx, 0x393a8272
mov edx, 0xffffffff
xor edx, 0x393a8272
and ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
cmp eax, 0xac624a8
jbe 0x14017ec88
mov ecx, dword [0x140255428]
mov eax, dword [0x14025542c]
xor eax, 0x66e8d352
or ecx, eax
xor ecx, 0xc8066450
mov eax, ecx
and eax, eax
xor eax, 0xffffffff
mov edx, 0x968b0ff
xor edx, 0x82839830
and eax, edx
xor eax, 0xffffffff
mov edx, 0xcf7b0280
xor edx, 0x44902a4f
mov r8d, 0xf12062e6
xor r8d, 0xedf9d19
xor edx, r8d
mov r8d, 0x578f3f9c
xor r8d, 0xdc641753
mov r9d, 0x7b6ec3f4
xor r9d, 0x84913c0b
xor r8d, r9d
or edx, r8d
xor ecx, 0xffffffff
xor edx, 0xffffffff
or ecx, edx
and eax, ecx
xor eax, 0xffffffff
mov ecx, 0xbdf5e96c
xor ecx, 0xb3746f54
imul eax, ecx
mov dword [rbp + 0x280], eax
mov eax, 0xfa6998a2
xor eax, 0x401f3f49
mov dword [rbp + 0x27c], eax
lea rcx, [rbp + 0x960]
mov edx, 8
sub rsp, 0x20
call fcn.140159480
add rsp, 0x20
mov qword [rbp + 0x960], 0xffffffffffb3b4c0
mov rax, qword [0x140264818]
mov rax, qword [rax]
mov rcx, qword [rbp + 0xa28]
mov edx, 1
lea r8, [rbp + 0x960]
sub rsp, 0x20
call rax
mov rdx, qword [rbp + 0x680]
mov ecx, dword [rbp + 0x27c]
add rsp, 0x20
mov r8d, eax
mov eax, dword [rbp + 0x280]
mov dword [rbp + 0x284], r8d
cmp byte [rdx], 0
sete dl
mov byte [rbp + 0x28b], dl
cmp eax, ecx
ja 0x14017ec88
mov al, byte [rbp + 0x28b]
test al, 1
jne 0x14017a6fe
jmp 0x14017a923
mov eax, dword [rbp + 0x284]
test eax, eax
je 0x14017a912
jmp 0x14017a711
mov eax, dword [rbp + 0x284]
sub eax, 0x102
jne 0x14017a85e
jmp 0x14017a727
mov eax, dword [0x140255430]
xor eax, 0xc2b0cba4
and eax, dword [0x140255434]
or eax, eax
xor eax, 0xffffffff
mov ecx, 0x9bc116e0
xor ecx, 0xac3e9aa7
mov edx, 0x3df4bbe2
xor edx, 0xa0b37a5
or ecx, edx
xor ecx, 0xffffffff
or eax, ecx
xor eax, 0xffffffff
mov ecx, 0x652277f4
xor edx, edx
div ecx
mov ecx, 0xdc2c6122
xor edx, edx
div ecx
cmp eax, 0x361fced3
ja 0x14017ec91
mov eax, dword [0x140255438]
mov edx, dword [0x14025543c]
xor eax, 0xffffffff
xor edx, 0xffffffff
mov ecx, 0xffffffff
xor ecx, 0x3b0f5163
or eax, edx
or ecx, 0x3b0f5163
xor eax, 0xffffffff
and eax, ecx
and eax, 0x25893341
or eax, 0xce367a70
mov ecx, 0xf07bbf0b
xor edx, edx
div ecx
mov dword [rbp + 0x278], eax
mov ecx, 0x40
mov edx, 8
sub rsp, 0x20
call fcn.140012610
add rsp, 0x20
mov rcx, rax
mov rax, qword [0x140264760]
mov qword [rcx], rax
lea rax, [0x140263ca1]
mov qword [rcx + 0x10], rax
mov rax, qword [0x140263d38]
mov qword [rcx + 0x18], rax
mov rax, qword [str.x_]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
movabs rax, 0xb3ed4fa628531404
movabs rdx, 0x4c12b059f9c8eec0
xor rax, rdx
lea rdx, [0x140263ca1]
lea r8, [0x140263cda]
lea r9, [0x140263cba]
sub rsp, 0x30
mov qword [rsp + 0x20], rax
call fcn.14001203f
mov eax, dword [rbp + 0x278]
add rsp, 0x30
cmp eax, 0xc18b10fe
jae 0x14017a77a
jmp 0x14017a923
movabs rcx, 0xb50a9dd0c6d9092e
movabs rax, 0xb50a9dd0c6d9096e
xor rcx, rax
movabs rdx, 0xa4ca70e5886ee713
movabs rax, 0xa4ca70e5886ee71b
xor rdx, rax
sub rsp, 0x20
call fcn.140012610
add rsp, 0x20
mov rcx, rax
mov rax, qword [0x140264760]
mov qword [rcx], rax
lea rax, [0x140263ca1]
mov qword [rcx + 0x10], rax
mov rax, qword [0x140263d38]
mov qword [rcx + 0x18], rax
mov rax, qword [str.x_]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
movabs rax, 0x51b53e4ef41ff1e0
movabs rdx, 0xae4ac1b146784690
xor rax, rdx
lea rdx, [0x140263ca1]
lea r8, [0x140263cda]
lea r9, [0x140263cba]
sub rsp, 0x30
mov qword [rsp + 0x20], rax
call fcn.14001203f
add rsp, 0x30
jmp 0x14017a923
mov eax, dword [rbp + 0xa18]
mov dword [rbp + 0x28c], eax
jmp 0x14017a936
mov rax, qword [rbp + 0x2a0]
mov qword [rbp + 0x298], rax
jmp 0x14017de6c
mov rdx, qword [rbp + 0x450]
mov ecx, dword [rbp + 0x28c]
mov dword [rbp + 0x270], ecx
mov eax, ecx
sub eax, 0x80000005
sete al
test ecx, ecx
sete cl
mov byte [rbp + 0x277], cl
mov rdx, qword [rdx]
test rdx, rdx
sete dl
and cl, dl
or al, cl
test al, 1
jne 0x14017a978
jmp 0x14017acea
mov rcx, qword [rbp + 0x2a8]
mov edx, 2
lea r8, [rbp + 0x958]
sub rsp, 0x20
call fcn.140174368
add rsp, 0x20
test al, 1
jne 0x14017a9a5
jmp 0x14017a9de
sub rsp, 0x20
call fcn.140008c92
mov rdx, qword [rbp + 0x2a8]
mov rcx, qword [rbp + 0x2a0]
add rsp, 0x20
mov eax, 0xc
mov qword [rbp + 0x258], rdx
mov qword [rbp + 0x260], rcx
mov dword [rbp + 0x26c], eax
jmp 0x14017acbd
mov rax, qword [rbp + 0x958]
mov qword [rbp + 0x250], rax
cmp rax, 0x100000
jl 0x14017aac0
movabs rcx, 0x92662ff3b44bb5b6
movabs rax, 0x92662ff3b44bb5f6
xor rcx, rax
movabs rdx, 0xb0ebb4a533e96724
movabs rax, 0xb0ebb4a533e9672c
xor rdx, rax
sub rsp, 0x20
call fcn.140012610
add rsp, 0x20
mov rcx, rax
mov rax, qword [0x140264728]
mov qword [rcx], rax
lea rax, [0x140263c28]
mov qword [rcx + 0x10], rax
mov rax, qword [0x140263d38]
mov qword [rcx + 0x18], rax
mov rax, qword [str.x_]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
lea rdx, [0x140263c28]
lea r8, [0x140263cda]
lea r9, [0x140263cba]
sub rsp, 0x30
mov qword [rsp + 0x20], 0xffffffffb4665007
call fcn.14001203f
mov rdx, qword [rbp + 0x2a8]
mov rcx, qword [rbp + 0x2a0]
add rsp, 0x30
mov eax, 0xc
mov qword [rbp + 0x258], rdx
mov qword [rbp + 0x260], rcx
mov dword [rbp + 0x26c], eax
jmp 0x14017acbd
mov eax, dword [0x140255440]
mov edx, dword [0x140255444]
xor edx, 0xfc2c7333
xor ecx, ecx
sub ecx, edx
add eax, ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0xf8884f0d
mov r8d, 0xffffffff
xor r8d, 0xf8884f0d
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0xf8884f0d
or eax, 0xf8884f0d
imul eax, edx
add eax, ecx
mov edx, 0xffffffff
xor edx, 0x5e5bc81a
mov ecx, eax
and ecx, edx
mov r8d, 0xffd8c8ca
xor r8d, 0xa18300d0
mov edx, eax
xor edx, r8d
add eax, edx
sub eax, ecx
imul eax, eax, 0xef153ef5
cmp eax, 0x2b6524b0
jbe 0x14017ec9a
mov rcx, qword [rbp + 0x2a0]
mov eax, dword [0x140255448]
mov r9d, dword [0x14025544c]
mov edx, eax
xor edx, 0xffffffff
mov r8d, r9d
and r8d, edx
mov r10d, r9d
xor r10d, 0xffffffff
mov edx, eax
and edx, r10d
imul edx, r8d
mov r8d, eax
and r8d, r9d
or eax, r9d
imul eax, r8d
add eax, edx
mov r8d, 0xef1b01d2
xor edx, edx
div r8d
mov edx, eax
add edx, 0x438ae931
mov r8d, 0x3369493b
xor r8d, 0xcc96b6c4
mov eax, edx
xor eax, r8d
mov r8d, edx
xor r8d, 0xffffffff
or eax, r8d
and eax, 0x34702b00
xor eax, 0xffffffff
mov r8d, 0x34702b00
and r8d, 0x34702b00
mov r9d, 0xb8754ae2
xor r9d, 0x478ab51d
xor r8d, r9d
and edx, r8d
xor edx, 0xffffffff
and eax, edx
xor eax, 0xffffffff
mov dword [rbp + 0x248], eax
mov eax, 0xd014d48
xor eax, 0xc2a8aa04
mov dword [rbp + 0x244], eax
sub rsp, 0x20
call fcn.14001cd5d
mov rdx, qword [rbp + 0x250]
mov ecx, dword [rbp + 0x244]
mov eax, dword [rbp + 0x248]
add rsp, 0x20
cmp rdx, 0
setl dl
mov byte [rbp + 0x24f], dl
cmp eax, ecx
je 0x14017ab40
mov al, byte [rbp + 0x24f]
test al, 1
jne 0x14017ac3b
jmp 0x14017ac86
mov rcx, qword [rbp + 0x250]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.14000d792
mov rdx, qword [rbp + 0x250]
add rsp, 0x20
xor eax, eax
mov ecx, eax
mov eax, 0xc
mov qword [rbp + 0x258], rdx
mov qword [rbp + 0x260], rcx
mov dword [rbp + 0x26c], eax
jmp 0x14017acbd
mov rcx, qword [rbp + 0x250]
sub rsp, 0x20
call fcn.14000bcfb
mov rdx, qword [rbp + 0x250]
add rsp, 0x20
mov rcx, rax
mov eax, 0x15
mov qword [rbp + 0x258], rdx
mov qword [rbp + 0x260], rcx
mov dword [rbp + 0x26c], eax
mov rdx, qword [rbp + 0x258]
mov rcx, qword [rbp + 0x260]
mov eax, dword [rbp + 0x26c]
mov qword [rbp + 0x230], rdx
mov qword [rbp + 0x238], rcx
mov dword [rbp + 0x240], eax
jmp 0x14017dddc
mov ecx, dword [0x140255450]
mov edx, dword [0x140255454]
xor eax, eax
sub eax, edx
add ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, 0xf2c396ef
xor edx, 0x56d5dc0
and edx, eax
mov r8d, 0x628f7e6a
xor r8d, 0x9521b545
mov eax, 0x56708f95
xor eax, 0xa98f706a
xor r8d, eax
mov eax, ecx
and eax, r8d
imul eax, edx
mov edx, ecx
and edx, 0xf7aecb2f
mov r8d, 0xd06f210b
xor r8d, 0x27c1ea24
or ecx, r8d
imul ecx, edx
add ecx, eax
mov edx, 0xb5158a3f
xor edx, 0x4f4fd541
mov eax, ecx
or eax, edx
xor eax, 0xffffffff
mov edx, 0xa8d55b6e
xor edx, 0x572aa491
xor ecx, edx
mov edx, 0x294fdaf3
xor edx, 0xd315858d
mov r8d, 0xcb8b07f8
xor r8d, 0x3474f807
xor edx, r8d
and ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
imul eax, eax, 0x7b6831c
cmp eax, 0xe2d8d1e9
jae 0x14017eca3
mov eax, dword [0x140255458]
xor edx, edx
div dword [0x14025545c]
add eax, 0x8a01cc29
or eax, 0xa91b909f
mov ecx, eax
xor ecx, 0xffffffff
mov edx, 0xf3cacf63
xor edx, 0xf300482d
and edx, ecx
mov r8d, 0xffffffff
xor r8d, 0xca874e
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0xca874e
or eax, 0xca874e
imul eax, edx
add eax, ecx
mov ecx, 0x5f64bd98
xor ecx, 0x6d7e1410
cmp eax, ecx
jae 0x14017ada2
mov rax, qword [rbp + 0x2a0]
mov cl, byte [rbp + 0x277]
test cl, 1
mov qword [rbp + 0x228], rax
jne 0x14017ae28
jmp 0x14017dc2e
mov rax, qword [rbp + 0x228]
mov qword [rbp + 0x218], rax
mov rcx, rax
add rcx, 0x3c
mov qword [rbp + 0x220], rcx
cmp dword [rax + 0x3c], 0
je 0x14017db58
mov eax, dword [0x140255460]
xor edx, edx
div dword [0x140255464]
add eax, 0x148afcc0
mov ecx, 0xe8088074
xor edx, edx
div ecx
mov ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x7f459eba
or eax, edx
mov edx, 0x752e548c
xor edx, 0xa6bca36
and ecx, edx
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
cmp eax, 0x3fc0a455
je 0x14017ecac
mov rax, qword [rbp + 0x218]
mov ecx, dword [0x140255468]
mov edx, dword [0x14025546c]
xor ecx, edx
mov edx, ecx
imul rdx, rdx, 0x52866903
shr rdx, 0x20
sub ecx, edx
shr ecx, 1
add ecx, edx
shr ecx, 0x1e
add ecx, 0xf76b9331
xor ecx, 0x3f73b959
mov dword [rbp + 0x210], ecx
mov rcx, rax
add rcx, 0x38
mov qword [rbp + 0x208], rcx
mov ecx, dword [rax + 0x38]
and ecx, 0x10
sub rsp, 0x20
call fcn.14009f234
mov rcx, qword [rbp + 0x680]
add rsp, 0x20
mov dl, al
mov eax, dword [rbp + 0x210]
mov cl, byte [rcx]
test cl, cl
sete cl
mov byte [rbp + 0x216], cl
and cl, dl
mov byte [rbp + 0x217], cl
cmp eax, 0xfe5ce4ed
jae 0x14017ae9e
mov al, byte [rbp + 0x217]
test al, 1
jne 0x14017af3e
jmp 0x14017c6f7
mov rax, qword [rbp + 0x220]
mov eax, dword [rax]
mov dword [rbp + 0x204], eax
sub eax, 2
je 0x14017b165
jmp 0x14017af5b
mov eax, dword [rbp + 0x204]
sub eax, 4
jne 0x14017b1c7
jmp 0x14017af6f
mov rax, qword [rbp + 0x218]
mov rcx, rax
add rcx, 0x5e
mov qword [rbp + 0x1f8], rcx
mov ax, word [rax + 0x5e]
mov word [rbp + 0x202], ax
cmp ax, 0xff
jbe 0x14017afe5
mov ax, word [rbp + 0x202]
movzx eax, ax
mov ecx, eax
movabs rdx, 0x30290415da6a1c06
movabs rax, 0x30290415da6a1c06
xor rdx, rax
movabs r8, 0x4410149576c4ad82
movabs rax, 0x4410149576c4ad7d
xor r8, rax
sub rsp, 0x20
call fcn.14000d792
add rsp, 0x20
jmp 0x14017c603
mov ax, word [rbp + 0x202]
mov cx, 0xc3a5
xor cx, 0xc38b
cmp ax, cx
jne 0x14017b22a
mov ecx, dword [0x140255470]
mov eax, dword [0x140255474]
xor eax, 0xc53340d
or ecx, eax
mov eax, 0xdedac0ed
xor eax, 0x4b542cb
sub ecx, eax
mov eax, ecx
or eax, 0xd8a76a7c
xor eax, 0xffffffff
mov edx, 0xca7afe29
xor edx, 0x12dd9455
or ecx, edx
mov edx, 0x2c3485f0
xor edx, 0xd3cb7a0f
xor ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0x67bbc06
mov ecx, 0xcee218e
xor ecx, 0xfb80d4de
cmp eax, ecx
ja 0x14017ecb5
mov rcx, qword [rbp + 0x1f8]
mov eax, dword [0x140255478]
mov edx, 0xf2e9da03
xor edx, 0xe454dad8
xor eax, edx
mov r8d, dword [str..A]
xor edx, edx
sub edx, r8d
add eax, edx
xor eax, 0x544af994
mov r8d, 0xf9f78a62
xor r8d, 0xde2e8533
xor edx, edx
div r8d
sub eax, 0x26526580
xor edx, edx
sub rdx, rcx
xor ecx, ecx
sub rcx, 2
add rdx, rcx
movabs rcx, 0xd56808271b480e0a
movabs r8, 0xd56808271b480e0a
xor rcx, r8
sub rcx, rdx
mov cx, word [rcx]
mov word [rbp + 0x1f4], cx
cmp cx, 0xff
seta cl
mov byte [rbp + 0x1f7], cl
cmp eax, 0x6f01eb05
jb 0x14017b061
mov al, byte [rbp + 0x1f7]
test al, 1
jne 0x14017b103
jmp 0x14017b14f
mov ax, word [rbp + 0x1f4]
movzx eax, ax
mov ecx, eax
movabs rdx, 0xd3f5ba8e5ec4fd29
movabs rax, 0xd3f5ba8e5ec4fd29
xor rdx, rax
movabs r8, 0x5234064a9b599cc6
movabs rax, 0x5234064a9b599c39
xor r8, rax
sub rsp, 0x20
call fcn.14000d792
add rsp, 0x20
jmp 0x14017c603
mov ax, word [rbp + 0x1f4]
cmp ax, 0x2e
je 0x14017db40
jmp 0x14017b22a
mov rax, qword [rbp + 0x218]
mov ax, word [rax + 0x5e]
mov word [rbp + 0x1f2], ax
mov cx, 0xb379
xor cx, 0xb386
cmp ax, cx
jbe 0x14017b1b1
mov ax, word [rbp + 0x1f2]
movzx eax, ax
mov ecx, eax
xor eax, eax
mov edx, eax
mov r8d, 0xff
sub rsp, 0x20
call fcn.14000d792
add rsp, 0x20
jmp 0x14017c603
mov ax, word [rbp + 0x1f2]
cmp ax, 0x2e
je 0x14017db40
jmp 0x14017b22a
mov eax, dword [rbp + 0x204]
cmp eax, 0xffffffff
jge 0x14017b22a
mov eax, dword [rbp + 0x204]
xor ecx, ecx
sub ecx, eax
shr ecx, 1
xor eax, eax
sub eax, ecx
movsxd rcx, eax
movabs rdx, 0x13edcf3b8a6cc91f
movabs rax, 0x13edcf3b8a6cc91f
xor rdx, rax
movabs r8, 0x17b192f4a2ca9f5f
movabs rax, 0x684e6d0b5d3560a0
xor r8, rax
sub rsp, 0x20
call fcn.14000d792
add rsp, 0x20
jmp 0x14017c603
mov rcx, qword [rbp + 0x610]
mov eax, dword [rbp + 0x204]
mov rdx, qword [rbp + 0x218]
add rdx, 0x5e
mov qword [rbp + 0x1d8], rdx
mov r8d, 0xfbaf6b31
xor r8d, 0xfbaf6b33
cdq
idiv r8d
mov rdx, qword [rbp + 0x1d8]
mov eax, eax
mov r8d, eax
sub rsp, 0x20
call fcn.1400a37d4
mov rdx, qword [rbp + 0x610]
mov rcx, qword [rbp + 0x458]
mov rax, qword [rbp + 0x680]
add rsp, 0x20
mov rdx, qword [rdx]
mov qword [rbp + 0x1e0], rdx
mov rcx, qword [rcx]
mov qword [rbp + 0x1e8], rcx
mov al, byte [rax]
mov cl, 0xfc
xor cl, 0xfc
cmp al, cl
jne 0x14017db45
mov rax, qword [rbp + 0x460]
mov rcx, qword [rbp + 0x1e8]
mov rdx, qword [rbp + 0x1e0]
mov qword [rbp + 0x908], rdx
mov qword [rax], rcx
lea rcx, [rbp + 0x918]
lea rdx, [rbp + 0x908]
sub rsp, 0x20
call fcn.140174480
mov rax, qword [rbp + 0x468]
mov rcx, qword [rbp + 0x680]
add rsp, 0x20
mov rdx, qword [rbp + 0x918]
mov qword [rbp + 0x1c0], rdx
mov rax, qword [rax]
mov qword [rbp + 0x1c8], rax
xor eax, eax
cmp byte [rcx], 0
mov qword [rbp + 0x1d0], rax
jne 0x14017c506
mov rcx, qword [rbp + 0x1c8]
mov rdx, qword [rbp + 0x1c0]
mov rdi, qword [rbp + 0x480]
mov rsi, qword [rbp + 0x478]
mov rax, qword [rbp + 0x470]
mov byte [rbp + 0x928], 1
mov qword [rbp + 0x8e8], rdx
mov qword [rax], rcx
lea rcx, [rbp + 0x8f8]
lea rdx, [rbp + 0x8e8]
sub rsp, 0x20
call fcn.14001ba7e
mov r11, qword [rbp + 0x488]
mov r10, qword [rbp + 0x370]
mov r9, qword [rbp + 0x378]
mov r8, qword [rbp + 0x490]
mov rdx, qword [rbp + 0x1c0]
mov rax, qword [rbp + 0x498]
mov rcx, qword [rbp + 0x1c8]
add rsp, 0x20
mov rbx, qword [rbp + 0x8f8]
mov rsi, qword [rsi]
mov qword [rdi], rbx
mov qword [r11], rsi
mov qword [rbp + 0x8c8], r10
mov qword [r8], r9
mov qword [rbp + 0x8b8], rdx
mov qword [rax], rcx
lea rcx, [rbp + 0x8d8]
lea rdx, [rbp + 0x8c8]
lea r8, [rbp + 0x8b8]
sub rsp, 0x20
call fcn.140094f00
mov rdx, qword [rbp + 0x4a0]
mov rcx, qword [rbp + 0x680]
mov rax, qword [rbp + 0x1c8]
add rsp, 0x20
mov r8, qword [rbp + 0x8d8]
mov qword [rbp + 0x1b0], r8
mov rdx, qword [rdx]
mov qword [rbp + 0x1b8], rdx
mov cl, byte [rcx]
mov dl, 0x63
xor dl, 0x63
cmp cl, dl
mov qword [rbp + 0x1d0], rax
jne 0x14017c506
mov rcx, qword [rbp + 0x5d0]
mov rax, qword [rbp + 0x4b8]
mov rdx, qword [rbp + 0x4b0]
mov r8, qword [rbp + 0x1b8]
mov r9, qword [rbp + 0x4a8]
mov r10, qword [rbp + 0x1b0]
mov qword [r9], r10
mov qword [rdx], r8
mov qword [rax], 0
sub rsp, 0x20
lea rdx, [rbp + 0x928]
call fcn.1400c3cfd
mov rcx, qword [rbp + 0x680]
mov rdx, qword [rbp + 0x5d0]
mov rax, qword [rbp + 0x1c8]
add rsp, 0x20
mov cl, byte [rcx]
mov dl, byte [rdx]
xor dl, 1
or cl, dl
sete cl
test cl, 1
mov qword [rbp + 0x1d0], rax
jne 0x14017b4a7
jmp 0x14017c506
mov ecx, dword [0x140255480]
xor ecx, dword [0x140255484]
mov eax, ecx
xor eax, 0xffffffff
mov edx, 0x17fddf5a
xor edx, 0x812ca122
mov r8d, 0x7a393637
xor r8d, 0x85c6c9c8
xor edx, r8d
or eax, edx
mov edx, 0x2c5ec0dc
xor edx, 0xba8fbea4
and ecx, edx
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
mov ecx, eax
add ecx, 1
mov edx, 0x929f7454
xor edx, 0x6d608bab
xor eax, edx
or eax, 0xc8a1b65c
add eax, ecx
and eax, eax
mov ecx, 0x610e4e1a
xor ecx, 0x9ef1b1e5
xor eax, ecx
mov ecx, 0xd24b8c2c
xor ecx, 0xe2872063
mov edx, 0x9a0a08bf
xor edx, 0x65f5f740
xor ecx, edx
mov edx, 0xffffffff
xor edx, 0x30ccac4f
or ecx, edx
and eax, ecx
xor eax, 0xffffffff
cmp eax, 0x13f46bda
je 0x14017ecbe
mov rdx, qword [rbp + 0x620]
mov rcx, qword [rbp + 0x618]
mov rax, qword [rbp + 0x4c0]
mov r8, qword [rbp + 0x688]
mov r9d, dword [0x140255488]
mov r10d, dword [0x14025548c]
xor r10d, 0x8bc46f52
imul r9d, r10d
mov r10d, 0xffffffff
xor r10d, 0x2bea8746
mov r11d, 0x59bcc017
xor r11d, 0x59bcc017
mov esi, 0x2b3e4c85
xor esi, 0x2b3e4c84
sub r11d, esi
sub r10d, r11d
sub r9d, r10d
mov r10d, 0xf2c1659c
xor r10d, 0x9d8c886e
add r9d, r10d
sub r9d, 0x88762a1d
mov dword [rbp + 0x19c], r9d
mov r9, qword [r8]
mov qword [rcx], r9
mov r8, qword [r8 + 8]
mov qword [rcx + 8], r8
mov r8, qword [rax]
mov qword [rdx], r8
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.1400c3f40
mov rcx, qword [rbp + 0x680]
add rsp, 0x20
mov rdx, rax
mov eax, dword [rbp + 0x19c]
mov qword [rbp + 0x1a0], rdx
cmp byte [rcx], 0
sete cl
mov byte [rbp + 0x1af], cl
cmp eax, 0xbb386f53
je 0x14017ecbe
mov rax, qword [rbp + 0x1c8]
mov cl, byte [rbp + 0x1af]
test cl, 1
mov qword [rbp + 0x1d0], rax
jne 0x14017b641
jmp 0x14017c506
mov r9, qword [rbp + 0x1a0]
movabs rax, 0x9a929c7f58209a1f
movabs rcx, 0x9a929c7f58209a1e
xor rax, rcx
mov rcx, r9
add rcx, rax
mov qword [rbp + 0x190], rcx
mov rax, r9
xor rax, 0xffffffffffffffff
movabs rdx, 0x96046fbcd365d084
movabs r8, 0x5377319095e756b3
xor rdx, r8
and rdx, rax
mov r8, 0xffffffffffffffff
movabs rax, 0xc5735e2c46828637
xor r8, rax
and r9, r8
mov rax, 0xffffffffffffffff
xor rax, 0xffffffffffffffff
movabs r10, 0xc5735e2c46828637
and rax, r10
and r8, 0xffffffffffffffff
or rdx, r9
or rax, r8
xor rdx, rax
mov rax, rcx
and rax, rdx
movabs r8, 0x3d106283b1ece66e
movabs r9, 0xc2ef9d7c4e131991
xor r8, r9
xor rax, r8
and rcx, rdx
movabs rdx, 0xf66ef72905ac9f5
movabs r8, 0xf099108d6fa5360a
xor rdx, r8
xor rcx, rdx
and rax, rcx
movabs rcx, 0x7b1d31e36f72ded
movabs rdx, 0xf84e2ce1c908d212
xor rcx, rdx
xor rax, rcx
movabs rcx, 0xefdea979e1f11a7b
movabs rdx, 0xefdea979e1f11a7b
xor rcx, rdx
cmp rax, rcx
jge 0x14017b763
sub rsp, 0x20
call fcn.140008c92
mov rax, qword [rbp + 0x1c8]
add rsp, 0x20
mov qword [rbp + 0x1d0], rax
jmp 0x14017c506
mov rax, qword [rbp + 0x190]
cmp rax, 2
jge 0x14017b88e
mov eax, dword [0x140255490]
add eax, dword [0x140255494]
sub eax, 0x4332b537
sub eax, 0x4ad679a6
or eax, 0xaf4c7d3b
cmp eax, 0xf8a6b305
jae 0x14017ecc7
mov eax, dword [0x140255498]
xor eax, 0x4f221240
xor eax, dword [0x14025549c]
mov ecx, 0x73393bc
xor ecx, 0x12eedcbe
xor edx, edx
div ecx
mov edx, eax
mov rax, qword [rbp + 0x4c0]
sub edx, 0xf482a038
mov ecx, edx
or ecx, ecx
xor ecx, 0xffffffff
mov r8d, 0x3668bddf
or r8d, 0x3668bddf
xor r8d, 0xffffffff
or ecx, r8d
xor ecx, 0xffffffff
or edx, 0x3668bddf
mov r8d, 0xe7b0d765
xor r8d, 0x184f289a
xor edx, r8d
xor ecx, 0xffffffff
xor edx, 0xffffffff
and ecx, edx
mov dword [rbp + 0x18c], ecx
mov rcx, qword [rax]
mov qword [rbp + 0x898], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x8a0], rax
lea rcx, [rbp + 0x8a8]
lea rdx, [rbp + 0x898]
sub rsp, 0x20
call fcn.14001ba7e
mov rdx, qword [rbp + 0x4c8]
mov rax, qword [rbp + 0x4d0]
mov rcx, qword [rbp + 0x5c0]
add rsp, 0x20
mov r8, qword [rbp + 0x8a8]
mov rdx, qword [rdx]
mov qword [rbp + 0x888], r8
mov qword [rax], rdx
lea rdx, [rbp + 0x888]
sub rsp, 0x20
call fcn.14001ae1c
mov eax, dword [rbp + 0x18c]
add rsp, 0x20
cmp eax, 0xaddbfb64
jae 0x14017b79a
jmp 0x14017b88e
mov eax, dword [0x1402554a0]
mov ecx, dword [0x1402554a4]
xor ecx, 0xc5252544
or eax, ecx
mov ecx, eax
and ecx, 0xeed8b3e9
mov edx, 0x88300bf7
xor edx, 0x66e8b81e
xor eax, edx
or ecx, eax
mov edx, 0x1ea2fc92
xor edx, 0x6a4585ed
mov eax, ecx
and eax, edx
xor eax, 0xffffffff
mov edx, 0xe6b4e891
xor edx, 0x925391ee
and ecx, edx
xor ecx, 0xffffffff
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0xffffffff
xor ecx, 0xf5b65180
mov edx, 0x6d350168
xor edx, 0x6d350168
mov r8d, 0xef334bbd
xor r8d, 0xef334bbc
sub edx, r8d
sub ecx, edx
sub eax, ecx
cmp eax, 0x4123098e
je 0x14017ecd0
mov rdx, qword [rbp + 0x5d0]
mov r9d, dword [0x1402554a8]
mov eax, 0x2076935c
xor eax, 0x7c79cffc
xor r9d, eax
mov r8d, dword [0x1402554ac]
mov ecx, 0x15cc76e4
xor ecx, 0xea33891b
mov eax, r9d
xor eax, ecx
and eax, 0xce82e935
mov r10d, 0xffffffff
xor r10d, 0xce82e935
and r9d, r10d
mov ecx, r8d
xor ecx, 0xffffffff
and ecx, 0xce82e935
and r8d, r10d
or eax, r9d
or ecx, r8d
xor eax, ecx
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0xa9d8b0c1
mov r8d, 0xffffffff
xor r8d, 0xa9d8b0c1
and eax, r8d
sub eax, ecx
sub eax, 0x3107d36d
add eax, 0x20f946e7
add eax, 0x3107d36d
imul eax, eax, 0xac7c1ec7
mov ecx, 0x157d9b70
xor ecx, 0x382f6af7
cmp byte [rdx], 1
sete dl
mov byte [rbp + 0x18b], dl
cmp eax, ecx
jbe 0x14017b918
mov rax, qword [rbp + 0x1c8]
mov cl, byte [rbp + 0x18b]
test cl, 1
mov qword [rbp + 0x1d0], rax
jne 0x14017b9e9
jmp 0x14017c506
mov rdx, qword [rbp + 0x5d0]
lea rcx, [rbp + 0xaa0]
sub rsp, 0x20
call fcn.1400c3cfd
mov rcx, qword [rbp + 0x680]
mov rax, qword [rbp + 0x1c8]
add rsp, 0x20
mov cl, byte [rcx]
mov dl, 0xb7
xor dl, 0xb7
cmp cl, dl
mov qword [rbp + 0x1d0], rax
jne 0x14017c506
mov rcx, qword [rbp + 0x5d0]
sub rsp, 0x20
call fcn.1400c4607
mov rax, qword [rbp + 0x4d8]
mov rcx, qword [rbp + 0x630]
add rsp, 0x20
movups xmm0, xmmword [rax]
movaps xmmword [rbp + 0x850], xmm0
sub rsp, 0x20
lea rdx, [rbp + 0x850]
call fcn.14001ba7e
mov rdx, qword [rbp + 0x630]
mov rcx, qword [rbp + 0x4e0]
mov rax, qword [rbp + 0x5b8]
add rsp, 0x20
mov rdx, qword [rdx]
mov qword [rbp + 0x178], rdx
mov rcx, qword [rcx]
mov qword [rbp + 0x180], rcx
movups xmm0, xmmword [rax]
movaps xmmword [rbp + 0x830], xmm0
sub rsp, 0x20
lea rcx, [rbp + 0x840]
lea rdx, [rbp + 0x830]
call fcn.14001ba7e
mov rcx, qword [rbp + 0x4e8]
mov r11, qword [rbp + 0x178]
mov r10, qword [rbp + 0x180]
mov r9, qword [rbp + 0x4f0]
mov rax, qword [rbp + 0x4f8]
mov rdx, qword [rbp + 0x638]
add rsp, 0x20
mov r8, qword [rbp + 0x840]
mov rcx, qword [rcx]
mov qword [rbp + 0x820], r11
mov qword [r9], r10
mov qword [rdx], r8
mov qword [rax], rcx
sub rsp, 0x20
lea rcx, [rbp + 0x820]
call fcn.1400827a0
add rsp, 0x20
mov cl, al
mov rax, qword [rbp + 0x680]
mov al, byte [rax]
test al, al
sete al
and al, cl
test al, 1
jne 0x14017bb2d
jmp 0x14017c4c6
mov eax, dword [0x1402554b0]
mov ecx, dword [0x1402554b4]
xor ecx, 0x78b93827
xor edx, edx
div ecx
mov ecx, 0xc272556a
xor ecx, 0xcfd706ae
xor edx, edx
div ecx
mov edx, 0xffffffff
xor edx, 0x4cb12055
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, 0x4cb12055
add eax, edx
sub eax, ecx
mov edx, 0xffffffff
xor edx, 0xb5515c47
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, 0xb5515c47
add eax, edx
sub eax, ecx
mov ecx, 0x5ff9482e
xor ecx, 0xafd79398
cmp eax, ecx
jb 0x14017ecd9
mov rcx, qword [rbp + 0x500]
mov edx, dword [0x1402554b8]
or edx, dword [0x1402554bc]
mov r8d, 0xffffffff
xor r8d, 0xe5387493
mov eax, edx
xor eax, r8d
and eax, edx
mov edx, 0x9311428f
xor edx, 0xc8e00c4d
and edx, eax
mov r8d, 0x2fad4828
xor r8d, 0xd052b7d7
xor edx, r8d
mov r8d, 0x4f819dae
xor r8d, 0x1470d36c
add eax, r8d
add eax, 1
add eax, edx
mov edx, 0x236c2641
xor edx, 0x9f5d3c2c
xor eax, edx
mov dword [rbp + 0x170], eax
mov rax, qword [rcx]
mov qword [rbp + 0x878], rax
mov rax, qword [rcx + 8]
mov qword [rbp + 0x880], rax
sub rsp, 0x20
call fcn.140010107
mov rcx, qword [rbp + 0x4d8]
mov rax, qword [rbp + 0x628]
add rsp, 0x20
mov rdx, qword [rbp + 0x878]
mov qword [rax], rdx
mov rdx, qword [rbp + 0x880]
mov qword [rax + 8], rdx
mov rax, qword [rcx]
mov qword [rbp + 0x868], rax
mov rax, qword [rcx + 8]
mov qword [rbp + 0x870], rax
sub rsp, 0x20
call fcn.140010107
mov rax, qword [rbp + 0x508]
mov rcx, qword [rbp + 0x628]
mov rdx, qword [rbp + 0x678]
add rsp, 0x20
mov r8, qword [rbp + 0x868]
mov qword [rax], r8
mov r8, qword [rbp + 0x870]
mov qword [rax + 8], r8
sub rsp, 0x20
call fcn.14017edf8
mov rcx, qword [rbp + 0x680]
mov eax, dword [rbp + 0x170]
add rsp, 0x20
cmp byte [rcx], 0
sete cl
mov byte [rbp + 0x177], cl
cmp eax, 0xaad15af1
je 0x14017bb9b
mov al, byte [rbp + 0x177]
test al, 1
jne 0x14017bcdc
jmp 0x14017c4f8
mov rax, qword [rbp + 0x1e8]
cmp rax, 0
je 0x14017be74
mov rax, qword [rbp + 0x1e8]
mov rcx, qword [rax]
mov rdx, 0xffffffffffffffff
movabs rax, 0x4000000000000000
xor rdx, rax
mov rax, rcx
xor rax, rdx
and rax, rcx
cmp rax, 0
jne 0x14017be74
mov eax, dword [0x1402554c0]
mov edx, dword [0x1402554c4]
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, 0xa63a369b
xor ecx, 0x5ee3c7a6
xor edx, edx
div ecx
mov ecx, eax
mov eax, ecx
and eax, 0x58830466
mov edx, 0x33e632a6
xor edx, 0xcc19cd59
xor eax, edx
add ecx, 0x58830466
mov edx, 0x2cfa7644
xor edx, 0x2cfa7645
add ecx, edx
add ecx, eax
mov eax, ecx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0xba1f5d2d
and ecx, 0xba1f5d2d
mov edx, 0xc08030a
xor edx, 0xf3f7fcf5
xor ecx, edx
and eax, ecx
xor eax, 0xffffffff
cmp eax, 0xacc391e8
je 0x14017ece2
mov rcx, qword [rbp + 0x1e8]
mov esi, dword [0x1402554c8]
xor esi, 0xeacf10cc
mov r11d, dword [0x1402554cc]
mov edx, esi
xor edx, 0xffffffff
mov eax, 0x371c437e
xor eax, 0xc8e3bc81
mov r8d, r11d
xor r8d, eax
mov r9d, 0xffffffff
xor r9d, 0x997cb2ab
mov eax, edx
and eax, 0x997cb2ab
and esi, r9d
mov r10d, r8d
and r10d, 0x997cb2ab
and r11d, r9d
or eax, esi
or r10d, r11d
xor eax, r10d
or edx, r8d
xor edx, 0xffffffff
mov r8d, 0x478c8b79
xor r8d, 0xdef039d2
or r8d, r9d
and edx, r8d
or eax, edx
mov edx, 0xffffffff
xor edx, 0xac95c56c
add eax, edx
mov edx, 0x34f57bee
xor edx, 0x34f57bef
add eax, edx
xor edx, edx
sub edx, 0x31474815
sub eax, edx
sub eax, 0x4724a2bd
mov dword [rbp + 0x16c], eax
sub rsp, 0x20
call fcn.14000eec9
mov eax, dword [rbp + 0x16c]
add rsp, 0x20
cmp eax, 0x8eb65bfb
jae 0x14017ece2
jmp 0x14017be74
mov rax, qword [rbp + 0x1c8]
cmp rax, 0
je 0x14017c011
mov rcx, qword [rbp + 0x1c8]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
cmp rax, 0
jne 0x14017c011
mov eax, dword [0x1402554d0]
add eax, dword [0x1402554d4]
mov edx, eax
xor edx, 0xcc911ec
xor edx, 0xffffffff
and edx, 0xcc911ec
mov ecx, 0x5f84fef1
xor ecx, 0x5f84fef3
imul ecx, edx
sub ecx, 0xcc911ec
sub eax, ecx
mov edx, 0x26e01069
xor edx, 0x26e01068
mov ecx, eax
add ecx, edx
xor eax, 0xffffffff
or eax, 0x74eb7255
add eax, ecx
mov r8d, 0xffffffff
xor r8d, 0x1e4fb69e
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x1e4fb69e
or eax, 0x1e4fb69e
imul eax, edx
add eax, ecx
mov ecx, 0x84e557e0
xor ecx, 0xdc0cc1b5
cmp eax, ecx
jbe 0x14017eceb
mov rcx, qword [rbp + 0x1c8]
mov eax, dword [0x1402554d8]
mov edx, 0x18256cae
xor edx, 0x8e0a7cb8
xor eax, edx
mov edx, dword [0x1402554dc]
sub eax, 0xb0e68a71
add eax, edx
add eax, 0xb0e68a71
mov edx, eax
xor edx, 0xffffffff
mov r8d, 0x4a8161da
xor r8d, 0x6c09ae50
and r8d, edx
mov r9d, 0xffffffff
xor r9d, 0x2688cf8a
mov edx, eax
and edx, r9d
imul edx, r8d
mov r8d, eax
and r8d, 0x2688cf8a
or eax, 0x2688cf8a
imul eax, r8d
add eax, edx
sub eax, 0xdda9a12f
xor eax, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0x31dad880
mov edx, 0x6d6334a8
xor edx, 0x98484ba2
mov r9d, 0xf4795b58
xor r9d, 0xb86a4a7
xor edx, r9d
or eax, r8d
or edx, 0xf52b7f0a
mov r8d, 0xe8c0cdfa
xor r8d, 0x173f3205
xor eax, r8d
and eax, edx
mov dword [rbp + 0x168], eax
sub rsp, 0x20
call fcn.14000eec9
mov eax, dword [rbp + 0x168]
add rsp, 0x20
cmp eax, 0xa9a6dbe4
je 0x14017bf31
jmp 0x14017c011
mov rcx, qword [rbp + 0x2a0]
sub rsp, 0x20
call fcn.14001cd5d
add rsp, 0x20
mov rax, qword [rbp + 0xa28]
mov qword [rbp + 0x160], rax
cmp rax, 0
jle 0x14017c070
mov rcx, qword [rbp + 0x160]
mov rax, qword [0x1402647a0]
sub rsp, 0x20
call qword [rax]
mov rcx, qword [rbp + 0x680]
add rsp, 0x20
mov eax, 7
cmp byte [rcx], 0
mov dword [rbp + 0x15c], eax
jne 0x14017c4d9
mov al, byte [rbp + 0x2b3]
test al, 1
jne 0x14017c0b5
jmp 0x14017c083
mov rcx, qword [rbp + 0x2f8]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
cmp rax, 0
jne 0x14017c0b5
mov rcx, qword [rbp + 0x2f8]
sub rsp, 0x20
call fcn.14000eec9
add rsp, 0x20
mov al, byte [rbp + 0x2b4]
test al, 1
jne 0x14017c1fe
jmp 0x14017c0c8
mov ecx, dword [0x1402554e0]
mov edx, dword [0x1402554e4]
mov r8d, 0xecb17b76
xor r8d, 0x134e8489
mov eax, ecx
xor eax, r8d
mov r8d, edx
xor r8d, 0xffffffff
and eax, r8d
xor ecx, 0xffffffff
xor edx, 0xffffffff
and ecx, edx
or eax, ecx
mov ecx, 0x49590045
xor ecx, 0xb6a6ffba
xor eax, ecx
xor eax, 0x50f2cad
mov ecx, 0xf10515ce
xor edx, edx
div ecx
xor eax, 0xb01d913
mov ecx, 0x9f562db7
xor ecx, 0x866d0687
cmp eax, ecx
je 0x14017ecf4
mov ecx, dword [0x1402554e8]
mov edx, dword [0x1402554ec]
xor eax, eax
sub eax, edx
sub ecx, eax
mov eax, ecx
and eax, eax
xor eax, 0xffffffff
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x41e3c8ce
or eax, edx
mov edx, 0x41e3c8ce
and edx, 0x41e3c8ce
xor edx, 0xffffffff
mov r8d, 0xd2ff2112
xor r8d, 0x2d00deed
xor ecx, r8d
xor edx, 0xffffffff
or ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
xor eax, 0x341771f8
mov ecx, 0x6adf9ac3
xor ecx, 0x3c593c91
xor edx, edx
div ecx
mov rdx, qword [rbp + 0x328]
movabs rcx, 0x4000000000000000
and rcx, qword [rdx]
movabs rdx, 0xefa786f4b133d51e
movabs r8, 0xefa786f4b133d51e
xor rdx, r8
cmp rcx, rdx
sete cl
mov byte [rbp + 0x15b], cl
cmp eax, 0x6d7ef692
jae 0x14017ecf4
mov al, byte [rbp + 0x15b]
test al, 1
jne 0x14017c1ea
jmp 0x14017c1fe
mov rcx, qword [rbp + 0x328]
sub rsp, 0x20
call fcn.14000eec9
add rsp, 0x20
mov al, byte [rbp + 0x2b5]
test al, 1
jne 0x14017c292
jmp 0x14017c211
mov rax, qword [rbp + 0x368]
mov rax, qword [rax]
or rax, rax
xor rax, 0xffffffffffffffff
movabs rcx, 0x4000000000000000
movabs rdx, 0x4000000000000000
or rcx, rdx
movabs rdx, 0xe2acf8cbb5ad061e
movabs r8, 0x1d5307344a52f9e1
xor rdx, r8
xor rcx, rdx
xor rax, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
and rax, rcx
movabs rcx, 0xfef206427b58a72a
movabs rdx, 0xfef206427b58a72a
xor rcx, rdx
cmp rax, rcx
jne 0x14017c292
mov rcx, qword [rbp + 0x368]
sub rsp, 0x20
call fcn.14000eec9
add rsp, 0x20
mov al, byte [rbp + 0x2b6]
test al, 1
jne 0x14017c350
jmp 0x14017c2a5
mov rax, qword [rbp + 0x358]
mov rax, qword [rax]
xor rax, 0xffffffffffffffff
movabs rcx, 0xe2f48f5b85f688de
movabs rdx, 0xa2f48f5b85f688de
xor rcx, rdx
movabs rdx, 0xbe59b8cef0bdc585
movabs r8, 0x41a647310f423a7a
xor rdx, r8
xor rcx, rdx
mov rdx, 0xffffffffffffffff
movabs r8, 0x387f0f915a2f9a7f
xor rdx, r8
or rax, rcx
movabs rcx, 0x931665a22c747d61
movabs r8, 0xab696a33765be71e
xor rcx, r8
or rcx, rdx
xor rax, 0xffffffffffffffff
and rax, rcx
movabs rcx, 0x400a15c60b0948fa
movabs rdx, 0x400a15c60b0948fa
xor rcx, rdx
cmp rax, rcx
jne 0x14017c350
mov rcx, qword [rbp + 0x358]
sub rsp, 0x20
call fcn.14000eec9
add rsp, 0x20
mov rcx, qword [rbp + 0x5d0]
sub rsp, 0x20
call fcn.1400c4670
mov rcx, qword [rbp + 0x680]
add rsp, 0x20
mov eax, 0x2a
cmp byte [rcx], 0
mov dword [rbp + 0x15c], eax
jne 0x14017c4d9
mov al, byte [rbp + 0x2b7]
test al, 1
jne 0x14017c3f4
jmp 0x14017c392
mov rax, qword [rbp + 0x378]
mov rax, qword [rax]
movabs rdx, 0x4000000000000000
mov rcx, rax
xor rcx, rdx
xor rcx, 0xffffffffffffffff
movabs rdx, 0x4000000000000000
or rax, rdx
and rax, rcx
movabs rcx, 0x929d82212b694379
movabs rdx, 0x929d82212b694379
xor rcx, rdx
cmp rax, rcx
jne 0x14017c3f4
mov rcx, qword [rbp + 0x378]
sub rsp, 0x20
call fcn.14000eec9
add rsp, 0x20
mov rax, qword [rbp + 0x5c0]
mov rcx, qword [rax]
mov qword [rbp + 0x810], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x818], rax
lea rcx, [rbp + 0x810]
sub rsp, 0x20
call fcn.1400182e0
add rsp, 0x20
lea rcx, [rbp + 0xaa0]
sub rsp, 0x20
call fcn.1400c4670
mov rcx, qword [rbp + 0x680]
add rsp, 0x20
mov eax, 0x2b
cmp byte [rcx], 0
mov dword [rbp + 0x15c], eax
jne 0x14017c4d9
mov rax, qword [rbp + 0x510]
mov rcx, qword [rax]
mov qword [rbp + 0x150], rcx
mov eax, 0x2c
cmp rcx, 0
mov dword [rbp + 0x15c], eax
je 0x14017c4d9
mov rax, qword [rbp + 0x150]
movabs rcx, 0x4000000000000000
and rcx, qword [rax]
mov eax, 0x2c
cmp rcx, 0
mov dword [rbp + 0x15c], eax
jne 0x14017c4d9
mov rcx, qword [rbp + 0x150]
sub rsp, 0x20
call fcn.14000eec9
add rsp, 0x20
mov eax, 0x2c
mov dword [rbp + 0x15c], eax
jmp 0x14017c4d9
mov rax, qword [rbp + 0x1c8]
mov qword [rbp + 0x1d0], rax
jmp 0x14017c506
mov rax, qword [rbp + 0x218]
mov ecx, dword [rbp + 0x15c]
mov dword [rbp + 0x144], ecx
mov qword [rbp + 0x148], rax
jmp 0x14017dbcd
mov rax, qword [rbp + 0x1c8]
mov qword [rbp + 0x1d0], rax
mov rax, qword [rbp + 0x1e8]
mov rcx, qword [rbp + 0x1d0]
mov qword [rbp + 0x138], rcx
cmp rax, 0
je 0x14017c590
mov rax, qword [rbp + 0x1e8]
mov rax, qword [rax]
xor rax, 0xffffffffffffffff
mov rdx, 0xffffffffffffffff
movabs rcx, 0x4000000000000000
xor rdx, rcx
mov rcx, 0xffffffffffffffff
movabs r8, 0xfe3fa76143eb1e80
xor rcx, r8
or rax, rdx
movabs rdx, 0xfe3fa76143eb1e80
or rcx, rdx
xor rax, 0xffffffffffffffff
and rax, rcx
cmp rax, 0
jne 0x14017c590
mov rcx, qword [rbp + 0x1e8]
sub rsp, 0x20
call fcn.14000eec9
add rsp, 0x20
mov rax, qword [rbp + 0x138]
cmp rax, 0
je 0x14017c603
mov rax, qword [rbp + 0x138]
mov rax, qword [rax]
movabs rdx, 0x4000000000000000
mov rcx, rax
xor rcx, rdx
xor rcx, 0xffffffffffffffff
movabs rdx, 0x4000000000000000
or rax, rdx
and rax, rcx
movabs rcx, 0xdc2f813bf2c3bbc4
movabs rdx, 0xdc2f813bf2c3bbc4
xor rcx, rdx
cmp rax, rcx
jne 0x14017c603
mov rcx, qword [rbp + 0x138]
sub rsp, 0x20
call fcn.14000eec9
add rsp, 0x20
mov rax, qword [rbp + 0x680]
cmp byte [rax], 0
jne 0x14017db45
mov eax, dword [0x1402554f0]
xor eax, dword [0x1402554f4]
mov ecx, 0x18e1e292
xor ecx, 0x710bcc49
xor eax, ecx
mov ecx, 0x73b08848
xor ecx, 0xbba9b506
xor edx, edx
div ecx
mov ecx, 0x3614e91a
xor ecx, 0xd92e4381
xor edx, edx
div ecx
cmp eax, 0x5a0b2906
je 0x14017ecfd
mov eax, dword [0x1402554f8]
mov ecx, 0x469d93e0
xor ecx, 0x1b1829e
xor eax, ecx
xor edx, edx
div dword [0x1402554fc]
mov ecx, eax
or ecx, 0x8f07374b
xor ecx, 0xffffffff
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x8f07374b
and eax, edx
or ecx, eax
xor ecx, 0xffffffff
or ecx, 0x7897543b
mov eax, ecx
or eax, eax
mov edx, 0xe422e8f6
xor edx, 0x1bdd1709
xor eax, edx
mov edx, 0xfbe9c5e5
or edx, 0xfbe9c5e5
mov r8d, 0x72ccfe6e
xor r8d, 0x8d330191
xor edx, r8d
or eax, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xfbe9c5e5
and ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0xbbfcce03
xor ecx, 0x5b91fd9
cmp eax, ecx
jae 0x14017ecfd
jmp 0x14017c836
mov ecx, dword [0x140255500]
imul ecx, dword [0x140255504]
mov eax, 0xc65ff52b
xor eax, 0x39a00ad4
mov edx, ecx
xor edx, eax
and edx, 0x1f2793ec
mov r8d, 0xffffffff
xor r8d, 0x1f2793ec
mov eax, ecx
and eax, r8d
imul eax, edx
mov edx, ecx
and edx, 0x1f2793ec
or ecx, 0x1f2793ec
imul ecx, edx
add ecx, eax
mov eax, ecx
and eax, 0xecf9f8eb
xor ecx, 0xecf9f8eb
or eax, ecx
xor ecx, ecx
sub ecx, 0x6c9dd138
add eax, ecx
cmp eax, 0xe2916588
ja 0x14017ed06
mov r8b, byte [rbp + 0x216]
mov r9d, dword [0x140255508]
mov edx, dword [0x14025550c]
mov ecx, r9d
xor ecx, 0xffffffff
and ecx, 0x81a26ee
mov r10d, 0xffffffff
xor r10d, 0x81a26ee
and r9d, r10d
mov eax, edx
xor eax, 0xffffffff
and eax, 0x81a26ee
and edx, r10d
or ecx, r9d
or eax, edx
xor ecx, eax
mov eax, ecx
and eax, 0x574c3b51
mov edx, 0x51ba8109
xor edx, 0xae457ef6
xor eax, edx
add ecx, 0x574c3b51
add ecx, 1
add ecx, eax
add ecx, 0xd63bbf9c
mov eax, ecx
xor eax, 0xffffffff
and eax, 0xf00465cc
mov edx, 0xffffffff
xor edx, 0xf00465cc
and ecx, edx
or eax, ecx
mov ecx, 0xc
mov edx, 0x1b
test r8b, 1
cmovne ecx, edx
mov dword [rbp + 0x134], ecx
cmp eax, 0x862fae20
jb 0x14017ed06
mov rax, qword [rbp + 0x218]
mov ecx, dword [rbp + 0x134]
mov dl, byte [rbp + 0x216]
test dl, 1
mov dword [rbp + 0x144], ecx
mov qword [rbp + 0x148], rax
jne 0x14017c836
jmp 0x14017dbcd
mov rax, qword [rbp + 0x208]
mov ecx, dword [rax]
and ecx, 0x10
mov edx, ecx
add edx, edx
mov eax, ecx
neg edx
mov ecx, edx
lea ecx, [rax + rcx + 0x10]
sub rsp, 0x20
call fcn.14009f234
add rsp, 0x20
mov cl, al
mov rax, qword [rbp + 0x680]
mov al, byte [rax]
test al, al
sete al
mov byte [rbp + 0x133], al
and al, cl
test al, 1
jne 0x14017c882
jmp 0x14017da02
mov rax, qword [rbp + 0x220]
mov eax, dword [rax]
mov dword [rbp + 0x12c], eax
cmp eax, 0xffffffff
jge 0x14017c8d7
mov eax, dword [rbp + 0x12c]
mov ecx, 0x5ce7c6cc
xor ecx, 0x5ce7c6cc
sub ecx, eax
shr ecx, 1
xor eax, eax
sub eax, ecx
movsxd rcx, eax
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.14000d792
add rsp, 0x20
jmp 0x14017d8d6
mov eax, dword [rbp + 0x12c]
mov rcx, qword [rbp + 0x218]
add rcx, 0x5e
mov qword [rbp + 0x110], rcx
mov ecx, 2
cdq
idiv ecx
mov rdx, qword [rbp + 0x110]
mov eax, eax
mov r8d, eax
lea rcx, [rbp + 0x7d0]
sub rsp, 0x20
call fcn.1400a37d4
mov rcx, qword [rbp + 0x518]
mov rax, qword [rbp + 0x680]
add rsp, 0x20
mov rdx, qword [rbp + 0x7d0]
mov qword [rbp + 0x118], rdx
mov rcx, qword [rcx]
mov qword [rbp + 0x120], rcx
cmp byte [rax], 0
jne 0x14017d8e6
mov rdx, qword [rbp + 0x640]
mov rax, qword [rbp + 0x520]
mov rcx, qword [rbp + 0x120]
mov r8, qword [rbp + 0x118]
mov qword [rdx], r8
mov qword [rax], rcx
lea rcx, [rbp + 0x7c0]
sub rsp, 0x20
call fcn.140174480
mov rax, qword [rbp + 0x528]
mov rcx, qword [rbp + 0x680]
add rsp, 0x20
mov rdx, qword [rbp + 0x7c0]
mov qword [rbp + 0xf8], rdx
mov rax, qword [rax]
mov qword [rbp + 0x100], rax
xor eax, eax
cmp byte [rcx], 0
mov qword [rbp + 0x108], rax
jne 0x14017d7c7
mov rcx, qword [rbp + 0x100]
mov rdx, qword [rbp + 0xf8]
mov rsi, qword [rbp + 0x548]
mov rbx, qword [rbp + 0x540]
mov rdi, qword [rbp + 0x538]
mov r14, qword [rbp + 0x648]
mov rax, qword [rbp + 0x530]
mov byte [rbp + 0x7e0], 0
mov qword [rbp + 0x7b0], rdx
mov qword [rax], rcx
lea rdx, [rbp + 0x7b0]
sub rsp, 0x20
mov rcx, r14
call fcn.14001ba7e
mov r11, qword [rbp + 0x370]
mov r10, qword [rbp + 0x378]
mov r9, qword [rbp + 0x550]
mov rdx, qword [rbp + 0xf8]
mov rax, qword [rbp + 0x558]
mov r8, qword [rbp + 0x658]
mov rcx, qword [rbp + 0x100]
add rsp, 0x20
mov r14, qword [r14]
mov rdi, qword [rdi]
mov qword [rbx], r14
mov qword [rsi], rdi
mov qword [rbp + 0x790], r11
mov qword [r9], r10
mov qword [r8], rdx
mov qword [rax], rcx
lea rcx, [rbp + 0x7a0]
lea rdx, [rbp + 0x790]
sub rsp, 0x20
call fcn.140094f00
mov rdx, qword [rbp + 0x560]
mov rcx, qword [rbp + 0x680]
mov rax, qword [rbp + 0x100]
add rsp, 0x20
mov r8, qword [rbp + 0x7a0]
mov qword [rbp + 0xe8], r8
mov rdx, qword [rdx]
mov qword [rbp + 0xf0], rdx
cmp byte [rcx], 0
mov qword [rbp + 0x108], rax
jne 0x14017d7c7
mov rcx, qword [rbp + 0x5d0]
mov rax, qword [rbp + 0x578]
mov rdx, qword [rbp + 0x218]
mov r8, qword [rbp + 0x570]
mov r9, qword [rbp + 0xf0]
mov r10, qword [rbp + 0x568]
mov r11, qword [rbp + 0xe8]
mov qword [r10], r11
mov qword [r8], r9
mov rdx, qword [rdx + 0x28]
mov qword [rax], rdx
sub rsp, 0x20
lea rdx, [rbp + 0x7e0]
call fcn.1400c3cfd
mov rcx, qword [rbp + 0x680]
mov rdx, qword [rbp + 0x5d0]
mov rax, qword [rbp + 0x100]
add rsp, 0x20
mov cl, byte [rcx]
mov dl, byte [rdx]
xor dl, 1
or cl, dl
sete cl
test cl, 1
mov qword [rbp + 0x108], rax
jne 0x14017cb3a
jmp 0x14017d7c7
mov rax, qword [rbp + 0x4c0]
mov rcx, qword [rbp + 0x688]
mov rdx, qword [rcx]
mov qword [rbp + 0x780], rdx
mov rcx, qword [rcx + 8]
mov qword [rbp + 0x788], rcx
mov rcx, qword [rax]
mov qword [rbp + 0x770], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x778], rax
lea rcx, [rbp + 0x780]
lea rdx, [rbp + 0x770]
sub rsp, 0x20
call fcn.1400c3f40
mov rcx, qword [rbp + 0x680]
add rsp, 0x20
mov rdx, rax
mov rax, qword [rbp + 0x100]
mov qword [rbp + 0xe0], rdx
cmp byte [rcx], 0
mov qword [rbp + 0x108], rax
jne 0x14017d7c7
mov rcx, qword [rbp + 0xe0]
mov rax, rcx
and rax, 1
movabs r8, 0x14605f48bc0c6951
movabs rdx, 0x14605f48bc0c6950
xor r8, rdx
mov rdx, rcx
or rdx, r8
add rax, rdx
mov qword [rbp + 0xd8], rax
mov r8, rcx
xor r8, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
movabs rdx, 0x221bdbe8f48225db
movabs r9, 0xdde424170b7dda24
xor rdx, r9
and rdx, r8
shl rdx, 1
sub rdx, 0xffffffffffffffff
sub rcx, rdx
and rax, rcx
cmp rax, 0
jge 0x14017cc47
sub rsp, 0x20
call fcn.140008c92
mov rax, qword [rbp + 0x100]
add rsp, 0x20
mov qword [rbp + 0x108], rax
jmp 0x14017d7c7
mov rax, qword [rbp + 0xd8]
cmp rax, 2
jge 0x14017cccc
mov rax, qword [rbp + 0x4c0]
mov rcx, qword [rax]
mov qword [rbp + 0x750], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x758], rax
lea rcx, [rbp + 0x760]
lea rdx, [rbp + 0x750]
sub rsp, 0x20
call fcn.14001ba7e
mov rdx, qword [rbp + 0x580]
mov rax, qword [rbp + 0x588]
mov rcx, qword [rbp + 0x5c0]
add rsp, 0x20
mov r8, qword [rbp + 0x760]
mov rdx, qword [rdx]
mov qword [rbp + 0x740], r8
mov qword [rax], rdx
lea rdx, [rbp + 0x740]
sub rsp, 0x20
call fcn.14001ae1c
add rsp, 0x20
mov rax, qword [rbp + 0x100]
mov rcx, qword [rbp + 0x5d0]
cmp byte [rcx], 1
mov qword [rbp + 0x108], rax
jne 0x14017d7c7
mov rdx, qword [rbp + 0x5d0]
lea rcx, [rbp + 0xaa0]
sub rsp, 0x20
call fcn.1400c3cfd
mov rcx, qword [rbp + 0x680]
mov rax, qword [rbp + 0x100]
add rsp, 0x20
cmp byte [rcx], 0
mov qword [rbp + 0x108], rax
jne 0x14017d7c7
mov rcx, qword [rbp + 0x5d0]
sub rsp, 0x20
call fcn.1400c4607
mov rax, qword [rbp + 0x4d8]
add rsp, 0x20
movups xmm0, xmmword [rax]
movaps xmmword [rbp + 0x700], xmm0
sub rsp, 0x20
lea rcx, [rbp + 0x710]
lea rdx, [rbp + 0x700]
call fcn.14001ba7e
mov rcx, qword [rbp + 0x590]
mov rax, qword [rbp + 0x5b8]
add rsp, 0x20
mov rdx, qword [rbp + 0x710]
mov qword [rbp + 0xc8], rdx
mov rcx, qword [rcx]
mov qword [rbp + 0xd0], rcx
movups xmm0, xmmword [rax]
movaps xmmword [rbp + 0x6e0], xmm0
sub rsp, 0x20
lea rcx, [rbp + 0x6f0]
lea rdx, [rbp + 0x6e0]
call fcn.14001ba7e
mov rcx, qword [rbp + 0x598]
mov r11, qword [rbp + 0xc8]
mov r10, qword [rbp + 0xd0]
mov r9, qword [rbp + 0x5a0]
mov rax, qword [rbp + 0x5a8]
mov rdx, qword [rbp + 0x670]
add rsp, 0x20
mov r8, qword [rbp + 0x6f0]
mov rcx, qword [rcx]
mov qword [rbp + 0x6d0], r11
mov qword [r9], r10
mov qword [rdx], r8
mov qword [rax], rcx
sub rsp, 0x20
lea rcx, [rbp + 0x6d0]
call fcn.1400827a0
add rsp, 0x20
mov cl, al
mov rax, qword [rbp + 0x680]
mov al, byte [rax]
test al, al
sete al
and al, cl
test al, 1
jne 0x14017ce25
jmp 0x14017d787
mov rcx, qword [rbp + 0x500]
mov rax, qword [rcx]
mov qword [rbp + 0x730], rax
mov rax, qword [rcx + 8]
mov qword [rbp + 0x738], rax
sub rsp, 0x20
call fcn.140010107
mov rcx, qword [rbp + 0x4d8]
mov rax, qword [rbp + 0x668]
add rsp, 0x20
mov rdx, qword [rbp + 0x730]
mov qword [rax], rdx
mov rdx, qword [rbp + 0x738]
mov qword [rax + 8], rdx
mov rax, qword [rcx]
mov qword [rbp + 0x720], rax
mov rax, qword [rcx + 8]
mov qword [rbp + 0x728], rax
sub rsp, 0x20
call fcn.140010107
mov rax, qword [rbp + 0x5b0]
mov rcx, qword [rbp + 0x668]
mov rdx, qword [rbp + 0x678]
add rsp, 0x20
mov r8, qword [rbp + 0x720]
mov qword [rax], r8
mov r8, qword [rbp + 0x728]
mov qword [rax + 8], r8
sub rsp, 0x20
call fcn.14017edf8
mov rax, qword [rbp + 0x680]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14017d7b9
mov rax, qword [rbp + 0x120]
cmp rax, 0
je 0x14017cf56
mov rax, qword [rbp + 0x120]
mov rax, qword [rax]
or rax, rax
xor rax, 0xffffffffffffffff
movabs rcx, 0x1b3d5ccbdf23bbc6
movabs rdx, 0x5b3d5ccbdf23bbc6
xor rcx, rdx
movabs rdx, 0x9b4e6b2faa492f8b
movabs r8, 0xdb4e6b2faa492f8b
xor rdx, r8
or rcx, rdx
xor rcx, 0xffffffffffffffff
or rax, rcx
xor rax, 0xffffffffffffffff
cmp rax, 0
jne 0x14017cf56
mov rcx, qword [rbp + 0x120]
sub rsp, 0x20
call fcn.14000eec9
add rsp, 0x20
mov r8d, dword [0x140255510]
or r8d, dword [0x140255514]
mov eax, 0xa0b1fdb6
xor eax, 0x46277594
and r8d, eax
mov eax, r8d
xor eax, 0xe1ee5e08
xor eax, 0xffffffff
or r8d, 0xe1ee5e08
and r8d, eax
mov eax, r8d
xor eax, 0xffffffff
and eax, 0x2c79f717
mov edx, 0xffffffff
xor edx, 0x2c79f717
and r8d, edx
mov ecx, 0xffffffff
xor ecx, 0x388a84a7
and ecx, 0x2c79f717
and edx, 0x388a84a7
or eax, r8d
or ecx, edx
xor eax, ecx
cmp eax, 0xd236fb6
je 0x14017ed0f
mov eax, dword [0x140255518]
xor edx, edx
div dword [0x14025551c]
mov rdx, qword [rbp + 0x100]
mov r9d, 0xdedcc4c1
xor r9d, 0x447d4c80
mov ecx, 0xee143963
xor ecx, 0x11ebc69c
xor r9d, ecx
mov r8d, eax
and r8d, r9d
mov ecx, eax
or ecx, r9d
xor ecx, 0xffffffff
imul ecx, r8d
mov r8d, eax
and r8d, 0x9aa18841
or eax, 0x9aa18841
imul eax, r8d
add eax, ecx
mov ecx, 0x75683d67
xor ecx, 0xe061fc4e
imul eax, ecx
imul eax, eax, 0xab46587b
mov ecx, 0x3a783391
xor ecx, 0x1928ba11
cmp rdx, 0
sete dl
mov byte [rbp + 0xc7], dl
cmp eax, ecx
je 0x14017ed0f
mov al, byte [rbp + 0xc7]
test al, 1
jne 0x14017d0ab
jmp 0x14017d066
mov rax, qword [rbp + 0x100]
mov rcx, qword [rax]
mov rdx, 0xffffffffffffffff
movabs rax, 0x4000000000000000
xor rdx, rax
mov rax, rcx
xor rax, rdx
and rax, rcx
cmp rax, 0
jne 0x14017d0ab
mov rcx, qword [rbp + 0x100]
sub rsp, 0x20
call fcn.14000eec9
add rsp, 0x20
mov rcx, qword [rbp + 0x2a0]
sub rsp, 0x20
call fcn.14001cd5d
add rsp, 0x20
mov rax, qword [rbp + 0xa28]
mov qword [rbp + 0xb8], rax
cmp rax, 0
jle 0x14017d10a
mov rcx, qword [rbp + 0xb8]
mov rax, qword [0x1402647a0]
sub rsp, 0x20
call qword [rax]
mov rcx, qword [rbp + 0x680]
add rsp, 0x20
mov eax, 7
cmp byte [rcx], 0
mov dword [rbp + 0xb4], eax
jne 0x14017d79a
mov al, byte [rbp + 0x2b3]
test al, 1
jne 0x14017d1a5
jmp 0x14017d11d
mov rax, qword [rbp + 0x2f8]
mov rcx, qword [rax]
mov rax, rcx
xor rax, 0xffffffffffffffff
movabs rdx, 0xc571179b06a13041
movabs r8, 0x3a8ee864f95ecfbe
xor rdx, r8
xor rcx, rdx
and rax, rcx
movabs rcx, 0x4000000000000000
movabs rdx, 0x4000000000000000
or rcx, rdx
movabs rdx, 0xffa993d17ee2f8c8
movabs r8, 0x566c2e811d0737
xor rdx, r8
xor rcx, rdx
xor rax, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
and rax, rcx
cmp rax, 0
jne 0x14017d1a5
mov rcx, qword [rbp + 0x2f8]
sub rsp, 0x20
call fcn.14000eec9
add rsp, 0x20
mov eax, dword [0x140255520]
imul eax, dword [0x140255524]
mov ecx, 0x6287cb06
xor edx, edx
div ecx
mov ecx, 0x54f784fa
xor ecx, 0x21c1e323
add eax, ecx
sub eax, 0x10263ed6
sub eax, 0x753667d9
add eax, 0x52edc4b3
cmp eax, 0x35dda2e2
jb 0x14017ed18
mov ecx, dword [0x140255528]
mov eax, dword [0x14025552c]
xor eax, 0x94b207e1
sub ecx, 0xdb1d7563
add ecx, eax
mov eax, 0x69d922
xor eax, 0xdb74ac41
add ecx, eax
mov eax, 0x35a5f3e2
xor eax, 0xa6349154
or ecx, eax
mov eax, ecx
xor eax, 0xffffffff
and eax, 0x1b223710
mov edx, 0x5a6b98b4
xor edx, 0x4149afa4
mov r8d, 0xf22c101f
xor r8d, 0xdd3efe0
xor edx, r8d
and ecx, edx
or eax, ecx
mov ecx, 0x1cc72bed
xor edx, edx
div ecx
cmp eax, 0x28797fea
je 0x14017d1e2
mov al, byte [rbp + 0x2b4]
test al, 1
jne 0x14017d295
jmp 0x14017d263
mov rcx, qword [rbp + 0x328]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
cmp rax, 0
jne 0x14017d295
mov rcx, qword [rbp + 0x328]
sub rsp, 0x20
call fcn.14000eec9
add rsp, 0x20
mov al, byte [rbp + 0x2b5]
test al, 1
jne 0x14017d30a
jmp 0x14017d2a8
mov rax, qword [rbp + 0x368]
mov rcx, qword [rax]
mov rax, rcx
xor rax, 0xffffffffffffffff
mov rdx, 0xffffffffffffffff
movabs r8, 0x4000000000000000
xor rdx, r8
or rax, rdx
movabs rdx, 0x4000000000000000
and rcx, rdx
xor rcx, 0xffffffffffffffff
xor rax, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
or rax, rcx
cmp rax, 0
jne 0x14017d30a
mov rcx, qword [rbp + 0x368]
sub rsp, 0x20
call fcn.14000eec9
add rsp, 0x20
mov al, byte [rbp + 0x2b6]
test al, 1
jne 0x14017d35f
jmp 0x14017d31d
mov rax, qword [rbp + 0x358]
mov rax, qword [rax]
movabs rcx, 0x60455cee865285f8
movabs rdx, 0x20455cee865285f8
xor rcx, rdx
and rax, rcx
cmp rax, 0
jne 0x14017d35f
mov rcx, qword [rbp + 0x358]
sub rsp, 0x20
call fcn.14000eec9
add rsp, 0x20
mov rcx, qword [rbp + 0x5d0]
sub rsp, 0x20
call fcn.1400c4670
mov rcx, qword [rbp + 0x680]
add rsp, 0x20
mov eax, 0x2a
cmp byte [rcx], 0
mov dword [rbp + 0xb4], eax
jne 0x14017d79a
mov al, byte [rbp + 0x2b7]
test al, 1
jne 0x14017d5ed
jmp 0x14017d3a1
mov eax, dword [0x140255530]
mov ecx, dword [0x140255534]
xor ecx, 0xffffffff
xor edx, edx
sub edx, 1
sub ecx, edx
sub eax, ecx
and eax, eax
xor eax, 0xffffffff
mov ecx, 0xa56674eb
and ecx, 0xa56674eb
xor ecx, 0xffffffff
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0xe45b91b1
xor ecx, 0xcbad4c67
sub eax, ecx
mov edx, 0x99fbdd92
xor edx, 0xb79f1de9
mov ecx, 0x94453b31
xor ecx, 0x6bbac4ce
xor edx, ecx
mov ecx, eax
and ecx, edx
mov r8d, 0xbccf8658
xor r8d, 0x92ab4623
mov edx, eax
xor edx, r8d
add eax, edx
sub eax, ecx
mov ecx, 0x826f72fa
xor ecx, 0x1192734c
cmp eax, ecx
je 0x14017ed21
mov rcx, qword [rbp + 0x378]
mov eax, dword [0x140255538]
xor eax, 0xcf567a5c
and eax, dword [0x14025553c]
mov r8d, 0x4a200e4c
xor r8d, 0x4a200e4d
mov edx, eax
add edx, r8d
xor eax, 0xffffffff
or eax, 0x9b1e9abe
add eax, edx
sub eax, 0xb1fd7faf
sub eax, 0x9ee7f263
add eax, 0x3e93c5c1
add eax, 0x9ee7f263
mov rcx, qword [rcx]
mov rdx, rcx
add rdx, 1
movabs r8, 0x4ab838c777a407d2
movabs r9, 0xb547c738885bf82d
xor r8, r9
xor rcx, r8
movabs r8, 0x4000000000000000
or rcx, r8
add rcx, rdx
cmp rcx, 0
sete cl
mov byte [rbp + 0xb3], cl
cmp eax, 0x8ecad45c
ja 0x14017ed21
mov al, byte [rbp + 0xb3]
test al, 1
jne 0x14017d4cd
jmp 0x14017d5ed
mov ecx, dword [0x140255540]
xor ecx, 0x22b42113
xor ecx, dword [0x140255544]
mov eax, ecx
xor eax, 0xffffffff
mov edx, 0x6944d008
xor edx, 0x96bb2ff7
xor ecx, edx
or eax, ecx
mov ecx, 0x5848e806
and ecx, 0x5848e806
xor ecx, 0xffffffff
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0xa300e432
xor ecx, 0x4204a956
add eax, ecx
mov ecx, 0x679b7153
xor edx, edx
div ecx
mov ecx, 0x9272abc5
xor ecx, 0xf2889819
cmp eax, ecx
je 0x14017ed2a
mov rcx, qword [rbp + 0x378]
mov edx, dword [0x140255548]
add edx, dword [0x14025554c]
sub edx, 0xff575a2b
mov eax, edx
or eax, eax
xor eax, 0xffffffff
mov r8d, 0x900f5a81
or r8d, 0x900f5a81
mov r9d, 0x62994b79
xor r9d, 0x9d66b486
xor r8d, r9d
or eax, r8d
mov r8d, 0x3b1bf304
xor r8d, 0xc4e40cfb
xor eax, r8d
xor edx, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0x900f5a81
and edx, r8d
xor eax, 0xffffffff
xor edx, 0xffffffff
and eax, edx
mov r8d, 0xd0ab9e2e
xor r8d, 0x52d91ac1
mov edx, eax
xor edx, r8d
mov r8d, 0xffffffff
xor r8d, 0x827284ef
and eax, r8d
shl eax, 1
sub eax, edx
mov dword [rbp + 0xac], eax
sub rsp, 0x20
call fcn.14000eec9
mov eax, dword [rbp + 0xac]
add rsp, 0x20
cmp eax, 0xb658143a
jbe 0x14017d532
jmp 0x14017d5ed
mov rax, qword [rbp + 0x5c0]
mov rcx, qword [rax]
mov qword [rbp + 0x6c0], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x6c8], rax
lea rcx, [rbp + 0x6c0]
sub rsp, 0x20
call fcn.1400182e0
add rsp, 0x20
lea rcx, [rbp + 0xaa0]
sub rsp, 0x20
call fcn.1400c4670
mov rcx, qword [rbp + 0x680]
add rsp, 0x20
mov eax, 0x2b
cmp byte [rcx], 0
mov dword [rbp + 0xb4], eax
jne 0x14017d79a
mov eax, dword [0x140255550]
xor edx, edx
div dword [0x140255554]
imul eax, eax, 0xb4d2849b
mov ecx, 0xd1b5e436
xor edx, edx
div ecx
xor ecx, ecx
sub ecx, 0xad55293
sub eax, ecx
cmp eax, 0xad2e6402
jae 0x14017ed33
mov rdx, qword [rbp + 0x510]
mov ecx, dword [0x140255558]
mov r8d, dword [0x14025555c]
mov eax, ecx
and eax, r8d
xor ecx, r8d
or eax, ecx
mov r8d, 0x3889b8ed
xor r8d, 0x22fb1eb5
mov ecx, eax
and ecx, r8d
shl ecx, 1
add eax, 0x1a72a658
sub eax, ecx
mov r8d, 0xffffffff
xor r8d, 0x660009b0
mov ecx, eax
and ecx, r8d
mov r8d, eax
xor r8d, 0x660009b0
add eax, r8d
sub eax, ecx
sub eax, 0x7d0149ed
mov ecx, 0x963534bc
xor ecx, 0x542819b3
mov rdx, qword [rdx]
mov qword [rbp + 0xa0], rdx
cmp rdx, 0
sete dl
mov byte [rbp + 0xab], dl
cmp eax, ecx
jb 0x14017d67e
mov cl, byte [rbp + 0xab]
mov eax, 0x2c
test cl, 1
mov dword [rbp + 0xb4], eax
jne 0x14017d79a
jmp 0x14017d727
mov rax, qword [rbp + 0xa0]
mov rax, qword [rax]
mov rdx, 0xffffffffffffffff
movabs rcx, 0x4000000000000000
xor rdx, rcx
mov rcx, rax
xor rcx, rdx
and rcx, rax
mov eax, 0x2c
cmp rcx, 0
mov dword [rbp + 0xb4], eax
jne 0x14017d79a
mov rcx, qword [rbp + 0xa0]
sub rsp, 0x20
call fcn.14000eec9
add rsp, 0x20
mov eax, 0x2c
mov dword [rbp + 0xb4], eax
jmp 0x14017d79a
mov rax, qword [rbp + 0x100]
mov qword [rbp + 0x108], rax
jmp 0x14017d7c7
mov rax, qword [rbp + 0x218]
mov ecx, dword [rbp + 0xb4]
mov dword [rbp + 0x144], ecx
mov qword [rbp + 0x148], rax
jmp 0x14017dbcd
mov rax, qword [rbp + 0x100]
mov qword [rbp + 0x108], rax
mov rax, qword [rbp + 0x120]
mov rcx, qword [rbp + 0x108]
mov qword [rbp + 0x98], rcx
cmp rax, 0
je 0x14017d82b
mov rax, qword [rbp + 0x120]
mov rcx, qword [rax]
mov rdx, 0xffffffffffffffff
movabs rax, 0x4000000000000000
xor rdx, rax
mov rax, rcx
xor rax, rdx
and rax, rcx
cmp rax, 0
jne 0x14017d82b
mov rcx, qword [rbp + 0x120]
sub rsp, 0x20
call fcn.14000eec9
add rsp, 0x20
mov rax, qword [rbp + 0x98]
cmp rax, 0
je 0x14017d8d6
mov rax, qword [rbp + 0x98]
mov rcx, qword [rax]
movabs rdx, 0x4000000000000000
mov rax, rcx
and rax, rdx
movabs rdx, 0xaf2cacb135d5c62c
movabs r8, 0x50d3534eca2a39d3
xor rdx, r8
xor rax, rdx
movabs rdx, 0x4000000000000000
and rcx, rdx
movabs rdx, 0x61ad0d6025eecb7e
movabs r8, 0x9e52f29fda113481
xor rdx, r8
xor rcx, rdx
xor rax, 0xffffffffffffffff
movabs rdx, 0x774ed422b3fe35cc
movabs r8, 0x88b12bdd4c01ca33
xor rdx, r8
xor rcx, rdx
or rax, rcx
cmp rax, 0
jne 0x14017d8d6
mov rcx, qword [rbp + 0x98]
sub rsp, 0x20
call fcn.14000eec9
add rsp, 0x20
mov rax, qword [rbp + 0x680]
cmp byte [rax], 0
je 0x14017d9fd
mov eax, dword [0x140255560]
xor eax, 0xe894d4b5
imul eax, dword [0x140255564]
xor eax, 0x20b375da
imul eax, eax, 0x296744dd
mov ecx, 0x4ba99a02
xor ecx, 0xab2064fd
xor edx, edx
div ecx
mov ecx, 0x27e0c0c8
xor ecx, 0x43b014b7
cmp eax, ecx
je 0x14017ed3c
mov r8d, dword [0x140255568]
mov ecx, dword [0x14025556c]
mov edx, r8d
xor edx, ecx
xor edx, 0xffffffff
mov eax, ecx
and eax, edx
shl eax, 1
sub eax, ecx
sub r8d, eax
mov edx, 0xb0d43e01
xor edx, 0xeadf9141
mov eax, 0x9502b822
xor eax, 0x6afd47dd
xor edx, eax
mov ecx, r8d
and ecx, edx
mov eax, r8d
or eax, edx
xor eax, 0xffffffff
imul eax, ecx
mov ecx, r8d
and ecx, 0x5a0baf40
or r8d, 0x5a0baf40
imul r8d, ecx
add r8d, eax
mov ecx, 0x62cb40a6
xor ecx, 0x9d34bf59
mov eax, r8d
xor eax, ecx
and eax, 0x6faea061
mov edx, 0xffffffff
xor edx, 0x6faea061
and r8d, edx
mov ecx, 0xffffffff
xor ecx, 0xfe8a328f
and ecx, 0x6faea061
and edx, 0xfe8a328f
or eax, r8d
or ecx, edx
xor eax, ecx
mov ecx, eax
xor ecx, 0xdb4bae2f
mov edx, 0xffffffff
xor edx, 0xdb4bae2f
and eax, edx
shl eax, 1
sub eax, ecx
cmp eax, 0xf7e65032
ja 0x14017d925
mov rax, qword [rbp + 0x2a0]
mov qword [rbp + 0x298], rax
jmp 0x14017de6c
jmp 0x14017db58
mov eax, dword [0x140255570]
mov edx, dword [0x140255574]
xor edx, 0xc456b498
mov ecx, eax
xor ecx, edx
mov r8d, 0x5093d08d
xor r8d, 0xaf6c2f72
xor ecx, r8d
or eax, edx
and eax, ecx
xor eax, 0xe5545089
mov ecx, eax
xor ecx, 0xffffffff
mov edx, 0x1cdc6de0
xor edx, 0x41aa3a93
mov r8d, 0x16b7e70f
xor r8d, 0xe94818f0
xor edx, r8d
and ecx, edx
or eax, 0x5d765773
xor eax, 0xffffffff
or ecx, eax
xor ecx, 0xffffffff
mov edx, 0xa5e548
xor edx, 0x56f991b
mov eax, 0x265a619e
xor eax, 0xd9a59e61
xor edx, eax
mov eax, ecx
xor eax, edx
and eax, ecx
cmp eax, 0xa7e91b2a
jae 0x14017ed45
mov r8b, byte [rbp + 0x133]
mov eax, dword [0x140255578]
mov ecx, dword [0x14025557c]
xor ecx, 0xffffffff
mov edx, 0xc68c6cab
xor edx, 0xc68c6cab
mov r9d, 0x3ee5681b
xor r9d, 0x3ee5681a
sub edx, r9d
sub ecx, edx
sub eax, ecx
xor eax, 0x755d861c
mov edx, 0x766c2fab
xor edx, 0x562daec4
mov ecx, eax
and ecx, edx
shl ecx, 1
mov edx, 0xcdfb6d4b
xor edx, 0xedbaec24
add eax, edx
sub eax, ecx
mov ecx, 0x4be9bc5a
xor ecx, 0xe4ad486
xor eax, ecx
mov ecx, 0xc
mov edx, 0x2d
test r8b, 1
cmovne ecx, edx
mov dword [rbp + 0x94], ecx
cmp eax, 0xe6bfa11a
jae 0x14017ed45
mov rax, qword [rbp + 0x218]
mov ecx, dword [rbp + 0x94]
mov dl, byte [rbp + 0x133]
test dl, 1
mov dword [rbp + 0x144], ecx
mov qword [rbp + 0x148], rax
jne 0x14017db58
jmp 0x14017dbcd
jmp 0x14017db58
mov rax, qword [rbp + 0x2a0]
mov qword [rbp + 0x298], rax
jmp 0x14017de6c
mov rax, qword [rbp + 0x218]
mov ecx, dword [rax]
mov dword [rbp + 0x90], ecx
mov edx, 0x7e544918
xor edx, 0x7e544919
xor eax, eax
cmp ecx, edx
mov byte [rbp + 0x2b2], al
jl 0x14017a488
mov edx, dword [rbp + 0x90]
mov rcx, qword [rbp + 0x218]
sub rsp, 0x20
call fcn.140174640
mov r8, qword [rbp + 0x680]
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x2a0]
xor edx, edx
cmp byte [r8], 0
mov dword [rbp + 0x144], edx
mov qword [rbp + 0x148], rcx
mov qword [rbp + 0x298], rax
jne 0x14017de6c
mov ecx, dword [rbp + 0x144]
mov rax, qword [rbp + 0x148]
mov dword [rbp + 0x8c], ecx
test ecx, ecx
mov qword [rbp + 0x228], rax
je 0x14017ae28
jmp 0x14017dbf4
mov eax, dword [rbp + 0x8c]
mov rcx, qword [rbp + 0x2a0]
mov rdx, qword [rbp + 0x2a8]
mov r8d, eax
sub r8d, 0x16
mov qword [rbp + 0x230], rdx
mov qword [rbp + 0x238], rcx
mov dword [rbp + 0x240], eax
je 0x14017dd51
jmp 0x14017dddc
mov eax, dword [0x140255580]
xor eax, 0xf34b8ae6
xor edx, edx
div dword [0x140255584]
mov ecx, eax
mov eax, 0xf20e504e
xor eax, 0x15dfa2ee
or ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xcbc17838
or eax, edx
and ecx, 0xcbc17838
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0x25cde236
xor ecx, 0xda321dc9
xor eax, ecx
mov ecx, 0x332bf456
xor edx, edx
div ecx
cmp eax, 0xadbba8ba
jae 0x14017ed4e
mov ecx, dword [rbp + 0x270]
mov edx, dword [0x140255588]
add edx, dword [0x14025558c]
mov eax, 0x53c736e4
xor eax, 0x8aebefaa
and eax, edx
mov r8d, 0xce814f08
xor r8d, 0x317eb0f7
xor eax, r8d
add edx, 0xd92cd94e
add edx, 1
add edx, eax
mov eax, edx
xor eax, 0xffffffff
mov r8d, 0xd600420a
xor r8d, 0x29ffbdf5
xor edx, r8d
and eax, edx
mov edx, 0xffffffff
xor edx, 0xb1745f5b
mov r8d, 0x420b33ec
xor r8d, 0xf37f6cb7
mov r9d, 0xaac4305c
xor r9d, 0x553bcfa3
xor r8d, r9d
and edx, r8d
xor eax, 0xffffffff
xor edx, 0xffffffff
and eax, edx
add eax, 0x75411a9c
cmp ecx, 0x80000006
sete cl
mov byte [rbp + 0x8b], cl
cmp eax, 0xe2311873
je 0x14017ed4e
mov rax, qword [rbp + 0x2a0]
mov cl, byte [rbp + 0x8b]
test cl, 1
mov qword [rbp + 0x298], rax
jne 0x14017de6c
jmp 0x14017dd51
mov ecx, 0x40
mov edx, 8
sub rsp, 0x20
call fcn.140012610
add rsp, 0x20
mov rcx, rax
mov rax, qword [0x140264760]
mov qword [rcx], rax
lea rax, [0x140263ca1]
mov qword [rcx + 0x10], rax
mov rax, qword [0x140263d38]
mov qword [rcx + 0x18], rax
mov rax, qword [str.x_]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
lea rdx, [0x140263ca1]
lea r8, [0x140263cda]
lea r9, [0x140263cba]
sub rsp, 0x30
mov qword [rsp + 0x20], 0xffffffffc0dba6c3
call fcn.14001203f
mov rax, qword [rbp + 0x2a0]
add rsp, 0x30
mov qword [rbp + 0x298], rax
jmp 0x14017de6c
mov rcx, qword [rbp + 0x230]
mov rdx, qword [rbp + 0x238]
mov eax, dword [rbp + 0x240]
mov dword [rbp + 0x6c], eax
mov qword [rbp + 0x70], rdx
mov qword [rbp + 0x78], rcx
mov ecx, eax
mov qword [rbp + 0x80], rcx
sub eax, 0x15
ja 0x14017e577
mov rcx, qword [rbp + 0x328]
mov rdx, qword [rbp + 0x2f8]
mov r8, qword [rbp + 0x70]
mov rax, qword [rbp + 0x80]
lea r9, [0x14017eda0]
movsxd rax, dword [r9 + rax*4]
add rax, r9
mov qword [rbp + 0x298], r8
mov qword [rbp + 0x58], rdx
mov qword [rbp + 0x60], rcx
jmp rax
mov rcx, qword [rbp + 0x298]
sub rsp, 0x20
call fcn.14001cd5d
add rsp, 0x20
mov rax, qword [rbp + 0x680]
mov cl, byte [rax]
mov byte [rbp + 0x4f], cl
mov cl, 0x61
xor cl, 0x61
mov byte [rax], cl
mov rax, qword [rbp + 0xa28]
mov qword [rbp + 0x50], rax
cmp rax, 0
jle 0x14017df9e
mov eax, dword [0x140255590]
xor eax, 0xf6606a58
or eax, dword [0x140255594]
sub eax, 0xa8a47cd5
mov ecx, 0xffffffff
xor ecx, 0x4e97bd19
xor edx, edx
sub edx, 1
sub ecx, edx
sub eax, ecx
mov ecx, 0x9663d95b
xor ecx, 0x3f9ae0b1
or eax, ecx
cmp eax, 0x89d5c7d0
jbe 0x14017ed57
mov rcx, qword [rbp + 0x50]
mov eax, dword [0x140255598]
mov edx, dword [0x14025559c]
mov r8d, 0x44c9348b
xor r8d, 0x8289b8f7
xor edx, r8d
xor eax, edx
xor edx, edx
sub edx, eax
xor eax, eax
sub eax, 0xb273cada
add edx, eax
mov eax, 0xc62b1454
xor eax, 0xc62b1454
sub eax, edx
mov r8d, 0xf40a1b61
xor edx, edx
div r8d
xor eax, 0x8562669e
mov dword [rbp + 0x48], eax
mov rax, qword [0x1402647a0]
sub rsp, 0x20
call qword [rax]
mov rcx, qword [rbp + 0x680]
add rsp, 0x20
mov eax, dword [rbp + 0x48]
cmp byte [rcx], 0
sete cl
mov byte [rbp + 0x4e], cl
cmp eax, 0xdd32c1a9
je 0x14017ed57
mov rax, qword [rbp + 0x328]
mov rcx, qword [rbp + 0x2f8]
mov r8b, byte [rbp + 0x4e]
mov dl, 1
test r8b, 1
mov byte [rbp + 0x2df], dl
mov qword [rbp + 0x2e0], rcx
mov qword [rbp + 0x2e8], rax
jne 0x14017df9e
jmp 0x14017e12c
mov rax, qword [rbp + 0x328]
mov rcx, qword [rbp + 0x2f8]
mov dl, byte [rbp + 0x4f]
mov byte [rbp + 0x2df], dl
mov qword [rbp + 0x2e0], rcx
mov qword [rbp + 0x2e8], rax
jmp 0x14017e12c
mov rax, qword [rbp + 0x338]
mov qword [rbp + 0x40], rax
sub rsp, 0x20
call fcn.140008c92
mov rax, qword [rbp + 0x40]
add rsp, 0x20
xor ecx, ecx
mov qword [rbp + 0x58], rcx
mov qword [rbp + 0x60], rax
mov rdx, qword [rbp + 0x680]
mov rcx, qword [rbp + 0x58]
mov rax, qword [rbp + 0x60]
mov dl, byte [rdx]
mov byte [rbp + 0x2df], dl
mov qword [rbp + 0x2e0], rcx
mov qword [rbp + 0x2e8], rax
jmp 0x14017e12c
mov rax, qword [rbp + 0x388]
mov rcx, qword [rbp + 0x390]
mov rdx, qword [rbp + 0x398]
mov qword [rbp + 0x28], rdx
mov qword [rbp + 0x30], rcx
mov qword [rbp + 0x38], rax
mov eax, dword [0x1402555a0]
mov ecx, 0x374914a6
xor ecx, 0xe0bf5eef
xor eax, ecx
or eax, dword [0x1402555a4]
mov edx, 0x7ccc7c80
xor edx, 0x8b997d7f
mov ecx, eax
xor ecx, edx
mov edx, 0xffffffff
xor edx, 0xf75501ff
and eax, edx
shl eax, 1
sub eax, ecx
mov ecx, 0x3d3aecec
xor edx, edx
div ecx
or eax, eax
xor eax, 0xffffffff
mov ecx, 0x26c9f90f
or ecx, 0x26c9f90f
mov edx, 0xf18a9edd
xor edx, 0xe756122
xor ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
cmp eax, 0xccec31c6
jae 0x14017ed60
mov rcx, qword [rbp + 0x680]
mov eax, dword [0x1402555a8]
xor eax, 0xf2901f3f
mov edx, dword [0x1402555ac]
xor edx, 0x4ee30a97
or eax, edx
mov edx, eax
xor edx, 0xffffffff
and edx, 0xf389a168
mov r8d, 0xffffffff
xor r8d, 0xf389a168
and eax, r8d
sub eax, edx
xor eax, 0x9385eb54
and eax, 0xee82a98c
mov byte [rcx], 0
cmp eax, 0x12fad30b
jb 0x14017e0ac
mov rcx, qword [rbp + 0x38]
mov rdx, qword [rbp + 0x30]
mov r8, qword [rbp + 0x28]
xor eax, eax
mov r9b, al
mov al, 1
mov byte [rbp + 7], r9b
mov qword [rbp + 8], r8
mov qword [rbp + 0x10], rdx
mov qword [rbp + 0x18], rcx
mov byte [rbp + 0x27], al
jmp 0x14017e222
mov rdx, qword [rbp + 0x368]
mov r8, qword [rbp + 0x358]
mov r11, qword [rbp + 0x680]
mov al, byte [rbp + 0x2df]
mov r10, qword [rbp + 0x2e0]
mov rcx, qword [rbp + 0x2e8]
mov qword [rbp - 0x10], rcx
mov qword [rbp - 8], r10
mov byte [rbp + 5], al
cmp al, 0
sete r9b
mov byte [rbp + 6], r9b
mov byte [r11], 0
cmp r10, 0
mov byte [rbp + 7], r9b
mov qword [rbp + 8], r8
mov qword [rbp + 0x10], rdx
mov qword [rbp + 0x18], rcx
mov byte [rbp + 0x27], al
je 0x14017e222
mov al, byte [rbp + 5]
mov rcx, qword [rbp - 0x10]
mov rdx, qword [rbp + 0x368]
mov r8, qword [rbp + 0x358]
mov r9b, byte [rbp + 6]
mov r10, qword [rbp - 8]
mov r11, qword [r10]
mov rsi, 0xffffffffffffffff
movabs r10, 0x4000000000000000
xor rsi, r10
mov r10, r11
xor r10, rsi
and r10, r11
cmp r10, 0
mov byte [rbp + 7], r9b
mov qword [rbp + 8], r8
mov qword [rbp + 0x10], rdx
mov qword [rbp + 0x18], rcx
mov byte [rbp + 0x27], al
jne 0x14017e222
mov rcx, qword [rbp - 8]
sub rsp, 0x20
call fcn.14000eec9
mov r9b, byte [rbp + 6]
mov r8, qword [rbp + 0x358]
mov rdx, qword [rbp + 0x368]
mov rcx, qword [rbp - 0x10]
mov al, byte [rbp + 5]
add rsp, 0x20
mov byte [rbp + 7], r9b
mov qword [rbp + 8], r8
mov qword [rbp + 0x10], rdx
mov qword [rbp + 0x18], rcx
mov byte [rbp + 0x27], al
mov cl, byte [rbp + 7]
mov rdx, qword [rbp + 8]
mov r8, qword [rbp + 0x10]
mov rax, qword [rbp + 0x18]
mov r9b, byte [rbp + 0x27]
mov byte [rbp - 0x31], r9b
mov qword [rbp - 0x30], rax
mov qword [rbp - 0x28], r8
mov qword [rbp - 0x20], rdx
mov byte [rbp - 0x11], cl
cmp rax, 0
je 0x14017e38b
mov eax, dword [0x1402555b0]
xor eax, 0x32a18ed
and eax, dword [0x1402555b4]
mov ecx, 0xff106145
xor ecx, 0x9662e641
sub eax, ecx
mov ecx, 0x4abac33e
xor ecx, 0xb5453cc1
mov edx, eax
xor edx, ecx
and edx, 0x2da5ade3
mov r8d, 0xffffffff
xor r8d, 0x2da5ade3
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x2da5ade3
mov r8d, 0xfef90bdc
xor r8d, 0xd35ca63f
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, 0xb3d5e762
xor ecx, 0xd85762e7
and eax, ecx
cmp eax, 0x67b17d60
ja 0x14017ed69
mov r8, qword [rbp - 0x30]
mov eax, dword [0x1402555b8]
xor eax, 0x881daf39
xor edx, edx
div dword [0x1402555bc]
mov edx, eax
xor edx, 0xffffffff
and edx, 0xa212b670
mov r9d, 0xffffffff
xor r9d, 0xa212b670
mov ecx, eax
and ecx, r9d
imul ecx, edx
mov edx, eax
and edx, 0xa212b670
or eax, 0xa212b670
imul eax, edx
add eax, ecx
xor eax, 0x2a8f99eb
mov ecx, 0xec7fe6bd
xor ecx, 0x324a7147
add eax, ecx
mov ecx, 0x64da1681
xor ecx, 0xa7545c23
movabs rdx, 0x4000000000000000
and rdx, qword [r8]
movabs r8, 0x91d051ac3fc8396b
movabs r9, 0x91d051ac3fc8396b
xor r8, r9
cmp rdx, r8
sete dl
mov byte [rbp - 0x32], dl
cmp eax, ecx
je 0x14017e2cf
mov al, byte [rbp - 0x32]
test al, 1
jne 0x14017e37a
jmp 0x14017e38b
mov rcx, qword [rbp - 0x30]
sub rsp, 0x20
call fcn.14000eec9
add rsp, 0x20
mov eax, dword [0x1402555c0]
mov edx, dword [0x1402555c4]
xor edx, 0x737e0c7e
xor ecx, ecx
sub ecx, eax
mov eax, 0x3df9c6e1
xor eax, 0x3df9c6e1
sub eax, edx
add ecx, eax
xor eax, eax
sub eax, ecx
mov ecx, eax
add ecx, 1
xor eax, 0xffffffff
or eax, 0xbeb23f64
add eax, ecx
mov ecx, eax
xor ecx, 0xffffffff
mov edx, 0x7d8de49c
xor edx, 0x89550e39
and edx, ecx
mov r8d, 0xffffffff
xor r8d, 0xf4d8eaa5
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0xf4d8eaa5
or eax, 0xf4d8eaa5
imul eax, edx
add eax, ecx
mov ecx, 0xad4dd393
xor ecx, 0xcc5935fa
and eax, ecx
cmp eax, 0x2bab07da
ja 0x14017ed72
mov rcx, qword [rbp - 0x28]
mov edx, dword [0x1402555c8]
xor edx, dword [0x1402555cc]
or edx, 0x102bee8d
mov eax, edx
xor eax, 0xffffffff
mov r9d, 0xc7a5d5ff
xor r9d, 0x385a2a00
mov r8d, edx
xor r8d, r9d
and eax, r8d
mov r8d, 0xffffffff
xor r8d, 0x18fcae4f
mov r9d, 0xffffffff
xor r9d, 0x18fcae4f
and r8d, r9d
mov r9d, 0xd5fa1706
xor r9d, 0x2a05e8f9
xor eax, r9d
xor r8d, 0xffffffff
and eax, r8d
mov r8d, 0x27f8ff12
xor r8d, 0xd80700ed
xor edx, r8d
mov r8d, 0xffffffff
xor r8d, 0x18fcae4f
and edx, r8d
or eax, edx
xor eax, 0xffffffff
xor eax, 0x1350ad7c
cmp rcx, 0
sete cl
mov byte [rbp - 0x33], cl
cmp eax, 0x97234d9d
ja 0x14017e413
mov al, byte [rbp - 0x33]
test al, 1
jne 0x14017e4f3
jmp 0x14017e4c7
mov rcx, qword [rbp - 0x28]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
cmp rax, 0
jne 0x14017e4f3
mov rcx, qword [rbp - 0x28]
sub rsp, 0x20
call fcn.14000eec9
add rsp, 0x20
mov rax, qword [rbp - 0x20]
cmp rax, 0
je 0x14017e52d
mov rcx, qword [rbp - 0x20]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
cmp rax, 0
jne 0x14017e52d
mov rcx, qword [rbp - 0x20]
sub rsp, 0x20
call fcn.14000eec9
add rsp, 0x20
mov rcx, qword [rbp + 0x5d0]
sub rsp, 0x20
call fcn.1400c4670
mov rax, qword [rbp + 0x680]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14017e572
mov al, byte [rbp - 0x11]
mov rcx, qword [rbp + 0x680]
mov dl, byte [rbp - 0x31]
mov byte [rcx], dl
test al, 1
jne 0x14017e56d
jmp 0x14017e572
jmp 0x14017e91b
jmp 0x14017e61b
mov eax, dword [0x1402555d0]
xor eax, 0x2fd1653a
xor edx, edx
div dword [0x1402555d4]
mov ecx, 0x551d9569
xor edx, edx
div ecx
imul eax, eax, 0xb2a61ad9
imul eax, eax, 0xd945e945
mov ecx, 0x87eb71cf
xor ecx, 0x804c43fe
cmp eax, ecx
ja 0x14017ed7b
mov ecx, dword [rbp + 0x6c]
mov eax, dword [0x1402555d8]
mov r8d, dword [0x1402555dc]
mov edx, r8d
and edx, eax
xor edx, 0xffffffff
add eax, r8d
add eax, 1
add eax, edx
mov r8d, 0x8ca02bd0
xor edx, edx
div r8d
sub eax, 0xaba389f0
mov edx, 0x2eb21bc8
xor edx, 0xb0801767
imul eax, edx
cmp ecx, 0x2a
sete cl
mov byte [rbp - 0x34], cl
cmp eax, 0xc7a46853
ja 0x14017e5b2
mov eax, dword [rbp + 0x6c]
mov cl, byte [rbp - 0x34]
test cl, 1
mov dword [rbp - 0x38], eax
jne 0x14017e61b
jmp 0x14017ea68
mov r11d, dword [0x1402555e0]
sub r11d, dword [0x1402555e4]
sub r11d, 0x8f51cb64
add r11d, 0xb0962b31
add r11d, 0x8f51cb64
mov eax, 0x24bba888
xor eax, 0xdb445777
mov ecx, r11d
xor ecx, eax
mov r8d, 0xfaa746ce
xor r8d, 0xb378ce8
mov eax, 0x365f2d9b
xor eax, 0xc9a0d264
xor r8d, eax
mov edx, 0xffffffff
xor edx, 0x2f61446d
mov eax, ecx
and eax, 0x2f61446d
and r11d, edx
mov r9d, r8d
and r9d, 0x2f61446d
mov r10d, edx
and r10d, 0xf190ca26
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, r8d
xor ecx, 0xffffffff
or edx, 0x2f61446d
and ecx, edx
or eax, ecx
mov ecx, 0x9bc93ecb
xor ecx, 0xa191cc8b
sub eax, ecx
cmp eax, 0x3aaf1ceb
jb 0x14017ed84
mov ecx, dword [0x1402555e8]
mov edx, dword [0x1402555ec]
mov eax, 0x84d06db5
xor eax, 0x7b2f924a
xor edx, eax
mov eax, ecx
xor eax, edx
and eax, ecx
mov ecx, 0x5565134f
xor ecx, 0x3c16140d
or eax, ecx
sub eax, 0x6dcc416
mov ecx, 0x257c3303
xor ecx, 0x1a9dc468
add eax, ecx
add eax, 0x6dcc416
mov ecx, 0xd1caf44f
xor edx, edx
div ecx
mov dword [rbp - 0x4c], eax
sub rsp, 0x20
call fcn.1401597e0
add rsp, 0x20
mov rcx, rax
mov eax, dword [rbp - 0x4c]
mov rcx, qword [rcx]
mov qword [rbp - 0x48], rcx
cmp word [rcx + 0x12], 1
setg cl
mov byte [rbp - 0x39], cl
cmp eax, 0x92b6dbaa
jae 0x14017ed84
mov al, byte [rbp - 0x39]
test al, 1
jne 0x14017e74f
jmp 0x14017e91b
mov rax, qword [rbp - 0x48]
mov rax, qword [rax + 0x18]
cmp dword [rax + 8], 0xc5722261
jne 0x14017e91b
mov eax, dword [0x1402555f0]
mov edx, dword [0x1402555f4]
mov ecx, edx
and ecx, eax
mov r8d, 0x915164cb
xor r8d, 0x6eae9b34
xor ecx, r8d
add eax, edx
add eax, 1
add eax, ecx
mov r8d, 0xffffffff
xor r8d, 0x1179c2b8
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x1179c2b8
mov r8d, 0xb9c4bea
xor r8d, 0x1ae58952
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, eax
xor ecx, 0xffffffff
mov edx, 0xd60f8639
xor edx, 0xd84fd76f
and edx, ecx
mov r8d, 0xffffffff
xor r8d, 0xe405156
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov r8d, 0x3f796f9a
xor r8d, 0x31393ecc
mov edx, eax
and edx, r8d
or eax, 0xe405156
imul eax, edx
add eax, ecx
mov ecx, 0x7a54ca39
xor ecx, 0x7a54ca39
mov edx, 0x84cf090c
xor edx, 0xba55d39d
sub ecx, edx
sub eax, ecx
cmp eax, 0x33bde4bb
je 0x14017ed8d
mov rax, qword [rbp + 0x680]
mov r8d, dword [0x1402555f8]
mov ecx, dword [0x1402555fc]
sub r8d, 0x2c5119aa
sub r8d, ecx
add r8d, 0x2c5119aa
mov edx, 0x6f0e7085
xor edx, 0xdf8d3766
mov ecx, r8d
xor ecx, edx
mov edx, 0xffffffff
xor edx, 0xb08347e3
and r8d, edx
mov edx, 0xf3e80a91
xor edx, 0xf3e80a93
imul edx, r8d
sub edx, ecx
mov ecx, 0xdbfa2017
xor ecx, 0xdbfa2017
sub ecx, edx
xor edx, edx
sub edx, 0xd9bd6750
add ecx, edx
xor edx, edx
sub edx, ecx
mov ecx, edx
or ecx, ecx
mov r8d, 0xe44d9b7b
xor r8d, 0x1bb26484
xor ecx, r8d
mov r8d, 0xffffffff
xor r8d, 0x3c27c78f
mov r9d, 0xffffffff
xor r9d, 0x3c27c78f
and r8d, r9d
or ecx, r8d
xor ecx, 0xffffffff
xor edx, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0x3c27c78f
and edx, r8d
or ecx, edx
mov edx, 0xaa553146
xor edx, 0x55aaceb9
xor ecx, edx
mov dword [rbp - 0x50], ecx
mov byte [rax], 0
sub rsp, 0x20
call fcn.1401599a0
mov eax, dword [rbp - 0x50]
add rsp, 0x20
cmp eax, 0x38633db3
jb 0x14017ed8d
jmp 0x14017e91b
mov rax, qword [rbp + 0x378]
cmp rax, 0
je 0x14017e9b4
mov rax, qword [rbp + 0x378]
mov rax, qword [rax]
xor rax, 0xffffffffffffffff
mov rdx, 0xffffffffffffffff
movabs rcx, 0x4000000000000000
xor rdx, rcx
movabs rcx, 0xc6ea4b82a41c012
movabs r8, 0x5c3941b8da09e432
xor rcx, r8
movabs r8, 0xc238249b5ad8b0d9
movabs r9, 0x3dc7db64a5274f26
xor r8, r9
xor rcx, r8
or rax, rdx
movabs rdx, 0x5057e500f0482420
or rcx, rdx
xor rax, 0xffffffffffffffff
and rax, rcx
cmp rax, 0
jne 0x14017e9b4
mov rcx, qword [rbp + 0x378]
sub rsp, 0x20
call fcn.14000eec9
add rsp, 0x20
mov eax, dword [0x140255600]
xor eax, 0xe54daa30
xor eax, dword [0x140255604]
sub eax, 0x664df534
mov ecx, 0xcca62f1e
xor edx, edx
div ecx
or eax, 0x69c04559
mov ecx, 0x1f7e097e
xor ecx, 0x68b4efcc
cmp eax, ecx
ja 0x14017ed96
mov eax, dword [0x140255608]
xor eax, 0xcf3da5d3
mov ecx, dword [0x14025560c]
xor ecx, 0xc09d7fcd
xor ecx, 0xffffffff
xor edx, edx
sub edx, 1
sub ecx, edx
sub eax, ecx
mov ecx, 0x6746d0ef
xor ecx, 0xc73ea5fb
sub eax, ecx
imul eax, eax, 0x52bfb1de
mov ecx, 0xd0c3d4c
xor edx, edx
div ecx
mov rdx, qword [rbp + 0x680]
mov ecx, 0x600f6e31
xor ecx, 0xcd7059f3
cmp byte [rdx], 0
sete dl
mov byte [rbp - 0x51], dl
cmp eax, ecx
jae 0x14017ed96
mov dl, byte [rbp - 0x51]
xor ecx, ecx
mov al, 1
test dl, 1
mov dword [rbp - 0x38], ecx
mov byte [rbp - 0x52], al
jne 0x14017ea68
jmp 0x14017ea98
mov eax, dword [rbp - 0x38]
mov dword [rbp - 0x58], eax
test eax, eax
je 0x1401797e1
jmp 0x14017ea7b
mov eax, dword [rbp - 0x58]
sub eax, 6
jne 0x14017eb24
jmp 0x14017ea8c
mov rax, qword [rbp + 0x680]
mov al, byte [rax]
mov byte [rbp - 0x52], al
mov rcx, qword [rbp + 0x680]
mov rax, qword [rbp + 0x5c0]
mov dl, byte [rbp - 0x52]
mov byte [rbp - 0x59], dl
mov dl, 0xca
xor dl, 0xca
mov byte [rcx], dl
mov rcx, qword [rax]
mov qword [rbp + 0x6b0], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x6b8], rax
lea rcx, [rbp + 0x6b0]
sub rsp, 0x20
call fcn.1400182e0
add rsp, 0x20
lea rcx, [rbp + 0xaa0]
sub rsp, 0x20
call fcn.1400c4670
mov rax, qword [rbp + 0x680]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0x30
xor cl, 0x30
cmp al, cl
jne 0x14017eb1f
mov al, byte [rbp - 0x59]
mov rcx, qword [rbp + 0x680]
mov byte [rcx], al
cmp al, 0
jne 0x14017eb1f
jmp 0x14017eb9f
jmp 0x14017eb36
mov eax, dword [rbp - 0x58]
cmp eax, 0x2b
mov dword [rbp + 0x6ac], eax
jne 0x14017eb62
mov rax, qword [rbp + 0x680]
mov byte [rax], 0
sub rsp, 0x20
call fcn.1401599a0
mov rax, qword [rbp + 0x680]
add rsp, 0x20
cmp byte [rax], 0
je 0x14017eb9f
jmp 0x14017ec10
mov eax, dword [rbp + 0x6ac]
mov dword [rbp - 0x60], eax
test eax, eax
je 0x14017eb9f
jmp 0x14017eb78
mov eax, dword [rbp - 0x60]
sub eax, 2
je 0x14017ec10
jmp 0x14017eb89
mov eax, dword [rbp - 0x60]
sub eax, 3
je 0x14017eb9f
jmp 0x14017eb9a
jmp 0x14017ec59
mov rcx, qword [rbp + 0x678]
sub rsp, 0x20
call fcn.14017ee31
mov rax, qword [rbp + 0x680]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14017ec10
mov rax, qword [rbp + 0x5b8]
mov rax, qword [rax + 8]
mov qword [rbp - 0x68], rax
cmp rax, 0
je 0x14017ec59
mov rax, qword [rbp - 0x68]
mov rcx, qword [rax]
movabs rdx, 0xd162339a8ffc4784
movabs r8, 0x9162339a8ffc4784
xor rdx, r8
and rcx, rdx
cmp rcx, 0
mov qword [rbp - 0x70], rax
je 0x14017ec48
jmp 0x14017ec59
mov rax, qword [rbp + 0x5b8]
mov rax, qword [rax + 8]
mov qword [rbp - 0x78], rax
cmp rax, 0
je 0x14017ec59
mov rax, qword [rbp - 0x78]
movabs rcx, 0x4000000000000000
and rcx, qword [rax]
cmp rcx, 0
mov qword [rbp - 0x70], rax
jne 0x14017ec59
mov rcx, qword [rbp - 0x70]
sub rsp, 0x20
call fcn.14000eec9
add rsp, 0x20
add ch, cl
dec dword [rax - 0x7d]
invalid
lea rsp, [rbp + 0xae8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
stosb byte [rdi], al
sbb dword [rdi - 0x51b417], eax
dec dword [rax - 0x43]
push rsp
jmp 0x140179b8a
movabs rbp, 0x70ffffaf0be9544e
loop 0x14017ec77
mov ebp, 0xbe9544e
scasd eax, dword [rdi]
invalid
jo 0x14017ec63
cmc
xor eax, 0xffb1cbe9
dec dword [rdx]
xchg esp, eax
pop rax
xor ch, cl
mov ecx, 0x3036ffff
or ebp, ecx
loopne 0x14017ec52
or dl, byte [rax + rbx*2 - 0x46bd16ce]
invalid
xor byte ss:[rbp + 0xb], ah
jmp 0x14017a77a
invalid
xchg dword [rbx + rcx*2], ebx
sbb al, 0x4b
stc
jmp 0x14017ab40
test ch, dh
mov esi, 0xffc0f6e9
call [rcx + rdi - 0x10]
pop rsp
cmp eax, esi
retf 0xe9e9
push rsi
movabs eax, dword [0xf7ffffc3a3e9f31c]
or byte [rsi], ah
xchg ebx, eax
jmp 0x14017b547
test dword [rax], 0x80e99326
enter 0xffffffffffffffff, 0xffffffffffffffcd
push rdx
int 0x52
mov edx, 0xcacae942
invalid
pop rdx
sahf
jp 0x14017ec9b
jmp 0x14017b918
invalid
pmullw mm4, qword [rsi]
in eax, dx
jmp 0x14017bb9b
invalid
xlatb
invalid
adc edx, dword [rdx]
invalid
mov gs, edx
fadd qword [rbx - 0x17]
fcos
push qword [rax - 0x33]
jo 0x14017ecd5
int 0x1b
jmp 0x14017c764
sbb eax, 0xe97d7341
mov al, 0xe2
invalid
hlt
shl ch, cl
invalid
invalid
jmp 0x14017d532
cmp dword [rdx + 0x42e99b12], ebx
jmp 0x11583ed3d
imul edx, ebp, 0xd
sbb ecx, ebp
loopne 0x14017ed2e
invalid
xchg dword [rdx + 0x3ae91435], esi
in eax, dx
invalid
invalid
invalid
add bh, 0x30
out 0xe9, al
invalid
rcl dword [rdi + 0x5f], 0xc
jmp 0x14017e2cf
or eax, 0xe96a6ce5
cwde
idiv bh
call rsi
mov eax, 0x2ee9c54f
clc
invalid
invalid
mov al, 0x90
mov byte [rdi - 0x17], cl
xor al, 0xf9
invalid
invalid
sub byte [rcx], dl
scasb al, byte [rdi]
add eax, 0xfffc4ce9
call qword [rax - 0xf5b]
xlatb
idiv edi
call rdi
idiv edi
call rdi
idiv edi
call rdi
idiv edi
call rdi
idiv edi
call rdi
idiv edi
dec dword [rsi - 0xe]
invalid