Function at 0x1401500f0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
mov eax, 0x1ac8
call fcn.1401ffc50
sub rsp, rax
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x1010], r8
mov qword [rbp + 0x11b0], rdx
mov qword [rbp + 0x1018], rcx
mov eax, 0x10
mov qword [rbp + 0x1180], rax
call fcn.1401ffc50
sub rsp, rax
mov rax, qword [rbp + 0x1180]
mov rcx, rsp
mov qword [rbp + 0x11c8], rcx
call fcn.1401ffc50
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x11a8], rax
mov eax, 0x30
mov qword [rbp + 0x1190], rax
call fcn.1401ffc50
sub rsp, rax
mov rax, qword [rbp + 0x1180]
mov rcx, rsp
mov qword [rbp + 0x1020], rcx
call fcn.1401ffc50
sub rsp, rax
mov rax, qword [rbp + 0x1180]
mov rcx, rsp
mov qword [rbp + 0x1028], rcx
call fcn.1401ffc50
sub rsp, rax
mov rax, qword [rbp + 0x1180]
mov rcx, rsp
mov qword [rbp + 0x1030], rcx
call fcn.1401ffc50
sub rsp, rax
mov rax, qword [rbp + 0x1180]
mov rcx, rsp
mov qword [rbp + 0x1038], rcx
call fcn.1401ffc50
sub rsp, rax
mov rax, qword [rbp + 0x1180]
mov rcx, rsp
mov qword [rbp + 0x1040], rcx
call fcn.1401ffc50
sub rsp, rax
mov rax, qword [rbp + 0x1180]
mov rcx, rsp
mov qword [rbp + 0x1048], rcx
call fcn.1401ffc50
sub rsp, rax
mov rax, qword [rbp + 0x1180]
mov rcx, rsp
mov qword [rbp + 0x1050], rcx
call fcn.1401ffc50
sub rsp, rax
mov rax, qword [rbp + 0x1180]
mov rcx, rsp
mov qword [rbp + 0x1058], rcx
call fcn.1401ffc50
sub rsp, rax
mov rax, qword [rbp + 0x1180]
mov rcx, rsp
mov qword [rbp + 0x1060], rcx
call fcn.1401ffc50
sub rsp, rax
mov rax, qword [rbp + 0x1180]
mov rcx, rsp
mov qword [rbp + 0x1068], rcx
call fcn.1401ffc50
sub rsp, rax
mov rax, qword [rbp + 0x1180]
mov rcx, rsp
mov qword [rbp + 0x1070], rcx
call fcn.1401ffc50
sub rsp, rax
mov rax, qword [rbp + 0x1180]
mov rcx, rsp
mov qword [rbp + 0x1078], rcx
call fcn.1401ffc50
sub rsp, rax
mov rax, qword [rbp + 0x1190]
mov rcx, rsp
mov qword [rbp + 0x1080], rcx
call fcn.1401ffc50
sub rsp, rax
mov rax, qword [rbp + 0x1190]
mov rcx, rsp
mov qword [rbp + 0x1088], rcx
call fcn.1401ffc50
sub rsp, rax
mov rax, qword [rbp + 0x1180]
mov rcx, rsp
mov qword [rbp + 0x1090], rcx
call fcn.1401ffc50
sub rsp, rax
mov rax, qword [rbp + 0x1180]
mov rcx, rsp
mov qword [rbp + 0x1098], rcx
call fcn.1401ffc50
sub rsp, rax
mov rax, qword [rbp + 0x1180]
mov rcx, rsp
mov qword [rbp + 0x10a0], rcx
call fcn.1401ffc50
sub rsp, rax
mov rax, qword [rbp + 0x1180]
mov rcx, rsp
mov qword [rbp + 0x10a8], rcx
call fcn.1401ffc50
sub rsp, rax
mov rax, qword [rbp + 0x1180]
mov rcx, rsp
mov qword [rbp + 0x10b0], rcx
call fcn.1401ffc50
sub rsp, rax
mov rax, qword [rbp + 0x1180]
mov rcx, rsp
mov qword [rbp + 0x10b8], rcx
call fcn.1401ffc50
sub rsp, rax
mov rax, qword [rbp + 0x1180]
mov rcx, rsp
mov qword [rbp + 0x10c0], rcx
call fcn.1401ffc50
sub rsp, rax
mov rax, qword [rbp + 0x1180]
mov rcx, rsp
mov qword [rbp + 0x10c8], rcx
call fcn.1401ffc50
sub rsp, rax
mov rax, qword [rbp + 0x1180]
mov rcx, rsp
mov qword [rbp + 0x10d0], rcx
call fcn.1401ffc50
sub rsp, rax
mov rax, qword [rbp + 0x1180]
mov rcx, rsp
mov qword [rbp + 0x10d8], rcx
call fcn.1401ffc50
sub rsp, rax
mov rax, qword [rbp + 0x1180]
mov rcx, rsp
mov qword [rbp + 0x10e0], rcx
call fcn.1401ffc50
sub rsp, rax
mov rax, qword [rbp + 0x1190]
mov rcx, rsp
mov qword [rbp + 0x10e8], rcx
call fcn.1401ffc50
sub rsp, rax
mov rax, qword [rbp + 0x1180]
mov rcx, rsp
mov qword [rbp + 0x10f0], rcx
call fcn.1401ffc50
sub rsp, rax
mov rax, qword [rbp + 0x1180]
mov rcx, rsp
mov qword [rbp + 0x10f8], rcx
call fcn.1401ffc50
sub rsp, rax
mov rax, qword [rbp + 0x1180]
mov rcx, rsp
mov qword [rbp + 0x1100], rcx
call fcn.1401ffc50
sub rsp, rax
mov rax, qword [rbp + 0x1190]
mov rcx, rsp
mov qword [rbp + 0x1108], rcx
call fcn.1401ffc50
sub rsp, rax
mov rax, qword [rbp + 0x1180]
mov rcx, rsp
mov qword [rbp + 0x1110], rcx
call fcn.1401ffc50
sub rsp, rax
mov rax, qword [rbp + 0x1180]
mov rcx, rsp
mov qword [rbp + 0x1118], rcx
call fcn.1401ffc50
sub rsp, rax
mov rax, qword [rbp + 0x1180]
mov rcx, rsp
mov qword [rbp + 0x1120], rcx
call fcn.1401ffc50
sub rsp, rax
mov rax, qword [rbp + 0x1180]
mov rcx, rsp
mov qword [rbp + 0x1128], rcx
call fcn.1401ffc50
sub rsp, rax
mov rax, qword [rbp + 0x1180]
mov rcx, rsp
mov qword [rbp + 0x1130], rcx
call fcn.1401ffc50
sub rsp, rax
mov rax, qword [rbp + 0x1180]
mov rcx, rsp
mov qword [rbp + 0x1138], rcx
call fcn.1401ffc50
sub rsp, rax
mov rax, qword [rbp + 0x1180]
mov rcx, rsp
mov qword [rbp + 0x1140], rcx
call fcn.1401ffc50
sub rsp, rax
mov rax, qword [rbp + 0x1180]
mov rcx, rsp
mov qword [rbp + 0x1148], rcx
call fcn.1401ffc50
sub rsp, rax
mov rax, qword [rbp + 0x1180]
mov rcx, rsp
mov qword [rbp + 0x1150], rcx
call fcn.1401ffc50
sub rsp, rax
mov rax, qword [rbp + 0x1180]
mov rcx, rsp
mov qword [rbp + 0x1158], rcx
call fcn.1401ffc50
sub rsp, rax
mov rax, qword [rbp + 0x1180]
mov rcx, rsp
mov qword [rbp + 0x1160], rcx
call fcn.1401ffc50
sub rsp, rax
mov rax, qword [rbp + 0x1180]
mov rcx, rsp
mov qword [rbp + 0x1168], rcx
call fcn.1401ffc50
sub rsp, rax
mov rax, qword [rbp + 0x1180]
mov rcx, rsp
mov qword [rbp + 0x1170], rcx
call fcn.1401ffc50
sub rsp, rax
mov rax, qword [rbp + 0x1180]
mov rcx, rsp
mov qword [rbp + 0x1178], rcx
call fcn.1401ffc50
sub rsp, rax
mov rax, qword [rbp + 0x1180]
mov rcx, rsp
mov qword [rbp + 0x1188], rcx
call fcn.1401ffc50
sub rsp, rax
mov rax, qword [rbp + 0x1190]
mov rcx, rsp
mov qword [rbp + 0x1198], rcx
call fcn.1401ffc50
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x11a0], rax
sub rsp, 0x20
call fcn.14017583a
mov rdx, qword [rbp + 0x11a8]
mov rcx, qword [rbp + 0x11c8]
add rsp, 0x20
mov r8, rax
mov rax, qword [rbp + 0x11b0]
mov qword [rbp + 0x11d0], r8
add r8, 0x50
mov qword [rbp + 0x11b8], r8
mov r8, rax
add r8, 0x48
mov qword [rbp + 0x11c0], r8
movups xmm0, xmmword [rax + 0x48]
movups xmmword [rdx], xmm0
sub rsp, 0x20
call fcn.14001dec2
mov rax, qword [rbp + 0x11c8]
add rsp, 0x20
mov rcx, qword [rax]
mov rax, qword [rax + 8]
mov qword [rbp + 0x1a38], rcx
mov qword [rbp + 0x1a40], rax
sub rsp, 0x20
lea rcx, [rbp + 0x1a38]
call fcn.1400bfd30
add rsp, 0x20
mov cl, al
mov rax, qword [rbp + 0x11d0]
mov al, byte [rax + 0x50]
test al, al
setne al
mov byte [rbp + 0x11df], al
or al, cl
test al, 1
jne 0x14015078b
mov ecx, dword [0x140209948]
add ecx, dword [0x14020994c]
mov eax, ecx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x6cf0ec51
and eax, edx
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x6cf0ec51
and ecx, edx
mov edx, 0x3c5a2445
xor edx, 0xc3a5dbba
xor eax, edx
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0x927f9401
mov ecx, 0x50aaada0
xor edx, edx
div ecx
mov ecx, 0x4c01620a
xor ecx, 0x941adf7d
cmp eax, ecx
jae 0x14015d13a
mov rcx, qword [rbp + 0x11b0]
mov eax, dword [0x140209950]
mov edx, dword [0x140209954]
sub eax, 0x7bc7c98f
sub eax, edx
mov edx, 0xf55eb856
xor edx, 0x8e9971d9
add eax, edx
mov edx, eax
xor edx, 0xffffffff
and edx, 0x84d5c247
mov r8d, 0xffffffff
xor r8d, 0x84d5c247
and eax, r8d
sub eax, edx
add eax, 0x538860c8
mov edx, 0xa64ebc74
xor edx, 0x5e1c2f45
or eax, edx
mov dword [rbp + 0x100c], eax
sub rsp, 0x20
call fcn.14014dd00
mov eax, dword [rbp + 0x100c]
add rsp, 0x20
cmp eax, 0xf387d230
je 0x14015d13a
xor eax, eax
mov dword [rbp + 0x1008], eax
jmp 0x14015d120
mov cl, byte [rbp + 0x11df]
xor eax, eax
test cl, 1
mov dword [rbp + 0x1004], eax
jne 0x14015ce12
jmp 0x1401507a7
mov eax, dword [0x140209958]
mov ecx, dword [0x14020995c]
xor ecx, 0x349deda8
xor edx, edx
div ecx
mov ecx, 0x62f5f089
xor edx, edx
div ecx
mov edx, 0x7d7c0c36
xor edx, 0x8283f3c9
mov ecx, eax
xor ecx, edx
and ecx, 0x803a1f25
mov edx, 0x17892887
xor edx, 0x97b337a2
mov r8d, 0xbc05d025
xor r8d, 0x43fa2fda
xor edx, r8d
and eax, edx
sub eax, ecx
add eax, 0x6198b148
sub eax, 0x7b37bafc
sub eax, 0x6198b148
cmp eax, 0x700164bf
ja 0x14015d143
mov rcx, qword [rbp + 0x11b0]
mov eax, dword [0x140209960]
xor eax, 0x7029e52f
mov r8d, dword [0x140209964]
xor edx, edx
sub edx, eax
mov eax, 0xa738fba6
xor eax, 0xa738fba6
sub eax, r8d
add edx, eax
xor eax, eax
sub eax, edx
mov edx, eax
and edx, 0x397ea1fd
xor edx, 0xffffffff
mov r8d, 0x25b6c51d
xor r8d, 0x1cc864e0
add eax, r8d
mov r8d, 0xead4f218
xor r8d, 0xead4f219
add eax, r8d
add eax, edx
sub eax, 0x425f6c47
and eax, 0x349869e0
mov cl, byte [rcx]
mov dl, 0x2f
xor dl, 0x2f
cmp cl, dl
sete cl
mov byte [rbp + 0x1003], cl
cmp eax, 0x4a0b4c0f
ja 0x140150814
mov cl, byte [rbp + 0x1003]
xor eax, eax
test cl, 1
mov dword [rbp + 0xffc], eax
jne 0x1401508b4
jmp 0x140156292
mov rdx, qword [rbp + 0x10d0]
mov r8, qword [rbp + 0x10d8]
mov r9, qword [rbp + 0x1090]
mov r10, qword [rbp + 0x10b0]
mov r11, qword [rbp + 0x10b8]
mov rsi, qword [rbp + 0x10a0]
mov rdi, qword [rbp + 0x10a8]
mov rbx, qword [rbp + 0x1098]
mov r14, qword [rbp + 0x1010]
mov r15, qword [rbp + 0x1080]
mov r12, qword [rbp + 0x1020]
mov r13, qword [rbp + 0x1070]
mov rax, qword [rbp + 0x11b0]
mov rcx, qword [rax + 0x10]
mov rax, qword [rax + 0x18]
mov qword [rbp + 0xda8], rax
lea rax, [rbp + 0x1a28]
add rax, 8
mov qword [rbp + 0xdb0], rax
lea rax, [rbp + 0x1a18]
add rax, 8
mov qword [rbp + 0xdb8], rax
mov rax, qword [rbp + 0x1028]
add rax, 8
mov qword [rbp + 0xdc0], rax
lea rax, [rbp + 0x19c8]
add rax, 8
mov qword [rbp + 0xdc8], rax
lea rax, [rbp + 0x1940]
add rax, 8
mov qword [rbp + 0xdd0], rax
lea rax, [rbp + 0x1920]
add rax, 8
mov qword [rbp + 0xdd8], rax
lea rax, [rbp + 0x1930]
add rax, 8
mov qword [rbp + 0xde0], rax
mov rax, qword [rbp + 0x1038]
add rax, 8
mov qword [rbp + 0xde8], rax
lea rax, [rbp + 0x1900]
add rax, 8
mov qword [rbp + 0xdf0], rax
lea rax, [rbp + 0x1910]
add rax, 8
mov qword [rbp + 0xdf8], rax
lea rax, [rbp + 0x18f0]
add rax, 8
mov qword [rbp + 0xe00], rax
lea rax, [rbp + 0x19b0]
add rax, 2
mov qword [rbp + 0xe08], rax
lea rax, [rbp + 0x18d0]
add rax, 8
mov qword [rbp + 0xe10], rax
lea rax, [rbp + 0x18e0]
add rax, 8
mov qword [rbp + 0xe18], rax
lea rax, [rbp + 0x18c0]
add rax, 8
mov qword [rbp + 0xe20], rax
lea rax, [rbp + 0x19b0]
add rax, 8
mov qword [rbp + 0xe28], rax
lea rax, [rbp + 0x1978]
add rax, 0x10
mov qword [rbp + 0xe30], rax
lea rax, [rbp + 0x1978]
add rax, 0x18
mov qword [rbp + 0xe38], rax
lea rax, [rbp + 0x1978]
add rax, 8
mov qword [rbp + 0xe40], rax
lea rax, [rbp + 0x1978]
add rax, 0x20
mov qword [rbp + 0xe48], rax
lea rax, [rbp + 0x1978]
add rax, 0x28
mov qword [rbp + 0xe50], rax
lea rax, [rbp + 0x18b0]
add rax, 8
mov qword [rbp + 0xe58], rax
lea rax, [rbp + 0x18a0]
add rax, 8
mov qword [rbp + 0xe60], rax
lea rax, [rbp + 0x1890]
add rax, 8
mov qword [rbp + 0xe68], rax
lea rax, [rbp + 0x1960]
add rax, 8
mov qword [rbp + 0xe70], rax
lea rax, [rbp + 0x1830]
add rax, 8
mov qword [rbp + 0xe78], rax
mov rax, qword [rbp + 0x1050]
add rax, 8
mov qword [rbp + 0xe80], rax
mov rax, qword [rbp + 0x1048]
add rax, 8
mov qword [rbp + 0xe88], rax
lea rax, [rbp + 0x1820]
add rax, 8
mov qword [rbp + 0xe90], rax
mov rax, qword [rbp + 0x1058]
add rax, 8
mov qword [rbp + 0xe98], rax
lea rax, [rbp + 0x1840]
add rax, 8
mov qword [rbp + 0xea0], rax
lea rax, [rbp + 0x1840]
add rax, 0x10
mov qword [rbp + 0xea8], rax
lea rax, [rbp + 0x1800]
add rax, 8
mov qword [rbp + 0xeb0], rax
lea rax, [rbp + 0x17f0]
add rax, 8
mov qword [rbp + 0xeb8], rax
lea rax, [rbp + 0x1810]
add rax, 8
mov qword [rbp + 0xec0], rax
lea rax, [rbp + 0x1840]
add rax, 0x18
mov qword [rbp + 0xec8], rax
lea rax, [rbp + 0x1840]
add rax, 0x20
mov qword [rbp + 0xed0], rax
lea rax, [rbp + 0x1840]
add rax, 0x28
mov qword [rbp + 0xed8], rax
lea rax, [rbp + 0x19d8]
add rax, 0x18
mov qword [rbp + 0xee0], rax
lea rax, [rbp + 0x17c0]
add rax, 8
mov qword [rbp + 0xee8], rax
lea rax, [rbp + 0x17b0]
add rax, 8
mov qword [rbp + 0xef0], rax
lea rax, [rbp + 0x17d0]
add rax, 8
mov qword [rbp + 0xef8], rax
mov rax, qword [rbp + 0x10e0]
add r13, 8
mov qword [rbp + 0xf00], r13
mov r13, r12
add r13, 0x28
mov qword [rbp + 0xf08], r13
add r12, 8
mov qword [rbp + 0xf10], r12
lea r12, [rbp + 0x17a0]
add r12, 8
mov qword [rbp + 0xf18], r12
lea r12, [rbp + 0x1780]
add r12, 8
mov qword [rbp + 0xf20], r12
lea r12, [rbp + 0x1760]
add r12, 8
mov qword [rbp + 0xf28], r12
add r15, 8
mov qword [rbp + 0xf30], r15
add r14, 8
mov qword [rbp + 0xf38], r14
lea r14, [rbp + 0x1750]
add r14, 8
mov qword [rbp + 0xf40], r14
lea r14, [rbp + 0x1740]
add r14, 8
mov qword [rbp + 0xf48], r14
add rbx, 8
mov qword [rbp + 0xf50], rbx
add rdi, 8
mov qword [rbp + 0xf58], rdi
add rsi, 8
mov qword [rbp + 0xf60], rsi
mov rsi, r9
add rsi, 8
mov qword [rbp + 0xf68], rsi
mov rsi, r9
add rsi, 0x10
mov qword [rbp + 0xf70], rsi
add r11, 8
mov qword [rbp + 0xf78], r11
lea r11, [rbp + 0x1730]
add r11, 8
mov qword [rbp + 0xf80], r11
add r10, 8
mov qword [rbp + 0xf88], r10
mov r10, r9
add r10, 0x18
mov qword [rbp + 0xf90], r10
mov r10, r9
add r10, 0x20
mov qword [rbp + 0xf98], r10
add r9, 0x28
mov qword [rbp + 0xfa0], r9
add r8, 8
mov qword [rbp + 0xfa8], r8
lea r8, [rbp + 0x16f0]
add r8, 8
mov qword [rbp + 0xfb0], r8
add rdx, 8
mov qword [rbp + 0xfb8], rdx
lea rdx, [rbp + 0x1710]
add rdx, 8
mov qword [rbp + 0xfc0], rdx
add rax, 8
mov qword [rbp + 0xfc8], rax
lea rax, [rbp + 0x16d0]
add rax, 8
mov qword [rbp + 0xfd0], rax
lea rax, [rbp + 0x16c0]
add rax, 8
mov qword [rbp + 0xfd8], rax
lea rax, [rbp + 0x16b0]
add rax, 8
mov qword [rbp + 0xfe0], rax
xor eax, eax
test rcx, rcx
cmovg rax, rcx
mov qword [rbp + 0xfe8], rax
xor eax, eax
mov ecx, eax
xor eax, eax
mov qword [rbp + 0xff0], rcx
mov dword [rbp + 0xff8], eax
mov rax, qword [rbp + 0xff0]
mov ecx, dword [rbp + 0xff8]
mov dword [rbp + 0xd9c], ecx
mov qword [rbp + 0xda0], rax
mov eax, dword [0x140209968]
mov edx, dword [0x14020996c]
mov ecx, eax
xor ecx, 0xffffffff
mov r8d, edx
xor r8d, 0xffffffff
or ecx, r8d
and eax, edx
mov edx, 0x758cb029
xor edx, 0x8a734fd6
xor eax, edx
and ecx, eax
xor ecx, 0xffffffff
mov eax, ecx
xor eax, 0x947686ff
mov edx, 0xffffffff
xor edx, 0x947686ff
and ecx, edx
shl ecx, 1
sub ecx, eax
mov edx, 0xffffffff
xor edx, 0xaa5970aa
mov eax, ecx
xor eax, edx
and eax, ecx
and eax, 0xdeaeb249
cmp eax, 0xe81ba68c
je 0x14015d14c
mov rcx, qword [rbp + 0xda0]
mov rdx, qword [rbp + 0xfe8]
mov eax, dword [0x140209970]
mov r8d, dword [0x140209974]
mov r9d, 0x8a132709
xor r9d, 0xbdf97991
xor r8d, r9d
imul eax, r8d
imul eax, eax, 0x3d0b9dd5
mov r8d, eax
xor r8d, 0xffffffff
mov r9d, 0xdb8030c2
xor r9d, 0xd7b94a7e
and r9d, r8d
mov r10d, 0xffffffff
xor r10d, 0xc397abc
mov r8d, eax
and r8d, r10d
imul r8d, r9d
mov r9d, eax
and r9d, 0xc397abc
or eax, 0xc397abc
imul eax, r9d
add eax, r8d
mov r8d, 0x506379e7
xor r8d, 0x802ac79d
sub eax, r8d
sub eax, 0x299de1df
mov r8d, 0xbeb4a60
xor r8d, 0xdba2f41a
add eax, r8d
cmp rcx, rdx
sete cl
mov byte [rbp + 0xd9b], cl
cmp eax, 0xf8cc7805
jae 0x140150e5a
mov eax, dword [rbp + 0xd9c]
mov cl, byte [rbp + 0xd9b]
test cl, 1
mov dword [rbp + 0xffc], eax
jne 0x140156292
jmp 0x140150f2f
mov eax, dword [0x140209978]
mov ecx, dword [0x14020997c]
sub eax, 0xdbd53504
sub eax, ecx
add eax, 0xdbd53504
mov ecx, 0x8151bd8c
xor edx, edx
div ecx
mov ecx, 0xb6a61f05
xor edx, edx
div ecx
imul eax, eax, 0x7b4cb8e8
cmp eax, 0xa78faf06
ja 0x14015d155
mov rax, qword [rbp + 0xda8]
mov rdx, qword [rbp + 0xda0]
mov rcx, qword [rbp + 0x1020]
mov r8d, dword [0x140209980]
xor r8d, 0x1dfae985
mov r9d, dword [0x140209984]
xor r9d, 0xffffffff
xor r10d, r10d
sub r10d, 1
sub r9d, r10d
sub r8d, r9d
mov r9d, 0xffffffff
xor r9d, 0x60835c89
add r8d, r9d
add r8d, 1
mov r9d, r8d
add r9d, 1
xor r8d, 0xffffffff
mov r10d, 0xecdf2b23
xor r10d, 0xc435e9f8
or r8d, r10d
add r8d, r9d
mov r9d, 0xffffffff
xor r9d, 0xd4704727
mov r10d, 0x5ecf5dc0
xor r10d, 0x5ecf5dc0
mov r11d, 0xe98e579f
xor r11d, 0xe98e579e
sub r10d, r11d
sub r9d, r10d
sub r8d, r9d
mov dword [rbp + 0xd94], r8d
add rax, 8
shl rdx, 3
add rax, rdx
mov qword [rbp + 0xd88], rax
mov edx, 0x30
sub rsp, 0x20
call fcn.140143f80
mov rcx, qword [rbp + 0x1020]
mov rax, qword [rbp + 0xdb0]
add rsp, 0x20
movabs rdx, 0xc42df0334ea30247
movabs r8, 0xc42df0334ea30247
xor rdx, r8
mov qword [rbp + 0x1a28], rdx
mov qword [rax], 0
mov edx, 0x30
sub rsp, 0x20
call fcn.140143f80
add rsp, 0x20
mov qword [rbp + 0x1a28], 1
movabs rcx, 0x13c4eebdf60e8276
movabs rax, 0x13c4eebdf60e8277
xor rcx, rax
movabs rdx, 0xb89596ab67ee09ca
movabs rax, 0xb89596ab67ee09da
xor rdx, rax
movabs r8, 0xe1893405c9f01527
movabs rax, 0xe1893405c9f0152f
xor r8, rax
sub rsp, 0x20
call fcn.14001b4c0
mov rcx, qword [rbp + 0xda0]
mov rdx, qword [rbp + 0xdb0]
add rsp, 0x20
mov r8, rax
mov rax, qword [rbp + 0xda8]
mov qword [rdx], r8
mov rax, qword [rax + rcx*8 + 8]
mov rcx, qword [rax + 0x48]
mov qword [rbp + 0x1a08], rcx
mov rax, qword [rax + 0x50]
mov qword [rbp + 0x1a10], rax
lea rcx, [rbp + 0x1a18]
lea rdx, [rbp + 0x1a08]
sub rsp, 0x20
call fcn.14001dec2
mov rdx, qword [rbp + 0xdb8]
mov rcx, qword [rbp + 0xdb0]
mov eax, dword [rbp + 0xd94]
add rsp, 0x20
mov r8, qword [rbp + 0x1a18]
mov rdx, qword [rdx]
mov rcx, qword [rcx]
mov qword [rcx + 8], r8
mov qword [rcx + 0x10], rdx
cmp eax, 0x9e941e43
jbe 0x140150f6a
mov eax, dword [rbp + 0xd9c]
mov dword [rbp + 0xd84], eax
jmp 0x14015116a
mov eax, dword [rbp + 0xd84]
mov dword [rbp + 0xd7c], eax
cmp qword [rbp + 0x1a28], 0
mov dword [rbp + 0xd80], eax
jle 0x140156188
mov rcx, qword [rbp + 0x1028]
lea rdx, [rbp + 0x1a28]
sub rsp, 0x20
call fcn.14015d450
mov rcx, qword [rbp + 0x1028]
mov rax, qword [rbp + 0xdc0]
add rsp, 0x20
mov rcx, qword [rcx]
mov qword [rbp + 0xd40], rcx
mov rax, qword [rax]
mov qword [rbp + 0xd48], rax
lea rcx, [rbp + 0x19d8]
mov edx, 0x30
sub rsp, 0x20
call fcn.140143f80
add rsp, 0x20
lea rcx, [rbp + 0x19d8]
mov edx, 0x30
sub rsp, 0x20
call fcn.140143f80
mov rax, qword [rbp + 0xdc8]
add rsp, 0x20
movabs rcx, 0xa3d22dc67c954426
movabs rdx, 0xa3d22dc67c954426
xor rcx, rdx
mov qword [rbp + 0x19c8], rcx
mov qword [rax], 0
mov word [rbp + 0x19c6], 0x52
lea rcx, [rbp + 0x19c6]
sub rsp, 0x20
call fcn.140065e50
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x11b8]
mov qword [rbp + 0xd50], rcx
mov dl, byte [rax]
mov r8b, 0xc9
xor r8b, 0xc9
mov cl, 1
xor eax, eax
cmp dl, r8b
mov byte [rbp + 0xd5f], cl
mov rcx, rax
mov qword [rbp + 0xd60], rcx
mov rcx, rax
mov qword [rbp + 0xd68], rcx
mov qword [rbp + 0xd70], rax
jne 0x1401559a0
mov rdx, qword [rbp + 0xd40]
mov rax, qword [rbp + 0xd50]
add rdx, qword [rax]
lea rcx, [rbp + 0x19c8]
sub rsp, 0x20
call fcn.14001b8a0
mov rax, qword [rbp + 0xd50]
add rsp, 0x20
mov rcx, qword [rax]
mov qword [rbp + 0x1950], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x1958], rax
lea rcx, [rbp + 0x19c8]
lea rdx, [rbp + 0x1950]
sub rsp, 0x20
call fcn.140146210
mov rdx, qword [rbp + 0xd40]
mov rcx, qword [rbp + 0xd48]
mov rax, qword [rbp + 0xdd0]
add rsp, 0x20
mov qword [rbp + 0x1940], rdx
mov qword [rax], rcx
lea rcx, [rbp + 0x19c8]
lea rdx, [rbp + 0x1940]
sub rsp, 0x20
call fcn.140146210
mov rcx, qword [rbp + 0xdc8]
mov rax, qword [rbp + 0xdd8]
add rsp, 0x20
mov rdx, qword [rbp + 0x19c8]
mov qword [rbp + 0xd20], rdx
mov rcx, qword [rcx]
mov qword [rbp + 0xd28], rcx
mov qword [rbp + 0x1920], rdx
mov qword [rax], rcx
lea rcx, [rbp + 0x1930]
lea rdx, [rbp + 0x1920]
sub rsp, 0x20
call fcn.14015d680
mov rcx, qword [rbp + 0xde0]
mov r8, qword [rbp + 0x11b8]
mov rax, qword [rbp + 0xd28]
add rsp, 0x20
mov rdx, qword [rbp + 0x1930]
mov qword [rbp + 0xd30], rdx
mov rcx, qword [rcx]
mov qword [rbp + 0xd38], rcx
mov dl, 1
xor ecx, ecx
cmp byte [r8], 0
mov byte [rbp + 0xd5f], dl
mov rdx, rcx
mov qword [rbp + 0xd60], rdx
mov qword [rbp + 0xd68], rcx
mov qword [rbp + 0xd70], rax
jne 0x1401559a0
mov rdx, qword [rbp + 0xd38]
mov rcx, qword [rbp + 0x1038]
mov rax, qword [rbp + 0xde8]
mov r8, qword [rbp + 0xd30]
mov qword [rcx], r8
mov qword [rax], rdx
sub rsp, 0x20
call fcn.14015d830
mov r9, qword [rbp + 0x11b8]
mov rcx, qword [rbp + 0xd38]
add rsp, 0x20
mov rdx, rax
mov rax, qword [rbp + 0xd28]
mov qword [rbp + 0xd18], rdx
mov r8b, 1
xor edx, edx
cmp byte [r9], 0
mov byte [rbp + 0xd5f], r8b
mov qword [rbp + 0xd60], rdx
mov qword [rbp + 0xd68], rcx
mov qword [rbp + 0xd70], rax
jne 0x1401559a0
mov rcx, qword [rbp + 0xd18]
lea rdx, [rbp + 0x19a8]
sub rsp, 0x20
call fcn.14015da72
add rsp, 0x20
mov cl, al
xor eax, eax
test cl, 1
mov qword [rbp + 0xd10], rax
jne 0x14015594a
mov rcx, qword [rbp + 0xd28]
mov rax, qword [rbp + 0xdf0]
mov rdx, qword [rbp + 0xd20]
mov r8, qword [rbp + 0x19a8]
mov word [rbp + 0x19b0], r8w
mov qword [rbp + 0x1900], rdx
mov qword [rax], rcx
lea rcx, [rbp + 0x1910]
lea rdx, [rbp + 0x1900]
sub rsp, 0x20
call fcn.14015d680
mov rdx, qword [rbp + 0xdf8]
mov r9, qword [rbp + 0x11b8]
mov rcx, qword [rbp + 0xd38]
mov rax, qword [rbp + 0xd28]
add rsp, 0x20
mov r8, qword [rbp + 0x1910]
mov qword [rbp + 0xd00], r8
mov rdx, qword [rdx]
mov qword [rbp + 0xd08], rdx
mov r8b, 1
xor edx, edx
cmp byte [r9], 0
mov byte [rbp + 0xd5f], r8b
mov qword [rbp + 0xd60], rdx
mov qword [rbp + 0xd68], rcx
mov qword [rbp + 0xd70], rax
jne 0x1401559a0
mov rcx, qword [rbp + 0xd08]
mov rax, qword [rbp + 0xe00]
mov rdx, qword [rbp + 0xd00]
mov qword [rbp + 0x18f0], rdx
mov qword [rax], rcx
lea rcx, [rbp + 0x18f0]
sub rsp, 0x20
call fcn.14015d830
mov r8, qword [rbp + 0x11b8]
mov rdx, qword [rbp + 0xd08]
mov rcx, qword [rbp + 0xd38]
add rsp, 0x20
mov r9, rax
mov rax, qword [rbp + 0xd28]
mov qword [rbp + 0xcf8], r9
mov r9b, byte [r8]
mov r10b, 0x8c
xor r10b, 0x8c
mov r8b, 1
cmp r9b, r10b
mov byte [rbp + 0xd5f], r8b
mov qword [rbp + 0xd60], rdx
mov qword [rbp + 0xd68], rcx
mov qword [rbp + 0xd70], rax
jne 0x1401559a0
mov rdx, qword [rbp + 0x1030]
mov rcx, qword [rbp + 0xcf8]
sub rsp, 0x20
call fcn.14015da72
add rsp, 0x20
mov cl, al
mov rax, qword [rbp + 0xd08]
test cl, 1
mov qword [rbp + 0xd10], rax
jne 0x14015594a
mov rax, qword [rbp + 0xd08]
mov rcx, qword [rbp + 0x1030]
mov r8, qword [rcx]
xor ecx, ecx
sub rcx, 2
mov rdx, r8
sub rdx, rcx
mov qword [rbp + 0xcf0], rdx
xor r8, 0xffffffffffffffff
movabs r9, 0xd666479e42cb2cec
movabs rcx, 0x2999b861bd34d313
xor r9, rcx
mov rcx, rdx
xor rcx, r9
mov r9, r8
xor r9, 0xffffffffffffffff
or rcx, r9
and rdx, r8
xor rdx, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
or rcx, rdx
cmp rcx, 0
mov qword [rbp + 0xd10], rax
jl 0x14015594a
mov rcx, qword [rbp + 0xd28]
mov rax, qword [rbp + 0xe10]
mov rdx, qword [rbp + 0xd20]
mov r8, qword [rbp + 0xe08]
mov r9, qword [rbp + 0xcf0]
mov word [r8], r9w
mov qword [rbp + 0x18d0], rdx
mov qword [rax], rcx
lea rcx, [rbp + 0x18e0]
lea rdx, [rbp + 0x18d0]
sub rsp, 0x20
call fcn.14015d680
mov r8, qword [rbp + 0xe18]
mov r9, qword [rbp + 0x11b8]
mov rdx, qword [rbp + 0xd08]
mov rcx, qword [rbp + 0xd38]
mov rax, qword [rbp + 0xd28]
add rsp, 0x20
mov r10, qword [rbp + 0x18e0]
mov qword [rbp + 0xce0], r10
mov r8, qword [r8]
mov qword [rbp + 0xce8], r8
mov r8b, 1
cmp byte [r9], 0
mov byte [rbp + 0xd5f], r8b
mov qword [rbp + 0xd60], rdx
mov qword [rbp + 0xd68], rcx
mov qword [rbp + 0xd70], rax
jne 0x1401559a0
mov eax, dword [0x140209988]
imul eax, dword [0x14020998c]
mov ecx, 0x37ad1367
xor edx, edx
div ecx
and eax, 0x62a1f652
mov ecx, 0x3391011b
xor edx, edx
div ecx
cmp eax, 0x2e45f40
ja 0x14015d15e
mov rax, qword [rbp + 0xe20]
mov rcx, qword [rbp + 0xce8]
mov rdx, qword [rbp + 0xce0]
mov r9d, dword [0x140209990]
mov r10d, dword [0x140209994]
mov r8d, 0x268d189
xor r8d, 0x97d9b13b
xor r10d, r8d
mov r11d, r9d
xor r11d, 0xffffffff
mov r8d, r10d
and r8d, r11d
xor r10d, 0xffffffff
and r9d, r10d
or r8d, r9d
and r8d, 0x421d5d1a
mov r9d, 0x7325f12a
xor r9d, 0x45a71dbf
or r8d, r9d
add r8d, 0x4cfbbab0
mov r9d, 0x2258f516
xor r9d, 0xc31acb01
add r8d, r9d
sub r8d, 0x4cfbbab0
mov dword [rbp + 0xccc], r8d
mov r8d, 0x231d937f
xor r8d, 0x78849515
mov dword [rbp + 0xcc8], r8d
mov qword [rbp + 0x18c0], rdx
mov qword [rax], rcx
lea rcx, [rbp + 0x18c0]
sub rsp, 0x20
call fcn.14015db46
mov rdx, qword [rbp + 0x11b8]
mov ecx, dword [rbp + 0xcc8]
add rsp, 0x20
mov r8, rax
mov eax, dword [rbp + 0xccc]
mov qword [rbp + 0xcd0], r8
cmp byte [rdx], 0
sete dl
mov byte [rbp + 0xcdf], dl
cmp eax, ecx
jae 0x140151724
mov eax, dword [rbp + 0xd7c]
mov dl, byte [rbp + 0xcdf]
mov cl, 1
test dl, 1
mov byte [rbp + 0xcc3], cl
mov dword [rbp + 0xcc4], eax
jne 0x140151835
jmp 0x1401559f4
mov rax, qword [rbp + 0xe28]
mov rcx, qword [rbp + 0xcd0]
mov qword [rax], rcx
movabs rdx, 0x39e9a4bddebb59d
movabs rax, 0x39e9a4bddebb5ad
xor rdx, rax
lea rcx, [rbp + 0x1978]
sub rsp, 0x20
call fcn.140143f80
mov r9, qword [rbp + 0xe30]
mov r8, qword [rbp + 0xe38]
mov rdx, qword [rbp + 0xe40]
mov rcx, qword [rbp + 0xe48]
mov rax, qword [rbp + 0xe50]
add rsp, 0x20
mov dword [rbp + 0x1978], 0x30
lea r10, [rbp + 0x19b0]
mov qword [r9], r10
mov r9d, 0xde871eed
xor r9d, 0xde871ead
mov dword [r8], r9d
mov qword [rdx], 0
mov qword [rcx], 0
mov qword [rax], 0
mov qword [rbp + 0x1970], 0
lea rcx, [rbp + 0x1960]
mov edx, 0x10
sub rsp, 0x20
call fcn.140143f80
add rsp, 0x20
lea rcx, [rbp + 0x1970]
mov edx, 0x80000000
lea r8, [rbp + 0x1978]
lea r9, [rbp + 0x1960]
mov rax, qword [0x140216f80]
sub rsp, 0x30
mov dword [rsp + 0x20], 7
mov dword [rsp + 0x28], 1
call qword [rax]
mov rdx, qword [rbp + 0x11b8]
add rsp, 0x30
mov ecx, eax
mov eax, dword [rbp + 0xd7c]
mov dword [rbp + 0xcbc], ecx
mov cl, 1
cmp byte [rdx], 0
mov byte [rbp + 0xcc3], cl
mov dword [rbp + 0xcc4], eax
jne 0x1401559f4
mov ecx, dword [rbp + 0xcbc]
mov rax, qword [rbp + 0xe58]
mov rdx, qword [rbp + 0xd48]
mov r8, qword [rbp + 0xd40]
mov qword [rbp + 0x18b0], r8
mov qword [rax], rdx
lea rdx, [rbp + 0x18b0]
sub rsp, 0x20
call fcn.1400bbea5
mov rdx, qword [rbp + 0x11b8]
mov eax, dword [rbp + 0xd7c]
add rsp, 0x20
mov cl, 1
cmp byte [rdx], 0
mov byte [rbp + 0xcc3], cl
mov dword [rbp + 0xcc4], eax
jne 0x1401559f4
mov ecx, dword [rbp + 0xcbc]
mov rax, qword [rbp + 0xe60]
mov rdx, qword [rbp + 0xd48]
mov r8, qword [rbp + 0xd40]
mov qword [rbp + 0x18a0], r8
mov qword [rax], rdx
lea rdx, [rbp + 0x18a0]
sub rsp, 0x20
call fcn.1400bffa1
mov rdx, qword [rbp + 0x11b8]
mov eax, dword [rbp + 0xd7c]
add rsp, 0x20
mov cl, 1
cmp byte [rdx], 0
mov byte [rbp + 0xcc3], cl
mov dword [rbp + 0xcc4], eax
jne 0x1401559f4
mov edx, dword [rbp + 0xcbc]
mov rax, qword [rbp + 0xe68]
mov r8, qword [rbp + 0xd48]
mov r9, qword [rbp + 0xd40]
mov rcx, qword [rbp + 0x1970]
mov qword [rbp + 0x1890], r9
mov qword [rax], r8
lea r8, [rbp + 0x1890]
sub rsp, 0x20
call fcn.1400c004f
mov rdx, qword [rbp + 0x11b8]
mov eax, dword [rbp + 0xd7c]
add rsp, 0x20
mov cl, 1
cmp byte [rdx], 0
mov byte [rbp + 0xcc3], cl
mov dword [rbp + 0xcc4], eax
jne 0x1401559f4
mov rax, qword [rbp + 0x1970]
movabs rcx, 0x47e6d7c93c722c8c
movabs rdx, 0x47e6d7c93c722c8d
xor rcx, rdx
cmp rax, rcx
jge 0x140151af0
mov rdx, qword [rbp + 0x1040]
mov ecx, dword [rbp + 0xcbc]
mov rax, qword [0x1402165e0]
mov qword [rdx], rax
mov rax, qword [0x1402165e8]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.1400a57ca
mov rdx, qword [rbp + 0x11b8]
mov eax, dword [rbp + 0xd7c]
add rsp, 0x20
mov cl, 1
cmp byte [rdx], 0
mov byte [rbp + 0xcc3], cl
mov dword [rbp + 0xcc4], eax
jne 0x1401559f4
mov ecx, dword [rbp + 0xcbc]
mov rax, qword [0x1402165e0]
mov qword [rbp + 0x1880], rax
mov rax, qword [0x1402165e8]
mov qword [rbp + 0x1888], rax
lea rdx, [rbp + 0x1880]
sub rsp, 0x20
call fcn.1400a57ca
mov rcx, qword [rbp + 0x11b8]
mov eax, dword [rbp + 0xd7c]
add rsp, 0x20
cmp byte [rcx], 0
mov dword [rbp + 0xcb8], eax
jne case.0x140155766.14
mov ecx, 0x1d4c0
sub rsp, 0x20
call fcn.14000b997
add rsp, 0x20
mov rdx, rax
mov eax, dword [rbp + 0xd7c]
mov r8b, 1
mov ecx, 0x1d4c0
mov byte [rbp + 0xc9f], r8b
mov qword [rbp + 0xca0], rdx
mov qword [rbp + 0xca8], rcx
mov dword [rbp + 0xcb4], eax
mov r8b, byte [rbp + 0xc9f]
mov rdx, qword [rbp + 0xca0]
mov rcx, qword [rbp + 0xca8]
mov eax, dword [rbp + 0xcb4]
mov byte [rbp + 0xc87], r8b
mov qword [rbp + 0xc88], rdx
mov qword [rbp + 0xc90], rcx
mov dword [rbp + 0xc98], eax
mov r10b, byte [rbp + 0xc87]
mov rbx, qword [rbp + 0xc88]
mov rax, qword [rbp + 0xc90]
mov ecx, dword [rbp + 0xc98]
mov dword [rbp + 0xc64], ecx
mov qword [rbp + 0xc58], rax
mov qword [rbp + 0xc68], rbx
mov rax, qword [0x140216fa0]
mov rax, qword [rax]
mov rcx, qword [rbp + 0x1970]
movabs rdx, 0x60902446a6001d5d
movabs r8, 0x60902446a6001d5d
xor rdx, r8
mov edi, 0x86c823e4
xor edi, 0x86c9f724
mov esi, 0xb7131c83
xor esi, 0xb7131c80
mov r11b, 0x94
xor r11b, 0x94
xor r8d, r8d
mov r9d, r8d
lea r14, [rbp + 0x1960]
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 rdx, qword [rbp + 0x11b8]
mov ecx, dword [rbp + 0xc64]
add rsp, 0x60
mov r8d, eax
mov rax, qword [rbp + 0xc68]
mov dword [rbp + 0xc70], r8d
cmp byte [rdx], 0
mov dword [rbp + 0xc74], ecx
mov qword [rbp + 0xc78], rax
jne case.0x140155766.17
mov eax, dword [rbp + 0xc70]
mov ecx, 0xaed68119
xor ecx, 0xaed6801a
cmp eax, ecx
mov dword [rbp + 0xc54], eax
jne 0x140151fd2
mov r8d, dword [0x140209998]
mov eax, dword [0x14020999c]
xor eax, 0xffffffff
add r8d, eax
add r8d, 1
mov eax, r8d
xor eax, 0xffffffff
mov ecx, 0x26ac5f86
xor ecx, 0x90bc8b5c
and ecx, eax
mov edx, 0xffffffff
xor edx, 0xb610d4da
and r8d, edx
mov eax, 0xffffffff
xor eax, 0xffbb90ac
and eax, 0xb610d4da
and edx, 0xffbb90ac
or ecx, r8d
or eax, edx
xor ecx, eax
mov eax, ecx
and eax, 0xd621b18f
xor eax, 0xffffffff
and ecx, 0xd621b18f
xor ecx, 0xffffffff
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0xeab7315
xor ecx, 0x407f68e5
xor edx, edx
div ecx
cmp eax, 0x389fa355
je 0x14015d167
mov ecx, dword [0x1402099a0]
mov eax, dword [0x1402099a4]
xor eax, 0x47ba1e03
or ecx, eax
add ecx, 0x7d2323d6
mov edx, 0x9bea2b76
xor edx, 0x6415d489
mov eax, ecx
xor eax, edx
mov edx, ecx
xor edx, 0xffffffff
or eax, edx
and eax, 0xb282df60
mov edx, 0x125a5770
xor edx, 0xeda5a88f
xor eax, edx
mov edx, 0x32a9b510
xor edx, 0x802b6a70
mov r8d, 0xacf933d5
xor r8d, 0x1e7becb5
and edx, r8d
xor edx, 0xffffffff
xor ecx, 0xffffffff
mov r8d, 0x91b2b027
xor r8d, 0x6e4d4fd8
xor edx, r8d
or ecx, edx
and eax, ecx
xor eax, 0xffffffff
mov ecx, eax
xor ecx, 0x1d7ba49d
mov edx, 0x14277c6e
xor edx, 0xebd88391
xor ecx, edx
or eax, 0x1d7ba49d
and eax, ecx
mov dword [rbp + 0xc48], eax
mov eax, 0xaf5ba1b7
xor eax, 0x33cb5e77
mov dword [rbp + 0xc44], eax
lea rcx, [rbp + 0x1878]
mov edx, 8
sub rsp, 0x20
call fcn.140143f80
add rsp, 0x20
mov qword [rbp + 0x1878], 0xffffffffffb3b4c0
mov rax, qword [0x140216fd0]
mov rax, qword [rax]
mov rcx, qword [rbp + 0x1970]
mov edx, 1
lea r8, [rbp + 0x1878]
sub rsp, 0x20
call rax
mov rdx, qword [rbp + 0x11b8]
mov ecx, dword [rbp + 0xc44]
add rsp, 0x20
mov r8d, eax
mov eax, dword [rbp + 0xc48]
mov dword [rbp + 0xc4c], r8d
cmp byte [rdx], 0
sete dl
mov byte [rbp + 0xc53], dl
cmp eax, ecx
ja 0x14015d167
mov al, byte [rbp + 0xc53]
test al, 1
jne 0x140151e7f
jmp 0x140151fb3
mov eax, dword [rbp + 0xc4c]
test eax, eax
je 0x140151fa2
jmp 0x140151e92
mov eax, dword [rbp + 0xc4c]
sub eax, 0x102
jne 0x140151f25
jmp 0x140151ea8
mov ecx, 0x40
mov edx, 8
sub rsp, 0x20
call fcn.140014320
add rsp, 0x20
mov rcx, rax
mov rax, qword [str._O_n_]
mov qword [rcx], rax
lea rax, [0x140216599]
mov qword [rcx + 0x10], rax
mov rax, qword [0x140216608]
mov qword [rcx + 0x18], rax
mov rax, qword [str.Hf__]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
lea rdx, [0x140216599]
lea r8, [0x1402165aa]
lea r9, [0x1402165b2]
sub rsp, 0x30
mov qword [rsp + 0x20], 0xffffffffcfb2d4c8
call fcn.1400139e0
add rsp, 0x30
jmp 0x140151fb3
mov ecx, 0x40
mov edx, 8
sub rsp, 0x20
call fcn.140014320
add rsp, 0x20
mov rcx, rax
mov rax, qword [str._O_n_]
mov qword [rcx], rax
lea rax, [0x140216599]
mov qword [rcx + 0x10], rax
mov rax, qword [0x140216608]
mov qword [rcx + 0x18], rax
mov rax, qword [str.Hf__]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
lea rdx, [0x140216599]
lea r8, [0x1402165aa]
lea r9, [0x1402165b2]
sub rsp, 0x30
mov qword [rsp + 0x20], 0xffffffffac4e997c
call fcn.1400139e0
add rsp, 0x30
jmp 0x140151fb3
mov eax, dword [rbp + 0x1960]
mov dword [rbp + 0xc54], eax
jmp 0x140151fd2
mov rax, qword [rbp + 0xc68]
mov ecx, dword [rbp + 0xc64]
mov dword [rbp + 0xc74], ecx
mov qword [rbp + 0xc78], rax
jmp case.0x140155766.17
mov rdx, qword [rbp + 0xe70]
mov ecx, dword [rbp + 0xc54]
mov dword [rbp + 0xc3c], ecx
mov eax, ecx
sub eax, 0x80000005
sete al
test ecx, ecx
sete cl
mov byte [rbp + 0xc43], cl
mov rdx, qword [rdx]
test rdx, rdx
sete dl
and cl, dl
or al, cl
test al, 1
jne 0x140152014
jmp 0x140152482
mov rcx, qword [rbp + 0xc58]
lea rdx, [rbp + 0x1870]
sub rsp, 0x20
call fcn.14015da72
add rsp, 0x20
test al, 1
jne 0x14015203c
jmp 0x140152075
sub rsp, 0x20
call fcn.140007f57
mov rdx, qword [rbp + 0xc68]
mov rcx, qword [rbp + 0xc58]
add rsp, 0x20
mov eax, 0x11
mov qword [rbp + 0xc28], rdx
mov qword [rbp + 0xc30], rcx
mov dword [rbp + 0xc38], eax
jmp 0x140152280
mov rax, qword [rbp + 0x1870]
mov qword [rbp + 0xc20], rax
movabs rcx, 0x77ee5cabba18607d
movabs rdx, 0x77ee5cabba08607d
xor rcx, rdx
cmp rax, rcx
jl 0x1401521b9
mov eax, dword [0x1402099a8]
xor eax, dword [0x1402099ac]
sub eax, 0xf81d7157
mov ecx, eax
add ecx, 1
mov edx, 0xbd191193
xor edx, 0x42e6ee6c
xor eax, edx
or eax, 0x9b6f6acd
add eax, ecx
or eax, 0x7fef3346
cmp eax, 0xa65ad9e9
jbe 0x14015d170
mov eax, dword [0x1402099b0]
xor eax, 0xc8077ad7
or eax, dword [0x1402099b4]
imul eax, eax, 0x7a7b82a0
sub eax, 0x3df97e5d
xor eax, 0x3bd5df0b
mov dword [rbp + 0xc1c], eax
mov ecx, 0x40
mov edx, 8
sub rsp, 0x20
call fcn.140014320
add rsp, 0x20
mov rcx, rax
mov rax, qword [0x140216ed8]
mov qword [rcx], rax
lea rax, [0x140216538]
mov qword [rcx + 0x10], rax
mov rax, qword [0x140216608]
mov qword [rcx + 0x18], rax
mov rax, qword [str.Hf__]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
lea rdx, [0x140216538]
lea r8, [0x1402165aa]
lea r9, [0x1402165b2]
sub rsp, 0x30
mov qword [rsp + 0x20], 0xffffffffaa4f7e0b
call fcn.1400139e0
mov eax, dword [rbp + 0xc1c]
add rsp, 0x30
cmp eax, 0xece54070
je 0x1401520dd
mov rcx, qword [rbp + 0xc58]
mov rdx, qword [rbp + 0xc68]
mov eax, 0x11
mov qword [rbp + 0xc28], rdx
mov qword [rbp + 0xc30], rcx
mov dword [rbp + 0xc38], eax
jmp 0x140152280
mov rcx, qword [rbp + 0xc68]
sub rsp, 0x20
call fcn.14001f7f0
mov rax, qword [rbp + 0xc20]
add rsp, 0x20
cmp rax, 0
jge 0x140152249
mov rcx, qword [rbp + 0xc20]
movabs rdx, 0x6503672150147ff9
movabs rax, 0x6503672150147ff9
xor rdx, rax
movabs r8, 0x888b98288e8de7d6
movabs rax, 0xf77467d771721829
xor r8, rax
sub rsp, 0x20
call fcn.14000dc65
mov rcx, qword [rbp + 0xc20]
add rsp, 0x20
xor eax, eax
mov edx, eax
mov eax, 0x11
mov qword [rbp + 0xc28], rdx
mov qword [rbp + 0xc30], rcx
mov dword [rbp + 0xc38], eax
jmp 0x140152280
mov rcx, qword [rbp + 0xc20]
sub rsp, 0x20
call fcn.14000b997
mov rcx, qword [rbp + 0xc20]
add rsp, 0x20
mov rdx, rax
mov eax, 0x1a
mov qword [rbp + 0xc28], rdx
mov qword [rbp + 0xc30], rcx
mov dword [rbp + 0xc38], eax
mov rax, qword [rbp + 0xc28]
mov rcx, qword [rbp + 0xc30]
mov edx, dword [rbp + 0xc38]
mov dword [rbp + 0xc04], edx
mov qword [rbp + 0xc08], rcx
mov qword [rbp + 0xc10], rax
mov ecx, dword [0x1402099b8]
mov edx, dword [0x1402099bc]
mov r8d, ecx
xor r8d, edx
xor r8d, 0xffffffff
mov eax, edx
and eax, r8d
shl eax, 1
sub eax, edx
sub ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x1fead3a8
or eax, edx
mov edx, 0xeb5a699a
xor edx, 0x14a59665
xor ecx, edx
mov edx, 0xffffffff
xor edx, 0x1fead3a8
or ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0x6fbd0254
mov r8d, 0x33a3d361
xor r8d, 0x5c1ed135
mov ecx, 0x7e4366d9
xor ecx, 0x81bc9926
xor r8d, ecx
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x6fbd0254
mov r8d, 0x2b973dd3
xor r8d, 0x442a3f87
or eax, r8d
imul eax, edx
add eax, ecx
mov edx, 0x4dab1465
xor edx, 0xb254eb9a
mov ecx, eax
xor ecx, edx
mov edx, 0xb826357a
xor edx, 0xd62b495d
and edx, ecx
mov r8d, 0x6b82ae3
xor r8d, 0x68b556c4
mov ecx, 0xf0c9cd5c
xor ecx, 0xf3632a3
xor r8d, ecx
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov r8d, 0x5555ef6e
xor r8d, 0x3b589349
mov edx, eax
and edx, r8d
or eax, 0x6e0d7c27
imul eax, edx
add eax, ecx
cmp eax, 0x77d5d9
jb 0x14015d179
mov r11d, dword [0x1402099c0]
xor r11d, 0x55ae9d04
add r11d, dword [0x1402099c4]
mov ecx, r11d
xor ecx, 0xffffffff
mov r8d, 0xb46dc5a
xor r8d, 0xa7116bb9
mov eax, 0xcff67f2c
xor eax, 0x300980d3
xor r8d, eax
mov edx, 0xffffffff
xor edx, 0x449ad3bf
mov eax, ecx
and eax, 0x449ad3bf
and r11d, edx
mov r9d, r8d
and r9d, 0x449ad3bf
mov r10d, 0xc5e4f7e3
xor r10d, 0x69b34000
and r10d, edx
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, r8d
xor ecx, 0xffffffff
or edx, 0x449ad3bf
and ecx, edx
or eax, ecx
mov ecx, 0x45d96b3e
xor edx, edx
div ecx
mov ecx, 0xeeb7242a
xor edx, edx
div ecx
cmp eax, 0xd03b45fa
jae 0x14015d179
mov eax, dword [rbp + 0xc64]
mov ecx, dword [rbp + 0xc04]
mov rdx, qword [rbp + 0xc08]
mov r8, qword [rbp + 0xc10]
mov qword [rbp + 0xbe8], r8
mov qword [rbp + 0xbf0], rdx
mov dword [rbp + 0xbfc], ecx
mov dword [rbp + 0xc00], eax
jmp 0x1401556e5
mov ecx, dword [0x1402099c8]
mov eax, dword [0x1402099cc]
mov edx, 0x3bac3185
xor edx, 0x13cbb186
xor eax, edx
or ecx, eax
mov eax, ecx
or eax, eax
mov edx, 0xf6edc4a4
xor edx, 0x9123b5b
xor eax, edx
mov edx, 0xffffffff
xor edx, 0x473e2080
mov r8d, 0xffffffff
xor r8d, 0x473e2080
and edx, r8d
mov r8d, 0xa2b01d20
xor r8d, 0x5d4fe2df
xor eax, r8d
xor edx, 0xffffffff
and eax, edx
mov edx, 0x33443e4b
xor edx, 0x747a1ecb
or ecx, edx
mov edx, 0x9e176129
xor edx, 0x61e89ed6
xor ecx, edx
or eax, ecx
xor eax, 0xffffffff
add eax, 0x73b0a923
xor eax, 0x1ddbbb59
mov ecx, 0xf2d4ca64
xor ecx, 0xe674b92a
cmp eax, ecx
jb 0x14015d182
mov eax, dword [0x1402099d0]
or eax, dword [0x1402099d4]
mov ecx, 0x10482e5a
xor ecx, 0x7c3bb619
add eax, ecx
mov ecx, 0x41e49dc8
xor ecx, 0xbe1b6237
mov edx, eax
xor edx, ecx
and edx, 0x53103b8
mov r8d, 0xffffffff
xor r8d, 0x53103b8
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov r8d, 0xbc10dc62
xor r8d, 0xb921dfda
mov edx, eax
and edx, r8d
mov r8d, 0x8228cf18
xor r8d, 0x8719cca0
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, 0x8a222a14
xor ecx, 0xa856f1f7
and eax, ecx
cmp eax, 0x31f2fd83
je 0x14015251a
mov eax, dword [rbp + 0xc64]
mov rcx, qword [rbp + 0xc68]
mov dl, byte [rbp + 0xc43]
test dl, 1
mov qword [rbp + 0xbd8], rcx
mov dword [rbp + 0xbe4], eax
jne 0x1401525ca
jmp 0x1401555fb
mov rcx, qword [rbp + 0xbd8]
mov eax, dword [rbp + 0xbe4]
mov dword [rbp + 0xbbc], eax
mov qword [rbp + 0xbc0], rcx
mov rdx, rcx
add rdx, 0x3c
mov qword [rbp + 0xbc8], rdx
cmp dword [rcx + 0x3c], 0
mov dword [rbp + 0xbd4], eax
je 0x1401554b5
mov eax, dword [0x1402099d8]
xor edx, edx
div dword [0x1402099dc]
mov r8d, 0x5b6c26c2
xor r8d, 0x63745cb3
mov ecx, 0xab94e1ef
xor ecx, 0x546b1e10
xor r8d, ecx
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
mov r8d, 0x620f5b15
xor r8d, 0x9df0a4ea
xor ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x38187a71
mov r8d, 0x5c87a98b
xor r8d, 0x649fd3fa
or eax, r8d
imul eax, edx
add eax, ecx
xor ecx, ecx
sub ecx, 0xbe52ec85
sub eax, ecx
mov ecx, 0x62f2c48f
xor ecx, 0x5cac5965
and eax, ecx
cmp eax, 0x3d06ef64
jb 0x14015d18b
mov rax, qword [rbp + 0xbc0]
mov ecx, dword [0x1402099e0]
mov r9d, dword [0x1402099e4]
mov edx, ecx
not edx
mov r8d, r9d
and r8d, edx
mov r10d, r9d
not r10d
mov edx, ecx
and edx, r10d
imul edx, r8d
mov r8d, ecx
and r8d, r9d
or ecx, r9d
imul ecx, r8d
add ecx, edx
mov r8d, ecx
and r8d, 0xd6fa6469
or ecx, 0xd6fa6469
mov edx, ecx
mov ecx, r8d
lea ecx, [rcx + rdx - 0x64aab1d3]
xor ecx, 0x3008c4e5
mov dword [rbp + 0xbb4], ecx
mov rcx, rax
add rcx, 0x38
mov qword [rbp + 0xba8], rcx
mov ecx, dword [rax + 0x38]
and ecx, 0x10
sub rsp, 0x20
call fcn.14009e8f0
mov rcx, qword [rbp + 0x11b8]
add rsp, 0x20
mov dl, al
mov eax, dword [rbp + 0xbb4]
mov cl, byte [rcx]
test cl, cl
sete cl
mov byte [rbp + 0xbba], cl
and cl, dl
mov byte [rbp + 0xbbb], cl
cmp eax, 0xb4dbbb61
ja 0x14015d18b
mov al, byte [rbp + 0xbbb]
test al, 1
jne 0x14015274e
jmp 0x140153fa1
mov rax, qword [rbp + 0xbc8]
mov eax, dword [rax]
mov dword [rbp + 0xba4], eax
sub eax, 2
je 0x140152afa
jmp 0x14015276b
mov eax, dword [rbp + 0xba4]
sub eax, 4
jne 0x140152c5e
jmp 0x14015277f
mov rax, qword [rbp + 0xbc0]
mov rcx, rax
add rcx, 0x5e
mov qword [rbp + 0xb98], rcx
mov ax, word [rax + 0x5e]
mov word [rbp + 0xba2], ax
cmp ax, 0xff
jbe 0x1401527dd
mov ax, word [rbp + 0xba2]
movzx eax, ax
mov ecx, eax
xor eax, eax
mov edx, eax
mov r8d, 0xff
sub rsp, 0x20
call fcn.14000dc65
mov eax, dword [rbp + 0xbbc]
add rsp, 0x20
mov dword [rbp + 0xb94], eax
jmp 0x140153f3d
mov ecx, dword [0x1402099e8]
mov edx, dword [0x1402099ec]
mov eax, ecx
or eax, edx
mov r8d, 0x689caac2
xor r8d, 0x9763553d
xor eax, r8d
or ecx, edx
xor ecx, 0xffffffff
or eax, ecx
xor eax, 0xffffffff
sub eax, 0x9f9c0920
add eax, 0xeccf1315
add eax, 0x9f9c0920
mov ecx, 0xd38f40cb
xor ecx, 0x53078e1c
xor edx, edx
div ecx
sub eax, 0x72c6c723
cmp eax, 0x1eb24eee
jbe 0x14015d194
mov cx, word [rbp + 0xba2]
mov edx, dword [0x1402099f0]
mov eax, dword [0x1402099f4]
mov r8d, 0x72df66b6
xor r8d, 0xe2b6e105
xor eax, r8d
and edx, eax
add edx, 0xd091fd00
mov r8d, 0xb95029e
xor r8d, 0xa78f8a6d
mov eax, edx
and eax, r8d
mov r8d, 0xd87e32a
xor r8d, 0xa19d6bd9
or edx, r8d
add eax, edx
mov edx, 0x9077052f
xor edx, 0x6a563d1c
and eax, edx
cmp cx, 0x2e
sete cl
mov byte [rbp + 0xb93], cl
cmp eax, 0x84a1f640
jbe 0x14015d194
mov al, byte [rbp + 0xb93]
test al, 1
jne 0x1401528bc
jmp 0x140152cc3
mov eax, dword [0x1402099f8]
xor eax, 0x16497797
sub eax, dword [0x1402099fc]
and eax, eax
mov ecx, 0x9c4bb54e
xor ecx, 0x63b44ab1
xor eax, ecx
mov ecx, 0xd96efbf
and ecx, 0xd96efbf
xor ecx, 0xffffffff
mov edx, 0x1a844d63
xor edx, 0xe57bb29c
xor eax, edx
xor ecx, 0xffffffff
or eax, ecx
sub eax, 0xfa5eb35a
xor ecx, ecx
sub ecx, 0x6e1ac0ff
add eax, ecx
cmp eax, 0xce0ff07e
jae 0x14015d19d
mov rcx, qword [rbp + 0xb98]
mov eax, dword [0x140209a00]
sub eax, dword [0x140209a04]
mov edx, 0xffffffff
xor edx, 0xa1b4f1ce
add eax, edx
add eax, 1
add eax, 0x986ffd0c
add eax, 0xec2c0452
mov edx, 0xd7462a23
xor edx, 0x4f29d72f
sub eax, edx
sub eax, 0xb368a38b
movabs rdx, 0xd604b228407b9d9a
movabs r8, 0xd604b228407b9d98
xor rdx, r8
add rcx, rdx
mov cx, word [rcx]
mov word [rbp + 0xb90], cx
cmp cx, 0xff
seta cl
mov byte [rbp + 0xb92], cl
cmp eax, 0xc174778d
jae 0x14015d19d
mov al, byte [rbp + 0xb92]
test al, 1
jne 0x1401529a5
jmp 0x1401529d9
mov ax, word [rbp + 0xb90]
movzx eax, ax
mov ecx, eax
xor eax, eax
mov edx, eax
mov r8d, 0xff
sub rsp, 0x20
call fcn.14000dc65
mov eax, dword [rbp + 0xbbc]
add rsp, 0x20
mov dword [rbp + 0xb94], eax
jmp 0x140153f3d
mov eax, dword [0x140209a08]
sub eax, dword [0x140209a0c]
or eax, 0x36b1a901
mov ecx, 0xf6bc5e
xor ecx, 0x45d3a576
xor edx, edx
div ecx
mov r8d, eax
mov eax, r8d
xor eax, 0xffffffff
and eax, 0x1254cba4
mov edx, 0xffffffff
xor edx, 0x1254cba4
and r8d, edx
mov ecx, 0xffffffff
xor ecx, 0x57d30769
mov r9d, 0x6229bed4
xor r9d, 0x707d7570
and ecx, r9d
and edx, 0x57d30769
or eax, r8d
or ecx, edx
xor eax, ecx
mov ecx, 0x2786ef2e
xor ecx, 0x641b0ce7
cmp eax, ecx
je 0x14015d1a6
mov cx, word [rbp + 0xb90]
mov edx, dword [0x140209a10]
mov r8d, dword [0x140209a14]
xor r8d, 0xdc650298
mov eax, edx
or eax, eax
xor eax, 0xffffffff
mov r9d, r8d
or r9d, r9d
xor r9d, 0xffffffff
xor eax, 0xffffffff
xor r9d, 0xffffffff
and eax, r9d
or edx, r8d
xor edx, 0xffffffff
or eax, edx
xor eax, 0xffffffff
mov r8d, 0x46fcf330
xor r8d, 0x694b7983
mov edx, eax
and edx, r8d
shl edx, 1
add eax, 0x2fb78ab3
sub eax, edx
or eax, 0x82e62ecd
xor eax, 0xd9957a4f
cmp cx, 0x2e
sete cl
mov byte [rbp + 0xb8f], cl
cmp eax, 0x20d61985
jbe 0x140152a50
mov eax, dword [rbp + 0xbbc]
mov dl, byte [rbp + 0xb8f]
mov ecx, 0x1f
test dl, 1
mov dword [rbp + 0xb84], ecx
mov dword [rbp + 0xb88], eax
jne 0x140153f84
jmp 0x140152cc3
mov eax, dword [0x140209a18]
sub eax, dword [0x140209a1c]
sub eax, 0x67c35e80
sub eax, 0x2f4a8d95
and eax, 0xce5add9d
cmp eax, 0x2fc27384
je 0x14015d1af
mov rdx, qword [rbp + 0xbc0]
mov eax, dword [0x140209a20]
mov r8d, dword [0x140209a24]
mov ecx, eax
and ecx, ecx
xor ecx, 0xffffffff
and ecx, r8d
mov r9d, 0xfc27a4b2
xor r9d, 0x3d85b4d
xor ecx, r9d
and r8d, r8d
xor r8d, 0xffffffff
and eax, r8d
xor eax, 0xffffffff
xor ecx, 0xffffffff
xor eax, 0xffffffff
or ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0xc6666220
or eax, r8d
xor ecx, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0xc6666220
or ecx, r8d
and eax, ecx
mov ecx, 0x9660fb2c
xor ecx, 0x699f04d3
xor eax, ecx
mov ecx, 0x70c5f22a
xor ecx, 0xce50c3ca
sub eax, ecx
mov ecx, 0x7dda6679
xor ecx, 0xa98d8db7
sub eax, ecx
mov ecx, 0xf14f08b8
xor ecx, 0xe6336994
mov dx, word [rdx + 0x5e]
mov word [rbp + 0xb80], dx
mov r8w, 0x3552
xor r8w, 0x35ad
cmp dx, r8w
seta dl
mov byte [rbp + 0xb83], dl
cmp eax, ecx
jbe 0x140152b20
mov al, byte [rbp + 0xb83]
test al, 1
jne 0x140152bfd
jmp 0x140152c31
mov ax, word [rbp + 0xb80]
movzx eax, ax
mov ecx, eax
xor eax, eax
mov edx, eax
mov r8d, 0xff
sub rsp, 0x20
call fcn.14000dc65
mov eax, dword [rbp + 0xbbc]
add rsp, 0x20
mov dword [rbp + 0xb94], eax
jmp 0x140153f3d
mov eax, dword [rbp + 0xbbc]
mov dx, word [rbp + 0xb80]
mov ecx, 0x1f
cmp dx, 0x2e
mov dword [rbp + 0xb84], ecx
mov dword [rbp + 0xb88], eax
je 0x140153f84
jmp 0x140152cc3
mov eax, dword [rbp + 0xba4]
cmp eax, 0xffffffff
jge 0x140152cc3
mov ecx, dword [rbp + 0xba4]
xor eax, eax
sub eax, ecx
mov ecx, 0xbc3e3e10
xor ecx, 0xbc3e3e11
shr eax, cl
mov ecx, eax
xor eax, eax
sub eax, 0x6d2d4fa4
sub eax, ecx
add eax, 0x6d2d4fa4
movsxd rcx, eax
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.14000dc65
mov eax, dword [rbp + 0xbbc]
add rsp, 0x20
mov dword [rbp + 0xb94], eax
jmp 0x140153f3d
mov eax, dword [rbp + 0xba4]
mov rcx, qword [rbp + 0xbc0]
add rcx, 0x5e
mov qword [rbp + 0xb68], rcx
mov ecx, 2
cdq
idiv ecx
mov rdx, qword [rbp + 0xb68]
mov eax, eax
mov r8d, eax
lea rcx, [rbp + 0x1830]
sub rsp, 0x20
call fcn.1400a2a00
mov rcx, qword [rbp + 0xe78]
mov rdx, qword [rbp + 0x11b8]
mov eax, dword [rbp + 0xbbc]
add rsp, 0x20
mov r8, qword [rbp + 0x1830]
mov qword [rbp + 0xb70], r8
mov rcx, qword [rcx]
mov qword [rbp + 0xb78], rcx
mov ecx, 0x11
cmp byte [rdx], 0
mov dword [rbp + 0xb84], ecx
mov dword [rbp + 0xb88], eax
jne 0x140153f84
mov rcx, qword [rbp + 0x1048]
mov rdx, qword [rbp + 0x1050]
mov rax, qword [rbp + 0xe80]
mov r8, qword [rbp + 0xb78]
mov r9, qword [rbp + 0xb70]
mov qword [rdx], r9
mov qword [rax], r8
sub rsp, 0x20
call fcn.14015db80
mov r8, qword [rbp + 0x1048]
mov rcx, qword [rbp + 0xe88]
mov rdx, qword [rbp + 0x11b8]
mov eax, dword [rbp + 0xbbc]
add rsp, 0x20
mov r8, qword [r8]
mov qword [rbp + 0xb48], r8
mov rcx, qword [rcx]
mov qword [rbp + 0xb50], rcx
xor ecx, ecx
cmp byte [rdx], 0
mov qword [rbp + 0xb58], rcx
mov dword [rbp + 0xb64], eax
jne 0x140153c48
mov eax, dword [0x140209a28]
xor eax, 0xb9b885de
mov ecx, dword [0x140209a2c]
add eax, 0xa93bbe2b
sub eax, ecx
sub eax, 0xa93bbe2b
mov ecx, eax
and ecx, 0x17964adf
mov edx, 0xcd463a48
xor edx, 0xdad07097
xor eax, edx
or ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, ecx
xor edx, 0xffffffff
or eax, edx
and eax, 0x6f9f7bbd
mov edx, 0x2a5244db
xor edx, 0xd5adbb24
xor eax, edx
mov edx, 0xffffffff
xor edx, 0x6f9f7bbd
mov r8d, 0xffffffff
xor r8d, 0x6f9f7bbd
or edx, r8d
and ecx, edx
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0x8fc2a1f2
xor ecx, 0x703d5e0d
xor eax, ecx
mov ecx, 0x4c8d0cf5
xor edx, edx
div ecx
mov ecx, 0x75f115cf
xor ecx, 0x69de9d03
cmp eax, ecx
ja 0x14015d1b8
mov rcx, qword [rbp + 0xb50]
mov rdi, qword [rbp + 0xea0]
mov rsi, qword [rbp + 0xe98]
mov rbx, qword [rbp + 0x1058]
mov eax, dword [0x140209a30]
sub eax, dword [0x140209a34]
and eax, 0xc00343c0
mov r8d, 0x1263b079
xor r8d, 0xc4af7625
xor edx, edx
div r8d
mov rdx, qword [rbp + 0xb48]
mov r8d, eax
mov rax, qword [rbp + 0xe90]
mov r9d, 0x4b9d07fe
xor r9d, 0xed650e91
xor r8d, r9d
mov dword [rbp + 0xb2c], r8d
mov r8b, 0x98
xor r8b, 0x99
mov byte [rbp + 0x1840], r8b
mov qword [rbp + 0x1820], rdx
mov qword [rax], rcx
lea rdx, [rbp + 0x1820]
sub rsp, 0x20
mov rcx, rbx
call fcn.14001dec2
mov r11, qword [rbp + 0xea8]
mov r10, qword [rbp + 0xd40]
mov r9, qword [rbp + 0xd48]
mov r8, qword [rbp + 0xeb0]
mov rdx, qword [rbp + 0xb48]
mov rcx, qword [rbp + 0xb50]
mov rax, qword [rbp + 0xeb8]
add rsp, 0x20
mov rbx, qword [rbx]
mov rsi, qword [rsi]
mov qword [rdi], rbx
mov qword [r11], rsi
mov qword [rbp + 0x1800], r10
mov qword [r8], r9
mov qword [rbp + 0x17f0], rdx
mov qword [rax], rcx
lea rcx, [rbp + 0x1810]
lea rdx, [rbp + 0x1800]
lea r8, [rbp + 0x17f0]
sub rsp, 0x20
call fcn.1400938d0
mov rdx, qword [rbp + 0xec0]
mov rcx, qword [rbp + 0x11b8]
mov eax, dword [rbp + 0xb2c]
add rsp, 0x20
mov r8, qword [rbp + 0x1810]
mov qword [rbp + 0xb30], r8
mov rdx, qword [rdx]
mov qword [rbp + 0xb38], rdx
cmp byte [rcx], 0
sete cl
mov byte [rbp + 0xb47], cl
cmp eax, 0x9b40b0ab
je 0x140152e63
mov eax, dword [rbp + 0xbbc]
mov rcx, qword [rbp + 0xb50]
mov dl, byte [rbp + 0xb47]
test dl, 1
mov qword [rbp + 0xb58], rcx
mov dword [rbp + 0xb64], eax
jne 0x140152fdd
jmp 0x140153c48
mov rax, qword [rbp + 0xed8]
mov rcx, qword [rbp + 0xed0]
mov rdx, qword [rbp + 0xb38]
mov r8, qword [rbp + 0xec8]
mov r9, qword [rbp + 0xb30]
mov qword [r8], r9
mov qword [rcx], rdx
mov qword [rax], 0
lea rcx, [rbp + 0x19d8]
lea rdx, [rbp + 0x1840]
sub rsp, 0x20
call fcn.1400c022e
mov rdx, qword [rbp + 0x11b8]
mov rcx, qword [rbp + 0xb50]
mov eax, dword [rbp + 0xbbc]
add rsp, 0x20
cmp byte [rdx], 0
mov qword [rbp + 0xb58], rcx
mov dword [rbp + 0xb64], eax
jne 0x140153c48
mov eax, dword [0x140209a38]
add eax, dword [0x140209a3c]
mov ecx, eax
xor ecx, 0xffffffff
mov edx, 0x7344400b
xor edx, 0x26172991
and edx, ecx
mov r8d, 0xffffffff
xor r8d, 0x5553699a
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x5553699a
or eax, 0x5553699a
imul eax, edx
add eax, ecx
sub eax, 0x51bfa7d2
add eax, 0x7394761
mov ecx, 0xa79dbe52
xor ecx, 0xc9d37171
sub eax, ecx
mov ecx, 0xc50b37de
xor ecx, 0xc23270bf
sub eax, ecx
mov ecx, 0xbe232461
xor ecx, 0xf1ee76da
cmp eax, ecx
je 0x14015d1c1
mov ecx, dword [0x140209a40]
xor ecx, 0x7b8b618f
mov edx, dword [0x140209a44]
mov eax, ecx
and eax, edx
shl eax, 1
xor ecx, edx
add ecx, eax
mov eax, ecx
and eax, 0xd2724840
or ecx, 0xd2724840
add eax, ecx
mov ecx, 0xb1061917
xor ecx, 0xac983240
and eax, ecx
and eax, 0x81dfff6d
mov cl, byte [rbp + 0x19d8]
mov byte [rbp + 0xb2a], cl
cmp cl, 1
sete cl
mov byte [rbp + 0xb2b], cl
cmp eax, 0x9d4cbf5b
je 0x14015d1c1
mov al, byte [rbp + 0xb2a]
mov cl, byte [rbp + 0xb2b]
test cl, 1
mov byte [rbp + 0xb29], al
jne 0x14015314f
jmp 0x140153395
mov rdx, qword [rbp + 0x1060]
mov rax, qword [rbp + 0xee0]
mov rcx, qword [rbp + 0xd88]
mov rcx, qword [rcx]
mov r8, qword [rcx + 0x48]
mov qword [rbp + 0x17e0], r8
mov rcx, qword [rcx + 0x50]
mov qword [rbp + 0x17e8], rcx
mov rcx, qword [rax]
mov qword [rdx], rcx
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
lea rcx, [rbp + 0x17e0]
sub rsp, 0x20
call fcn.1400c0460
mov rdx, qword [rbp + 0x11b8]
mov rcx, qword [rbp + 0xb50]
add rsp, 0x20
mov r8, rax
mov eax, dword [rbp + 0xbbc]
mov qword [rbp + 0xb20], r8
cmp byte [rdx], 0
mov qword [rbp + 0xb58], rcx
mov dword [rbp + 0xb64], eax
jne 0x140153c48
mov rdx, qword [rbp + 0xb20]
mov rax, rdx
add rax, 1
mov qword [rbp + 0xb18], rax
mov r8, rdx
xor r8, 0xffffffffffffffff
movabs rcx, 0x5fe8eba3b45ce191
movabs r9, 0xa017145c4ba31e6e
xor rcx, r9
and rcx, r8
movabs r8, 0x42ccd5773be98080
movabs r9, 0xbd332a88c4167f7f
xor r8, r9
movabs r9, 0xa7204a7638d22c58
movabs r10, 0x58dfb589c72dd3a7
xor r9, r10
xor r8, r9
and rdx, r8
or rcx, rdx
and rax, rcx
cmp rax, 0
jge 0x140153279
sub rsp, 0x20
call fcn.140007f57
mov rcx, qword [rbp + 0xb50]
mov eax, dword [rbp + 0xbbc]
add rsp, 0x20
mov qword [rbp + 0xb58], rcx
mov dword [rbp + 0xb64], eax
jmp 0x140153c48
mov rax, qword [rbp + 0xd88]
mov rax, qword [rax]
mov eax, dword [rax + 0x24]
mov dword [rbp + 0xb14], eax
cmp eax, 0xffffffff
jne 0x140153303
mov rdx, qword [rbp + 0x1068]
mov rax, qword [rbp + 0xee0]
mov rcx, qword [rax]
mov qword [rdx], rcx
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
lea rcx, [rbp + 0x17d0]
sub rsp, 0x20
call fcn.14001dec2
mov rcx, qword [rbp + 0xef8]
mov rax, qword [rbp + 0xf00]
mov rdx, qword [rbp + 0x1070]
add rsp, 0x20
mov r8, qword [rbp + 0x17d0]
mov rcx, qword [rcx]
mov qword [rdx], r8
mov qword [rax], rcx
lea rcx, [rbp + 0x1a28]
sub rsp, 0x20
call fcn.14001d35c
add rsp, 0x20
jmp 0x140153389
mov rax, qword [rbp + 0xb18]
mov ecx, dword [rbp + 0xb14]
movsxd rcx, ecx
cmp rax, rcx
jg 0x140153389
mov rdx, qword [rbp + 0x1078]
mov rax, qword [rbp + 0xee0]
mov rcx, qword [rax]
mov qword [rdx], rcx
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
lea rcx, [rbp + 0x17c0]
sub rsp, 0x20
call fcn.14001dec2
mov rcx, qword [rbp + 0xee8]
mov rax, qword [rbp + 0xef0]
add rsp, 0x20
mov rdx, qword [rbp + 0x17c0]
mov rcx, qword [rcx]
mov qword [rbp + 0x17b0], rdx
mov qword [rax], rcx
lea rcx, [rbp + 0x1a28]
lea rdx, [rbp + 0x17b0]
sub rsp, 0x20
call fcn.14001d35c
add rsp, 0x20
mov al, byte [rbp + 0x19d8]
mov byte [rbp + 0xb29], al
mov eax, dword [rbp + 0xbbc]
mov rcx, qword [rbp + 0xb50]
mov dl, byte [rbp + 0xb29]
cmp dl, 0
mov qword [rbp + 0xb58], rcx
mov dword [rbp + 0xb64], eax
jne 0x140153c48
mov rcx, qword [rbp + 0x1020]
lea rdx, [rbp + 0x19d8]
sub rsp, 0x20
call fcn.1400c022e
mov rdx, qword [rbp + 0x11b8]
mov rcx, qword [rbp + 0xb50]
mov eax, dword [rbp + 0xbbc]
add rsp, 0x20
cmp byte [rdx], 0
mov qword [rbp + 0xb58], rcx
mov dword [rbp + 0xb64], eax
jne 0x140153c48
lea rcx, [rbp + 0x19d8]
sub rsp, 0x20
call fcn.1400c0ab0
mov rdx, qword [rbp + 0x1020]
mov rcx, qword [rbp + 0xb50]
mov eax, dword [rbp + 0xbbc]
add rsp, 0x20
cmp byte [rdx], 0
mov qword [rbp + 0xb58], rcx
mov dword [rbp + 0xb64], eax
jne 0x140153c48
mov rax, qword [rbp + 0xd88]
mov rax, qword [rax]
mov rax, qword [rax + 0x58]
mov qword [rbp + 0xb00], rax
xor eax, eax
mov qword [rbp + 0xb08], rax
mov eax, dword [rbp + 0xbbc]
mov rcx, qword [rbp + 0xb50]
mov r8, qword [rbp + 0xb00]
mov rdx, qword [rbp + 0xb08]
mov qword [rbp + 0xaf8], rdx
cmp rdx, r8
mov qword [rbp + 0xb58], rcx
mov dword [rbp + 0xb64], eax
jge 0x140153c48
mov rax, qword [rbp + 0xaf8]
mov rcx, qword [rbp + 0xd88]
mov rcx, qword [rcx]
mov qword [rbp + 0xae8], rcx
mov rcx, qword [rcx + 0x58]
mov qword [rbp + 0xaf0], rcx
cmp rax, rcx
jl 0x140153501
mov rcx, qword [rbp + 0xaf8]
mov rdx, qword [rbp + 0xaf0]
add rdx, 0xffffffffffffffff
sub rsp, 0x20
call fcn.140014583
mov rcx, qword [rbp + 0xb50]
mov eax, dword [rbp + 0xbbc]
add rsp, 0x20
mov qword [rbp + 0xb58], rcx
mov dword [rbp + 0xb64], eax
jmp 0x140153c48
mov rax, qword [rbp + 0xf08]
mov rdx, qword [rbp + 0xaf8]
mov rcx, qword [rbp + 0xae8]
mov rcx, qword [rcx + 0x60]
add rcx, 8
shl rdx, 3
add rcx, rdx
mov qword [rbp + 0xad8], rcx
mov rcx, qword [rax]
sub rsp, 0x20
call fcn.14009abaa
mov rdx, qword [rbp + 0x11b8]
mov rcx, qword [rbp + 0xb50]
add rsp, 0x20
mov r8b, al
mov eax, dword [rbp + 0xbbc]
mov byte [rbp + 0xae7], r8b
mov dl, byte [rdx]
mov r8b, 0x47
xor r8b, 0x47
cmp dl, r8b
mov qword [rbp + 0xb58], rcx
mov dword [rbp + 0xb64], eax
jne 0x140153c48
mov al, byte [rbp + 0xae7]
test al, 1
jne 0x14015358c
jmp 0x140153c31
mov ecx, dword [0x140209a48]
and ecx, dword [0x140209a4c]
mov edx, 0xffffffff
xor edx, 0xdfe78e71
mov eax, ecx
xor eax, edx
and eax, ecx
mov ecx, eax
or ecx, ecx
xor ecx, 0xffffffff
mov edx, 0x7dd19a44
or edx, 0x7dd19a44
xor edx, 0xffffffff
or ecx, edx
mov edx, 0x9fbf085d
xor edx, 0x6040f7a2
xor ecx, edx
xor eax, 0xffffffff
mov edx, 0xa1d7285f
xor edx, 0xdc06b21b
mov r8d, 0xe269e035
xor r8d, 0x1d961fca
xor edx, r8d
and eax, edx
xor ecx, 0xffffffff
xor eax, 0xffffffff
and ecx, eax
mov edx, 0x920b1427
xor edx, 0x6226db0b
mov eax, ecx
and eax, edx
or ecx, 0xf02dcf2c
add eax, ecx
mov ecx, 0x8b466790
xor ecx, 0xb72fa969
cmp eax, ecx
je 0x14015d1ca
mov rcx, qword [rbp + 0xf08]
mov rdx, qword [rbp + 0xad8]
mov eax, dword [0x140209a50]
mov r10d, dword [0x140209a54]
mov r8d, eax
xor r8d, 0xffffffff
mov r9d, r10d
and r9d, r8d
mov r11d, r10d
xor r11d, 0xffffffff
mov r8d, eax
and r8d, r11d
imul r8d, r9d
mov r9d, eax
and r9d, r10d
or eax, r10d
imul eax, r9d
add eax, r8d
sub eax, 0xb20ecfd4
sub eax, 0xa4b4e4ab
sub eax, 0x910d53d5
mov r8d, 0xd079ace4
xor r8d, 0x74cd484f
add eax, r8d
sub eax, 0x5b398d65
mov rdx, qword [rdx]
mov qword [rbp + 0xac0], rdx
movsxd rdx, dword [rdx + 0x10]
mov rcx, qword [rcx]
mov qword [rbp + 0xac8], rcx
cmp rcx, rdx
setl cl
mov byte [rbp + 0xad7], cl
cmp eax, 0xbd3ba337
je 0x14015361f
mov al, byte [rbp + 0xad7]
test al, 1
jne 0x140153c31
jmp 0x1401536ce
mov eax, dword [0x140209a58]
xor eax, 0x248713ea
xor edx, edx
div dword [0x140209a5c]
mov ecx, 0x49f0b2bf
xor ecx, 0xc35f1cdc
xor eax, ecx
add eax, 0x7676e202
mov ecx, 0x6a4f63d2
xor edx, edx
div ecx
cmp eax, 0x7e9da8cd
je 0x14015d1d3
mov rcx, qword [rbp + 0xac8]
mov rdx, qword [rbp + 0xac0]
mov r8d, dword [0x140209a60]
mov eax, dword [0x140209a64]
sub r8d, 0x9e28816f
add r8d, eax
add r8d, 0x9e28816f
mov eax, r8d
and eax, 0xd59745d4
or r8d, 0xd59745d4
add eax, r8d
mov r9d, eax
xor r9d, 0xffffffff
and r9d, 0xcad474c6
mov r10d, 0x7aa7a827
xor r10d, 0xb073dce1
mov r8d, 0x47fc3100
xor r8d, 0xb803ceff
xor r10d, r8d
mov r8d, eax
and r8d, r10d
imul r8d, r9d
mov r9d, eax
and r9d, 0xcad474c6
or eax, 0xcad474c6
imul eax, r9d
add eax, r8d
sub eax, 0xdd6e00fa
movsxd rdx, dword [rdx + 0x14]
cmp rcx, rdx
setg cl
mov byte [rbp + 0xabf], cl
cmp eax, 0xe304b333
je 0x140153707
mov al, byte [rbp + 0xabf]
test al, 1
jne 0x140153c31
jmp 0x1401537c3
mov rax, qword [rbp + 0xf10]
mov rcx, qword [rax]
mov qword [rbp + 0x1790], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x1798], rax
lea rcx, [rbp + 0x17a0]
lea rdx, [rbp + 0x1790]
sub rsp, 0x20
call fcn.14001dec2
mov rcx, qword [rbp + 0xf18]
mov rax, qword [rbp + 0xad8]
add rsp, 0x20
mov rdx, qword [rbp + 0x17a0]
mov qword [rbp + 0xaa8], rdx
mov rcx, qword [rcx]
mov qword [rbp + 0xab0], rcx
mov rax, qword [rax]
mov rcx, qword [rax]
mov qword [rbp + 0x1770], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x1778], rax
lea rcx, [rbp + 0x1780]
lea rdx, [rbp + 0x1770]
sub rsp, 0x20
call fcn.14001dec2
mov rcx, qword [rbp + 0xf20]
mov r11, qword [rbp + 0xaa8]
mov r10, qword [rbp + 0xab0]
mov r9, qword [rbp + 0xf28]
mov rax, qword [rbp + 0xf30]
mov rdx, qword [rbp + 0x1080]
add rsp, 0x20
mov r8, qword [rbp + 0x1780]
mov rcx, qword [rcx]
mov qword [rbp + 0x1760], r11
mov qword [r9], r10
mov qword [rdx], r8
mov qword [rax], rcx
lea rcx, [rbp + 0x1760]
sub rsp, 0x20
call fcn.1400838e0
mov rdx, qword [rbp + 0x11b8]
mov rcx, qword [rbp + 0xb50]
add rsp, 0x20
mov r8b, al
mov eax, dword [rbp + 0xbbc]
mov byte [rbp + 0xabe], r8b
cmp byte [rdx], 0
mov qword [rbp + 0xb58], rcx
mov dword [rbp + 0xb64], eax
jne 0x140153c48
mov al, byte [rbp + 0xabe]
test al, 1
jne 0x1401538f2
jmp 0x140153c31
mov ecx, dword [0x140209a68]
imul ecx, dword [0x140209a6c]
mov edx, 0xca7791bd
xor edx, 0xe1aae710
mov eax, ecx
and eax, edx
mov edx, 0xfdc9ed14
xor edx, 0x23612eb
xor eax, edx
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x2bdd76ad
or ecx, edx
and eax, ecx
xor eax, 0xffffffff
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, 0xce0b0a43
add ecx, eax
mov eax, 0x49edd1ad
xor eax, 0x49edd1ad
sub eax, ecx
mov ecx, 0xa833bea6
xor ecx, 0x3b403d4
xor edx, edx
div ecx
cmp eax, 0x4ec4f1db
je 0x14015d1dc
mov rax, qword [rbp + 0xd88]
mov edx, dword [0x140209a70]
or edx, dword [0x140209a74]
mov ecx, edx
and ecx, 0xfb958ff3
or edx, 0xfb958ff3
add ecx, edx
xor edx, edx
sub edx, ecx
xor ecx, ecx
sub ecx, 0x543534aa
add edx, ecx
xor ecx, ecx
sub ecx, edx
mov edx, 0x2d1d73e
xor edx, 0x9ec4b14c
imul ecx, edx
mov dword [rbp + 0xaa0], ecx
mov rcx, qword [rax]
mov qword [rbp + 0xa98], rcx
sub rsp, 0x20
xor eax, eax
mov dl, al
call fcn.14014f6c0
mov rcx, qword [rbp + 0x11b8]
add rsp, 0x20
mov eax, dword [rbp + 0xaa0]
cmp byte [rcx], 0
sete cl
mov byte [rbp + 0xaa7], cl
cmp eax, 0x3cf3d7b0
ja 0x14015d1dc
mov al, byte [rbp + 0xaa7]
test al, 1
jne 0x1401539fe
jmp 0x140153bf3
mov rcx, qword [rbp + 0x1088]
mov edx, 0x30
sub rsp, 0x20
call fcn.140143f80
mov rcx, qword [rbp + 0x1088]
mov rdx, qword [rbp + 0x1020]
add rsp, 0x20
mov r8d, 0x30
sub rsp, 0x20
call sub.msvcrt.dll_memcpy
mov rcx, qword [rbp + 0x1020]
call fcn.1400c0ab0
mov rax, qword [rbp + 0xf38]
mov rcx, qword [rbp + 0x1010]
add rsp, 0x20
mov rax, qword [rax]
mov qword [rbp + 0xa88], rax
mov rcx, qword [rcx]
mov qword [rbp + 0xa90], rcx
cmp rax, 0
je 0x140153aa8
mov rax, qword [rbp + 0xa90]
mov r9, qword [rbp + 0xa88]
mov r8, qword [rbp + 0x1088]
mov rdx, qword [rbp + 0xa98]
mov rcx, qword [rbp + 0x1018]
sub rsp, 0x20
call rax
add rsp, 0x20
mov byte [rbp + 0xa87], al
jmp 0x140153ad4
mov rax, qword [rbp + 0xa90]
mov r8, qword [rbp + 0x1088]
mov rdx, qword [rbp + 0xa98]
mov rcx, qword [rbp + 0x1018]
sub rsp, 0x20
call rax
add rsp, 0x20
mov byte [rbp + 0xa87], al
mov rax, qword [rbp + 0x11b8]
mov cl, byte [rbp + 0xa87]
mov al, byte [rax]
test al, al
sete al
and al, cl
test al, 1
jne 0x140153af7
jmp 0x140153c12
mov eax, dword [0x140209a78]
mov ecx, dword [0x140209a7c]
xor ecx, 0xffffffff
xor edx, edx
sub edx, 1
sub ecx, edx
sub eax, ecx
mov ecx, 0xb3ae5b12
xor edx, edx
div ecx
mov ecx, eax
mov eax, ecx
xor eax, 0xffffffff
and eax, 0x2d18fdcc
mov edx, 0xffffffff
xor edx, 0x2d18fdcc
and ecx, edx
sub ecx, eax
mov eax, ecx
and eax, 0x8e8b6830
xor ecx, 0x8e8b6830
or eax, ecx
cmp eax, 0x2e884748
jbe 0x14015d1e5
mov ecx, dword [rbp + 0xbbc]
mov eax, dword [0x140209a80]
mov r8d, dword [0x140209a84]
xor edx, edx
div r8d
add eax, 0x46324828
movsxd rdx, ecx
mov rcx, rdx
inc rcx
mov qword [rbp + 0xa78], rcx
mov r8, rdx
not r8
and rcx, r8
test rcx, rcx
sets cl
add rdx, 0xffffffff80000001
movabs r8, 0xffffffff00000000
sub rdx, r8
setb dl
or cl, dl
mov byte [rbp + 0xa86], cl
cmp eax, 0xa030d589
jae 0x140153b4d
mov al, byte [rbp + 0xa86]
test al, 1
jne 0x140153be6
jmp 0x140153bc6
mov rcx, qword [rbp + 0xb50]
mov rax, qword [rbp + 0xa78]
mov qword [rbp + 0xb58], rcx
mov dword [rbp + 0xb64], eax
jmp 0x140153c48
sub rsp, 0x20
call fcn.140007f57
add rsp, 0x20
mov eax, dword [rbp + 0xbbc]
mov rcx, qword [rbp + 0xb50]
mov qword [rbp + 0xb58], rcx
mov dword [rbp + 0xb64], eax
jmp 0x140153c48
mov eax, dword [rbp + 0xbbc]
mov rcx, qword [rbp + 0xb50]
mov qword [rbp + 0xb58], rcx
mov dword [rbp + 0xb64], eax
jmp 0x140153c48
mov rax, qword [rbp + 0xaf8]
add rax, 1
mov qword [rbp + 0xb08], rax
jmp 0x14015345f
mov rax, qword [rbp + 0xb78]
mov rcx, qword [rbp + 0xb58]
mov edx, dword [rbp + 0xb64]
mov dword [rbp + 0xa6c], edx
mov qword [rbp + 0xa70], rcx
cmp rax, 0
je 0x140153e50
mov r11d, dword [0x140209a88]
mov eax, dword [0x140209a8c]
xor eax, 0xdb2185df
or r11d, eax
add r11d, 0x4848d9dd
sub r11d, 0xd819049d
sub r11d, 0x4848d9dd
mov ecx, r11d
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x339ed4e5
mov r8d, 0x7475f349
xor r8d, 0x42585c94
mov eax, 0x114c43c4
xor eax, 0xeeb3bc3b
xor r8d, eax
mov eax, ecx
and eax, 0x362dafdd
and r11d, r8d
mov r9d, edx
and r9d, 0x362dafdd
mov r10d, r8d
and r10d, 0x339ed4e5
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, edx
xor ecx, 0xffffffff
mov edx, 0xfe3e92d5
xor edx, 0xc8133d08
or edx, r8d
and ecx, edx
or eax, ecx
xor eax, 0x106be066
cmp eax, 0xd7ee2dc1
jbe 0x14015d1ee
mov rdx, qword [rbp + 0xb78]
mov esi, dword [0x140209a90]
mov ecx, dword [0x140209a94]
mov eax, esi
and eax, ecx
shl eax, 1
xor esi, ecx
add esi, eax
add esi, 0x16fd4a86
add esi, 0xf6e83614
sub esi, 0x16fd4a86
mov ecx, esi
xor ecx, 0xffffffff
mov r9d, 0xffffffff
xor r9d, 0x88320149
mov r8d, 0xffffffff
xor r8d, 0x6782de90
mov r10d, 0x5389749b
xor r10d, 0x340baa0b
mov eax, ecx
and eax, r10d
and esi, r8d
mov r10d, r9d
and r10d, 0x6782de90
mov r11d, r8d
and r11d, 0x88320149
or eax, esi
or r10d, r11d
xor eax, r10d
or ecx, r9d
xor ecx, 0xffffffff
or r8d, 0x6782de90
and ecx, r8d
or eax, ecx
imul eax, eax, 0x51917218
mov ecx, 0x4128d407
xor ecx, 0x63d38579
mov r8, qword [rdx]
movabs r9, 0x4000000000000000
mov rdx, r8
and rdx, r9
movabs r9, 0x83ec686e716567d4
movabs r10, 0x7c1397918e9a982b
xor r9, r10
xor rdx, r9
movabs r9, 0x4000000000000000
and r8, r9
xor r8, 0xffffffffffffffff
and rdx, r8
xor rdx, 0xffffffffffffffff
movabs r8, 0x57d9c4c6b29eeaf4
movabs r9, 0x57d9c4c6b29eeaf4
xor r8, r9
cmp rdx, r8
sete dl
mov byte [rbp + 0xa6b], dl
cmp eax, ecx
jae 0x140153d16
mov al, byte [rbp + 0xa6b]
test al, 1
jne 0x140153e3c
jmp 0x140153e50
mov rcx, qword [rbp + 0xb78]
sub rsp, 0x20
call fcn.14000fb44
add rsp, 0x20
mov eax, dword [rbp + 0xa6c]
mov rcx, qword [rbp + 0xa70]
cmp rcx, 0
mov dword [rbp + 0xb94], eax
je 0x140153f3d
mov eax, dword [rbp + 0xa6c]
mov rcx, qword [rbp + 0xa70]
mov rdx, qword [rcx]
mov rcx, rdx
xor rcx, 0xffffffffffffffff
movabs r8, 0x19a8d50e0450d237
movabs r9, 0x59a8d50e0450d237
xor r8, r9
movabs r9, 0x560e15776083477f
movabs r10, 0xa9f1ea889f7cb880
xor r9, r10
xor r8, r9
or rcx, r8
movabs r8, 0x5288238543578353
movabs r9, 0xad77dc7abca87cac
xor r8, r9
xor rdx, r8
movabs r8, 0x321fc6ea76e598ce
movabs r9, 0x721fc6ea76e598ce
xor r8, r9
movabs r9, 0x3e4d3526ae2eb025
movabs r10, 0xc1b2cad951d14fda
xor r9, r10
xor r8, r9
or rdx, r8
and rcx, rdx
xor rcx, 0xffffffffffffffff
cmp rcx, 0
mov dword [rbp + 0xb94], eax
jne 0x140153f3d
mov rcx, qword [rbp + 0xa70]
sub rsp, 0x20
call fcn.14000fb44
mov eax, dword [rbp + 0xa6c]
add rsp, 0x20
mov dword [rbp + 0xb94], eax
mov rcx, qword [rbp + 0x11b8]
mov eax, dword [rbp + 0xb94]
mov dword [rbp + 0xa64], eax
mov dl, byte [rcx]
mov r8b, 0xfd
xor r8b, 0xfd
mov ecx, 0x11
cmp dl, r8b
mov dword [rbp + 0xb84], ecx
mov dword [rbp + 0xb88], eax
jne 0x140153f84
mov eax, dword [rbp + 0xa64]
mov dword [rbp + 0xa60], eax
jmp 0x140153fd4
mov ecx, dword [rbp + 0xb84]
mov eax, dword [rbp + 0xb88]
mov dword [rbp + 0xa58], ecx
mov dword [rbp + 0xa5c], eax
jmp 0x14015547c
mov eax, dword [rbp + 0xbbc]
mov dl, byte [rbp + 0xbba]
mov ecx, 0x11
test dl, 1
mov edx, eax
mov dword [rbp + 0xa60], edx
mov dword [rbp + 0xa58], ecx
mov dword [rbp + 0xa5c], eax
jne 0x140153fd4
jmp 0x14015547c
mov rax, qword [rbp + 0xba8]
mov ecx, dword [rbp + 0xa60]
mov dword [rbp + 0xa50], ecx
mov ecx, dword [rax]
and ecx, 0x10
or ecx, 0x222d11a8
xor ecx, 0x222d11b8
sub rsp, 0x20
call fcn.14009e8f0
add rsp, 0x20
mov cl, al
mov rax, qword [rbp + 0x11b8]
mov al, byte [rax]
test al, al
sete al
mov byte [rbp + 0xa57], al
and al, cl
test al, 1
jne 0x14015402a
jmp 0x14015544e
mov rax, qword [rbp + 0xbc8]
mov eax, dword [rax]
mov dword [rbp + 0xa4c], eax
mov ecx, 0x99bac82a
xor ecx, 0x664537d5
cmp eax, ecx
jge 0x140154199
mov eax, dword [0x140209a98]
xor edx, edx
div dword [0x140209a9c]
mov r8d, eax
add r8d, 0x3f75b754
and r8d, 0xe8d043f3
mov eax, r8d
xor eax, 0xffffffff
and eax, 0xf474865
mov edx, 0xffffffff
xor edx, 0xf474865
and r8d, edx
mov ecx, 0xffffffff
xor ecx, 0x972de9fd
and ecx, 0xf474865
and edx, 0x972de9fd
or eax, r8d
or ecx, edx
xor eax, ecx
cmp eax, 0x38a914be
jbe 0x14015d1f7
mov eax, dword [rbp + 0xa4c]
mov edx, dword [0x140209aa0]
mov r8d, dword [0x140209aa4]
mov r9d, 0xf8666b1d
xor r9d, 0x79994e2
mov ecx, edx
xor ecx, r9d
mov r9d, r8d
xor r9d, 0xffffffff
and ecx, r9d
mov r9d, 0xecbbf031
xor r9d, 0x13440fce
xor edx, r9d
xor r8d, 0xffffffff
and edx, r8d
xor ecx, 0xffffffff
xor edx, 0xffffffff
and ecx, edx
mov edx, 0x814f08cb
xor edx, 0xf617b134
imul ecx, edx
xor ecx, 0x6155a795
imul ecx, ecx, 0xab6cf05
mov dword [rbp + 0xa48], ecx
mov ecx, 0x6f4bbe99
xor ecx, 0x8e7b059a
mov dword [rbp + 0xa44], ecx
xor edx, edx
sub edx, eax
shr edx, 1
mov ecx, edx
xor ecx, 0
mov eax, 0xf10f4a61
xor eax, 0xef0b59e
xor edx, eax
and edx, 0
mov eax, 0xb070a806
xor eax, 0xb070a804
imul eax, edx
sub eax, ecx
movsxd rcx, eax
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.14000dc65
mov ecx, dword [rbp + 0xa44]
mov eax, dword [rbp + 0xa48]
add rsp, 0x20
cmp eax, ecx
je 0x1401540ad
mov eax, dword [rbp + 0xa50]
mov dword [rbp + 0xa40], eax
jmp 0x1401553fc
mov eax, dword [rbp + 0xa4c]
mov rcx, qword [rbp + 0xbc0]
add rcx, 0x5e
mov qword [rbp + 0xa20], rcx
mov ecx, 2
cdq
idiv ecx
mov rdx, qword [rbp + 0xa20]
mov eax, eax
mov r8d, eax
lea rcx, [rbp + 0x1750]
sub rsp, 0x20
call fcn.1400a2a00
mov rdx, qword [rbp + 0xf40]
mov rcx, qword [rbp + 0x11b8]
mov eax, dword [rbp + 0xa50]
add rsp, 0x20
mov r8, qword [rbp + 0x1750]
mov qword [rbp + 0xa28], r8
mov rdx, qword [rdx]
mov qword [rbp + 0xa30], rdx
cmp byte [rcx], 0
mov dword [rbp + 0xa3c], eax
jne 0x14015541e
mov rcx, qword [rbp + 0x1098]
mov rax, qword [rbp + 0xf48]
mov rdx, qword [rbp + 0xa30]
mov r8, qword [rbp + 0xa28]
mov qword [rbp + 0x1740], r8
mov qword [rax], rdx
lea rdx, [rbp + 0x1740]
sub rsp, 0x20
call fcn.14015db80
mov r8, qword [rbp + 0x1098]
mov rcx, qword [rbp + 0xf50]
mov rdx, qword [rbp + 0x11b8]
mov eax, dword [rbp + 0xa50]
add rsp, 0x20
mov r8, qword [r8]
mov qword [rbp + 0xa00], r8
mov rcx, qword [rcx]
mov qword [rbp + 0xa08], rcx
xor ecx, ecx
cmp byte [rdx], 0
mov qword [rbp + 0xa10], rcx
mov dword [rbp + 0xa1c], eax
jne 0x1401550ec
mov rcx, qword [rbp + 0xa08]
mov r8, qword [rbp + 0xa00]
mov rsi, qword [rbp + 0xd40]
mov rdi, qword [rbp + 0xf70]
mov r14, qword [rbp + 0xf68]
mov rbx, qword [rbp + 0xf60]
mov r15, qword [rbp + 0x10a0]
mov rdx, qword [rbp + 0x10a8]
mov rax, qword [rbp + 0xf58]
mov r9, qword [rbp + 0x1090]
mov byte [r9], 0
mov qword [rdx], r8
mov qword [rax], rcx
sub rsp, 0x20
mov rcx, r15
call fcn.14001dec2
mov r11, qword [rbp + 0xd48]
mov r10, qword [rbp + 0xf78]
mov r9, qword [rbp + 0xa00]
mov rax, qword [rbp + 0xf80]
mov rdx, qword [rbp + 0x10b8]
mov rcx, qword [rbp + 0x10b0]
mov r8, qword [rbp + 0xa08]
add rsp, 0x20
mov r15, qword [r15]
mov rbx, qword [rbx]
mov qword [r14], r15
mov qword [rdi], rbx
mov qword [rdx], rsi
mov qword [r10], r11
mov qword [rbp + 0x1730], r9
mov qword [rax], r8
lea r8, [rbp + 0x1730]
sub rsp, 0x20
call fcn.1400938d0
mov r9, qword [rbp + 0x10b0]
mov r8, qword [rbp + 0xf88]
mov rdx, qword [rbp + 0x11b8]
mov rcx, qword [rbp + 0xa08]
mov eax, dword [rbp + 0xa50]
add rsp, 0x20
mov r9, qword [r9]
mov qword [rbp + 0x9f0], r9
mov r8, qword [r8]
mov qword [rbp + 0x9f8], r8
cmp byte [rdx], 0
mov qword [rbp + 0xa10], rcx
mov dword [rbp + 0xa1c], eax
jne 0x1401550ec
mov rdx, qword [rbp + 0x1090]
mov rax, qword [rbp + 0xfa0]
mov rcx, qword [rbp + 0xbc0]
mov r8, qword [rbp + 0xf98]
mov r9, qword [rbp + 0x9f8]
mov r10, qword [rbp + 0xf90]
mov r11, qword [rbp + 0x9f0]
mov qword [r10], r11
mov qword [r8], r9
mov rcx, qword [rcx + 0x28]
mov qword [rax], rcx
lea rcx, [rbp + 0x19d8]
sub rsp, 0x20
call fcn.1400c022e
mov rdx, qword [rbp + 0x11b8]
mov rcx, qword [rbp + 0xa08]
mov eax, dword [rbp + 0xa50]
add rsp, 0x20
cmp byte [rdx], 0
mov qword [rbp + 0xa10], rcx
mov dword [rbp + 0xa1c], eax
jne 0x1401550ec
mov eax, dword [0x140209aa8]
xor eax, 0xead9543a
mov ecx, dword [0x140209aac]
xor ecx, 0xba914c2
add eax, ecx
imul eax, eax, 0xf796453b
imul eax, eax, 0x6abcd1c1
add eax, 0x31f01d28
mov ecx, 0x73084004
xor ecx, 0x4ce75194
cmp eax, ecx
jb 0x14015d200
mov eax, dword [0x140209ab0]
mov ecx, dword [0x140209ab4]
mov r8d, eax
xor r8d, 0xffffffff
mov r9d, 0xcfab8cec
xor r9d, 0x30547313
mov edx, eax
xor edx, r9d
and r8d, edx
mov edx, ecx
or edx, edx
mov r9d, 0x8b280043
xor r9d, 0x74d7ffbc
xor edx, r9d
xor r8d, 0xffffffff
xor edx, 0xffffffff
and r8d, edx
xor eax, 0xffffffff
mov edx, 0x79f0453c
xor edx, 0x860fbac3
xor ecx, edx
and eax, ecx
mov ecx, 0xda4b52eb
xor ecx, 0x25b4ad14
xor r8d, ecx
xor eax, 0xffffffff
and r8d, eax
mov eax, r8d
xor eax, 0xf6f3969a
xor eax, 0xffffffff
and eax, 0xf6f3969a
shl eax, 1
sub eax, 0xf6f3969a
sub r8d, eax
mov ecx, r8d
xor ecx, 0xffffffff
mov eax, 0xac7a0231
xor eax, 0xe28b6fd2
and eax, ecx
mov r9d, 0xffffffff
xor r9d, 0x4ef16de3
and r8d, r9d
mov ecx, 0xffffffff
xor ecx, 0x7acba89
and ecx, 0x4ef16de3
mov edx, 0x9de86ade
xor edx, 0x9a44d057
and edx, r9d
or eax, r8d
or ecx, edx
xor eax, ecx
mov ecx, 0x4daf3afc
xor edx, edx
div ecx
mov cl, byte [rbp + 0x19d8]
mov byte [rbp + 0x9ee], cl
cmp cl, 1
sete cl
mov byte [rbp + 0x9ef], cl
cmp eax, 0xe3329e98
ja 0x14015d200
mov al, byte [rbp + 0x9ee]
mov cl, byte [rbp + 0x9ef]
test cl, 1
mov byte [rbp + 0x9ed], al
jne 0x140154576
jmp 0x1401548b2
mov rdx, qword [rbp + 0x10c8]
mov rcx, qword [rbp + 0x10c0]
mov rax, qword [rbp + 0xee0]
mov r8, qword [rbp + 0xd88]
mov r8, qword [r8]
mov r9, qword [r8 + 0x48]
mov qword [rcx], r9
mov r8, qword [r8 + 0x50]
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.1400c0460
mov rdx, qword [rbp + 0x11b8]
mov rcx, qword [rbp + 0xa08]
add rsp, 0x20
mov r8, rax
mov eax, dword [rbp + 0xa50]
mov qword [rbp + 0x9e0], r8
mov dl, byte [rdx]
mov r8b, 0x9c
xor r8b, 0x9c
cmp dl, r8b
mov qword [rbp + 0xa10], rcx
mov dword [rbp + 0xa1c], eax
jne 0x1401550ec
mov eax, dword [0x140209ab8]
xor eax, 0xd8f856ee
xor edx, edx
div dword [0x140209abc]
mov ecx, eax
and ecx, 0x99817b3
shl ecx, 1
xor eax, 0x99817b3
add eax, ecx
mov ecx, eax
xor ecx, 0xffffffff
mov edx, 0x73af66e1
xor edx, 0xabbb46c2
and edx, ecx
mov r8d, 0xffffffff
xor r8d, 0xd8142023
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0xd8142023
or eax, 0xd8142023
imul eax, edx
add eax, ecx
mov ecx, 0xe396e38a
xor ecx, 0x521c4b6a
sub eax, ecx
mov ecx, 0xb558d2e9
xor ecx, 0x1db5f18f
cmp eax, ecx
je 0x14015d209
mov eax, dword [0x140209ac0]
mov ecx, dword [0x140209ac4]
mov edx, 0x5be49259
xor edx, 0xa41b6da6
xor ecx, edx
add eax, ecx
add eax, 1
mov edx, eax
and edx, 0x43cae71a
mov ecx, 0x1d7842ae
xor ecx, 0x1d7842ac
imul ecx, edx
add eax, 0x43cae71a
sub eax, ecx
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0x14f771f9
mov edx, 0xffffffff
xor edx, 0x14f771f9
and eax, edx
sub eax, ecx
mov ecx, 0x3f2f1e9d
xor edx, edx
div ecx
mov rdx, qword [rbp + 0x9e0]
xor ecx, ecx
mov r8d, ecx
sub r8, rdx
xor ecx, ecx
sub rcx, 1
add r8, rcx
xor ecx, ecx
sub rcx, r8
mov qword [rbp + 0x9d0], rcx
movabs r9, 0x499f13f1746cf9b0
movabs r8, 0xb660ec0e8b93064f
xor r9, r8
mov r8, rdx
and r8, r9
shl r8, 1
add rdx, 0xffffffffffffffff
sub rdx, r8
and rcx, rdx
cmp rcx, 0
setl cl
mov byte [rbp + 0x9df], cl
cmp eax, 0x7e159c10
ja 0x14015d209
mov al, byte [rbp + 0x9df]
test al, 1
jne 0x140154752
jmp 0x14015477e
sub rsp, 0x20
call fcn.140007f57
mov rcx, qword [rbp + 0xa08]
mov eax, dword [rbp + 0xa50]
add rsp, 0x20
mov qword [rbp + 0xa10], rcx
mov dword [rbp + 0xa1c], eax
jmp 0x1401550ec
mov rax, qword [rbp + 0xd88]
mov rax, qword [rax]
mov eax, dword [rax + 0x24]
mov dword [rbp + 0x9cc], eax
cmp eax, 0xffffffff
jne 0x140154816
mov rcx, qword [rbp + 0x10d0]
mov rax, qword [rbp + 0xee0]
mov rdx, qword [rax]
mov qword [rbp + 0x1720], rdx
mov rax, qword [rax + 8]
mov qword [rbp + 0x1728], rax
lea rdx, [rbp + 0x1720]
sub rsp, 0x20
call fcn.14001dec2
mov rdx, qword [rbp + 0x10d0]
mov rcx, qword [rbp + 0xfb8]
mov rax, qword [rbp + 0xfc0]
add rsp, 0x20
mov rdx, qword [rdx]
mov rcx, qword [rcx]
mov qword [rbp + 0x1710], rdx
mov qword [rax], rcx
lea rcx, [rbp + 0x1a28]
lea rdx, [rbp + 0x1710]
sub rsp, 0x20
call fcn.14001d35c
add rsp, 0x20
jmp 0x1401548a6
mov rax, qword [rbp + 0x9d0]
mov ecx, dword [rbp + 0x9cc]
movsxd rcx, ecx
cmp rax, rcx
jg 0x1401548a6
mov rcx, qword [rbp + 0x10d8]
mov rax, qword [rbp + 0xee0]
mov rdx, qword [rax]
mov qword [rbp + 0x1700], rdx
mov rax, qword [rax + 8]
mov qword [rbp + 0x1708], rax
lea rdx, [rbp + 0x1700]
sub rsp, 0x20
call fcn.14001dec2
mov rdx, qword [rbp + 0x10d8]
mov rcx, qword [rbp + 0xfa8]
mov rax, qword [rbp + 0xfb0]
add rsp, 0x20
mov rdx, qword [rdx]
mov rcx, qword [rcx]
mov qword [rbp + 0x16f0], rdx
mov qword [rax], rcx
lea rcx, [rbp + 0x1a28]
lea rdx, [rbp + 0x16f0]
sub rsp, 0x20
call fcn.14001d35c
add rsp, 0x20
mov al, byte [rbp + 0x19d8]
mov byte [rbp + 0x9ed], al
mov eax, dword [rbp + 0xa50]
mov rcx, qword [rbp + 0xa08]
mov dl, byte [rbp + 0x9ed]
cmp dl, 0
mov qword [rbp + 0xa10], rcx
mov dword [rbp + 0xa1c], eax
jne 0x1401550ec
mov rcx, qword [rbp + 0x1020]
lea rdx, [rbp + 0x19d8]
sub rsp, 0x20
call fcn.1400c022e
mov rdx, qword [rbp + 0x11b8]
mov rcx, qword [rbp + 0xa08]
mov eax, dword [rbp + 0xa50]
add rsp, 0x20
cmp byte [rdx], 0
mov qword [rbp + 0xa10], rcx
mov dword [rbp + 0xa1c], eax
jne 0x1401550ec
lea rcx, [rbp + 0x19d8]
sub rsp, 0x20
call fcn.1400c0ab0
mov rdx, qword [rbp + 0x1020]
mov rcx, qword [rbp + 0xa08]
mov eax, dword [rbp + 0xa50]
add rsp, 0x20
cmp byte [rdx], 0
mov qword [rbp + 0xa10], rcx
mov dword [rbp + 0xa1c], eax
jne 0x1401550ec
mov rax, qword [rbp + 0xd88]
mov rax, qword [rax]
mov rax, qword [rax + 0x58]
mov qword [rbp + 0x9b8], rax
xor eax, eax
mov qword [rbp + 0x9c0], rax
mov eax, dword [rbp + 0xa50]
mov rcx, qword [rbp + 0xa08]
mov r8, qword [rbp + 0x9b8]
mov rdx, qword [rbp + 0x9c0]
mov qword [rbp + 0x9b0], rdx
cmp rdx, r8
mov qword [rbp + 0xa10], rcx
mov dword [rbp + 0xa1c], eax
jge 0x1401550ec
mov rax, qword [rbp + 0x9b0]
mov rcx, qword [rbp + 0xd88]
mov rcx, qword [rcx]
mov qword [rbp + 0x9a0], rcx
mov rcx, qword [rcx + 0x58]
mov qword [rbp + 0x9a8], rcx
cmp rax, rcx
jl 0x140154a34
mov rcx, qword [rbp + 0x9b0]
mov rdx, qword [rbp + 0x9a8]
movabs rax, 0x41319f20956d3cf0
movabs r8, 0xbece60df6a92c30f
xor rax, r8
add rdx, rax
sub rsp, 0x20
call fcn.140014583
mov rcx, qword [rbp + 0xa08]
mov eax, dword [rbp + 0xa50]
add rsp, 0x20
mov qword [rbp + 0xa10], rcx
mov dword [rbp + 0xa1c], eax
jmp 0x1401550ec
mov eax, dword [0x140209ac8]
mov edx, dword [0x140209acc]
mov ecx, eax
add ecx, 1
xor eax, 0xffffffff
or eax, edx
add eax, ecx
sub eax, 0x88fd0631
mov ecx, 0xfa0f9976
xor ecx, 0x230d3834
sub eax, ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0x4296efc9
mov r8d, 0xffffffff
xor r8d, 0x4296efc9
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x4296efc9
or eax, 0x4296efc9
imul eax, edx
add eax, ecx
mov ecx, 0x7e2f7fff
xor ecx, 0x1963852a
cmp eax, ecx
je 0x14015d212
mov rax, qword [rbp + 0xf08]
mov rdx, qword [rbp + 0x9b0]
mov rcx, qword [rbp + 0x9a0]
mov r8d, dword [0x140209ad0]
xor r8d, dword [0x140209ad4]
mov r9d, 0x518644d2
xor r9d, 0x2ae54f95
mov r10d, 0x21d7f244
xor r10d, 0xde280dbb
xor r9d, r10d
xor r10d, r10d
sub r10d, 1
sub r9d, r10d
sub r8d, r9d
add r8d, 0x17d88a01
xor r8d, 0x9d8d9ec0
mov dword [rbp + 0x998], r8d
mov rcx, qword [rcx + 0x60]
add rcx, 8
shl rdx, 3
add rcx, rdx
mov qword [rbp + 0x990], rcx
mov rcx, qword [rax]
sub rsp, 0x20
call fcn.14009abaa
mov rcx, qword [rbp + 0x11b8]
add rsp, 0x20
mov dl, al
mov eax, dword [rbp + 0x998]
mov byte [rbp + 0x99e], dl
cmp byte [rcx], 0
sete cl
mov byte [rbp + 0x99f], cl
cmp eax, 0x392fe627
jbe 0x14015d212
mov eax, dword [rbp + 0xa50]
mov rcx, qword [rbp + 0xa08]
mov dl, byte [rbp + 0x99f]
test dl, 1
mov qword [rbp + 0xa10], rcx
mov dword [rbp + 0xa1c], eax
jne 0x140154b85
jmp 0x1401550ec
mov al, byte [rbp + 0x99e]
test al, 1
jne 0x140154b98
jmp 0x1401550ae
mov r8d, dword [0x140209ad8]
and r8d, dword [0x140209adc]
mov eax, r8d
xor eax, 0xffffffff
and eax, 0xa73f4f54
mov edx, 0xdc410976
xor edx, 0x7b7e4622
mov ecx, 0x11e446e2
xor ecx, 0xee1bb91d
xor edx, ecx
and r8d, edx
mov ecx, 0xffffffff
xor ecx, 0x6bab60d
and ecx, 0xa73f4f54
and edx, 0x6bab60d
or eax, r8d
or ecx, edx
xor eax, ecx
mov ecx, 0x7612944b
xor edx, edx
div ecx
xor eax, 0xae6f10a7
mov ecx, 0x6c149ea7
xor ecx, 0x8b707122
cmp eax, ecx
jae 0x14015d21b
mov rdx, qword [rbp + 0xf08]
mov r8, qword [rbp + 0x990]
mov eax, dword [0x140209ae0]
and eax, dword [0x140209ae4]
xor eax, 0xc62e3eff
xor ecx, ecx
sub ecx, 0x87f7809b
add eax, ecx
imul eax, eax, 0x9c446d6
mov ecx, 0xcd39b424
xor ecx, 0xc0eed5eb
mov r8, qword [r8]
mov qword [rbp + 0x978], r8
movsxd r8, dword [r8 + 0x10]
mov rdx, qword [rdx]
mov qword [rbp + 0x980], rdx
cmp rdx, r8
setl dl
mov byte [rbp + 0x98f], dl
cmp eax, ecx
jbe 0x140154c0b
mov al, byte [rbp + 0x98f]
test al, 1
jne 0x1401550ae
jmp 0x140154c84
mov rax, qword [rbp + 0x980]
mov rcx, qword [rbp + 0x978]
movsxd rcx, dword [rcx + 0x14]
cmp rax, rcx
jg 0x1401550ae
mov rcx, qword [rbp + 0x10e0]
mov rax, qword [rbp + 0xf10]
mov rdx, qword [rax]
mov qword [rbp + 0x16e0], rdx
mov rax, qword [rax + 8]
mov qword [rbp + 0x16e8], rax
lea rdx, [rbp + 0x16e0]
sub rsp, 0x20
call fcn.14001dec2
mov r8, qword [rbp + 0x10e0]
mov rcx, qword [rbp + 0xfc8]
mov rax, qword [rbp + 0x990]
mov rdx, qword [rbp + 0x10e8]
add rsp, 0x20
mov r8, qword [r8]
mov qword [rbp + 0x960], r8
mov rcx, qword [rcx]
mov qword [rbp + 0x968], rcx
mov rax, qword [rax]
mov rcx, qword [rax]
mov qword [rdx], rcx
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
lea rcx, [rbp + 0x16d0]
sub rsp, 0x20
call fcn.14001dec2
mov rcx, qword [rbp + 0xfd0]
mov r10, qword [rbp + 0x960]
mov r9, qword [rbp + 0x968]
mov r8, qword [rbp + 0xfd8]
mov rax, qword [rbp + 0xfe0]
add rsp, 0x20
mov rdx, qword [rbp + 0x16d0]
mov rcx, qword [rcx]
mov qword [rbp + 0x16c0], r10
mov qword [r8], r9
mov qword [rbp + 0x16b0], rdx
mov qword [rax], rcx
lea rcx, [rbp + 0x16c0]
lea rdx, [rbp + 0x16b0]
sub rsp, 0x20
call fcn.1400838e0
mov rdx, qword [rbp + 0x11b8]
mov rcx, qword [rbp + 0xa08]
add rsp, 0x20
mov r8b, al
mov eax, dword [rbp + 0xa50]
mov byte [rbp + 0x977], r8b
cmp byte [rdx], 0
mov qword [rbp + 0xa10], rcx
mov dword [rbp + 0xa1c], eax
jne 0x1401550ec
mov al, byte [rbp + 0x977]
test al, 1
jne 0x140154dce
jmp 0x1401550ae
mov rax, qword [rbp + 0xd88]
mov rcx, qword [rax]
mov qword [rbp + 0x958], rcx
sub rsp, 0x20
xor eax, eax
mov dl, al
call fcn.14014f6c0
add rsp, 0x20
mov rax, qword [rbp + 0x11b8]
cmp byte [rax], 0
jne 0x140155070
lea rcx, [rbp + 0x1680]
mov edx, 0x30
sub rsp, 0x20
call fcn.140143f80
mov rdx, qword [rbp + 0x1020]
add rsp, 0x20
lea rcx, [rbp + 0x1680]
mov r8d, 0x30
sub rsp, 0x20
call sub.msvcrt.dll_memcpy
mov rcx, qword [rbp + 0x1020]
call fcn.1400c0ab0
mov rax, qword [rbp + 0xf38]
mov rcx, qword [rbp + 0x1010]
add rsp, 0x20
mov rax, qword [rax]
mov qword [rbp + 0x948], rax
mov rcx, qword [rcx]
mov qword [rbp + 0x950], rcx
cmp rax, 0
je 0x140154eaa
mov rax, qword [rbp + 0x950]
mov r9, qword [rbp + 0x948]
mov rdx, qword [rbp + 0x958]
mov rcx, qword [rbp + 0x1018]
lea r8, [rbp + 0x1680]
sub rsp, 0x20
call rax
add rsp, 0x20
mov byte [rbp + 0x947], al
jmp 0x140154fd4
mov eax, dword [0x140209ae8]
xor eax, 0x3049abd8
mov ecx, dword [0x140209aec]
xor ecx, 0xccc84146
add eax, ecx
or eax, 0x4a865ba6
xor eax, 0x92090071
mov r8d, 0xffffffff
xor r8d, 0x3f7923f5
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
mov r8d, 0x962417e4
xor r8d, 0x69dbe81b
xor ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x3f7923f5
mov r8d, 0x720a0f52
xor r8d, 0x4d732ca7
or eax, r8d
imul eax, edx
add eax, ecx
cmp eax, 0xcc2a682b
ja 0x14015d224
mov rcx, qword [rbp + 0x1018]
mov eax, dword [0x140209af0]
add eax, dword [0x140209af4]
mov r8d, 0xdd8dbf8d
xor edx, edx
div r8d
mov rdx, qword [rbp + 0x958]
mov r8d, eax
mov rax, qword [rbp + 0x950]
mov r10d, r8d
xor r10d, 0xffffffff
and r10d, 0xae9b56bc
mov r11d, 0xffffffff
xor r11d, 0xae9b56bc
mov r9d, r8d
and r9d, r11d
imul r9d, r10d
mov r10d, r8d
and r10d, 0xae9b56bc
or r8d, 0xae9b56bc
imul r8d, r10d
add r8d, r9d
imul r8d, r8d, 0x54a1ac39
mov dword [rbp + 0x940], r8d
lea r8, [rbp + 0x1680]
sub rsp, 0x20
call rax
add rsp, 0x20
mov cl, al
mov eax, dword [rbp + 0x940]
mov byte [rbp + 0x946], cl
cmp eax, 0x3b3721ca
jae 0x140154f1f
mov al, byte [rbp + 0x946]
mov byte [rbp + 0x947], al
jmp 0x140154fd4
mov rax, qword [rbp + 0x11b8]
mov cl, byte [rbp + 0x947]
mov al, byte [rax]
test al, al
sete al
and al, cl
test al, 1
jne 0x140154ff7
jmp 0x14015508f
mov eax, dword [rbp + 0xa50]
movsxd rcx, eax
mov rax, rcx
inc rax
mov qword [rbp + 0x938], rax
mov rdx, rcx
add rdx, rdx
not rdx
add rdx, rcx
and rax, rdx
test rax, rax
sets al
add rcx, 0xffffffff80000001
movabs rdx, 0xffffffff00000000
sub rcx, rdx
setb cl
or al, cl
test al, 1
jne 0x140155063
mov rcx, qword [rbp + 0xa08]
mov rax, qword [rbp + 0x938]
mov qword [rbp + 0xa10], rcx
mov dword [rbp + 0xa1c], eax
jmp 0x1401550ec
sub rsp, 0x20
call fcn.140007f57
add rsp, 0x20
mov eax, dword [rbp + 0xa50]
mov rcx, qword [rbp + 0xa08]
mov qword [rbp + 0xa10], rcx
mov dword [rbp + 0xa1c], eax
jmp 0x1401550ec
mov eax, dword [rbp + 0xa50]
mov rcx, qword [rbp + 0xa08]
mov qword [rbp + 0xa10], rcx
mov dword [rbp + 0xa1c], eax
jmp 0x1401550ec
mov rax, qword [rbp + 0x9b0]
movabs rcx, 0x823150e4e0debb2f
sub rax, rcx
add rax, 1
movabs rcx, 0x7caf027cce85a5d0
movabs rdx, 0xfe9e52982e5b1eff
xor rcx, rdx
add rax, rcx
mov qword [rbp + 0x9c0], rax
jmp 0x14015497c
mov rax, qword [rbp + 0xa30]
mov rcx, qword [rbp + 0xa10]
mov edx, dword [rbp + 0xa1c]
mov dword [rbp + 0x92c], edx
mov qword [rbp + 0x930], rcx
cmp rax, 0
je 0x140155149
mov rcx, qword [rbp + 0xa30]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
cmp rax, 0
jne 0x140155149
mov rcx, qword [rbp + 0xa30]
sub rsp, 0x20
call fcn.14000fb44
add rsp, 0x20
mov eax, dword [0x140209af8]
mov ecx, dword [0x140209afc]
sub eax, 0xa727da0c
sub eax, ecx
add eax, 0xa727da0c
sub eax, 0xfe5c9c1a
mov ecx, 0xcb04cb9c
xor edx, edx
div ecx
mov r8d, 0xffffffff
xor r8d, 0x167a46e1
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov r8d, 0x8a2f397d
xor r8d, 0x9c557f9c
mov edx, eax
and edx, r8d
mov r8d, 0xd5295bf9
xor r8d, 0xc3531d18
or eax, r8d
imul eax, edx
add eax, ecx
cmp eax, 0x9f6b8db6
ja 0x14015d22d
mov rdx, qword [rbp + 0x930]
mov eax, dword [0x140209b00]
mov r9d, dword [0x140209b04]
xor r9d, 0x75cb524e
mov ecx, eax
xor ecx, 0xffffffff
mov r8d, r9d
and r8d, ecx
mov r10d, r9d
xor r10d, 0xffffffff
mov ecx, eax
and ecx, r10d
imul ecx, r8d
mov r8d, eax
and r8d, r9d
or eax, r9d
imul eax, r8d
add eax, ecx
imul ecx, eax, 0xa1d01f2c
mov eax, ecx
xor eax, 0xffffffff
mov r8d, ecx
xor r8d, 0xffffffff
and eax, r8d
mov r8d, 0xffffffff
xor r8d, 0x8ccd0869
mov r9d, 0xf2bcda98
xor r9d, 0x7e71d2f1
mov r10d, 0x2ec797ad
xor r10d, 0xd1386852
xor r9d, r10d
and r8d, r9d
or eax, r8d
xor eax, 0xffffffff
or ecx, 0x8ccd0869
xor ecx, 0xffffffff
xor eax, 0xffffffff
mov r8d, 0xf5a6c184
xor r8d, 0xa593e7b
xor ecx, r8d
and eax, ecx
mov ecx, 0x59e824be
xor ecx, 0x97eaaccb
or eax, ecx
mov ecx, 0xb143e742
xor ecx, 0x257c3065
cmp rdx, 0
sete dl
mov byte [rbp + 0x92b], dl
cmp eax, ecx
jbe 0x1401551be
mov eax, dword [rbp + 0x92c]
mov cl, byte [rbp + 0x92b]
test cl, 1
mov dword [rbp + 0xa40], eax
jne 0x1401553fc
jmp 0x1401552b6
mov eax, dword [rbp + 0x92c]
mov rcx, qword [rbp + 0x930]
mov rcx, qword [rcx]
movabs rdx, 0x610ad4b7a666c490
movabs r8, 0x210ad4b7a666c490
xor rdx, r8
and rcx, rdx
cmp rcx, 0
mov dword [rbp + 0xa40], eax
jne 0x1401553fc
mov eax, dword [0x140209b08]
mov ecx, dword [0x140209b0c]
mov edx, 0x1493595
xor edx, 0x8954afd8
sub eax, edx
add eax, ecx
add eax, 0x881d9a4d
sub eax, 0xfaff144
mov ecx, 0xc600516e
xor ecx, 0x9fbf87e
add eax, ecx
add eax, 0xfaff144
mov ecx, 0x5e8bb152
xor edx, edx
div ecx
add eax, 0x6ad44fac
cmp eax, 0xa95ec5dc
je 0x14015d236
mov rcx, qword [rbp + 0x930]
mov edx, dword [0x140209b10]
xor edx, 0x971848c3
mov eax, dword [0x140209b14]
mov r8d, 0xdc761c64
xor r8d, 0xd94c7f4f
xor eax, r8d
imul edx, eax
mov eax, edx
xor eax, 0xffffffff
and eax, 0x4f70d65e
mov r8d, 0xc950d5df
xor r8d, 0x86200381
mov r9d, 0x3351ceef
xor r9d, 0xccae3110
xor r8d, r9d
and edx, r8d
or eax, edx
xor eax, 0xf9edf438
sub eax, 0x343c6e61
mov edx, 0xc404f5ec
xor edx, 0xe21b71f8
sub eax, edx
add eax, 0x343c6e61
mov dword [rbp + 0x924], eax
mov eax, 0x96c371e0
xor eax, 0x5a33839a
mov dword [rbp + 0x920], eax
sub rsp, 0x20
call fcn.14000fb44
mov ecx, dword [rbp + 0x920]
mov eax, dword [rbp + 0x924]
add rsp, 0x20
cmp eax, ecx
je 0x14015d236
mov eax, dword [rbp + 0x92c]
mov dword [rbp + 0xa40], eax
jmp 0x1401553fc
mov rcx, qword [rbp + 0x11b8]
mov eax, dword [rbp + 0xa40]
mov dword [rbp + 0x91c], eax
cmp byte [rcx], 0
mov dword [rbp + 0xa3c], eax
je 0x14015543d
mov rax, qword [rbp + 0xc68]
mov ecx, dword [rbp + 0xa3c]
mov dword [rbp + 0xc74], ecx
mov qword [rbp + 0xc78], rax
jmp case.0x140155766.17
mov eax, dword [rbp + 0x91c]
mov dword [rbp + 0xbd4], eax
jmp 0x1401554b5
mov eax, dword [rbp + 0xa50]
mov dl, byte [rbp + 0xa57]
mov ecx, 0x11
test dl, 1
mov dword [rbp + 0xa58], ecx
mov ecx, eax
mov dword [rbp + 0xa5c], ecx
mov dword [rbp + 0xbd4], eax
jne 0x1401554b5
mov rcx, qword [rbp + 0xbc0]
mov eax, dword [rbp + 0xa58]
mov edx, dword [rbp + 0xa5c]
cmp eax, 0x1f
mov r8d, edx
mov dword [rbp + 0xbd4], r8d
mov dword [rbp + 0x90c], edx
mov qword [rbp + 0x910], rcx
mov dword [rbp + 0x918], eax
jne 0x140155572
mov rcx, qword [rbp + 0xc58]
mov rdx, qword [rbp + 0xc68]
mov r8, qword [rbp + 0xbc0]
mov eax, dword [rbp + 0xbd4]
mov dword [rbp + 0x904], eax
mov r9d, dword [r8]
mov dword [rbp + 0x908], r9d
xor r8d, r8d
cmp r9d, 1
mov byte [rbp + 0xc9f], r8b
mov qword [rbp + 0xca0], rdx
mov qword [rbp + 0xca8], rcx
mov dword [rbp + 0xcb4], eax
jl 0x140151b80
mov edx, dword [rbp + 0x908]
mov rcx, qword [rbp + 0xbc0]
sub rsp, 0x20
call fcn.14015de20
mov rdx, qword [rbp + 0x11b8]
mov ecx, dword [rbp + 0x904]
add rsp, 0x20
mov r8, rax
mov rax, qword [rbp + 0xc68]
mov r9b, byte [rdx]
mov r10b, 0x9e
xor r10b, 0x9e
xor edx, edx
cmp r9b, r10b
mov r9d, ecx
mov dword [rbp + 0x90c], r9d
mov qword [rbp + 0x910], r8
mov dword [rbp + 0x918], edx
mov dword [rbp + 0xc74], ecx
mov qword [rbp + 0xc78], rax
jne case.0x140155766.17
mov eax, dword [rbp + 0x90c]
mov rcx, qword [rbp + 0x910]
mov edx, dword [rbp + 0x918]
mov dword [rbp + 0x8fc], edx
mov dword [rbp + 0x900], eax
test edx, edx
mov qword [rbp + 0xbd8], rcx
mov dword [rbp + 0xbe4], eax
je 0x1401525ca
jmp 0x1401555ab
mov eax, dword [rbp + 0x900]
mov ecx, dword [rbp + 0x8fc]
mov rdx, qword [rbp + 0xc58]
mov r8, qword [rbp + 0xc68]
mov r9d, ecx
sub r9d, 0x1b
mov r9d, eax
mov dword [rbp + 0x8f8], r9d
mov qword [rbp + 0xbe8], r8
mov qword [rbp + 0xbf0], rdx
mov dword [rbp + 0xbfc], ecx
mov dword [rbp + 0xc00], eax
je 0x14015562f
jmp 0x1401556e5
mov rax, qword [rbp + 0xc68]
mov ecx, dword [rbp + 0xc64]
mov edx, dword [rbp + 0xc3c]
cmp edx, 0x80000006
mov edx, ecx
mov dword [rbp + 0x8f8], edx
mov dword [rbp + 0xc74], ecx
mov qword [rbp + 0xc78], rax
je case.0x140155766.17
mov eax, dword [rbp + 0x8f8]
mov dword [rbp + 0x8f4], eax
mov ecx, 0x40
mov edx, 8
sub rsp, 0x20
call fcn.140014320
add rsp, 0x20
mov rcx, rax
mov rax, qword [str._O_n_]
mov qword [rcx], rax
lea rax, [0x140216599]
mov qword [rcx + 0x10], rax
mov rax, qword [0x140216608]
mov qword [rcx + 0x18], rax
mov rax, qword [str.Hf__]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
movabs rax, 0x672dae8d67edc6b4
movabs rdx, 0x98d25172b91f4e7b
xor rax, rdx
lea rdx, [0x140216599]
lea r8, [0x1402165aa]
lea r9, [0x1402165b2]
sub rsp, 0x30
mov qword [rsp + 0x20], rax
call fcn.1400139e0
mov ecx, dword [rbp + 0x8f4]
mov rax, qword [rbp + 0xc68]
add rsp, 0x30
mov dword [rbp + 0xc74], ecx
mov qword [rbp + 0xc78], rax
jmp case.0x140155766.17
mov rcx, qword [rbp + 0xbe8]
mov rdx, qword [rbp + 0xbf0]
mov eax, dword [rbp + 0xbfc]
mov r8d, dword [rbp + 0xc00]
mov dword [rbp + 0x8d0], r8d
mov dword [rbp + 0x8d4], eax
mov qword [rbp + 0x8d8], rdx
mov qword [rbp + 0x8e0], rcx
mov ecx, eax
mov qword [rbp + 0x8e8], rcx
sub eax, 0x1a
ja case.0x140155766.1
mov ecx, dword [rbp + 0x8d0]
mov rdx, qword [rbp + 0x8e0]
mov rax, qword [rbp + 0x8e8]
lea r8, [0x14015d3e0]
movsxd rax, dword [r8 + rax*4]
add rax, r8
mov r8d, ecx
mov dword [rbp + 0xc74], r8d
mov qword [rbp + 0xc78], rdx
mov dword [rbp + 0xcb8], ecx
jmp rax
mov eax, dword [rbp + 0x8d0]
mov rcx, qword [rbp + 0x8d8]
mov rdx, qword [rbp + 0x8e0]
mov qword [rbp + 0xc88], rdx
mov qword [rbp + 0xc90], rcx
mov dword [rbp + 0xc98], eax
jmp 0x140151bb6
mov eax, dword [rbp + 0xc74]
mov rcx, qword [rbp + 0xc78]
mov dword [rbp + 0x8cc], eax
sub rsp, 0x20
call fcn.14001f7f0
mov eax, dword [rbp + 0x8cc]
add rsp, 0x20
mov dword [rbp + 0xcb8], eax
mov rax, qword [rbp + 0x11b8]
mov ecx, dword [rbp + 0xcb8]
mov dword [rbp + 0x8b8], ecx
mov cl, byte [rax]
mov byte [rbp + 0x8bf], cl
mov cl, 0x9b
xor cl, 0x9b
mov byte [rax], cl
mov rax, qword [rbp + 0x1970]
mov qword [rbp + 0x8c0], rax
cmp rax, 0
jle 0x140155842
mov rcx, qword [rbp + 0x8c0]
mov rax, qword [0x140216f60]
sub rsp, 0x20
call qword [rax]
mov rcx, qword [rbp + 0x11b8]
add rsp, 0x20
mov eax, dword [rbp + 0x8b8]
mov dl, byte [rcx]
xor ecx, ecx
mov r8b, cl
xor r8b, 0
mov cl, 1
cmp dl, r8b
mov byte [rbp + 0xcc3], cl
mov dword [rbp + 0xcc4], eax
jne 0x1401559f4
mov ecx, dword [0x140209b18]
mov edx, dword [0x140209b1c]
mov eax, 0x5a5336c0
xor eax, 0x5a5336c0
sub eax, edx
sub ecx, eax
xor ecx, 0xa09f743
mov eax, ecx
xor eax, 0xffffffff
mov edx, 0xb9146bf6
xor edx, 0x46eb9409
xor ecx, edx
and eax, ecx
mov ecx, 0xffffffff
xor ecx, 0xa4df444b
mov edx, 0x5bf40fab
xor edx, 0xff2b4be0
mov r8d, 0x8e1703bf
xor r8d, 0x71e8fc40
xor edx, r8d
and ecx, edx
or eax, ecx
xor eax, 0xffffffff
or eax, eax
xor eax, 0xffffffff
mov ecx, 0xffffffff
xor ecx, 0x3180c664
mov edx, 0xffffffff
xor edx, 0x3180c664
and ecx, edx
xor eax, 0xffffffff
mov edx, 0x47b769c4
xor edx, 0xb848963b
xor ecx, edx
and eax, ecx
cmp eax, 0x6c00b2fb
je 0x14015d23f
mov eax, dword [0x140209b20]
xor eax, dword [0x140209b24]
mov ecx, 0x25786098
xor ecx, 0xbaf34860
xor edx, edx
div ecx
mov ecx, 0x4f5f870b
xor edx, edx
div ecx
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, 0xbebee28d
add ecx, eax
mov eax, 0x71085fa8
xor eax, 0x71085fa8
sub eax, ecx
mov ecx, 0x1ff40b97
xor ecx, 0xb25eebdf
cmp eax, ecx
jbe 0x1401558dd
mov eax, dword [rbp + 0x8b8]
mov cl, byte [rbp + 0x8bf]
mov byte [rbp + 0xcc3], cl
mov dword [rbp + 0xcc4], eax
jmp 0x1401559f4
mov rax, qword [rbp + 0xd10]
mov qword [rbp + 0x8b0], rax
sub rsp, 0x20
call fcn.140007f57
mov r8, qword [rbp + 0x11b8]
mov rdx, qword [rbp + 0x8b0]
mov rcx, qword [rbp + 0xd38]
mov rax, qword [rbp + 0xd28]
add rsp, 0x20
mov r8b, byte [r8]
mov byte [rbp + 0xd5f], r8b
mov qword [rbp + 0xd60], rdx
mov qword [rbp + 0xd68], rcx
mov qword [rbp + 0xd70], rax
mov r9d, dword [rbp + 0xd7c]
mov r10, qword [rbp + 0x11b8]
mov al, byte [rbp + 0xd5f]
mov rcx, qword [rbp + 0xd60]
mov rdx, qword [rbp + 0xd68]
mov r8, qword [rbp + 0xd70]
mov byte [r10], 0
mov dword [rbp + 0x88c], r9d
mov qword [rbp + 0x890], r8
mov qword [rbp + 0x898], rdx
mov qword [rbp + 0x8a0], rcx
mov byte [rbp + 0x8af], al
jmp 0x140155b4b
mov rcx, qword [rbp + 0xd08]
mov rdx, qword [rbp + 0xd38]
mov r8, qword [rbp + 0xd28]
mov r10, qword [rbp + 0xce8]
mov r11, qword [rbp + 0x11b8]
mov al, byte [rbp + 0xcc3]
mov r9d, dword [rbp + 0xcc4]
mov dword [rbp + 0x884], r9d
mov byte [rbp + 0x88b], al
mov byte [r11], 0
cmp r10, 0
mov dword [rbp + 0x88c], r9d
mov qword [rbp + 0x890], r8
mov qword [rbp + 0x898], rdx
mov qword [rbp + 0x8a0], rcx
mov byte [rbp + 0x8af], al
je 0x140155b4b
mov al, byte [rbp + 0x88b]
mov rcx, qword [rbp + 0xd08]
mov rdx, qword [rbp + 0xd38]
mov r8, qword [rbp + 0xd28]
mov r9d, dword [rbp + 0x884]
mov r10, qword [rbp + 0xce8]
mov r11, qword [r10]
movabs rsi, 0x12b225332faba071
movabs r10, 0x52b225332faba071
xor rsi, r10
movabs r10, 0x72269016a2752acb
movabs rdi, 0x8dd96fe95d8ad534
xor r10, rdi
xor rsi, r10
mov r10, r11
xor r10, rsi
and r10, r11
cmp r10, 0
mov dword [rbp + 0x88c], r9d
mov qword [rbp + 0x890], r8
mov qword [rbp + 0x898], rdx
mov qword [rbp + 0x8a0], rcx
mov byte [rbp + 0x8af], al
jne 0x140155b4b
mov rcx, qword [rbp + 0xce8]
sub rsp, 0x20
call fcn.14000fb44
mov r9d, dword [rbp + 0x884]
mov r8, qword [rbp + 0xd28]
mov rdx, qword [rbp + 0xd38]
mov rcx, qword [rbp + 0xd08]
mov al, byte [rbp + 0x88b]
add rsp, 0x20
mov dword [rbp + 0x88c], r9d
mov qword [rbp + 0x890], r8
mov qword [rbp + 0x898], rdx
mov qword [rbp + 0x8a0], rcx
mov byte [rbp + 0x8af], al
mov eax, dword [rbp + 0x88c]
mov rcx, qword [rbp + 0x890]
mov rdx, qword [rbp + 0x898]
mov r8, qword [rbp + 0x8a0]
mov r9b, byte [rbp + 0x8af]
mov byte [rbp + 0x867], r9b
mov qword [rbp + 0x868], r8
mov qword [rbp + 0x870], rdx
mov qword [rbp + 0x878], rcx
mov dword [rbp + 0x880], eax
mov ecx, dword [0x140209b28]
mov edx, dword [0x140209b2c]
mov eax, 0x466c918f
xor eax, 0xbb2f8067
xor edx, eax
mov eax, ecx
or eax, eax
xor eax, 0xffffffff
mov r8d, edx
xor r8d, 0xffffffff
mov r9d, edx
xor r9d, 0xffffffff
and r8d, r9d
xor eax, 0xffffffff
xor r8d, 0xffffffff
and eax, r8d
xor ecx, 0xffffffff
mov r8d, 0xbe8989cb
xor r8d, 0x41767634
xor edx, r8d
and ecx, edx
or eax, ecx
xor eax, 0xffffffff
xor eax, 0x91c1fec9
mov ecx, 0x4383bd4f
xor edx, edx
div ecx
mov ecx, 0x15832268
xor ecx, 0x59b07ea7
imul eax, ecx
cmp eax, 0x860920b4
jb 0x14015d248
mov rdx, qword [rbp + 0x868]
mov r8b, byte [rbp + 0x867]
mov ecx, dword [0x140209b30]
mov r10d, dword [0x140209b34]
xor r10d, 0xaf04d065
mov eax, ecx
xor eax, 0xffffffff
mov r9d, r10d
and r9d, eax
mov eax, 0xa84a239e
xor eax, 0x57b5dc61
mov r11d, r10d
xor r11d, eax
mov eax, ecx
and eax, r11d
imul eax, r9d
mov r9d, ecx
and r9d, r10d
or ecx, r10d
imul ecx, r9d
add ecx, eax
mov eax, 0xf17d25e0
xor eax, 0x282efadf
add ecx, eax
mov eax, 0x80a794fb
xor eax, 0x52f2eb05
and ecx, eax
mov eax, ecx
or eax, eax
xor eax, 0xffffffff
mov r9d, 0xffffffff
xor r9d, 0xfd4a6622
mov r10d, 0xffffffff
xor r10d, 0xfd4a6622
and r9d, r10d
mov r10d, 0x3b8442dd
xor r10d, 0xc47bbd22
xor eax, r10d
xor r9d, 0xffffffff
and eax, r9d
xor ecx, 0xffffffff
mov r9d, 0xffffffff
xor r9d, 0xfd4a6622
and ecx, r9d
mov r9d, 0x21f65dac
xor r9d, 0xde09a253
xor eax, r9d
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0x2b36ebbf
xor ecx, 0x54eba6e5
mov r9b, 0xd0
xor r9b, 0xd0
cmp r8b, r9b
sete r8b
mov byte [rbp + 0x865], r8b
cmp rdx, 0
sete dl
mov byte [rbp + 0x866], dl
cmp eax, ecx
je 0x14015d248
mov al, byte [rbp + 0x866]
test al, 1
jne 0x140155db0
jmp 0x140155d22
mov rax, qword [rbp + 0x868]
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
movabs rdx, 0x3d32bc482cbc2dba
movabs r8, 0xc2cd43b7d343d245
xor rdx, r8
xor rcx, rdx
or rax, rcx
movabs rcx, 0x8dc18ee70bed2532
movabs rdx, 0x8dc18ee70bed2532
xor rcx, rdx
cmp rax, rcx
jne 0x140155db0
mov rcx, qword [rbp + 0x868]
sub rsp, 0x20
call fcn.14000fb44
add rsp, 0x20
mov rax, qword [rbp + 0x870]
cmp rax, 0
je 0x140155e11
mov rax, qword [rbp + 0x870]
mov rax, qword [rax]
mov rcx, rax
add rcx, 1
xor rax, 0xffffffffffffffff
movabs rdx, 0x37869032d423b1d2
movabs r8, 0x77869032d423b1d2
xor rdx, r8
or rax, rdx
add rax, rcx
cmp rax, 0
jne 0x140155e11
mov rcx, qword [rbp + 0x870]
sub rsp, 0x20
call fcn.14000fb44
add rsp, 0x20
mov rax, qword [rbp + 0x878]
cmp rax, 0
je 0x140155e67
mov rax, qword [rbp + 0x878]
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 0x140155e67
mov rcx, qword [rbp + 0x878]
sub rsp, 0x20
call fcn.14000fb44
add rsp, 0x20
lea rcx, [rbp + 0x19d8]
sub rsp, 0x20
call fcn.1400c0adf
mov rax, qword [rbp + 0x11b8]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0xb7
xor cl, 0xb7
cmp al, cl
jne 0x140155fa5
mov al, byte [rbp + 0x865]
mov rcx, qword [rbp + 0x11b8]
mov dl, byte [rbp + 0x867]
mov byte [rcx], dl
test al, 1
jne 0x140155eb3
jmp 0x140155fa5
mov eax, dword [0x140209b38]
xor eax, 0xdb528f39
mov edx, dword [0x140209b3c]
xor ecx, ecx
sub ecx, edx
sub eax, ecx
mov ecx, 0x91895a3b
xor ecx, 0xd711015d
imul eax, ecx
or eax, 0x436fb207
mov ecx, 0x3b683e32
xor ecx, 0x3967cafc
add eax, ecx
add eax, 0xc6581d1e
mov ecx, 0x93f8fb78
xor ecx, 0x91f70fb6
sub eax, ecx
cmp eax, 0x4f03f9b6
je 0x14015d251
mov ecx, dword [0x140209b40]
or ecx, dword [0x140209b44]
mov eax, ecx
or eax, eax
xor eax, 0xffffffff
mov edx, 0x7d1a41df
or edx, 0x7d1a41df
xor edx, 0xffffffff
or eax, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x7d1a41df
and ecx, edx
or eax, ecx
xor eax, 0xffffffff
mov ecx, 0x7f0ca0a3
xor ecx, 0x19293b95
sub eax, ecx
sub eax, 0x84efd5e1
mov ecx, 0x2e03fd47
xor ecx, 0x48266671
add eax, ecx
add eax, 0xba2102d3
sub eax, 0x9f4de796
sub eax, 0xba2102d3
mov ecx, 0x67a245df
xor ecx, 0x90d305c3
cmp eax, ecx
je 0x140155f07
jmp 0x140155ff6
mov eax, dword [rbp + 0x8d0]
mov ecx, dword [rbp + 0x8d4]
mov dword [rbp + 0x85c], ecx
mov dword [rbp + 0x860], eax
jmp 0x14015613d
sub rsp, 0x20
call fcn.14014417d
add rsp, 0x20
mov rax, qword [rax]
mov qword [rbp + 0x850], rax
cmp word [rax + 0x12], 1
jle 0x140155ff6
mov rax, qword [rbp + 0x850]
mov rax, qword [rax + 0x18]
cmp dword [rax + 8], 0xc5722261
jne 0x140155ff6
mov rax, qword [rbp + 0x11b8]
mov byte [rax], 0
sub rsp, 0x20
call fcn.1401441bc
add rsp, 0x20
mov rax, qword [rbp + 0xd48]
cmp rax, 0
je 0x140156108
mov rcx, qword [rbp + 0xd48]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
movabs rcx, 0xb9ff19f8ce5095f6
movabs rdx, 0xb9ff19f8ce5095f6
xor rcx, rdx
cmp rax, rcx
jne 0x140156108
mov ecx, dword [0x140209b48]
mov eax, 0xcdcbc0f9
xor eax, 0x36a2e612
xor ecx, eax
mov edx, dword [0x140209b4c]
mov eax, ecx
and eax, edx
xor ecx, edx
or eax, ecx
mov ecx, 0x8e0b75d5
xor edx, edx
div ecx
mov ecx, 0xd4f304d0
xor edx, edx
div ecx
mov edx, 0x5e404127
xor edx, 0xda7c1885
mov ecx, 0x5ea8fd41
xor ecx, 0xa15702be
xor edx, ecx
mov ecx, eax
and ecx, edx
mov r8d, 0x68c27f8a
xor r8d, 0xecfe2628
mov edx, eax
xor edx, r8d
add eax, edx
sub eax, ecx
cmp eax, 0xa977c757
jae 0x14015d25a
mov rcx, qword [rbp + 0xd48]
mov eax, dword [0x140209b50]
xor eax, 0xb9cc4fcb
xor edx, edx
div dword [0x140209b54]
mov r8d, 0xc7c9671e
xor edx, edx
div r8d
xor eax, 0x7b598208
mov r8d, 0x3375b4fa
xor edx, edx
div r8d
mov dword [rbp + 0x84c], eax
sub rsp, 0x20
call fcn.14000fb44
mov eax, dword [rbp + 0x84c]
add rsp, 0x20
cmp eax, 0x6bc9910d
jae 0x1401560aa
jmp 0x140156108
mov eax, dword [rbp + 0x880]
mov r8, qword [rbp + 0x11b8]
xor edx, edx
mov cl, 1
cmp byte [r8], 0
mov dword [rbp + 0x85c], edx
mov edx, eax
mov dword [rbp + 0x860], edx
mov byte [rbp + 0x847], cl
mov dword [rbp + 0x848], eax
jne 0x1401561a3
mov ecx, dword [rbp + 0x85c]
mov eax, dword [rbp + 0x860]
mov dword [rbp + 0x83c], eax
mov dword [rbp + 0x840], ecx
test ecx, ecx
mov dword [rbp + 0xd84], eax
je 0x14015116a
jmp 0x140156168
mov eax, dword [rbp + 0x83c]
mov ecx, dword [rbp + 0x840]
sub ecx, 0xb
mov dword [rbp + 0xd80], eax
jne 0x140156272
jmp 0x140156188
mov rcx, qword [rbp + 0x11b8]
mov eax, dword [rbp + 0xd80]
mov cl, byte [rcx]
mov byte [rbp + 0x847], cl
mov dword [rbp + 0x848], eax
mov rax, qword [rbp + 0x11b8]
mov cl, byte [rbp + 0x847]
mov edx, dword [rbp + 0x848]
mov dword [rbp + 0x834], edx
mov byte [rbp + 0x83b], cl
mov byte [rax], 0
mov rax, qword [rbp + 0x1a28]
mov qword [rbp + 0x1670], rax
mov rax, qword [rbp + 0x1a30]
mov qword [rbp + 0x1678], rax
lea rcx, [rbp + 0x1670]
sub rsp, 0x20
call fcn.140019e10
mov rcx, qword [rbp + 0x1020]
call fcn.1400c0adf
mov rax, qword [rbp + 0x11b8]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140156261
mov al, byte [rbp + 0x83b]
mov rcx, qword [rbp + 0x11b8]
mov byte [rcx], al
cmp al, 0
jne 0x140156261
mov eax, dword [rbp + 0x834]
mov rcx, qword [rbp + 0xda0]
movabs rdx, 0x79cc2787bcaef6b8
movabs r8, 0x79cc2787bcaef6b9
xor rdx, r8
add rcx, rdx
mov qword [rbp + 0xff0], rcx
mov dword [rbp + 0xff8], eax
jmp 0x140150dd7
mov eax, dword [rbp + 0x834]
mov dword [rbp + 0x1004], eax
jmp 0x14015ce12
mov eax, dword [rbp + 0x83c]
mov ecx, dword [rbp + 0x840]
cmp ecx, 2
mov dword [rbp + 0x1004], eax
je 0x14015ce12
jmp 0x14015d120
mov rsi, qword [rbp + 0x1150]
mov rdi, qword [rbp + 0x10f0]
mov rbx, qword [rbp + 0x1140]
mov r14, qword [rbp + 0x1130]
mov r15, qword [rbp + 0x1110]
mov r12, qword [rbp + 0x1128]
mov r13, qword [rbp + 0x1120]
mov eax, dword [rbp + 0xffc]
mov dword [rbp + 0x5e4], eax
lea rcx, [rbp + 0x1640]
mov edx, 0x30
sub rsp, 0x20
call fcn.140143f80
add rsp, 0x20
movabs rax, 0x8ed52f70a88d4b0c
movabs rcx, 0x8ed52f70a88d4b0d
xor rax, rcx
mov qword [rbp + 0x1630], rax
mov ecx, 1
mov edx, 0x10
mov r8d, 8
sub rsp, 0x20
call fcn.14001b4c0
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x11c0]
mov qword [rbp + 0x1638], rcx
mov rcx, qword [rax]
mov qword [rbp + 0x1610], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x1618], rax
lea rcx, [rbp + 0x1620]
lea rdx, [rbp + 0x1610]
sub rsp, 0x20
call fcn.14001dec2
mov r11, qword [rbp + 0x1010]
mov r10, qword [rbp + 0x11b0]
mov r9, qword [rbp + 0x1160]
mov eax, dword [rbp + 0x5e4]
add rsp, 0x20
mov r8, qword [rbp + 0x1620]
mov rdx, qword [rbp + 0x1628]
mov rcx, qword [rbp + 0x1638]
mov qword [rcx + 8], r8
mov r8, qword [rbp + 0x1168]
mov qword [rcx + 0x10], rdx
mov rdx, qword [rbp + 0x1170]
lea rcx, [rbp + 0x1600]
add rcx, 8
mov qword [rbp + 0x5e8], rcx
mov rcx, qword [rbp + 0x10f8]
add rcx, 8
mov qword [rbp + 0x5f0], rcx
lea rcx, [rbp + 0x15b0]
add rcx, 8
mov qword [rbp + 0x5f8], rcx
lea rcx, [rbp + 0x15a0]
add rcx, 8
mov qword [rbp + 0x600], rcx
mov rcx, qword [rbp + 0x1118]
add rcx, 8
mov qword [rbp + 0x608], rcx
mov rcx, qword [rbp + 0x1198]
add r13, 8
mov qword [rbp + 0x610], r13
lea r13, [rbp + 0x1580]
add r13, 8
mov qword [rbp + 0x618], r13
lea r13, [rbp + 0x1590]
add r13, 8
mov qword [rbp + 0x620], r13
lea r13, [rbp + 0x1570]
add r13, 8
mov qword [rbp + 0x628], r13
lea r13, [rbp + 0x15e8]
add r13, 2
mov qword [rbp + 0x630], r13
add r12, 8
mov qword [rbp + 0x638], r12
lea r12, [rbp + 0x1560]
add r12, 8
mov qword [rbp + 0x640], r12
lea r12, [rbp + 0x1550]
add r12, 8
mov qword [rbp + 0x648], r12
lea r12, [rbp + 0x15e8]
add r12, 8
mov qword [rbp + 0x650], r12
mov r12, r15
add r12, 0x10
mov qword [rbp + 0x658], r12
mov r12, r15
add r12, 0x18
mov qword [rbp + 0x660], r12
mov r12, r15
add r12, 8
mov qword [rbp + 0x668], r12
mov r12, r15
add r12, 0x20
mov qword [rbp + 0x670], r12
add r15, 0x28
mov qword [rbp + 0x678], r15
lea r15, [rbp + 0x1540]
add r15, 8
mov qword [rbp + 0x680], r15
add r14, 8
mov qword [rbp + 0x688], r14
lea r14, [rbp + 0x1530]
add r14, 8
mov qword [rbp + 0x690], r14
lea r14, [rbp + 0x15d0]
add r14, 8
mov qword [rbp + 0x698], r14
lea r14, [rbp + 0x14c8]
add r14, 8
mov qword [rbp + 0x6a0], r14
lea r14, [rbp + 0x14a8]
add r14, 8
mov qword [rbp + 0x6a8], r14
lea r14, [rbp + 0x14b8]
add r14, 8
mov qword [rbp + 0x6b0], r14
lea r14, [rbp + 0x1498]
add r14, 8
mov qword [rbp + 0x6b8], r14
add rbx, 8
mov qword [rbp + 0x6c0], rbx
lea rbx, [rbp + 0x14d8]
add rbx, 8
mov qword [rbp + 0x6c8], rbx
lea rbx, [rbp + 0x14d8]
add rbx, 0x10
mov qword [rbp + 0x6d0], rbx
lea rbx, [rbp + 0x1478]
add rbx, 8
mov qword [rbp + 0x6d8], rbx
lea rbx, [rbp + 0x1468]
add rbx, 8
mov qword [rbp + 0x6e0], rbx
lea rbx, [rbp + 0x1488]
add rbx, 8
mov qword [rbp + 0x6e8], rbx
lea rbx, [rbp + 0x14d8]
add rbx, 0x18
mov qword [rbp + 0x6f0], rbx
lea rbx, [rbp + 0x14d8]
add rbx, 0x20
mov qword [rbp + 0x6f8], rbx
lea rbx, [rbp + 0x14d8]
add rbx, 0x28
mov qword [rbp + 0x700], rbx
add rdi, 0x18
mov qword [rbp + 0x708], rdi
mov rdi, r10
add rdi, 0x24
mov qword [rbp + 0x710], rdi
lea rdi, [rbp + 0x1428]
add rdi, 8
mov qword [rbp + 0x718], rdi
lea rdi, [rbp + 0x1408]
add rdi, 8
mov qword [rbp + 0x720], rdi
add rsi, 8
mov qword [rbp + 0x728], rsi
lea rsi, [rbp + 0x1438]
add rsi, 8
mov qword [rbp + 0x730], rsi
mov rsi, r10
add rsi, 0x58
mov qword [rbp + 0x738], rsi
mov rsi, r10
add rsi, 0x60
mov qword [rbp + 0x740], rsi
lea rsi, [rbp + 0x1640]
add rsi, 0x28
mov qword [rbp + 0x748], rsi
lea rsi, [rbp + 0x1640]
add rsi, 8
mov qword [rbp + 0x750], rsi
lea rsi, [rbp + 0x13d8]
add rsi, 8
mov qword [rbp + 0x758], rsi
lea rsi, [rbp + 0x13b8]
add rsi, 8
mov qword [rbp + 0x760], rsi
lea rsi, [rbp + 0x1398]
add rsi, 8
mov qword [rbp + 0x768], rsi
lea rsi, [rbp + 0x1388]
add rsi, 8
mov qword [rbp + 0x770], rsi
add r11, 8
mov qword [rbp + 0x778], r11
add r10, 8
mov qword [rbp + 0x780], r10
add r9, 8
mov qword [rbp + 0x788], r9
add r8, 8
mov qword [rbp + 0x790], r8
lea r8, [rbp + 0x1318]
add r8, 8
mov qword [rbp + 0x798], r8
lea r8, [rbp + 0x12f8]
add r8, 8
mov qword [rbp + 0x7a0], r8
lea r8, [rbp + 0x1308]
add r8, 8
mov qword [rbp + 0x7a8], r8
lea r8, [rbp + 0x1328]
add r8, 8
mov qword [rbp + 0x7b0], r8
lea r8, [rbp + 0x1328]
add r8, 0x10
mov qword [rbp + 0x7b8], r8
lea r8, [rbp + 0x12d8]
add r8, 8
mov qword [rbp + 0x7c0], r8
lea r8, [rbp + 0x12c8]
add r8, 8
mov qword [rbp + 0x7c8], r8
lea r8, [rbp + 0x12e8]
add r8, 8
mov qword [rbp + 0x7d0], r8
lea r8, [rbp + 0x1328]
add r8, 0x18
mov qword [rbp + 0x7d8], r8
lea r8, [rbp + 0x1328]
add r8, 0x20
mov qword [rbp + 0x7e0], r8
lea r8, [rbp + 0x1328]
add r8, 0x28
mov qword [rbp + 0x7e8], r8
add rdx, 8
mov qword [rbp + 0x7f0], rdx
lea rdx, [rbp + 0x1268]
add rdx, 8
mov qword [rbp + 0x7f8], rdx
lea rdx, [rbp + 0x1298]
add rdx, 8
mov qword [rbp + 0x800], rdx
lea rdx, [rbp + 0x1278]
add rdx, 8
mov qword [rbp + 0x808], rdx
add rcx, 8
mov qword [rbp + 0x810], rcx
lea rcx, [rbp + 0x1220]
add rcx, 8
mov qword [rbp + 0x818], rcx
lea rcx, [rbp + 0x1200]
add rcx, 8
mov qword [rbp + 0x820], rcx
lea rcx, [rbp + 0x11f0]
add rcx, 8
mov qword [rbp + 0x828], rcx
mov dword [rbp + 0x830], eax
mov eax, dword [rbp + 0x830]
mov dword [rbp + 0x5dc], eax
cmp qword [rbp + 0x1630], 0
mov dword [rbp + 0x5e0], eax
jle 0x14015ca76
lea rcx, [rbp + 0x1600]
lea rdx, [rbp + 0x1630]
sub rsp, 0x20
call fcn.14015d450
mov rax, qword [rbp + 0x5e8]
mov rcx, qword [rbp + 0x10f0]
add rsp, 0x20
mov rdx, qword [rbp + 0x1600]
mov qword [rbp + 0x5a0], rdx
mov rax, qword [rax]
mov qword [rbp + 0x5a8], rax
mov edx, 0x30
sub rsp, 0x20
call fcn.140143f80
mov rcx, qword [rbp + 0x10f0]
add rsp, 0x20
movabs rdx, 0x84b1ed620938d025
movabs rax, 0x84b1ed620938d015
xor rdx, rax
sub rsp, 0x20
call fcn.140143f80
mov rcx, qword [rbp + 0x10f8]
mov rax, qword [rbp + 0x5f0]
add rsp, 0x20
movabs rdx, 0x648a1f4a247550a7
movabs r8, 0x648a1f4a247550a7
xor rdx, r8
mov qword [rcx], rdx
mov qword [rax], 0
mov word [rbp + 0x15fe], 0x52
lea rcx, [rbp + 0x15fe]
sub rsp, 0x20
call fcn.140065e50
mov rdx, qword [rbp + 0x11b8]
add rsp, 0x20
mov qword [rbp + 0x5b0], rax
mov cl, 1
xor eax, eax
cmp byte [rdx], 0
mov byte [rbp + 0x5bf], cl
mov rcx, rax
mov qword [rbp + 0x5c0], rcx
mov rcx, rax
mov qword [rbp + 0x5c8], rcx
mov qword [rbp + 0x5d0], rax
jne 0x14015c0b6
mov rcx, qword [rbp + 0x10f8]
mov rdx, qword [rbp + 0x5a0]
mov rax, qword [rbp + 0x5b0]
add rdx, qword [rax]
sub rsp, 0x20
call fcn.14001b8a0
mov rax, qword [rbp + 0x5b0]
mov rcx, qword [rbp + 0x10f8]
add rsp, 0x20
mov rdx, qword [rax]
mov qword [rbp + 0x15c0], rdx
mov rax, qword [rax + 8]
mov qword [rbp + 0x15c8], rax
lea rdx, [rbp + 0x15c0]
sub rsp, 0x20
call fcn.140146210
mov r8, qword [rbp + 0x5a0]
mov rdx, qword [rbp + 0x5a8]
mov rax, qword [rbp + 0x5f8]
mov rcx, qword [rbp + 0x10f8]
add rsp, 0x20
mov qword [rbp + 0x15b0], r8
mov qword [rax], rdx
lea rdx, [rbp + 0x15b0]
sub rsp, 0x20
call fcn.140146210
mov r8, qword [rbp + 0x10f8]
mov rdx, qword [rbp + 0x5f0]
mov rax, qword [rbp + 0x600]
mov rcx, qword [rbp + 0x1118]
add rsp, 0x20
mov r8, qword [r8]
mov qword [rbp + 0x580], r8
mov rdx, qword [rdx]
mov qword [rbp + 0x588], rdx
mov qword [rbp + 0x15a0], r8
mov qword [rax], rdx
lea rdx, [rbp + 0x15a0]
sub rsp, 0x20
call fcn.14015d680
mov r8, qword [rbp + 0x1118]
mov rdx, qword [rbp + 0x608]
mov rax, qword [rbp + 0x11b8]
mov rcx, qword [rbp + 0x588]
add rsp, 0x20
mov r8, qword [r8]
mov qword [rbp + 0x590], r8
mov rdx, qword [rdx]
mov qword [rbp + 0x598], rdx
mov r8b, byte [rax]
mov r9b, 0x1d
xor r9b, 0x1d
mov dl, 1
xor eax, eax
cmp r8b, r9b
mov byte [rbp + 0x5bf], dl
mov qword [rbp + 0x5c0], rcx
mov rcx, rax
mov qword [rbp + 0x5c8], rcx
mov qword [rbp + 0x5d0], rax
jne 0x14015c0b6
mov rdx, qword [rbp + 0x598]
mov rcx, qword [rbp + 0x1120]
mov rax, qword [rbp + 0x610]
mov r8, qword [rbp + 0x590]
mov qword [rcx], r8
mov qword [rax], rdx
sub rsp, 0x20
call fcn.14015d830
mov r9, qword [rbp + 0x11b8]
mov rdx, qword [rbp + 0x588]
mov rcx, qword [rbp + 0x598]
add rsp, 0x20
mov qword [rbp + 0x578], rax
mov r8b, 1
xor eax, eax
cmp byte [r9], 0
mov byte [rbp + 0x5bf], r8b
mov qword [rbp + 0x5c0], rdx
mov qword [rbp + 0x5c8], rcx
mov qword [rbp + 0x5d0], rax
jne 0x14015c0b6
mov rdx, qword [rbp + 0x1100]
mov rcx, qword [rbp + 0x578]
sub rsp, 0x20
call fcn.14015da72
add rsp, 0x20
mov cl, al
xor eax, eax
test cl, 1
mov qword [rbp + 0x570], rax
jne 0x14015c066
mov eax, dword [0x140209b58]
or eax, dword [0x140209b5c]
xor eax, 0x94498e39
add eax, 0x3ef50038
mov ecx, 0xf3fd38d
xor ecx, 0xc1f381b3
and eax, ecx
mov ecx, 0x1f39bdef
xor ecx, 0x7d1d5d36
cmp eax, ecx
jb 0x14015d263
mov rcx, qword [rbp + 0x588]
mov r8, qword [rbp + 0x1100]
mov eax, dword [0x140209b60]
xor eax, 0xc152c5aa
mov edx, dword [0x140209b64]
and eax, eax
xor eax, 0xffffffff
and edx, edx
xor edx, 0xffffffff
and eax, edx
xor eax, 0xffffffff
mov r9d, 0x2496f21b
xor edx, edx
div r9d
mov rdx, qword [rbp + 0x580]
mov r9d, eax
mov rax, qword [rbp + 0x618]
add r9d, 0xa53853b7
add r9d, 0xed834445
sub r9d, 0xa53853b7
mov r10d, 0xa16ed9a5
xor r10d, 0x47312b3e
sub r9d, r10d
mov dword [rbp + 0x554], r9d
mov r9d, 0x44fb772e
xor r9d, 0x55ad2fd4
mov dword [rbp + 0x550], r9d
mov r8, qword [r8]
mov word [rbp + 0x15e8], r8w
mov qword [rbp + 0x1580], rdx
mov qword [rax], rcx
lea rcx, [rbp + 0x1590]
lea rdx, [rbp + 0x1580]
sub rsp, 0x20
call fcn.14015d680
mov r8, qword [rbp + 0x620]
mov rdx, qword [rbp + 0x11b8]
mov ecx, dword [rbp + 0x550]
mov eax, dword [rbp + 0x554]
add rsp, 0x20
mov r9, qword [rbp + 0x1590]
mov qword [rbp + 0x558], r9
mov r8, qword [r8]
mov qword [rbp + 0x560], r8
mov dl, byte [rdx]
mov r8b, 0x4b
xor r8b, 0x4b
cmp dl, r8b
sete dl
mov byte [rbp + 0x56f], dl
cmp eax, ecx
je 0x14015d263
mov rcx, qword [rbp + 0x598]
mov rdx, qword [rbp + 0x588]
mov r9b, byte [rbp + 0x56f]
mov r8b, 1
xor eax, eax
test r9b, 1
mov byte [rbp + 0x5bf], r8b
mov qword [rbp + 0x5c0], rdx
mov qword [rbp + 0x5c8], rcx
mov qword [rbp + 0x5d0], rax
jne 0x140156cfa
jmp 0x14015c0b6
mov rcx, qword [rbp + 0x560]
mov rax, qword [rbp + 0x628]
mov rdx, qword [rbp + 0x558]
mov qword [rbp + 0x1570], rdx
mov qword [rax], rcx
lea rcx, [rbp + 0x1570]
sub rsp, 0x20
call fcn.14015d830
mov r9, qword [rbp + 0x11b8]
mov rdx, qword [rbp + 0x588]
mov rcx, qword [rbp + 0x598]
add rsp, 0x20
mov r8, rax
mov rax, qword [rbp + 0x560]
mov qword [rbp + 0x548], r8
mov r8b, 1
cmp byte [r9], 0
mov byte [rbp + 0x5bf], r8b
mov qword [rbp + 0x5c0], rdx
mov qword [rbp + 0x5c8], rcx
mov qword [rbp + 0x5d0], rax
jne 0x14015c0b6
mov edx, dword [0x140209b68]
mov ecx, dword [0x140209b6c]
mov eax, 0x882ff90b
xor eax, 0xc96a3f54
xor ecx, eax
mov eax, edx
xor eax, 0xffffffff
mov r8d, 0x93ec6b45
xor r8d, 0x6c1394ba
xor edx, r8d
or eax, edx
and ecx, ecx
xor ecx, 0xffffffff
mov edx, 0x7b9f46ad
xor edx, 0x8460b952
xor eax, edx
xor ecx, 0xffffffff
or eax, ecx
sub eax, 0xd2f9e55
mov ecx, eax
or ecx, ecx
mov edx, 0xc3296055
xor edx, 0x3cd69faa
xor ecx, edx
mov edx, 0xffffffff
xor edx, 0x1269f3fe
mov r8d, 0xffffffff
xor r8d, 0x1269f3fe
and edx, r8d
xor ecx, 0xffffffff
xor edx, 0xffffffff
and ecx, edx
xor eax, 0xffffffff
mov edx, 0xad0bcf0e
xor edx, 0xbf623cf0
mov r8d, 0x128cdd8f
xor r8d, 0xed732270
xor edx, r8d
and eax, edx
or ecx, eax
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xee32f563
mov eax, ecx
xor eax, edx
and eax, ecx
cmp eax, 0x92cfa463
je 0x14015d26c
mov rdx, qword [rbp + 0x1108]
mov rcx, qword [rbp + 0x548]
mov r8d, dword [0x140209b70]
and r8d, dword [0x140209b74]
xor eax, eax
sub eax, 0xc9ba43c4
sub r8d, eax
mov r9d, 0xf1169fef
xor r9d, 0xbadffc0d
mov eax, r8d
and eax, r9d
xor r8d, 0x4bc963e2
or eax, r8d
mov r8d, eax
xor r8d, 0x49933822
mov r9d, 0xffffffff
xor r9d, 0x49933822
and eax, r9d
shl eax, 1
sub eax, r8d
mov dword [rbp + 0x540], eax
mov eax, 0x444414bb
xor eax, 0x3119ddeb
mov dword [rbp + 0x53c], eax
sub rsp, 0x20
call fcn.14015da72
mov ecx, dword [rbp + 0x53c]
add rsp, 0x20
mov dl, al
mov eax, dword [rbp + 0x540]
mov byte [rbp + 0x547], dl
cmp eax, ecx
je 0x140156e3c
mov rax, qword [rbp + 0x560]
mov cl, byte [rbp + 0x547]
test cl, 1
mov qword [rbp + 0x570], rax
jne 0x14015c066
jmp 0x140156f00
mov rax, qword [rbp + 0x560]
mov rcx, qword [rbp + 0x1108]
mov r8, qword [rcx]
movabs rdx, 0x580ddfd26ed3f13e
movabs rcx, 0x580ddfd26ed3f13c
xor rdx, rcx
mov rcx, r8
add rcx, rdx
mov qword [rbp + 0x530], rcx
movabs rdx, 0x73761390aff0f069
movabs r9, 0x8c89ec6f500f0f96
xor rdx, r9
xor r8, rdx
movabs r9, 0xb30b653d57b7b74f
movabs rdx, 0xb30b653d57b7b74e
xor r9, rdx
mov rdx, rcx
add rdx, r9
xor rcx, 0xffffffffffffffff
or rcx, r8
add rcx, rdx
movabs rdx, 0x2103fd1b10e286ab
movabs r8, 0x2103fd1b10e286ab
xor rdx, r8
cmp rcx, rdx
mov qword [rbp + 0x570], rax
jl 0x14015c066
mov eax, dword [0x140209b78]
mov edx, dword [0x140209b7c]
mov ecx, eax
add ecx, 1
mov r8d, 0x2946eedb
xor r8d, 0xd6b91124
xor eax, r8d
or eax, edx
add eax, ecx
mov ecx, 0xcc89ddef
xor edx, edx
div ecx
mov ecx, eax
and ecx, 0x320b34f7
shl ecx, 1
add eax, 0x320b34f7
sub eax, ecx
mov ecx, eax
and ecx, 0x19305bb8
shl ecx, 1
add eax, 0x19305bb8
sub eax, ecx
cmp eax, 0xbc4c5d65
ja 0x14015d275
mov rcx, qword [rbp + 0x588]
mov r8, qword [rbp + 0x580]
mov r9, qword [rbp + 0x630]
mov r10, qword [rbp + 0x530]
mov eax, dword [0x140209b80]
mov r11d, dword [0x140209b84]
xor r11d, 0x4adccbcf
xor edx, edx
div r11d
mov rdx, qword [rbp + 0x1128]
mov esi, eax
mov rax, qword [rbp + 0x638]
xor r11d, r11d
sub r11d, 0x44c433a3
add esi, r11d
mov r11d, esi
xor r11d, 0xffffffff
mov edi, esi
xor edi, 0xffffffff
or r11d, edi
mov edi, 0xa53e8a1e
xor edi, 0x5ac175e1
xor r11d, edi
mov edi, 0xffffffff
xor edi, 0x2cc17c27
or r11d, edi
mov edi, 0x9146756c
xor edi, 0xbd87094b
mov ebx, 0x1fc44d46
xor ebx, 0x33053161
and edi, ebx
xor edi, 0xffffffff
and esi, edi
mov edi, 0x82c51797
xor edi, 0x7d3ae868
xor esi, edi
xor r11d, 0xffffffff
xor esi, 0xffffffff
or r11d, esi
xor r11d, 0xe10a8148
mov dword [rbp + 0x514], r11d
mov word [r9], r10w
mov qword [rdx], r8
mov qword [rax], rcx
lea rcx, [rbp + 0x1560]
sub rsp, 0x20
call fcn.14015d680
mov rdx, qword [rbp + 0x640]
mov rcx, qword [rbp + 0x11b8]
mov eax, dword [rbp + 0x514]
add rsp, 0x20
mov r8, qword [rbp + 0x1560]
mov qword [rbp + 0x518], r8
mov rdx, qword [rdx]
mov qword [rbp + 0x520], rdx
cmp byte [rcx], 0
sete cl
mov byte [rbp + 0x52f], cl
cmp eax, 0x3afe31cd
je 0x14015d275
mov rax, qword [rbp + 0x560]
mov rcx, qword [rbp + 0x598]
mov rdx, qword [rbp + 0x588]
mov r9b, byte [rbp + 0x52f]
mov r8b, 1
test r9b, 1
mov byte [rbp + 0x5bf], r8b
mov qword [rbp + 0x5c0], rdx
mov qword [rbp + 0x5c8], rcx
mov qword [rbp + 0x5d0], rax
jne 0x140157164
jmp 0x14015c0b6
mov rax, qword [rbp + 0x648]
mov rcx, qword [rbp + 0x520]
mov rdx, qword [rbp + 0x518]
mov qword [rbp + 0x1550], rdx
mov qword [rax], rcx
lea rcx, [rbp + 0x1550]
sub rsp, 0x20
call fcn.14015db46
mov rdx, qword [rbp + 0x11b8]
add rsp, 0x20
mov rcx, rax
mov eax, dword [rbp + 0x5dc]
mov qword [rbp + 0x500], rcx
mov cl, 1
cmp byte [rdx], 0
mov byte [rbp + 0x50f], cl
mov dword [rbp + 0x510], eax
jne 0x14015c0fb
mov rcx, qword [rbp + 0x1110]
mov rax, qword [rbp + 0x650]
mov rdx, qword [rbp + 0x500]
mov qword [rax], rdx
mov edx, 0x30
sub rsp, 0x20
call fcn.140143f80
mov r9, qword [rbp + 0x658]
mov r8, qword [rbp + 0x660]
mov rdx, qword [rbp + 0x668]
mov rcx, qword [rbp + 0x670]
mov rax, qword [rbp + 0x678]
mov r10, qword [rbp + 0x1110]
add rsp, 0x20
mov dword [r10], 0x30
lea r10, [rbp + 0x15e8]
mov qword [r9], r10
mov dword [r8], 0x40
movabs r8, 0xde5db268d0dc4045
movabs r9, 0xde5db268d0dc4045
xor r8, r9
mov qword [rdx], r8
mov qword [rcx], 0
mov qword [rax], 0
mov qword [rbp + 0x15e0], 0
lea rcx, [rbp + 0x15d0]
mov edx, 0x10
sub rsp, 0x20
call fcn.140143f80
mov r8, qword [rbp + 0x1110]
add rsp, 0x20
lea rcx, [rbp + 0x15e0]
mov edx, 0x80000000
lea r9, [rbp + 0x15d0]
mov rax, qword [0x140216f80]
sub rsp, 0x30
mov dword [rsp + 0x20], 7
mov dword [rsp + 0x28], 1
call qword [rax]
mov rdx, qword [rbp + 0x11b8]
add rsp, 0x30
mov ecx, eax
mov eax, dword [rbp + 0x5dc]
mov dword [rbp + 0x4fc], ecx
mov cl, 1
cmp byte [rdx], 0
mov byte [rbp + 0x50f], cl
mov dword [rbp + 0x510], eax
jne 0x14015c0fb
mov eax, dword [0x140209b88]
xor eax, 0xb5456cce
mov edx, dword [0x140209b8c]
mov ecx, eax
and ecx, edx
shl ecx, 1
add eax, edx
sub eax, ecx
mov ecx, eax
and ecx, 0x8bc09387
mov edx, 0x6154a868
xor edx, 0x9eab5797
xor ecx, edx
mov edx, 0x9b8c9925
xor edx, 0x104c0aa2
add eax, edx
mov edx, 0x6892cf85
xor edx, 0x6892cf84
add eax, edx
add eax, ecx
or eax, 0x885e1044
mov ecx, 0x82f2839c
xor ecx, 0x28cec8de
and eax, ecx
cmp eax, 0x49dbe745
jbe 0x14015d27e
mov ecx, dword [rbp + 0x4fc]
mov rax, qword [rbp + 0x680]
mov rdx, qword [rbp + 0x5a8]
mov r8, qword [rbp + 0x5a0]
mov r10d, dword [0x140209b90]
add r10d, dword [0x140209b94]
mov r9d, 0x33738319
xor r9d, 0x473ac9fd
add r10d, r9d
mov r11d, 0xffffffff
xor r11d, 0x3623fbf6
mov r9d, r10d
xor r9d, r11d
and r9d, r10d
mov r10d, r9d
add r10d, 1
mov r11d, 0xf172c7c7
xor r11d, 0xe8d3838
xor r9d, r11d
mov r11d, 0xe14b3b7c
xor r11d, 0xbdb200f
or r9d, r11d
add r9d, r10d
mov dword [rbp + 0x4f4], r9d
mov qword [rbp + 0x1540], r8
mov qword [rax], rdx
lea rdx, [rbp + 0x1540]
sub rsp, 0x20
call fcn.1400bbea5
mov rcx, qword [rbp + 0x11b8]
mov eax, dword [rbp + 0x4f4]
add rsp, 0x20
mov cl, byte [rcx]
mov dl, 0x5b
xor dl, 0x5b
cmp cl, dl
sete cl
mov byte [rbp + 0x4fb], cl
cmp eax, 0x248fab74
jae 0x14015734e
mov eax, dword [rbp + 0x5dc]
mov dl, byte [rbp + 0x4fb]
mov cl, 1
test dl, 1
mov byte [rbp + 0x50f], cl
mov dword [rbp + 0x510], eax
jne 0x14015743e
jmp 0x14015c0fb
mov rdx, qword [rbp + 0x1130]
mov ecx, dword [rbp + 0x4fc]
mov rax, qword [rbp + 0x688]
mov r8, qword [rbp + 0x5a8]
mov r9, qword [rbp + 0x5a0]
mov qword [rdx], r9
mov qword [rax], r8
sub rsp, 0x20
call fcn.1400bffa1
mov rdx, qword [rbp + 0x11b8]
mov eax, dword [rbp + 0x5dc]
add rsp, 0x20
mov cl, 1
cmp byte [rdx], 0
mov byte [rbp + 0x50f], cl
mov dword [rbp + 0x510], eax
jne 0x14015c0fb
mov eax, dword [0x140209b98]
mov ecx, 0x42eac730
xor ecx, 0x66472846
xor eax, ecx
mov edx, dword [0x140209b9c]
mov r8d, 0x4211cd06
xor r8d, 0xbdee32f9
mov ecx, eax
xor ecx, r8d
mov r8d, edx
xor r8d, 0xffffffff
and ecx, r8d
mov r8d, 0x14d81b05
xor r8d, 0xeb27e4fa
xor eax, r8d
mov r8d, 0x95c1165a
xor r8d, 0x6a3ee9a5
xor edx, r8d
and eax, edx
mov edx, 0xb522e36b
xor edx, 0x4add1c94
xor ecx, edx
xor eax, 0xffffffff
and ecx, eax
mov edx, 0xffffffff
xor edx, 0x9411453f
mov eax, ecx
xor eax, edx
and eax, ecx
mov ecx, 0xb26a5bcb
xor ecx, 0x1831d7ba
and eax, ecx
and eax, 0x34749b70
cmp eax, 0x69dcc3b9
ja 0x14015d287
mov edx, dword [rbp + 0x4fc]
mov rax, qword [rbp + 0x690]
mov r8, qword [rbp + 0x5a8]
mov r9, qword [rbp + 0x5a0]
mov ecx, dword [0x140209ba0]
imul ecx, dword [0x140209ba4]
mov r10d, 0x48991b2d
xor r10d, 0xb766e4d2
mov r11d, ecx
xor r11d, r10d
and r11d, 0x74a66a13
mov esi, 0x4a63c0a
xor esi, 0x70005619
mov r10d, 0x4ad7f2b1
xor r10d, 0xb5280d4e
xor esi, r10d
mov r10d, ecx
and r10d, esi
imul r10d, r11d
mov r11d, ecx
and r11d, 0x74a66a13
mov esi, 0x1640e2d7
xor esi, 0x62e688c4
or ecx, esi
imul ecx, r11d
add ecx, r10d
sub ecx, 0x68de17dd
sub ecx, 0xdc5a2c7e
mov r10d, 0x51aaa99a
xor r10d, 0x61f9e910
add ecx, r10d
mov r10d, 0x5e3e0535
xor r10d, 0x8264294b
add ecx, r10d
mov dword [rbp + 0x4ec], ecx
mov rcx, qword [rbp + 0x15e0]
mov qword [rbp + 0x1530], r9
mov qword [rax], r8
lea r8, [rbp + 0x1530]
sub rsp, 0x20
call fcn.1400c004f
mov rcx, qword [rbp + 0x11b8]
mov eax, dword [rbp + 0x4ec]
add rsp, 0x20
cmp byte [rcx], 0
sete cl
mov byte [rbp + 0x4f3], cl
cmp eax, 0x39b03e96
jb 0x14015d287
mov eax, dword [rbp + 0x5dc]
mov dl, byte [rbp + 0x4f3]
mov cl, 1
test dl, 1
mov byte [rbp + 0x50f], cl
mov dword [rbp + 0x510], eax
jne 0x140157656
jmp 0x14015c0fb
mov eax, dword [0x140209ba8]
sub eax, dword [0x140209bac]
add eax, 0xea4cddc4
mov edx, 0xd6e781c5
xor edx, 0x8c569abc
mov ecx, eax
and ecx, edx
xor eax, 0x5ab11b79
or ecx, eax
mov edx, 0xffffffff
xor edx, 0x13a1cf83
mov eax, ecx
xor eax, edx
and eax, ecx
cmp eax, 0xeb84516b
jae 0x14015d290
mov r11d, dword [0x140209bb0]
imul r11d, dword [0x140209bb4]
mov ecx, r11d
xor ecx, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0x60eb0f93
mov edx, 0xffffffff
xor edx, 0xd4dfbc79
mov eax, ecx
and eax, 0xd4dfbc79
and r11d, edx
mov r10d, 0xce0a0af5
xor r10d, 0x1ad5b68c
mov r9d, r8d
and r9d, r10d
mov r10d, edx
and r10d, 0x60eb0f93
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, r8d
mov r8d, 0x26074991
xor r8d, 0xd9f8b66e
xor ecx, r8d
or edx, 0xd4dfbc79
and ecx, edx
or eax, ecx
mov ecx, 0x4be3fb11
xor ecx, 0xd44571d3
mov edx, 0xa988c57a
xor edx, 0x56773a85
xor ecx, edx
add eax, ecx
add eax, 1
or eax, 0x69d432d4
mov ecx, 0x7c359f9e
xor ecx, 0x97e57211
cmp qword [rbp + 0x15e0], 1
setl dl
mov byte [rbp + 0x4eb], dl
cmp eax, ecx
je 0x140157699
mov al, byte [rbp + 0x4eb]
test al, 1
jne 0x14015776c
jmp 0x1401577c6
mov ecx, dword [rbp + 0x4fc]
mov rax, qword [0x1402165e0]
mov qword [rbp + 0x1520], rax
mov rax, qword [0x1402165e8]
mov qword [rbp + 0x1528], rax
lea rdx, [rbp + 0x1520]
sub rsp, 0x20
call fcn.1400a57ca
mov rdx, qword [rbp + 0x11b8]
mov eax, dword [rbp + 0x5dc]
add rsp, 0x20
mov cl, 1
cmp byte [rdx], 0
mov byte [rbp + 0x50f], cl
mov dword [rbp + 0x510], eax
jne 0x14015c0fb
mov ecx, dword [rbp + 0x4fc]
mov rax, qword [0x1402165e0]
mov qword [rbp + 0x1510], rax
mov rax, qword [0x1402165e8]
mov qword [rbp + 0x1518], rax
lea rdx, [rbp + 0x1510]
sub rsp, 0x20
call fcn.1400a57ca
mov rcx, qword [rbp + 0x11b8]
mov eax, dword [rbp + 0x5dc]
add rsp, 0x20
cmp byte [rcx], 0
mov dword [rbp + 0x4e4], eax
jne 0x14015bf92
mov ecx, 0x1d4c0
sub rsp, 0x20
call fcn.14000b997
add rsp, 0x20
mov rdx, rax
mov eax, dword [rbp + 0x5dc]
mov r8d, 0x1d4c0
mov cl, 1
mov qword [rbp + 0x4c8], r8
mov qword [rbp + 0x4d0], rdx
mov byte [rbp + 0x4df], cl
mov dword [rbp + 0x4e0], eax
mov rax, qword [rbp + 0x4c8]
mov rcx, qword [rbp + 0x4d0]
mov dl, byte [rbp + 0x4df]
mov r8d, dword [rbp + 0x4e0]
mov dword [rbp + 0x4b0], r8d
mov byte [rbp + 0x4b7], dl
mov qword [rbp + 0x4b8], rcx
mov qword [rbp + 0x4c0], rax
mov ecx, dword [0x140209bb8]
mov edx, dword [0x140209bbc]
mov eax, ecx
and eax, edx
shl eax, 1
add ecx, edx
sub ecx, eax
mov eax, 0xe51546b6
xor eax, 0xc33a046f
or ecx, eax
sub ecx, 0x1b91720f
mov eax, ecx
xor eax, 0xffffffff
and eax, 0xe88f8c5d
mov edx, 0x5ece3aca
xor edx, 0xb641b697
mov r8d, 0x54f607cf
xor r8d, 0xab09f830
xor edx, r8d
and ecx, edx
or eax, ecx
cmp eax, 0x199df915
je 0x14015d299
mov eax, dword [0x140209bc0]
xor edx, edx
div dword [0x140209bc4]
mov ecx, eax
and ecx, 0xfddb5f79
xor ecx, 0xffffffff
add eax, 0xfddb5f79
add eax, 1
add eax, ecx
sub eax, 0x5004c58f
xor eax, 0xe69ef87b
cmp eax, 0xd49a2598
jae 0x1401578e8
mov eax, dword [rbp + 0x4b0]
mov cl, byte [rbp + 0x4b7]
mov byte [rbp + 0x4ab], cl
mov dword [rbp + 0x4ac], eax
jmp 0x14015793d
mov rbx, qword [rbp + 0x4b8]
mov r10b, byte [rbp + 0x4ab]
mov eax, dword [rbp + 0x4ac]
mov dword [rbp + 0x494], eax
mov byte [rbp + 0x493], r10b
mov rax, qword [0x140216fa0]
mov rax, qword [rax]
mov rcx, qword [rbp + 0x15e0]
movabs rdx, 0x8fdb51115649bfd3
movabs r8, 0x8fdb51115649bfd3
xor rdx, r8
mov edi, 0xd778137c
xor edi, 0xd779c7bc
mov esi, 0xe97a2813
xor esi, 0xe97a2810
mov r11b, 0x1b
xor r11b, 0x1b
xor r8d, r8d
mov r9d, r8d
lea r14, [rbp + 0x15d0]
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 rdx, qword [rbp + 0x11b8]
mov ecx, dword [rbp + 0x494]
add rsp, 0x60
mov r8d, eax
mov rax, qword [rbp + 0x4b8]
mov dword [rbp + 0x498], r8d
mov dl, byte [rdx]
mov r8b, 0xa3
xor r8b, 0xa3
cmp dl, r8b
mov dword [rbp + 0x49c], ecx
mov qword [rbp + 0x4a0], rax
jne 0x14015bf66
mov eax, dword [rbp + 0x498]
mov ecx, 0xff5bfe6e
xor ecx, 0xff5bff6d
cmp eax, ecx
mov dword [rbp + 0x48c], eax
jne 0x140157c26
mov rcx, qword [rbp + 0x1138]
movabs rdx, 0x954f8ffeb44909fd
movabs rax, 0x954f8ffeb44909f5
xor rdx, rax
sub rsp, 0x20
call fcn.140143f80
mov r8, qword [rbp + 0x1138]
add rsp, 0x20
mov qword [r8], 0xffffffffffb3b4c0
mov rax, qword [0x140216fd0]
mov rax, qword [rax]
mov rcx, qword [rbp + 0x15e0]
mov edx, 1
sub rsp, 0x20
call rax
add rsp, 0x20
mov ecx, eax
mov rax, qword [rbp + 0x11b8]
mov dword [rbp + 0x488], ecx
cmp byte [rax], 0
jne 0x140157c07
mov eax, dword [rbp + 0x488]
test eax, eax
je 0x140157bf6
jmp 0x140157ac2
mov eax, dword [rbp + 0x488]
sub eax, 0x102
jne 0x140157b55
jmp 0x140157ad8
mov ecx, 0x40
mov edx, 8
sub rsp, 0x20
call fcn.140014320
add rsp, 0x20
mov rcx, rax
mov rax, qword [str._O_n_]
mov qword [rcx], rax
lea rax, [0x140216599]
mov qword [rcx + 0x10], rax
mov rax, qword [0x140216608]
mov qword [rcx + 0x18], rax
mov rax, qword [str.Hf__]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
lea rdx, [0x140216599]
lea r8, [0x1402165aa]
lea r9, [0x1402165b2]
sub rsp, 0x30
mov qword [rsp + 0x20], 0xffffffffcfb2d4c8
call fcn.1400139e0
add rsp, 0x30
jmp 0x140157c07
movabs rcx, 0x93b72c3ae2b6f1db
movabs rax, 0x93b72c3ae2b6f19b
xor rcx, rax
movabs rdx, 0x4764a82276f6fe2f
movabs rax, 0x4764a82276f6fe27
xor rdx, rax
sub rsp, 0x20
call fcn.140014320
add rsp, 0x20
mov rcx, rax
mov rax, qword [str._O_n_]
mov qword [rcx], rax
lea rax, [0x140216599]
mov qword [rcx + 0x10], rax
mov rax, qword [0x140216608]
mov qword [rcx + 0x18], rax
mov rax, qword [str.Hf__]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
lea rdx, [0x140216599]
lea r8, [0x1402165aa]
lea r9, [0x1402165b2]
sub rsp, 0x30
mov qword [rsp + 0x20], 0xffffffffac4e997c
call fcn.1400139e0
add rsp, 0x30
jmp 0x140157c07
mov eax, dword [rbp + 0x15d0]
mov dword [rbp + 0x48c], eax
jmp 0x140157c26
mov rax, qword [rbp + 0x4b8]
mov ecx, dword [rbp + 0x494]
mov dword [rbp + 0x49c], ecx
mov qword [rbp + 0x4a0], rax
jmp 0x14015bf66
mov eax, dword [rbp + 0x48c]
mov dword [rbp + 0x484], eax
mov eax, dword [0x140209bc8]
xor eax, 0x6fc6b57b
sub eax, dword [0x140209bcc]
mov ecx, 0xf7f95940
xor edx, edx
div ecx
imul eax, eax, 0x3fa8af96
sub eax, 0x556dc039
cmp eax, 0xc08a1dc6
ja 0x14015d2a2
mov r9, qword [rbp + 0x698]
mov r8d, dword [rbp + 0x484]
mov ecx, dword [0x140209bd0]
mov eax, ecx
xor eax, 0x6743b6a3
mov edx, dword [0x140209bd4]
xor ecx, 0x98bc495c
and ecx, edx
not edx
and eax, edx
sub eax, ecx
mov ecx, eax
and ecx, 0x74e58c7e
mov edx, eax
xor edx, 0x8b1a7381
add eax, edx
sub eax, ecx
add eax, 0x19da8a52
mov ecx, eax
not ecx
and ecx, 0xbb14c174
and eax, 0x44eb3e8b
sub eax, ecx
mov ecx, 0x26baeb9b
mov edx, r8d
sub edx, 0x80000005
sete dl
test r8d, r8d
sete r8b
mov byte [rbp + 0x482], r8b
mov r9, qword [r9]
test r9, r9
sete r9b
and r8b, r9b
or dl, r8b
mov byte [rbp + 0x483], dl
cmp eax, ecx
jb 0x140157c62
mov al, byte [rbp + 0x483]
test al, 1
jne 0x140157d0b
jmp 0x14015811d
mov rcx, qword [rbp + 0x4c0]
lea rdx, [rbp + 0x1508]
sub rsp, 0x20
call fcn.14015da72
add rsp, 0x20
test al, 1
jne 0x140157d33
jmp 0x140157d6c
sub rsp, 0x20
call fcn.140007f57
mov rdx, qword [rbp + 0x4c0]
mov rcx, qword [rbp + 0x4b8]
add rsp, 0x20
mov eax, 0x5c
mov qword [rbp + 0x468], rdx
mov qword [rbp + 0x470], rcx
mov dword [rbp + 0x47c], eax
jmp 0x1401580e4
mov rax, qword [rbp + 0x1508]
mov qword [rbp + 0x460], rax
movabs rcx, 0x21b99d998fcfbdb7
movabs rdx, 0x21b99d998fdfbdb7
xor rcx, rdx
cmp rax, rcx
jl 0x140157e62
movabs rcx, 0xf66e2abe94b0979a
movabs rax, 0xf66e2abe94b097da
xor rcx, rax
movabs rdx, 0xb0a022024e75632e
movabs rax, 0xb0a022024e756326
xor rdx, rax
sub rsp, 0x20
call fcn.140014320
add rsp, 0x20
mov rcx, rax
mov rax, qword [0x140216ed8]
mov qword [rcx], rax
lea rax, [0x140216538]
mov qword [rcx + 0x10], rax
mov rax, qword [0x140216608]
mov qword [rcx + 0x18], rax
mov rax, qword [str.Hf__]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
lea rdx, [0x140216538]
lea r8, [0x1402165aa]
lea r9, [0x1402165b2]
sub rsp, 0x30
mov qword [rsp + 0x20], 0xffffffffaa4f7e0b
call fcn.1400139e0
mov rdx, qword [rbp + 0x4c0]
mov rcx, qword [rbp + 0x4b8]
add rsp, 0x30
mov eax, 0x5c
mov qword [rbp + 0x468], rdx
mov qword [rbp + 0x470], rcx
mov dword [rbp + 0x47c], eax
jmp 0x1401580e4
mov eax, dword [0x140209bd8]
xor eax, 0x51f0b740
mov ecx, dword [0x140209bdc]
xor ecx, 0xa2a17c22
imul eax, ecx
or eax, 0x7437ad99
xor ecx, ecx
sub ecx, 0x8a363030
add eax, ecx
add eax, 0x2cdc6588
cmp eax, 0xda6e410e
je 0x14015d2ab
mov rcx, qword [rbp + 0x4b8]
mov eax, dword [0x140209be0]
mov edx, 0xfe182dea
xor edx, 0x3e5b1944
xor eax, edx
mov r8d, dword [0x140209be4]
mov edx, eax
xor edx, r8d
xor r8d, 0xffffffff
and eax, r8d
shl eax, 1
sub eax, edx
imul eax, eax, 0x3c4e3ac
mov edx, 0xcdcf7581
xor edx, 0x229ded1d
or eax, edx
mov edx, 0x50cbc69c
xor edx, 0x11475aae
add eax, edx
mov dword [rbp + 0x458], eax
sub rsp, 0x20
call fcn.14001f7f0
mov rcx, qword [rbp + 0x460]
mov eax, dword [rbp + 0x458]
add rsp, 0x20
movabs rdx, 0xaf7ead4839e33ac2
movabs r8, 0xaf7ead4839e33ac2
xor rdx, r8
cmp rcx, rdx
setl cl
mov byte [rbp + 0x45f], cl
cmp eax, 0x825607aa
ja 0x140157e9b
mov al, byte [rbp + 0x45f]
test al, 1
jne 0x140157f4e
jmp 0x140157f99
mov rcx, qword [rbp + 0x460]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.14000dc65
mov rdx, qword [rbp + 0x460]
add rsp, 0x20
xor eax, eax
mov ecx, eax
mov eax, 0x5c
mov qword [rbp + 0x468], rdx
mov qword [rbp + 0x470], rcx
mov dword [rbp + 0x47c], eax
jmp 0x1401580e4
mov ecx, dword [0x140209be8]
mov r8d, dword [0x140209bec]
mov edx, r8d
xor edx, 0xffffffff
mov eax, ecx
and eax, edx
mov edx, ecx
xor edx, r8d
add ecx, edx
sub ecx, eax
mov edx, 0xffffffff
xor edx, 0x22211c64
mov eax, ecx
and eax, edx
mov edx, ecx
xor edx, 0x22211c64
add ecx, edx
sub ecx, eax
mov edx, 0xffffffff
xor edx, 0x9ad70437
mov eax, ecx
xor eax, edx
and eax, ecx
mov ecx, eax
xor ecx, 0x7d40ea5d
xor ecx, 0xffffffff
or eax, 0x7d40ea5d
and eax, ecx
mov ecx, 0x65049bb4
xor ecx, 0x176657e8
cmp eax, ecx
jae 0x14015d2b4
mov rcx, qword [rbp + 0x460]
mov eax, dword [0x140209bf0]
mov r9d, dword [0x140209bf4]
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
or eax, 0x7bb4ad12
mov edx, 0x7f596227
xor edx, 0x7f596227
mov r8d, 0x64f5ae6c
xor r8d, 0xc7cbd8e6
sub edx, r8d
sub eax, edx
mov edx, 0x40f2471b
xor edx, 0xed4e6bf
or eax, edx
mov dword [rbp + 0x44c], eax
mov eax, 0x7f505e98
xor eax, 0xaaf618d5
mov dword [rbp + 0x448], eax
sub rsp, 0x20
call fcn.14000b997
mov ecx, dword [rbp + 0x448]
add rsp, 0x20
mov rdx, rax
mov eax, dword [rbp + 0x44c]
mov qword [rbp + 0x450], rdx
cmp eax, ecx
jae 0x14015800a
mov rcx, qword [rbp + 0x450]
mov rdx, qword [rbp + 0x460]
mov eax, 0x65
mov qword [rbp + 0x468], rdx
mov qword [rbp + 0x470], rcx
mov dword [rbp + 0x47c], eax
jmp 0x1401580e4
mov eax, dword [rbp + 0x494]
mov r8, qword [rbp + 0x468]
mov rdx, qword [rbp + 0x470]
mov ecx, dword [rbp + 0x47c]
mov qword [rbp + 0x430], r8
mov qword [rbp + 0x438], rdx
mov dword [rbp + 0x440], ecx
mov dword [rbp + 0x444], eax
jmp 0x14015be74
mov eax, dword [rbp + 0x494]
mov rcx, qword [rbp + 0x4b8]
mov dl, byte [rbp + 0x482]
test dl, 1
mov qword [rbp + 0x420], rcx
mov dword [rbp + 0x42c], eax
jne 0x14015814b
jmp 0x14015bd9d
mov rcx, qword [rbp + 0x420]
mov eax, dword [rbp + 0x42c]
mov dword [rbp + 0x404], eax
mov qword [rbp + 0x408], rcx
mov rdx, rcx
add rdx, 0x3c
mov qword [rbp + 0x410], rdx
cmp dword [rcx + 0x3c], 0
mov dword [rbp + 0x41c], eax
je 0x14015bc74
mov rax, qword [rbp + 0x408]
mov rcx, rax
add rcx, 0x38
mov qword [rbp + 0x3f8], rcx
mov ecx, dword [rax + 0x38]
and ecx, 0x10
sub rsp, 0x20
call fcn.14009e8f0
mov rcx, qword [rbp + 0x11b8]
add rsp, 0x20
mov r8b, byte [rcx]
test r8b, r8b
sete cl
and cl, al
mov edx, 0x1ca9d17f
xor edx, 0x1ca9d114
mov eax, 0x99b4e874
xor eax, 0x99b4e828
cmp r8b, 0
cmove eax, edx
test cl, 1
mov dword [rbp + 0x400], eax
jne 0x1401581ed
jmp 0x140159e68
mov rax, qword [rbp + 0x410]
mov eax, dword [rax]
mov dword [rbp + 0x3f4], eax
sub eax, 2
je 0x1401584fe
jmp 0x14015820a
mov eax, dword [rbp + 0x3f4]
sub eax, 4
jne 0x14015878b
jmp 0x14015821e
mov rax, qword [rbp + 0x408]
mov rcx, rax
add rcx, 0x5e
mov qword [rbp + 0x3e8], rcx
mov ax, word [rax + 0x5e]
mov word [rbp + 0x3f2], ax
cmp ax, 0xff
jbe 0x1401582a0
mov ax, word [rbp + 0x3f2]
movzx eax, ax
mov ecx, eax
movabs rdx, 0xa1bc66e94d92ed13
movabs rax, 0xa1bc66e94d92ed13
xor rdx, rax
movabs r8, 0xeb4ca15bd646db7d
movabs rax, 0xeb4ca15bd646db82
xor r8, rax
sub rsp, 0x20
call fcn.14000dc65
mov eax, dword [rbp + 0x404]
add rsp, 0x20
mov dword [rbp + 0x3e4], eax
jmp 0x140159e04
mov eax, dword [0x140209bf8]
xor edx, edx
div dword [0x140209bfc]
mov ecx, 0xb26f5e6e
xor edx, edx
div ecx
mov ecx, 0xe7742fd
xor ecx, 0xc861d959
imul eax, ecx
imul eax, eax, 0x3f88424a
mov ecx, 0x1e5ea753
xor ecx, 0x623b4c00
cmp eax, ecx
je 0x14015d2bd
mov cx, word [rbp + 0x3f2]
mov eax, dword [0x140209c00]
or eax, dword [0x140209c04]
xor eax, 0x2076ef42
mov r8d, 0x3725182f
xor r8d, 0xc8202ad7
xor edx, edx
div r8d
mov r9d, 0xffffffff
xor r9d, 0xd6fd15eb
mov r8d, eax
and r8d, r9d
mov edx, eax
or edx, r9d
mov r9d, 0x9c3804ea
xor r9d, 0x63c7fb15
xor edx, r9d
imul edx, r8d
mov r8d, eax
and r8d, 0xd6fd15eb
or eax, 0xd6fd15eb
imul eax, r8d
add eax, edx
mov dx, 0x9785
xor dx, 0x97ab
cmp cx, dx
sete cl
mov byte [rbp + 0x3e3], cl
cmp eax, 0xace26989
ja 0x1401582de
mov al, byte [rbp + 0x3e3]
test al, 1
jne 0x14015837c
jmp 0x140158804
mov eax, dword [0x140209c08]
xor edx, edx
div dword [0x140209c0c]
mov ecx, 0xdc38153
xor ecx, 0x783c60e6
imul eax, ecx
mov ecx, eax
and ecx, 0x9bdb7a0e
shl ecx, 1
add eax, 0x9bdb7a0e
sub eax, ecx
mov ecx, 0xffffffff
xor ecx, 0x36a26128
add eax, ecx
add eax, 1
cmp eax, 0xbad32437
ja 0x14015d2c6
mov rdx, qword [rbp + 0x3e8]
mov ecx, dword [0x140209c10]
and ecx, dword [0x140209c14]
and ecx, 0x954b9df3
mov r8d, 0x3c4377e1
xor r8d, 0xc3bc881e
mov eax, ecx
xor eax, r8d
mov r9d, 0x781fc1f7
xor r9d, 0x87e03e08
mov r8d, ecx
xor r8d, r9d
or eax, r8d
and eax, 0x8056d0fd
xor eax, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0x8056d0fd
mov r9d, 0xffffffff
xor r9d, 0x8056d0fd
or r8d, r9d
xor ecx, 0xffffffff
xor r8d, 0xffffffff
or ecx, r8d
and eax, ecx
xor eax, 0xffffffff
mov ecx, 0x1dec5d8
xor ecx, 0xf6a2756d
sub eax, ecx
mov rcx, rdx
and rcx, 2
or rdx, 2
add rcx, rdx
mov cx, word [rcx]
mov word [rbp + 0x3e0], cx
mov dx, 0xd2ec
xor dx, 0xd213
cmp cx, dx
seta cl
mov byte [rbp + 0x3e2], cl
cmp eax, 0x1944bf54
jbe 0x1401583c5
mov al, byte [rbp + 0x3e2]
test al, 1
jne 0x140158492
jmp 0x1401584c6
mov ax, word [rbp + 0x3e0]
movzx eax, ax
mov ecx, eax
xor eax, eax
mov edx, eax
mov r8d, 0xff
sub rsp, 0x20
call fcn.14000dc65
mov eax, dword [rbp + 0x404]
add rsp, 0x20
mov dword [rbp + 0x3e4], eax
jmp 0x140159e04
mov eax, dword [rbp + 0x404]
mov dx, word [rbp + 0x3e0]
mov r8w, 0xefe5
xor r8w, 0xefcb
mov ecx, 0x6a
cmp dx, r8w
mov dword [rbp + 0x3d8], ecx
mov dword [rbp + 0x3dc], eax
je 0x140159e4b
jmp 0x140158804
mov r8d, dword [0x140209c18]
mov edx, dword [0x140209c1c]
mov eax, 0x470abe4f
xor eax, 0xe36f4b52
xor edx, eax
mov eax, r8d
xor eax, 0xffffffff
and eax, 0x6000afb3
mov r9d, 0xffffffff
xor r9d, 0x6000afb3
and r8d, r9d
mov ecx, edx
xor ecx, 0xffffffff
and ecx, 0x6000afb3
and edx, r9d
or eax, r8d
or ecx, edx
xor eax, ecx
mov edx, 0xd5888576
xor edx, 0x2a777a89
mov ecx, eax
xor ecx, edx
mov edx, eax
xor edx, 0xffffffff
or ecx, edx
mov edx, 0x5291dd58
xor edx, 0xc202f448
and ecx, edx
mov edx, 0xce739ba
xor edx, 0xf318c645
xor ecx, edx
mov edx, 0x90932910
and edx, 0x90932910
mov r8d, 0xfae6d88
xor r8d, 0xf0519277
xor edx, r8d
xor eax, 0xffffffff
mov r8d, 0xb81ee1b1
xor r8d, 0x47e11e4e
xor edx, r8d
or eax, edx
and ecx, eax
xor ecx, 0xffffffff
mov edx, 0xbd726986
xor edx, 0x428d9679
mov eax, ecx
xor eax, edx
mov edx, 0xbda99510
xor edx, 0xfe331fcd
mov r8d, 0xd0e89dc0
xor r8d, 0x2f17623f
xor edx, r8d
and eax, edx
or ecx, 0x439a8add
xor ecx, 0xffffffff
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0xf7df1ab6
xor ecx, 0xbacafaba
add eax, ecx
cmp eax, 0xdb746a5c
ja 0x14015d2cf
mov rcx, qword [rbp + 0x408]
mov eax, dword [0x140209c20]
xor eax, 0x2522f08c
xor edx, edx
div dword [0x140209c24]
mov r9d, eax
mov eax, r9d
xor eax, 0xffffffff
and eax, 0xdcb45382
mov r8d, 0xa26a8e37
xor r8d, 0x7ededdb5
mov edx, 0x6bf3ef61
xor edx, 0x940c109e
xor r8d, edx
and r9d, r8d
mov edx, 0xffffffff
xor edx, 0x41b0469f
and edx, 0xdcb45382
and r8d, 0x41b0469f
or eax, r9d
or edx, r8d
xor eax, edx
mov r9d, 0xffffffff
xor r9d, 0x37ca05c9
mov r8d, eax
and r8d, r9d
mov edx, eax
or edx, r9d
xor edx, 0xffffffff
imul edx, r8d
mov r8d, eax
and r8d, 0x37ca05c9
mov r9d, 0xf5a0cd1e
xor r9d, 0xc26ac8d7
or eax, r9d
imul eax, r8d
add eax, edx
mov r8d, eax
xor r8d, 0xffffffff
and r8d, 0xe8b706a2
mov r9d, 0xffffffff
xor r9d, 0xe8b706a2
mov edx, eax
and edx, r9d
imul edx, r8d
mov r9d, 0xcc625f2b
xor r9d, 0x24d55989
mov r8d, eax
and r8d, r9d
or eax, 0xe8b706a2
imul eax, r8d
add eax, edx
mov cx, word [rcx + 0x5e]
mov word [rbp + 0x3d4], cx
cmp cx, 0xff
seta cl
mov byte [rbp + 0x3d7], cl
cmp eax, 0x220953a6
je 0x14015d2cf
mov al, byte [rbp + 0x3d7]
test al, 1
jne 0x14015871f
jmp 0x140158753
mov ax, word [rbp + 0x3d4]
movzx eax, ax
mov ecx, eax
xor eax, eax
mov edx, eax
mov r8d, 0xff
sub rsp, 0x20
call fcn.14000dc65
mov eax, dword [rbp + 0x404]
add rsp, 0x20
mov dword [rbp + 0x3e4], eax
jmp 0x140159e04
mov eax, dword [rbp + 0x404]
mov dx, word [rbp + 0x3d4]
mov r8w, 0x9171
xor r8w, 0x915f
mov ecx, 0x6a
cmp dx, r8w
mov dword [rbp + 0x3d8], ecx
mov dword [rbp + 0x3dc], eax
je 0x140159e4b
jmp 0x140158804
mov eax, dword [rbp + 0x3f4]
cmp eax, 0xffffffff
jge 0x140158804
mov eax, dword [rbp + 0x3f4]
mov ecx, 0xdb102745
xor ecx, 0xdb102745
xor ecx, eax
xor eax, 0xffffffff
and eax, 0
shl eax, 1
sub eax, ecx
mov ecx, 0x456e1cd1
xor ecx, 0x456e1cd0
shr eax, cl
mov ecx, eax
xor eax, eax
sub eax, 0xd764cc9b
sub eax, ecx
add eax, 0xd764cc9b
movsxd rcx, eax
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.14000dc65
mov eax, dword [rbp + 0x404]
add rsp, 0x20
mov dword [rbp + 0x3e4], eax
jmp 0x140159e04
mov eax, dword [0x140209c28]
xor eax, 0x44a26d50
or eax, dword [0x140209c2c]
mov r8d, 0xffffffff
xor r8d, 0xe3b30948
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov r8d, 0x20a2e4c7
xor r8d, 0xc311ed8f
mov edx, eax
and edx, r8d
or eax, 0xe3b30948
imul eax, edx
add eax, ecx
mov ecx, 0xf489470
xor ecx, 0xb63194c
xor edx, edx
div ecx
mov r8d, 0x169475fc
xor r8d, 0xaa08d5eb
mov ecx, 0x3118c91b
xor ecx, 0xcee736e4
xor r8d, ecx
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0xbc9ca017
or eax, 0xbc9ca017
imul eax, edx
add eax, ecx
cmp eax, 0xd1a2c548
jae 0x14015d2d8
mov eax, dword [rbp + 0x3f4]
mov rcx, qword [rbp + 0x408]
mov edx, dword [0x140209c30]
and edx, dword [0x140209c34]
add edx, 0xb0abbd9e
mov r8d, 0x5efc9ed8
xor r8d, 0xf52a2f71
add edx, r8d
sub edx, 0xb0abbd9e
sub edx, 0x2c5350d9
add edx, 0x31b8089e
add edx, 0x2c5350d9
imul edx, edx, 0xc7a36873
mov dword [rbp + 0x3bc], edx
add rcx, 0x5e
mov qword [rbp + 0x3b0], rcx
mov ecx, 2
cdq
idiv ecx
mov rdx, qword [rbp + 0x3b0]
mov eax, eax
mov r8d, eax
lea rcx, [rbp + 0x14c8]
sub rsp, 0x20
call fcn.1400a2a00
mov rdx, qword [rbp + 0x6a0]
mov rcx, qword [rbp + 0x11b8]
mov eax, dword [rbp + 0x3bc]
add rsp, 0x20
mov r8, qword [rbp + 0x14c8]
mov qword [rbp + 0x3c0], r8
mov rdx, qword [rdx]
mov qword [rbp + 0x3c8], rdx
mov cl, byte [rcx]
mov dl, 0xa0
xor dl, 0xa0
cmp cl, dl
sete cl
mov byte [rbp + 0x3d3], cl
cmp eax, 0xe3be4c60
ja 0x14015d2d8
mov eax, dword [rbp + 0x404]
mov dl, byte [rbp + 0x3d3]
mov ecx, 0x5c
test dl, 1
mov dword [rbp + 0x3d8], ecx
mov dword [rbp + 0x3dc], eax
jne 0x14015899f
jmp 0x140159e4b
mov rax, qword [rbp + 0x6a8]
mov rcx, qword [rbp + 0x3c8]
mov rdx, qword [rbp + 0x3c0]
mov qword [rbp + 0x14a8], rdx
mov qword [rax], rcx
lea rcx, [rbp + 0x14b8]
lea rdx, [rbp + 0x14a8]
sub rsp, 0x20
call fcn.14015db80
mov rdx, qword [rbp + 0x6b0]
mov rcx, qword [rbp + 0x11b8]
mov eax, dword [rbp + 0x404]
add rsp, 0x20
mov r8, qword [rbp + 0x14b8]
mov qword [rbp + 0x390], r8
mov rdx, qword [rdx]
mov qword [rbp + 0x398], rdx
mov dl, byte [rcx]
mov r8b, 0xf3
xor r8b, 0xf3
xor ecx, ecx
cmp dl, r8b
mov qword [rbp + 0x3a0], rcx
mov dword [rbp + 0x3ac], eax
jne 0x140159aa7
mov rcx, qword [rbp + 0x398]
mov rdx, qword [rbp + 0x390]
mov rdi, qword [rbp + 0x6c8]
mov rsi, qword [rbp + 0x6c0]
mov rbx, qword [rbp + 0x1140]
mov rax, qword [rbp + 0x6b8]
mov byte [rbp + 0x14d8], 1
mov qword [rbp + 0x1498], rdx
mov qword [rax], rcx
lea rdx, [rbp + 0x1498]
sub rsp, 0x20
mov rcx, rbx
call fcn.14001dec2
mov r11, qword [rbp + 0x6d0]
mov r10, qword [rbp + 0x5a0]
mov r9, qword [rbp + 0x5a8]
mov r8, qword [rbp + 0x6d8]
mov rdx, qword [rbp + 0x390]
mov rax, qword [rbp + 0x6e0]
mov rcx, qword [rbp + 0x398]
add rsp, 0x20
mov rbx, qword [rbx]
mov rsi, qword [rsi]
mov qword [rdi], rbx
mov qword [r11], rsi
mov qword [rbp + 0x1478], r10
mov qword [r8], r9
mov qword [rbp + 0x1468], rdx
mov qword [rax], rcx
lea rcx, [rbp + 0x1488]
lea rdx, [rbp + 0x1478]
lea r8, [rbp + 0x1468]
sub rsp, 0x20
call fcn.1400938d0
mov r8, qword [rbp + 0x6e8]
mov rdx, qword [rbp + 0x11b8]
mov rcx, qword [rbp + 0x398]
mov eax, dword [rbp + 0x404]
add rsp, 0x20
mov r9, qword [rbp + 0x1488]
mov qword [rbp + 0x380], r9
mov r8, qword [r8]
mov qword [rbp + 0x388], r8
cmp byte [rdx], 0
mov qword [rbp + 0x3a0], rcx
mov dword [rbp + 0x3ac], eax
jne 0x140159aa7
mov rcx, qword [rbp + 0x10f0]
mov rax, qword [rbp + 0x700]
mov rdx, qword [rbp + 0x6f8]
mov r8, qword [rbp + 0x388]
mov r9, qword [rbp + 0x6f0]
mov r10, qword [rbp + 0x380]
mov qword [r9], r10
mov qword [rdx], r8
mov qword [rax], 0
lea rdx, [rbp + 0x14d8]
sub rsp, 0x20
call fcn.1400c022e
mov rdx, qword [rbp + 0x11b8]
mov rcx, qword [rbp + 0x398]
mov eax, dword [rbp + 0x404]
add rsp, 0x20
cmp byte [rdx], 0
mov qword [rbp + 0x3a0], rcx
mov dword [rbp + 0x3ac], eax
jne 0x140159aa7
mov rax, qword [rbp + 0x10f0]
mov al, byte [rax]
cmp al, 1
mov byte [rbp + 0x37f], al
jne 0x140158e36
mov rcx, qword [rbp + 0x1148]
mov rax, qword [rbp + 0x708]
mov rdx, qword [rbp + 0x11c0]
mov r8, qword [rdx]
mov qword [rcx], r8
mov rdx, qword [rdx + 8]
mov qword [rcx + 8], rdx
mov rdx, qword [rax]
mov qword [rbp + 0x1458], rdx
mov rax, qword [rax + 8]
mov qword [rbp + 0x1460], rax
lea rdx, [rbp + 0x1458]
sub rsp, 0x20
call fcn.1400c0460
mov rdx, qword [rbp + 0x11b8]
mov rcx, qword [rbp + 0x398]
add rsp, 0x20
mov r8, rax
mov eax, dword [rbp + 0x404]
mov qword [rbp + 0x370], r8
cmp byte [rdx], 0
mov qword [rbp + 0x3a0], rcx
mov dword [rbp + 0x3ac], eax
jne 0x140159aa7
mov rdx, qword [rbp + 0x370]
movabs rax, 0x9d61324ed8ccf0d6
mov rcx, rdx
sub rcx, rax
add rcx, 1
movabs rax, 0x9d61324ed8ccf0d6
add rcx, rax
mov qword [rbp + 0x368], rcx
xor rdx, 0xffffffffffffffff
movabs r8, 0xb7887d798129e09a
movabs rax, 0x487782867ed61f65
xor r8, rax
mov rax, rcx
xor rax, r8
mov r8, rdx
xor r8, 0xffffffffffffffff
or rax, r8
xor rcx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
or rcx, rdx
xor rax, 0xffffffffffffffff
movabs rdx, 0x3e014a48b1203ff4
movabs r8, 0xc1feb5b74edfc00b
xor rdx, r8
xor rcx, rdx
or rax, rcx
cmp rax, 0
jge 0x140158cfc
sub rsp, 0x20
call fcn.140007f57
mov rcx, qword [rbp + 0x398]
mov eax, dword [rbp + 0x404]
add rsp, 0x20
mov qword [rbp + 0x3a0], rcx
mov dword [rbp + 0x3ac], eax
jmp 0x140159aa7
mov rax, qword [rbp + 0x710]
mov eax, dword [rax]
mov dword [rbp + 0x364], eax
mov ecx, 0xbd8bb2bb
xor ecx, 0x42744d44
cmp eax, ecx
jne 0x140158d9a
mov rcx, qword [rbp + 0x1150]
mov rax, qword [rbp + 0x708]
mov rdx, qword [rax]
mov qword [rbp + 0x1448], rdx
mov rax, qword [rax + 8]
mov qword [rbp + 0x1450], rax
lea rdx, [rbp + 0x1448]
sub rsp, 0x20
call fcn.14001dec2
mov rdx, qword [rbp + 0x1150]
mov rcx, qword [rbp + 0x728]
mov rax, qword [rbp + 0x730]
add rsp, 0x20
mov rdx, qword [rdx]
mov rcx, qword [rcx]
mov qword [rbp + 0x1438], rdx
mov qword [rax], rcx
lea rcx, [rbp + 0x1630]
lea rdx, [rbp + 0x1438]
sub rsp, 0x20
call fcn.14001d35c
add rsp, 0x20
jmp 0x140158e27
mov rax, qword [rbp + 0x368]
mov ecx, dword [rbp + 0x364]
movsxd rcx, ecx
cmp rax, rcx
jg 0x140158e27
mov rax, qword [rbp + 0x708]
mov rcx, qword [rax]
mov qword [rbp + 0x1418], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x1420], rax
lea rcx, [rbp + 0x1428]
lea rdx, [rbp + 0x1418]
sub rsp, 0x20
call fcn.14001dec2
mov rcx, qword [rbp + 0x718]
mov rax, qword [rbp + 0x720]
add rsp, 0x20
mov rdx, qword [rbp + 0x1428]
mov rcx, qword [rcx]
mov qword [rbp + 0x1408], rdx
mov qword [rax], rcx
lea rcx, [rbp + 0x1630]
lea rdx, [rbp + 0x1408]
sub rsp, 0x20
call fcn.14001d35c
add rsp, 0x20
mov rax, qword [rbp + 0x10f0]
mov al, byte [rax]
mov byte [rbp + 0x37f], al
mov eax, dword [rbp + 0x404]
mov rcx, qword [rbp + 0x398]
mov dl, byte [rbp + 0x37f]
cmp dl, 2
mov qword [rbp + 0x3a0], rcx
mov dword [rbp + 0x3ac], eax
jae 0x140159aa7
mov rdx, qword [rbp + 0x10f0]
lea rcx, [rbp + 0x1640]
sub rsp, 0x20
call fcn.1400c022e
mov rdx, qword [rbp + 0x11b8]
mov rcx, qword [rbp + 0x398]
mov eax, dword [rbp + 0x404]
add rsp, 0x20
cmp byte [rdx], 0
mov qword [rbp + 0x3a0], rcx
mov dword [rbp + 0x3ac], eax
jne 0x140159aa7
mov rcx, qword [rbp + 0x10f0]
sub rsp, 0x20
call fcn.1400c0ab0
add rsp, 0x20
cmp byte [rbp + 0x1640], 1
jne 0x140159399
mov eax, dword [rbp + 0x404]
mov rcx, qword [rbp + 0x398]
mov rdx, qword [rbp + 0x11b0]
mov dl, byte [rdx]
mov r8b, 0x19
xor r8b, 0x19
cmp dl, r8b
mov qword [rbp + 0x3a0], rcx
mov dword [rbp + 0x3ac], eax
jne 0x140159aa7
mov eax, dword [rbp + 0x404]
mov rcx, qword [rbp + 0x398]
mov rdx, qword [rbp + 0x710]
cmp dword [rdx], 1
mov qword [rbp + 0x3a0], rcx
mov dword [rbp + 0x3ac], eax
jne 0x140159aa7
mov rax, qword [rbp + 0x780]
mov rcx, qword [rax]
sub rsp, 0x20
xor eax, eax
mov edx, eax
call fcn.140056710
mov rdx, qword [rbp + 0x11b8]
mov rcx, qword [rbp + 0x398]
add rsp, 0x20
mov r8b, al
mov eax, dword [rbp + 0x404]
mov dl, byte [rdx]
test dl, dl
setne dl
or dl, r8b
test dl, 1
mov qword [rbp + 0x3a0], rcx
mov dword [rbp + 0x3ac], eax
jne 0x140159aa7
mov rax, qword [rbp + 0x780]
mov rcx, qword [rax]
sub rsp, 0x20
call fcn.1400572f8
mov rdx, qword [rbp + 0x11b8]
mov rcx, qword [rbp + 0x398]
add rsp, 0x20
mov r8, rax
mov eax, dword [rbp + 0x404]
mov dl, byte [rdx]
test dl, dl
sete dl
test r8, r8
setg r8b
and dl, r8b
test dl, 1
mov qword [rbp + 0x3a0], rcx
mov dword [rbp + 0x3ac], eax
jne 0x140158fce
jmp 0x140159aa7
mov rdx, qword [rbp + 0x1158]
mov rax, qword [rbp + 0x750]
mov rcx, qword [rbp + 0x780]
mov rcx, qword [rcx]
movups xmm0, xmmword [rax]
movups xmmword [rdx], xmm0
sub rsp, 0x20
call fcn.14005735e
mov rdx, qword [rbp + 0x11b8]
mov rcx, qword [rbp + 0x398]
add rsp, 0x20
mov r8b, al
mov eax, dword [rbp + 0x404]
mov dl, byte [rdx]
test dl, dl
sete dl
and dl, r8b
test dl, 1
mov qword [rbp + 0x3a0], rcx
mov dword [rbp + 0x3ac], eax
jne 0x140159035
jmp 0x140159aa7
mov rax, qword [rbp + 0x750]
mov rcx, qword [rbp + 0x780]
mov rcx, qword [rcx]
mov rdx, qword [rax]
mov qword [rbp + 0x13f8], rdx
mov rax, qword [rax + 8]
mov qword [rbp + 0x1400], rax
lea rdx, [rbp + 0x13f8]
sub rsp, 0x20
call fcn.140057c58
mov rdx, qword [rbp + 0x11b8]
mov rcx, qword [rbp + 0x398]
add rsp, 0x20
mov r8, rax
mov eax, dword [rbp + 0x404]
mov qword [rbp + 0x358], r8
cmp byte [rdx], 0
mov qword [rbp + 0x3a0], rcx
mov dword [rbp + 0x3ac], eax
jne 0x140159aa7
mov rax, qword [rbp + 0x358]
mov rcx, qword [rax]
mov qword [rbp + 0x350], rcx
sub rsp, 0x20
xor eax, eax
mov dl, al
call fcn.14014f6c0
mov rdx, qword [rbp + 0x11b8]
mov rcx, qword [rbp + 0x398]
add rsp, 0x20
mov eax, dword [rbp + 0x404]
mov dl, byte [rdx]
mov r8b, 0xcb
xor r8b, 0xcb
cmp dl, r8b
mov qword [rbp + 0x3a0], rcx
mov dword [rbp + 0x3ac], eax
jne 0x140159aa7
mov rdx, qword [rbp + 0x350]
mov rcx, qword [rbp + 0x1018]
mov rax, qword [rbp + 0x1010]
mov r8, qword [rax]
mov qword [rbp + 0x13e8], r8
mov rax, qword [rax + 8]
mov qword [rbp + 0x13f0], rax
lea r8, [rbp + 0x13e8]
sub rsp, 0x20
call fcn.1401500f0
mov rdx, qword [rbp + 0x11b8]
mov rcx, qword [rbp + 0x398]
add rsp, 0x20
mov r8d, eax
mov eax, dword [rbp + 0x404]
mov dword [rbp + 0x34c], r8d
cmp byte [rdx], 0
mov qword [rbp + 0x3a0], rcx
mov dword [rbp + 0x3ac], eax
jne 0x140159aa7
mov eax, dword [rbp + 0x34c]
mov ecx, dword [rbp + 0x404]
movsxd r9, ecx
movsxd rdx, eax
movabs rax, 0x58dae74af81f31af
movabs rcx, 0x66a40c58c70ba1c3
xor rax, rcx
mov rcx, rdx
sub rcx, rax
add rcx, r9
movabs rax, 0x3e7eeb123f14906c
add rcx, rax
mov qword [rbp + 0x340], rcx
mov rax, rcx
and rax, rax
movabs r8, 0xc5a8061bd9e9eea8
movabs r10, 0x3a57f9e426161157
xor r8, r10
xor rax, r8
and rax, r9
xor rax, 0xffffffffffffffff
and r9, r9
movabs r8, 0x3d3d8a2259706bf1
movabs r10, 0xc2c275dda68f940e
xor r8, r10
xor r9, r8
mov r8, rcx
xor r8, 0xffffffffffffffff
xor r9, 0xffffffffffffffff
or r8, r9
movabs r9, 0x5a47216fccb865d0
movabs r10, 0xa5b8de9033479a2f
xor r9, r10
xor rax, r9
xor r8, 0xffffffffffffffff
or rax, r8
xor rcx, rdx
and rax, rcx
cmp rax, 0
jge 0x1401592fb
mov eax, dword [0x140209c38]
sub eax, dword [0x140209c3c]
mov ecx, 0x256e56f7
xor edx, edx
div ecx
sub eax, 0xf3f4bf39
mov ecx, 0xdac1cbe4
xor ecx, 0x9af2fcc
add eax, ecx
cmp eax, 0x48f24e0
je 0x14015d2e1
mov ecx, dword [0x140209c40]
xor ecx, dword [0x140209c44]
or ecx, 0x577852ac
mov eax, ecx
or eax, eax
xor eax, 0xffffffff
mov edx, 0xfb8390c3
or edx, 0xfb8390c3
xor edx, 0xffffffff
or eax, edx
mov edx, 0xd5c441c0
xor edx, 0x2a3bbe3f
xor eax, edx
or ecx, 0xfb8390c3
mov edx, 0xd294e9f
xor edx, 0xf2d6b160
xor ecx, edx
or eax, ecx
xor eax, 0xffffffff
sub eax, 0xe6df6075
mov dword [rbp + 0x33c], eax
sub rsp, 0x20
call fcn.140007f57
mov eax, dword [rbp + 0x33c]
add rsp, 0x20
cmp eax, 0xbf6b2ffa
ja 0x140159265
mov eax, dword [rbp + 0x404]
mov rcx, qword [rbp + 0x398]
mov qword [rbp + 0x3a0], rcx
mov dword [rbp + 0x3ac], eax
jmp 0x140159aa7
mov rax, qword [rbp + 0x340]
mov rcx, rax
and rcx, 0xffffffff80000000
shl rcx, 1
movabs rdx, 0x620b947593358b44
movabs r8, 0x9df46b8a13358b44
xor rdx, r8
xor rax, rdx
add rax, rcx
movabs rcx, 0x2407ff91b735ac5e
movabs rdx, 0xdbf8006eb735ac5e
xor rcx, rdx
cmp rax, rcx
jae 0x140159379
sub rsp, 0x20
call fcn.140007f57
mov rcx, qword [rbp + 0x398]
mov eax, dword [rbp + 0x404]
add rsp, 0x20
mov qword [rbp + 0x3a0], rcx
mov dword [rbp + 0x3ac], eax
jmp 0x140159aa7
mov rcx, qword [rbp + 0x398]
mov rax, qword [rbp + 0x340]
mov qword [rbp + 0x3a0], rcx
mov dword [rbp + 0x3ac], eax
jmp 0x140159aa7
mov rax, qword [rbp + 0x738]
mov rax, qword [rax]
mov qword [rbp + 0x328], rax
xor eax, eax
mov qword [rbp + 0x330], rax
mov eax, dword [rbp + 0x404]
mov rcx, qword [rbp + 0x398]
mov r8, qword [rbp + 0x328]
mov rdx, qword [rbp + 0x330]
mov qword [rbp + 0x320], rdx
cmp rdx, r8
mov qword [rbp + 0x3a0], rcx
mov dword [rbp + 0x3ac], eax
jge 0x140159aa7
mov rax, qword [rbp + 0x320]
mov rcx, qword [rbp + 0x738]
mov rcx, qword [rcx]
mov qword [rbp + 0x318], rcx
cmp rax, rcx
jl 0x14015944a
mov rcx, qword [rbp + 0x320]
mov rdx, qword [rbp + 0x318]
add rdx, 0xffffffffffffffff
sub rsp, 0x20
call fcn.140014583
mov rcx, qword [rbp + 0x398]
mov eax, dword [rbp + 0x404]
add rsp, 0x20
mov qword [rbp + 0x3a0], rcx
mov dword [rbp + 0x3ac], eax
jmp 0x140159aa7
mov rax, qword [rbp + 0x748]
mov rdx, qword [rbp + 0x320]
mov rcx, qword [rbp + 0x740]
mov rcx, qword [rcx]
add rcx, 8
shl rdx, 3
add rcx, rdx
mov qword [rbp + 0x308], rcx
mov rcx, qword [rax]
sub rsp, 0x20
call fcn.14009abaa
mov rdx, qword [rbp + 0x11b8]
mov rcx, qword [rbp + 0x398]
add rsp, 0x20
mov r8b, al
mov eax, dword [rbp + 0x404]
mov byte [rbp + 0x317], r8b
cmp byte [rdx], 0
mov qword [rbp + 0x3a0], rcx
mov dword [rbp + 0x3ac], eax
jne 0x140159aa7
mov al, byte [rbp + 0x317]
test al, 1
jne 0x1401594cb
jmp 0x1401599fd
mov rax, qword [rbp + 0x748]
mov rcx, qword [rbp + 0x308]
mov rcx, qword [rcx]
mov qword [rbp + 0x2f8], rcx
movsxd rcx, dword [rcx + 0x10]
mov rax, qword [rax]
mov qword [rbp + 0x300], rax
cmp rax, rcx
jl 0x1401599fd
mov rax, qword [rbp + 0x300]
mov rcx, qword [rbp + 0x2f8]
movsxd rcx, dword [rcx + 0x14]
cmp rax, rcx
jg 0x1401599fd
mov rax, qword [rbp + 0x750]
mov rcx, qword [rax]
mov qword [rbp + 0x13c8], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x13d0], rax
lea rcx, [rbp + 0x13d8]
lea rdx, [rbp + 0x13c8]
sub rsp, 0x20
call fcn.14001dec2
mov rcx, qword [rbp + 0x758]
mov rax, qword [rbp + 0x308]
add rsp, 0x20
mov rdx, qword [rbp + 0x13d8]
mov qword [rbp + 0x2e0], rdx
mov rcx, qword [rcx]
mov qword [rbp + 0x2e8], rcx
mov rax, qword [rax]
mov rcx, qword [rax]
mov qword [rbp + 0x13a8], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x13b0], rax
lea rcx, [rbp + 0x13b8]
lea rdx, [rbp + 0x13a8]
sub rsp, 0x20
call fcn.14001dec2
mov rcx, qword [rbp + 0x760]
mov r10, qword [rbp + 0x2e0]
mov r9, qword [rbp + 0x2e8]
mov r8, qword [rbp + 0x768]
mov rax, qword [rbp + 0x770]
add rsp, 0x20
mov rdx, qword [rbp + 0x13b8]
mov rcx, qword [rcx]
mov qword [rbp + 0x1398], r10
mov qword [r8], r9
mov qword [rbp + 0x1388], rdx
mov qword [rax], rcx
lea rcx, [rbp + 0x1398]
lea rdx, [rbp + 0x1388]
sub rsp, 0x20
call fcn.1400838e0
mov rdx, qword [rbp + 0x11b8]
mov rcx, qword [rbp + 0x398]
add rsp, 0x20
mov r8b, al
mov eax, dword [rbp + 0x404]
mov byte [rbp + 0x2f7], r8b
cmp byte [rdx], 0
mov qword [rbp + 0x3a0], rcx
mov dword [rbp + 0x3ac], eax
jne 0x140159aa7
mov al, byte [rbp + 0x2f7]
test al, 1
jne 0x140159648
jmp 0x1401599fd
mov rcx, qword [rbp + 0x11b0]
sub rsp, 0x20
call fcn.14014eca0
mov rax, qword [rbp + 0x11b8]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0x23
xor cl, 0x23
cmp al, cl
jne 0x140159995
mov eax, dword [0x140209c48]
mov edx, dword [0x140209c4c]
mov ecx, eax
xor ecx, edx
xor ecx, 0xffffffff
or eax, edx
and eax, ecx
mov ecx, 0x8e8d2d4b
xor edx, edx
div ecx
mov ecx, 0xd8163a15
xor ecx, 0x27e9c5ea
mov r11d, eax
xor r11d, ecx
mov ecx, 0xffffffff
xor ecx, 0x50f68771
or r11d, ecx
mov ecx, 0x74cf5dd7
xor ecx, 0x2439daa6
and eax, ecx
xor eax, 0xffffffff
and r11d, eax
xor r11d, 0xffffffff
mov ecx, r11d
xor ecx, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0x7a534679
mov edx, 0xffffffff
xor edx, 0x6e718bfe
mov eax, ecx
and eax, 0x6e718bfe
and r11d, edx
mov r9d, r8d
and r9d, 0x6e718bfe
mov r10d, edx
and r10d, 0x7a534679
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, r8d
xor ecx, 0xffffffff
or edx, 0x6e718bfe
and ecx, edx
or eax, ecx
cmp eax, 0xf079ee51
ja 0x14015d2ea
mov eax, dword [0x140209c50]
mov ecx, 0xefd328af
xor ecx, 0xa5fd6fcb
xor eax, ecx
add eax, dword [0x140209c54]
sub eax, 0xc51d518c
sub eax, 0x9d1709bb
add eax, 0xbe7f9de2
mov dword [rbp + 0x2c4], eax
movabs rdx, 0x25d75d4c4662fbaf
movabs rax, 0x25d75d4c4662fb9f
xor rdx, rax
lea rcx, [rbp + 0x1358]
sub rsp, 0x20
call fcn.140143f80
add rsp, 0x20
lea rcx, [rbp + 0x1358]
lea rdx, [rbp + 0x1640]
mov r8d, 0x30
sub rsp, 0x20
call sub.msvcrt.dll_memcpy
add rsp, 0x20
lea rcx, [rbp + 0x1640]
sub rsp, 0x20
call fcn.1400c0ab0
mov rdx, qword [rbp + 0x778]
mov rcx, qword [rbp + 0x1010]
mov eax, dword [rbp + 0x2c4]
add rsp, 0x20
mov rdx, qword [rdx]
mov qword [rbp + 0x2c8], rdx
cmp rdx, 0
sete dl
mov byte [rbp + 0x2d7], dl
mov rcx, qword [rcx]
mov qword [rbp + 0x2d8], rcx
cmp eax, 0xbc559b40
ja 0x140159728
mov al, byte [rbp + 0x2d7]
test al, 1
jne 0x140159841
jmp 0x140159809
mov rax, qword [rbp + 0x2d8]
mov r9, qword [rbp + 0x2c8]
mov rdx, qword [rbp + 0x11b0]
mov rcx, qword [rbp + 0x1018]
lea r8, [rbp + 0x1358]
sub rsp, 0x20
call rax
add rsp, 0x20
mov byte [rbp + 0x2c3], al
jmp 0x14015986d
mov rax, qword [rbp + 0x2d8]
mov rdx, qword [rbp + 0x11b0]
mov rcx, qword [rbp + 0x1018]
lea r8, [rbp + 0x1358]
sub rsp, 0x20
call rax
add rsp, 0x20
mov byte [rbp + 0x2c3], al
mov rax, qword [rbp + 0x11b8]
mov cl, byte [rbp + 0x2c3]
mov al, byte [rax]
test al, al
sete al
mov byte [rbp + 0x2c2], al
and al, cl
test al, 1
jne 0x140159896
jmp 0x1401599b4
mov eax, dword [rbp + 0x404]
movsxd rcx, eax
mov rax, rcx
inc rax
mov qword [rbp + 0x2b8], rax
mov rdx, rcx
not rdx
and rax, rdx
test rax, rax
sets al
add rcx, 0xffffffff80000001
movabs rdx, 0xffffffff00000000
sub rcx, rdx
setb cl
or al, cl
test al, 1
jne 0x1401598fc
mov rcx, qword [rbp + 0x398]
mov rax, qword [rbp + 0x2b8]
mov qword [rbp + 0x3a0], rcx
mov dword [rbp + 0x3ac], eax
jmp 0x140159aa7
mov ecx, dword [0x140209c58]
xor ecx, 0x4bab605a
mov edx, dword [0x140209c5c]
mov r8d, ecx
xor r8d, 0xffffffff
mov eax, edx
and eax, r8d
xor edx, 0xffffffff
and ecx, edx
or eax, ecx
mov ecx, 0xb4543703
xor edx, edx
div ecx
mov ecx, eax
add ecx, 1
xor eax, 0xffffffff
or eax, 0x3a28da52
add eax, ecx
add eax, 0x2d70e363
cmp eax, 0x6364637a
ja 0x14015d2f3
mov eax, dword [0x140209c60]
xor edx, edx
div dword [0x140209c64]
imul eax, eax, 0xeb125978
mov ecx, 0x3f70f53b
xor edx, edx
div ecx
imul eax, eax, 0xb1acf0ed
mov dword [rbp + 0x2b4], eax
sub rsp, 0x20
call fcn.140007f57
mov eax, dword [rbp + 0x2b4]
add rsp, 0x20
cmp eax, 0xe822409f
ja 0x14015d2f3
jmp 0x140159995
mov eax, dword [rbp + 0x404]
mov rcx, qword [rbp + 0x398]
mov qword [rbp + 0x3a0], rcx
mov dword [rbp + 0x3ac], eax
jmp 0x140159aa7
mov eax, dword [rbp + 0x404]
mov rcx, qword [rbp + 0x398]
mov r8, qword [rbp + 0x320]
mov r9b, byte [rbp + 0x2c2]
mov edx, 0x6d
test r9b, 1
mov qword [rbp + 0x2a8], r8
mov dword [rbp + 0x2b0], edx
mov qword [rbp + 0x3a0], rcx
mov dword [rbp + 0x3ac], eax
jne 0x140159aa7
jmp 0x140159a3e
mov rcx, qword [rbp + 0x320]
movabs rax, 0xfbc4d91d070f20dd
add rcx, rax
add rcx, 1
movabs rax, 0x7729eacde9d6623a
movabs rdx, 0x8ced33d0eed942e7
xor rax, rdx
sub rcx, rax
xor eax, eax
mov qword [rbp + 0x2a8], rcx
mov dword [rbp + 0x2b0], eax
mov rax, qword [rbp + 0x2a8]
mov ecx, dword [rbp + 0x2b0]
mov dword [rbp + 0x2a0], ecx
mov byte [rbp + 0x2a7], cl
test cl, cl
mov qword [rbp + 0x330], rax
je 0x1401593b3
jmp 0x140159a6b
mov eax, dword [rbp + 0x2a0]
mov ecx, dword [rbp + 0x404]
mov rdx, qword [rbp + 0x398]
mov r8b, byte [rbp + 0x2a7]
sub r8b, 0x6d
mov qword [rbp + 0x3a0], rdx
mov dword [rbp + 0x3ac], ecx
mov dword [rbp + 0x400], eax
jne 0x140159e68
jmp 0x140159aa7
mov rax, qword [rbp + 0x3c8]
mov rcx, qword [rbp + 0x3a0]
mov edx, dword [rbp + 0x3ac]
mov dword [rbp + 0x294], edx
mov qword [rbp + 0x298], rcx
cmp rax, 0
je 0x140159c53
mov eax, dword [0x140209c68]
xor eax, 0x5910a969
mov edx, dword [0x140209c6c]
mov r8d, eax
xor r8d, edx
mov ecx, 0xdeb484d1
xor ecx, 0x214b7b2e
xor r8d, ecx
mov ecx, edx
and ecx, r8d
shl ecx, 1
sub ecx, edx
sub eax, ecx
mov ecx, 0x8662858f
xor ecx, 0x1d35e9c0
xor eax, ecx
mov ecx, 0xab7e4d8c
xor edx, edx
div ecx
mov ecx, 0xf79c59df
xor ecx, 0x863a620
xor eax, ecx
mov edx, 0xffffffff
xor edx, 0xa07c5c7
mov ecx, 0xffffffff
xor ecx, 0xb9b4639f
or eax, edx
or ecx, 0xb9b4639f
xor eax, 0xffffffff
and eax, ecx
cmp eax, 0x118af10
jae 0x14015d2fc
mov rdx, qword [rbp + 0x3c8]
mov eax, dword [0x140209c70]
mov ecx, dword [0x140209c74]
xor ecx, 0xe517fd88
and eax, ecx
mov ecx, 0xbeceaf22
xor ecx, 0x32df4fc5
and eax, ecx
add eax, 0x2b23786e
xor eax, 0x4e155d6c
mov ecx, 0xa16d3af
xor ecx, 0x16ca27b
mov rdx, qword [rdx]
xor rdx, 0xffffffffffffffff
mov r8, 0xffffffffffffffff
movabs r9, 0x4000000000000000
xor r8, r9
movabs r9, 0x321398dc8c7afc70
movabs r10, 0xa5bf4289315ad5f1
xor r9, r10
movabs r10, 0xa4f3119ad5987214
movabs r11, 0x5b0cee652a678deb
xor r10, r11
xor r9, r10
or rdx, r8
movabs r8, 0xc20a49ef658fb078
movabs r10, 0x55a693bad8af99f9
xor r8, r10
or r8, r9
xor rdx, 0xffffffffffffffff
and rdx, r8
movabs r8, 0x8b625c20be9dcd8a
movabs r9, 0x8b625c20be9dcd8a
xor r8, r9
cmp rdx, r8
sete dl
mov byte [rbp + 0x293], dl
cmp eax, ecx
jb 0x140159b54
mov al, byte [rbp + 0x293]
test al, 1
jne 0x140159c3f
jmp 0x140159c53
mov rcx, qword [rbp + 0x3c8]
sub rsp, 0x20
call fcn.14000fb44
add rsp, 0x20
mov eax, dword [rbp + 0x294]
mov rcx, qword [rbp + 0x298]
cmp rcx, 0
mov dword [rbp + 0x3e4], eax
je 0x140159e04
mov eax, dword [rbp + 0x294]
mov rcx, qword [rbp + 0x298]
mov rcx, qword [rcx]
movabs rdx, 0x672a3b2a64765843
movabs r8, 0x272a3b2a64765843
xor rdx, r8
and rcx, rdx
movabs rdx, 0x31312d69ff7fb094
movabs r8, 0x31312d69ff7fb094
xor rdx, r8
cmp rcx, rdx
mov dword [rbp + 0x3e4], eax
jne 0x140159e04
mov ecx, dword [0x140209c78]
xor ecx, 0x322f74e4
mov edx, dword [0x140209c7c]
xor edx, 0x49501379
mov eax, ecx
and eax, edx
xor ecx, edx
or eax, ecx
xor eax, 0x5efb621b
imul eax, eax, 0xf1149278
or eax, 0xb43d5017
mov ecx, 0x72afe905
xor ecx, 0xb7da9c7c
cmp eax, ecx
jbe 0x14015d305
mov rcx, qword [rbp + 0x298]
mov eax, dword [0x140209c80]
mov r9d, dword [0x140209c84]
mov r8d, 0xd17d883c
xor r8d, 0x2e8277c3
mov edx, eax
xor edx, r8d
mov r8d, r9d
and r8d, edx
mov edx, 0xf2c285c1
xor edx, 0xd3d7a3e
mov r10d, r9d
xor r10d, edx
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, 0xb007c72f
xor r8d, 0x574dc20a
mov edx, eax
and edx, r8d
shl edx, 1
xor eax, 0xe74a0525
add eax, edx
mov edx, eax
xor edx, 0xffffffff
mov r8d, 0xccd07928
xor r8d, 0x59f67018
and r8d, edx
mov r9d, 0xfd0e7de6
xor r9d, 0x682874d6
mov edx, 0x1c04263c
xor edx, 0xe3fbd9c3
xor r9d, edx
mov edx, eax
and edx, r9d
imul edx, r8d
mov r8d, eax
and r8d, 0x95260930
or eax, 0x95260930
imul eax, r8d
add eax, edx
mov edx, 0x3f57d158
xor edx, 0xfb21dab3
or eax, edx
mov dword [rbp + 0x28c], eax
sub rsp, 0x20
call fcn.14000fb44
mov eax, dword [rbp + 0x28c]
add rsp, 0x20
cmp eax, 0x92ac946d
jb 0x140159d03
mov eax, dword [rbp + 0x294]
mov dword [rbp + 0x3e4], eax
jmp 0x140159e04
mov rcx, qword [rbp + 0x11b8]
mov eax, dword [rbp + 0x3e4]
mov dword [rbp + 0x288], eax
mov dl, byte [rcx]
mov r8b, 0x12
xor r8b, 0x12
mov ecx, 0x5c
cmp dl, r8b
mov dword [rbp + 0x3d8], ecx
mov dword [rbp + 0x3dc], eax
jne 0x140159e4b
mov eax, dword [rbp + 0x288]
mov dword [rbp + 0x284], eax
jmp 0x140159ebd
mov ecx, dword [rbp + 0x3d8]
mov eax, dword [rbp + 0x3dc]
mov dword [rbp + 0x27c], ecx
mov dword [rbp + 0x280], eax
jmp 0x14015bc07
mov eax, dword [rbp + 0x404]
mov ecx, dword [rbp + 0x400]
mov dword [rbp + 0x278], ecx
test ecx, ecx
mov dword [rbp + 0x284], eax
je 0x140159ebd
jmp 0x140159e8d
mov eax, dword [rbp + 0x404]
mov ecx, dword [rbp + 0x278]
mov edx, ecx
sub edx, 0x6b
mov edx, eax
mov dword [rbp + 0x284], edx
mov dword [rbp + 0x27c], ecx
mov dword [rbp + 0x280], eax
jne 0x14015bc07
jmp 0x140159ebd
mov rax, qword [rbp + 0x3f8]
mov ecx, dword [rbp + 0x284]
mov dword [rbp + 0x270], ecx
mov ecx, dword [rax]
not ecx
and ecx, 0x10
sub rsp, 0x20
call fcn.14009e8f0
mov rcx, qword [rbp + 0x11b8]
add rsp, 0x20
mov r8b, byte [rcx]
xor ecx, ecx
mov r9b, cl
test r8b, r8b
sete cl
and cl, al
mov eax, 0x5c
mov edx, 0x87
cmp r8b, r9b
cmove eax, edx
test cl, 1
mov dword [rbp + 0x274], eax
jne 0x140159f1f
jmp 0x14015bbaf
mov rax, qword [rbp + 0x410]
mov eax, dword [rax]
mov dword [rbp + 0x26c], eax
cmp eax, 0xffffffff
jge 0x140159f93
mov ecx, dword [rbp + 0x26c]
mov eax, 0xe97ddc13
xor eax, 0xe97ddc13
sub eax, ecx
mov ecx, 0xa1a52245
xor ecx, 0xa1a52244
shr eax, cl
mov ecx, eax
mov eax, 0x3fdce881
xor eax, 0x3fdce881
sub eax, ecx
movsxd rcx, eax
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.14000dc65
mov eax, dword [rbp + 0x270]
add rsp, 0x20
mov dword [rbp + 0x268], eax
jmp 0x14015b9bf
mov rcx, qword [rbp + 0x1160]
mov eax, dword [rbp + 0x26c]
mov rdx, qword [rbp + 0x408]
add rdx, 0x5e
mov qword [rbp + 0x248], rdx
mov r8d, 2
cdq
idiv r8d
mov rdx, qword [rbp + 0x248]
mov eax, eax
mov r8d, eax
sub rsp, 0x20
call fcn.1400a2a00
mov r8, qword [rbp + 0x1160]
mov rdx, qword [rbp + 0x788]
mov rcx, qword [rbp + 0x11b8]
mov eax, dword [rbp + 0x270]
add rsp, 0x20
mov r8, qword [r8]
mov qword [rbp + 0x250], r8
mov rdx, qword [rdx]
mov qword [rbp + 0x258], rdx
cmp byte [rcx], 0
mov dword [rbp + 0x264], eax
jne 0x14015ba98
mov rdx, qword [rbp + 0x1168]
mov rax, qword [rbp + 0x790]
mov rcx, qword [rbp + 0x258]
mov r8, qword [rbp + 0x250]
mov qword [rdx], r8
mov qword [rax], rcx
lea rcx, [rbp + 0x1318]
sub rsp, 0x20
call fcn.14015db80
mov rcx, qword [rbp + 0x798]
mov rdx, qword [rbp + 0x11b8]
mov eax, dword [rbp + 0x270]
add rsp, 0x20
mov r8, qword [rbp + 0x1318]
mov qword [rbp + 0x228], r8
mov rcx, qword [rcx]
mov qword [rbp + 0x230], rcx
xor ecx, ecx
cmp byte [rdx], 0
mov qword [rbp + 0x238], rcx
mov dword [rbp + 0x244], eax
jne 0x14015b88e
mov eax, dword [0x140209c88]
mov edx, dword [0x140209c8c]
xor edx, 0xffffffff
mov ecx, eax
xor ecx, edx
and ecx, eax
mov edx, ecx
xor edx, 0xffffffff
mov eax, 0xffb8690f
xor eax, 0xd98233e7
and eax, edx
mov edx, 0xffffffff
xor edx, 0x263a5ae8
and ecx, edx
or eax, ecx
add eax, 0x3d86bf45
sub eax, 0x16a40b50
sub eax, 0x3d86bf45
mov ecx, 0x54ad6af4
xor edx, edx
div ecx
mov ecx, 0x9968c5bd
xor ecx, 0x611acd4
cmp eax, ecx
je 0x14015d30e
mov rcx, qword [rbp + 0x230]
mov rdx, qword [rbp + 0x228]
mov rdi, qword [rbp + 0x7b0]
mov rsi, qword [rbp + 0x7a8]
mov rax, qword [rbp + 0x7a0]
mov r8d, dword [0x140209c90]
xor r8d, 0x4f423252
add r8d, dword [0x140209c94]
mov r9d, 0x8e352355
xor r9d, 0x4270663e
or r8d, r9d
mov r9d, r8d
and r9d, 0x17379867
xor r9d, 0xffffffff
mov r10d, 0xf0fa7436
xor r10d, 0xe7cdec51
add r8d, r10d
mov r10d, 0x8fb8042
xor r10d, 0x8fb8043
add r8d, r10d
add r8d, r9d
xor r8d, 0x4a5ece84
mov dword [rbp + 0x20c], r8d
mov byte [rbp + 0x1328], 0
mov qword [rbp + 0x12f8], rdx
mov qword [rax], rcx
lea rcx, [rbp + 0x1308]
lea rdx, [rbp + 0x12f8]
sub rsp, 0x20
call fcn.14001dec2
mov r11, qword [rbp + 0x7b8]
mov r10, qword [rbp + 0x5a0]
mov r9, qword [rbp + 0x5a8]
mov r8, qword [rbp + 0x7c0]
mov rdx, qword [rbp + 0x228]
mov rcx, qword [rbp + 0x230]
mov rax, qword [rbp + 0x7c8]
add rsp, 0x20
mov rbx, qword [rbp + 0x1308]
mov rsi, qword [rsi]
mov qword [rdi], rbx
mov qword [r11], rsi
mov qword [rbp + 0x12d8], r10
mov qword [r8], r9
mov qword [rbp + 0x12c8], rdx
mov qword [rax], rcx
lea rcx, [rbp + 0x12e8]
lea rdx, [rbp + 0x12d8]
lea r8, [rbp + 0x12c8]
sub rsp, 0x20
call fcn.1400938d0
mov rdx, qword [rbp + 0x7d0]
mov rcx, qword [rbp + 0x11b8]
mov eax, dword [rbp + 0x20c]
add rsp, 0x20
mov r8, qword [rbp + 0x12e8]
mov qword [rbp + 0x210], r8
mov rdx, qword [rdx]
mov qword [rbp + 0x218], rdx
cmp byte [rcx], 0
sete cl
mov byte [rbp + 0x227], cl
cmp eax, 0x21b86971
jbe 0x14015d30e
mov eax, dword [rbp + 0x270]
mov rcx, qword [rbp + 0x230]
mov dl, byte [rbp + 0x227]
test dl, 1
mov qword [rbp + 0x238], rcx
mov dword [rbp + 0x244], eax
jne 0x14015a288
jmp 0x14015b88e
mov rcx, qword [rbp + 0x10f0]
mov rax, qword [rbp + 0x7e8]
mov rdx, qword [rbp + 0x408]
mov r8, qword [rbp + 0x7e0]
mov r9, qword [rbp + 0x218]
mov r10, qword [rbp + 0x7d8]
mov r11, qword [rbp + 0x210]
mov qword [r10], r11
mov qword [r8], r9
mov rdx, qword [rdx + 0x28]
mov qword [rax], rdx
lea rdx, [rbp + 0x1328]
sub rsp, 0x20
call fcn.1400c022e
mov rdx, qword [rbp + 0x11b8]
mov rcx, qword [rbp + 0x230]
mov eax, dword [rbp + 0x270]
add rsp, 0x20
cmp byte [rdx], 0
mov qword [rbp + 0x238], rcx
mov dword [rbp + 0x244], eax
jne 0x14015b88e
mov rax, qword [rbp + 0x10f0]
mov al, byte [rax]
cmp al, 1
mov byte [rbp + 0x20b], al
jne 0x14015a677
mov rax, qword [rbp + 0x708]
mov rcx, qword [rbp + 0x11c0]
mov rdx, qword [rcx]
mov qword [rbp + 0x12b8], rdx
mov rcx, qword [rcx + 8]
mov qword [rbp + 0x12c0], rcx
mov rcx, qword [rax]
mov qword [rbp + 0x12a8], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x12b0], rax
lea rcx, [rbp + 0x12b8]
lea rdx, [rbp + 0x12a8]
sub rsp, 0x20
call fcn.1400c0460
mov rdx, qword [rbp + 0x11b8]
mov rcx, qword [rbp + 0x230]
add rsp, 0x20
mov r8, rax
mov eax, dword [rbp + 0x270]
mov qword [rbp + 0x200], r8
cmp byte [rdx], 0
mov qword [rbp + 0x238], rcx
mov dword [rbp + 0x244], eax
jne 0x14015b88e
mov eax, dword [0x140209c98]
xor edx, edx
div dword [0x140209c9c]
mov ecx, 0x682c7a2d
xor edx, edx
div ecx
mov ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, 0x255399e7
xor edx, 0x70ad743f
and edx, eax
mov r8d, 0xffffffff
xor r8d, 0x55feedd8
mov eax, ecx
and eax, r8d
imul eax, edx
mov r8d, 0x560add00
xor r8d, 0x3f430d8
mov edx, ecx
and edx, r8d
or ecx, 0x55feedd8
imul ecx, edx
add ecx, eax
mov edx, ecx
xor edx, 0xffffffff
mov eax, 0xa168b9cd
xor eax, 0xf4a3f496
and eax, edx
mov edx, 0xffffffff
xor edx, 0x55cb4d5b
and ecx, edx
or eax, ecx
cmp eax, 0x6cd90443
jae 0x14015d317
mov r8, qword [rbp + 0x200]
mov eax, dword [0x140209ca0]
mov edx, dword [0x140209ca4]
xor edx, 0x5efdeff1
mov ecx, eax
and ecx, edx
shl ecx, 1
xor eax, edx
add eax, ecx
mov ecx, 0xca87bb65
xor edx, edx
div ecx
mov ecx, eax
sub ecx, 0x5c17a400
mov eax, ecx
or eax, eax
xor eax, 0xffffffff
mov edx, 0x238f17fd
or edx, 0x238f17fd
xor edx, 0xffffffff
mov r9d, 0x93479822
xor r9d, 0x6cb867dd
xor eax, r9d
mov r9d, 0x48bccdfb
xor r9d, 0xb7433204
xor edx, r9d
and eax, edx
or ecx, 0x238f17fd
xor ecx, 0xffffffff
xor eax, 0xffffffff
mov edx, 0x53677b4d
xor edx, 0xac9884b2
xor ecx, edx
and eax, ecx
mov ecx, 0x59a894fb
xor ecx, 0x64729c5e
mov r9, 0xffffffffffffffff
xor r9, 1
xor edx, edx
sub rdx, 1
sub r9, rdx
mov rdx, r8
sub rdx, r9
mov qword [rbp + 0x1f0], rdx
xor r8, 0xffffffffffffffff
or rdx, rdx
xor rdx, 0xffffffffffffffff
or r8, r8
xor r8, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
and rdx, r8
cmp rdx, 0
setl dl
mov byte [rbp + 0x1ff], dl
cmp eax, ecx
jb 0x14015d317
mov al, byte [rbp + 0x1ff]
test al, 1
jne 0x14015a522
jmp 0x14015a54e
sub rsp, 0x20
call fcn.140007f57
mov rcx, qword [rbp + 0x230]
mov eax, dword [rbp + 0x270]
add rsp, 0x20
mov qword [rbp + 0x238], rcx
mov dword [rbp + 0x244], eax
jmp 0x14015b88e
mov rax, qword [rbp + 0x710]
mov eax, dword [rax]
mov dword [rbp + 0x1ec], eax
cmp eax, 0xffffffff
jne 0x14015a5df
mov rax, qword [rbp + 0x708]
mov rcx, qword [rax]
mov qword [rbp + 0x1288], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x1290], rax
lea rcx, [rbp + 0x1298]
lea rdx, [rbp + 0x1288]
sub rsp, 0x20
call fcn.14001dec2
mov rcx, qword [rbp + 0x800]
mov rax, qword [rbp + 0x808]
add rsp, 0x20
mov rdx, qword [rbp + 0x1298]
mov rcx, qword [rcx]
mov qword [rbp + 0x1278], rdx
mov qword [rax], rcx
lea rcx, [rbp + 0x1630]
lea rdx, [rbp + 0x1278]
sub rsp, 0x20
call fcn.14001d35c
add rsp, 0x20
jmp 0x14015a668
mov rax, qword [rbp + 0x1f0]
mov ecx, dword [rbp + 0x1ec]
movsxd rcx, ecx
cmp rax, rcx
jg 0x14015a668
mov rcx, qword [rbp + 0x1170]
mov rdx, qword [rbp + 0x1178]
mov rax, qword [rbp + 0x708]
mov r8, qword [rax]
mov qword [rdx], r8
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.14001dec2
mov rdx, qword [rbp + 0x1170]
mov rcx, qword [rbp + 0x7f0]
mov rax, qword [rbp + 0x7f8]
add rsp, 0x20
mov rdx, qword [rdx]
mov rcx, qword [rcx]
mov qword [rbp + 0x1268], rdx
mov qword [rax], rcx
lea rcx, [rbp + 0x1630]
lea rdx, [rbp + 0x1268]
sub rsp, 0x20
call fcn.14001d35c
add rsp, 0x20
mov rax, qword [rbp + 0x10f0]
mov al, byte [rax]
mov byte [rbp + 0x20b], al
mov eax, dword [rbp + 0x270]
mov rcx, qword [rbp + 0x230]
mov dl, byte [rbp + 0x20b]
mov r8b, 0xa
xor r8b, 8
cmp dl, r8b
mov qword [rbp + 0x238], rcx
mov dword [rbp + 0x244], eax
jae 0x14015b88e
mov rdx, qword [rbp + 0x10f0]
lea rcx, [rbp + 0x1640]
sub rsp, 0x20
call fcn.1400c022e
mov rdx, qword [rbp + 0x11b8]
mov rcx, qword [rbp + 0x230]
mov eax, dword [rbp + 0x270]
add rsp, 0x20
cmp byte [rdx], 0
mov qword [rbp + 0x238], rcx
mov dword [rbp + 0x244], eax
jne 0x14015b88e
mov rcx, qword [rbp + 0x10f0]
sub rsp, 0x20
call fcn.1400c0ab0
add rsp, 0x20
cmp byte [rbp + 0x1640], 1
jne 0x14015ae7e
mov ecx, dword [0x140209ca8]
sub ecx, dword [0x140209cac]
mov eax, ecx
and eax, 0x409d9fe5
or ecx, 0x409d9fe5
add eax, ecx
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, 0xe85ee099
add ecx, eax
xor eax, eax
sub eax, ecx
mov r8d, 0xffffffff
xor r8d, 0xbc0a718c
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0xbc0a718c
mov r8d, 0x67fb37fa
xor r8d, 0xdbf14676
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, 0xc8f3dbf4
xor ecx, 0xec6ff67e
cmp eax, ecx
jb 0x14015d320
mov rcx, qword [rbp + 0x11b0]
mov edx, dword [0x140209cb0]
xor edx, dword [0x140209cb4]
and edx, 0xd390241e
mov eax, edx
xor eax, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0xbed0733e
and eax, r8d
xor edx, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0xbed0733e
and edx, r8d
or eax, edx
xor eax, 0xffffffff
or eax, 0xee5fa461
cmp byte [rcx], 0
sete cl
mov byte [rbp + 0x1eb], cl
cmp eax, 0xfa793d2a
je 0x14015a786
mov eax, dword [rbp + 0x270]
mov rcx, qword [rbp + 0x230]
mov dl, byte [rbp + 0x1eb]
test dl, 1
mov qword [rbp + 0x238], rcx
mov dword [rbp + 0x244], eax
jne 0x14015a816
jmp 0x14015b88e
mov eax, dword [rbp + 0x270]
mov rcx, qword [rbp + 0x230]
mov rdx, qword [rbp + 0x710]
cmp dword [rdx], 1
mov qword [rbp + 0x238], rcx
mov dword [rbp + 0x244], eax
jne 0x14015b88e
mov rax, qword [rbp + 0x780]
mov rcx, qword [rax]
sub rsp, 0x20
xor eax, eax
mov edx, eax
call fcn.140056710
mov rdx, qword [rbp + 0x11b8]
mov rcx, qword [rbp + 0x230]
add rsp, 0x20
mov r8b, al
mov eax, dword [rbp + 0x270]
mov dl, byte [rdx]
test dl, dl
setne dl
or dl, r8b
test dl, 1
mov qword [rbp + 0x238], rcx
mov dword [rbp + 0x244], eax
jne 0x14015b88e
mov rax, qword [rbp + 0x780]
mov rcx, qword [rax]
sub rsp, 0x20
call fcn.1400572f8
mov rdx, qword [rbp + 0x11b8]
mov rcx, qword [rbp + 0x230]
add rsp, 0x20
mov r8, rax
mov eax, dword [rbp + 0x270]
mov dl, byte [rdx]
test dl, dl
sete dl
test r8, r8
setg r8b
and dl, r8b
test dl, 1
mov qword [rbp + 0x238], rcx
mov dword [rbp + 0x244], eax
jne 0x14015a8ec
jmp 0x14015b88e
mov rax, qword [rbp + 0x750]
mov rcx, qword [rbp + 0x780]
mov rcx, qword [rcx]
movups xmm0, xmmword [rax]
movaps xmmword [rbp + 0x1250], xmm0
sub rsp, 0x20
lea rdx, [rbp + 0x1250]
call fcn.14005735e
mov rdx, qword [rbp + 0x11b8]
mov rcx, qword [rbp + 0x230]
add rsp, 0x20
mov r8b, al
mov eax, dword [rbp + 0x270]
mov dl, byte [rdx]
test dl, dl
sete dl
and dl, r8b
test dl, 1
mov qword [rbp + 0x238], rcx
mov dword [rbp + 0x244], eax
jne 0x14015a957
jmp 0x14015b88e
mov rax, qword [rbp + 0x750]
mov rcx, qword [rbp + 0x780]
mov rcx, qword [rcx]
mov rdx, qword [rax]
mov qword [rbp + 0x1240], rdx
mov rax, qword [rax + 8]
mov qword [rbp + 0x1248], rax
lea rdx, [rbp + 0x1240]
sub rsp, 0x20
call fcn.140057c58
mov rdx, qword [rbp + 0x11b8]
mov rcx, qword [rbp + 0x230]
add rsp, 0x20
mov r8, rax
mov eax, dword [rbp + 0x270]
mov qword [rbp + 0x1e0], r8
cmp byte [rdx], 0
mov qword [rbp + 0x238], rcx
mov dword [rbp + 0x244], eax
jne 0x14015b88e
mov rax, qword [rbp + 0x1e0]
mov rcx, qword [rax]
mov qword [rbp + 0x1d8], rcx
sub rsp, 0x20
xor eax, eax
mov dl, al
call fcn.14014f6c0
mov rdx, qword [rbp + 0x11b8]
mov rcx, qword [rbp + 0x230]
add rsp, 0x20
mov eax, dword [rbp + 0x270]
cmp byte [rdx], 0
mov qword [rbp + 0x238], rcx
mov dword [rbp + 0x244], eax
jne 0x14015b88e
mov r8, qword [rbp + 0x1188]
mov rdx, qword [rbp + 0x1d8]
mov rcx, qword [rbp + 0x1018]
mov rax, qword [rbp + 0x1010]
mov r9, qword [rax]
mov qword [r8], r9
mov rax, qword [rax + 8]
mov qword [r8 + 8], rax
sub rsp, 0x20
call fcn.1401500f0
mov rdx, qword [rbp + 0x11b8]
mov rcx, qword [rbp + 0x230]
add rsp, 0x20
mov r8d, eax
mov eax, dword [rbp + 0x270]
mov dword [rbp + 0x1d4], r8d
cmp byte [rdx], 0
mov qword [rbp + 0x238], rcx
mov dword [rbp + 0x244], eax
jne 0x14015b88e
mov eax, dword [rbp + 0x1d4]
mov ecx, dword [rbp + 0x270]
movsxd r8, ecx
movsxd rdx, eax
mov rcx, rdx
add rcx, r8
mov qword [rbp + 0x1c8], rcx
mov rax, rcx
xor rax, r8
xor rcx, rdx
and rax, rcx
cmp rax, 0
jge 0x14015abd2
mov eax, dword [0x140209cb8]
imul eax, dword [0x140209cbc]
sub eax, 0xcc8739c3
mov ecx, 0x5d35066a
xor ecx, 0x18a5c199
and eax, ecx
mov ecx, eax
and ecx, 0x7d92736
xor ecx, 0xffffffff
mov edx, 0x853d77d8
xor edx, 0x82e450ee
add eax, edx
add eax, 1
add eax, ecx
cmp eax, 0x1b453b23
je 0x14015d329
mov r11d, dword [0x140209cc0]
mov edx, dword [0x140209cc4]
mov ecx, edx
xor ecx, 0xffffffff
mov eax, r11d
and eax, ecx
mov ecx, r11d
xor ecx, edx
add r11d, ecx
sub r11d, eax
mov ecx, r11d
xor ecx, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0xe167348
mov edx, 0xffffffff
xor edx, 0xd3924cb5
mov eax, ecx
and eax, 0xd3924cb5
and r11d, edx
mov r9d, r8d
and r9d, 0xd3924cb5
mov r10d, 0x4b707fc4
xor r10d, 0x45660c8c
and r10d, edx
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, r8d
xor ecx, 0xffffffff
or edx, 0xd3924cb5
and ecx, edx
or eax, ecx
mov ecx, 0x3926645b
xor ecx, 0x2202c175
sub eax, ecx
mov ecx, 0xb8b13c3
xor ecx, 0x9bdf7c73
sub eax, ecx
mov dword [rbp + 0x1c4], eax
sub rsp, 0x20
call fcn.140007f57
mov eax, dword [rbp + 0x1c4]
add rsp, 0x20
cmp eax, 0xab8d1799
jb 0x14015aaf8
mov eax, dword [rbp + 0x270]
mov rcx, qword [rbp + 0x230]
mov qword [rbp + 0x238], rcx
mov dword [rbp + 0x244], eax
jmp 0x14015b88e
mov rax, qword [rbp + 0x1c8]
movabs rcx, 0x38c5f42b0d2b9792
sub rax, rcx
add rax, 0xffffffff80000000
movabs rcx, 0x38c5f42b0d2b9792
add rax, rcx
movabs rcx, 0xffffffff00000000
cmp rax, rcx
jae 0x14015ad5c
mov eax, dword [0x140209cc8]
mov edx, dword [0x140209ccc]
mov ecx, eax
and ecx, edx
shl ecx, 1
xor eax, edx
add eax, ecx
xor ecx, ecx
sub ecx, 0x277b1d42
add eax, ecx
mov r8d, 0x867c914a
xor r8d, 0x6a6ba62e
mov ecx, 0xf0b7d42c
xor ecx, 0xf482bd3
xor r8d, ecx
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
mov r8d, 0x82c15c4c
xor r8d, 0x7d3ea3b3
xor ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0xec173764
or eax, 0xec173764
imul eax, edx
add eax, ecx
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0x2e28b9c7
mov edx, 0x879299ac
xor edx, 0xa9ba206b
mov r8d, 0x94d2be9f
xor r8d, 0x6b2d4160
xor edx, r8d
and eax, edx
sub eax, ecx
cmp eax, 0x9c63414d
jbe 0x14015d332
mov eax, dword [str.xMz_]
imul eax, dword [0x140209cd4]
imul r8d, eax, 0x34884454
mov ecx, 0x539396ca
xor ecx, 0xac6c6935
mov eax, r8d
xor eax, ecx
and eax, 0x23d8143b
mov edx, 0xffffffff
xor edx, 0x23d8143b
and r8d, edx
mov ecx, 0xffffffff
xor ecx, 0x77420b3f
and ecx, 0x23d8143b
and edx, 0x77420b3f
or eax, r8d
or ecx, edx
xor eax, ecx
sub eax, 0x8eb8fb3d
mov dword [rbp + 0x1c0], eax
mov eax, 0xa6d814b8
xor eax, 0x538ad93b
mov dword [rbp + 0x1bc], eax
sub rsp, 0x20
call fcn.140007f57
mov ecx, dword [rbp + 0x1bc]
mov eax, dword [rbp + 0x1c0]
add rsp, 0x20
cmp eax, ecx
je 0x14015d332
mov eax, dword [rbp + 0x270]
mov rcx, qword [rbp + 0x230]
mov qword [rbp + 0x238], rcx
mov dword [rbp + 0x244], eax
jmp 0x14015b88e
mov ecx, dword [0x140209cd8]
mov r8d, dword [0x140209cdc]
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
add ecx, 0x6aeb197c
mov eax, ecx
xor eax, 0xffffffff
mov edx, 0xda5274b2
xor edx, 0x25ad8b4d
xor ecx, edx
or eax, ecx
mov ecx, 0xffffffff
xor ecx, 0x5ea86db2
mov edx, 0xffffffff
xor edx, 0x5ea86db2
or ecx, edx
and eax, ecx
mov ecx, 0x397bdfa8
xor ecx, 0xc6842057
xor eax, ecx
mov edx, 0x3c4669ad
xor edx, 0x3c4669ac
mov ecx, eax
add ecx, edx
mov edx, 0xb6539c2b
xor edx, 0x49ac63d4
xor eax, edx
or eax, 0x388925e1
add eax, ecx
cmp eax, 0xfc9f84cb
je 0x14015d33b
mov rcx, qword [rbp + 0x1c8]
mov r8d, dword [0x140209ce0]
mov eax, dword [0x140209ce4]
mov edx, r8d
xor edx, eax
xor eax, 0xffffffff
and r8d, eax
mov eax, 0xfb6d92db
xor eax, 0xfb6d92d9
imul eax, r8d
sub eax, edx
sub eax, 0x600211f6
xor eax, 0xf4ff5fcb
mov edx, 0xffffffff
xor edx, 0xbd1908d7
xor r8d, r8d
sub r8d, 1
sub edx, r8d
sub eax, edx
mov dword [rbp + 0x1b8], ecx
cmp eax, 0xc72459e9
jae 0x14015adfe
mov eax, dword [rbp + 0x1b8]
mov rcx, qword [rbp + 0x230]
mov qword [rbp + 0x238], rcx
mov dword [rbp + 0x244], eax
jmp 0x14015b88e
mov rax, qword [rbp + 0x738]
mov rax, qword [rax]
mov qword [rbp + 0x1a8], rax
xor eax, eax
mov qword [rbp + 0x1b0], rax
mov eax, dword [rbp + 0x270]
mov rcx, qword [rbp + 0x230]
mov r8, qword [rbp + 0x1a8]
mov rdx, qword [rbp + 0x1b0]
mov qword [rbp + 0x1a0], rdx
cmp rdx, r8
mov qword [rbp + 0x238], rcx
mov dword [rbp + 0x244], eax
jge 0x14015b88e
mov rax, qword [rbp + 0x1a0]
mov rcx, qword [rbp + 0x738]
mov rcx, qword [rcx]
mov qword [rbp + 0x198], rcx
cmp rax, rcx
jl 0x14015b002
mov eax, dword [0x140209ce8]
xor eax, 0x911757c4
or eax, dword [0x140209cec]
sub eax, 0x212bee81
imul eax, eax, 0x62e6d72
mov edx, 0x5eb078d2
xor edx, 0x77a76d1
mov ecx, eax
and ecx, edx
shl ecx, 1
mov edx, 0x80ad8d5f
xor edx, 0xd967835c
xor eax, edx
add eax, ecx
cmp eax, 0x3f97cc87
je 0x14015d344
mov rcx, qword [rbp + 0x1a0]
mov rdx, qword [rbp + 0x198]
mov eax, dword [0x140209cf0]
and eax, dword [0x140209cf4]
mov r8d, 0x19fa341b
xor r8d, 0x19fa341b
mov r9d, 0xf5b8e923
xor r9d, 0x5fa09f79
sub r8d, r9d
sub eax, r8d
mov r8d, eax
and r8d, 0x53c3c3
shl r8d, 1
add eax, 0x53c3c3
sub eax, r8d
add eax, 0x49d5b2bc
add eax, 0xa63df733
mov r8d, 0x3de167dc
xor r8d, 0x7434d560
sub eax, r8d
mov dword [rbp + 0x194], eax
mov eax, 0x429cc9e1
xor eax, 0xd6c90830
mov dword [rbp + 0x190], eax
xor eax, eax
sub rax, 0xffffffffffffffff
sub rdx, rax
sub rsp, 0x20
call fcn.140014583
mov ecx, dword [rbp + 0x190]
mov eax, dword [rbp + 0x194]
add rsp, 0x20
cmp eax, ecx
ja 0x14015d344
mov eax, dword [rbp + 0x270]
mov rcx, qword [rbp + 0x230]
mov qword [rbp + 0x238], rcx
mov dword [rbp + 0x244], eax
jmp 0x14015b88e
mov rax, qword [rbp + 0x748]
mov rdx, qword [rbp + 0x1a0]
mov rcx, qword [rbp + 0x740]
mov rcx, qword [rcx]
add rcx, 8
shl rdx, 3
add rcx, rdx
mov qword [rbp + 0x180], rcx
mov rcx, qword [rax]
sub rsp, 0x20
call fcn.14009abaa
mov rdx, qword [rbp + 0x11b8]
mov rcx, qword [rbp + 0x230]
add rsp, 0x20
mov r8b, al
mov eax, dword [rbp + 0x270]
mov byte [rbp + 0x18f], r8b
cmp byte [rdx], 0
mov qword [rbp + 0x238], rcx
mov dword [rbp + 0x244], eax
jne 0x14015b88e
mov eax, dword [0x140209cf8]
mov ecx, dword [0x140209cfc]
mov edx, 0xe55529cf
xor edx, 0x99efe21f
xor ecx, edx
xor ecx, 0xffffffff
mov r8d, eax
xor r8d, ecx
and r8d, eax
and r8d, 0x2538cb28
mov eax, 0x87ccf78
xor eax, 0x50993f7a
sub r8d, eax
sub r8d, 0x95ec620b
mov eax, 0x27514ed9
xor eax, 0x7fb4bedb
add r8d, eax
mov ecx, r8d
xor ecx, 0xffffffff
mov eax, 0xfdd8deb0
xor eax, 0x7d696134
and eax, ecx
mov edx, 0x10add5a
xor edx, 0x81bb62de
mov ecx, 0xd63e5bfe
xor ecx, 0x29c1a401
xor edx, ecx
and r8d, edx
mov ecx, 0xffffffff
xor ecx, 0xba7c5004
mov r9d, 0x495d1df0
xor r9d, 0xc9eca274
and ecx, r9d
and edx, 0xba7c5004
or eax, r8d
or ecx, edx
xor eax, ecx
cmp eax, 0x24c0f966
je 0x14015d34d
mov ecx, dword [0x140209d00]
imul ecx, dword [0x140209d04]
mov eax, 0xffffffff
xor eax, 0x543e9979
add ecx, eax
mov eax, 0x51e26e86
xor eax, 0x51e26e87
add ecx, eax
mov eax, ecx
and eax, 0x76173224
xor eax, 0xffffffff
add ecx, 0x76173224
add ecx, 1
add ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xf35dfde5
or eax, edx
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xf35dfde5
or ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0x255380ef
xor ecx, 0xfafcb05
cmp eax, ecx
jb 0x14015b11d
mov al, byte [rbp + 0x18f]
test al, 1
jne 0x14015b1a7
jmp 0x14015b74a
mov rax, qword [rbp + 0x748]
mov rcx, qword [rbp + 0x180]
mov rcx, qword [rcx]
mov qword [rbp + 0x170], rcx
movsxd rcx, dword [rcx + 0x10]
mov rax, qword [rax]
mov qword [rbp + 0x178], rax
cmp rax, rcx
jl 0x14015b74a
mov rax, qword [rbp + 0x178]
mov rcx, qword [rbp + 0x170]
movsxd rcx, dword [rcx + 0x14]
cmp rax, rcx
jg 0x14015b74a
mov rcx, qword [rbp + 0x1198]
mov rax, qword [rbp + 0x750]
mov rdx, qword [rax]
mov qword [rbp + 0x1230], rdx
mov rax, qword [rax + 8]
mov qword [rbp + 0x1238], rax
lea rdx, [rbp + 0x1230]
sub rsp, 0x20
call fcn.14001dec2
mov rdx, qword [rbp + 0x1198]
mov rcx, qword [rbp + 0x810]
mov rax, qword [rbp + 0x180]
add rsp, 0x20
mov rdx, qword [rdx]
mov qword [rbp + 0x158], rdx
mov rcx, qword [rcx]
mov qword [rbp + 0x160], rcx
mov rax, qword [rax]
mov rcx, qword [rax]
mov qword [rbp + 0x1210], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x1218], rax
lea rcx, [rbp + 0x1220]
lea rdx, [rbp + 0x1210]
sub rsp, 0x20
call fcn.14001dec2
mov rcx, qword [rbp + 0x818]
mov r10, qword [rbp + 0x158]
mov r9, qword [rbp + 0x160]
mov r8, qword [rbp + 0x820]
mov rax, qword [rbp + 0x828]
add rsp, 0x20
mov rdx, qword [rbp + 0x1220]
mov rcx, qword [rcx]
mov qword [rbp + 0x1200], r10
mov qword [r8], r9
mov qword [rbp + 0x11f0], rdx
mov qword [rax], rcx
lea rcx, [rbp + 0x1200]
lea rdx, [rbp + 0x11f0]
sub rsp, 0x20
call fcn.1400838e0
mov rdx, qword [rbp + 0x11b8]
mov rcx, qword [rbp + 0x230]
add rsp, 0x20
mov r8b, al
mov eax, dword [rbp + 0x270]
mov byte [rbp + 0x16f], r8b
cmp byte [rdx], 0
mov qword [rbp + 0x238], rcx
mov dword [rbp + 0x244], eax
jne 0x14015b88e
mov al, byte [rbp + 0x16f]
test al, 1
jne 0x14015b327
jmp 0x14015b74a
mov eax, dword [0x140209d08]
mov ecx, 0x55034805
xor ecx, 0x32f391c0
xor eax, ecx
or eax, dword [0x140209d0c]
xor ecx, ecx
sub ecx, 0x8ff84e89
add eax, ecx
mov ecx, 0x1925bece
xor ecx, 0x715e59b4
xor eax, ecx
add eax, 0xa30773d2
mov ecx, 0xcdd2aa73
xor ecx, 0xcfa95fd
cmp eax, ecx
je 0x14015d356
mov rcx, qword [rbp + 0x11b0]
mov eax, dword [0x140209d10]
mov r9d, dword [0x140209d14]
mov edx, 0xf741cd7
xor edx, 0x2ffa1c0
xor r9d, edx
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
imul eax, eax, 0xa43eab44
mov r8d, 0x3cd338c5
xor edx, edx
div r8d
and eax, 0xd085ddb0
mov dword [rbp + 0x150], eax
sub rsp, 0x20
call fcn.14014eca0
mov rcx, qword [rbp + 0x11b8]
mov eax, dword [rbp + 0x150]
add rsp, 0x20
cmp byte [rcx], 0
sete cl
mov byte [rbp + 0x157], cl
cmp eax, 0x1a8898d6
jae 0x14015d356
mov al, byte [rbp + 0x157]
test al, 1
jne 0x14015b41b
jmp 0x14015b6e0
mov rcx, qword [rbp + 0x11a0]
movabs rdx, 0xf46cda7e6f7e227c
movabs rax, 0xf46cda7e6f7e224c
xor rdx, rax
sub rsp, 0x20
call fcn.140143f80
mov rcx, qword [rbp + 0x11a0]
add rsp, 0x20
lea rdx, [rbp + 0x1640]
mov r8d, 0x30
sub rsp, 0x20
call sub.msvcrt.dll_memcpy
add rsp, 0x20
lea rcx, [rbp + 0x1640]
sub rsp, 0x20
call fcn.1400c0ab0
mov rax, qword [rbp + 0x778]
mov rcx, qword [rbp + 0x1010]
add rsp, 0x20
mov rax, qword [rax]
mov qword [rbp + 0x140], rax
mov rcx, qword [rcx]
mov qword [rbp + 0x148], rcx
cmp rax, 0
je 0x14015b60c
mov eax, dword [0x140209d18]
mov edx, dword [0x140209d1c]
mov ecx, 0xe355b442
xor ecx, 0xe355b442
sub ecx, eax
mov eax, 0x7f53c909
xor eax, 0x7f53c909
sub eax, edx
add ecx, eax
xor eax, eax
sub eax, ecx
xor eax, 0xd0e97a1f
xor ecx, ecx
sub ecx, 0xc775ae1
add eax, ecx
mov ecx, eax
and ecx, 0x1020896
shl ecx, 1
add eax, 0x1020896
sub eax, ecx
cmp eax, 0x5a8a407f
jae 0x14015d35f
mov rax, qword [rbp + 0x148]
mov r9, qword [rbp + 0x140]
mov r8, qword [rbp + 0x11a0]
mov rdx, qword [rbp + 0x11b0]
mov rcx, qword [rbp + 0x1018]
mov r10d, dword [0x140209d20]
imul r10d, dword [0x140209d24]
mov edi, 0xffffffff
xor edi, 0xd4687a73
mov esi, r10d
and esi, edi
mov r11d, r10d
or r11d, edi
mov edi, 0x5254f524
xor edi, 0xadab0adb
xor r11d, edi
imul r11d, esi
mov edi, 0x30bb7323
xor edi, 0xe4d30950
mov esi, r10d
and esi, edi
or r10d, 0xd4687a73
imul r10d, esi
add r10d, r11d
sub r10d, 0x525068e7
xor r10d, 0xffffffff
mov esi, 0x6948e867
xor esi, 0x942a9791
mov r11d, 0x5309fa6d
xor r11d, 0xacf60592
xor esi, r11d
mov r11d, 0xffffffff
xor r11d, 0x171baf79
or r10d, esi
or r11d, 0x171baf79
xor r10d, 0xffffffff
and r10d, r11d
mov dword [rbp + 0x138], r10d
mov r10d, 0x75d4ad09
xor r10d, 0xf7a21f8c
mov dword [rbp + 0x134], r10d
sub rsp, 0x20
call rax
mov ecx, dword [rbp + 0x134]
add rsp, 0x20
mov dl, al
mov eax, dword [rbp + 0x138]
mov byte [rbp + 0x13f], dl
cmp eax, ecx
jae 0x14015b4fe
mov al, byte [rbp + 0x13f]
mov byte [rbp + 0x133], al
jmp 0x14015b638
mov rax, qword [rbp + 0x148]
mov r8, qword [rbp + 0x11a0]
mov rdx, qword [rbp + 0x11b0]
mov rcx, qword [rbp + 0x1018]
sub rsp, 0x20
call rax
add rsp, 0x20
mov byte [rbp + 0x133], al
mov rax, qword [rbp + 0x11b8]
mov cl, byte [rbp + 0x133]
mov al, byte [rax]
test al, al
sete al
mov byte [rbp + 0x132], al
and al, cl
test al, 1
jne 0x14015b661
jmp 0x14015b6ff
mov eax, dword [rbp + 0x270]
movsxd rcx, eax
mov rax, rcx
inc rax
mov qword [rbp + 0x128], rax
mov r8, rcx
not r8
mov rdx, rax
xor rdx, r8
not rdx
or rax, r8
and rax, rdx
test rax, rax
sets al
add rcx, 0xffffffff80000001
movabs rdx, 0xffffffff00000000
sub rcx, rdx
setb cl
or al, cl
test al, 1
jne 0x14015b6d3
mov rcx, qword [rbp + 0x230]
mov rax, qword [rbp + 0x128]
mov qword [rbp + 0x238], rcx
mov dword [rbp + 0x244], eax
jmp 0x14015b88e
sub rsp, 0x20
call fcn.140007f57
add rsp, 0x20
mov eax, dword [rbp + 0x270]
mov rcx, qword [rbp + 0x230]
mov qword [rbp + 0x238], rcx
mov dword [rbp + 0x244], eax
jmp 0x14015b88e
mov eax, dword [rbp + 0x270]
mov rcx, qword [rbp + 0x230]
mov rdx, qword [rbp + 0x1a0]
mov r9b, byte [rbp + 0x132]
mov r8d, 0x88
test r9b, 1
mov dword [rbp + 0x11c], r8d
mov qword [rbp + 0x120], rdx
mov qword [rbp + 0x238], rcx
mov dword [rbp + 0x244], eax
jne 0x14015b88e
jmp 0x14015b769
mov rax, qword [rbp + 0x1a0]
xor ecx, ecx
sub rcx, 1
sub rax, rcx
xor ecx, ecx
mov dword [rbp + 0x11c], ecx
mov qword [rbp + 0x120], rax
mov eax, dword [rbp + 0x11c]
mov rcx, qword [rbp + 0x120]
mov qword [rbp + 0x110], rcx
mov dword [rbp + 0x118], eax
mov eax, dword [0x140209d28]
xor eax, 0xcd2b10bf
mov ecx, dword [0x140209d2c]
xor ecx, 0xce8a64b
xor edx, edx
div ecx
mov ecx, 0xea15fc7f
xor ecx, 0x2822212f
or eax, ecx
xor eax, 0xfb7e9312
mov ecx, eax
xor ecx, 0x8b40f7d4
mov edx, 0xffffffff
xor edx, 0x8b40f7d4
and eax, edx
shl eax, 1
sub eax, ecx
cmp eax, 0x4e73e14a
jb 0x14015d368
mov ecx, dword [rbp + 0x118]
mov edx, dword [0x140209d30]
mov r8d, dword [0x140209d34]
mov eax, edx
and eax, r8d
or edx, r8d
add eax, edx
or eax, 0x32d91482
mov edx, eax
and edx, 0xb425bc97
xor edx, 0xffffffff
mov r8d, 0xbba3842c
xor r8d, 0xf8638bb
add eax, r8d
add eax, 1
add eax, edx
mov r8d, 0x535a335c
xor edx, edx
div r8d
mov byte [rbp + 0x10f], cl
cmp eax, 0xa1a056f9
jae 0x14015b7d5
mov eax, dword [rbp + 0x270]
mov rcx, qword [rbp + 0x230]
mov dl, byte [rbp + 0x10f]
sub dl, 0x88
mov qword [rbp + 0x238], rcx
mov dword [rbp + 0x244], eax
je 0x14015b88e
jmp 0x14015b861
mov eax, dword [rbp + 0x118]
mov rcx, qword [rbp + 0x110]
mov dl, byte [rbp + 0x10f]
test dl, dl
mov qword [rbp + 0x1b0], rcx
mov dword [rbp + 0x274], eax
je 0x14015ae98
jmp 0x14015bbaf
mov rax, qword [rbp + 0x258]
mov rcx, qword [rbp + 0x238]
mov edx, dword [rbp + 0x244]
mov dword [rbp + 0xfc], edx
mov qword [rbp + 0x100], rcx
cmp rax, 0
je 0x14015b928
mov rax, qword [rbp + 0x258]
mov rax, qword [rax]
movabs rdx, 0xbe3e47d1e77b8820
movabs rcx, 0xbe3e47d1e77b8821
xor rdx, rcx
mov rcx, rax
add rcx, rdx
xor rax, 0xffffffffffffffff
movabs rdx, 0x4000000000000000
or rax, rdx
add rax, rcx
movabs rcx, 0x2eb79879328b84e2
movabs rdx, 0x2eb79879328b84e2
xor rcx, rdx
cmp rax, rcx
jne 0x14015b928
mov rcx, qword [rbp + 0x258]
sub rsp, 0x20
call fcn.14000fb44
add rsp, 0x20
mov eax, dword [rbp + 0xfc]
mov rcx, qword [rbp + 0x100]
cmp rcx, 0
mov dword [rbp + 0x268], eax
je 0x14015b9bf
mov eax, dword [rbp + 0xfc]
mov rcx, qword [rbp + 0x100]
mov rdx, qword [rcx]
movabs r8, 0x7e808196b481c340
movabs rcx, 0x3e808196b481c340
xor r8, rcx
movabs rcx, 0x8ce48febfbc478a5
movabs r9, 0x731b7014043b875a
xor rcx, r9
xor r8, rcx
mov rcx, rdx
xor rcx, r8
and rcx, rdx
cmp rcx, 0
mov dword [rbp + 0x268], eax
jne 0x14015b9bf
mov rcx, qword [rbp + 0x100]
sub rsp, 0x20
call fcn.14000fb44
mov eax, dword [rbp + 0xfc]
add rsp, 0x20
mov dword [rbp + 0x268], eax
mov eax, dword [rbp + 0x268]
mov dword [rbp + 0xf8], eax
mov eax, dword [0x140209d38]
xor eax, 0x636a38fd
add eax, dword [0x140209d3c]
mov ecx, 0x6a87d1f8
xor ecx, 0x25312cf2
mov edx, eax
xor edx, ecx
xor edx, 0xffffffff
mov ecx, 0x78c4196e
xor ecx, 0x3772e464
and ecx, edx
shl ecx, 1
sub ecx, 0x4fb6fd0a
sub eax, ecx
imul eax, eax, 0xde739417
mov ecx, 0x4f871568
xor ecx, 0x7ab86525
xor edx, edx
div ecx
cmp eax, 0x8ce6e491
jae 0x14015d371
mov rcx, qword [rbp + 0x11b8]
mov eax, dword [0x140209d40]
sub eax, dword [0x140209d44]
mov r8d, 0x3b332f85
xor edx, edx
div r8d
mov edx, eax
mov eax, 0xa87cec15
xor eax, 0xb4002b72
sub edx, eax
mov eax, edx
and eax, 0x29b4db92
xor edx, 0x29b4db92
or eax, edx
cmp byte [rcx], 0
sete cl
mov byte [rbp + 0xf7], cl
cmp eax, 0xb719ec04
je 0x14015d371
mov eax, dword [rbp + 0xf8]
mov cl, byte [rbp + 0xf7]
test cl, 1
mov dword [rbp + 0x264], eax
jne 0x14015bb9e
jmp 0x14015ba98
mov eax, dword [rbp + 0x264]
mov dword [rbp + 0xf0], eax
mov eax, dword [0x140209d48]
mov edx, dword [0x140209d4c]
mov ecx, eax
xor ecx, edx
xor ecx, 0xffffffff
mov r8d, edx
and r8d, ecx
mov ecx, 0x68d9a7e
xor ecx, 0x68d9a7c
imul ecx, r8d
sub ecx, edx
sub eax, ecx
mov edx, 0xfe8e7cbf
xor edx, 0x9de9a273
mov ecx, 0x128a5051
xor ecx, 0xed75afae
xor edx, ecx
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, 0x6367decc
add eax, edx
sub eax, ecx
and eax, 0xb9319913
imul eax, eax, 0x2484bfba
mov ecx, 0x44fd8969
xor ecx, 0x8d8c69
cmp eax, ecx
jb 0x14015d37a
mov eax, dword [0x140209d50]
mov edx, dword [0x140209d54]
mov ecx, eax
and ecx, edx
shl ecx, 1
add eax, edx
sub eax, ecx
mov ecx, 0x3e918fa2
xor edx, edx
div ecx
mov r8d, 0xffffffff
xor r8d, 0xcc439371
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov r8d, 0xfd7275ef
xor r8d, 0x3131e69e
mov edx, eax
and edx, r8d
or eax, 0xcc439371
imul eax, edx
add eax, ecx
add eax, 0x4d139d9d
cmp eax, 0xb920baac
jb 0x14015bb16
mov rax, qword [rbp + 0x4b8]
mov ecx, dword [rbp + 0xf0]
mov dword [rbp + 0x49c], ecx
mov qword [rbp + 0x4a0], rax
jmp 0x14015bf66
mov eax, dword [rbp + 0xf8]
mov dword [rbp + 0x41c], eax
jmp 0x14015bc74
mov eax, dword [rbp + 0x270]
mov ecx, dword [rbp + 0x274]
mov dword [rbp + 0xec], ecx
test ecx, ecx
mov dword [rbp + 0x41c], eax
je 0x14015bc74
jmp 0x14015bbd4
mov eax, dword [rbp + 0x270]
mov ecx, dword [rbp + 0xec]
mov edx, ecx
sub edx, 0x87
mov dword [rbp + 0x27c], ecx
mov ecx, eax
mov dword [rbp + 0x280], ecx
mov dword [rbp + 0x41c], eax
je 0x14015bc74
jmp 0x14015bc07
mov ecx, dword [rbp + 0x27c]
mov eax, dword [rbp + 0x280]
mov dword [rbp + 0xe4], eax
mov dword [rbp + 0xe8], ecx
test ecx, ecx
mov dword [rbp + 0x41c], eax
je 0x14015bc74
jmp 0x14015bc32
mov eax, dword [rbp + 0xe8]
mov rcx, qword [rbp + 0x408]
mov edx, dword [rbp + 0xe4]
mov r8d, eax
sub r8d, 0x6a
mov r8d, edx
mov dword [rbp + 0x41c], r8d
mov dword [rbp + 0xd4], edx
mov qword [rbp + 0xd8], rcx
mov dword [rbp + 0xe0], eax
jne 0x14015bd14
jmp 0x14015bc74
mov rcx, qword [rbp + 0x408]
mov eax, dword [rbp + 0x41c]
mov dword [rbp + 0xcc], eax
mov edx, dword [rcx]
mov dword [rbp + 0xd0], edx
mov r8d, 0xb3b0c681
xor r8d, 0xb3b0c680
xor ecx, ecx
cmp edx, r8d
mov byte [rbp + 0x4ab], cl
mov dword [rbp + 0x4ac], eax
jl 0x14015793d
mov edx, dword [rbp + 0xd0]
mov rcx, qword [rbp + 0x408]
sub rsp, 0x20
call fcn.14015de20
mov r9, qword [rbp + 0x11b8]
mov ecx, dword [rbp + 0xcc]
add rsp, 0x20
mov r8, rax
mov rax, qword [rbp + 0x4b8]
xor edx, edx
cmp byte [r9], 0
mov r9d, ecx
mov dword [rbp + 0xd4], r9d
mov qword [rbp + 0xd8], r8
mov dword [rbp + 0xe0], edx
mov dword [rbp + 0x49c], ecx
mov qword [rbp + 0x4a0], rax
jne 0x14015bf66
mov eax, dword [rbp + 0xd4]
mov rcx, qword [rbp + 0xd8]
mov edx, dword [rbp + 0xe0]
mov dword [rbp + 0xc4], edx
mov dword [rbp + 0xc8], eax
test edx, edx
mov qword [rbp + 0x420], rcx
mov dword [rbp + 0x42c], eax
je 0x14015814b
jmp 0x14015bd4d
mov eax, dword [rbp + 0xc8]
mov ecx, dword [rbp + 0xc4]
mov rdx, qword [rbp + 0x4b8]
mov r8, qword [rbp + 0x4c0]
mov r9d, ecx
sub r9d, 0x66
mov r9d, eax
mov dword [rbp + 0xc0], r9d
mov qword [rbp + 0x430], r8
mov qword [rbp + 0x438], rdx
mov dword [rbp + 0x440], ecx
mov dword [rbp + 0x444], eax
je 0x14015bdd1
jmp 0x14015be74
mov rax, qword [rbp + 0x4b8]
mov ecx, dword [rbp + 0x494]
mov edx, dword [rbp + 0x484]
cmp edx, 0x80000006
mov edx, ecx
mov dword [rbp + 0xc0], edx
mov dword [rbp + 0x49c], ecx
mov qword [rbp + 0x4a0], rax
je 0x14015bf66
mov eax, dword [rbp + 0xc0]
mov dword [rbp + 0xbc], eax
mov ecx, 0x40
mov edx, 8
sub rsp, 0x20
call fcn.140014320
add rsp, 0x20
mov rcx, rax
mov rax, qword [str._O_n_]
mov qword [rcx], rax
lea rax, [0x140216599]
mov qword [rcx + 0x10], rax
mov rax, qword [0x140216608]
mov qword [rcx + 0x18], rax
mov rax, qword [str.Hf__]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
lea rdx, [0x140216599]
lea r8, [0x1402165aa]
lea r9, [0x1402165b2]
sub rsp, 0x30
mov qword [rsp + 0x20], 0xffffffffdef288cf
call fcn.1400139e0
mov ecx, dword [rbp + 0xbc]
mov rax, qword [rbp + 0x4b8]
add rsp, 0x30
mov dword [rbp + 0x49c], ecx
mov qword [rbp + 0x4a0], rax
jmp 0x14015bf66
mov rcx, qword [rbp + 0x430]
mov rdx, qword [rbp + 0x438]
mov eax, dword [rbp + 0x440]
mov r8d, dword [rbp + 0x444]
mov dword [rbp + 0xa0], r8d
mov dword [rbp + 0xa4], eax
mov qword [rbp + 0xa8], rdx
mov qword [rbp + 0xb0], rcx
test eax, eax
je 0x14015bf2d
jmp 0x14015beb7
mov eax, dword [rbp + 0xa0]
mov ecx, dword [rbp + 0xa4]
sub ecx, 0x59
mov dword [rbp + 0x4e4], eax
je 0x14015bf92
jmp 0x14015bed7
mov rax, qword [rbp + 0xa8]
mov ecx, dword [rbp + 0xa0]
mov edx, dword [rbp + 0xa4]
sub edx, 0x5c
mov dword [rbp + 0x49c], ecx
mov qword [rbp + 0x4a0], rax
je 0x14015bf66
jmp 0x14015bf05
mov eax, dword [rbp + 0xa0]
mov ecx, dword [rbp + 0xa4]
mov edx, ecx
sub edx, 0x65
mov dword [rbp + 0x98], ecx
mov dword [rbp + 0x9c], eax
jne 0x14015c724
jmp 0x14015bf2d
mov eax, dword [rbp + 0xa0]
mov cl, byte [rbp + 0x493]
mov rdx, qword [rbp + 0xa8]
mov r8, qword [rbp + 0xb0]
mov qword [rbp + 0x4c8], r8
mov qword [rbp + 0x4d0], rdx
mov byte [rbp + 0x4df], cl
mov dword [rbp + 0x4e0], eax
jmp 0x140157855
mov eax, dword [rbp + 0x49c]
mov rcx, qword [rbp + 0x4a0]
mov dword [rbp + 0x94], eax
sub rsp, 0x20
call fcn.14001f7f0
mov eax, dword [rbp + 0x94]
add rsp, 0x20
mov dword [rbp + 0x4e4], eax
mov rax, qword [rbp + 0x11b8]
mov ecx, dword [rbp + 0x4e4]
mov dword [rbp + 0x80], ecx
mov cl, byte [rax]
mov byte [rbp + 0x87], cl
mov byte [rax], 0
mov rax, qword [rbp + 0x15e0]
mov qword [rbp + 0x88], rax
cmp rax, 0
jle 0x14015c049
mov rcx, qword [rbp + 0x88]
mov rax, qword [0x140216f60]
mov rax, qword [rax]
sub rsp, 0x20
call rax
add rsp, 0x20
mov rax, qword [rbp + 0x11b8]
mov al, byte [rax]
mov byte [rbp + 0x77], al
xor ecx, ecx
test al, al
mov eax, 0x57
cmove eax, ecx
mov dword [rbp + 0x78], eax
mov cl, al
mov byte [rbp + 0x7f], cl
test eax, eax
je 0x14015c049
jmp 0x14015c010
mov eax, dword [rbp + 0x80]
mov ecx, dword [rbp + 0x78]
mov dl, byte [rbp + 0x77]
mov r8b, byte [rbp + 0x7f]
sub r8b, 0x57
mov byte [rbp + 0x50f], dl
mov edx, eax
mov dword [rbp + 0x510], edx
mov dword [rbp + 0x98], ecx
mov dword [rbp + 0x9c], eax
je 0x14015c0fb
jmp 0x14015c724
mov eax, dword [rbp + 0x80]
mov cl, byte [rbp + 0x87]
mov byte [rbp + 0x50f], cl
mov dword [rbp + 0x510], eax
jmp 0x14015c0fb
mov rax, qword [rbp + 0x570]
mov qword [rbp + 0x68], rax
sub rsp, 0x20
call fcn.140007f57
mov r8, qword [rbp + 0x11b8]
mov rdx, qword [rbp + 0x588]
mov rcx, qword [rbp + 0x598]
mov rax, qword [rbp + 0x68]
add rsp, 0x20
mov r8b, byte [r8]
mov byte [rbp + 0x5bf], r8b
mov qword [rbp + 0x5c0], rdx
mov qword [rbp + 0x5c8], rcx
mov qword [rbp + 0x5d0], rax
mov r9d, dword [rbp + 0x5dc]
mov r10, qword [rbp + 0x11b8]
mov al, byte [rbp + 0x5bf]
mov rcx, qword [rbp + 0x5c0]
mov rdx, qword [rbp + 0x5c8]
mov r8, qword [rbp + 0x5d0]
mov byte [r10], 0
mov dword [rbp + 0x44], r9d
mov qword [rbp + 0x48], r8
mov qword [rbp + 0x50], rdx
mov qword [rbp + 0x58], rcx
mov byte [rbp + 0x67], al
jmp 0x14015c493
mov rcx, qword [rbp + 0x588]
mov rdx, qword [rbp + 0x598]
mov r8, qword [rbp + 0x560]
mov r10, qword [rbp + 0x520]
mov r11, qword [rbp + 0x11b8]
mov al, byte [rbp + 0x50f]
mov r9d, dword [rbp + 0x510]
mov dword [rbp + 0x3c], r9d
mov byte [rbp + 0x43], al
mov byte [r11], 0
cmp r10, 0
mov dword [rbp + 0x44], r9d
mov qword [rbp + 0x48], r8
mov qword [rbp + 0x50], rdx
mov qword [rbp + 0x58], rcx
mov byte [rbp + 0x67], al
je 0x14015c493
mov eax, dword [0x140209d58]
mov r8d, dword [0x140209d5c]
mov ecx, 0x4f87eced
xor ecx, 0x1a134afb
xor r8d, ecx
mov ecx, eax
xor ecx, 0xffffffff
mov edx, r8d
and edx, ecx
mov r9d, r8d
xor r9d, 0xffffffff
mov ecx, eax
and ecx, r9d
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
xor eax, 0xb0f3cf38
mov ecx, eax
xor ecx, 0xba2a2c24
mov edx, 0xb014332b
xor edx, 0xa3e1f0f
mov r8d, 0x83e90aa9
xor r8d, 0x7c16f556
xor edx, r8d
and eax, edx
shl eax, 1
sub eax, ecx
add eax, 0x20194669
cmp eax, 0xb49ef2f3
ja 0x14015d383
mov rcx, qword [rbp + 0x520]
mov edx, dword [0x140209d60]
xor edx, 0x63991ef3
sub edx, dword [0x140209d64]
and edx, 0x2559c39
and edx, 0xc22be62c
mov eax, edx
xor eax, 0xffffffff
and eax, 0xff5d8569
mov r8d, 0xffffffff
xor r8d, 0xff5d8569
and edx, r8d
or eax, edx
mov rcx, qword [rcx]
xor rcx, 0xffffffffffffffff
mov r8, 0xffffffffffffffff
movabs rdx, 0x4000000000000000
xor r8, rdx
mov rdx, 0xffffffffffffffff
movabs r9, 0x32464ae6f12c5a02
xor rdx, r9
or rcx, r8
movabs r8, 0x32464ae6f12c5a02
or rdx, r8
xor rcx, 0xffffffffffffffff
and rcx, rdx
movabs rdx, 0x9e4b145539940eec
movabs r8, 0x9e4b145539940eec
xor rdx, r8
cmp rcx, rdx
sete cl
mov byte [rbp + 0x3b], cl
cmp eax, 0x369bc0f8
jb 0x14015c1d3
mov al, byte [rbp + 0x43]
mov rcx, qword [rbp + 0x588]
mov rdx, qword [rbp + 0x598]
mov r8, qword [rbp + 0x560]
mov r9d, dword [rbp + 0x3c]
mov r10b, byte [rbp + 0x3b]
test r10b, 1
mov dword [rbp + 0x44], r9d
mov qword [rbp + 0x48], r8
mov qword [rbp + 0x50], rdx
mov qword [rbp + 0x58], rcx
mov byte [rbp + 0x67], al
jne 0x14015c2c7
jmp 0x14015c493
mov eax, dword [0x140209d68]
xor eax, 0xb7e0cbfd
xor edx, edx
div dword [0x140209d6c]
mov ecx, eax
or ecx, 0xf37cce94
mov eax, ecx
and eax, 0xe071789d
mov edx, 0xfe26cd0d
xor edx, 0x1e57b590
or ecx, edx
add eax, ecx
mov ecx, 0x33cc426a
xor ecx, 0x9462c1bd
and ecx, eax
mov edx, 0x47d48a52
xor edx, 0xb82b75ad
xor ecx, edx
mov edx, 0x237eda24
xor edx, 0x84d059f3
add eax, edx
mov edx, 0x51513f4d
xor edx, 0x51513f4c
add eax, edx
add eax, ecx
cmp eax, 0xc4f289fc
je 0x14015d38c
mov rcx, qword [rbp + 0x520]
mov eax, dword [0x140209d70]
xor eax, 0x329d155
mov r8d, dword [0x140209d74]
xor eax, 0xffffffff
xor r8d, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xd03c0dbb
or eax, r8d
or edx, 0xd03c0dbb
xor eax, 0xffffffff
and eax, edx
mov edx, eax
and edx, edx
xor edx, 0xffffffff
mov r8d, 0xb97b5e11
xor r8d, 0xda50eabf
and edx, r8d
xor edx, 0xffffffff
mov r8d, 0x632bb4ae
and r8d, 0x632bb4ae
xor r8d, 0xffffffff
and eax, r8d
xor eax, 0xffffffff
and edx, eax
xor edx, 0xffffffff
mov eax, edx
or eax, eax
mov r8d, 0x591c9740
xor r8d, 0xa6e368bf
xor eax, r8d
mov r8d, 0xffffffff
xor r8d, 0x5597b3c1
mov r9d, 0xffffffff
xor r9d, 0x5597b3c1
and r8d, r9d
or eax, r8d
mov r8d, 0xfa0d29fe
xor r8d, 0x5f2d601
xor eax, r8d
mov r8d, 0xd9e69d1b
xor r8d, 0x261962e4
xor edx, r8d
mov r8d, 0xffffffff
xor r8d, 0x5597b3c1
and edx, r8d
mov r8d, 0x8a02bed2
xor r8d, 0x75fd412d
xor eax, r8d
xor edx, 0xffffffff
and eax, edx
mov edx, eax
and edx, 0x73e69e5
mov r8d, 0xd3ba04b5
xor r8d, 0xd3ba04b7
imul edx, r8d
xor eax, 0x73e69e5
add eax, edx
mov dword [rbp + 0x34], eax
sub rsp, 0x20
call fcn.14000fb44
mov eax, dword [rbp + 0x34]
add rsp, 0x20
cmp eax, 0xf946ee6c
ja 0x14015c339
mov al, byte [rbp + 0x43]
mov rcx, qword [rbp + 0x588]
mov rdx, qword [rbp + 0x598]
mov r8, qword [rbp + 0x560]
mov r9d, dword [rbp + 0x3c]
mov dword [rbp + 0x44], r9d
mov qword [rbp + 0x48], r8
mov qword [rbp + 0x50], rdx
mov qword [rbp + 0x58], rcx
mov byte [rbp + 0x67], al
jmp 0x14015c493
mov edx, dword [rbp + 0x44]
mov rax, qword [rbp + 0x48]
mov r8, qword [rbp + 0x50]
mov r9, qword [rbp + 0x58]
mov cl, byte [rbp + 0x67]
mov byte [rbp + 0xf], cl
mov qword [rbp + 0x10], r9
mov qword [rbp + 0x18], r8
mov qword [rbp + 0x20], rax
mov dword [rbp + 0x2c], edx
cmp cl, 0
sete cl
mov byte [rbp + 0x33], cl
cmp rax, 0
je 0x14015c509
mov rax, qword [rbp + 0x20]
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 0x14015c509
mov rcx, qword [rbp + 0x20]
sub rsp, 0x20
call fcn.14000fb44
add rsp, 0x20
mov rax, qword [rbp + 0x18]
cmp rax, 0
je 0x14015c554
mov rax, qword [rbp + 0x18]
mov rax, qword [rax]
mov rcx, rax
add rcx, 1
xor rax, 0xffffffffffffffff
movabs rdx, 0x4000000000000000
or rax, rdx
add rax, rcx
cmp rax, 0
jne 0x14015c554
mov rcx, qword [rbp + 0x18]
sub rsp, 0x20
call fcn.14000fb44
add rsp, 0x20
mov rax, qword [rbp + 0x10]
cmp rax, 0
je 0x14015c6ce
mov rax, qword [rbp + 0x10]
mov rax, qword [rax]
mov rcx, rax
add rcx, 1
xor rax, 0xffffffffffffffff
movabs rdx, 0x4000000000000000
or rax, rdx
add rax, rcx
cmp rax, 0
jne 0x14015c6ce
mov eax, dword [0x140209d78]
mov ecx, dword [0x140209d7c]
xor ecx, 0xefc9916a
xor edx, edx
div ecx
mov ecx, eax
add ecx, 0x52f0ad0b
mov eax, 0x4ffc07c4
xor eax, 0x4edaf7eb
sub ecx, eax
sub ecx, 0x52f0ad0b
mov eax, 0xffffffff
xor eax, 0xd42461f1
add ecx, eax
add ecx, 1
mov eax, ecx
xor eax, 0xffffffff
and eax, 0xcb1446ce
mov edx, 0xffffffff
xor edx, 0xcb1446ce
and ecx, edx
or eax, ecx
cmp eax, 0xfc5c8dec
je 0x14015d395
mov rcx, qword [rbp + 0x10]
mov edx, dword [0x140209d80]
xor edx, 0x44fe13ca
mov r9d, dword [0x140209d84]
xor r9d, 0xf4f48bbd
mov eax, edx
and eax, eax
xor eax, 0xffffffff
xor eax, 0xffffffff
mov r10d, 0xab6a9bb0
xor r10d, 0x5495644f
mov r8d, r9d
xor r8d, r10d
or eax, r8d
mov r8d, r9d
xor r8d, 0xffffffff
mov r10d, 0x6e597952
xor r10d, 0x91a686ad
xor r9d, r10d
or r8d, r9d
and edx, r8d
mov r8d, 0x33bef1a9
xor r8d, 0xcc410e56
xor edx, r8d
xor eax, 0xffffffff
mov r8d, 0xc66c3295
xor r8d, 0x3993cd6a
xor edx, r8d
or eax, edx
add eax, 0x9f9b2e09
mov edx, 0xcc147dee
xor edx, 0x78caa375
xor eax, edx
or eax, eax
xor eax, 0xffffffff
mov edx, 0x4a016f5d
or edx, 0x4a016f5d
xor edx, 0xffffffff
mov r8d, 0xd2407f7
xor r8d, 0xf2dbf808
xor eax, r8d
xor edx, 0xffffffff
and eax, edx
mov dword [rbp + 8], eax
sub rsp, 0x20
call fcn.14000fb44
mov eax, dword [rbp + 8]
add rsp, 0x20
cmp eax, 0xfc7e1cbc
ja 0x14015d395
jmp 0x14015c6ce
mov rcx, qword [rbp + 0x10f0]
sub rsp, 0x20
call fcn.1400c0adf
mov rax, qword [rbp + 0x11b8]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14015c719
mov al, byte [rbp + 0x33]
mov rcx, qword [rbp + 0x11b8]
mov dl, byte [rbp + 0xf]
mov byte [rcx], dl
test al, 1
jne 0x14015c70e
jmp 0x14015c719
mov eax, dword [rbp + 0x2c]
mov dword [rbp + 4], eax
jmp 0x14015c884
mov eax, dword [rbp + 0x2c]
mov dword [rbp], eax
jmp 0x14015c763
mov ecx, dword [rbp + 0x98]
mov eax, dword [rbp + 0x9c]
mov dword [rbp - 0xc], eax
cmp ecx, 0
mov dword [rbp - 8], ecx
mov dword [rbp - 4], eax
jne 0x14015c949
mov eax, dword [rbp - 0xc]
mov rcx, qword [rbp + 0x11b8]
mov cl, byte [rcx]
mov dl, 0x10
xor dl, 0x10
cmp cl, dl
mov ecx, eax
mov dword [rbp], ecx
mov dword [rbp + 4], eax
je 0x14015c884
mov eax, dword [rbp]
mov dword [rbp - 0x1c], eax
sub rsp, 0x20
call fcn.14014417d
add rsp, 0x20
mov rcx, rax
mov eax, dword [rbp - 0x1c]
mov rcx, qword [rcx]
mov qword [rbp - 0x18], rcx
mov cx, word [rcx + 0x12]
mov dx, 0x353e
xor dx, 0x353f
cmp cx, dx
mov dword [rbp + 4], eax
jle 0x14015c884
mov eax, dword [rbp - 0x1c]
mov rcx, qword [rbp - 0x18]
mov rcx, qword [rcx + 0x18]
cmp dword [rcx + 8], 0xc5722261
mov dword [rbp + 4], eax
jne 0x14015c884
mov eax, dword [0x140209d88]
and eax, dword [0x140209d8c]
mov ecx, 0xb87d3547
xor ecx, 0xe544de91
add eax, ecx
and eax, eax
xor eax, 0xffffffff
mov ecx, 0xed5d1df5
and ecx, 0xed5d1df5
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0x60e373ba
xor ecx, 0x9f1c8c45
xor eax, ecx
mov edx, 0xffffffff
xor edx, 0x7753b978
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, 0x7753b978
add eax, edx
sub eax, ecx
cmp eax, 0xd23668be
je 0x14015d39e
mov eax, dword [0x140209d90]
xor edx, edx
div dword [0x140209d94]
mov edx, eax
mov rax, qword [rbp + 0x11b8]
and edx, 0x6cb135cf
mov ecx, edx
xor ecx, 0xffffffff
xor edx, 0xffffffff
and ecx, edx
mov edx, 0x441236c
or edx, 0x441236c
xor edx, 0xffffffff
or ecx, edx
xor ecx, 0xffffffff
or ecx, 0xd5aaba5
mov dword [rbp - 0x20], ecx
mov byte [rax], 0
sub rsp, 0x20
call fcn.1401441bc
mov eax, dword [rbp - 0x20]
add rsp, 0x20
cmp eax, 0x963cab3d
ja 0x14015d39e
mov eax, dword [rbp - 0x1c]
mov dword [rbp + 4], eax
jmp 0x14015c884
mov rax, qword [rbp + 0x5a8]
mov ecx, dword [rbp + 4]
mov dword [rbp - 0x24], ecx
cmp rax, 0
je 0x14015c923
mov rax, qword [rbp + 0x5a8]
mov rcx, qword [rax]
mov rax, rcx
xor rax, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
and rax, rcx
movabs rcx, 0x4000000000000000
movabs rdx, 0x4000000000000000
or rcx, rdx
movabs rdx, 0xd2d3c6574d4e9dee
movabs r8, 0x2d2c39a8b2b16211
xor rdx, r8
xor rcx, rdx
movabs rdx, 0x84498dded5828491
movabs r8, 0x7bb672212a7d7b6e
xor rdx, r8
xor rax, rdx
xor rcx, 0xffffffffffffffff
and rax, rcx
cmp rax, 0
jne 0x14015c923
mov rcx, qword [rbp + 0x5a8]
sub rsp, 0x20
call fcn.14000fb44
add rsp, 0x20
mov eax, dword [rbp - 0x24]
mov r8, qword [rbp + 0x11b8]
xor edx, edx
mov cl, 1
cmp byte [r8], 0
mov dword [rbp - 8], edx
mov edx, eax
mov dword [rbp - 4], edx
mov byte [rbp - 0x29], cl
mov dword [rbp - 0x28], eax
jne 0x14015ca8b
mov eax, dword [rbp - 8]
mov ecx, dword [rbp - 4]
mov dword [rbp - 0x34], ecx
mov dword [rbp - 0x30], eax
mov eax, dword [0x140209d98]
xor eax, 0x1928a7fb
sub eax, dword [0x140209d9c]
add eax, 0xe6113728
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0x84a50fe7
mov edx, 0xffffffff
xor edx, 0x84a50fe7
and eax, edx
or ecx, eax
mov eax, ecx
xor eax, 0xffffffff
and eax, 0x7306880a
mov edx, 0xffffffff
xor edx, 0x7306880a
and ecx, edx
or eax, ecx
mov ecx, 0xb2dcc621
xor ecx, 0x45a9504
cmp eax, ecx
jae 0x14015d3a7
mov eax, dword [0x140209da0]
mov edx, dword [0x140209da4]
mov ecx, eax
and ecx, edx
mov r8d, 0x8bbb2f61
xor r8d, 0x7444d09e
xor ecx, r8d
mov r8d, 0x36cee2e0
xor r8d, 0xc9311d1f
xor eax, r8d
xor edx, 0xffffffff
or eax, edx
and ecx, eax
xor ecx, 0xffffffff
mov eax, ecx
xor eax, 0xffffffff
and eax, 0x5b21d24b
mov edx, 0xffffffff
xor edx, 0x5b21d24b
and ecx, edx
or eax, ecx
mov r8d, 0xffffffff
xor r8d, 0xf0c94278
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0xf0c94278
or eax, 0xf0c94278
imul eax, edx
add eax, ecx
xor eax, 0x3f51be60
cmp eax, 0x17a3b46c
je 0x14015c9b1
mov eax, dword [rbp - 0x34]
mov ecx, dword [rbp - 0x30]
test ecx, ecx
mov dword [rbp + 0x830], eax
je 0x140156862
jmp 0x14015ca5c
mov eax, dword [rbp - 0x34]
mov ecx, dword [rbp - 0x30]
sub ecx, 0x56
mov dword [rbp + 0x5e0], eax
jne 0x14015cdf3
jmp 0x14015ca76
mov rcx, qword [rbp + 0x11b8]
mov eax, dword [rbp + 0x5e0]
mov cl, byte [rcx]
mov byte [rbp - 0x29], cl
mov dword [rbp - 0x28], eax
mov al, byte [rbp - 0x29]
mov ecx, dword [rbp - 0x28]
mov dword [rbp - 0x3c], ecx
mov byte [rbp - 0x35], al
mov eax, dword [0x140209da8]
mov ecx, 0x70084b3
xor ecx, 0xe647e3f5
xor eax, ecx
add eax, dword [0x140209dac]
mov r8d, 0xffffffff
xor r8d, 0xada4ab8c
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0xada4ab8c
mov r8d, 0xd20e640c
xor r8d, 0x7faacf80
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, 0x157a337d
xor ecx, 0x2a4d1a82
xor edx, edx
div ecx
add eax, 0x9df9de63
cmp eax, 0xf083e511
jae 0x14015d3b0
mov ecx, dword [0x140209db0]
mov edx, dword [0x140209db4]
mov r8d, ecx
xor r8d, 0xffffffff
mov eax, edx
and eax, r8d
mov r8d, 0x485ba90d
xor r8d, 0xb7a456f2
xor edx, r8d
and ecx, edx
or eax, ecx
xor eax, 0xb416aaab
mov ecx, 0x4949f168
xor ecx, 0xed9374c
xor edx, edx
div ecx
mov ecx, eax
mov rax, qword [rbp + 0x11b8]
xor ecx, 0xa8277a54
mov dword [rbp - 0x44], ecx
mov ecx, 0x9f2a7196
xor ecx, 0xcce350fb
mov dword [rbp - 0x48], ecx
mov byte [rax], 0
mov rax, qword [rbp + 0x1630]
mov qword [rbp + 0x11e0], rax
mov rax, qword [rbp + 0x1638]
mov qword [rbp + 0x11e8], rax
lea rcx, [rbp + 0x11e0]
sub rsp, 0x20
call fcn.140019e10
add rsp, 0x20
lea rcx, [rbp + 0x1640]
sub rsp, 0x20
call fcn.1400c0adf
mov rdx, qword [rbp + 0x11b8]
mov ecx, dword [rbp - 0x48]
mov eax, dword [rbp - 0x44]
add rsp, 0x20
mov dl, byte [rdx]
mov r8b, 0xb1
xor r8b, 0xb1
cmp dl, r8b
sete dl
mov byte [rbp - 0x3d], dl
cmp eax, ecx
jb 0x14015d3b0
mov al, byte [rbp - 0x3d]
test al, 1
jne 0x14015cbe7
jmp 0x14015cd56
mov ecx, dword [0x140209db8]
mov edx, dword [0x140209dbc]
mov r8d, 0x180fc06f
xor r8d, 0xe7f03f90
mov eax, ecx
xor eax, r8d
mov r8d, edx
xor r8d, 0xffffffff
and eax, r8d
or ecx, edx
xor ecx, 0xffffffff
mov edx, 0x88b37de6
xor edx, 0x774c8219
xor eax, edx
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0xd2f5ab02
xor ecx, 0xd53da6d4
imul eax, ecx
mov ecx, 0x8271a82
xor ecx, 0xf7d8e57d
mov edx, eax
xor edx, ecx
and edx, 0xf89c88b9
mov r8d, 0x72ea79b9
xor r8d, 0x8a76f100
mov ecx, 0x9c6031cd
xor ecx, 0x639fce32
xor r8d, ecx
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0xf89c88b9
or eax, 0xf89c88b9
imul eax, edx
add eax, ecx
mov edx, 0x53878a61
xor edx, 0x9533eac4
mov ecx, eax
xor ecx, edx
mov edx, 0x1da01c3f
xor edx, 0xdb147c9a
mov r8d, 0x216f1835
xor r8d, 0xde90e7ca
xor edx, r8d
and eax, edx
shl eax, 1
sub eax, ecx
cmp eax, 0x2e8ee9fd
jbe 0x14015d3b9
mov rcx, qword [rbp + 0x11b8]
mov eax, dword [0x140209dc0]
xor edx, edx
div dword [0x140209dc4]
add eax, 0x978634d0
mov r9d, 0xffffffff
xor r9d, 0x8ba2ffbf
mov r8d, eax
and r8d, r9d
mov edx, eax
or edx, r9d
mov r9d, 0x31114576
xor r9d, 0xceeeba89
xor edx, r9d
imul edx, r8d
mov r8d, eax
and r8d, 0x8ba2ffbf
or eax, 0x8ba2ffbf
imul eax, r8d
add eax, edx
mov r8d, 0x2064504f
xor edx, edx
div r8d
mov dl, byte [rbp - 0x35]
cmp dl, 0
sete r8b
mov byte [rbp - 0x49], r8b
mov byte [rcx], dl
cmp eax, 0x56df0a9c
je 0x14015d3b9
mov al, byte [rbp - 0x49]
test al, 1
jne 0x14015cd4b
jmp 0x14015cd56
mov eax, dword [rbp - 0x3c]
mov dword [rbp - 0x50], eax
jmp 0x14015cfa6
mov eax, dword [0x140209dc8]
add eax, dword [0x140209dcc]
mov ecx, 0x9d22211e
xor edx, edx
div ecx
mov ecx, eax
and ecx, 0xe2c463de
mov edx, 0x377fae34
xor edx, 0xc88051cb
mov eax, ecx
xor eax, edx
mov edx, ecx
xor edx, 0xffffffff
or eax, edx
and eax, 0x91150593
xor eax, 0xffffffff
mov edx, 0x91150593
and edx, 0x91150593
xor edx, 0xffffffff
and ecx, edx
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
cmp eax, 0xa3a80e28
ja 0x14015d3c2
mov eax, dword [0x140209dd0]
xor eax, 0xd5347925
mov edx, dword [0x140209dd4]
xor ecx, ecx
sub ecx, edx
add eax, ecx
or eax, 0x999c4ffe
sub eax, 0x246c1de9
add eax, 0xae77eccd
cmp eax, 0x88ecd9b4
jae 0x14015d3c2
mov eax, dword [rbp - 0x3c]
mov dword [rbp + 0x1004], eax
jmp 0x14015ce12
mov eax, dword [rbp - 0x34]
mov ecx, dword [rbp - 0x30]
mov edx, 0xe684d30f
xor edx, 0xe684d30d
cmp ecx, edx
mov dword [rbp + 0x1004], eax
jne 0x14015d120
mov eax, dword [rbp + 0x1004]
mov dword [rbp - 0x54], eax
mov eax, dword [0x140209dd8]
mov ecx, 0xe51a928d
xor ecx, 0xf40f808c
xor eax, ecx
imul eax, dword [0x140209ddc]
mov ecx, 0x4d27cee5
xor ecx, 0xb2d8311a
xor eax, ecx
mov edx, 0xf9247b7b
xor edx, 0xe5d3dacc
mov ecx, 0xafe6adc5
xor ecx, 0x5019523a
xor edx, ecx
mov ecx, 0xffffffff
xor ecx, 0x11498e1b
or eax, edx
or ecx, 0x11498e1b
mov edx, 0xa0167d60
xor edx, 0x5fe9829f
xor eax, edx
and eax, ecx
mov ecx, 0xecfa0758
xor edx, edx
div ecx
add eax, 0xcf350e9
mov ecx, 0xfb2a727
xor ecx, 0x403d3e05
add eax, ecx
sub eax, 0xcf350e9
mov ecx, 0x237f6db7
xor ecx, 0xaaec2c59
cmp eax, ecx
ja 0x14015d3cb
mov eax, dword [0x140209de0]
xor eax, 0x84e79253
mov ecx, dword [0x140209de4]
add eax, 0xf7cd9b69
sub eax, ecx
sub eax, 0xf7cd9b69
add eax, 0x6ad02e4d
xor ecx, ecx
sub ecx, 0x71b223c6
sub eax, ecx
add eax, 0xf9867f0d
mov dword [rbp - 0x64], eax
sub rsp, 0x20
call fcn.14014417d
add rsp, 0x20
mov rcx, rax
mov eax, dword [rbp - 0x64]
mov rcx, qword [rcx]
mov qword [rbp - 0x60], rcx
cmp word [rcx + 0x12], 1
setg cl
mov byte [rbp - 0x55], cl
cmp eax, 0x6a4c9634
je 0x14015ceaf
mov eax, dword [rbp - 0x54]
mov cl, byte [rbp - 0x55]
test cl, 1
mov dword [rbp - 0x50], eax
jne 0x14015cf2a
jmp 0x14015cfa6
mov eax, dword [rbp - 0x54]
mov rcx, qword [rbp - 0x60]
mov rcx, qword [rcx + 0x18]
mov ecx, dword [rcx + 8]
mov edx, 0xaba09368
xor edx, 0x6ed2b109
cmp ecx, edx
mov dword [rbp - 0x50], eax
jne 0x14015cfa6
mov rax, qword [rbp + 0x11b8]
mov rcx, qword [rbp + 0x11b0]
mov byte [rax], 0
sub rsp, 0x20
call fcn.14014dd00
mov rcx, qword [rbp + 0x11b8]
mov eax, dword [rbp - 0x54]
add rsp, 0x20
mov cl, byte [rcx]
mov dl, 0x95
xor dl, 0x95
cmp cl, dl
mov dword [rbp + 0x1008], eax
jne 0x14015d120
sub rsp, 0x20
call fcn.1401441bc
mov eax, dword [rbp - 0x54]
add rsp, 0x20
mov dword [rbp + 0x1008], eax
jmp 0x14015d120
mov eax, dword [rbp - 0x50]
mov dword [rbp - 0x68], eax
mov eax, dword [0x140209de8]
xor eax, 0xde1f7e3e
mov ecx, dword [0x140209dec]
add eax, 0x3c0eb0b9
add eax, ecx
sub eax, 0x3c0eb0b9
xor eax, 0x1af774f2
mov ecx, 0x970f8898
xor ecx, 0x73696e7a
sub eax, ecx
or eax, 0xd3aa0e9c
mov ecx, 0x5a344635
xor ecx, 0x3e0053d5
cmp eax, ecx
jbe 0x14015d3d4
mov rcx, qword [rbp + 0x11b0]
mov eax, dword [0x140209df0]
xor edx, edx
div dword [0x140209df4]
mov r8d, eax
mov rax, qword [rbp + 0x11b8]
mov edx, 0x2de2f794
xor edx, 0xd21d086b
xor r8d, edx
mov edx, 0xbfc9963d
xor edx, 0x356c16c3
mov r9d, 0x738e3aa2
xor r9d, 0x8c71c55d
xor edx, r9d
mov r9d, 0xffffffff
xor r9d, 0xf1baa1bb
or r8d, edx
mov edx, 0x461e05b5
xor edx, 0xb7a4a40e
or edx, r9d
xor r8d, 0xffffffff
and r8d, edx
mov r9d, 0x3b81eb17
xor r9d, 0xc47e14e8
mov edx, r8d
xor edx, r9d
mov r9d, 0x705e588f
xor r9d, 0xa312ca5
mov r10d, 0x7d1ca2ea
xor r10d, 0x82e35d15
xor r9d, r10d
or edx, r9d
and r8d, 0x7a6f742a
xor r8d, 0xffffffff
mov r9d, 0xd1c85474
xor r9d, 0x2e37ab8b
xor edx, r9d
xor r8d, 0xffffffff
or edx, r8d
xor edx, 0xe90710e0
mov dword [rbp - 0x70], edx
mov dl, byte [rax]
mov byte [rbp - 0x71], dl
mov byte [rax], 0
sub rsp, 0x20
call fcn.14014dd00
mov rcx, qword [rbp + 0x11b8]
mov eax, dword [rbp - 0x70]
add rsp, 0x20
cmp byte [rcx], 0
sete cl
mov byte [rbp - 0x69], cl
cmp eax, 0x91821fe6
je 0x14015d3d4
mov eax, dword [rbp - 0x68]
mov cl, byte [rbp - 0x69]
test cl, 1
mov dword [rbp + 0x1008], eax
jne 0x14015d10b
test dword [0x12915d107], eax
adc eax, 0x8b000000
cwde
jmp 0x14015d120
mov eax, dword [rbp - 0x68]
mov rcx, qword [rbp + 0x11b8]
mov dl, byte [rbp - 0x71]
mov byte [rcx], dl
mov dword [rbp + 0x1008], eax
mov eax, dword [rbp + 0x1008]
lea rsp, [rbp + 0x1a48]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
pop fs
imul esp, dword [rax - 0x17], 0xffffffc1
xor eax, 0x7e84ffff
cli
test byte [rsi - 6], bh
jmp 0x140150814
adc esi, ecx
cmp dword [rcx - 0x17], 5
cmp eax, 0xd31affff
sbb dl, bl
bnd jmp 0x140150f6a
invalid
push rcx
invalid
invalid
jae 0x14015d101
add dword [rdx - 0xb09b17], esp
invalid
jmp 0x129847774
js 0x14015d15b
adc eax, 0x538fe9bf
invalid
mov dh, 0x67
insd dword [rdi], dx
movsd dword [rdi], dword [rsi]
jmp 0x140152687
xor esp, dword [rdx + rdi*4 + 0xe]
jmp 0x140152835
invalid
xchg r9d, eax
rcr byte [rdi - 0xa75e17], cl
invalid
cmp edx, edx
invalid
out 0xdb, eax
add byte [rbx - 0xa35d17], bh
dec dword [rax - 0x1665e4e2]
add al, 0x5f
invalid
mov byte [rsi], bl
sbb ebx, dword [rdx - 0xa0fb17]
dec dword [rdi]
stosb byte [rdi], al
rsm
fsub dword [rcx + rbp*8 - 0x9bb4]
sub eax, 0xe9577704
sub esp, dword [rbp - 1]
call rsp
invalid
invalid
fmul dword [rbp + 0x5fe97191]
imul edi, edi, 0x148c21ff
xor ecx, ebp
invalid
and dword [rsp + rdx + 0x6b1fe931], ecx
invalid
adc eax, 0xe96df2c7
lodsd eax, dword [rsi]
outsb dx, byte [rsi]
invalid
rcr byte [rbp + rcx*4 + 0x7252e9a8], 1
invalid
cmp byte [rdi + 0x68e9192e], bh
je 0x14015d210
invalid
jmp rsi
out 9, al
invalid
xchg esi, eax
psubb mm5, qword [rbx - 0x861817]
push qword [0x1299c8e98]
xor eax, 0xe986bc6f
bnd jl 0x14015d22b
invalid
dec dword [rsi - 0x4d]
cli
mov bl, 0xfa
invalid
cmpsd dword [rsi], dword [rdi]
invalid
invalid
js 0x14015d24c
jnp 0x14015d236
jmp 0x140155c0a
mov ecx, 0x8bffff89
cld
mov edi, esp
stosd dword [rdi], eax
retf 0xade9
jne 0x14015d281
out 0xf2, eax
jmp 0x1401560aa
pop rdi
invalid
invalid
pop rbp
iretd
invalid
mov eax, 0xffa0c7e9
call qword [rax - 0x1688c4ba]
nop
cmp r14d, dword [rdi - 0x17]
sahf
movabs byte [0xe9396e1192ffff], al
movsb byte [rdi], byte [rsi]
invalid
xchg edx, eax
adc dword [rsi + 0x39], ebp
jmp 0x140157699
and eax, edi
leave
adc al, 0xe9
cmpsb byte [rsi], byte [rdi]
invalid
rcl dword [rcx + 0x12], cl
cmc
jmp 0x140157c62
in eax, 0xb8
invalid
pop rax
invalid
jns 0x14015d2b5
shr cl, 0x18
mov al, 0xff
jmp qword [rbx + rax*4 - 0x26]
sbb edx, 0x3b
jmp 0x1401583c5
retf
mul byte [rsi + rcx + 0x40]
jmp 0x1401588a5
ret
xchg ecx, eax
xlatb
push rsi
sub cl, 0x35
invalid
movsb byte [rdi], byte [rsi]
xchg byte [rsi - 0x39b216dc], cl
invalid
ret 0x3642
xor ebp, dword [rdi - 0xa166896]
leave
invalid
movsd dword [rdi], dword [rsi]
sbb al, 0x45
invalid
push rbp
shl dword [rcx - 5], 0xe9
or dl, cl
invalid
invalid
xor eax, 0xe9f3bb52
invalid
jmp 0x14015aaf8
sbb dword [rdi - 0x58], edx
pop rax
jmp 0x14015acac
or bl, byte [rbp - 0x5d]
cwde
jmp 0x14015adfe
loopne 0x14015d32d
fnstcw word [rcx - 0x241317]
push rax
pop rbp
sbb eax, 0xddc7e956
invalid
invalid
in al, 0x66
mov edx, 0xe010e9a5
invalid
sbb dword [rax - 0x69164a7f], edi
loope 0x14015d366
invalid
inc ebx
invalid
ret
invalid
test cl, ch
lodsb al, byte [rsi]
out 0xff, al
dec dword [rdx + rbp*8 - 0x6c16ce09]
out 0xff, eax
push qword [rbx - 0x16d85eef]
out dx, al
invalid
mov edx, gs
div dword [rcx]
jmp 0x14015bb16
mov bl, 0x11
movabs eax, dword [0x2f88ffffee47e927]
mov byte [rdi], ch
cmp dword [rdi - 0x105b17], eax
jmp qword [rdi]
invalid
stc
sbb dword [rax - 0x14], esi
jmp 0x14015c818
or ebx, ecx
mov eax, 0xf601e9a0
invalid
or byte [0x190ffb039], bh
idiv edi
invalid
stc
and edx, dword [rcx + rdx*4 - 0x70717]
call rax
cmpsb byte [rsi], byte [rdi]
stosd dword [rdi], eax
invalid
shl byte [rsi - 0x1616e955], 1
stc
invalid
invalid
sbb al, 0x19
loop 0x14015d374
jmp 0x14015cff3