Function at 0x140164130
Capabilities:
Authenticate hmac
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
mov eax, 0x1508
call fcn.14023fff0
sub rsp, rax
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x1470], r8
mov qword [rbp + 0x1478], rdx
mov qword [rbp + 0x1480], rcx
mov edx, dword [0x14024b010]
xor edx, 0x26813caf
mov r8d, dword [0x14024b014]
mov r9d, r8d
xor r9d, 0xffffffff
mov ecx, edx
and ecx, r9d
mov eax, edx
or eax, r9d
xor eax, 0xffffffff
imul eax, ecx
mov ecx, edx
and ecx, r8d
or edx, r8d
imul edx, ecx
add edx, eax
and edx, 0x153f4c51
mov ecx, edx
xor ecx, 0x48bc3c1a
mov eax, 0xffffffff
xor eax, 0x48bc3c1a
and edx, eax
mov eax, 0xe447402c
xor eax, 0xe447402e
imul eax, edx
sub eax, ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0xea376fe6
mov r8d, 0xb1c21f2e
xor r8d, 0x5bf570c8
mov ecx, 0xbc86232c
xor ecx, 0x4379dcd3
xor r8d, ecx
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0xea376fe6
or eax, 0xea376fe6
imul eax, edx
add eax, ecx
cmp eax, 0x9083dd17
je 0x14016f952
mov eax, dword [0x14024b018]
mov ecx, dword [0x14024b01c]
or eax, ecx
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x5631c1f1
and ecx, 0xa9ce3e0e
imul ecx, edx
mov edx, eax
and edx, 0xa9ce3e0e
or eax, 0xa9ce3e0e
imul eax, edx
add eax, ecx
imul eax, eax, 0x7ebd3efa
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x729779a8
and ecx, 0x8d688654
imul ecx, edx
mov edx, eax
and edx, 0x8d688654
or eax, 0x8d688654
imul eax, edx
add eax, ecx
mov dword [rbp + 0x1468], eax
mov eax, 0x499698e5
mov dword [rbp + 0x1464], eax
mov eax, 0x10
mov qword [rbp + 0x1418], rax
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x1448], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x1430], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x1450], rax
mov eax, 0x30
mov qword [rbp + 0x1408], rax
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0xee0], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0xee8], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0xef0], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0xef8], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1408]
mov rcx, rsp
mov qword [rbp + 0xf00], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0xf08], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0xf10], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0xf18], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0xf20], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0xf28], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1408]
mov rcx, rsp
mov qword [rbp + 0xf30], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0xf38], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0xf40], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0xf48], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0xf50], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0xf58], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0xf60], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0xf68], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0xf70], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0xf78], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0xf80], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0xf88], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0xf90], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0xf98], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0xfa0], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0xfa8], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0xfb0], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0xfb8], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0xfc0], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0xfc8], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0xfd0], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1408]
mov rcx, rsp
mov qword [rbp + 0xfd8], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0xfe0], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0xfe8], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0xff0], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0xff8], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x1000], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x1008], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x1010], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x1018], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x1020], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x1028], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x1030], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x1038], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x1040], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x1048], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x1050], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x1058], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x1060], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x1068], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x1070], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x1078], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x1080], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x1088], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1408]
mov rcx, rsp
mov qword [rbp + 0x1090], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1408]
mov rcx, rsp
mov qword [rbp + 0x1098], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x10a0], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x10a8], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x10b0], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x10b8], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x10c0], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x10c8], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x10d0], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x10d8], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x10e0], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x10e8], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x10f0], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x10f8], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x1100], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x1108], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x1110], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x1118], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x1120], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x1128], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x1130], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x1138], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x1140], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x1148], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1408]
mov rcx, rsp
mov qword [rbp + 0x1150], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x1158], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1408]
mov rcx, rsp
mov qword [rbp + 0x1160], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x1168], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x1170], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x1178], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x1180], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1408]
mov rcx, rsp
mov qword [rbp + 0x1188], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x1190], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x1198], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x11a0], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x11a8], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x11b0], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1408]
mov rcx, rsp
mov qword [rbp + 0x11b8], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x11c0], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x11c8], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x11d0], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x11d8], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x11e0], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x11e8], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x11f0], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x11f8], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x1200], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x1208], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x1210], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x1218], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x1220], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x1228], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x1230], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x1238], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x1240], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x1248], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x1250], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x1258], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1408]
mov rcx, rsp
mov qword [rbp + 0x1260], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x1268], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x1270], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x1278], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x1280], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x1288], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x1290], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x1298], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x12a0], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x12a8], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x12b0], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x12b8], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x12c0], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x12c8], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x12d0], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x12d8], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x12e0], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x12e8], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x12f0], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x12f8], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x1300], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x1308], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x1310], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x1318], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x1320], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x1328], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1408]
mov rcx, rsp
mov qword [rbp + 0x1330], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1408]
mov rcx, rsp
mov qword [rbp + 0x1338], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x1340], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x1348], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x1350], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x1358], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x1360], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x1368], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x1370], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x1378], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x1380], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x1388], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x1390], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x1398], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x13a0], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x13a8], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x13b0], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x13b8], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x13c0], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x13c8], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x13d0], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x13d8], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x13e0], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x13e8], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x13f0], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x13f8], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x1400], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1408]
mov rcx, rsp
mov qword [rbp + 0x1410], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x1418]
mov rcx, rsp
mov qword [rbp + 0x1420], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x1428], rax
sub rsp, 0x20
call fcn.140193b2f
mov rdx, qword [rbp + 0x1430]
mov rcx, qword [rbp + 0x1448]
add rsp, 0x20
mov r8, rax
mov rax, qword [rbp + 0x1478]
mov qword [rbp + 0x1458], r8
add r8, 0x50
mov qword [rbp + 0x1438], r8
mov r8, rax
add r8, 0x48
mov qword [rbp + 0x1440], r8
movups xmm0, xmmword [rax + 0x48]
movups xmmword [rdx], xmm0
sub rsp, 0x20
call fcn.14001c002
mov rax, qword [rbp + 0x1448]
mov rcx, qword [rbp + 0x1450]
add rsp, 0x20
mov rdx, qword [rax]
mov rax, qword [rax + 8]
mov qword [rcx], rdx
mov qword [rcx + 8], rax
sub rsp, 0x20
call fcn.1400c6c1f
mov rdx, qword [rbp + 0x1458]
mov ecx, dword [rbp + 0x1464]
add rsp, 0x20
mov r8b, al
mov eax, dword [rbp + 0x1468]
mov dl, byte [rdx + 0x50]
test dl, dl
setne dl
mov byte [rbp + 0x146e], dl
or dl, r8b
mov byte [rbp + 0x146f], dl
cmp eax, ecx
ja 0x14016f952
mov al, byte [rbp + 0x146f]
test al, 1
jne 0x14016542c
jmp 0x14016540b
mov rcx, qword [rbp + 0x1478]
sub rsp, 0x20
call fcn.1401629d7
add rsp, 0x20
xor eax, eax
mov dword [rbp + 0xedc], eax
jmp 0x14016f854
mov cl, byte [rbp + 0x146e]
xor eax, eax
test cl, 1
mov dword [rbp + 0xed8], eax
jne 0x14016f750
jmp 0x140165448
mov ecx, dword [0x14024b020]
or ecx, dword [0x14024b024]
mov edx, 0x86da1c25
xor edx, 0x7233d6e0
mov eax, ecx
or eax, edx
xor eax, 0xffffffff
mov edx, 0xe2713137
xor edx, 0x1d8ecec8
xor ecx, edx
mov edx, 0xdee64e3c
xor edx, 0x2a0f84f9
mov r8d, 0x186f19c
xor r8d, 0xfe790e63
xor edx, r8d
and ecx, edx
mov edx, 0x81a0fb64
xor edx, 0x7e5f049b
xor eax, edx
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0x35443736
xor ecx, 0x57ab6695
or eax, ecx
xor ecx, ecx
sub ecx, 0x9de054cf
add eax, ecx
cmp eax, 0xe7106955
ja 0x14016f95b
mov rcx, qword [rbp + 0x1478]
mov edx, dword [0x14024b028]
add edx, dword [0x14024b02c]
mov eax, edx
xor eax, 0xffffffff
xor edx, 0xffffffff
and eax, edx
mov edx, 0xffffffff
xor edx, 0x6a5ef886
mov r8d, 0x3a341ccd
xor r8d, 0x506ae44b
mov r9d, 0x6d0cf2a8
xor r9d, 0x92f30d57
xor r8d, r9d
and edx, r8d
or eax, edx
mov edx, 0x7498c5f2
xor edx, 0x8b673a0d
xor eax, edx
mov r8d, 0x8b4a958d
xor edx, edx
div r8d
xor edx, edx
sub edx, 0x45d8a019
sub eax, edx
cmp byte [rcx], 0
sete cl
mov byte [rbp + 0xed7], cl
cmp eax, 0x67c33a91
jae 0x14016f95b
mov cl, byte [rbp + 0xed7]
xor eax, eax
test cl, 1
mov dword [rbp + 0xed0], eax
jne 0x140165563
jmp 0x140169c56
mov rdx, qword [rbp + 0x1148]
mov r8, qword [rbp + 0x1138]
mov r9, qword [rbp + 0x1128]
mov r10, qword [rbp + 0x1108]
mov r11, qword [rbp + 0x10f8]
mov rsi, qword [rbp + 0x1120]
mov rdi, qword [rbp + 0x1110]
mov rbx, qword [rbp + 0x10a0]
mov r14, qword [rbp + 0x10d0]
mov r15, qword [rbp + 0x10e0]
mov r12, qword [rbp + 0x10d8]
mov r13, qword [rbp + 0x10c0]
mov rax, qword [rbp + 0x1478]
mov rcx, qword [rax + 0x10]
mov rax, qword [rax + 0x18]
mov qword [rbp + 0xc78], rax
mov rax, qword [rbp + 0xee8]
add rax, 8
mov qword [rbp + 0xc80], rax
mov rax, qword [rbp + 0xef0]
add rax, 8
mov qword [rbp + 0xc88], rax
mov rax, qword [rbp + 0xf00]
add rax, 8
mov qword [rbp + 0xc90], rax
mov rax, qword [rbp + 0xf10]
add rax, 8
mov qword [rbp + 0xc98], rax
mov rax, qword [rbp + 0xf58]
add rax, 8
mov qword [rbp + 0xca0], rax
mov rax, qword [rbp + 0xf68]
add rax, 8
mov qword [rbp + 0xca8], rax
mov rax, qword [rbp + 0xf60]
add rax, 8
mov qword [rbp + 0xcb0], rax
mov rax, qword [rbp + 0xf70]
add rax, 8
mov qword [rbp + 0xcb8], rax
mov rax, qword [rbp + 0xf80]
add rax, 8
mov qword [rbp + 0xcc0], rax
mov rax, qword [rbp + 0xf78]
add rax, 8
mov qword [rbp + 0xcc8], rax
mov rax, qword [rbp + 0xf88]
add rax, 8
mov qword [rbp + 0xcd0], rax
mov rax, qword [rbp + 0xf20]
add rax, 2
mov qword [rbp + 0xcd8], rax
mov rax, qword [rbp + 0xf98]
add rax, 8
mov qword [rbp + 0xce0], rax
mov rax, qword [rbp + 0xf90]
add rax, 8
mov qword [rbp + 0xce8], rax
mov rax, qword [rbp + 0xfa0]
add rax, 8
mov qword [rbp + 0xcf0], rax
mov rax, qword [rbp + 0xf20]
add rax, 8
mov qword [rbp + 0xcf8], rax
mov rax, qword [rbp + 0xf38]
add rax, 0x10
mov qword [rbp + 0xd00], rax
mov rax, qword [rbp + 0xf38]
add rax, 0x18
mov qword [rbp + 0xd08], rax
mov rax, qword [rbp + 0xf38]
add rax, 8
mov qword [rbp + 0xd10], rax
mov rax, qword [rbp + 0xf38]
add rax, 0x20
mov qword [rbp + 0xd18], rax
mov rax, qword [rbp + 0xf38]
add rax, 0x28
mov qword [rbp + 0xd20], rax
mov rax, qword [rbp + 0xfa8]
add rax, 8
mov qword [rbp + 0xd28], rax
mov rax, qword [rbp + 0xfb0]
add rax, 8
mov qword [rbp + 0xd30], rax
mov rax, qword [rbp + 0xfb8]
add rax, 8
mov qword [rbp + 0xd38], rax
mov rax, qword [rbp + 0xf48]
add rax, 8
mov qword [rbp + 0xd40], rax
mov rax, qword [rbp + 0xfe8]
add rax, 8
mov qword [rbp + 0xd48], rax
mov rax, qword [rbp + 0xff8]
add rax, 8
mov qword [rbp + 0xd50], rax
mov rax, qword [rbp + 0xff0]
add rax, 8
mov qword [rbp + 0xd58], rax
mov rax, qword [rbp + 0x1008]
add rax, 8
mov qword [rbp + 0xd60], rax
mov rax, qword [rbp + 0x1000]
add rax, 8
mov qword [rbp + 0xd68], rax
mov rax, qword [rbp + 0xfe0]
add rax, 8
mov qword [rbp + 0xd70], rax
mov rax, qword [rbp + 0xfe0]
add rax, 0x10
mov qword [rbp + 0xd78], rax
mov rax, qword [rbp + 0x1018]
add rax, 8
mov qword [rbp + 0xd80], rax
mov rax, qword [rbp + 0x1020]
add rax, 8
mov qword [rbp + 0xd88], rax
mov rax, qword [rbp + 0x1010]
add rax, 8
mov qword [rbp + 0xd90], rax
mov rax, qword [rbp + 0xfe0]
add rax, 0x18
mov qword [rbp + 0xd98], rax
mov rax, qword [rbp + 0xfe0]
add rax, 0x20
mov qword [rbp + 0xda0], rax
mov rax, qword [rbp + 0xfe0]
add rax, 0x28
mov qword [rbp + 0xda8], rax
mov rax, qword [rbp + 0xf08]
add rax, 0x18
mov qword [rbp + 0xdb0], rax
mov rax, qword [rbp + 0x1050]
add rax, 8
mov qword [rbp + 0xdb8], rax
mov rax, qword [rbp + 0x1060]
add rax, 8
mov qword [rbp + 0xdc0], rax
mov rax, qword [rbp + 0x1038]
add rax, 8
mov qword [rbp + 0xdc8], rax
mov rax, qword [rbp + 0x1048]
add rax, 8
mov qword [rbp + 0xdd0], rax
mov rax, qword [rbp + 0xee0]
add rax, 0x28
mov qword [rbp + 0xdd8], rax
mov rax, qword [rbp + 0xee0]
add rax, 8
mov qword [rbp + 0xde0], rax
mov rax, qword [rbp + 0x1068]
add rax, 8
mov qword [rbp + 0xde8], rax
mov rax, qword [rbp + 0x1078]
add rax, 8
mov qword [rbp + 0xdf0], rax
mov rax, qword [rbp + 0x1088]
add rax, 8
mov qword [rbp + 0xdf8], rax
mov rax, qword [rbp + 0x1090]
add rax, 8
mov qword [rbp + 0xe00], rax
mov rax, qword [rbp + 0x1470]
add rax, 8
mov qword [rbp + 0xe08], rax
mov rax, qword [rbp + 0x10a8]
add rax, 8
mov qword [rbp + 0xe10], rax
mov rax, qword [rbp + 0x10b8]
add rax, 8
mov qword [rbp + 0xe18], rax
mov rax, qword [rbp + 0x10b0]
add rax, 8
mov qword [rbp + 0xe20], rax
mov rax, qword [rbp + 0x10c8]
add rax, 8
mov qword [rbp + 0xe28], rax
mov rax, qword [rbp + 0x1150]
add r13, 8
mov qword [rbp + 0xe30], r13
mov r13, rbx
add r13, 8
mov qword [rbp + 0xe38], r13
mov r13, rbx
add r13, 0x10
mov qword [rbp + 0xe40], r13
add r12, 8
mov qword [rbp + 0xe48], r12
add r15, 8
mov qword [rbp + 0xe50], r15
add r14, 8
mov qword [rbp + 0xe58], r14
mov r14, rbx
add r14, 0x18
mov qword [rbp + 0xe60], r14
mov r14, rbx
add r14, 0x20
mov qword [rbp + 0xe68], r14
add rbx, 0x28
mov qword [rbp + 0xe70], rbx
add rdi, 8
mov qword [rbp + 0xe78], rdi
add rsi, 8
mov qword [rbp + 0xe80], rsi
add r11, 8
mov qword [rbp + 0xe88], r11
add r10, 8
mov qword [rbp + 0xe90], r10
add r9, 8
mov qword [rbp + 0xe98], r9
add r8, 8
mov qword [rbp + 0xea0], r8
add rdx, 8
mov qword [rbp + 0xea8], rdx
add rax, 8
mov qword [rbp + 0xeb0], rax
xor eax, eax
test rcx, rcx
cmovg rax, rcx
mov qword [rbp + 0xeb8], rax
xor eax, eax
mov ecx, eax
xor eax, eax
mov qword [rbp + 0xec0], rcx
mov dword [rbp + 0xecc], eax
mov rdx, qword [rbp + 0xeb8]
mov rcx, qword [rbp + 0xec0]
mov eax, dword [rbp + 0xecc]
mov dword [rbp + 0xc6c], eax
mov qword [rbp + 0xc70], rcx
cmp rcx, rdx
mov dword [rbp + 0xed0], eax
je 0x140169c56
mov rax, qword [rbp + 0xc78]
mov rdx, qword [rbp + 0xc70]
mov rcx, qword [rbp + 0xee0]
add rax, 8
shl rdx, 3
add rax, rdx
mov qword [rbp + 0xc60], rax
mov edx, 0x30
sub rsp, 0x20
call fcn.14015930c
mov rcx, qword [rbp + 0xee0]
mov rdx, qword [rbp + 0xee8]
mov rax, qword [rbp + 0xc80]
add rsp, 0x20
mov qword [rdx], 0
mov qword [rax], 0
movabs rdx, 0xb9116dff4718742c
movabs rax, 0xb9116dff4718741c
xor rdx, rax
sub rsp, 0x20
call fcn.14015930c
mov rax, qword [rbp + 0xee8]
add rsp, 0x20
mov qword [rax], 1
movabs rcx, 0x9077202bd5e43ace
movabs rax, 0x9077202bd5e43acf
xor rcx, rax
movabs rdx, 0xf2b935b54e87264
movabs rax, 0xf2b935b54e87274
xor rdx, rax
movabs r8, 0x4f8c5f6c0ee2c117
movabs rax, 0x4f8c5f6c0ee2c11f
xor r8, rax
sub rsp, 0x20
call fcn.1400193c0
mov r8, qword [rbp + 0xc70]
mov rdx, qword [rbp + 0xef8]
mov rcx, qword [rbp + 0xef0]
mov r9, qword [rbp + 0xc80]
add rsp, 0x20
mov r10, rax
mov rax, qword [rbp + 0xc78]
mov qword [r9], r10
mov rax, qword [rax + r8*8 + 8]
mov r8, qword [rax + 0x48]
mov qword [rdx], r8
mov rax, qword [rax + 0x50]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.14001c002
mov r8, qword [rbp + 0xef0]
mov rdx, qword [rbp + 0xc88]
mov rcx, qword [rbp + 0xc80]
mov eax, dword [rbp + 0xc6c]
add rsp, 0x20
mov r8, qword [r8]
mov rdx, qword [rdx]
mov rcx, qword [rcx]
mov qword [rcx + 8], r8
mov qword [rcx + 0x10], rdx
mov dword [rbp + 0xc68], eax
mov rcx, qword [rbp + 0xee8]
mov eax, dword [rbp + 0xc68]
mov dword [rbp + 0xc58], eax
mov rcx, qword [rcx]
movabs rdx, 0xc8d1aac84c2868f4
movabs r8, 0xc8d1aac84c2868f4
xor rdx, r8
cmp rcx, rdx
mov dword [rbp + 0xc5c], eax
jle 0x140169b60
mov rcx, qword [rbp + 0xf00]
mov rdx, qword [rbp + 0xee8]
sub rsp, 0x20
call fcn.14016fb20
mov rdx, qword [rbp + 0xf00]
mov rax, qword [rbp + 0xc90]
mov rcx, qword [rbp + 0xf08]
add rsp, 0x20
mov rdx, qword [rdx]
mov qword [rbp + 0xc20], rdx
mov rax, qword [rax]
mov qword [rbp + 0xc28], rax
movabs rdx, 0x26c7263c94663168
movabs rax, 0x26c7263c94663158
xor rdx, rax
sub rsp, 0x20
call fcn.14015930c
mov rcx, qword [rbp + 0xf08]
add rsp, 0x20
movabs rdx, 0x6a9eebb6e46765e5
movabs rax, 0x6a9eebb6e46765d5
xor rdx, rax
sub rsp, 0x20
call fcn.14015930c
mov rdx, qword [rbp + 0xf10]
mov rax, qword [rbp + 0xc98]
mov rcx, qword [rbp + 0xf18]
add rsp, 0x20
movabs r8, 0xad87303b33d7f2ae
movabs r9, 0xad87303b33d7f2ae
xor r8, r9
mov qword [rdx], r8
mov qword [rax], 0
mov word [rcx], 0x9de
sub rsp, 0x20
call fcn.140064b20
mov rdx, qword [rbp + 0x1438]
add rsp, 0x20
mov qword [rbp + 0xc30], rax
mov cl, 1
xor eax, eax
cmp byte [rdx], 0
mov byte [rbp + 0xc3f], cl
mov rcx, rax
mov qword [rbp + 0xc40], rcx
mov rcx, rax
mov qword [rbp + 0xc48], rcx
mov qword [rbp + 0xc50], rax
jne 0x1401695a8
mov rcx, qword [rbp + 0xf10]
mov r8, qword [rbp + 0xc20]
mov rax, qword [rbp + 0xc30]
mov rdx, qword [rax]
movabs rax, 0xddd604e1a271dc91
movabs r9, 0xddd604e1a271dc91
xor rax, r9
sub rax, r8
sub rdx, rax
sub rsp, 0x20
call fcn.140019920
mov rax, qword [rbp + 0xc30]
mov rdx, qword [rbp + 0xf50]
mov rcx, qword [rbp + 0xf10]
add rsp, 0x20
mov r8, qword [rax]
mov qword [rdx], r8
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.14015a900
mov r9, qword [rbp + 0xc20]
mov r8, qword [rbp + 0xc28]
mov rax, qword [rbp + 0xca0]
mov rdx, qword [rbp + 0xf58]
mov rcx, qword [rbp + 0xf10]
add rsp, 0x20
mov qword [rdx], r9
mov qword [rax], r8
sub rsp, 0x20
call fcn.14015a900
mov r9, qword [rbp + 0xf10]
mov r8, qword [rbp + 0xc98]
mov rax, qword [rbp + 0xca8]
mov rdx, qword [rbp + 0xf68]
mov rcx, qword [rbp + 0xf60]
add rsp, 0x20
mov r9, qword [r9]
mov qword [rbp + 0xc00], r9
mov r8, qword [r8]
mov qword [rbp + 0xc08], r8
mov qword [rdx], r9
mov qword [rax], r8
sub rsp, 0x20
call fcn.14016fdc0
mov rdx, qword [rbp + 0xf60]
mov rcx, qword [rbp + 0xcb0]
mov r8, qword [rbp + 0x1438]
mov rax, qword [rbp + 0xc08]
add rsp, 0x20
mov rdx, qword [rdx]
mov qword [rbp + 0xc10], rdx
mov rcx, qword [rcx]
mov qword [rbp + 0xc18], rcx
mov dl, 1
xor ecx, ecx
cmp byte [r8], 0
mov byte [rbp + 0xc3f], dl
mov rdx, rcx
mov qword [rbp + 0xc40], rdx
mov qword [rbp + 0xc48], rcx
mov qword [rbp + 0xc50], rax
jne 0x1401695a8
mov rdx, qword [rbp + 0xc18]
mov rcx, qword [rbp + 0xf70]
mov rax, qword [rbp + 0xcb8]
mov r8, qword [rbp + 0xc10]
mov qword [rcx], r8
mov qword [rax], rdx
sub rsp, 0x20
call fcn.14016ff30
mov r9, qword [rbp + 0x1438]
mov rcx, qword [rbp + 0xc18]
add rsp, 0x20
mov rdx, rax
mov rax, qword [rbp + 0xc08]
mov qword [rbp + 0xbf8], rdx
mov r8b, 1
xor edx, edx
cmp byte [r9], 0
mov byte [rbp + 0xc3f], r8b
mov qword [rbp + 0xc40], rdx
mov qword [rbp + 0xc48], rcx
mov qword [rbp + 0xc50], rax
jne 0x1401695a8
mov r8, qword [rbp + 0xf28]
mov rcx, qword [rbp + 0xbf8]
mov edx, 2
sub rsp, 0x20
call fcn.140170148
add rsp, 0x20
mov cl, al
xor eax, eax
test cl, 1
mov qword [rbp + 0xbf0], rax
jne 0x140169552
mov r8, qword [rbp + 0xc08]
mov rcx, qword [rbp + 0xf78]
mov rdx, qword [rbp + 0xf80]
mov rax, qword [rbp + 0xcc0]
mov r9, qword [rbp + 0xc00]
mov r10, qword [rbp + 0xf20]
mov r11, qword [rbp + 0xf28]
mov r11, qword [r11]
mov word [r10], r11w
mov qword [rdx], r9
mov qword [rax], r8
sub rsp, 0x20
call fcn.14016fdc0
mov r9, qword [rbp + 0xf78]
mov r8, qword [rbp + 0xcc8]
mov rdx, qword [rbp + 0x1438]
mov rcx, qword [rbp + 0xc18]
mov rax, qword [rbp + 0xc08]
add rsp, 0x20
mov r9, qword [r9]
mov qword [rbp + 0xbe0], r9
mov r8, qword [r8]
mov qword [rbp + 0xbe8], r8
mov r9b, byte [rdx]
mov r10b, 0x36
xor r10b, 0x36
mov r8b, 1
xor edx, edx
cmp r9b, r10b
mov byte [rbp + 0xc3f], r8b
mov qword [rbp + 0xc40], rdx
mov qword [rbp + 0xc48], rcx
mov qword [rbp + 0xc50], rax
jne 0x1401695a8
mov rdx, qword [rbp + 0xbe8]
mov rcx, qword [rbp + 0xf88]
mov rax, qword [rbp + 0xcd0]
mov r8, qword [rbp + 0xbe0]
mov qword [rcx], r8
mov qword [rax], rdx
sub rsp, 0x20
call fcn.14016ff30
mov r9, qword [rbp + 0x1438]
mov rdx, qword [rbp + 0xbe8]
mov rcx, qword [rbp + 0xc18]
add rsp, 0x20
mov r8, rax
mov rax, qword [rbp + 0xc08]
mov qword [rbp + 0xbd8], r8
mov r8b, 1
cmp byte [r9], 0
mov byte [rbp + 0xc3f], r8b
mov qword [rbp + 0xc40], rdx
mov qword [rbp + 0xc48], rcx
mov qword [rbp + 0xc50], rax
jne 0x1401695a8
mov r8, qword [rbp + 0xf30]
mov rcx, qword [rbp + 0xbd8]
mov edx, 2
sub rsp, 0x20
call fcn.140170148
add rsp, 0x20
mov cl, al
mov rax, qword [rbp + 0xbe8]
test cl, 1
mov qword [rbp + 0xbf0], rax
jne 0x140169552
mov rax, qword [rbp + 0xbe8]
mov rcx, qword [rbp + 0xf30]
mov rdx, qword [rcx]
mov rcx, rdx
add rcx, 2
mov qword [rbp + 0xbd0], rcx
mov r9, rdx
xor r9, 0xffffffffffffffff
movabs r8, 0x21d6a6d206c2d977
movabs r10, 0xde29592df93d2688
xor r8, r10
xor r9, r8
movabs r8, 0x6de3d368c929b8f3
movabs r10, 0x921c2c9736d6470c
xor r8, r10
and r8, r9
shl r8, 1
sub r8, 0xffffffffffffffff
sub rdx, r8
and rcx, rdx
cmp rcx, 0
mov qword [rbp + 0xbf0], rax
jl 0x140169552
mov r8, qword [rbp + 0xc08]
mov rcx, qword [rbp + 0xf90]
mov rdx, qword [rbp + 0xf98]
mov rax, qword [rbp + 0xce0]
mov r9, qword [rbp + 0xc00]
mov r10, qword [rbp + 0xcd8]
mov r11, qword [rbp + 0xbd0]
mov word [r10], r11w
mov qword [rdx], r9
mov qword [rax], r8
sub rsp, 0x20
call fcn.14016fdc0
mov r10, qword [rbp + 0xf90]
mov r9, qword [rbp + 0xce8]
mov r8, qword [rbp + 0x1438]
mov rdx, qword [rbp + 0xbe8]
mov rcx, qword [rbp + 0xc18]
mov rax, qword [rbp + 0xc08]
add rsp, 0x20
mov r10, qword [r10]
mov qword [rbp + 0xbc0], r10
mov r9, qword [r9]
mov qword [rbp + 0xbc8], r9
mov r9b, byte [r8]
mov r10b, 0x28
xor r10b, 0x28
mov r8b, 1
cmp r9b, r10b
mov byte [rbp + 0xc3f], r8b
mov qword [rbp + 0xc40], rdx
mov qword [rbp + 0xc48], rcx
mov qword [rbp + 0xc50], rax
jne 0x1401695a8
mov rcx, qword [rbp + 0xfa0]
mov rax, qword [rbp + 0xcf0]
mov rdx, qword [rbp + 0xbc8]
mov r8, qword [rbp + 0xbc0]
mov qword [rcx], r8
mov qword [rax], rdx
sub rsp, 0x20
call fcn.140170230
mov rdx, qword [rbp + 0x1438]
add rsp, 0x20
mov rcx, rax
mov eax, dword [rbp + 0xc58]
mov qword [rbp + 0xbb0], rcx
mov cl, 1
cmp byte [rdx], 0
mov byte [rbp + 0xbbb], cl
mov dword [rbp + 0xbbc], eax
jne 0x140169602
mov rdi, qword [rbp + 0xf38]
mov rsi, qword [rbp + 0xf20]
mov rax, qword [rbp + 0xcf8]
mov rcx, qword [rbp + 0xbb0]
mov qword [rax], rcx
movabs rdx, 0xac75d4afc5a0be4e
movabs rax, 0xac75d4afc5a0be7e
xor rdx, rax
sub rsp, 0x20
mov rcx, rdi
call fcn.14015930c
mov r11, qword [rbp + 0xd00]
mov r10, qword [rbp + 0xd08]
mov r9, qword [rbp + 0xd10]
mov r8, qword [rbp + 0xd18]
mov rdx, qword [rbp + 0xd20]
mov rax, qword [rbp + 0xf40]
mov rcx, qword [rbp + 0xf48]
add rsp, 0x20
mov dword [rdi], 0x30
mov qword [r11], rsi
mov dword [r10], 0x40
movabs r10, 0xd009aa22737d2ea3
movabs r11, 0xd009aa22737d2ea3
xor r10, r11
mov qword [r9], r10
mov qword [r8], 0
mov qword [rdx], 0
mov qword [rax], 0
mov edx, 0x10
sub rsp, 0x20
call fcn.14015930c
mov rcx, qword [rbp + 0xf40]
mov r8, qword [rbp + 0xf38]
mov r9, qword [rbp + 0xf48]
add rsp, 0x20
mov edx, 0x80000000
mov rax, qword [0x14025a7e0]
sub rsp, 0x30
mov dword [rsp + 0x20], 7
mov dword [rsp + 0x28], 1
call qword [rax]
mov rcx, qword [rbp + 0x1438]
add rsp, 0x30
mov edx, eax
mov eax, dword [rbp + 0xc58]
mov dword [rbp + 0xbac], edx
mov dl, byte [rcx]
mov r8b, 0x56
xor r8b, 0x56
mov cl, 1
cmp dl, r8b
mov byte [rbp + 0xbbb], cl
mov dword [rbp + 0xbbc], eax
jne 0x140169602
mov rdx, qword [rbp + 0xfa8]
mov ecx, dword [rbp + 0xbac]
mov rax, qword [rbp + 0xd28]
mov r8, qword [rbp + 0xc28]
mov r9, qword [rbp + 0xc20]
mov qword [rdx], r9
mov qword [rax], r8
sub rsp, 0x20
call fcn.1400c3640
mov rcx, qword [rbp + 0x1438]
mov eax, dword [rbp + 0xc58]
add rsp, 0x20
mov dl, byte [rcx]
mov r8b, 0xf5
xor r8b, 0xf5
mov cl, 1
cmp dl, r8b
mov byte [rbp + 0xbbb], cl
mov dword [rbp + 0xbbc], eax
jne 0x140169602
mov rdx, qword [rbp + 0xfb0]
mov ecx, dword [rbp + 0xbac]
mov rax, qword [rbp + 0xd30]
mov r8, qword [rbp + 0xc28]
mov r9, qword [rbp + 0xc20]
mov qword [rdx], r9
mov qword [rax], r8
sub rsp, 0x20
call fcn.1400c6cf6
mov rcx, qword [rbp + 0x1438]
mov eax, dword [rbp + 0xc58]
add rsp, 0x20
mov dl, byte [rcx]
mov r8b, 0x75
xor r8b, 0x75
mov cl, 1
cmp dl, r8b
mov byte [rbp + 0xbbb], cl
mov dword [rbp + 0xbbc], eax
jne 0x140169602
mov r8, qword [rbp + 0xfb8]
mov edx, dword [rbp + 0xbac]
mov rax, qword [rbp + 0xd38]
mov r9, qword [rbp + 0xc28]
mov r10, qword [rbp + 0xc20]
mov rcx, qword [rbp + 0xf40]
mov rcx, qword [rcx]
mov qword [r8], r10
mov qword [rax], r9
sub rsp, 0x20
call fcn.1400c6da0
mov rdx, qword [rbp + 0x1438]
mov eax, dword [rbp + 0xc58]
add rsp, 0x20
mov cl, 1
cmp byte [rdx], 0
mov byte [rbp + 0xbbb], cl
mov dword [rbp + 0xbbc], eax
jne 0x140169602
mov rax, qword [rbp + 0xf40]
mov rax, qword [rax]
movabs rcx, 0x74117b0281480e51
movabs rdx, 0x74117b0281480e50
xor rcx, rdx
cmp rax, rcx
jge 0x14016653b
mov rdx, qword [rbp + 0xfc0]
mov ecx, dword [rbp + 0xbac]
mov rax, qword [0x140259d18]
mov qword [rdx], rax
mov rax, qword [0x140259d20]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.1400abe10
mov rdx, qword [rbp + 0x1438]
mov eax, dword [rbp + 0xc58]
add rsp, 0x20
mov cl, 1
cmp byte [rdx], 0
mov byte [rbp + 0xbbb], cl
mov dword [rbp + 0xbbc], eax
jne 0x140169602
mov eax, dword [0x14024b030]
mov ecx, dword [0x14024b034]
mov edx, 0xfc6e81cc
xor edx, 0x3e651dc0
xor ecx, edx
or eax, ecx
mov ecx, 0xb3ee1097
xor ecx, 0xa816cf37
add eax, ecx
add eax, 0x435b9110
mov ecx, 0xdf225ac1
xor ecx, 0xc4da8561
sub eax, ecx
xor eax, 0x62c9f862
mov ecx, 0xb65afdd2
xor ecx, 0xe606bf28
xor edx, edx
div ecx
mov ecx, 0x8109058d
xor ecx, 0x8eb03d4a
cmp eax, ecx
je 0x14016f964
mov ecx, dword [rbp + 0xbac]
mov eax, dword [0x14024b038]
mov r8d, dword [0x14024b03c]
mov r9d, 0xdcd46d26
xor r9d, 0xdcd46d27
mov edx, eax
add edx, r9d
mov r9d, 0x9d658e82
xor r9d, 0x629a717d
xor eax, r9d
or eax, r8d
add eax, edx
mov r8d, 0x36d267f7
xor r8d, 0x28a26253
xor edx, edx
div r8d
mov r8d, 0x49bd1d8a
xor edx, edx
div r8d
mov rdx, qword [rbp + 0xfc8]
mov r8d, 0x694c6564
xor r8d, 0x16f945f1
xor eax, r8d
mov dword [rbp + 0xba4], eax
mov eax, 0x4494985b
xor eax, 0x7c075ece
mov dword [rbp + 0xba0], eax
mov rax, qword [0x140259d18]
mov qword [rdx], rax
mov rax, qword [0x140259d20]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.1400abe10
mov rdx, qword [rbp + 0x1438]
mov ecx, dword [rbp + 0xba0]
mov eax, dword [rbp + 0xba4]
add rsp, 0x20
mov dl, byte [rdx]
mov r8b, 0x56
xor r8b, 0x56
cmp dl, r8b
sete dl
mov byte [rbp + 0xbab], dl
cmp eax, ecx
jbe 0x14016659c
mov eax, dword [rbp + 0xc58]
mov cl, byte [rbp + 0xbab]
test cl, 1
mov dword [rbp + 0xb9c], eax
jne 0x140166692
jmp case.0x140169377.14
mov ecx, 0x1d4c0
sub rsp, 0x20
call fcn.14000bbdd
add rsp, 0x20
mov rdx, rax
mov eax, dword [rbp + 0xc58]
mov r8b, 1
mov ecx, 0x1d4c0
mov byte [rbp + 0xb87], r8b
mov qword [rbp + 0xb88], rdx
mov qword [rbp + 0xb90], rcx
mov dword [rbp + 0xb98], eax
mov r8b, byte [rbp + 0xb87]
mov rdx, qword [rbp + 0xb88]
mov rcx, qword [rbp + 0xb90]
mov eax, dword [rbp + 0xb98]
mov byte [rbp + 0xb6f], r8b
mov qword [rbp + 0xb70], rdx
mov qword [rbp + 0xb78], rcx
mov dword [rbp + 0xb80], eax
mov r10b, byte [rbp + 0xb6f]
mov r14, qword [rbp + 0xf48]
mov rcx, qword [rbp + 0xf40]
mov rbx, qword [rbp + 0xb70]
mov rax, qword [rbp + 0xb78]
mov edx, dword [rbp + 0xb80]
mov dword [rbp + 0xb4c], edx
mov qword [rbp + 0xb40], rax
mov qword [rbp + 0xb50], rbx
mov rax, qword [0x14025a808]
mov rax, qword [rax]
mov rcx, qword [rcx]
movabs rdx, 0xb4f83bd0aed51dc8
movabs r8, 0xb4f83bd0aed51dc8
xor rdx, r8
mov edi, 0x8a71d5b6
xor edi, 0x8a700176
mov esi, 0x4c8a7182
xor esi, 0x4c8a7181
mov r11b, 0x30
xor r11b, 0x30
xor r8d, r8d
mov r9d, r8d
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 + 0x1438]
mov ecx, dword [rbp + 0xb4c]
add rsp, 0x60
mov r8d, eax
mov rax, qword [rbp + 0xb50]
mov dword [rbp + 0xb58], r8d
mov dl, byte [rdx]
mov r8b, 0x95
xor r8b, 0x95
cmp dl, r8b
mov dword [rbp + 0xb5c], ecx
mov qword [rbp + 0xb60], rax
jne case.0x140169377.17
mov eax, dword [rbp + 0xb58]
cmp eax, 0x103
mov dword [rbp + 0xb3c], eax
jne 0x140166ada
mov rcx, qword [rbp + 0xfd0]
mov edx, 8
sub rsp, 0x20
call fcn.14015930c
mov rcx, qword [rbp + 0xf40]
mov r8, qword [rbp + 0xfd0]
add rsp, 0x20
mov qword [r8], 0xffffffffffb3b4c0
mov rax, qword [0x14025a838]
mov rax, qword [rax]
mov rcx, qword [rcx]
mov dl, 0x2c
xor dl, 0x2d
sub rsp, 0x20
call rax
add rsp, 0x20
mov ecx, eax
mov rax, qword [rbp + 0x1438]
mov dword [rbp + 0xb38], ecx
mov al, byte [rax]
mov cl, 0xa3
xor cl, 0xa3
cmp al, cl
jne 0x140166abb
mov ecx, dword [0x14024b040]
mov edx, dword [0x14024b044]
xor edx, 0xa740efa2
mov r8d, 0xdbf8246a
xor r8d, 0x2407db95
mov eax, ecx
xor eax, r8d
mov r8d, 0x551a03ac
xor r8d, 0xaae5fc53
xor ecx, r8d
and eax, ecx
mov r8d, 0x74466903
xor r8d, 0x8bb996fc
mov ecx, edx
xor ecx, r8d
mov r8d, 0x111aea4c
xor r8d, 0xeee515b3
xor edx, r8d
and ecx, edx
or eax, ecx
mov ecx, 0x730e0c75
xor ecx, 0x8cf1f38a
xor eax, ecx
or eax, 0x8e89a426
xor eax, 0x1804ba8a
mov ecx, eax
add ecx, 1
mov edx, 0x93096d95
xor edx, 0x6cf6926a
xor eax, edx
or eax, 0x5ca864f9
add eax, ecx
cmp eax, 0x66fe0f26
jae 0x14016f96d
mov eax, dword [0x14024b048]
mov ecx, dword [0x14024b04c]
mov edx, 0x1f26424c
xor edx, 0xc9e8a2df
xor ecx, edx
and eax, ecx
mov edx, 0xffffffff
xor edx, 0x502920b3
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, 0x502920b3
add eax, edx
sub eax, ecx
xor ecx, ecx
sub ecx, 0x696768cc
sub eax, ecx
mov ecx, eax
add ecx, 1
xor eax, 0xffffffff
or eax, 0x709a6d75
add eax, ecx
mov ecx, 0x474c0e47
xor ecx, 0x6388279a
cmp eax, ecx
jb 0x14016f96d
mov eax, dword [rbp + 0xb38]
test eax, eax
je 0x140166aa7
jmp 0x140166984
mov eax, dword [rbp + 0xb38]
sub eax, 0x102
jne 0x140166a2a
jmp 0x14016699a
mov ecx, 0x40
mov edx, 8
sub rsp, 0x20
call fcn.1400129fd
add rsp, 0x20
mov rcx, rax
mov rax, qword [0x14025a780]
mov qword [rcx], rax
lea rax, [0x140259cd1]
mov qword [rcx + 0x10], rax
mov rax, qword [0x140259d68]
mov qword [rcx + 0x18], rax
mov rax, qword [0x140259d70]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
movabs rax, 0xbadbf00189289540
movabs rdx, 0x45240ffe788969bd
xor rax, rdx
lea rdx, [0x140259cd1]
lea r8, [0x140259ce2]
lea r9, [0x140259cea]
sub rsp, 0x30
mov qword [rsp + 0x20], rax
call fcn.140012522
add rsp, 0x30
jmp 0x140166abb
mov ecx, 0x40
mov edx, 8
sub rsp, 0x20
call fcn.1400129fd
add rsp, 0x20
mov rcx, rax
mov rax, qword [0x14025a780]
mov qword [rcx], rax
lea rax, [0x140259cd1]
mov qword [rcx + 0x10], rax
mov rax, qword [0x140259d68]
mov qword [rcx + 0x18], rax
mov rax, qword [0x140259d70]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
lea rdx, [0x140259cd1]
lea r8, [0x140259ce2]
lea r9, [0x140259cea]
sub rsp, 0x30
mov qword [rsp + 0x20], 0xffffffff925db149
call fcn.140012522
add rsp, 0x30
jmp 0x140166abb
mov rax, qword [rbp + 0xf48]
mov eax, dword [rax]
mov dword [rbp + 0xb3c], eax
jmp 0x140166ada
mov rax, qword [rbp + 0xb50]
mov ecx, dword [rbp + 0xb4c]
mov dword [rbp + 0xb5c], ecx
mov qword [rbp + 0xb60], rax
jmp case.0x140169377.17
mov rdx, qword [rbp + 0xd40]
mov ecx, dword [rbp + 0xb3c]
mov dword [rbp + 0xb30], ecx
mov eax, ecx
sub eax, 0x80000005
sete al
test ecx, ecx
sete cl
mov byte [rbp + 0xb37], cl
mov rdx, qword [rdx]
test rdx, rdx
sete dl
and cl, dl
or al, cl
test al, 1
jne 0x140166b1c
jmp 0x140166d35
mov r8, qword [rbp + 0xfd8]
mov rcx, qword [rbp + 0xb40]
movabs rdx, 0x7b8b9b9044e1518e
movabs rax, 0x7b8b9b9044e1518c
xor rdx, rax
sub rsp, 0x20
call fcn.140170148
add rsp, 0x20
test al, 1
jne 0x140166b5b
jmp 0x140166b94
sub rsp, 0x20
call fcn.140008d37
mov rdx, qword [rbp + 0xb50]
mov rcx, qword [rbp + 0xb40]
add rsp, 0x20
mov eax, 0x11
mov qword [rbp + 0xb18], rdx
mov qword [rbp + 0xb20], rcx
mov dword [rbp + 0xb2c], eax
jmp 0x140166cfc
mov rax, qword [rbp + 0xfd8]
mov rax, qword [rax]
mov qword [rbp + 0xb10], rax
cmp rax, 0x100000
jl 0x140166c55
mov ecx, 0x40
mov edx, 8
sub rsp, 0x20
call fcn.1400129fd
add rsp, 0x20
mov rcx, rax
mov rax, qword [0x14025a748]
mov qword [rcx], rax
lea rax, [0x140259c58]
mov qword [rcx + 0x10], rax
mov rax, qword [0x140259d68]
mov qword [rcx + 0x18], rax
mov rax, qword [0x140259d70]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
lea rdx, [0x140259c58]
lea r8, [0x140259ce2]
lea r9, [0x140259cea]
sub rsp, 0x30
mov qword [rsp + 0x20], 0xffffffff945c563e
call fcn.140012522
mov rdx, qword [rbp + 0xb50]
mov rcx, qword [rbp + 0xb40]
add rsp, 0x30
mov eax, 0x11
mov qword [rbp + 0xb18], rdx
mov qword [rbp + 0xb20], rcx
mov dword [rbp + 0xb2c], eax
jmp 0x140166cfc
mov rcx, qword [rbp + 0xb50]
sub rsp, 0x20
call fcn.14001d422
mov rax, qword [rbp + 0xb10]
add rsp, 0x20
cmp rax, 0
jge 0x140166cc5
mov rcx, qword [rbp + 0xb10]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.14000db87
mov rcx, qword [rbp + 0xb10]
add rsp, 0x20
xor eax, eax
mov edx, eax
mov eax, 0x11
mov qword [rbp + 0xb18], rdx
mov qword [rbp + 0xb20], rcx
mov dword [rbp + 0xb2c], eax
jmp 0x140166cfc
mov rcx, qword [rbp + 0xb10]
sub rsp, 0x20
call fcn.14000bbdd
mov rcx, qword [rbp + 0xb10]
add rsp, 0x20
mov rdx, rax
mov eax, 0x1a
mov qword [rbp + 0xb18], rdx
mov qword [rbp + 0xb20], rcx
mov dword [rbp + 0xb2c], eax
mov eax, dword [rbp + 0xb4c]
mov r8, qword [rbp + 0xb18]
mov rdx, qword [rbp + 0xb20]
mov ecx, dword [rbp + 0xb2c]
mov qword [rbp + 0xaf8], r8
mov qword [rbp + 0xb00], rdx
mov dword [rbp + 0xb08], ecx
mov dword [rbp + 0xb0c], eax
jmp 0x1401692f6
mov eax, dword [rbp + 0xb4c]
mov rcx, qword [rbp + 0xb50]
mov dl, byte [rbp + 0xb37]
test dl, 1
mov qword [rbp + 0xae8], rcx
mov dword [rbp + 0xaf4], eax
jne 0x140166d63
jmp 0x1401691fb
mov rcx, qword [rbp + 0xae8]
mov eax, dword [rbp + 0xaf4]
mov dword [rbp + 0xacc], eax
mov qword [rbp + 0xad0], rcx
mov rdx, rcx
add rdx, 0x3c
mov qword [rbp + 0xad8], rdx
cmp dword [rcx + 0x3c], 0
mov dword [rbp + 0xae4], eax
je 0x1401690b5
mov rax, qword [rbp + 0xad0]
mov rcx, rax
add rcx, 0x38
mov qword [rbp + 0xac0], rcx
mov ecx, dword [rax + 0x38]
and ecx, 0x10
sub rsp, 0x20
call fcn.1400a24bc
add rsp, 0x20
mov cl, al
mov rax, qword [rbp + 0x1438]
mov al, byte [rax]
test al, al
sete al
mov byte [rbp + 0xacb], al
and al, cl
test al, 1
jne 0x140166de8
jmp 0x140168138
mov rax, qword [rbp + 0xad8]
mov eax, dword [rax]
mov dword [rbp + 0xabc], eax
sub eax, 2
je 0x140167008
jmp 0x140166e05
mov eax, dword [rbp + 0xabc]
sub eax, 4
jne 0x140167175
jmp 0x140166e19
mov rax, qword [rbp + 0xad0]
mov rcx, rax
add rcx, 0x5e
mov qword [rbp + 0xab0], rcx
mov ax, word [rax + 0x5e]
mov word [rbp + 0xaba], ax
cmp ax, 0xff
jbe 0x140166f7a
mov eax, dword [0x14024b050]
mov ecx, dword [0x14024b054]
sub eax, 0x268caf8d
sub eax, ecx
mov ecx, 0xbc07be81
xor ecx, 0x9a8b110c
add eax, ecx
sub eax, 0x60cafadf
sub eax, 0x380fc1a7
add eax, 0x485fc22c
add eax, 0x380fc1a7
xor ecx, ecx
sub ecx, 0xea8e1dd0
sub eax, ecx
cmp eax, 0xf14d4a3
jae 0x14016f976
mov eax, dword [0x14024b058]
mov edx, dword [0x14024b05c]
and eax, eax
xor eax, 0xffffffff
mov r8d, 0x11ff9348
xor r8d, 0xee006cb7
mov ecx, edx
xor ecx, r8d
mov r8d, 0x608fa003
xor r8d, 0x9f705ffc
xor edx, r8d
or ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0x83fae518
xor edx, edx
div ecx
mov ecx, eax
mov ax, word [rbp + 0xaba]
mov edx, ecx
xor edx, 0xffffffff
and edx, 0xc4d40700
mov r8d, 0xffffffff
xor r8d, 0xc4d40700
and ecx, r8d
sub ecx, edx
imul ecx, ecx, 0x12ec68a9
mov dword [rbp + 0xaac], ecx
mov ecx, 0x8da2adb7
xor ecx, 0xc8ff0ba9
mov dword [rbp + 0xaa8], ecx
movzx eax, ax
mov ecx, eax
movabs rdx, 0x6aa6385dce570ce2
movabs rax, 0x6aa6385dce570ce2
xor rdx, rax
movabs r8, 0xc9f8b39cf03dea25
movabs rax, 0xc9f8b39cf03deada
xor r8, rax
sub rsp, 0x20
call fcn.14000db87
mov ecx, dword [rbp + 0xaa8]
mov eax, dword [rbp + 0xaac]
add rsp, 0x20
cmp eax, ecx
je 0x14016f976
mov eax, dword [rbp + 0xacc]
mov dword [rbp + 0xaa4], eax
jmp 0x1401680dd
mov ax, word [rbp + 0xaba]
cmp ax, 0x2e
jne 0x1401671da
mov rax, qword [rbp + 0xab0]
mov ax, word [rax + 2]
mov word [rbp + 0xaa2], ax
cmp ax, 0xff
jbe 0x140166fdb
mov ax, word [rbp + 0xaa2]
movzx eax, ax
mov ecx, eax
xor eax, eax
mov edx, eax
mov r8d, 0xff
sub rsp, 0x20
call fcn.14000db87
mov eax, dword [rbp + 0xacc]
add rsp, 0x20
mov dword [rbp + 0xaa4], eax
jmp 0x1401680dd
mov eax, dword [rbp + 0xacc]
mov dx, word [rbp + 0xaa2]
mov ecx, 0x1f
cmp dx, 0x2e
mov dword [rbp + 0xa98], ecx
mov dword [rbp + 0xa9c], eax
je 0x14016811b
jmp 0x1401671da
mov r8d, dword [0x14024b060]
xor r8d, dword [0x14024b064]
add r8d, 0xc42c510
mov eax, 0x46c8a645
xor eax, 0x85575d61
add r8d, eax
sub r8d, 0xc42c510
mov eax, r8d
xor eax, 0xffffffff
and eax, 0xee95744f
mov r9d, 0xffffffff
xor r9d, 0xee95744f
and r8d, r9d
mov ecx, 0xffffffff
xor ecx, 0xa0dea858
and ecx, 0xee95744f
mov edx, 0x657ffcaf
xor edx, 0xc5a154f7
and edx, r9d
or eax, r8d
or ecx, edx
xor eax, ecx
mov ecx, eax
xor ecx, 0x54942de8
mov edx, 0x3da1b0a8
xor edx, 0x69359d40
mov r8d, 0x7e59e5f9
xor r8d, 0x81a61a06
xor edx, r8d
and eax, edx
shl eax, 1
sub eax, ecx
cmp eax, 0x50393876
je 0x14016f97f
mov eax, dword [0x14024b068]
or eax, dword [0x14024b06c]
mov ecx, 0xb286c557
xor edx, edx
div ecx
mov rdx, qword [rbp + 0xad0]
sub eax, 0xe254304a
mov ecx, 0x9e0f3eb1
xor ecx, 0x49413e78
xor eax, ecx
mov ecx, 0x638775f4
xor ecx, 0x1d347f46
mov dx, word [rdx + 0x5e]
mov word [rbp + 0xa94], dx
cmp dx, 0xff
seta dl
mov byte [rbp + 0xa97], dl
cmp eax, ecx
jbe 0x14016f97f
mov al, byte [rbp + 0xa97]
test al, 1
jne 0x140167114
jmp 0x140167148
mov ax, word [rbp + 0xa94]
movzx eax, ax
mov ecx, eax
xor eax, eax
mov edx, eax
mov r8d, 0xff
sub rsp, 0x20
call fcn.14000db87
mov eax, dword [rbp + 0xacc]
add rsp, 0x20
mov dword [rbp + 0xaa4], eax
jmp 0x1401680dd
mov eax, dword [rbp + 0xacc]
mov dx, word [rbp + 0xa94]
mov ecx, 0x1f
cmp dx, 0x2e
mov dword [rbp + 0xa98], ecx
mov dword [rbp + 0xa9c], eax
je 0x14016811b
jmp 0x1401671da
mov eax, dword [rbp + 0xabc]
cmp eax, 0xffffffff
jge 0x1401671da
mov ecx, dword [rbp + 0xabc]
mov eax, 0xffffffff
xor eax, 0
and eax, ecx
xor ecx, 0xffffffff
and ecx, 0
sub ecx, eax
shr ecx, 1
mov eax, 0x956d001f
xor eax, 0x956d001f
sub eax, ecx
movsxd rcx, eax
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.14000db87
mov eax, dword [rbp + 0xacc]
add rsp, 0x20
mov dword [rbp + 0xaa4], eax
jmp 0x1401680dd
mov rcx, qword [rbp + 0xfe8]
mov eax, dword [rbp + 0xabc]
mov rdx, qword [rbp + 0xad0]
add rdx, 0x5e
mov qword [rbp + 0xa78], rdx
mov r8d, 2
cdq
idiv r8d
mov rdx, qword [rbp + 0xa78]
mov eax, eax
mov r8d, eax
sub rsp, 0x20
call fcn.1400a7cd0
mov r8, qword [rbp + 0xfe8]
mov rcx, qword [rbp + 0xd48]
mov rdx, qword [rbp + 0x1438]
mov eax, dword [rbp + 0xacc]
add rsp, 0x20
mov r8, qword [r8]
mov qword [rbp + 0xa80], r8
mov rcx, qword [rcx]
mov qword [rbp + 0xa88], rcx
mov ecx, 0x11
cmp byte [rdx], 0
mov dword [rbp + 0xa98], ecx
mov dword [rbp + 0xa9c], eax
jne 0x14016811b
mov rcx, qword [rbp + 0xff0]
mov rdx, qword [rbp + 0xff8]
mov rax, qword [rbp + 0xd50]
mov r8, qword [rbp + 0xa88]
mov r9, qword [rbp + 0xa80]
mov qword [rdx], r9
mov qword [rax], r8
sub rsp, 0x20
call fcn.140170330
mov r8, qword [rbp + 0xff0]
mov rcx, qword [rbp + 0xd58]
mov rdx, qword [rbp + 0x1438]
mov eax, dword [rbp + 0xacc]
add rsp, 0x20
mov r8, qword [r8]
mov qword [rbp + 0xa58], r8
mov rcx, qword [rcx]
mov qword [rbp + 0xa60], rcx
xor ecx, ecx
cmp byte [rdx], 0
mov qword [rbp + 0xa68], rcx
mov dword [rbp + 0xa74], eax
jne 0x140167ee9
mov rcx, qword [rbp + 0xa60]
mov r8, qword [rbp + 0xa58]
mov rsi, qword [rbp + 0xc28]
mov rdi, qword [rbp + 0xc20]
mov rbx, qword [rbp + 0xd78]
mov r15, qword [rbp + 0xd70]
mov r14, qword [rbp + 0xd68]
mov r12, qword [rbp + 0x1000]
mov rdx, qword [rbp + 0x1008]
mov rax, qword [rbp + 0xd60]
mov r9, qword [rbp + 0xfe0]
mov r10b, 0x71
xor r10b, 0x70
mov byte [r9], r10b
mov qword [rdx], r8
mov qword [rax], rcx
sub rsp, 0x20
mov rcx, r12
call fcn.14001c002
mov r11, qword [rbp + 0xd80]
mov r10, qword [rbp + 0xa58]
mov rax, qword [rbp + 0xd88]
mov rdx, qword [rbp + 0x1018]
mov r8, qword [rbp + 0x1020]
mov rcx, qword [rbp + 0x1010]
mov r9, qword [rbp + 0xa60]
add rsp, 0x20
mov r12, qword [r12]
mov r14, qword [r14]
mov qword [r15], r12
mov qword [rbx], r14
mov qword [rdx], rdi
mov qword [r11], rsi
mov qword [r8], r10
mov qword [rax], r9
sub rsp, 0x20
call fcn.1400979bd
mov r9, qword [rbp + 0x1010]
mov r8, qword [rbp + 0xd90]
mov rdx, qword [rbp + 0x1438]
mov rcx, qword [rbp + 0xa60]
mov eax, dword [rbp + 0xacc]
add rsp, 0x20
mov r9, qword [r9]
mov qword [rbp + 0xa48], r9
mov r8, qword [r8]
mov qword [rbp + 0xa50], r8
mov dl, byte [rdx]
mov r8b, 0x59
xor r8b, 0x59
cmp dl, r8b
mov qword [rbp + 0xa68], rcx
mov dword [rbp + 0xa74], eax
jne 0x140167ee9
mov rdx, qword [rbp + 0xfe0]
mov rcx, qword [rbp + 0xf08]
mov rax, qword [rbp + 0xda8]
mov r8, qword [rbp + 0xda0]
mov r9, qword [rbp + 0xa50]
mov r10, qword [rbp + 0xd98]
mov r11, qword [rbp + 0xa48]
mov qword [r10], r11
mov qword [r8], r9
movabs r8, 0x8c696c487ca96a9f
movabs r9, 0x8c696c487ca96a9f
xor r8, r9
mov qword [rax], r8
sub rsp, 0x20
call fcn.1400c7030
mov rdx, qword [rbp + 0x1438]
mov rcx, qword [rbp + 0xa60]
mov eax, dword [rbp + 0xacc]
add rsp, 0x20
cmp byte [rdx], 0
mov qword [rbp + 0xa68], rcx
mov dword [rbp + 0xa74], eax
jne 0x140167ee9
mov rax, qword [rbp + 0xf08]
mov al, byte [rax]
cmp al, 1
mov byte [rbp + 0xa47], al
jne 0x140167693
mov rdx, qword [rbp + 0x1030]
mov rcx, qword [rbp + 0x1028]
mov rax, qword [rbp + 0xdb0]
mov r8, qword [rbp + 0xc60]
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.1400c72bf
mov rdx, qword [rbp + 0x1438]
mov rcx, qword [rbp + 0xa60]
add rsp, 0x20
mov r8, rax
mov eax, dword [rbp + 0xacc]
mov qword [rbp + 0xa38], r8
mov dl, byte [rdx]
mov r8b, 0x6c
xor r8b, 0x6c
cmp dl, r8b
mov qword [rbp + 0xa68], rcx
mov dword [rbp + 0xa74], eax
jne 0x140167ee9
mov rcx, qword [rbp + 0xa38]
mov rax, rcx
add rax, 1
mov qword [rbp + 0xa30], rax
xor rcx, 0xffffffffffffffff
and rax, rcx
cmp rax, 0
jge 0x140167572
sub rsp, 0x20
call fcn.140008d37
mov rcx, qword [rbp + 0xa60]
mov eax, dword [rbp + 0xacc]
add rsp, 0x20
mov qword [rbp + 0xa68], rcx
mov dword [rbp + 0xa74], eax
jmp 0x140167ee9
mov rax, qword [rbp + 0xc60]
mov rax, qword [rax]
mov eax, dword [rax + 0x24]
mov dword [rbp + 0xa2c], eax
cmp eax, 0xffffffff
jne 0x1401675ff
mov rcx, qword [rbp + 0x1038]
mov rdx, qword [rbp + 0x1040]
mov rax, qword [rbp + 0xdb0]
mov r8, qword [rax]
mov qword [rdx], r8
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.14001c002
mov r9, qword [rbp + 0x1038]
mov r8, qword [rbp + 0xdc8]
mov rax, qword [rbp + 0xdd0]
mov rcx, qword [rbp + 0xee8]
mov rdx, qword [rbp + 0x1048]
add rsp, 0x20
mov r9, qword [r9]
mov r8, qword [r8]
mov qword [rdx], r9
mov qword [rax], r8
sub rsp, 0x20
call fcn.14001b440
add rsp, 0x20
jmp 0x140167684
mov rax, qword [rbp + 0xa30]
mov ecx, dword [rbp + 0xa2c]
movsxd rcx, ecx
cmp rax, rcx
jg 0x140167684
mov rcx, qword [rbp + 0x1050]
mov rdx, qword [rbp + 0x1058]
mov rax, qword [rbp + 0xdb0]
mov r8, qword [rax]
mov qword [rdx], r8
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.14001c002
mov r9, qword [rbp + 0x1050]
mov r8, qword [rbp + 0xdb8]
mov rax, qword [rbp + 0xdc0]
mov rcx, qword [rbp + 0xee8]
mov rdx, qword [rbp + 0x1060]
add rsp, 0x20
mov r9, qword [r9]
mov r8, qword [r8]
mov qword [rdx], r9
mov qword [rax], r8
sub rsp, 0x20
call fcn.14001b440
add rsp, 0x20
mov rax, qword [rbp + 0xf08]
mov al, byte [rax]
mov byte [rbp + 0xa47], al
mov eax, dword [rbp + 0xacc]
mov rcx, qword [rbp + 0xa60]
mov dl, byte [rbp + 0xa47]
cmp dl, 0
mov qword [rbp + 0xa68], rcx
mov dword [rbp + 0xa74], eax
jne 0x140167ee9
mov rdx, qword [rbp + 0xf08]
mov rcx, qword [rbp + 0xee0]
sub rsp, 0x20
call fcn.1400c7030
mov rdx, qword [rbp + 0x1438]
mov rcx, qword [rbp + 0xa60]
mov eax, dword [rbp + 0xacc]
add rsp, 0x20
mov dl, byte [rdx]
mov r8b, 0xd7
xor r8b, 0xd7
cmp dl, r8b
mov qword [rbp + 0xa68], rcx
mov dword [rbp + 0xa74], eax
jne 0x140167ee9
mov eax, dword [0x14024b070]
xor eax, 0xb58de5af
mov edx, dword [0x14024b074]
mov r8d, eax
xor r8d, edx
mov ecx, 0xc90f4366
xor ecx, 0x36f0bc99
xor r8d, ecx
mov ecx, edx
and ecx, r8d
shl ecx, 1
sub ecx, edx
sub eax, ecx
mov ecx, 0x77d2ced1
xor ecx, 0x4497a403
sub eax, ecx
sub eax, 0x19f30931
mov ecx, 0xffffffff
xor ecx, 0xbfd53372
xor edx, edx
sub edx, 1
sub ecx, edx
sub eax, ecx
cmp eax, 0x656e095
jbe 0x14016f988
mov rcx, qword [rbp + 0xf08]
mov eax, dword [0x14024b078]
xor eax, dword [0x14024b07c]
imul eax, eax, 0x9184f099
imul eax, eax, 0xf9365b9c
add eax, 0x41ef5ac5
mov dword [rbp + 0xa24], eax
sub rsp, 0x20
call fcn.1400c7609
mov rcx, qword [rbp + 0xee0]
mov eax, dword [rbp + 0xa24]
add rsp, 0x20
cmp byte [rcx], 0
sete cl
mov byte [rbp + 0xa2b], cl
cmp eax, 0x76050e19
je 0x14016776c
mov eax, dword [rbp + 0xacc]
mov rcx, qword [rbp + 0xa60]
mov dl, byte [rbp + 0xa2b]
test dl, 1
mov qword [rbp + 0xa68], rcx
mov dword [rbp + 0xa74], eax
jne 0x1401677f5
jmp 0x140167ee9
mov rax, qword [rbp + 0xc60]
mov rax, qword [rax]
mov rax, qword [rax + 0x58]
mov qword [rbp + 0xa10], rax
xor eax, eax
mov qword [rbp + 0xa18], rax
mov eax, dword [rbp + 0xacc]
mov rcx, qword [rbp + 0xa60]
mov r8, qword [rbp + 0xa10]
mov rdx, qword [rbp + 0xa18]
mov qword [rbp + 0xa08], rdx
cmp rdx, r8
mov qword [rbp + 0xa68], rcx
mov dword [rbp + 0xa74], eax
jge 0x140167ee9
mov rax, qword [rbp + 0xa08]
mov rcx, qword [rbp + 0xc60]
mov rcx, qword [rcx]
mov qword [rbp + 0x9f8], rcx
mov rcx, qword [rcx + 0x58]
mov qword [rbp + 0xa00], rcx
cmp rax, rcx
jl 0x1401678b5
mov rcx, qword [rbp + 0xa08]
mov rdx, qword [rbp + 0xa00]
add rdx, 0xffffffffffffffff
sub rsp, 0x20
call fcn.140012b72
mov rcx, qword [rbp + 0xa60]
mov eax, dword [rbp + 0xacc]
add rsp, 0x20
mov qword [rbp + 0xa68], rcx
mov dword [rbp + 0xa74], eax
jmp 0x140167ee9
mov rax, qword [rbp + 0xdd8]
mov rdx, qword [rbp + 0xa08]
mov rcx, qword [rbp + 0x9f8]
mov rcx, qword [rcx + 0x60]
add rcx, 8
shl rdx, 3
add rcx, rdx
mov qword [rbp + 0x9e8], rcx
mov rcx, qword [rax]
sub rsp, 0x20
call fcn.14009df5b
mov rdx, qword [rbp + 0x1438]
mov rcx, qword [rbp + 0xa60]
add rsp, 0x20
mov r8b, al
mov eax, dword [rbp + 0xacc]
mov byte [rbp + 0x9f7], r8b
cmp byte [rdx], 0
mov qword [rbp + 0xa68], rcx
mov dword [rbp + 0xa74], eax
jne 0x140167ee9
mov al, byte [rbp + 0x9f7]
test al, 1
jne 0x140167937
jmp 0x140167ebc
mov rax, qword [rbp + 0xdd8]
mov rcx, qword [rbp + 0x9e8]
mov rcx, qword [rcx]
mov qword [rbp + 0x9d8], rcx
movsxd rcx, dword [rcx + 0x10]
mov rax, qword [rax]
mov qword [rbp + 0x9e0], rax
cmp rax, rcx
jl 0x140167ebc
mov rax, qword [rbp + 0x9e0]
mov rcx, qword [rbp + 0x9d8]
movsxd rcx, dword [rcx + 0x14]
cmp rax, rcx
jg 0x140167ebc
mov rcx, qword [rbp + 0x1068]
mov rdx, qword [rbp + 0x1070]
mov rax, qword [rbp + 0xde0]
mov r8, qword [rax]
mov qword [rdx], r8
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.14001c002
mov r9, qword [rbp + 0x1068]
mov r8, qword [rbp + 0xde8]
mov rax, qword [rbp + 0x9e8]
mov rdx, qword [rbp + 0x1080]
mov rcx, qword [rbp + 0x1078]
add rsp, 0x20
mov rsi, qword [r9]
mov r8, qword [r8]
mov qword [rbp + 0x9c8], r8
mov rax, qword [rax]
mov r8, qword [rax]
mov qword [rdx], r8
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.14001c002
mov r9, qword [rbp + 0x1078]
mov r8, qword [rbp + 0xdf0]
mov r11, qword [rbp + 0x9c8]
mov r10, qword [rbp + 0xdf8]
mov rax, qword [rbp + 0xe00]
mov rcx, qword [rbp + 0x1088]
mov rdx, qword [rbp + 0x1090]
add rsp, 0x20
mov r9, qword [r9]
mov r8, qword [r8]
mov qword [rcx], rsi
mov qword [r10], r11
mov qword [rdx], r9
mov qword [rax], r8
sub rsp, 0x20
call fcn.140088b60
mov rdx, qword [rbp + 0x1438]
mov rcx, qword [rbp + 0xa60]
add rsp, 0x20
mov r8b, al
mov eax, dword [rbp + 0xacc]
mov byte [rbp + 0x9d7], r8b
mov dl, byte [rdx]
mov r8b, 0x1f
xor r8b, 0x1f
cmp dl, r8b
mov qword [rbp + 0xa68], rcx
mov dword [rbp + 0xa74], eax
jne 0x140167ee9
mov al, byte [rbp + 0x9d7]
test al, 1
jne 0x140167a9f
jmp 0x140167ebc
mov rax, qword [rbp + 0xc60]
mov rcx, qword [rax]
mov qword [rbp + 0x9c0], rcx
sub rsp, 0x20
xor eax, eax
mov dl, al
call fcn.140163b4b
add rsp, 0x20
mov rax, qword [rbp + 0x1438]
mov al, byte [rax]
mov cl, 0x37
xor cl, 0x37
cmp al, cl
jne 0x140167d36
mov rcx, qword [rbp + 0x1098]
movabs rdx, 0x8b0b754c9d54306d
movabs rax, 0x8b0b754c9d54305d
xor rdx, rax
sub rsp, 0x20
call fcn.14015930c
mov rcx, qword [rbp + 0x1098]
mov rdx, qword [rbp + 0xee0]
add rsp, 0x20
mov r8d, 0x30
sub rsp, 0x20
call sub.msvcrt.dll_memcpy
mov rcx, qword [rbp + 0xee0]
call fcn.1400c7609
mov rax, qword [rbp + 0xe08]
mov rcx, qword [rbp + 0x1470]
add rsp, 0x20
mov rax, qword [rax]
mov qword [rbp + 0x9b0], rax
mov rcx, qword [rcx]
mov qword [rbp + 0x9b8], rcx
cmp rax, 0
je 0x140167b93
mov rax, qword [rbp + 0x9b8]
mov r9, qword [rbp + 0x9b0]
mov r8, qword [rbp + 0x1098]
mov rdx, qword [rbp + 0x9c0]
mov rcx, qword [rbp + 0x1480]
sub rsp, 0x20
call rax
add rsp, 0x20
mov byte [rbp + 0x9af], al
jmp 0x140167bbf
mov rax, qword [rbp + 0x9b8]
mov r8, qword [rbp + 0x1098]
mov rdx, qword [rbp + 0x9c0]
mov rcx, qword [rbp + 0x1480]
sub rsp, 0x20
call rax
add rsp, 0x20
mov byte [rbp + 0x9af], al
mov rax, qword [rbp + 0x1438]
mov cl, byte [rbp + 0x9af]
mov al, byte [rax]
test al, al
sete al
and al, cl
test al, 1
jne 0x140167be2
jmp 0x140167d55
mov eax, dword [rbp + 0xacc]
movsxd rcx, eax
and eax, 1
mov edx, eax
mov rax, rcx
xor rax, 1
lea rax, [rax + rdx*2]
mov qword [rbp + 0x9a0], rax
mov r8, rcx
not r8
mov rdx, rax
not rdx
or rdx, r8
add rax, rdx
inc rax
sets al
add rcx, 0xffffffff80000001
movabs rdx, 0xffffffff00000000
sub rcx, rdx
setb cl
or al, cl
test al, 1
jne 0x140167d29
mov eax, dword [0x14024b080]
add eax, dword [0x14024b084]
and eax, 0x5387eba9
mov edx, 0xb83021d3
xor edx, 0xb83021d2
mov ecx, eax
add ecx, edx
xor eax, 0xffffffff
or eax, 0x6f563a31
add eax, ecx
or eax, 0x58f77890
cmp eax, 0xf7f0e4cf
ja 0x14016f991
mov eax, dword [0x14024b088]
mov ecx, 0xf495cb8d
xor ecx, 0x8e0c1bac
xor eax, ecx
xor edx, edx
div dword [0x14024b08c]
mov rdx, qword [rbp + 0x9a0]
mov ecx, eax
mov eax, 0x49c26a75
xor eax, 0xba392f24
add ecx, eax
sub ecx, 0x5780d5b4
sub ecx, 0xf3fb4551
sub ecx, 0xc8139bca
mov eax, ecx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0xef3e977b
or ecx, 0xef3e977b
mov r8d, 0x96697ee3
xor r8d, 0x6996811c
xor ecx, r8d
xor eax, 0xffffffff
mov r8d, 0x9c77d978
xor r8d, 0x63882687
xor ecx, r8d
and eax, ecx
mov ecx, 0xb0c87679
xor ecx, 0x665b9a3
mov dword [rbp + 0x99c], edx
cmp eax, ecx
je 0x140167c75
mov eax, dword [rbp + 0x99c]
mov rcx, qword [rbp + 0xa60]
mov qword [rbp + 0xa68], rcx
mov dword [rbp + 0xa74], eax
jmp 0x140167ee9
sub rsp, 0x20
call fcn.140008d37
add rsp, 0x20
mov eax, dword [rbp + 0xacc]
mov rcx, qword [rbp + 0xa60]
mov qword [rbp + 0xa68], rcx
mov dword [rbp + 0xa74], eax
jmp 0x140167ee9
mov r8d, dword [0x14024b090]
mov eax, 0xe21ef292
xor eax, 0x39eaa080
xor r8d, eax
mov ecx, dword [0x14024b094]
mov eax, r8d
xor eax, ecx
xor eax, 0xffffffff
mov edx, ecx
and edx, eax
mov eax, 0xff86da2b
xor eax, 0xff86da29
imul eax, edx
sub eax, ecx
sub r8d, eax
or r8d, 0x9e8479e7
xor r8d, 0xffffffff
mov ecx, 0xc9f01612
xor ecx, 0xfa23f94d
mov eax, 0xe6b74e2e
xor eax, 0x1948b1d1
xor ecx, eax
mov eax, 0x7ac69297
xor eax, 0x3bd1e9be
mov edx, 0x929368d7
xor edx, 0x6d6c9728
xor eax, edx
or r8d, ecx
or eax, 0x41177b29
xor r8d, 0xffffffff
and r8d, eax
mov ecx, 0x39063fd6
xor ecx, 0xc6f9c029
mov eax, r8d
xor eax, ecx
and eax, 0xa2ba474d
mov edx, 0xffffffff
xor edx, 0xa2ba474d
and r8d, edx
mov ecx, 0x24a0c19c
xor ecx, 0xdecc52ff
mov r9d, 0x720dc1d
xor r9d, 0xf8df23e2
xor ecx, r9d
and ecx, 0xa2ba474d
and edx, 0xfa6c9363
or eax, r8d
or ecx, edx
xor eax, ecx
cmp eax, 0x4096861c
jb 0x14016f99a
mov eax, dword [0x14024b098]
mov ecx, 0x2cc6373c
xor ecx, 0xaead2d06
xor eax, ecx
mov ecx, dword [0x14024b09c]
sub eax, 0xce22eacd
sub eax, ecx
add eax, 0xce22eacd
imul eax, eax, 0xba8d1d61
mov ecx, eax
and ecx, 0x73c2a1ea
mov edx, 0xcf811497
xor edx, 0x307eeb68
xor ecx, edx
add eax, 0x73c2a1ea
mov edx, 0x448fb0f2
xor edx, 0x448fb0f3
add eax, edx
add eax, ecx
and eax, 0xa8970636
mov ecx, 0xefa02b73
xor ecx, 0x6ee42fdf
cmp eax, ecx
jbe 0x140167e31
mov eax, dword [rbp + 0xacc]
mov rcx, qword [rbp + 0xa60]
mov qword [rbp + 0xa68], rcx
mov dword [rbp + 0xa74], eax
jmp 0x140167ee9
mov rax, qword [rbp + 0xa08]
movabs rcx, 0x1cfe660a9df9c166
movabs rdx, 0x1cfe660a9df9c167
xor rcx, rdx
add rax, rcx
mov qword [rbp + 0xa18], rax
jmp 0x140167813
mov rax, qword [rbp + 0xa88]
mov rcx, qword [rbp + 0xa68]
mov edx, dword [rbp + 0xa74]
mov dword [rbp + 0x98c], edx
mov qword [rbp + 0x990], rcx
cmp rax, 0
je 0x140167f46
mov rcx, qword [rbp + 0xa88]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
cmp rax, 0
jne 0x140167f46
mov rcx, qword [rbp + 0xa88]
sub rsp, 0x20
call fcn.14000f4df
add rsp, 0x20
mov eax, dword [rbp + 0x98c]
mov rcx, qword [rbp + 0x990]
cmp rcx, 0
mov dword [rbp + 0xaa4], eax
je 0x1401680dd
mov eax, dword [rbp + 0x98c]
mov rcx, qword [rbp + 0x990]
mov rcx, qword [rcx]
or rcx, rcx
xor rcx, 0xffffffffffffffff
movabs rdx, 0x4000000000000000
movabs r8, 0x4000000000000000
or rdx, r8
xor rdx, 0xffffffffffffffff
movabs r8, 0x87a9c19f329f57d1
movabs r9, 0x78563e60cd60a82e
xor r8, r9
xor rcx, r8
xor rdx, 0xffffffffffffffff
and rcx, rdx
cmp rcx, 0
mov dword [rbp + 0xaa4], eax
jne 0x1401680dd
mov eax, dword [0x14024b0a0]
mov ecx, dword [0x14024b0a4]
xor ecx, 0xe776305b
sub eax, ecx
mov edx, 0x26ff9ece
xor edx, 0xd9006131
mov ecx, eax
xor ecx, edx
mov edx, 0xffffffff
xor edx, 0xf98e3224
or ecx, edx
and eax, 0xf98e3224
xor eax, 0xffffffff
mov edx, 0x18e1900a
xor edx, 0xe71e6ff5
xor ecx, edx
mov edx, 0x825fb2f4
xor edx, 0x7da04d0b
xor eax, edx
or ecx, eax
mov eax, ecx
and eax, 0x76d6d151
mov edx, 0xcbd88cf7
xor edx, 0xbd0e5da6
or ecx, edx
add eax, ecx
mov ecx, 0xdabe1f16
xor edx, edx
div ecx
cmp eax, 0xf98d73ee
je 0x14016f9a3
mov rcx, qword [rbp + 0x990]
mov edx, dword [0x14024b0a8]
imul edx, dword [0x14024b0ac]
mov eax, edx
xor eax, 0xffffffff
and eax, 0xdd33428e
mov r8d, 0xcc6a7cf2
xor r8d, 0x11593e7c
mov r9d, 0xc2f7683a
xor r9d, 0x3d0897c5
xor r8d, r9d
and edx, r8d
or eax, edx
and eax, 0x821cba3f
mov edx, 0x74313605
xor edx, 0x25c8b8ef
sub eax, edx
sub eax, 0x7cd3ebbe
mov edx, 0xdfe057fc
xor edx, 0x8e19d916
add eax, edx
mov dword [rbp + 0x988], eax
sub rsp, 0x20
call fcn.14000f4df
mov eax, dword [rbp + 0x988]
add rsp, 0x20
cmp eax, 0xa45e82b
jbe 0x140168044
mov eax, dword [rbp + 0x98c]
mov dword [rbp + 0xaa4], eax
jmp 0x1401680dd
mov rdx, qword [rbp + 0x1438]
mov eax, dword [rbp + 0xaa4]
mov dword [rbp + 0x984], eax
mov ecx, 0x11
cmp byte [rdx], 0
mov dword [rbp + 0xa98], ecx
mov dword [rbp + 0xa9c], eax
jne 0x14016811b
mov eax, dword [rbp + 0x984]
mov dword [rbp + 0x980], eax
jmp 0x14016816b
mov ecx, dword [rbp + 0xa98]
mov eax, dword [rbp + 0xa9c]
mov dword [rbp + 0x978], ecx
mov dword [rbp + 0x97c], eax
jmp 0x14016906f
mov eax, dword [rbp + 0xacc]
mov dl, byte [rbp + 0xacb]
mov ecx, 0x11
test dl, 1
mov edx, eax
mov dword [rbp + 0x980], edx
mov dword [rbp + 0x978], ecx
mov dword [rbp + 0x97c], eax
jne 0x14016816b
jmp 0x14016906f
mov rax, qword [rbp + 0xac0]
mov ecx, dword [rbp + 0x980]
mov dword [rbp + 0x970], ecx
mov ecx, dword [rax]
not ecx
and ecx, 0x10
sub rsp, 0x20
call fcn.1400a24bc
add rsp, 0x20
mov cl, al
mov rax, qword [rbp + 0x1438]
mov al, byte [rax]
test al, al
sete al
mov byte [rbp + 0x977], al
and al, cl
test al, 1
jne 0x1401681b7
jmp 0x140169041
mov eax, dword [0x14024b0b0]
mov ecx, dword [0x14024b0b4]
xor ecx, 0x9cf48f90
xor eax, ecx
imul eax, eax, 0x73826255
mov ecx, 0x131c753a
xor ecx, 0x2bc449d7
or eax, ecx
mov ecx, 0x6040f0d5
xor edx, edx
div ecx
cmp eax, 0x25f947b
jae 0x14016f9ac
mov rdx, qword [rbp + 0xad8]
mov ecx, dword [0x14024b0b8]
xor ecx, 0xb8923b9f
mov r8d, dword [0x14024b0bc]
mov r9d, ecx
xor r9d, r8d
xor r9d, 0xffffffff
mov eax, r8d
and eax, r9d
shl eax, 1
sub eax, r8d
sub ecx, eax
mov r8d, 0x451dd6fe
xor r8d, 0x35e7c2ba
mov eax, ecx
and eax, r8d
or ecx, 0x70fa1444
add eax, ecx
mov ecx, 0x70db7742
xor ecx, 0xabb9bed8
and eax, ecx
mov ecx, 0x11593e84
xor ecx, 0xcbbfc4bb
mov r8d, 0x1382e1ef
xor r8d, 0xec7d1e10
xor ecx, r8d
add eax, ecx
add eax, 1
mov ecx, 0xe7fc0e51
xor ecx, 0x27c48348
mov edx, dword [rdx]
mov dword [rbp + 0x968], edx
cmp edx, 0xffffffff
setl dl
mov byte [rbp + 0x96f], dl
cmp eax, ecx
jb 0x14016f9ac
mov al, byte [rbp + 0x96f]
test al, 1
jne 0x1401682a5
jmp 0x140168305
mov eax, dword [rbp + 0x968]
xor ecx, ecx
sub ecx, eax
shr ecx, 1
xor eax, eax
sub eax, ecx
movsxd rcx, eax
movabs rdx, 0x7b141fba51be05a3
movabs rax, 0x7b141fba51be05a3
xor rdx, rax
movabs r8, 0xf3770cfe8ab53f15
movabs rax, 0x8c88f301754ac0ea
xor r8, rax
sub rsp, 0x20
call fcn.14000db87
mov eax, dword [rbp + 0x970]
add rsp, 0x20
mov dword [rbp + 0x964], eax
jmp 0x140168f2f
mov rcx, qword [rbp + 0x10a8]
mov eax, dword [rbp + 0x968]
mov rdx, qword [rbp + 0xad0]
add rdx, 0x5e
mov qword [rbp + 0x948], rdx
mov r8d, 2
cdq
idiv r8d
mov rdx, qword [rbp + 0x948]
mov eax, eax
mov r8d, eax
sub rsp, 0x20
call fcn.1400a7cd0
mov r8, qword [rbp + 0x10a8]
mov rdx, qword [rbp + 0xe10]
mov rcx, qword [rbp + 0x1438]
mov eax, dword [rbp + 0x970]
add rsp, 0x20
mov r8, qword [r8]
mov qword [rbp + 0x950], r8
mov rdx, qword [rdx]
mov qword [rbp + 0x958], rdx
cmp byte [rcx], 0
mov dword [rbp + 0x960], eax
jne 0x140168f57
mov rcx, qword [rbp + 0x10b0]
mov rdx, qword [rbp + 0x10b8]
mov rax, qword [rbp + 0xe18]
mov r8, qword [rbp + 0x958]
mov r9, qword [rbp + 0x950]
mov qword [rdx], r9
mov qword [rax], r8
sub rsp, 0x20
call fcn.140170330
mov r8, qword [rbp + 0x10b0]
mov rcx, qword [rbp + 0xe20]
mov rdx, qword [rbp + 0x1438]
mov eax, dword [rbp + 0x970]
add rsp, 0x20
mov r8, qword [r8]
mov qword [rbp + 0x928], r8
mov rcx, qword [rcx]
mov qword [rbp + 0x930], rcx
xor ecx, ecx
cmp byte [rdx], 0
mov qword [rbp + 0x938], rcx
mov dword [rbp + 0x944], eax
jne 0x140168def
mov rcx, qword [rbp + 0x930]
mov r8, qword [rbp + 0x928]
mov rsi, qword [rbp + 0xc28]
mov rdi, qword [rbp + 0xc20]
mov rbx, qword [rbp + 0xe40]
mov r15, qword [rbp + 0xe38]
mov r14, qword [rbp + 0xe30]
mov r12, qword [rbp + 0x10c0]
mov rdx, qword [rbp + 0x10c8]
mov rax, qword [rbp + 0xe28]
mov r9, qword [rbp + 0x10a0]
mov byte [r9], 0
mov qword [rdx], r8
mov qword [rax], rcx
sub rsp, 0x20
mov rcx, r12
call fcn.14001c002
mov r11, qword [rbp + 0xe48]
mov r10, qword [rbp + 0x928]
mov rax, qword [rbp + 0xe50]
mov rdx, qword [rbp + 0x10d8]
mov r8, qword [rbp + 0x10e0]
mov rcx, qword [rbp + 0x10d0]
mov r9, qword [rbp + 0x930]
add rsp, 0x20
mov r12, qword [r12]
mov r14, qword [r14]
mov qword [r15], r12
mov qword [rbx], r14
mov qword [rdx], rdi
mov qword [r11], rsi
mov qword [r8], r10
mov qword [rax], r9
sub rsp, 0x20
call fcn.1400979bd
mov r9, qword [rbp + 0x10d0]
mov r8, qword [rbp + 0xe58]
mov rdx, qword [rbp + 0x1438]
mov rcx, qword [rbp + 0x930]
mov eax, dword [rbp + 0x970]
add rsp, 0x20
mov r9, qword [r9]
mov qword [rbp + 0x918], r9
mov r8, qword [r8]
mov qword [rbp + 0x920], r8
mov dl, byte [rdx]
mov r8b, 0x76
xor r8b, 0x76
cmp dl, r8b
mov qword [rbp + 0x938], rcx
mov dword [rbp + 0x944], eax
jne 0x140168def
mov rdx, qword [rbp + 0x10a0]
mov rcx, qword [rbp + 0xf08]
mov rax, qword [rbp + 0xe70]
mov r8, qword [rbp + 0xad0]
mov r9, qword [rbp + 0xe68]
mov r10, qword [rbp + 0x920]
mov r11, qword [rbp + 0xe60]
mov rsi, qword [rbp + 0x918]
mov qword [r11], rsi
mov qword [r9], r10
mov r8, qword [r8 + 0x28]
mov qword [rax], r8
sub rsp, 0x20
call fcn.1400c7030
mov rdx, qword [rbp + 0x1438]
mov rcx, qword [rbp + 0x930]
mov eax, dword [rbp + 0x970]
add rsp, 0x20
mov dl, byte [rdx]
mov r8b, 0x8d
xor r8b, 0x8d
cmp dl, r8b
mov qword [rbp + 0x938], rcx
mov dword [rbp + 0x944], eax
jne 0x140168def
mov rax, qword [rbp + 0xf08]
mov al, byte [rax]
cmp al, 1
mov byte [rbp + 0x917], al
jne 0x1401687c6
mov rdx, qword [rbp + 0x10f0]
mov rcx, qword [rbp + 0x10e8]
mov rax, qword [rbp + 0xdb0]
mov r8, qword [rbp + 0xc60]
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.1400c72bf
mov rdx, qword [rbp + 0x1438]
mov rcx, qword [rbp + 0x930]
add rsp, 0x20
mov r8, rax
mov eax, dword [rbp + 0x970]
mov qword [rbp + 0x908], r8
cmp byte [rdx], 0
mov qword [rbp + 0x938], rcx
mov dword [rbp + 0x944], eax
jne 0x140168def
mov rdx, qword [rbp + 0x908]
xor eax, eax
sub rax, 1
mov rcx, rdx
sub rcx, rax
mov qword [rbp + 0x900], rcx
xor rdx, 0xffffffffffffffff
movabs rax, 0xcb9434bc43208380
movabs r8, 0x346bcb43bcdf7c7f
xor rax, r8
xor rdx, rax
mov rax, rcx
xor rax, rdx
and rax, rcx
cmp rax, 0
jge 0x1401686a5
sub rsp, 0x20
call fcn.140008d37
mov rcx, qword [rbp + 0x930]
mov eax, dword [rbp + 0x970]
add rsp, 0x20
mov qword [rbp + 0x938], rcx
mov dword [rbp + 0x944], eax
jmp 0x140168def
mov rax, qword [rbp + 0xc60]
mov rax, qword [rax]
mov eax, dword [rax + 0x24]
mov dword [rbp + 0x8fc], eax
cmp eax, 0xffffffff
jne 0x140168732
mov rcx, qword [rbp + 0x10f8]
mov rdx, qword [rbp + 0x1100]
mov rax, qword [rbp + 0xdb0]
mov r8, qword [rax]
mov qword [rdx], r8
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.14001c002
mov r9, qword [rbp + 0x10f8]
mov r8, qword [rbp + 0xe88]
mov rax, qword [rbp + 0xe90]
mov rcx, qword [rbp + 0xee8]
mov rdx, qword [rbp + 0x1108]
add rsp, 0x20
mov r9, qword [r9]
mov r8, qword [r8]
mov qword [rdx], r9
mov qword [rax], r8
sub rsp, 0x20
call fcn.14001b440
add rsp, 0x20
jmp 0x1401687b7
mov rax, qword [rbp + 0x900]
mov ecx, dword [rbp + 0x8fc]
movsxd rcx, ecx
cmp rax, rcx
jg 0x1401687b7
mov rcx, qword [rbp + 0x1110]
mov rdx, qword [rbp + 0x1118]
mov rax, qword [rbp + 0xdb0]
mov r8, qword [rax]
mov qword [rdx], r8
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.14001c002
mov r9, qword [rbp + 0x1110]
mov r8, qword [rbp + 0xe78]
mov rax, qword [rbp + 0xe80]
mov rcx, qword [rbp + 0xee8]
mov rdx, qword [rbp + 0x1120]
add rsp, 0x20
mov r9, qword [r9]
mov r8, qword [r8]
mov qword [rdx], r9
mov qword [rax], r8
sub rsp, 0x20
call fcn.14001b440
add rsp, 0x20
mov rax, qword [rbp + 0xf08]
mov al, byte [rax]
mov byte [rbp + 0x917], al
mov eax, dword [rbp + 0x970]
mov rcx, qword [rbp + 0x930]
mov dl, byte [rbp + 0x917]
cmp dl, 0
mov qword [rbp + 0x938], rcx
mov dword [rbp + 0x944], eax
jne 0x140168def
mov rdx, qword [rbp + 0xf08]
mov rcx, qword [rbp + 0xee0]
sub rsp, 0x20
call fcn.1400c7030
mov rdx, qword [rbp + 0x1438]
mov rcx, qword [rbp + 0x930]
mov eax, dword [rbp + 0x970]
add rsp, 0x20
cmp byte [rdx], 0
mov qword [rbp + 0x938], rcx
mov dword [rbp + 0x944], eax
jne 0x140168def
mov rcx, qword [rbp + 0xf08]
sub rsp, 0x20
call fcn.1400c7609
mov rdx, qword [rbp + 0xee0]
mov rcx, qword [rbp + 0x930]
mov eax, dword [rbp + 0x970]
add rsp, 0x20
mov dl, byte [rdx]
mov r8b, 0x73
xor r8b, 0x73
cmp dl, r8b
mov qword [rbp + 0x938], rcx
mov dword [rbp + 0x944], eax
jne 0x140168def
mov rax, qword [rbp + 0xc60]
mov rax, qword [rax]
mov rax, qword [rax + 0x58]
mov qword [rbp + 0x8e8], rax
xor eax, eax
mov qword [rbp + 0x8f0], rax
mov eax, dword [rbp + 0x970]
mov rcx, qword [rbp + 0x930]
mov r8, qword [rbp + 0x8e8]
mov rdx, qword [rbp + 0x8f0]
mov qword [rbp + 0x8e0], rdx
cmp rdx, r8
mov qword [rbp + 0x938], rcx
mov dword [rbp + 0x944], eax
jge 0x140168def
mov rax, qword [rbp + 0x8e0]
mov rcx, qword [rbp + 0xc60]
mov rcx, qword [rcx]
mov qword [rbp + 0x8d0], rcx
mov rcx, qword [rcx + 0x58]
mov qword [rbp + 0x8d8], rcx
cmp rax, rcx
jl 0x1401689d9
mov ecx, dword [0x14024b0c0]
xor ecx, 0xcf326691
mov edx, dword [0x14024b0c4]
mov eax, 0x150fb611
xor eax, 0xea31672f
xor edx, eax
mov r8d, ecx
xor r8d, edx
mov eax, 0x98f9b5c3
xor eax, 0x67064a3c
xor r8d, eax
mov eax, edx
and eax, r8d
shl eax, 1
sub eax, edx
sub ecx, eax
xor ecx, 0x11a5a016
mov eax, ecx
and eax, 0x435f93dd
xor ecx, 0x435f93dd
or eax, ecx
imul eax, eax, 0x6804c1c8
cmp eax, 0xf0379df7
ja 0x14016f9b5
mov rcx, qword [rbp + 0x8e0]
mov eax, dword [0x14024b0c8]
xor edx, edx
div dword [0x14024b0cc]
imul eax, eax, 0xde42b49b
xor eax, 0x10b75366
mov r8d, 0x9ce09a
xor edx, edx
div r8d
mov rdx, qword [rbp + 0x8d8]
mov dword [rbp + 0x8cc], eax
add rdx, 0xffffffffffffffff
sub rsp, 0x20
call fcn.140012b72
mov eax, dword [rbp + 0x8cc]
add rsp, 0x20
cmp eax, 0x693c59a8
jae 0x140168960
mov eax, dword [rbp + 0x970]
mov rcx, qword [rbp + 0x930]
mov qword [rbp + 0x938], rcx
mov dword [rbp + 0x944], eax
jmp 0x140168def
mov rax, qword [rbp + 0xdd8]
mov rdx, qword [rbp + 0x8e0]
mov rcx, qword [rbp + 0x8d0]
mov rcx, qword [rcx + 0x60]
add rcx, 8
shl rdx, 3
add rcx, rdx
mov qword [rbp + 0x8c0], rcx
mov rcx, qword [rax]
sub rsp, 0x20
call fcn.14009df5b
mov rdx, qword [rbp + 0x1438]
mov rcx, qword [rbp + 0x930]
add rsp, 0x20
mov r8b, al
mov eax, dword [rbp + 0x970]
mov byte [rbp + 0x8cb], r8b
cmp byte [rdx], 0
mov qword [rbp + 0x938], rcx
mov dword [rbp + 0x944], eax
jne 0x140168def
mov al, byte [rbp + 0x8cb]
test al, 1
jne 0x140168a5b
jmp 0x140168da8
mov rax, qword [rbp + 0xdd8]
mov rcx, qword [rbp + 0x8c0]
mov rcx, qword [rcx]
mov qword [rbp + 0x8b0], rcx
movsxd rcx, dword [rcx + 0x10]
mov rax, qword [rax]
mov qword [rbp + 0x8b8], rax
cmp rax, rcx
jl 0x140168da8
mov rax, qword [rbp + 0x8b8]
mov rcx, qword [rbp + 0x8b0]
movsxd rcx, dword [rcx + 0x14]
cmp rax, rcx
jg 0x140168da8
mov rcx, qword [rbp + 0x1128]
mov rdx, qword [rbp + 0x1130]
mov rax, qword [rbp + 0xde0]
mov r8, qword [rax]
mov qword [rdx], r8
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.14001c002
mov r9, qword [rbp + 0x1128]
mov r8, qword [rbp + 0xe98]
mov rax, qword [rbp + 0x8c0]
mov rdx, qword [rbp + 0x1140]
mov rcx, qword [rbp + 0x1138]
add rsp, 0x20
mov rsi, qword [r9]
mov r8, qword [r8]
mov qword [rbp + 0x8a0], r8
mov rax, qword [rax]
mov r8, qword [rax]
mov qword [rdx], r8
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.14001c002
mov r9, qword [rbp + 0x1138]
mov r8, qword [rbp + 0xea0]
mov r11, qword [rbp + 0x8a0]
mov r10, qword [rbp + 0xea8]
mov rax, qword [rbp + 0xeb0]
mov rcx, qword [rbp + 0x1148]
mov rdx, qword [rbp + 0x1150]
add rsp, 0x20
mov r9, qword [r9]
mov r8, qword [r8]
mov qword [rcx], rsi
mov qword [r10], r11
mov qword [rdx], r9
mov qword [rax], r8
sub rsp, 0x20
call fcn.140088b60
mov rdx, qword [rbp + 0x1438]
mov rcx, qword [rbp + 0x930]
add rsp, 0x20
mov r8b, al
mov eax, dword [rbp + 0x970]
mov byte [rbp + 0x8af], r8b
cmp byte [rdx], 0
mov qword [rbp + 0x938], rcx
mov dword [rbp + 0x944], eax
jne 0x140168def
mov al, byte [rbp + 0x8af]
test al, 1
jne 0x140168bba
jmp 0x140168da8
mov rax, qword [rbp + 0xc60]
mov rcx, qword [rax]
mov qword [rbp + 0x898], rcx
sub rsp, 0x20
xor eax, eax
mov dl, al
call fcn.140163b4b
add rsp, 0x20
mov rax, qword [rbp + 0x1438]
mov al, byte [rax]
mov cl, 0xcb
xor cl, 0xcb
cmp al, cl
jne 0x140168d6a
mov rcx, qword [rbp + 0x1158]
mov edx, 0x30
sub rsp, 0x20
call fcn.14015930c
mov rcx, qword [rbp + 0x1158]
mov rdx, qword [rbp + 0xee0]
add rsp, 0x20
mov r8d, 0x30
sub rsp, 0x20
call sub.msvcrt.dll_memcpy
mov rcx, qword [rbp + 0xee0]
call fcn.1400c7609
mov rax, qword [rbp + 0xe08]
mov rcx, qword [rbp + 0x1470]
add rsp, 0x20
mov rax, qword [rax]
mov qword [rbp + 0x888], rax
mov rcx, qword [rcx]
mov qword [rbp + 0x890], rcx
cmp rax, 0
je 0x140168c9c
mov rax, qword [rbp + 0x890]
mov r9, qword [rbp + 0x888]
mov r8, qword [rbp + 0x1158]
mov rdx, qword [rbp + 0x898]
mov rcx, qword [rbp + 0x1480]
sub rsp, 0x20
call rax
add rsp, 0x20
mov byte [rbp + 0x887], al
jmp 0x140168cc8
mov rax, qword [rbp + 0x890]
mov r8, qword [rbp + 0x1158]
mov rdx, qword [rbp + 0x898]
mov rcx, qword [rbp + 0x1480]
sub rsp, 0x20
call rax
add rsp, 0x20
mov byte [rbp + 0x887], al
mov rax, qword [rbp + 0x1438]
mov cl, byte [rbp + 0x887]
mov al, byte [rax]
test al, al
sete al
and al, cl
test al, 1
jne 0x140168ceb
jmp 0x140168d89
mov eax, dword [rbp + 0x970]
movsxd rcx, eax
mov rax, rcx
inc rax
mov qword [rbp + 0x878], 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 0x140168d5d
mov rcx, qword [rbp + 0x930]
mov rax, qword [rbp + 0x878]
mov qword [rbp + 0x938], rcx
mov dword [rbp + 0x944], eax
jmp 0x140168def
sub rsp, 0x20
call fcn.140008d37
add rsp, 0x20
mov eax, dword [rbp + 0x970]
mov rcx, qword [rbp + 0x930]
mov qword [rbp + 0x938], rcx
mov dword [rbp + 0x944], eax
jmp 0x140168def
mov eax, dword [rbp + 0x970]
mov rcx, qword [rbp + 0x930]
mov qword [rbp + 0x938], rcx
mov dword [rbp + 0x944], eax
jmp 0x140168def
mov rax, qword [rbp + 0x8e0]
movabs rcx, 0x8ce2316b4ccb2ca0
sub rax, rcx
movabs rcx, 0x7519939f2aa8e7c3
movabs rdx, 0x7519939f2aa8e7c2
xor rcx, rdx
add rax, rcx
movabs rcx, 0x8ce2316b4ccb2ca0
add rax, rcx
mov qword [rbp + 0x8f0], rax
jmp 0x140168899
mov rax, qword [rbp + 0x958]
mov rcx, qword [rbp + 0x938]
mov edx, dword [rbp + 0x944]
mov dword [rbp + 0x86c], edx
mov qword [rbp + 0x870], rcx
cmp rax, 0
je 0x140168ec8
mov rax, qword [rbp + 0x958]
mov rcx, qword [rax]
movabs rdx, 0x8bafa97d03aab0eb
movabs rax, 0x74505682fc554f14
xor rdx, rax
mov rax, rcx
xor rax, rdx
mov rdx, 0xffffffffffffffff
movabs r8, 0x4000000000000000
xor rdx, r8
or rax, rdx
movabs rdx, 0x93c8c6fe095c5807
movabs r8, 0x6c373901f6a3a7f8
xor rdx, r8
xor rcx, rdx
mov rdx, 0xffffffffffffffff
movabs r8, 0x4000000000000000
xor rdx, r8
or rcx, rdx
xor rax, 0xffffffffffffffff
movabs rdx, 0x981ee08156bd2886
movabs r8, 0x67e11f7ea942d779
xor rdx, r8
xor rcx, rdx
or rax, rcx
cmp rax, 0
jne 0x140168ec8
mov rcx, qword [rbp + 0x958]
sub rsp, 0x20
call fcn.14000f4df
add rsp, 0x20
mov eax, dword [rbp + 0x86c]
mov rcx, qword [rbp + 0x870]
cmp rcx, 0
mov dword [rbp + 0x964], eax
je 0x140168f2f
mov eax, dword [rbp + 0x86c]
mov rdx, qword [rbp + 0x870]
movabs rcx, 0x4000000000000000
and rcx, qword [rdx]
cmp rcx, 0
mov dword [rbp + 0x964], eax
jne 0x140168f2f
mov rcx, qword [rbp + 0x870]
sub rsp, 0x20
call fcn.14000f4df
mov eax, dword [rbp + 0x86c]
add rsp, 0x20
mov dword [rbp + 0x964], eax
mov rcx, qword [rbp + 0x1438]
mov eax, dword [rbp + 0x964]
mov dword [rbp + 0x868], eax
mov cl, byte [rcx]
mov dl, 0xfa
xor dl, 0xfa
cmp cl, dl
mov dword [rbp + 0x960], eax
je 0x140169030
mov eax, dword [rbp + 0x960]
mov dword [rbp + 0x864], eax
mov ecx, dword [0x14024b0d0]
mov eax, dword [0x14024b0d4]
xor eax, 0xafa3026c
imul ecx, eax
mov edx, 0x52a57074
xor edx, 0xe1f886df
mov eax, 0xf3f1ff2a
xor eax, 0xc0e00d5
xor edx, eax
mov eax, ecx
xor eax, edx
and eax, ecx
mov ecx, 0xc8d0fce3
xor ecx, 0xb92bdf13
sub eax, ecx
and eax, eax
xor eax, 0xffffffff
mov ecx, 0x9a89f6e3
and ecx, 0x9a89f6e3
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
mov ecx, 0x61de79da
xor ecx, 0x25e08d1
cmp eax, ecx
jb 0x14016f9be
mov eax, dword [0x14024b0d8]
xor edx, edx
div dword [0x14024b0dc]
mov ecx, 0xd7d05942
xor ecx, 0xe81a2844
xor eax, ecx
mov ecx, 0xffffffff
xor ecx, 0x8eaf1bda
add eax, ecx
mov ecx, 0xc0612663
xor ecx, 0xc0612662
add eax, ecx
xor eax, 0x76a0de03
cmp eax, 0xc3426f4b
je 0x14016f9be
mov rax, qword [rbp + 0xb50]
mov ecx, dword [rbp + 0x864]
mov dword [rbp + 0xb5c], ecx
mov qword [rbp + 0xb60], rax
jmp case.0x140169377.17
mov eax, dword [rbp + 0x868]
mov dword [rbp + 0xae4], eax
jmp 0x1401690b5
mov eax, dword [rbp + 0x970]
mov dl, byte [rbp + 0x977]
mov ecx, 0x11
test dl, 1
mov dword [rbp + 0x978], ecx
mov ecx, eax
mov dword [rbp + 0x97c], ecx
mov dword [rbp + 0xae4], eax
jne 0x1401690b5
mov rcx, qword [rbp + 0xad0]
mov eax, dword [rbp + 0x978]
mov edx, dword [rbp + 0x97c]
mov r8d, 0x200ad163
xor r8d, 0x200ad17c
cmp eax, r8d
mov r8d, edx
mov dword [rbp + 0xae4], r8d
mov dword [rbp + 0x854], edx
mov qword [rbp + 0x858], rcx
mov dword [rbp + 0x860], eax
jne 0x140169172
mov rcx, qword [rbp + 0xb40]
mov rdx, qword [rbp + 0xb50]
mov r8, qword [rbp + 0xad0]
mov eax, dword [rbp + 0xae4]
mov dword [rbp + 0x84c], eax
mov r9d, dword [r8]
mov dword [rbp + 0x850], r9d
xor r8d, r8d
cmp r9d, 1
mov byte [rbp + 0xb87], r8b
mov qword [rbp + 0xb88], rdx
mov qword [rbp + 0xb90], rcx
mov dword [rbp + 0xb98], eax
jl 0x1401666d0
mov edx, dword [rbp + 0x850]
mov rcx, qword [rbp + 0xad0]
sub rsp, 0x20
call fcn.14017051c
mov rdx, qword [rbp + 0x1438]
mov ecx, dword [rbp + 0x84c]
add rsp, 0x20
mov r8, rax
mov rax, qword [rbp + 0xb50]
mov r9b, byte [rdx]
mov r10b, 0xf8
xor r10b, 0xf8
xor edx, edx
cmp r9b, r10b
mov r9d, ecx
mov dword [rbp + 0x854], r9d
mov qword [rbp + 0x858], r8
mov dword [rbp + 0x860], edx
mov dword [rbp + 0xb5c], ecx
mov qword [rbp + 0xb60], rax
jne case.0x140169377.17
mov eax, dword [rbp + 0x854]
mov rcx, qword [rbp + 0x858]
mov edx, dword [rbp + 0x860]
mov dword [rbp + 0x844], edx
mov dword [rbp + 0x848], eax
test edx, edx
mov qword [rbp + 0xae8], rcx
mov dword [rbp + 0xaf4], eax
je 0x140166d63
jmp 0x1401691ab
mov eax, dword [rbp + 0x848]
mov ecx, dword [rbp + 0x844]
mov rdx, qword [rbp + 0xb40]
mov r8, qword [rbp + 0xb50]
mov r9d, ecx
sub r9d, 0x1b
mov r9d, eax
mov dword [rbp + 0x840], r9d
mov qword [rbp + 0xaf8], r8
mov qword [rbp + 0xb00], rdx
mov dword [rbp + 0xb08], ecx
mov dword [rbp + 0xb0c], eax
je 0x14016922f
jmp 0x1401692f6
mov rax, qword [rbp + 0xb50]
mov ecx, dword [rbp + 0xb4c]
mov edx, dword [rbp + 0xb30]
cmp edx, 0x80000006
mov edx, ecx
mov dword [rbp + 0x840], edx
mov dword [rbp + 0xb5c], ecx
mov qword [rbp + 0xb60], rax
je case.0x140169377.17
mov eax, dword [rbp + 0x840]
mov dword [rbp + 0x83c], eax
movabs rcx, 0x9c6b1ec810121eed
movabs rax, 0x9c6b1ec810121ead
xor rcx, rax
movabs rdx, 0x750aa67832819773
movabs rax, 0x750aa6783281977b
xor rdx, rax
sub rsp, 0x20
call fcn.1400129fd
add rsp, 0x20
mov rcx, rax
mov rax, qword [0x14025a780]
mov qword [rcx], rax
lea rax, [0x140259cd1]
mov qword [rcx + 0x10], rax
mov rax, qword [0x140259d68]
mov qword [rcx + 0x18], rax
mov rax, qword [0x140259d70]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
lea rdx, [0x140259cd1]
lea r8, [0x140259ce2]
lea r9, [0x140259cea]
sub rsp, 0x30
mov qword [rsp + 0x20], 0xffffffffe0e1a0fa
call fcn.140012522
mov ecx, dword [rbp + 0x83c]
mov rax, qword [rbp + 0xb50]
add rsp, 0x30
mov dword [rbp + 0xb5c], ecx
mov qword [rbp + 0xb60], rax
jmp case.0x140169377.17
mov rcx, qword [rbp + 0xaf8]
mov rdx, qword [rbp + 0xb00]
mov eax, dword [rbp + 0xb08]
mov r8d, dword [rbp + 0xb0c]
mov dword [rbp + 0x818], r8d
mov dword [rbp + 0x81c], eax
mov qword [rbp + 0x820], rdx
mov qword [rbp + 0x828], rcx
mov ecx, eax
mov qword [rbp + 0x830], rcx
sub eax, 0x1a
ja case.0x140169377.1
mov ecx, dword [rbp + 0x818]
mov rdx, qword [rbp + 0x828]
mov rax, qword [rbp + 0x830]
lea r8, [0x14016faa8]
movsxd rax, dword [r8 + rax*4]
add rax, r8
mov r8d, ecx
mov dword [rbp + 0xb5c], r8d
mov qword [rbp + 0xb60], rdx
mov dword [rbp + 0xb9c], ecx
jmp rax
mov eax, dword [rbp + 0x818]
mov rcx, qword [rbp + 0x820]
mov rdx, qword [rbp + 0x828]
mov qword [rbp + 0xb70], rdx
mov qword [rbp + 0xb78], rcx
mov dword [rbp + 0xb80], eax
jmp 0x140166706
mov eax, dword [rbp + 0xb5c]
mov rcx, qword [rbp + 0xb60]
mov dword [rbp + 0x814], eax
sub rsp, 0x20
call fcn.14001d422
mov eax, dword [rbp + 0x814]
add rsp, 0x20
mov dword [rbp + 0xb9c], eax
mov rax, qword [rbp + 0xf40]
mov rcx, qword [rbp + 0x1438]
mov edx, dword [rbp + 0xb9c]
mov dword [rbp + 0x800], edx
mov dl, byte [rcx]
mov byte [rbp + 0x807], dl
mov dl, 0x31
xor dl, 0x31
mov byte [rcx], dl
mov rax, qword [rax]
mov qword [rbp + 0x808], rax
cmp rax, 0
jle 0x140169454
mov rcx, qword [rbp + 0x808]
mov rax, qword [0x14025a7c0]
sub rsp, 0x20
call qword [rax]
mov rcx, qword [rbp + 0x1438]
add rsp, 0x20
mov eax, dword [rbp + 0x800]
mov dl, byte [rcx]
mov r8b, 0xaf
xor r8b, 0xaf
mov cl, 1
cmp dl, r8b
mov byte [rbp + 0xbbb], cl
mov dword [rbp + 0xbbc], eax
jne 0x140169602
mov eax, dword [0x14024b0e0]
mov ecx, dword [0x14024b0e4]
add eax, 0x24d04d69
sub eax, ecx
sub eax, 0x24d04d69
and eax, 0xc753c0a6
mov ecx, 0x76951462
xor edx, edx
div ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0xdcac13c1
mov r8d, 0xffffffff
xor r8d, 0xdcac13c1
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov r8d, 0xab64b999
xor r8d, 0x77c8aa58
mov edx, eax
and edx, r8d
or eax, 0xdcac13c1
imul eax, edx
add eax, ecx
cmp eax, 0xcc8d04bc
je 0x14016f9c7
mov eax, dword [0x14024b0e8]
mov ecx, dword [0x14024b0ec]
xor ecx, 0x446e29a1
xor eax, ecx
mov r8d, 0xffffffff
xor r8d, 0x952d939d
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x952d939d
or eax, 0x952d939d
imul eax, edx
add eax, ecx
mov ecx, 0xf94618e7
xor ecx, 0x42f1da51
or eax, ecx
mov edx, 0x813eeb80
xor edx, 0xe634aa73
mov ecx, eax
and ecx, edx
shl ecx, 1
xor eax, 0x670a41f3
add eax, ecx
cmp eax, 0x9c9420a8
ja 0x14016f9c7
mov eax, dword [rbp + 0x800]
mov cl, byte [rbp + 0x807]
mov byte [rbp + 0xbbb], cl
mov dword [rbp + 0xbbc], eax
jmp 0x140169602
mov rax, qword [rbp + 0xbf0]
mov qword [rbp + 0x7f8], rax
sub rsp, 0x20
call fcn.140008d37
mov r8, qword [rbp + 0x1438]
mov rdx, qword [rbp + 0x7f8]
mov rcx, qword [rbp + 0xc18]
mov rax, qword [rbp + 0xc08]
add rsp, 0x20
mov r8b, byte [r8]
mov byte [rbp + 0xc3f], r8b
mov qword [rbp + 0xc40], rdx
mov qword [rbp + 0xc48], rcx
mov qword [rbp + 0xc50], rax
mov r9d, dword [rbp + 0xc58]
mov r10, qword [rbp + 0x1438]
mov al, byte [rbp + 0xc3f]
mov rcx, qword [rbp + 0xc40]
mov rdx, qword [rbp + 0xc48]
mov r8, qword [rbp + 0xc50]
mov r11b, 0x7a
xor r11b, 0x7a
mov byte [r10], r11b
mov dword [rbp + 0x7d4], r9d
mov qword [rbp + 0x7d8], r8
mov qword [rbp + 0x7e0], rdx
mov qword [rbp + 0x7e8], rcx
mov byte [rbp + 0x7f7], al
jmp 0x140169729
mov rcx, qword [rbp + 0xbe8]
mov rdx, qword [rbp + 0xc18]
mov r8, qword [rbp + 0xc08]
mov r10, qword [rbp + 0xbc8]
mov r11, qword [rbp + 0x1438]
mov al, byte [rbp + 0xbbb]
mov r9d, dword [rbp + 0xbbc]
mov dword [rbp + 0x7cc], r9d
mov byte [rbp + 0x7d3], al
mov byte [r11], 0
cmp r10, 0
mov dword [rbp + 0x7d4], r9d
mov qword [rbp + 0x7d8], r8
mov qword [rbp + 0x7e0], rdx
mov qword [rbp + 0x7e8], rcx
mov byte [rbp + 0x7f7], al
je 0x140169729
mov al, byte [rbp + 0x7d3]
mov rcx, qword [rbp + 0xbe8]
mov rdx, qword [rbp + 0xc18]
mov r8, qword [rbp + 0xc08]
mov r9d, dword [rbp + 0x7cc]
mov r11, qword [rbp + 0xbc8]
movabs r10, 0x4000000000000000
and r10, qword [r11]
cmp r10, 0
mov dword [rbp + 0x7d4], r9d
mov qword [rbp + 0x7d8], r8
mov qword [rbp + 0x7e0], rdx
mov qword [rbp + 0x7e8], rcx
mov byte [rbp + 0x7f7], al
jne 0x140169729
mov rcx, qword [rbp + 0xbc8]
sub rsp, 0x20
call fcn.14000f4df
mov r9d, dword [rbp + 0x7cc]
mov r8, qword [rbp + 0xc08]
mov rdx, qword [rbp + 0xc18]
mov rcx, qword [rbp + 0xbe8]
mov al, byte [rbp + 0x7d3]
add rsp, 0x20
mov dword [rbp + 0x7d4], r9d
mov qword [rbp + 0x7d8], r8
mov qword [rbp + 0x7e0], rdx
mov qword [rbp + 0x7e8], rcx
mov byte [rbp + 0x7f7], al
mov edx, dword [rbp + 0x7d4]
mov r8, qword [rbp + 0x7d8]
mov r9, qword [rbp + 0x7e0]
mov rax, qword [rbp + 0x7e8]
mov cl, byte [rbp + 0x7f7]
mov byte [rbp + 0x7a7], cl
mov qword [rbp + 0x7a8], rax
mov qword [rbp + 0x7b0], r9
mov qword [rbp + 0x7b8], r8
mov dword [rbp + 0x7c4], edx
cmp cl, 0
sete cl
mov byte [rbp + 0x7cb], cl
cmp rax, 0
je 0x1401697fd
mov rax, qword [rbp + 0x7a8]
mov rax, qword [rax]
movabs rdx, 0x9be1e59081808840
movabs rcx, 0x9be1e59081808841
xor rdx, rcx
mov rcx, rax
add rcx, rdx
xor rax, 0xffffffffffffffff
movabs rdx, 0x3409a9b5ff4f7030
movabs r8, 0x7409a9b5ff4f7030
xor rdx, r8
or rax, rdx
add rax, rcx
movabs rcx, 0x3213dadf12d01ed4
movabs rdx, 0x3213dadf12d01ed4
xor rcx, rdx
cmp rax, rcx
jne 0x1401697fd
mov rcx, qword [rbp + 0x7a8]
sub rsp, 0x20
call fcn.14000f4df
add rsp, 0x20
mov rax, qword [rbp + 0x7b0]
cmp rax, 0
je 0x140169840
mov rcx, qword [rbp + 0x7b0]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
cmp rax, 0
jne 0x140169840
mov rcx, qword [rbp + 0x7b0]
sub rsp, 0x20
call fcn.14000f4df
add rsp, 0x20
mov rax, qword [rbp + 0x7b8]
cmp rax, 0
je 0x1401698cf
mov rax, qword [rbp + 0x7b8]
mov rcx, qword [rax]
mov rax, rcx
xor rax, 0xffffffffffffffff
mov rdx, 0xffffffffffffffff
movabs r8, 0x4000000000000000
xor rdx, r8
or rax, rdx
xor rcx, 0xffffffffffffffff
mov rdx, 0xffffffffffffffff
movabs r8, 0x4000000000000000
xor rdx, r8
or rcx, rdx
and rax, rcx
movabs rcx, 0x2bbcfa110cedfbe7
movabs rdx, 0xd44305eef3120418
xor rcx, rdx
xor rax, rcx
cmp rax, 0
jne 0x1401698cf
mov rcx, qword [rbp + 0x7b8]
sub rsp, 0x20
call fcn.14000f4df
add rsp, 0x20
mov rcx, qword [rbp + 0xf08]
sub rsp, 0x20
call fcn.1400c7640
mov rax, qword [rbp + 0x1438]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140169937
mov al, byte [rbp + 0x7cb]
mov rcx, qword [rbp + 0x1438]
mov dl, byte [rbp + 0x7a7]
mov byte [rcx], dl
test al, 1
jne 0x140169915
jmp 0x140169937
jmp 0x14016998c
mov eax, dword [rbp + 0x818]
mov ecx, dword [rbp + 0x81c]
mov dword [rbp + 0x79c], ecx
mov dword [rbp + 0x7a0], eax
jmp 0x140169a5c
sub rsp, 0x20
call fcn.1401593ac
add rsp, 0x20
mov rax, qword [rax]
mov qword [rbp + 0x790], rax
cmp word [rax + 0x12], 1
jle 0x14016998c
mov rax, qword [rbp + 0x790]
mov rax, qword [rax + 0x18]
cmp dword [rax + 8], 0xc5722261
jne 0x14016998c
mov rax, qword [rbp + 0x1438]
mov cl, 0xb6
xor cl, 0xb6
mov byte [rax], cl
sub rsp, 0x20
call fcn.1401594a0
add rsp, 0x20
mov rax, qword [rbp + 0xc28]
cmp rax, 0
je 0x140169a1e
mov rax, qword [rbp + 0xc28]
mov rax, qword [rax]
or rax, rax
xor rax, 0xffffffffffffffff
movabs rcx, 0x4000000000000000
movabs rdx, 0x4000000000000000
or rcx, rdx
xor rcx, 0xffffffffffffffff
movabs rdx, 0x2d986b987382b187
movabs r8, 0xd26794678c7d4e78
xor rdx, r8
xor rax, rdx
xor rcx, 0xffffffffffffffff
and rax, rcx
movabs rcx, 0x345cad6ef08ef9ed
movabs rdx, 0x345cad6ef08ef9ed
xor rcx, rdx
cmp rax, rcx
jne 0x140169a1e
mov rcx, qword [rbp + 0xc28]
sub rsp, 0x20
call fcn.14000f4df
add rsp, 0x20
mov eax, dword [rbp + 0x7c4]
mov rcx, qword [rbp + 0x1438]
mov r8b, byte [rcx]
mov r9b, 0x26
xor r9b, 0x26
xor edx, edx
mov cl, 1
cmp r8b, r9b
mov dword [rbp + 0x79c], edx
mov edx, eax
mov dword [rbp + 0x7a0], edx
mov byte [rbp + 0x78b], cl
mov dword [rbp + 0x78c], eax
jne 0x140169b7b
mov eax, dword [rbp + 0x79c]
mov ecx, dword [rbp + 0x7a0]
mov dword [rbp + 0x780], ecx
mov dword [rbp + 0x784], eax
mov eax, dword [0x14024b0f0]
xor eax, 0x3973fb5
xor edx, edx
div dword [0x14024b0f4]
mov r8d, eax
xor r8d, 0x87852220
or r8d, 0x24257a50
mov ecx, r8d
xor ecx, 0xffffffff
mov eax, 0x30c1f2a3
xor eax, 0x6108b5c9
and eax, ecx
mov edx, 0xffffffff
xor edx, 0x51c9476a
and r8d, edx
mov ecx, 0xffffffff
xor ecx, 0x35725ec3
and ecx, 0x51c9476a
and edx, 0x35725ec3
or eax, r8d
or ecx, edx
xor eax, ecx
mov ecx, 0x94d5a46f
xor ecx, 0x7336006c
cmp eax, ecx
jae 0x14016f9d0
mov ecx, dword [0x14024b0f8]
xor ecx, dword [0x14024b0fc]
mov eax, ecx
and eax, 0x4c9e1339
xor ecx, 0x4c9e1339
or eax, ecx
and eax, 0x24360640
mov ecx, 0x1d50f823
xor ecx, 0x41770107
and eax, ecx
cmp eax, 0x649453df
jae 0x140169ae9
mov eax, dword [rbp + 0x780]
mov ecx, dword [rbp + 0x784]
test ecx, ecx
mov dword [rbp + 0xc68], eax
je 0x140165c16
jmp 0x140169b40
mov eax, dword [rbp + 0x780]
mov ecx, dword [rbp + 0x784]
sub ecx, 0xb
mov dword [rbp + 0xc5c], eax
jne 0x140169c36
jmp 0x140169b60
mov rcx, qword [rbp + 0x1438]
mov eax, dword [rbp + 0xc5c]
mov cl, byte [rcx]
mov byte [rbp + 0x78b], cl
mov dword [rbp + 0x78c], eax
mov rdx, qword [rbp + 0x1438]
mov rcx, qword [rbp + 0x1160]
mov rax, qword [rbp + 0xee8]
mov r8b, byte [rbp + 0x78b]
mov r9d, dword [rbp + 0x78c]
mov dword [rbp + 0x778], r9d
mov byte [rbp + 0x77f], r8b
mov byte [rdx], 0
mov rdx, qword [rax]
mov qword [rcx], rdx
mov rax, qword [rax + 8]
mov qword [rcx + 8], rax
sub rsp, 0x20
call fcn.1400180fc
mov rcx, qword [rbp + 0xee0]
call fcn.1400c7640
mov rax, qword [rbp + 0x1438]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140169c25
mov al, byte [rbp + 0x77f]
mov rdx, qword [rbp + 0x1438]
mov cl, 0xdf
xor cl, 0xdf
mov byte [rdx], al
cmp al, cl
jne 0x140169c25
mov eax, dword [rbp + 0x778]
mov rcx, qword [rbp + 0xc70]
add rcx, 1
mov qword [rbp + 0xec0], rcx
mov dword [rbp + 0xecc], eax
jmp 0x140165a8a
mov eax, dword [rbp + 0x778]
mov dword [rbp + 0xed8], eax
jmp 0x14016f750
mov eax, dword [rbp + 0x780]
mov ecx, dword [rbp + 0x784]
cmp ecx, 2
mov dword [rbp + 0xed8], eax
je 0x14016f750
jmp 0x14016f854
mov rsi, qword [rbp + 0x13c0]
mov rdi, qword [rbp + 0x13b0]
mov rbx, qword [rbp + 0x1340]
mov r14, qword [rbp + 0x1370]
mov r15, qword [rbp + 0x1380]
mov r12, qword [rbp + 0x1378]
mov r13, qword [rbp + 0x1360]
mov rcx, qword [rbp + 0x1168]
mov eax, dword [rbp + 0xed0]
mov dword [rbp + 0x524], eax
mov edx, 0x30
sub rsp, 0x20
call fcn.14015930c
mov rax, qword [rbp + 0x1170]
add rsp, 0x20
movabs rcx, 0xdf1219d614503f67
movabs rdx, 0xdf1219d614503f66
xor rcx, rdx
mov qword [rax], rcx
movabs rcx, 0x95ac8b9c811d8edd
movabs rax, 0x95ac8b9c811d8edc
xor rcx, rax
movabs rdx, 0x897c20028d5c549a
movabs rax, 0x897c20028d5c548a
xor rdx, rax
movabs r8, 0xe68c0ed72cee0892
movabs rax, 0xe68c0ed72cee089a
xor r8, rax
sub rsp, 0x20
call fcn.1400193c0
mov rdx, qword [rbp + 0x1180]
mov rcx, qword [rbp + 0x1178]
mov r8, qword [rbp + 0x1170]
add rsp, 0x20
mov r9, rax
mov rax, qword [rbp + 0x1440]
mov qword [r8 + 8], r9
mov r8, qword [rax]
mov qword [rdx], r8
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.14001c002
mov rdx, qword [rbp + 0x1178]
mov rcx, qword [rbp + 0x1170]
mov r11, qword [rbp + 0x1398]
mov r10, qword [rbp + 0x13a8]
mov r9, qword [rbp + 0x13e0]
mov eax, dword [rbp + 0x524]
add rsp, 0x20
mov r8, qword [rdx]
mov rdx, qword [rdx + 8]
mov rcx, qword [rcx + 8]
mov qword [rcx + 8], r8
mov r8, qword [rbp + 0x13f0]
mov qword [rcx + 0x10], rdx
mov rdx, qword [rbp + 0x1400]
mov rcx, qword [rbp + 0x1188]
add rcx, 8
mov qword [rbp + 0x528], rcx
mov rcx, qword [rbp + 0x1198]
add rcx, 8
mov qword [rbp + 0x530], rcx
mov rcx, qword [rbp + 0x11e0]
add rcx, 8
mov qword [rbp + 0x538], rcx
mov rcx, qword [rbp + 0x11f0]
add rcx, 8
mov qword [rbp + 0x540], rcx
mov rcx, qword [rbp + 0x11e8]
add rcx, 8
mov qword [rbp + 0x548], rcx
mov rcx, qword [rbp + 0x11f8]
add rcx, 8
mov qword [rbp + 0x550], rcx
mov rcx, qword [rbp + 0x1208]
add rcx, 8
mov qword [rbp + 0x558], rcx
mov rcx, qword [rbp + 0x1200]
add rcx, 8
mov qword [rbp + 0x560], rcx
mov rcx, qword [rbp + 0x1210]
add rcx, 8
mov qword [rbp + 0x568], rcx
mov rcx, qword [rbp + 0x11a8]
add rcx, 2
mov qword [rbp + 0x570], rcx
mov rcx, qword [rbp + 0x1220]
add rcx, 8
mov qword [rbp + 0x578], rcx
mov rcx, qword [rbp + 0x1218]
add rcx, 8
mov qword [rbp + 0x580], rcx
mov rcx, qword [rbp + 0x1228]
add rcx, 8
mov qword [rbp + 0x588], rcx
mov rcx, qword [rbp + 0x11a8]
add rcx, 8
mov qword [rbp + 0x590], rcx
mov rcx, qword [rbp + 0x11c0]
add rcx, 0x10
mov qword [rbp + 0x598], rcx
mov rcx, qword [rbp + 0x11c0]
add rcx, 0x18
mov qword [rbp + 0x5a0], rcx
mov rcx, qword [rbp + 0x11c0]
add rcx, 8
mov qword [rbp + 0x5a8], rcx
mov rcx, qword [rbp + 0x11c0]
add rcx, 0x20
mov qword [rbp + 0x5b0], rcx
mov rcx, qword [rbp + 0x11c0]
add rcx, 0x28
mov qword [rbp + 0x5b8], rcx
mov rcx, qword [rbp + 0x1230]
add rcx, 8
mov qword [rbp + 0x5c0], rcx
mov rcx, qword [rbp + 0x1238]
add rcx, 8
mov qword [rbp + 0x5c8], rcx
mov rcx, qword [rbp + 0x1240]
add rcx, 8
mov qword [rbp + 0x5d0], rcx
mov rcx, qword [rbp + 0x11d0]
add rcx, 8
mov qword [rbp + 0x5d8], rcx
mov rcx, qword [rbp + 0x1270]
add rcx, 8
mov qword [rbp + 0x5e0], rcx
mov rcx, qword [rbp + 0x1280]
add rcx, 8
mov qword [rbp + 0x5e8], rcx
mov rcx, qword [rbp + 0x1278]
add rcx, 8
mov qword [rbp + 0x5f0], rcx
mov rcx, qword [rbp + 0x1290]
add rcx, 8
mov qword [rbp + 0x5f8], rcx
mov rcx, qword [rbp + 0x1288]
add rcx, 8
mov qword [rbp + 0x600], rcx
mov rcx, qword [rbp + 0x1268]
add rcx, 8
mov qword [rbp + 0x608], rcx
mov rcx, qword [rbp + 0x1268]
add rcx, 0x10
mov qword [rbp + 0x610], rcx
mov rcx, qword [rbp + 0x12a0]
add rcx, 8
mov qword [rbp + 0x618], rcx
mov rcx, qword [rbp + 0x12a8]
add rcx, 8
mov qword [rbp + 0x620], rcx
mov rcx, qword [rbp + 0x1298]
add rcx, 8
mov qword [rbp + 0x628], rcx
mov rcx, qword [rbp + 0x1268]
add rcx, 0x18
mov qword [rbp + 0x630], rcx
mov rcx, qword [rbp + 0x1268]
add rcx, 0x20
mov qword [rbp + 0x638], rcx
mov rcx, qword [rbp + 0x1268]
add rcx, 0x28
mov qword [rbp + 0x640], rcx
mov rcx, qword [rbp + 0x1190]
add rcx, 0x18
mov qword [rbp + 0x648], rcx
mov rcx, qword [rbp + 0x1478]
add rcx, 0x24
mov qword [rbp + 0x650], rcx
mov rcx, qword [rbp + 0x12d8]
add rcx, 8
mov qword [rbp + 0x658], rcx
mov rcx, qword [rbp + 0x12e8]
add rcx, 8
mov qword [rbp + 0x660], rcx
mov rcx, qword [rbp + 0x12c0]
add rcx, 8
mov qword [rbp + 0x668], rcx
mov rcx, qword [rbp + 0x12d0]
add rcx, 8
mov qword [rbp + 0x670], rcx
mov rcx, qword [rbp + 0x1478]
add rcx, 0x58
mov qword [rbp + 0x678], rcx
mov rcx, qword [rbp + 0x1478]
add rcx, 0x60
mov qword [rbp + 0x680], rcx
mov rcx, qword [rbp + 0x1168]
add rcx, 0x28
mov qword [rbp + 0x688], rcx
mov rcx, qword [rbp + 0x1168]
add rcx, 8
mov qword [rbp + 0x690], rcx
mov rcx, qword [rbp + 0x1308]
add rcx, 8
mov qword [rbp + 0x698], rcx
mov rcx, qword [rbp + 0x1318]
add rcx, 8
mov qword [rbp + 0x6a0], rcx
mov rcx, qword [rbp + 0x1328]
add rcx, 8
mov qword [rbp + 0x6a8], rcx
mov rcx, qword [rbp + 0x1330]
add rcx, 8
mov qword [rbp + 0x6b0], rcx
mov rcx, qword [rbp + 0x1470]
add rcx, 8
mov qword [rbp + 0x6b8], rcx
mov rcx, qword [rbp + 0x1478]
add rcx, 8
mov qword [rbp + 0x6c0], rcx
mov rcx, qword [rbp + 0x1348]
add rcx, 8
mov qword [rbp + 0x6c8], rcx
mov rcx, qword [rbp + 0x1358]
add rcx, 8
mov qword [rbp + 0x6d0], rcx
mov rcx, qword [rbp + 0x1350]
add rcx, 8
mov qword [rbp + 0x6d8], rcx
mov rcx, qword [rbp + 0x1368]
add rcx, 8
mov qword [rbp + 0x6e0], rcx
mov rcx, qword [rbp + 0x1410]
add r13, 8
mov qword [rbp + 0x6e8], r13
mov r13, rbx
add r13, 8
mov qword [rbp + 0x6f0], r13
mov r13, rbx
add r13, 0x10
mov qword [rbp + 0x6f8], r13
add r12, 8
mov qword [rbp + 0x700], r12
add r15, 8
mov qword [rbp + 0x708], r15
add r14, 8
mov qword [rbp + 0x710], r14
mov r14, rbx
add r14, 0x18
mov qword [rbp + 0x718], r14
mov r14, rbx
add r14, 0x20
mov qword [rbp + 0x720], r14
add rbx, 0x28
mov qword [rbp + 0x728], rbx
add rdi, 8
mov qword [rbp + 0x730], rdi
add rsi, 8
mov qword [rbp + 0x738], rsi
add r11, 8
mov qword [rbp + 0x740], r11
add r10, 8
mov qword [rbp + 0x748], r10
add r9, 8
mov qword [rbp + 0x750], r9
add r8, 8
mov qword [rbp + 0x758], r8
add rdx, 8
mov qword [rbp + 0x760], rdx
add rcx, 8
mov qword [rbp + 0x768], rcx
mov dword [rbp + 0x774], eax
mov rcx, qword [rbp + 0x1170]
mov eax, dword [rbp + 0x774]
mov dword [rbp + 0x51c], eax
cmp qword [rcx], 0
mov dword [rbp + 0x520], eax
jle 0x14016f407
mov eax, dword [0x14024b100]
xor eax, dword [0x14024b104]
or eax, 0x1ad24c48
mov ecx, 0x4610b51a
xor ecx, 0x63068d7
and eax, ecx
imul eax, eax, 0x7f7f5ce9
cmp eax, 0x6e9478fb
je 0x14016f9d9
mov rcx, qword [rbp + 0x1188]
mov rdx, qword [rbp + 0x1170]
mov eax, dword [0x14024b108]
mov r8d, 0x2739c4b0
xor r8d, 0x58a30153
xor eax, r8d
add eax, dword [0x14024b10c]
mov r10d, 0xffffffff
xor r10d, 0xbb7780c
mov r9d, eax
and r9d, r10d
mov r8d, eax
or r8d, r10d
xor r8d, 0xffffffff
imul r8d, r9d
mov r9d, eax
and r9d, 0xbb7780c
mov r10d, 0x46742bd5
xor r10d, 0x4dc353d9
or eax, r10d
imul eax, r9d
add eax, r8d
add eax, 0xf9e6c9ff
mov r8d, 0x7260db86
xor r8d, 0x93bea8da
imul eax, r8d
mov dword [rbp + 0x50c], eax
sub rsp, 0x20
call fcn.14016fb20
mov rdx, qword [rbp + 0x1188]
mov rax, qword [rbp + 0x528]
mov rcx, qword [rbp + 0x1190]
add rsp, 0x20
mov rdx, qword [rdx]
mov qword [rbp + 0x4f8], rdx
mov rax, qword [rax]
mov qword [rbp + 0x500], rax
mov edx, 0x30
sub rsp, 0x20
call fcn.14015930c
mov rcx, qword [rbp + 0x1190]
add rsp, 0x20
mov edx, 0x30
sub rsp, 0x20
call fcn.14015930c
mov rdx, qword [rbp + 0x1198]
mov rax, qword [rbp + 0x530]
mov rcx, qword [rbp + 0x11a0]
add rsp, 0x20
mov qword [rdx], 0
mov qword [rax], 0
mov ax, 0x8319
xor ax, 0x8ac7
mov word [rcx], ax
sub rsp, 0x20
call fcn.140064b20
mov rcx, qword [rbp + 0x1438]
add rsp, 0x20
mov rdx, rax
mov eax, dword [rbp + 0x50c]
mov qword [rbp + 0x510], rdx
mov cl, byte [rcx]
mov dl, 0xf4
xor dl, 0xf4
cmp cl, dl
sete cl
mov byte [rbp + 0x51b], cl
cmp eax, 0x49d10cb2
ja 0x14016a2bd
mov dl, byte [rbp + 0x51b]
mov cl, 1
xor eax, eax
test dl, 1
mov byte [rbp + 0x4df], cl
mov rcx, rax
mov qword [rbp + 0x4e0], rcx
mov rcx, rax
mov qword [rbp + 0x4e8], rcx
mov qword [rbp + 0x4f0], rax
jne 0x14016a44e
jmp 0x14016eb5c
mov rcx, qword [rbp + 0x1198]
mov rax, qword [rbp + 0x4f8]
mov rdx, qword [rbp + 0x510]
mov rdx, qword [rdx]
movabs r8, 0x378b3ab957fa0262
movabs r9, 0xc874c546a805fd9d
xor r8, r9
xor rax, r8
xor r8d, r8d
sub r8, 1
sub rax, r8
sub rdx, rax
sub rsp, 0x20
call fcn.140019920
mov rax, qword [rbp + 0x510]
mov rdx, qword [rbp + 0x11d8]
mov rcx, qword [rbp + 0x1198]
add rsp, 0x20
mov r8, qword [rax]
mov qword [rdx], r8
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.14015a900
mov r9, qword [rbp + 0x4f8]
mov r8, qword [rbp + 0x500]
mov rax, qword [rbp + 0x538]
mov rdx, qword [rbp + 0x11e0]
mov rcx, qword [rbp + 0x1198]
add rsp, 0x20
mov qword [rdx], r9
mov qword [rax], r8
sub rsp, 0x20
call fcn.14015a900
mov r9, qword [rbp + 0x1198]
mov r8, qword [rbp + 0x530]
mov rax, qword [rbp + 0x540]
mov rdx, qword [rbp + 0x11f0]
mov rcx, qword [rbp + 0x11e8]
add rsp, 0x20
mov r9, qword [r9]
mov qword [rbp + 0x4b8], r9
mov r8, qword [r8]
mov qword [rbp + 0x4c0], r8
mov qword [rdx], r9
mov qword [rax], r8
sub rsp, 0x20
call fcn.14016fdc0
mov r8, qword [rbp + 0x11e8]
mov rdx, qword [rbp + 0x548]
mov rax, qword [rbp + 0x1438]
mov rcx, qword [rbp + 0x4c0]
add rsp, 0x20
mov r8, qword [r8]
mov qword [rbp + 0x4c8], r8
mov rdx, qword [rdx]
mov qword [rbp + 0x4d0], rdx
mov r8b, byte [rax]
mov r9b, 0xc9
xor r9b, 0xc9
mov dl, 1
xor eax, eax
cmp r8b, r9b
mov byte [rbp + 0x4df], dl
mov qword [rbp + 0x4e0], rcx
mov rcx, rax
mov qword [rbp + 0x4e8], rcx
mov qword [rbp + 0x4f0], rax
jne 0x14016eb5c
mov rdx, qword [rbp + 0x4d0]
mov rcx, qword [rbp + 0x11f8]
mov rax, qword [rbp + 0x550]
mov r8, qword [rbp + 0x4c8]
mov qword [rcx], r8
mov qword [rax], rdx
sub rsp, 0x20
call fcn.14016ff30
mov r9, qword [rbp + 0x1438]
mov rdx, qword [rbp + 0x4c0]
mov rcx, qword [rbp + 0x4d0]
add rsp, 0x20
mov qword [rbp + 0x4b0], rax
mov r8b, 1
xor eax, eax
cmp byte [r9], 0
mov byte [rbp + 0x4df], r8b
mov qword [rbp + 0x4e0], rdx
mov qword [rbp + 0x4e8], rcx
mov qword [rbp + 0x4f0], rax
jne 0x14016eb5c
mov r8, qword [rbp + 0x11b0]
mov rcx, qword [rbp + 0x4b0]
movabs rdx, 0x36b11053daf86c57
movabs rax, 0x36b11053daf86c55
xor rdx, rax
sub rsp, 0x20
call fcn.140170148
add rsp, 0x20
mov cl, al
xor eax, eax
test cl, 1
mov qword [rbp + 0x4a8], rax
jne 0x14016eb0c
mov r8, qword [rbp + 0x4c0]
mov rcx, qword [rbp + 0x1200]
mov rdx, qword [rbp + 0x1208]
mov rax, qword [rbp + 0x558]
mov r9, qword [rbp + 0x4b8]
mov r10, qword [rbp + 0x11a8]
mov r11, qword [rbp + 0x11b0]
mov r11, qword [r11]
mov word [r10], r11w
mov qword [rdx], r9
mov qword [rax], r8
sub rsp, 0x20
call fcn.14016fdc0
mov r8, qword [rbp + 0x1200]
mov rax, qword [rbp + 0x560]
mov r9, qword [rbp + 0x1438]
mov rdx, qword [rbp + 0x4c0]
mov rcx, qword [rbp + 0x4d0]
add rsp, 0x20
mov r8, qword [r8]
mov qword [rbp + 0x498], r8
mov rax, qword [rax]
mov qword [rbp + 0x4a0], rax
mov r8b, 1
xor eax, eax
cmp byte [r9], 0
mov byte [rbp + 0x4df], r8b
mov qword [rbp + 0x4e0], rdx
mov qword [rbp + 0x4e8], rcx
mov qword [rbp + 0x4f0], rax
jne 0x14016eb5c
mov rdx, qword [rbp + 0x4a0]
mov rcx, qword [rbp + 0x1210]
mov rax, qword [rbp + 0x568]
mov r8, qword [rbp + 0x498]
mov qword [rcx], r8
mov qword [rax], rdx
sub rsp, 0x20
call fcn.14016ff30
mov r9, qword [rbp + 0x1438]
mov rdx, qword [rbp + 0x4c0]
mov rcx, qword [rbp + 0x4d0]
add rsp, 0x20
mov r8, rax
mov rax, qword [rbp + 0x4a0]
mov qword [rbp + 0x490], r8
mov r8b, 1
cmp byte [r9], 0
mov byte [rbp + 0x4df], r8b
mov qword [rbp + 0x4e0], rdx
mov qword [rbp + 0x4e8], rcx
mov qword [rbp + 0x4f0], rax
jne 0x14016eb5c
mov r8, qword [rbp + 0x11b8]
mov rcx, qword [rbp + 0x490]
mov edx, 2
sub rsp, 0x20
call fcn.140170148
add rsp, 0x20
mov cl, al
mov rax, qword [rbp + 0x4a0]
test cl, 1
mov qword [rbp + 0x4a8], rax
jne 0x14016eb0c
mov rax, qword [rbp + 0x4a0]
mov rcx, qword [rbp + 0x11b8]
mov rdx, qword [rcx]
mov r8, rdx
and r8, 2
movabs rcx, 0xcc8116d05da2736
movabs r9, 0xcc8116d05da2734
xor rcx, r9
imul r8, rcx
movabs r9, 0xd0e0daee89431971
movabs rcx, 0xd0e0daee89431973
xor r9, rcx
mov rcx, rdx
xor rcx, r9
add rcx, r8
mov qword [rbp + 0x488], rcx
movabs r8, 0xe6dc7a8e9f6170fc
movabs r9, 0x19238571609e8f03
xor r8, r9
xor rdx, r8
and rcx, rdx
cmp rcx, 0
mov qword [rbp + 0x4a8], rax
jl 0x14016eb0c
mov r8, qword [rbp + 0x4c0]
mov rcx, qword [rbp + 0x1218]
mov rdx, qword [rbp + 0x1220]
mov rax, qword [rbp + 0x578]
mov r9, qword [rbp + 0x4b8]
mov r10, qword [rbp + 0x570]
mov r11, qword [rbp + 0x488]
mov word [r10], r11w
mov qword [rdx], r9
mov qword [rax], r8
sub rsp, 0x20
call fcn.14016fdc0
mov r10, qword [rbp + 0x1218]
mov r8, qword [rbp + 0x580]
mov r9, qword [rbp + 0x1438]
mov rdx, qword [rbp + 0x4c0]
mov rcx, qword [rbp + 0x4d0]
mov rax, qword [rbp + 0x4a0]
add rsp, 0x20
mov r10, qword [r10]
mov qword [rbp + 0x478], r10
mov r8, qword [r8]
mov qword [rbp + 0x480], r8
mov r8b, 1
cmp byte [r9], 0
mov byte [rbp + 0x4df], r8b
mov qword [rbp + 0x4e0], rdx
mov qword [rbp + 0x4e8], rcx
mov qword [rbp + 0x4f0], rax
jne 0x14016eb5c
mov rcx, qword [rbp + 0x1228]
mov rax, qword [rbp + 0x588]
mov rdx, qword [rbp + 0x480]
mov r8, qword [rbp + 0x478]
mov qword [rcx], r8
mov qword [rax], rdx
sub rsp, 0x20
call fcn.140170230
mov rdx, qword [rbp + 0x1438]
add rsp, 0x20
mov rcx, rax
mov eax, dword [rbp + 0x51c]
mov qword [rbp + 0x468], rcx
mov cl, 1
cmp byte [rdx], 0
mov byte [rbp + 0x473], cl
mov dword [rbp + 0x474], eax
jne 0x14016eba1
mov eax, dword [0x14024b110]
mov ecx, dword [0x14024b114]
mov edx, 0x39ae2374
xor edx, 0xfec83442
xor ecx, edx
xor edx, edx
div ecx
mov ecx, 0xd47220cb
xor edx, edx
div ecx
mov ecx, 0x65b53d17
xor ecx, 0xce4655fc
xor eax, ecx
xor ecx, ecx
sub ecx, 0x5072e051
sub eax, ecx
cmp eax, 0xf1fb0d05
jb 0x14016f9e2
mov rdi, qword [rbp + 0x11c0]
mov rsi, qword [rbp + 0x11a8]
mov rcx, qword [rbp + 0x468]
mov eax, dword [0x14024b118]
xor edx, edx
div dword [0x14024b11c]
mov r8d, 0xf15e0391
xor edx, edx
div r8d
mov edx, eax
mov rax, qword [rbp + 0x590]
imul r10d, edx, 0x7cb3aa2a
mov edx, 0x76c585e6
xor edx, 0x893a7a19
mov r8d, r10d
xor r8d, edx
mov edx, 0x9e3b2c85
xor edx, 0xf5b28fcd
and edx, r8d
mov r9d, 0xffffffff
xor r9d, 0x6b89a348
and r10d, r9d
mov r8d, 0xffffffff
xor r8d, 0x922a1dc2
and r8d, 0x6b89a348
and r9d, 0x922a1dc2
or edx, r10d
or r8d, r9d
xor edx, r8d
mov dword [rbp + 0x45c], edx
mov qword [rax], rcx
mov edx, 0x30
sub rsp, 0x20
mov rcx, rdi
call fcn.14015930c
mov r11, qword [rbp + 0x598]
mov r10, qword [rbp + 0x5a0]
mov r9, qword [rbp + 0x5a8]
mov r8, qword [rbp + 0x5b0]
mov rdx, qword [rbp + 0x5b8]
mov rax, qword [rbp + 0x11c8]
mov rcx, qword [rbp + 0x11d0]
add rsp, 0x20
mov ebx, 0x626674a5
xor ebx, 0x62667495
mov dword [rdi], ebx
mov qword [r11], rsi
mov dword [r10], 0x40
movabs r10, 0x2b3356ccf89cb3d0
movabs r11, 0x2b3356ccf89cb3d0
xor r10, r11
mov qword [r9], r10
mov qword [r8], 0
mov qword [rdx], 0
movabs rdx, 0x35227e23d718b0b3
movabs r8, 0x35227e23d718b0b3
xor rdx, r8
mov qword [rax], rdx
movabs rdx, 0x319f8a863137a858
movabs rax, 0x319f8a863137a848
xor rdx, rax
sub rsp, 0x20
call fcn.14015930c
mov rcx, qword [rbp + 0x11c8]
mov r8, qword [rbp + 0x11c0]
mov r9, qword [rbp + 0x11d0]
add rsp, 0x20
mov edx, 0x80000000
mov rax, qword [0x14025a7e0]
sub rsp, 0x30
mov dword [rsp + 0x20], 7
mov dword [rsp + 0x28], 1
call qword [rax]
mov rcx, qword [rbp + 0x1438]
add rsp, 0x30
mov edx, eax
mov eax, dword [rbp + 0x45c]
mov dword [rbp + 0x460], edx
cmp byte [rcx], 0
sete cl
mov byte [rbp + 0x467], cl
cmp eax, 0x5c62869
je 0x14016f9e2
mov eax, dword [rbp + 0x51c]
mov dl, byte [rbp + 0x467]
mov cl, 1
test dl, 1
mov byte [rbp + 0x473], cl
mov dword [rbp + 0x474], eax
jne 0x14016ab97
jmp 0x14016eba1
mov rdx, qword [rbp + 0x1230]
mov ecx, dword [rbp + 0x460]
mov rax, qword [rbp + 0x5c0]
mov r8, qword [rbp + 0x500]
mov r9, qword [rbp + 0x4f8]
mov qword [rdx], r9
mov qword [rax], r8
sub rsp, 0x20
call fcn.1400c3640
mov rdx, qword [rbp + 0x1438]
mov eax, dword [rbp + 0x51c]
add rsp, 0x20
mov cl, 1
cmp byte [rdx], 0
mov byte [rbp + 0x473], cl
mov dword [rbp + 0x474], eax
jne 0x14016eba1
mov rdx, qword [rbp + 0x1238]
mov ecx, dword [rbp + 0x460]
mov rax, qword [rbp + 0x5c8]
mov r8, qword [rbp + 0x500]
mov r9, qword [rbp + 0x4f8]
mov qword [rdx], r9
mov qword [rax], r8
sub rsp, 0x20
call fcn.1400c6cf6
mov rdx, qword [rbp + 0x1438]
mov eax, dword [rbp + 0x51c]
add rsp, 0x20
mov cl, 1
cmp byte [rdx], 0
mov byte [rbp + 0x473], cl
mov dword [rbp + 0x474], eax
jne 0x14016eba1
mov r8, qword [rbp + 0x1240]
mov edx, dword [rbp + 0x460]
mov rax, qword [rbp + 0x5d0]
mov r9, qword [rbp + 0x500]
mov r10, qword [rbp + 0x4f8]
mov rcx, qword [rbp + 0x11c8]
mov rcx, qword [rcx]
mov qword [r8], r10
mov qword [rax], r9
sub rsp, 0x20
call fcn.1400c6da0
mov rdx, qword [rbp + 0x1438]
mov eax, dword [rbp + 0x51c]
add rsp, 0x20
mov cl, 1
cmp byte [rdx], 0
mov byte [rbp + 0x473], cl
mov dword [rbp + 0x474], eax
jne 0x14016eba1
mov rax, qword [rbp + 0x11c8]
mov rax, qword [rax]
movabs rcx, 0xca266d07a37ec786
movabs rdx, 0xca266d07a37ec787
xor rcx, rdx
cmp rax, rcx
jge 0x14016ad29
mov rdx, qword [rbp + 0x1248]
mov ecx, dword [rbp + 0x460]
mov rax, qword [0x140259d18]
mov qword [rdx], rax
mov rax, qword [0x140259d20]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.1400abe10
mov rdx, qword [rbp + 0x1438]
mov eax, dword [rbp + 0x51c]
add rsp, 0x20
mov cl, 1
cmp byte [rdx], 0
mov byte [rbp + 0x473], cl
mov dword [rbp + 0x474], eax
jne 0x14016eba1
mov rdx, qword [rbp + 0x1250]
mov ecx, dword [rbp + 0x460]
mov rax, qword [0x140259d18]
mov qword [rdx], rax
mov rax, qword [0x140259d20]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.1400abe10
mov rcx, qword [rbp + 0x1438]
mov eax, dword [rbp + 0x51c]
add rsp, 0x20
cmp byte [rcx], 0
mov dword [rbp + 0x458], eax
jne 0x14016e955
movabs rcx, 0x5ffb0d06c6f945ef
movabs rax, 0x5ffb0d06c6f8912f
xor rcx, rax
sub rsp, 0x20
call fcn.14000bbdd
add rsp, 0x20
mov rdx, rax
mov eax, dword [rbp + 0x51c]
mov r8d, 0x1d4c0
mov cl, 1
mov qword [rbp + 0x440], r8
mov qword [rbp + 0x448], rdx
mov byte [rbp + 0x453], cl
mov dword [rbp + 0x454], eax
mov rdx, qword [rbp + 0x440]
mov r8, qword [rbp + 0x448]
mov cl, byte [rbp + 0x453]
mov eax, dword [rbp + 0x454]
mov qword [rbp + 0x428], r8
mov qword [rbp + 0x430], rdx
mov byte [rbp + 0x43b], cl
mov dword [rbp + 0x43c], eax
mov r11, qword [rbp + 0x428]
mov rsi, qword [rbp + 0x11d0]
mov rcx, qword [rbp + 0x11c8]
mov r10b, byte [rbp + 0x43b]
mov eax, dword [rbp + 0x43c]
mov dword [rbp + 0x414], eax
mov byte [rbp + 0x413], r10b
mov rax, qword [0x14025a808]
mov rax, qword [rax]
mov rcx, qword [rcx]
xor edx, edx
mov r9d, edx
xor edx, edx
sub rsp, 0x60
mov rdx, r9
mov r8, r9
mov qword [rsp + 0x20], rsi
mov qword [rsp + 0x28], r11
mov dword [rsp + 0x30], 0x1d4c0
mov dword [rsp + 0x38], 3
mov dword [rsp + 0x40], 0
mov qword [rsp + 0x48], 0
mov byte [rsp + 0x50], r10b
call rax
mov rdx, qword [rbp + 0x1438]
mov ecx, dword [rbp + 0x414]
add rsp, 0x60
mov r8d, eax
mov rax, qword [rbp + 0x428]
mov dword [rbp + 0x418], r8d
cmp byte [rdx], 0
mov dword [rbp + 0x41c], ecx
mov qword [rbp + 0x420], rax
jne 0x14016e92f
mov eax, dword [rbp + 0x418]
cmp eax, 0x103
mov dword [rbp + 0x40c], eax
jne 0x14016b169
mov rcx, qword [rbp + 0x1258]
mov edx, 8
sub rsp, 0x20
call fcn.14015930c
mov rcx, qword [rbp + 0x11c8]
mov r8, qword [rbp + 0x1258]
add rsp, 0x20
mov qword [r8], 0xffffffffffb3b4c0
mov rax, qword [0x14025a838]
mov rax, qword [rax]
mov rcx, qword [rcx]
mov edx, 1
sub rsp, 0x20
call rax
add rsp, 0x20
mov ecx, eax
mov rax, qword [rbp + 0x1438]
mov dword [rbp + 0x408], ecx
mov al, byte [rax]
mov cl, 0x92
xor cl, 0x92
cmp al, cl
jne 0x14016b14a
mov eax, dword [rbp + 0x408]
test eax, eax
je 0x14016b087
jmp 0x14016af40
mov eax, dword [rbp + 0x408]
sub eax, 0x102
jne 0x14016b00a
jmp 0x14016af56
movabs rcx, 0x67d9959146ef2f56
movabs rax, 0x67d9959146ef2f16
xor rcx, rax
movabs rdx, 0xea45d519cc8b40cf
movabs rax, 0xea45d519cc8b40c7
xor rdx, rax
sub rsp, 0x20
call fcn.1400129fd
add rsp, 0x20
mov rcx, rax
mov rax, qword [0x14025a780]
mov qword [rcx], rax
lea rax, [0x140259cd1]
mov qword [rcx + 0x10], rax
mov rax, qword [0x140259d68]
mov qword [rcx + 0x18], rax
mov rax, qword [0x140259d70]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
movabs rax, 0x54d07aaf1bfaa715
movabs rdx, 0xab2f8550ea5b5be8
xor rax, rdx
lea rdx, [0x140259cd1]
lea r8, [0x140259ce2]
lea r9, [0x140259cea]
sub rsp, 0x30
mov qword [rsp + 0x20], rax
call fcn.140012522
add rsp, 0x30
jmp 0x14016b14a
mov ecx, 0x40
mov edx, 8
sub rsp, 0x20
call fcn.1400129fd
add rsp, 0x20
mov rcx, rax
mov rax, qword [0x14025a780]
mov qword [rcx], rax
lea rax, [0x140259cd1]
mov qword [rcx + 0x10], rax
mov rax, qword [0x140259d68]
mov qword [rcx + 0x18], rax
mov rax, qword [0x140259d70]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
lea rdx, [0x140259cd1]
lea r8, [0x140259ce2]
lea r9, [0x140259cea]
sub rsp, 0x30
mov qword [rsp + 0x20], 0xffffffff925db149
call fcn.140012522
add rsp, 0x30
jmp 0x14016b14a
mov eax, dword [0x14024b120]
xor eax, dword [0x14024b124]
and eax, 0x207dbda4
sub eax, 0x73d2d5ae
sub eax, 0x236fc676
add eax, 0x73d2d5ae
mov ecx, 0xbd22bb20
xor ecx, 0x82d7ec6d
imul eax, ecx
cmp eax, 0x4d4e8727
jb 0x14016f9eb
mov eax, dword [0x14024b128]
mov ecx, dword [0x14024b12c]
mov edx, 0x1cc1c96d
xor edx, 0x371f6898
xor ecx, edx
xor edx, edx
div ecx
mov rdx, qword [rbp + 0x11d0]
mov ecx, 0x5659e1ad
xor ecx, 0xb7b2a60e
imul eax, ecx
mov ecx, 0x1152fa54
xor ecx, 0xee8d3608
add eax, ecx
sub eax, 0x22e2afb1
mov ecx, 0x3a0e9739
xor ecx, 0xc5d15b65
sub eax, ecx
mov ecx, 0x21c8ce67
xor ecx, 0xbc7c0fe9
sub eax, ecx
mov ecx, 0x6c42cfb9
xor ecx, 0xf27eab10
mov edx, dword [rdx]
mov dword [rbp + 0x404], edx
cmp eax, ecx
je 0x14016f9eb
mov eax, dword [rbp + 0x404]
mov dword [rbp + 0x40c], eax
jmp 0x14016b169
mov rax, qword [rbp + 0x428]
mov ecx, dword [rbp + 0x414]
mov dword [rbp + 0x41c], ecx
mov qword [rbp + 0x420], rax
jmp 0x14016e92f
mov rdx, qword [rbp + 0x5d8]
mov ecx, dword [rbp + 0x40c]
mov dword [rbp + 0x3fc], ecx
mov eax, ecx
sub eax, 0x80000005
sete al
test ecx, ecx
sete cl
mov byte [rbp + 0x403], cl
mov rdx, qword [rdx]
test rdx, rdx
sete dl
and cl, dl
or al, cl
test al, 1
jne 0x14016b1ab
jmp 0x14016b3ed
mov r8, qword [rbp + 0x1260]
mov rcx, qword [rbp + 0x430]
movabs rdx, 0x1cb3cbacab8dffd5
movabs rax, 0x1cb3cbacab8dffd7
xor rdx, rax
sub rsp, 0x20
call fcn.140170148
add rsp, 0x20
test al, 1
jne 0x14016b1ea
jmp 0x14016b223
sub rsp, 0x20
call fcn.140008d37
mov rdx, qword [rbp + 0x430]
mov rcx, qword [rbp + 0x428]
add rsp, 0x20
mov eax, 0x5c
mov qword [rbp + 0x3e8], rdx
mov qword [rbp + 0x3f0], rcx
mov dword [rbp + 0x3f8], eax
jmp 0x14016b3b4
mov rax, qword [rbp + 0x1260]
mov rax, qword [rax]
mov qword [rbp + 0x3e0], rax
cmp rax, 0x100000
jl 0x14016b2f7
mov ecx, 0x40
mov edx, 8
sub rsp, 0x20
call fcn.1400129fd
add rsp, 0x20
mov rcx, rax
mov rax, qword [0x14025a748]
mov qword [rcx], rax
lea rax, [0x140259c58]
mov qword [rcx + 0x10], rax
mov rax, qword [0x140259d68]
mov qword [rcx + 0x18], rax
mov rax, qword [0x140259d70]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
movabs rax, 0xcc5fbb4e24537fd
movabs rdx, 0xf33a044b761961c3
xor rax, rdx
lea rdx, [0x140259c58]
lea r8, [0x140259ce2]
lea r9, [0x140259cea]
sub rsp, 0x30
mov qword [rsp + 0x20], rax
call fcn.140012522
mov rdx, qword [rbp + 0x430]
mov rcx, qword [rbp + 0x428]
add rsp, 0x30
mov eax, 0x5c
mov qword [rbp + 0x3e8], rdx
mov qword [rbp + 0x3f0], rcx
mov dword [rbp + 0x3f8], eax
jmp 0x14016b3b4
mov rcx, qword [rbp + 0x428]
sub rsp, 0x20
call fcn.14001d422
mov rax, qword [rbp + 0x3e0]
add rsp, 0x20
movabs rcx, 0x40c6e7275ffcd12e
movabs rdx, 0x40c6e7275ffcd12e
xor rcx, rdx
cmp rax, rcx
jge 0x14016b37d
mov rcx, qword [rbp + 0x3e0]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.14000db87
mov rdx, qword [rbp + 0x3e0]
add rsp, 0x20
xor eax, eax
mov ecx, eax
mov eax, 0x5c
mov qword [rbp + 0x3e8], rdx
mov qword [rbp + 0x3f0], rcx
mov dword [rbp + 0x3f8], eax
jmp 0x14016b3b4
mov rcx, qword [rbp + 0x3e0]
sub rsp, 0x20
call fcn.14000bbdd
mov rdx, qword [rbp + 0x3e0]
add rsp, 0x20
mov rcx, rax
mov eax, 0x65
mov qword [rbp + 0x3e8], rdx
mov qword [rbp + 0x3f0], rcx
mov dword [rbp + 0x3f8], eax
mov eax, dword [rbp + 0x414]
mov r8, qword [rbp + 0x3e8]
mov rdx, qword [rbp + 0x3f0]
mov ecx, dword [rbp + 0x3f8]
mov qword [rbp + 0x3c8], r8
mov qword [rbp + 0x3d0], rdx
mov dword [rbp + 0x3d8], ecx
mov dword [rbp + 0x3dc], eax
jmp 0x14016e85e
mov eax, dword [rbp + 0x414]
mov rcx, qword [rbp + 0x428]
mov dl, byte [rbp + 0x403]
test dl, 1
mov qword [rbp + 0x3b8], rcx
mov dword [rbp + 0x3c4], eax
jne 0x14016b41b
jmp 0x14016e746
mov rcx, qword [rbp + 0x3b8]
mov eax, dword [rbp + 0x3c4]
mov dword [rbp + 0x39c], eax
mov qword [rbp + 0x3a0], rcx
mov rdx, rcx
add rdx, 0x3c
mov qword [rbp + 0x3a8], rdx
cmp dword [rcx + 0x3c], 0
mov dword [rbp + 0x3b4], eax
je 0x14016e61d
mov rax, qword [rbp + 0x3a0]
mov rcx, rax
add rcx, 0x38
mov qword [rbp + 0x390], rcx
mov ecx, dword [rax + 0x38]
and ecx, 0x10
sub rsp, 0x20
call fcn.1400a24bc
mov rcx, qword [rbp + 0x1438]
add rsp, 0x20
mov r8b, byte [rcx]
test r8b, r8b
sete cl
and cl, al
mov edx, 0xed1b6040
xor edx, 0xed1b602b
mov eax, 0xece39c8a
xor eax, 0xece39cd6
cmp r8b, 0
cmove eax, edx
test cl, 1
mov dword [rbp + 0x398], eax
jne 0x14016b4bd
jmp 0x14016cfbf
mov rax, qword [rbp + 0x3a8]
mov eax, dword [rax]
mov dword [rbp + 0x38c], eax
sub eax, 2
je 0x14016b7dd
jmp 0x14016b4da
mov eax, dword [rbp + 0x38c]
sub eax, 4
jne 0x14016b85a
jmp 0x14016b4ee
mov rax, qword [rbp + 0x3a0]
mov rcx, rax
add rcx, 0x5e
mov qword [rbp + 0x380], rcx
mov ax, word [rax + 0x5e]
mov word [rbp + 0x38a], ax
cmp ax, 0xff
jbe 0x14016b570
mov ax, word [rbp + 0x38a]
movzx eax, ax
mov ecx, eax
movabs rdx, 0x33ff0d33ac38d10a
movabs rax, 0x33ff0d33ac38d10a
xor rdx, rax
movabs r8, 0x2bdc3a8ee53e20e9
movabs rax, 0x2bdc3a8ee53e2016
xor r8, rax
sub rsp, 0x20
call fcn.14000db87
mov eax, dword [rbp + 0x39c]
add rsp, 0x20
mov dword [rbp + 0x37c], eax
jmp 0x14016cf5b
mov ax, word [rbp + 0x38a]
cmp ax, 0x2e
jne 0x14016b8f8
mov rax, qword [rbp + 0x380]
movabs rcx, 0x2578c6954c9d3236
sub rax, rcx
add rax, 2
movabs rcx, 0x2578c6954c9d3236
add rax, rcx
mov ax, word [rax]
mov word [rbp + 0x37a], ax
mov cx, 0xc508
xor cx, 0xc5f7
cmp ax, cx
jbe 0x14016b7b0
mov ecx, dword [0x14024b130]
mov edx, dword [0x14024b134]
mov eax, ecx
or eax, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
mov r8d, 0x177c75b0
xor r8d, 0xe8838a4f
xor edx, r8d
and ecx, edx
or eax, ecx
xor eax, 0xffffffff
mov ecx, eax
or ecx, 0xb1500c5a
mov edx, 0x1513cc80
xor edx, 0xeaec337f
xor ecx, edx
mov edx, 0x662dcfab
xor edx, 0x99d23054
xor eax, edx
mov edx, 0xffffffff
xor edx, 0xb1500c5a
and eax, edx
or ecx, eax
xor ecx, 0xffffffff
mov edx, 0x3e425a02
xor edx, 0x1a8593c1
mov eax, ecx
and eax, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x24c7c9c3
or ecx, edx
and eax, ecx
mov ecx, 0x6169cd64
xor ecx, 0x9e96329b
xor eax, ecx
mov r8d, 0xc2967a72
xor r8d, 0x1dac34f8
mov ecx, 0x7e03ea17
xor ecx, 0x81fc15e8
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, 0xdf3a4e8a
or eax, 0xdf3a4e8a
imul eax, edx
add eax, ecx
cmp eax, 0xc7fb0e16
ja 0x14016f9f4
mov ax, word [rbp + 0x37a]
mov edx, dword [0x14024b138]
mov ecx, dword [0x14024b13c]
mov r8d, 0x406938e0
xor r8d, 0xf7600559
xor ecx, r8d
add edx, ecx
mov ecx, edx
xor ecx, 0xffffffff
mov r8d, edx
xor r8d, 0xffffffff
or ecx, r8d
and ecx, 0xedddff80
mov r8d, 0x52c6b2da
xor r8d, 0xad394d25
xor ecx, r8d
mov r8d, 0xffffffff
xor r8d, 0xedddff80
mov r9d, 0x7f98a4a
xor r9d, 0xea2475ca
mov r10d, 0x15f4b2f6
xor r10d, 0xea0b4d09
xor r9d, r10d
or r8d, r9d
mov r9d, 0x8ae7f470
xor r9d, 0x75180b8f
xor edx, r9d
xor r8d, 0xffffffff
or edx, r8d
and ecx, edx
xor ecx, 0xffffffff
imul edx, ecx, 0xe1f429d4
mov ecx, edx
xor ecx, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0xe51d707f
or ecx, r8d
xor edx, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0xe51d707f
or edx, r8d
and ecx, edx
mov edx, 0xc953e6ab
xor edx, 0x36ac1954
xor ecx, edx
mov dword [rbp + 0x374], ecx
movzx eax, ax
mov ecx, eax
xor eax, eax
mov edx, eax
mov r8d, 0xff
sub rsp, 0x20
call fcn.14000db87
mov eax, dword [rbp + 0x374]
add rsp, 0x20
cmp eax, 0xc78d0093
ja 0x14016f9f4
mov eax, dword [rbp + 0x39c]
mov dword [rbp + 0x37c], eax
jmp 0x14016cf5b
mov eax, dword [rbp + 0x39c]
mov dx, word [rbp + 0x37a]
mov ecx, 0x6a
cmp dx, 0x2e
mov dword [rbp + 0x36c], ecx
mov dword [rbp + 0x370], eax
je 0x14016cfa2
jmp 0x14016b8f8
mov rax, qword [rbp + 0x3a0]
mov ax, word [rax + 0x5e]
mov word [rbp + 0x36a], ax
cmp ax, 0xff
jbe 0x14016b82d
mov ax, word [rbp + 0x36a]
movzx eax, ax
mov ecx, eax
xor eax, eax
mov edx, eax
mov r8d, 0xff
sub rsp, 0x20
call fcn.14000db87
mov eax, dword [rbp + 0x39c]
add rsp, 0x20
mov dword [rbp + 0x37c], eax
jmp 0x14016cf5b
mov eax, dword [rbp + 0x39c]
mov dx, word [rbp + 0x36a]
mov ecx, 0x6a
cmp dx, 0x2e
mov dword [rbp + 0x36c], ecx
mov dword [rbp + 0x370], eax
je 0x14016cfa2
jmp 0x14016b8f8
mov eax, dword [rbp + 0x38c]
cmp eax, 0xffffffff
jge 0x14016b8f8
mov eax, dword [rbp + 0x38c]
xor edx, edx
sub edx, eax
shr edx, 1
mov ecx, 0x776a6c22
xor ecx, 0x776a6c22
mov eax, 0x6639792b
xor eax, 0x99c686d4
xor ecx, eax
and ecx, edx
mov eax, 0xdeab016a
xor eax, 0x2154fe95
xor edx, eax
mov eax, 0x8557a18d
xor eax, 0x8557a18d
and eax, edx
sub eax, ecx
movsxd rcx, eax
movabs rdx, 0xdad5d59bd1f6fc06
movabs rax, 0xdad5d59bd1f6fc06
xor rdx, rax
movabs r8, 0x85bb9e440b363c0f
movabs rax, 0xfa4461bbf4c9c3f0
xor r8, rax
sub rsp, 0x20
call fcn.14000db87
mov eax, dword [rbp + 0x39c]
add rsp, 0x20
mov dword [rbp + 0x37c], eax
jmp 0x14016cf5b
mov rcx, qword [rbp + 0x1270]
mov eax, dword [rbp + 0x38c]
mov rdx, qword [rbp + 0x3a0]
add rdx, 0x5e
mov qword [rbp + 0x350], rdx
mov r8d, 0x903edf2
xor r8d, 0x903edf0
cdq
idiv r8d
mov rdx, qword [rbp + 0x350]
mov eax, eax
mov r8d, eax
sub rsp, 0x20
call fcn.1400a7cd0
mov r8, qword [rbp + 0x1270]
mov rcx, qword [rbp + 0x5e0]
mov rdx, qword [rbp + 0x1438]
mov eax, dword [rbp + 0x39c]
add rsp, 0x20
mov r8, qword [r8]
mov qword [rbp + 0x358], r8
mov rcx, qword [rcx]
mov qword [rbp + 0x360], rcx
mov ecx, 0x5c
cmp byte [rdx], 0
mov dword [rbp + 0x36c], ecx
mov dword [rbp + 0x370], eax
jne 0x14016cfa2
mov eax, dword [0x14024b140]
mov r8d, dword [0x14024b144]
mov edx, r8d
xor edx, 0xffffffff
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, r8d
add eax, edx
sub eax, ecx
mov ecx, 0xffffffff
xor ecx, 0xca51939
add eax, ecx
add eax, 1
mov ecx, 0x928377b6
xor edx, edx
div ecx
mov ecx, 0x5fb218ae
xor ecx, 0x3688623c
add eax, ecx
cmp eax, 0xdaffc910
jae 0x14016f9fd
mov rcx, qword [rbp + 0x1278]
mov r8, qword [rbp + 0x360]
mov r9, qword [rbp + 0x358]
mov ebx, dword [0x14024b148]
mov edi, dword [0x14024b14c]
mov edx, ebx
xor edx, 0xffffffff
mov r10d, edi
xor r10d, 0xffffffff
mov r11d, 0x79f9fd36
xor r11d, 0xd0586b53
mov eax, 0x4058d34d
xor eax, 0xbfa72cb2
xor r11d, eax
mov eax, edx
and eax, 0xa9a19665
and ebx, r11d
mov esi, r10d
and esi, 0xa9a19665
and edi, r11d
or eax, ebx
or esi, edi
xor eax, esi
or edx, r10d
mov r10d, 0x26562a97
xor r10d, 0xd9a9d568
xor edx, r10d
mov r10d, 0x76292557
xor r10d, 0xdf88b332
or r10d, r11d
and edx, r10d
or eax, edx
mov edx, 0x4b5b011f
xor edx, 0xb5401d67
and edx, eax
xor edx, 0xffffffff
add eax, 0xfe1b1c78
mov r10d, 0x893945c8
xor r10d, 0x893945c9
add eax, r10d
add eax, edx
mov r10d, 0x896b73e1
xor edx, edx
div r10d
mov rdx, qword [rbp + 0x1280]
mov r10d, eax
mov rax, qword [rbp + 0x5e8]
mov r11d, 0x597ec22f
xor r11d, 0x528a64fa
imul r10d, r11d
mov dword [rbp + 0x334], r10d
mov qword [rdx], r9
mov qword [rax], r8
sub rsp, 0x20
call fcn.140170330
mov r8, qword [rbp + 0x1278]
mov rdx, qword [rbp + 0x5f0]
mov rcx, qword [rbp + 0x1438]
mov eax, dword [rbp + 0x334]
add rsp, 0x20
mov r8, qword [r8]
mov qword [rbp + 0x338], r8
mov rdx, qword [rdx]
mov qword [rbp + 0x340], rdx
cmp byte [rcx], 0
sete cl
mov byte [rbp + 0x34f], cl
cmp eax, 0xf9c13eaa
je 0x14016f9fd
mov eax, dword [rbp + 0x39c]
mov dl, byte [rbp + 0x34f]
xor ecx, ecx
test dl, 1
mov qword [rbp + 0x328], rcx
mov dword [rbp + 0x330], eax
jne 0x14016bb43
jmp 0x14016cd77
mov rcx, qword [rbp + 0x340]
mov r8, qword [rbp + 0x338]
mov rsi, qword [rbp + 0x500]
mov rdi, qword [rbp + 0x4f8]
mov rbx, qword [rbp + 0x610]
mov r15, qword [rbp + 0x608]
mov r14, qword [rbp + 0x600]
mov r12, qword [rbp + 0x1288]
mov rdx, qword [rbp + 0x1290]
mov rax, qword [rbp + 0x5f8]
mov r9, qword [rbp + 0x1268]
mov byte [r9], 1
mov qword [rdx], r8
mov qword [rax], rcx
sub rsp, 0x20
mov rcx, r12
call fcn.14001c002
mov r11, qword [rbp + 0x618]
mov r10, qword [rbp + 0x338]
mov rax, qword [rbp + 0x620]
mov rdx, qword [rbp + 0x12a0]
mov r8, qword [rbp + 0x12a8]
mov rcx, qword [rbp + 0x1298]
mov r9, qword [rbp + 0x340]
add rsp, 0x20
mov r12, qword [r12]
mov r14, qword [r14]
mov qword [r15], r12
mov qword [rbx], r14
mov qword [rdx], rdi
mov qword [r11], rsi
mov qword [r8], r10
mov qword [rax], r9
sub rsp, 0x20
call fcn.1400979bd
mov r9, qword [rbp + 0x1298]
mov r8, qword [rbp + 0x628]
mov rdx, qword [rbp + 0x1438]
mov rcx, qword [rbp + 0x340]
mov eax, dword [rbp + 0x39c]
add rsp, 0x20
mov r9, qword [r9]
mov qword [rbp + 0x318], r9
mov r8, qword [r8]
mov qword [rbp + 0x320], r8
cmp byte [rdx], 0
mov qword [rbp + 0x328], rcx
mov dword [rbp + 0x330], eax
jne 0x14016cd77
mov rdx, qword [rbp + 0x1268]
mov rcx, qword [rbp + 0x1190]
mov rax, qword [rbp + 0x640]
mov r8, qword [rbp + 0x638]
mov r9, qword [rbp + 0x320]
mov r10, qword [rbp + 0x630]
mov r11, qword [rbp + 0x318]
mov qword [r10], r11
mov qword [r8], r9
movabs r8, 0x1a662c1aac5f6359
movabs r9, 0x1a662c1aac5f6359
xor r8, r9
mov qword [rax], r8
sub rsp, 0x20
call fcn.1400c7030
mov rdx, qword [rbp + 0x1438]
mov rcx, qword [rbp + 0x340]
mov eax, dword [rbp + 0x39c]
add rsp, 0x20
mov dl, byte [rdx]
mov r8b, 0xd9
xor r8b, 0xd9
cmp dl, r8b
mov qword [rbp + 0x328], rcx
mov dword [rbp + 0x330], eax
jne 0x14016cd77
mov rax, qword [rbp + 0x1190]
mov al, byte [rax]
cmp al, 1
mov byte [rbp + 0x317], al
jne 0x14016c143
mov rdx, qword [rbp + 0x12b8]
mov rcx, qword [rbp + 0x12b0]
mov rax, qword [rbp + 0x648]
mov r8, qword [rbp + 0x1440]
mov r9, qword [r8]
mov qword [rcx], r9
mov r8, qword [r8 + 8]
mov qword [rcx + 8], r8
mov r8, qword [rax]
mov qword [rdx], r8
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.1400c72bf
mov rdx, qword [rbp + 0x1438]
mov rcx, qword [rbp + 0x340]
add rsp, 0x20
mov r8, rax
mov eax, dword [rbp + 0x39c]
mov qword [rbp + 0x308], r8
cmp byte [rdx], 0
mov qword [rbp + 0x328], rcx
mov dword [rbp + 0x330], eax
jne 0x14016cd77
mov rcx, qword [rbp + 0x308]
mov rdx, 0xffffffffffffffff
xor rdx, 1
xor eax, eax
sub rax, 1
sub rdx, rax
mov rax, rcx
sub rax, rdx
mov qword [rbp + 0x300], rax
movabs r8, 0xfb78bf90c8263a35
movabs rdx, 0x487406f37d9c5ca
xor r8, rdx
mov rdx, rcx
xor rdx, r8
movabs r9, 0x2c28f144381d8170
movabs r8, 0xd3d70ebbc7e27e8f
xor r9, r8
mov r8, rcx
xor r8, r9
and rdx, r8
movabs r8, 0xe98af4f8946782eb
movabs r9, 0x16750b076b987d14
xor r8, r9
movabs r9, 0x91c7a157bfe334a5
movabs r10, 0x6e385ea8401ccb5a
xor r9, r10
xor r8, r9
movabs r9, 0x57c880a402096765
movabs r10, 0xa8377f5bfdf6989a
xor r9, r10
movabs r10, 0x6a5ce5453719aafe
movabs r11, 0x95a31abac8e65501
xor r10, r11
xor r9, r10
and r8, r9
xor rdx, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
and rdx, r8
or rcx, 0xffffffffffffffff
movabs r8, 0x6736e2be84544811
movabs r9, 0x98c91d417babb7ee
xor r8, r9
xor rcx, r8
movabs r8, 0xfaf2cca35d92ea2a
movabs r9, 0x50d335ca26d15d5
xor r8, r9
xor rdx, r8
xor rcx, 0xffffffffffffffff
and rdx, rcx
mov rcx, rax
xor rcx, rdx
xor rcx, 0xffffffffffffffff
or rax, rdx
and rax, rcx
movabs rcx, 0x97f308cdc1e63ab3
movabs rdx, 0x97f308cdc1e63ab3
xor rcx, rdx
cmp rax, rcx
jge 0x14016bede
sub rsp, 0x20
call fcn.140008d37
mov rcx, qword [rbp + 0x340]
mov eax, dword [rbp + 0x39c]
add rsp, 0x20
mov qword [rbp + 0x328], rcx
mov dword [rbp + 0x330], eax
jmp 0x14016cd77
mov rax, qword [rbp + 0x650]
mov eax, dword [rax]
mov dword [rbp + 0x2fc], eax
cmp eax, 0xffffffff
jne 0x14016bf67
mov rcx, qword [rbp + 0x12c0]
mov rdx, qword [rbp + 0x12c8]
mov rax, qword [rbp + 0x648]
mov r8, qword [rax]
mov qword [rdx], r8
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.14001c002
mov r9, qword [rbp + 0x12c0]
mov r8, qword [rbp + 0x668]
mov rax, qword [rbp + 0x670]
mov rcx, qword [rbp + 0x1170]
mov rdx, qword [rbp + 0x12d0]
add rsp, 0x20
mov r9, qword [r9]
mov r8, qword [r8]
mov qword [rdx], r9
mov qword [rax], r8
sub rsp, 0x20
call fcn.14001b440
add rsp, 0x20
jmp 0x14016c134
mov rax, qword [rbp + 0x300]
mov ecx, dword [rbp + 0x2fc]
movsxd rcx, ecx
cmp rax, rcx
jg 0x14016c134
mov ecx, dword [0x14024b150]
or ecx, dword [0x14024b154]
xor ecx, 0x165bac24
mov r8d, 0xffffffff
xor r8d, 0x6b1b5fe1
mov edx, ecx
and edx, r8d
mov eax, ecx
or eax, r8d
xor eax, 0xffffffff
imul eax, edx
mov edx, ecx
and edx, 0x6b1b5fe1
or ecx, 0x6b1b5fe1
imul ecx, edx
add ecx, eax
mov eax, ecx
and eax, 0x23de5113
mov edx, 0x63d4d304
xor edx, 0x400a8217
xor ecx, edx
or eax, ecx
cmp eax, 0xaa7212f3
jbe 0x14016fa06
mov rcx, qword [rbp + 0x12d8]
mov rdx, qword [rbp + 0x12e0]
mov rax, qword [rbp + 0x648]
mov r8d, dword [0x14024b158]
mov r10d, dword [0x14024b15c]
mov r11d, 0xd0aeba71
xor r11d, 0x2f51458e
mov r9d, r8d
xor r9d, r11d
mov r11d, r8d
xor r11d, 0xffffffff
or r9d, r11d
xor r9d, 0xffffffff
mov r11d, r10d
xor r11d, 0xffffffff
or r9d, r11d
and r10d, r10d
mov r11d, 0x3973fc6e
xor r11d, 0xc68c0391
xor r10d, r11d
xor r8d, 0xffffffff
xor r10d, 0xffffffff
or r8d, r10d
and r9d, r8d
mov r8d, 0x36f85382
xor r8d, 0xc907ac7d
xor r9d, r8d
mov r10d, 0xcc88ddf9
xor r10d, 0xdb033487
mov r8d, 0x5d048365
xor r8d, 0xa2fb7c9a
xor r10d, r8d
mov r8d, r9d
xor r8d, r10d
and r8d, r9d
mov r9d, 0x891a98f0
xor r9d, 0x470e0c10
imul r8d, r9d
mov r9d, 0xa91f55f7
xor r9d, 0x6380eaea
sub r8d, r9d
mov dword [rbp + 0x2f8], r8d
mov r8d, 0xab19bba5
xor r8d, 0x817a5d19
mov dword [rbp + 0x2f4], r8d
mov r8, qword [rax]
mov qword [rdx], r8
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.14001c002
mov r9, qword [rbp + 0x12d8]
mov r8, qword [rbp + 0x658]
mov rax, qword [rbp + 0x660]
mov rcx, qword [rbp + 0x1170]
mov rdx, qword [rbp + 0x12e8]
add rsp, 0x20
mov r9, qword [r9]
mov r8, qword [r8]
mov qword [rdx], r9
mov qword [rax], r8
sub rsp, 0x20
call fcn.14001b440
mov ecx, dword [rbp + 0x2f4]
mov eax, dword [rbp + 0x2f8]
add rsp, 0x20
cmp eax, ecx
jb 0x14016bfe3
jmp 0x14016c134
mov rax, qword [rbp + 0x1190]
mov al, byte [rax]
mov byte [rbp + 0x317], al
mov eax, dword [rbp + 0x39c]
mov rcx, qword [rbp + 0x340]
mov dl, byte [rbp + 0x317]
cmp dl, 2
mov qword [rbp + 0x328], rcx
mov dword [rbp + 0x330], eax
jae 0x14016cd77
mov rdx, qword [rbp + 0x1190]
mov rcx, qword [rbp + 0x1168]
sub rsp, 0x20
call fcn.1400c7030
mov rdx, qword [rbp + 0x1438]
mov rcx, qword [rbp + 0x340]
mov eax, dword [rbp + 0x39c]
add rsp, 0x20
mov dl, byte [rdx]
mov r8b, 0x11
xor r8b, 0x11
cmp dl, r8b
mov qword [rbp + 0x328], rcx
mov dword [rbp + 0x330], eax
jne 0x14016cd77
mov rcx, qword [rbp + 0x1190]
sub rsp, 0x20
call fcn.1400c7609
mov rax, qword [rbp + 0x1168]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0xc0
xor cl, 0xc1
cmp al, cl
jne 0x14016c58a
mov eax, dword [rbp + 0x39c]
mov rcx, qword [rbp + 0x340]
mov rdx, qword [rbp + 0x1478]
cmp byte [rdx], 0
mov qword [rbp + 0x328], rcx
mov dword [rbp + 0x330], eax
jne 0x14016cd77
mov eax, dword [rbp + 0x39c]
mov rcx, qword [rbp + 0x340]
mov rdx, qword [rbp + 0x650]
mov edx, dword [rdx]
mov r8d, 0x2035ec5b
xor r8d, 0x2035ec5a
cmp edx, r8d
mov qword [rbp + 0x328], rcx
mov dword [rbp + 0x330], eax
jne 0x14016cd77
mov rax, qword [rbp + 0x6c0]
mov rcx, qword [rax]
sub rsp, 0x20
xor eax, eax
mov edx, eax
call fcn.140053cd0
mov rdx, qword [rbp + 0x1438]
mov rcx, qword [rbp + 0x340]
add rsp, 0x20
mov r8b, al
mov eax, dword [rbp + 0x39c]
mov dl, byte [rdx]
test dl, dl
setne dl
or dl, r8b
test dl, 1
mov qword [rbp + 0x328], rcx
mov dword [rbp + 0x330], eax
jne 0x14016cd77
mov rax, qword [rbp + 0x6c0]
mov rcx, qword [rax]
sub rsp, 0x20
call fcn.140054541
mov rdx, qword [rbp + 0x1438]
mov rcx, qword [rbp + 0x340]
add rsp, 0x20
mov r8, rax
mov eax, dword [rbp + 0x39c]
mov dl, byte [rdx]
test dl, dl
sete dl
test r8, r8
setg r8b
and dl, r8b
test dl, 1
mov qword [rbp + 0x328], rcx
mov dword [rbp + 0x330], eax
jne 0x14016c2f3
jmp 0x14016cd77
mov rdx, qword [rbp + 0x12f0]
mov rax, qword [rbp + 0x690]
mov rcx, qword [rbp + 0x6c0]
mov rcx, qword [rcx]
movups xmm0, xmmword [rax]
movups xmmword [rdx], xmm0
sub rsp, 0x20
call fcn.1400545b0
mov rdx, qword [rbp + 0x1438]
mov rcx, qword [rbp + 0x340]
add rsp, 0x20
mov r8b, al
mov eax, dword [rbp + 0x39c]
mov dl, byte [rdx]
test dl, dl
sete dl
and dl, r8b
test dl, 1
mov qword [rbp + 0x328], rcx
mov dword [rbp + 0x330], eax
jne 0x14016c35a
jmp 0x14016cd77
mov rdx, qword [rbp + 0x12f8]
mov rax, qword [rbp + 0x690]
mov rcx, qword [rbp + 0x6c0]
mov rcx, qword [rcx]
mov r8, qword [rax]
mov qword [rdx], r8
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.140055150
mov rdx, qword [rbp + 0x1438]
mov rcx, qword [rbp + 0x340]
add rsp, 0x20
mov r8, rax
mov eax, dword [rbp + 0x39c]
mov qword [rbp + 0x2e8], r8
cmp byte [rdx], 0
mov qword [rbp + 0x328], rcx
mov dword [rbp + 0x330], eax
jne 0x14016cd77
mov rax, qword [rbp + 0x2e8]
mov rcx, qword [rax]
mov qword [rbp + 0x2e0], rcx
sub rsp, 0x20
xor eax, eax
mov dl, al
call fcn.140163b4b
mov rdx, qword [rbp + 0x1438]
mov rcx, qword [rbp + 0x340]
add rsp, 0x20
mov eax, dword [rbp + 0x39c]
mov dl, byte [rdx]
mov r8b, 0x83
xor r8b, 0x83
cmp dl, r8b
mov qword [rbp + 0x328], rcx
mov dword [rbp + 0x330], eax
jne 0x14016cd77
mov r8, qword [rbp + 0x1300]
mov rdx, qword [rbp + 0x2e0]
mov rcx, qword [rbp + 0x1480]
mov rax, qword [rbp + 0x1470]
mov r9, qword [rax]
mov qword [r8], r9
mov rax, qword [rax + 8]
mov qword [r8 + 8], rax
sub rsp, 0x20
call fcn.140164130
mov rdx, qword [rbp + 0x1438]
mov rcx, qword [rbp + 0x340]
add rsp, 0x20
mov r8d, eax
mov eax, dword [rbp + 0x39c]
mov dword [rbp + 0x2dc], r8d
cmp byte [rdx], 0
mov qword [rbp + 0x328], rcx
mov dword [rbp + 0x330], eax
jne 0x14016cd77
mov eax, dword [rbp + 0x2dc]
mov ecx, dword [rbp + 0x39c]
movsxd r8, ecx
movsxd rdx, eax
movabs rcx, 0xf2399463f1f4096e
movabs rax, 0xdc66b9c0e0bf691
xor rcx, rax
mov rax, r8
xor rax, rcx
xor ecx, ecx
sub rcx, 1
sub rax, rcx
mov rcx, rdx
sub rcx, rax
mov qword [rbp + 0x2d0], rcx
mov rax, rcx
xor rax, r8
xor rcx, rdx
and rax, rcx
movabs rcx, 0x3dbee5738efc2d5c
movabs rdx, 0x3dbee5738efc2d5c
xor rcx, rdx
cmp rax, rcx
jge 0x14016c51e
sub rsp, 0x20
call fcn.140008d37
mov rcx, qword [rbp + 0x340]
mov eax, dword [rbp + 0x39c]
add rsp, 0x20
mov qword [rbp + 0x328], rcx
mov dword [rbp + 0x330], eax
jmp 0x14016cd77
mov rax, qword [rbp + 0x2d0]
add rax, 0xffffffff80000000
movabs rcx, 0xffffffff00000000
cmp rax, rcx
jae 0x14016c56a
sub rsp, 0x20
call fcn.140008d37
mov rcx, qword [rbp + 0x340]
mov eax, dword [rbp + 0x39c]
add rsp, 0x20
mov qword [rbp + 0x328], rcx
mov dword [rbp + 0x330], eax
jmp 0x14016cd77
mov rcx, qword [rbp + 0x340]
mov rax, qword [rbp + 0x2d0]
mov qword [rbp + 0x328], rcx
mov dword [rbp + 0x330], eax
jmp 0x14016cd77
mov rax, qword [rbp + 0x678]
mov rax, qword [rax]
mov qword [rbp + 0x2c0], rax
xor eax, eax
mov qword [rbp + 0x2c8], rax
mov eax, dword [rbp + 0x39c]
mov rcx, qword [rbp + 0x340]
mov r8, qword [rbp + 0x2c0]
mov rdx, qword [rbp + 0x2c8]
mov qword [rbp + 0x2b8], rdx
cmp rdx, r8
mov qword [rbp + 0x328], rcx
mov dword [rbp + 0x330], eax
jge 0x14016cd77
mov rax, qword [rbp + 0x2b8]
mov rcx, qword [rbp + 0x678]
mov rcx, qword [rcx]
mov qword [rbp + 0x2b0], rcx
cmp rax, rcx
jl 0x14016c64a
mov rcx, qword [rbp + 0x2b8]
mov rdx, qword [rbp + 0x2b0]
xor eax, eax
sub rax, rdx
xor edx, edx
sub rdx, 0xffffffffffffffff
add rax, rdx
xor edx, edx
sub rdx, rax
sub rsp, 0x20
call fcn.140012b72
mov rcx, qword [rbp + 0x340]
mov eax, dword [rbp + 0x39c]
add rsp, 0x20
mov qword [rbp + 0x328], rcx
mov dword [rbp + 0x330], eax
jmp 0x14016cd77
mov rax, qword [rbp + 0x688]
mov rdx, qword [rbp + 0x2b8]
mov rcx, qword [rbp + 0x680]
mov rcx, qword [rcx]
add rcx, 8
shl rdx, 3
add rcx, rdx
mov qword [rbp + 0x2a0], rcx
mov rcx, qword [rax]
sub rsp, 0x20
call fcn.14009df5b
mov rdx, qword [rbp + 0x1438]
mov rcx, qword [rbp + 0x340]
add rsp, 0x20
mov r8b, al
mov eax, dword [rbp + 0x39c]
mov byte [rbp + 0x2af], r8b
cmp byte [rdx], 0
mov qword [rbp + 0x328], rcx
mov dword [rbp + 0x330], eax
jne 0x14016cd77
mov al, byte [rbp + 0x2af]
test al, 1
jne 0x14016c6cb
jmp 0x14016ccd0
mov rax, qword [rbp + 0x688]
mov rcx, qword [rbp + 0x2a0]
mov rcx, qword [rcx]
mov qword [rbp + 0x290], rcx
movsxd rcx, dword [rcx + 0x10]
mov rax, qword [rax]
mov qword [rbp + 0x298], rax
cmp rax, rcx
jl 0x14016ccd0
mov eax, dword [0x14024b160]
mov ecx, 0xb5245966
xor ecx, 0xdd10dd32
xor eax, ecx
xor edx, edx
div dword [0x14024b164]
mov ecx, 0xeec67d63
xor ecx, 0x9389038d
imul eax, ecx
mov ecx, eax
add ecx, 1
xor eax, 0xffffffff
mov edx, 0x9e15f698
xor edx, 0x840930fc
or eax, edx
add eax, ecx
mov ecx, eax
xor ecx, 0x177c15c0
mov edx, 0xffffffff
xor edx, 0x177c15c0
and eax, edx
shl eax, 1
sub eax, ecx
cmp eax, 0xad2f1f97
jbe 0x14016fa0f
mov rdx, qword [rbp + 0x298]
mov r8, qword [rbp + 0x290]
mov ecx, dword [0x14024b168]
mov r9d, dword [0x14024b16c]
mov eax, ecx
and eax, r9d
or ecx, r9d
add eax, ecx
or eax, 0x854b1842
sub eax, 0xa499a1fc
imul eax, eax, 0x9df1ee0b
mov ecx, 0x428f99ba
xor ecx, 0x9e9d9795
movsxd r8, dword [r8 + 0x14]
cmp rdx, r8
setg dl
mov byte [rbp + 0x28f], dl
cmp eax, ecx
ja 0x14016fa0f
mov al, byte [rbp + 0x28f]
test al, 1
jne 0x14016ccd0
jmp 0x14016c7ca
mov rcx, qword [rbp + 0x1308]
mov rdx, qword [rbp + 0x1310]
mov rax, qword [rbp + 0x690]
mov r8, qword [rax]
mov qword [rdx], r8
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.14001c002
mov r9, qword [rbp + 0x1308]
mov r8, qword [rbp + 0x698]
mov rax, qword [rbp + 0x2a0]
mov rdx, qword [rbp + 0x1320]
mov rcx, qword [rbp + 0x1318]
add rsp, 0x20
mov rsi, qword [r9]
mov r8, qword [r8]
mov qword [rbp + 0x280], r8
mov rax, qword [rax]
mov r8, qword [rax]
mov qword [rdx], r8
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.14001c002
mov r9, qword [rbp + 0x1318]
mov r8, qword [rbp + 0x6a0]
mov r11, qword [rbp + 0x280]
mov r10, qword [rbp + 0x6a8]
mov rax, qword [rbp + 0x6b0]
mov rcx, qword [rbp + 0x1328]
mov rdx, qword [rbp + 0x1330]
add rsp, 0x20
mov r9, qword [r9]
mov r8, qword [r8]
mov qword [rcx], rsi
mov qword [r10], r11
mov qword [rdx], r9
mov qword [rax], r8
sub rsp, 0x20
call fcn.140088b60
mov rdx, qword [rbp + 0x1438]
mov rcx, qword [rbp + 0x340]
add rsp, 0x20
mov r8b, al
mov eax, dword [rbp + 0x39c]
mov byte [rbp + 0x28e], r8b
cmp byte [rdx], 0
mov qword [rbp + 0x328], rcx
mov dword [rbp + 0x330], eax
jne 0x14016cd77
mov al, byte [rbp + 0x28e]
test al, 1
jne 0x14016c8df
jmp 0x14016ccd0
mov rcx, qword [rbp + 0x1478]
sub rsp, 0x20
call fcn.1401633f3
mov rax, qword [rbp + 0x1438]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14016cb3d
mov rcx, qword [rbp + 0x1338]
mov edx, 0x30
sub rsp, 0x20
call fcn.14015930c
mov rcx, qword [rbp + 0x1338]
mov rdx, qword [rbp + 0x1168]
add rsp, 0x20
mov r8d, 0x30
sub rsp, 0x20
call sub.msvcrt.dll_memcpy
mov rcx, qword [rbp + 0x1168]
call fcn.1400c7609
mov rax, qword [rbp + 0x6b8]
mov rcx, qword [rbp + 0x1470]
add rsp, 0x20
mov rax, qword [rax]
mov qword [rbp + 0x270], rax
mov rcx, qword [rcx]
mov qword [rbp + 0x278], rcx
cmp rax, 0
je 0x14016c9ad
mov rax, qword [rbp + 0x278]
mov r9, qword [rbp + 0x270]
mov r8, qword [rbp + 0x1338]
mov rdx, qword [rbp + 0x1478]
mov rcx, qword [rbp + 0x1480]
sub rsp, 0x20
call rax
add rsp, 0x20
mov byte [rbp + 0x26f], al
jmp 0x14016c9d9
mov rax, qword [rbp + 0x278]
mov r8, qword [rbp + 0x1338]
mov rdx, qword [rbp + 0x1478]
mov rcx, qword [rbp + 0x1480]
sub rsp, 0x20
call rax
add rsp, 0x20
mov byte [rbp + 0x26f], al
mov al, byte [rbp + 0x26f]
mov byte [rbp + 0x26e], al
mov eax, dword [0x14024b170]
imul eax, dword [0x14024b174]
mov ecx, 0xa0e1ed77
xor ecx, 0xbc565761
and eax, ecx
mov edx, 0xffffffff
xor edx, 0xd7cb12a7
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, 0xd7cb12a7
add eax, edx
sub eax, ecx
mov ecx, 0x3ce9b42
xor ecx, 0xd255f2b9
or eax, ecx
mov ecx, 0x591e7bec
xor ecx, 0xa2f45c6
cmp eax, ecx
jb 0x14016fa18
mov dl, byte [rbp + 0x26e]
mov rcx, qword [rbp + 0x1438]
mov r8d, dword [0x14024b178]
mov eax, r8d
xor eax, 0xf81a538d
mov r9d, dword [0x14024b17c]
xor r8d, 0x7e5ac72
and r8d, r9d
not r9d
and eax, r9d
sub eax, r8d
shr eax, 2
imul rax, rax, 0x4176dedf
shr rax, 0x3a
add eax, 0xc7a68a64
mov r8d, 0xafa37f9f
imul rax, r8
shr rax, 0x3f
mov cl, byte [rcx]
test cl, cl
sete cl
mov byte [rbp + 0x26c], cl
and cl, dl
mov byte [rbp + 0x26d], cl
cmp eax, 0xd9f10822
ja 0x14016ca3a
mov al, byte [rbp + 0x26d]
test al, 1
jne 0x14016cac4
jmp 0x14016cb5c
mov eax, dword [rbp + 0x39c]
movsxd rcx, eax
mov rax, rcx
inc rax
mov qword [rbp + 0x260], 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 0x14016cb30
mov rcx, qword [rbp + 0x340]
mov rax, qword [rbp + 0x260]
mov qword [rbp + 0x328], rcx
mov dword [rbp + 0x330], eax
jmp 0x14016cd77
sub rsp, 0x20
call fcn.140008d37
add rsp, 0x20
mov eax, dword [rbp + 0x39c]
mov rcx, qword [rbp + 0x340]
mov qword [rbp + 0x328], rcx
mov dword [rbp + 0x330], eax
jmp 0x14016cd77
mov eax, dword [0x14024b180]
add eax, dword [0x14024b184]
mov ecx, 0x48088bdc
xor edx, edx
div ecx
mov r11d, eax
mov ecx, r11d
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x4c2175c8
mov r8d, 0xffffffff
xor r8d, 0xf980a2d6
mov eax, ecx
and eax, 0xf980a2d6
and r11d, r8d
mov r10d, 0xbaefdacf
xor r10d, 0x436f7819
mov r9d, edx
and r9d, r10d
mov r10d, 0x63725347
xor r10d, 0x2f53268f
and r10d, r8d
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, edx
mov edx, 0x8e6966ac
xor edx, 0x71969953
xor ecx, edx
mov edx, 0x807e5095
xor edx, 0x79fef243
or edx, r8d
and ecx, edx
or eax, ecx
sub eax, 0xa0c3d9dc
add eax, 0xaa552e95
add eax, 0xa0c3d9dc
cmp eax, 0x91af5945
jbe 0x14016fa21
mov eax, dword [0x14024b188]
mov ecx, dword [0x14024b18c]
mov edx, 0x7a8b94d8
xor edx, 0x31e3dbb5
add eax, edx
sub eax, ecx
mov ecx, 0x4272a3bb
xor ecx, 0x91aecd6
sub eax, ecx
mov r8d, 0xffffffff
xor r8d, 0x38ffab32
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x38ffab32
or eax, 0x38ffab32
imul eax, edx
add eax, ecx
mov ecx, eax
and ecx, 0x8c868762
xor ecx, 0xffffffff
mov edx, 0x53fc706c
xor edx, 0xdf7af70e
add eax, edx
add eax, 1
add eax, ecx
and eax, 0xff83a513
cmp eax, 0xb813ba2a
jbe 0x14016cc03
mov eax, dword [rbp + 0x39c]
mov rcx, qword [rbp + 0x340]
mov r8, qword [rbp + 0x2b8]
mov r9b, byte [rbp + 0x26c]
mov edx, 0x6d
test r9b, 1
mov qword [rbp + 0x250], r8
mov dword [rbp + 0x25c], edx
mov qword [rbp + 0x328], rcx
mov dword [rbp + 0x330], eax
jne 0x14016cd77
jmp 0x14016cd0e
mov rcx, qword [rbp + 0x2b8]
movabs rax, 0xd3102d80f568a400
movabs rdx, 0xd3102d80f568a400
xor rax, rdx
sub rax, rcx
xor ecx, ecx
sub rcx, 1
add rax, rcx
xor ecx, ecx
sub rcx, rax
xor eax, eax
mov qword [rbp + 0x250], rcx
mov dword [rbp + 0x25c], eax
mov rax, qword [rbp + 0x250]
mov ecx, dword [rbp + 0x25c]
mov dword [rbp + 0x248], ecx
mov byte [rbp + 0x24f], cl
test cl, cl
mov qword [rbp + 0x2c8], rax
je 0x14016c5a4
jmp 0x14016cd3b
mov eax, dword [rbp + 0x248]
mov ecx, dword [rbp + 0x39c]
mov rdx, qword [rbp + 0x340]
mov r8b, byte [rbp + 0x24f]
sub r8b, 0x6d
mov qword [rbp + 0x328], rdx
mov dword [rbp + 0x330], ecx
mov dword [rbp + 0x398], eax
jne 0x14016cfbf
jmp 0x14016cd77
mov rax, qword [rbp + 0x360]
mov rcx, qword [rbp + 0x328]
mov edx, dword [rbp + 0x330]
mov dword [rbp + 0x23c], edx
mov qword [rbp + 0x240], rcx
cmp rax, 0
je 0x14016cdd4
mov rcx, qword [rbp + 0x360]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
cmp rax, 0
jne 0x14016cdd4
mov rcx, qword [rbp + 0x360]
sub rsp, 0x20
call fcn.14000f4df
add rsp, 0x20
mov eax, dword [rbp + 0x23c]
mov rcx, qword [rbp + 0x240]
cmp rcx, 0
mov dword [rbp + 0x37c], eax
je 0x14016cf5b
mov eax, dword [0x14024b190]
mov ecx, dword [0x14024b194]
xor ecx, 0x70139a26
xor edx, edx
div ecx
mov ecx, eax
xor ecx, 0xffffffff
mov edx, 0x5348c41d
xor edx, 0x6f8282f
and edx, ecx
mov r8d, 0xffffffff
xor r8d, 0x55b0ec32
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x55b0ec32
or eax, 0x55b0ec32
imul eax, edx
add eax, ecx
and eax, 0xcf5501b6
or eax, 0xd2a7bff2
cmp eax, 0xbaa7ad39
je 0x14016fa2a
mov rcx, qword [rbp + 0x240]
mov eax, dword [0x14024b198]
xor eax, 0xf7f51749
mov edx, dword [0x14024b19c]
xor edx, 0x5fbac635
imul eax, edx
mov r8d, 0x857ab794
xor edx, edx
div r8d
or eax, eax
mov edx, 0xac7fd3aa
xor edx, 0x53802c55
xor eax, edx
mov edx, 0xb610fe9e
or edx, 0xb610fe9e
xor edx, 0xffffffff
or eax, edx
mov edx, 0xe5527b0
xor edx, 0xf1aad84f
xor eax, edx
mov edx, eax
and edx, 0x5eb0ced6
shl edx, 1
mov r8d, 0x16f3b22
xor r8d, 0x5fdff5f4
xor eax, r8d
add eax, edx
mov rdx, qword [rcx]
mov rcx, rdx
xor rcx, 0xffffffffffffffff
mov r8, 0xffffffffffffffff
movabs r9, 0x4000000000000000
xor r8, r9
or rcx, r8
movabs r8, 0x4000000000000000
and rdx, r8
xor rdx, 0xffffffffffffffff
and rcx, rdx
xor rcx, 0xffffffffffffffff
cmp rcx, 0
sete cl
mov byte [rbp + 0x23b], cl
cmp eax, 0x96a576d6
je 0x14016ce55
mov eax, dword [rbp + 0x23c]
mov cl, byte [rbp + 0x23b]
test cl, 1
mov dword [rbp + 0x37c], eax
jne 0x14016cf3b
jmp 0x14016cf5b
mov rcx, qword [rbp + 0x240]
sub rsp, 0x20
call fcn.14000f4df
mov eax, dword [rbp + 0x23c]
add rsp, 0x20
mov dword [rbp + 0x37c], eax
mov rcx, qword [rbp + 0x1438]
mov eax, dword [rbp + 0x37c]
mov dword [rbp + 0x234], eax
mov dl, byte [rcx]
mov r8b, 0x9b
xor r8b, 0x9b
mov ecx, 0x5c
cmp dl, r8b
mov dword [rbp + 0x36c], ecx
mov dword [rbp + 0x370], eax
jne 0x14016cfa2
mov eax, dword [rbp + 0x234]
mov dword [rbp + 0x230], eax
jmp 0x14016d014
mov ecx, dword [rbp + 0x36c]
mov eax, dword [rbp + 0x370]
mov dword [rbp + 0x228], ecx
mov dword [rbp + 0x22c], eax
jmp 0x14016e5b0
mov eax, dword [rbp + 0x39c]
mov ecx, dword [rbp + 0x398]
mov dword [rbp + 0x224], ecx
test ecx, ecx
mov dword [rbp + 0x230], eax
je 0x14016d014
jmp 0x14016cfe4
mov eax, dword [rbp + 0x39c]
mov ecx, dword [rbp + 0x224]
mov edx, ecx
sub edx, 0x6b
mov edx, eax
mov dword [rbp + 0x230], edx
mov dword [rbp + 0x228], ecx
mov dword [rbp + 0x22c], eax
jne 0x14016e5b0
jmp 0x14016d014
mov rax, qword [rbp + 0x390]
mov ecx, dword [rbp + 0x230]
mov dword [rbp + 0x21c], ecx
mov eax, dword [rax]
mov ecx, eax
not ecx
and eax, ecx
or ecx, 0xffffffef
or eax, 0x10
and ecx, eax
sub rsp, 0x20
call fcn.1400a24bc
mov rcx, qword [rbp + 0x1438]
add rsp, 0x20
mov r8b, byte [rcx]
test r8b, r8b
sete cl
and cl, al
mov eax, 0x5c
mov edx, 0x87
cmp r8b, 0
cmove eax, edx
test cl, 1
mov dword [rbp + 0x220], eax
jne 0x14016d07b
jmp 0x14016e558
mov rax, qword [rbp + 0x3a8]
mov eax, dword [rax]
mov dword [rbp + 0x218], eax
cmp eax, 0xffffffff
jge 0x14016d0ea
mov ecx, dword [rbp + 0x218]
mov eax, 0xf4723b2c
add eax, 0
sub eax, ecx
sub eax, 0xf4723b2c
mov ecx, 0xc9776b27
xor ecx, 0xc9776b26
shr eax, cl
mov ecx, eax
xor eax, eax
sub eax, ecx
movsxd rcx, eax
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.14000db87
mov eax, dword [rbp + 0x21c]
add rsp, 0x20
mov dword [rbp + 0x214], eax
jmp 0x14016e506
mov rcx, qword [rbp + 0x1348]
mov eax, dword [rbp + 0x218]
mov rdx, qword [rbp + 0x3a0]
add rdx, 0x5e
mov qword [rbp + 0x1f8], rdx
mov r8d, 2
cdq
idiv r8d
mov rdx, qword [rbp + 0x1f8]
mov eax, eax
mov r8d, eax
sub rsp, 0x20
call fcn.1400a7cd0
mov r8, qword [rbp + 0x1348]
mov rdx, qword [rbp + 0x6c8]
mov rcx, qword [rbp + 0x1438]
mov eax, dword [rbp + 0x21c]
add rsp, 0x20
mov r8, qword [r8]
mov qword [rbp + 0x200], r8
mov rdx, qword [rdx]
mov qword [rbp + 0x208], rdx
cmp byte [rcx], 0
mov dword [rbp + 0x210], eax
jne 0x14016e528
mov rcx, qword [rbp + 0x1350]
mov rdx, qword [rbp + 0x1358]
mov rax, qword [rbp + 0x6d0]
mov r8, qword [rbp + 0x208]
mov r9, qword [rbp + 0x200]
mov qword [rdx], r9
mov qword [rax], r8
sub rsp, 0x20
call fcn.140170330
mov r8, qword [rbp + 0x1350]
mov rdx, qword [rbp + 0x6d8]
mov rcx, qword [rbp + 0x1438]
mov eax, dword [rbp + 0x21c]
add rsp, 0x20
mov r8, qword [r8]
mov qword [rbp + 0x1d8], r8
mov rdx, qword [rdx]
mov qword [rbp + 0x1e0], rdx
mov dl, byte [rcx]
mov r8b, 2
xor r8b, 2
xor ecx, ecx
cmp dl, r8b
mov qword [rbp + 0x1e8], rcx
mov dword [rbp + 0x1f4], eax
jne 0x14016e40c
mov rcx, qword [rbp + 0x1e0]
mov r8, qword [rbp + 0x1d8]
mov rsi, qword [rbp + 0x500]
mov rdi, qword [rbp + 0x4f8]
mov rbx, qword [rbp + 0x6f8]
mov r15, qword [rbp + 0x6f0]
mov r14, qword [rbp + 0x6e8]
mov r12, qword [rbp + 0x1360]
mov rdx, qword [rbp + 0x1368]
mov rax, qword [rbp + 0x6e0]
mov r9, qword [rbp + 0x1340]
mov r10b, 0xa3
xor r10b, 0xa3
mov byte [r9], r10b
mov qword [rdx], r8
mov qword [rax], rcx
sub rsp, 0x20
mov rcx, r12
call fcn.14001c002
mov r11, qword [rbp + 0x700]
mov r10, qword [rbp + 0x1d8]
mov rax, qword [rbp + 0x708]
mov rdx, qword [rbp + 0x1378]
mov r8, qword [rbp + 0x1380]
mov rcx, qword [rbp + 0x1370]
mov r9, qword [rbp + 0x1e0]
add rsp, 0x20
mov r12, qword [r12]
mov r14, qword [r14]
mov qword [r15], r12
mov qword [rbx], r14
mov qword [rdx], rdi
mov qword [r11], rsi
mov qword [r8], r10
mov qword [rax], r9
sub rsp, 0x20
call fcn.1400979bd
mov r9, qword [rbp + 0x1370]
mov r8, qword [rbp + 0x710]
mov rdx, qword [rbp + 0x1438]
mov rcx, qword [rbp + 0x1e0]
mov eax, dword [rbp + 0x21c]
add rsp, 0x20
mov r9, qword [r9]
mov qword [rbp + 0x1c8], r9
mov r8, qword [r8]
mov qword [rbp + 0x1d0], r8
cmp byte [rdx], 0
mov qword [rbp + 0x1e8], rcx
mov dword [rbp + 0x1f4], eax
jne 0x14016e40c
mov rdx, qword [rbp + 0x1340]
mov rcx, qword [rbp + 0x1190]
mov rax, qword [rbp + 0x728]
mov r8, qword [rbp + 0x3a0]
mov r9, qword [rbp + 0x720]
mov r10, qword [rbp + 0x1d0]
mov r11, qword [rbp + 0x718]
mov rsi, qword [rbp + 0x1c8]
mov qword [r11], rsi
mov qword [r9], r10
mov r8, qword [r8 + 0x28]
mov qword [rax], r8
sub rsp, 0x20
call fcn.1400c7030
mov rdx, qword [rbp + 0x1438]
mov rcx, qword [rbp + 0x1e0]
mov eax, dword [rbp + 0x21c]
add rsp, 0x20
cmp byte [rdx], 0
mov qword [rbp + 0x1e8], rcx
mov dword [rbp + 0x1f4], eax
jne 0x14016e40c
mov rax, qword [rbp + 0x1190]
mov al, byte [rax]
cmp al, 1
mov byte [rbp + 0x1c7], al
jne 0x14016d61b
mov rdx, qword [rbp + 0x1390]
mov rcx, qword [rbp + 0x1388]
mov rax, qword [rbp + 0x648]
mov r8, qword [rbp + 0x1440]
mov r9, qword [r8]
mov qword [rcx], r9
mov r8, qword [r8 + 8]
mov qword [rcx + 8], r8
mov r8, qword [rax]
mov qword [rdx], r8
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.1400c72bf
mov rdx, qword [rbp + 0x1438]
mov rcx, qword [rbp + 0x1e0]
add rsp, 0x20
mov r8, rax
mov eax, dword [rbp + 0x21c]
mov qword [rbp + 0x1b8], r8
cmp byte [rdx], 0
mov qword [rbp + 0x1e8], rcx
mov dword [rbp + 0x1f4], eax
jne 0x14016e40c
mov rcx, qword [rbp + 0x1b8]
mov rax, rcx
add rax, 1
mov qword [rbp + 0x1b0], rax
mov rdx, rcx
and rdx, 0xffffffffffffffff
shl rdx, 1
movabs r8, 0x3b5218355caf78b
movabs r9, 0xfc4ade7caa350874
xor r8, r9
add rcx, r8
sub rcx, rdx
and rax, rcx
cmp rax, 0
jge 0x14016d4fe
mov eax, dword [0x14024b1a0]
or eax, dword [0x14024b1a4]
mov ecx, 0x113af83f
xor ecx, 0xf0e9296e
add eax, ecx
mov ecx, 0x44f293ae
xor edx, edx
div ecx
mov ecx, 0xffffffff
xor ecx, 0x1d6cbb8f
add eax, ecx
add eax, 1
cmp eax, 0x53137e7
jb 0x14016fa33
mov eax, dword [0x14024b1a8]
mov ecx, dword [0x14024b1ac]
xor ecx, 0x766afdb4
and eax, ecx
mov ecx, 0x5293e1bd
xor edx, edx
div ecx
imul eax, eax, 0x38a0ba2c
or eax, 0xc48b2b39
mov dword [rbp + 0x1ac], eax
sub rsp, 0x20
call fcn.140008d37
mov eax, dword [rbp + 0x1ac]
add rsp, 0x20
cmp eax, 0x767c9d79
je 0x14016d493
mov eax, dword [rbp + 0x21c]
mov rcx, qword [rbp + 0x1e0]
mov qword [rbp + 0x1e8], rcx
mov dword [rbp + 0x1f4], eax
jmp 0x14016e40c
mov rax, qword [rbp + 0x650]
mov eax, dword [rax]
mov dword [rbp + 0x1a8], eax
cmp eax, 0xffffffff
jne 0x14016d587
mov rcx, qword [rbp + 0x1398]
mov rdx, qword [rbp + 0x13a0]
mov rax, qword [rbp + 0x648]
mov r8, qword [rax]
mov qword [rdx], r8
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.14001c002
mov r9, qword [rbp + 0x1398]
mov r8, qword [rbp + 0x740]
mov rax, qword [rbp + 0x748]
mov rcx, qword [rbp + 0x1170]
mov rdx, qword [rbp + 0x13a8]
add rsp, 0x20
mov r9, qword [r9]
mov r8, qword [r8]
mov qword [rdx], r9
mov qword [rax], r8
sub rsp, 0x20
call fcn.14001b440
add rsp, 0x20
jmp 0x14016d60c
mov rax, qword [rbp + 0x1b0]
mov ecx, dword [rbp + 0x1a8]
movsxd rcx, ecx
cmp rax, rcx
jg 0x14016d60c
mov rcx, qword [rbp + 0x13b0]
mov rdx, qword [rbp + 0x13b8]
mov rax, qword [rbp + 0x648]
mov r8, qword [rax]
mov qword [rdx], r8
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.14001c002
mov r9, qword [rbp + 0x13b0]
mov r8, qword [rbp + 0x730]
mov rax, qword [rbp + 0x738]
mov rcx, qword [rbp + 0x1170]
mov rdx, qword [rbp + 0x13c0]
add rsp, 0x20
mov r9, qword [r9]
mov r8, qword [r8]
mov qword [rdx], r9
mov qword [rax], r8
sub rsp, 0x20
call fcn.14001b440
add rsp, 0x20
mov rax, qword [rbp + 0x1190]
mov al, byte [rax]
mov byte [rbp + 0x1c7], al
mov eax, dword [rbp + 0x21c]
mov rcx, qword [rbp + 0x1e0]
mov dl, byte [rbp + 0x1c7]
cmp dl, 2
mov qword [rbp + 0x1e8], rcx
mov dword [rbp + 0x1f4], eax
jae 0x14016e40c
mov rdx, qword [rbp + 0x1190]
mov rcx, qword [rbp + 0x1168]
sub rsp, 0x20
call fcn.1400c7030
mov rdx, qword [rbp + 0x1438]
mov rcx, qword [rbp + 0x1e0]
mov eax, dword [rbp + 0x21c]
add rsp, 0x20
cmp byte [rdx], 0
mov qword [rbp + 0x1e8], rcx
mov dword [rbp + 0x1f4], eax
jne 0x14016e40c
mov rcx, qword [rbp + 0x1190]
sub rsp, 0x20
call fcn.1400c7609
mov rax, qword [rbp + 0x1168]
add rsp, 0x20
cmp byte [rax], 1
jne 0x14016dc25
mov eax, dword [0x14024b1b0]
xor eax, 0xf5e0a01d
mov ecx, dword [0x14024b1b4]
add eax, 0xf969ca7f
add eax, ecx
sub eax, 0xf969ca7f
mov edx, 0xe524ef2f
xor edx, 0xe524ef2e
mov ecx, eax
add ecx, edx
xor eax, 0xffffffff
mov edx, 0x90df36d6
xor edx, 0xcec99c3
or eax, edx
add eax, ecx
or eax, 0x1dcddc18
mov ecx, 0xffffffff
xor ecx, 0xebe26ab5
add eax, ecx
add eax, 1
mov ecx, 0x50a44622
xor ecx, 0x1333634f
cmp eax, ecx
jbe 0x14016fa3c
mov rcx, qword [rbp + 0x1478]
mov eax, dword [0x14024b1b8]
xor eax, 0x7ce9c942
mov r8d, dword [0x14024b1bc]
mov edx, r8d
and edx, eax
mov r9d, 0x3ea46b4e
xor r9d, 0xc15b94b1
xor edx, r9d
add eax, r8d
add eax, 1
add eax, edx
mov edx, 0xffffffff
xor edx, 0xe972cc7d
add eax, edx
mov edx, 0xf5125d8b
xor edx, 0xf5125d8a
add eax, edx
mov r8d, 0x87286a50
xor r8d, 0xe62b2025
xor edx, edx
div r8d
mov r8d, 0x8f2cc488
xor edx, edx
div r8d
cmp byte [rcx], 0
sete cl
mov byte [rbp + 0x1a7], cl
cmp eax, 0x1fc523
ja 0x14016d713
mov eax, dword [rbp + 0x21c]
mov rcx, qword [rbp + 0x1e0]
mov dl, byte [rbp + 0x1a7]
test dl, 1
mov qword [rbp + 0x1e8], rcx
mov dword [rbp + 0x1f4], eax
jne 0x14016d7c5
jmp 0x14016e40c
mov eax, dword [rbp + 0x21c]
mov rcx, qword [rbp + 0x1e0]
mov rdx, qword [rbp + 0x650]
cmp dword [rdx], 1
mov qword [rbp + 0x1e8], rcx
mov dword [rbp + 0x1f4], eax
jne 0x14016e40c
mov rax, qword [rbp + 0x6c0]
mov rcx, qword [rax]
sub rsp, 0x20
xor eax, eax
mov edx, eax
call fcn.140053cd0
mov rdx, qword [rbp + 0x1438]
mov rcx, qword [rbp + 0x1e0]
add rsp, 0x20
mov r8b, al
mov eax, dword [rbp + 0x21c]
mov dl, byte [rdx]
test dl, dl
setne dl
or dl, r8b
test dl, 1
mov qword [rbp + 0x1e8], rcx
mov dword [rbp + 0x1f4], eax
jne 0x14016e40c
mov rax, qword [rbp + 0x6c0]
mov rcx, qword [rax]
sub rsp, 0x20
call fcn.140054541
mov rdx, qword [rbp + 0x1438]
mov rcx, qword [rbp + 0x1e0]
add rsp, 0x20
mov r8, rax
mov eax, dword [rbp + 0x21c]
mov dl, byte [rdx]
test dl, dl
sete dl
test r8, r8
setg r8b
and dl, r8b
test dl, 1
mov qword [rbp + 0x1e8], rcx
mov dword [rbp + 0x1f4], eax
jne 0x14016d89b
jmp 0x14016e40c
mov rdx, qword [rbp + 0x13c8]
mov rax, qword [rbp + 0x690]
mov rcx, qword [rbp + 0x6c0]
mov rcx, qword [rcx]
movups xmm0, xmmword [rax]
movups xmmword [rdx], xmm0
sub rsp, 0x20
call fcn.1400545b0
mov rdx, qword [rbp + 0x1438]
mov rcx, qword [rbp + 0x1e0]
add rsp, 0x20
mov r8b, al
mov eax, dword [rbp + 0x21c]
mov dl, byte [rdx]
test dl, dl
sete dl
and dl, r8b
test dl, 1
mov qword [rbp + 0x1e8], rcx
mov dword [rbp + 0x1f4], eax
jne 0x14016d902
jmp 0x14016e40c
mov rdx, qword [rbp + 0x13d0]
mov rax, qword [rbp + 0x690]
mov rcx, qword [rbp + 0x6c0]
mov rcx, qword [rcx]
mov r8, qword [rax]
mov qword [rdx], r8
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.140055150
mov rdx, qword [rbp + 0x1438]
mov rcx, qword [rbp + 0x1e0]
add rsp, 0x20
mov r8, rax
mov eax, dword [rbp + 0x21c]
mov qword [rbp + 0x198], r8
mov dl, byte [rdx]
mov r8b, 0xc0
xor r8b, 0xc0
cmp dl, r8b
mov qword [rbp + 0x1e8], rcx
mov dword [rbp + 0x1f4], eax
jne 0x14016e40c
mov rax, qword [rbp + 0x198]
mov rcx, qword [rax]
mov qword [rbp + 0x190], rcx
sub rsp, 0x20
xor eax, eax
mov dl, al
call fcn.140163b4b
mov rdx, qword [rbp + 0x1438]
mov rcx, qword [rbp + 0x1e0]
add rsp, 0x20
mov eax, dword [rbp + 0x21c]
cmp byte [rdx], 0
mov qword [rbp + 0x1e8], rcx
mov dword [rbp + 0x1f4], eax
jne 0x14016e40c
mov r8, qword [rbp + 0x13d8]
mov rdx, qword [rbp + 0x190]
mov rcx, qword [rbp + 0x1480]
mov rax, qword [rbp + 0x1470]
mov r9, qword [rax]
mov qword [r8], r9
mov rax, qword [rax + 8]
mov qword [r8 + 8], rax
sub rsp, 0x20
call fcn.140164130
mov rdx, qword [rbp + 0x1438]
mov rcx, qword [rbp + 0x1e0]
add rsp, 0x20
mov r8d, eax
mov eax, dword [rbp + 0x21c]
mov dword [rbp + 0x18c], r8d
cmp byte [rdx], 0
mov qword [rbp + 0x1e8], rcx
mov dword [rbp + 0x1f4], eax
jne 0x14016e40c
mov eax, dword [rbp + 0x18c]
mov ecx, dword [rbp + 0x21c]
movsxd r8, ecx
movsxd rdx, eax
mov rcx, rdx
add rcx, r8
mov qword [rbp + 0x180], rcx
mov rax, rcx
xor rax, r8
xor rcx, rdx
and rax, rcx
cmp rax, 0
jge 0x14016da8a
sub rsp, 0x20
call fcn.140008d37
mov rcx, qword [rbp + 0x1e0]
mov eax, dword [rbp + 0x21c]
add rsp, 0x20
mov qword [rbp + 0x1e8], rcx
mov dword [rbp + 0x1f4], eax
jmp 0x14016e40c
mov rax, qword [rbp + 0x180]
add rax, 0xffffffff80000000
movabs rcx, 0xc245f8b13c2d3661
movabs rdx, 0x3dba074e3c2d3661
xor rcx, rdx
cmp rax, rcx
jae 0x14016dc05
mov eax, dword [0x14024b1c0]
mov r8d, dword [0x14024b1c4]
mov ecx, eax
and ecx, ecx
mov edx, 0xb881b1e8
xor edx, 0x477e4e17
xor ecx, edx
xor ecx, 0xffffffff
mov edx, r8d
xor edx, 0xffffffff
or ecx, edx
mov r9d, 0x98a10003
xor r9d, 0x675efffc
mov edx, r8d
xor edx, r9d
xor r8d, 0xffffffff
or edx, r8d
and eax, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
mov edx, 0xb6680e63
xor edx, 0x4997f19c
xor eax, edx
or ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, 0xa0fad55c
xor edx, 0x5f052aa3
xor ecx, edx
or eax, ecx
mov ecx, 0xffffffff
xor ecx, 0x8509f433
mov edx, 0xffffffff
xor edx, 0x8509f433
or ecx, edx
xor eax, 0xffffffff
mov edx, 0x47d45847
xor edx, 0xb82ba7b8
xor ecx, edx
or eax, ecx
mov ecx, 0x433a7dce
xor ecx, 0x433a7dce
sub ecx, eax
xor eax, eax
sub eax, 0x8008b082
add ecx, eax
xor eax, eax
sub eax, ecx
mov ecx, 0xffa1700c
xor ecx, 0xd84a65b9
xor eax, ecx
cmp eax, 0xa008c7ed
ja 0x14016fa45
mov eax, dword [0x14024b1c8]
xor eax, 0x34bf154c
mov ecx, dword [0x14024b1cc]
mov edx, 0xb6189d49
xor edx, 0xc6fef8a6
xor ecx, edx
and eax, ecx
mov ecx, 0x2531c518
xor edx, edx
div ecx
mov ecx, 0x3d7a252c
xor edx, edx
div ecx
mov ecx, 0x597583a2
xor ecx, 0xb631a75a
xor edx, edx
div ecx
mov dword [rbp + 0x17c], eax
sub rsp, 0x20
call fcn.140008d37
mov eax, dword [rbp + 0x17c]
add rsp, 0x20
cmp eax, 0x327195d8
je 0x14016db81
mov eax, dword [rbp + 0x21c]
mov rcx, qword [rbp + 0x1e0]
mov qword [rbp + 0x1e8], rcx
mov dword [rbp + 0x1f4], eax
jmp 0x14016e40c
mov rcx, qword [rbp + 0x1e0]
mov rax, qword [rbp + 0x180]
mov qword [rbp + 0x1e8], rcx
mov dword [rbp + 0x1f4], eax
jmp 0x14016e40c
mov rax, qword [rbp + 0x678]
mov rax, qword [rax]
mov qword [rbp + 0x168], rax
xor eax, eax
mov qword [rbp + 0x170], rax
mov rax, qword [rbp + 0x170]
mov qword [rbp + 0x160], rax
mov eax, dword [0x14024b1d0]
mov ecx, dword [0x14024b1d4]
mov edx, 0xbdb7bab0
xor edx, 0x8fc3bf3a
xor ecx, edx
xor edx, edx
div ecx
add eax, 0xc116afea
mov ecx, 0xb0a52005
xor ecx, 0xb390280d
imul eax, ecx
xor eax, 0x5977a111
cmp eax, 0xecde4f1e
jae 0x14016fa4e
mov r8, qword [rbp + 0x168]
mov eax, dword [0x14024b1d8]
xor eax, 0x16d5558d
mov ecx, dword [0x14024b1dc]
xor ecx, 0xeb6c3bbc
xor eax, ecx
xor ecx, ecx
sub ecx, 0x24c001bb
add eax, ecx
mov ecx, 0xdf30b17e
xor ecx, 0x7b451e55
add eax, ecx
mov ecx, 0xb0bf5755
xor edx, edx
div ecx
mov rdx, qword [rbp + 0x160]
mov ecx, 0x3dc4f6d1
xor ecx, 0x70f1653d
cmp rdx, r8
setl dl
mov byte [rbp + 0x15f], dl
cmp eax, ecx
jae 0x14016fa4e
mov eax, dword [rbp + 0x21c]
mov rcx, qword [rbp + 0x1e0]
mov dl, byte [rbp + 0x15f]
test dl, 1
mov qword [rbp + 0x1e8], rcx
mov dword [rbp + 0x1f4], eax
jne 0x14016dd21
jmp 0x14016e40c
mov rax, qword [rbp + 0x160]
mov rcx, qword [rbp + 0x678]
mov rcx, qword [rcx]
mov qword [rbp + 0x150], rcx
cmp rax, rcx
jl 0x14016de9f
mov eax, dword [0x14024b1e0]
mov ecx, dword [0x14024b1e4]
xor ecx, 0xd3edcc09
add eax, 0x392365a1
add eax, ecx
sub eax, 0x392365a1
mov ecx, 0x16980ade
xor edx, edx
div ecx
xor ecx, ecx
sub ecx, 0xfbd7988d
sub eax, ecx
mov edx, 0x61017551
xor edx, 0xc405c40b
mov ecx, eax
xor ecx, edx
xor ecx, 0xffffffff
mov edx, 0x72060623
xor edx, 0xd702b779
or eax, edx
and eax, ecx
cmp eax, 0x454c47b9
jb 0x14016fa57
mov rcx, qword [rbp + 0x160]
mov rdx, qword [rbp + 0x150]
mov eax, dword [0x14024b1e8]
xor eax, 0xb137aaba
mov r10d, dword [0x14024b1ec]
mov r11d, r10d
xor r11d, 0xffffffff
mov r9d, eax
and r9d, r11d
mov r8d, eax
or r8d, r11d
xor r8d, 0xffffffff
imul r8d, r9d
mov r9d, eax
and r9d, r10d
or eax, r10d
imul eax, r9d
add eax, r8d
xor eax, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0x1c43690e
mov r9d, 0xffffffff
xor r9d, 0x3237b159
or eax, r8d
mov r8d, 0x3a7b9ae2
xor r8d, 0x84c2bbb
or r8d, r9d
mov r9d, 0x973ac9b7
xor r9d, 0x68c53648
xor eax, r9d
and eax, r8d
add eax, 0xefd8671d
mov r8d, 0xe806d1e7
xor r8d, 0x7002ce87
or eax, r8d
mov dword [rbp + 0x14c], eax
movabs rax, 0x53a9ecbb94e1cffa
movabs r8, 0xac5613446b1e3005
xor rax, r8
add rdx, rax
sub rsp, 0x20
call fcn.140012b72
mov eax, dword [rbp + 0x14c]
add rsp, 0x20
cmp eax, 0xd53593c7
je 0x14016dd9f
mov eax, dword [rbp + 0x21c]
mov rcx, qword [rbp + 0x1e0]
mov qword [rbp + 0x1e8], rcx
mov dword [rbp + 0x1f4], eax
jmp 0x14016e40c
mov rax, qword [rbp + 0x688]
mov rdx, qword [rbp + 0x160]
mov rcx, qword [rbp + 0x680]
mov rcx, qword [rcx]
add rcx, 8
shl rdx, 3
add rcx, rdx
mov qword [rbp + 0x140], rcx
mov rcx, qword [rax]
sub rsp, 0x20
call fcn.14009df5b
mov rdx, qword [rbp + 0x1438]
mov rcx, qword [rbp + 0x1e0]
add rsp, 0x20
mov r8b, al
mov eax, dword [rbp + 0x21c]
mov byte [rbp + 0x14b], r8b
cmp byte [rdx], 0
mov qword [rbp + 0x1e8], rcx
mov dword [rbp + 0x1f4], eax
jne 0x14016e40c
mov al, byte [rbp + 0x14b]
test al, 1
jne 0x14016df20
jmp 0x14016e36e
mov rax, qword [rbp + 0x688]
mov rcx, qword [rbp + 0x140]
mov rcx, qword [rcx]
mov qword [rbp + 0x130], rcx
movsxd rcx, dword [rcx + 0x10]
mov rax, qword [rax]
mov qword [rbp + 0x138], rax
cmp rax, rcx
jl 0x14016e36e
mov rax, qword [rbp + 0x138]
mov rcx, qword [rbp + 0x130]
movsxd rcx, dword [rcx + 0x14]
cmp rax, rcx
jg 0x14016e36e
mov rcx, qword [rbp + 0x13e0]
mov rdx, qword [rbp + 0x13e8]
mov rax, qword [rbp + 0x690]
mov r8, qword [rax]
mov qword [rdx], r8
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.14001c002
mov r9, qword [rbp + 0x13e0]
mov r8, qword [rbp + 0x750]
mov rax, qword [rbp + 0x140]
mov rdx, qword [rbp + 0x13f8]
mov rcx, qword [rbp + 0x13f0]
add rsp, 0x20
mov rsi, qword [r9]
mov r8, qword [r8]
mov qword [rbp + 0x120], r8
mov rax, qword [rax]
mov r8, qword [rax]
mov qword [rdx], r8
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.14001c002
mov r9, qword [rbp + 0x13f0]
mov r8, qword [rbp + 0x758]
mov r11, qword [rbp + 0x120]
mov r10, qword [rbp + 0x760]
mov rax, qword [rbp + 0x768]
mov rcx, qword [rbp + 0x1400]
mov rdx, qword [rbp + 0x1410]
add rsp, 0x20
mov r9, qword [r9]
mov r8, qword [r8]
mov qword [rcx], rsi
mov qword [r10], r11
mov qword [rdx], r9
mov qword [rax], r8
sub rsp, 0x20
call fcn.140088b60
mov rdx, qword [rbp + 0x1438]
mov rcx, qword [rbp + 0x1e0]
add rsp, 0x20
mov r8b, al
mov eax, dword [rbp + 0x21c]
mov byte [rbp + 0x12f], r8b
mov dl, byte [rdx]
mov r8b, 0x95
xor r8b, 0x95
cmp dl, r8b
mov qword [rbp + 0x1e8], rcx
mov dword [rbp + 0x1f4], eax
jne 0x14016e40c
mov al, byte [rbp + 0x12f]
test al, 1
jne 0x14016e088
jmp 0x14016e36e
mov rcx, qword [rbp + 0x1478]
sub rsp, 0x20
call fcn.1401633f3
mov rax, qword [rbp + 0x1438]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0xa8
xor cl, 0xa8
cmp al, cl
jne 0x14016e304
mov rcx, qword [rbp + 0x1420]
movabs rdx, 0x712b76688ce2648c
movabs rax, 0x712b76688ce264bc
xor rdx, rax
sub rsp, 0x20
call fcn.14015930c
mov rcx, qword [rbp + 0x1420]
mov rdx, qword [rbp + 0x1168]
add rsp, 0x20
mov r8d, 0x30
sub rsp, 0x20
call sub.msvcrt.dll_memcpy
mov rcx, qword [rbp + 0x1168]
call fcn.1400c7609
mov rax, qword [rbp + 0x6b8]
mov rcx, qword [rbp + 0x1470]
add rsp, 0x20
mov rax, qword [rax]
mov qword [rbp + 0x110], rax
mov rcx, qword [rcx]
mov qword [rbp + 0x118], rcx
cmp rax, 0
je 0x14016e222
mov ecx, dword [0x14024b1f0]
xor ecx, 0xe26d6c06
mov edx, dword [0x14024b1f4]
mov r8d, ecx
xor r8d, 0xffffffff
mov eax, edx
and eax, r8d
mov r8d, 0xcf8a0134
xor r8d, 0x3075fecb
xor edx, r8d
and ecx, edx
or eax, ecx
add eax, 0x81f55aed
or eax, 0x2b9e44cf
imul eax, eax, 0x7f6e861c
mov ecx, 0x28298472
xor ecx, 0x643eca8d
cmp eax, ecx
je 0x14016fa60
mov rax, qword [rbp + 0x118]
mov r9, qword [rbp + 0x110]
mov r8, qword [rbp + 0x1420]
mov rdx, qword [rbp + 0x1478]
mov rcx, qword [rbp + 0x1480]
mov r11d, dword [0x14024b1f8]
add r11d, dword [0x14024b1fc]
mov r10d, 0x61e2d1b8
xor r10d, 0xcb4c5e90
and r11d, r10d
and r11d, 0x398523fb
mov r10d, r11d
and r10d, 0x683589c3
xor r11d, 0x683589c3
or r10d, r11d
mov dword [rbp + 0x108], r10d
sub rsp, 0x20
call rax
add rsp, 0x20
mov cl, al
mov eax, dword [rbp + 0x108]
mov byte [rbp + 0x10f], cl
cmp eax, 0x4ef56019
jb 0x14016e18b
mov al, byte [rbp + 0x10f]
mov byte [rbp + 0x107], al
jmp 0x14016e24e
mov rax, qword [rbp + 0x118]
mov r8, qword [rbp + 0x1420]
mov rdx, qword [rbp + 0x1478]
mov rcx, qword [rbp + 0x1480]
sub rsp, 0x20
call rax
add rsp, 0x20
mov byte [rbp + 0x107], al
mov rax, qword [rbp + 0x1438]
mov cl, byte [rbp + 0x107]
mov al, byte [rax]
test al, al
sete al
mov byte [rbp + 0x106], al
and al, cl
test al, 1
jne 0x14016e277
jmp 0x14016e323
mov eax, dword [rbp + 0x21c]
movsxd rcx, eax
mov rax, rcx
inc rax
mov qword [rbp + 0xf8], rax
mov rdx, rcx
add rdx, rdx
not rdx
add rdx, rcx
and rax, rdx
test rax, rax
sets al
movabs r8, 0x7fffffff80000001
mov rdx, rcx
and rdx, r8
xor rcx, 0xffffffff80000001
lea rcx, [rcx + rdx*2]
movabs rdx, 0xffffffff00000000
sub rcx, rdx
setb cl
or al, cl
test al, 1
jne 0x14016e2f7
mov rcx, qword [rbp + 0x1e0]
mov rax, qword [rbp + 0xf8]
mov qword [rbp + 0x1e8], rcx
mov dword [rbp + 0x1f4], eax
jmp 0x14016e40c
sub rsp, 0x20
call fcn.140008d37
add rsp, 0x20
mov eax, dword [rbp + 0x21c]
mov rcx, qword [rbp + 0x1e0]
mov qword [rbp + 0x1e8], rcx
mov dword [rbp + 0x1f4], eax
jmp 0x14016e40c
mov eax, dword [rbp + 0x21c]
mov rcx, qword [rbp + 0x1e0]
mov rdx, qword [rbp + 0x160]
mov r9b, byte [rbp + 0x106]
mov r8d, 0x88
test r9b, 1
mov dword [rbp + 0xec], r8d
mov qword [rbp + 0xf0], rdx
mov qword [rbp + 0x1e8], rcx
mov dword [rbp + 0x1f4], eax
jne 0x14016e40c
jmp 0x14016e397
mov rax, qword [rbp + 0x160]
xor ecx, ecx
sub rcx, rax
xor eax, eax
sub rax, 1
add rcx, rax
xor eax, eax
sub rax, rcx
xor ecx, ecx
mov dword [rbp + 0xec], ecx
mov qword [rbp + 0xf0], rax
mov eax, dword [rbp + 0x21c]
mov rcx, qword [rbp + 0x1e0]
mov edx, dword [rbp + 0xec]
mov r8, qword [rbp + 0xf0]
mov qword [rbp + 0xd8], r8
mov dword [rbp + 0xe4], edx
mov byte [rbp + 0xeb], dl
sub dl, 0x88
mov qword [rbp + 0x1e8], rcx
mov dword [rbp + 0x1f4], eax
je 0x14016e40c
jmp 0x14016e3df
mov eax, dword [rbp + 0xe4]
mov rcx, qword [rbp + 0xd8]
mov dl, byte [rbp + 0xeb]
test dl, dl
mov qword [rbp + 0x170], rcx
mov dword [rbp + 0x220], eax
je 0x14016dc3f
jmp 0x14016e558
mov rax, qword [rbp + 0x208]
mov rcx, qword [rbp + 0x1e8]
mov edx, dword [rbp + 0x1f4]
mov dword [rbp + 0xcc], edx
mov qword [rbp + 0xd0], rcx
cmp rax, 0
je 0x14016e48f
mov rax, qword [rbp + 0x208]
mov rax, qword [rax]
movabs rcx, 0x67c2c788388e45d6
movabs rdx, 0x27c2c788388e45d6
xor rcx, rdx
and rax, rcx
movabs rcx, 0x8b5792aee4fc7eb
movabs rdx, 0x8b5792aee4fc7eb
xor rcx, rdx
cmp rax, rcx
jne 0x14016e48f
mov rcx, qword [rbp + 0x208]
sub rsp, 0x20
call fcn.14000f4df
add rsp, 0x20
mov eax, dword [rbp + 0xcc]
mov rcx, qword [rbp + 0xd0]
cmp rcx, 0
mov dword [rbp + 0x214], eax
je 0x14016e506
mov eax, dword [rbp + 0xcc]
mov rcx, qword [rbp + 0xd0]
mov rcx, qword [rcx]
movabs rdx, 0xc409389f09a7ff19
movabs r8, 0x8409389f09a7ff19
xor rdx, r8
and rcx, rdx
cmp rcx, 0
mov dword [rbp + 0x214], eax
jne 0x14016e506
mov rcx, qword [rbp + 0xd0]
sub rsp, 0x20
call fcn.14000f4df
mov eax, dword [rbp + 0xcc]
add rsp, 0x20
mov dword [rbp + 0x214], eax
mov rcx, qword [rbp + 0x1438]
mov eax, dword [rbp + 0x214]
mov dword [rbp + 0xc8], eax
cmp byte [rcx], 0
mov dword [rbp + 0x210], eax
je 0x14016e547
mov rax, qword [rbp + 0x428]
mov ecx, dword [rbp + 0x210]
mov dword [rbp + 0x41c], ecx
mov qword [rbp + 0x420], rax
jmp 0x14016e92f
mov eax, dword [rbp + 0xc8]
mov dword [rbp + 0x3b4], eax
jmp 0x14016e61d
mov eax, dword [rbp + 0x21c]
mov ecx, dword [rbp + 0x220]
mov dword [rbp + 0xc4], ecx
test ecx, ecx
mov dword [rbp + 0x3b4], eax
je 0x14016e61d
jmp 0x14016e57d
mov eax, dword [rbp + 0x21c]
mov ecx, dword [rbp + 0xc4]
mov edx, ecx
sub edx, 0x87
mov dword [rbp + 0x228], ecx
mov ecx, eax
mov dword [rbp + 0x22c], ecx
mov dword [rbp + 0x3b4], eax
je 0x14016e61d
jmp 0x14016e5b0
mov ecx, dword [rbp + 0x228]
mov eax, dword [rbp + 0x22c]
mov dword [rbp + 0xbc], eax
mov dword [rbp + 0xc0], ecx
test ecx, ecx
mov dword [rbp + 0x3b4], eax
je 0x14016e61d
jmp 0x14016e5db
mov eax, dword [rbp + 0xc0]
mov rcx, qword [rbp + 0x3a0]
mov edx, dword [rbp + 0xbc]
mov r8d, eax
sub r8d, 0x6a
mov r8d, edx
mov dword [rbp + 0x3b4], r8d
mov dword [rbp + 0xac], edx
mov qword [rbp + 0xb0], rcx
mov dword [rbp + 0xb8], eax
jne 0x14016e6bd
jmp 0x14016e61d
mov rcx, qword [rbp + 0x3a0]
mov eax, dword [rbp + 0x3b4]
mov dword [rbp + 0xa4], eax
mov edx, dword [rcx]
mov dword [rbp + 0xa8], edx
mov r8d, 0xb9c1efc7
xor r8d, 0xb9c1efc6
xor ecx, ecx
cmp edx, r8d
mov byte [rbp + 0x43b], cl
mov dword [rbp + 0x43c], eax
jl 0x14016adf7
mov edx, dword [rbp + 0xa8]
mov rcx, qword [rbp + 0x3a0]
sub rsp, 0x20
call fcn.14017051c
mov r9, qword [rbp + 0x1438]
mov ecx, dword [rbp + 0xa4]
add rsp, 0x20
mov r8, rax
mov rax, qword [rbp + 0x428]
xor edx, edx
cmp byte [r9], 0
mov r9d, ecx
mov dword [rbp + 0xac], r9d
mov qword [rbp + 0xb0], r8
mov dword [rbp + 0xb8], edx
mov dword [rbp + 0x41c], ecx
mov qword [rbp + 0x420], rax
jne 0x14016e92f
mov eax, dword [rbp + 0xac]
mov rcx, qword [rbp + 0xb0]
mov edx, dword [rbp + 0xb8]
mov dword [rbp + 0x9c], edx
mov dword [rbp + 0xa0], eax
test edx, edx
mov qword [rbp + 0x3b8], rcx
mov dword [rbp + 0x3c4], eax
je 0x14016b41b
jmp 0x14016e6f6
mov eax, dword [rbp + 0xa0]
mov ecx, dword [rbp + 0x9c]
mov rdx, qword [rbp + 0x428]
mov r8, qword [rbp + 0x430]
mov r9d, ecx
sub r9d, 0x66
mov r9d, eax
mov dword [rbp + 0x98], r9d
mov qword [rbp + 0x3c8], r8
mov qword [rbp + 0x3d0], rdx
mov dword [rbp + 0x3d8], ecx
mov dword [rbp + 0x3dc], eax
je 0x14016e784
jmp 0x14016e85e
mov rax, qword [rbp + 0x428]
mov ecx, dword [rbp + 0x414]
mov edx, dword [rbp + 0x3fc]
mov r8d, 0x62ccc3
xor r8d, 0x8062ccc5
cmp edx, r8d
mov edx, ecx
mov dword [rbp + 0x98], edx
mov dword [rbp + 0x41c], ecx
mov qword [rbp + 0x420], rax
je 0x14016e92f
mov eax, dword [rbp + 0x98]
mov dword [rbp + 0x94], eax
movabs rcx, 0xa7045c812a1bf9fd
movabs rax, 0xa7045c812a1bf9bd
xor rcx, rax
movabs rdx, 0xa4be6f93d9da7f6b
movabs rax, 0xa4be6f93d9da7f63
xor rdx, rax
sub rsp, 0x20
call fcn.1400129fd
add rsp, 0x20
mov rcx, rax
mov rax, qword [0x14025a780]
mov qword [rcx], rax
lea rax, [0x140259cd1]
mov qword [rcx + 0x10], rax
mov rax, qword [0x140259d68]
mov qword [rcx + 0x18], rax
mov rax, qword [0x140259d70]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
movabs rax, 0xfcd3046336c86bc2
movabs rdx, 0x32cfb9cd629cb38
xor rax, rdx
lea rdx, [0x140259cd1]
lea r8, [0x140259ce2]
lea r9, [0x140259cea]
sub rsp, 0x30
mov qword [rsp + 0x20], rax
call fcn.140012522
mov ecx, dword [rbp + 0x94]
mov rax, qword [rbp + 0x428]
add rsp, 0x30
mov dword [rbp + 0x41c], ecx
mov qword [rbp + 0x420], rax
jmp 0x14016e92f
mov rcx, qword [rbp + 0x3c8]
mov rdx, qword [rbp + 0x3d0]
mov eax, dword [rbp + 0x3d8]
mov r8d, dword [rbp + 0x3dc]
mov dword [rbp + 0x78], r8d
mov dword [rbp + 0x7c], eax
mov qword [rbp + 0x80], rdx
mov qword [rbp + 0x88], rcx
test eax, eax
je 0x14016e8f9
jmp 0x14016e89b
mov eax, dword [rbp + 0x78]
mov ecx, dword [rbp + 0x7c]
sub ecx, 0x59
mov dword [rbp + 0x458], eax
je 0x14016e955
jmp 0x14016e8b5
mov rax, qword [rbp + 0x80]
mov ecx, dword [rbp + 0x78]
mov edx, dword [rbp + 0x7c]
sub edx, 0x5c
mov dword [rbp + 0x41c], ecx
mov qword [rbp + 0x420], rax
je 0x14016e92f
jmp 0x14016e8dd
mov eax, dword [rbp + 0x78]
mov ecx, dword [rbp + 0x7c]
mov edx, ecx
sub edx, 0x65
mov dword [rbp + 0x70], ecx
mov dword [rbp + 0x74], eax
jne 0x14016f286
jmp 0x14016e8f9
mov eax, dword [rbp + 0x78]
mov cl, byte [rbp + 0x413]
mov rdx, qword [rbp + 0x80]
mov r8, qword [rbp + 0x88]
mov qword [rbp + 0x440], r8
mov qword [rbp + 0x448], rdx
mov byte [rbp + 0x453], cl
mov dword [rbp + 0x454], eax
jmp 0x14016adc3
mov eax, dword [rbp + 0x41c]
mov rcx, qword [rbp + 0x420]
mov dword [rbp + 0x6c], eax
sub rsp, 0x20
call fcn.14001d422
mov eax, dword [rbp + 0x6c]
add rsp, 0x20
mov dword [rbp + 0x458], eax
mov eax, dword [rbp + 0x458]
mov dword [rbp + 0x68], eax
mov eax, dword [0x14024b200]
add eax, dword [0x14024b204]
mov ecx, 0x597b4187
xor edx, edx
div ecx
mov edx, 0xb7be218e
xor edx, 0x337ca4a5
mov ecx, eax
and ecx, edx
shl ecx, 1
add eax, 0x84c2852b
sub eax, ecx
xor eax, 0xe38253ea
cmp eax, 0x73f35be1
jae 0x14016fa69
mov r8, qword [rbp + 0x1438]
mov eax, dword [0x14024b208]
mov r9d, dword [0x14024b20c]
mov edx, 0x36f880d
xor edx, 0xfc9077f2
mov ecx, eax
xor ecx, edx
mov edx, r9d
and edx, ecx
mov r10d, r9d
xor r10d, 0xffffffff
mov ecx, eax
and ecx, r10d
imul ecx, edx
mov edx, eax
and edx, r9d
or eax, r9d
imul eax, edx
add eax, ecx
mov ecx, 0x638673ee
xor edx, edx
div ecx
mov rdx, qword [rbp + 0x11c8]
mov r9d, 0x94d0aaf6
xor r9d, 0x932a948f
mov ecx, 0x3eb497a2
xor ecx, 0xc14b685d
xor r9d, ecx
mov ecx, eax
xor ecx, r9d
and ecx, eax
mov eax, ecx
and eax, 0xa86973f4
mov r9d, 0x879ff037
xor r9d, 0x2ff683c3
xor ecx, r9d
or eax, ecx
mov ecx, 0xa1dcdb4e
xor ecx, 0x9b701cb
mov r9b, byte [r8]
mov byte [rbp + 0x57], r9b
mov byte [r8], 0
mov rdx, qword [rdx]
mov qword [rbp + 0x58], rdx
movabs r8, 0x80851af651cf0920
movabs r9, 0x80851af651cf0920
xor r8, r9
cmp rdx, r8
setg dl
mov byte [rbp + 0x67], dl
cmp eax, ecx
ja 0x14016fa69
mov al, byte [rbp + 0x67]
test al, 1
jne 0x14016ea80
jmp 0x14016eaf5
mov rcx, qword [rbp + 0x58]
mov rax, qword [0x14025a7c0]
mov rax, qword [rax]
sub rsp, 0x20
call rax
add rsp, 0x20
mov rax, qword [rbp + 0x1438]
mov al, byte [rax]
mov byte [rbp + 0x4f], al
xor ecx, ecx
test al, al
mov eax, 0x57
cmove eax, ecx
mov dword [rbp + 0x50], eax
mov cl, al
mov byte [rbp + 0x56], cl
test eax, eax
je 0x14016eaf5
jmp 0x14016eac5
mov eax, dword [rbp + 0x68]
mov ecx, dword [rbp + 0x50]
mov dl, byte [rbp + 0x4f]
mov r8b, byte [rbp + 0x56]
sub r8b, 0x57
mov byte [rbp + 0x473], dl
mov edx, eax
mov dword [rbp + 0x474], edx
mov dword [rbp + 0x70], ecx
mov dword [rbp + 0x74], eax
je 0x14016eba1
jmp 0x14016f286
mov eax, dword [rbp + 0x68]
mov cl, byte [rbp + 0x57]
mov byte [rbp + 0x473], cl
mov dword [rbp + 0x474], eax
jmp 0x14016eba1
mov rax, qword [rbp + 0x4a8]
mov qword [rbp + 0x40], rax
sub rsp, 0x20
call fcn.140008d37
mov r8, qword [rbp + 0x1438]
mov rdx, qword [rbp + 0x4c0]
mov rcx, qword [rbp + 0x4d0]
mov rax, qword [rbp + 0x40]
add rsp, 0x20
mov r8b, byte [r8]
mov byte [rbp + 0x4df], r8b
mov qword [rbp + 0x4e0], rdx
mov qword [rbp + 0x4e8], rcx
mov qword [rbp + 0x4f0], rax
mov r9d, dword [rbp + 0x51c]
mov r10, qword [rbp + 0x1438]
mov al, byte [rbp + 0x4df]
mov rcx, qword [rbp + 0x4e0]
mov rdx, qword [rbp + 0x4e8]
mov r8, qword [rbp + 0x4f0]
mov byte [r10], 0
mov dword [rbp + 0x1c], r9d
mov qword [rbp + 0x20], r8
mov qword [rbp + 0x28], rdx
mov qword [rbp + 0x30], rcx
mov byte [rbp + 0x3f], al
jmp 0x14016ec89
mov rcx, qword [rbp + 0x4c0]
mov rdx, qword [rbp + 0x4d0]
mov r8, qword [rbp + 0x4a0]
mov r10, qword [rbp + 0x480]
mov r11, qword [rbp + 0x1438]
mov al, byte [rbp + 0x473]
mov r9d, dword [rbp + 0x474]
mov dword [rbp + 0x14], r9d
mov byte [rbp + 0x1b], al
mov byte [r11], 0
cmp r10, 0
mov dword [rbp + 0x1c], r9d
mov qword [rbp + 0x20], r8
mov qword [rbp + 0x28], rdx
mov qword [rbp + 0x30], rcx
mov byte [rbp + 0x3f], al
je 0x14016ec89
mov al, byte [rbp + 0x1b]
mov rcx, qword [rbp + 0x4c0]
mov rdx, qword [rbp + 0x4d0]
mov r8, qword [rbp + 0x4a0]
mov r9d, dword [rbp + 0x14]
mov r11, qword [rbp + 0x480]
movabs r10, 0x4000000000000000
and r10, qword [r11]
cmp r10, 0
mov dword [rbp + 0x1c], r9d
mov qword [rbp + 0x20], r8
mov qword [rbp + 0x28], rdx
mov qword [rbp + 0x30], rcx
mov byte [rbp + 0x3f], al
jne 0x14016ec89
mov rcx, qword [rbp + 0x480]
sub rsp, 0x20
call fcn.14000f4df
mov r9d, dword [rbp + 0x14]
mov r8, qword [rbp + 0x4a0]
mov rdx, qword [rbp + 0x4d0]
mov rcx, qword [rbp + 0x4c0]
mov al, byte [rbp + 0x1b]
add rsp, 0x20
mov dword [rbp + 0x1c], r9d
mov qword [rbp + 0x20], r8
mov qword [rbp + 0x28], rdx
mov qword [rbp + 0x30], rcx
mov byte [rbp + 0x3f], al
mov edx, dword [rbp + 0x1c]
mov rax, qword [rbp + 0x20]
mov r8, qword [rbp + 0x28]
mov r9, qword [rbp + 0x30]
mov cl, byte [rbp + 0x3f]
mov byte [rbp - 0x11], cl
mov qword [rbp - 0x10], r9
mov qword [rbp - 8], r8
mov qword [rbp], rax
mov dword [rbp + 0xc], edx
cmp cl, 0
sete cl
mov byte [rbp + 0x13], cl
cmp rax, 0
je 0x14016ed65
mov rax, qword [rbp]
mov rax, qword [rax]
xor rax, 0xffffffffffffffff
movabs rcx, 0x3cae932e15a3e73e
movabs rdx, 0x7cae932e15a3e73e
xor rcx, rdx
movabs rdx, 0x8effe42c6047a422
movabs r8, 0x71001bd39fb85bdd
xor rdx, r8
xor rcx, rdx
mov rdx, 0xffffffffffffffff
movabs r8, 0xc3c1f53a81a66c55
xor rdx, r8
or rax, rcx
movabs rcx, 0x3e3e90ed3c48dab6
movabs r8, 0xfdff65d7bdeeb6e3
xor rcx, r8
or rcx, rdx
movabs rdx, 0x65671f67a3c15abf
movabs r8, 0x9a98e0985c3ea540
xor rdx, r8
xor rax, rdx
and rax, rcx
cmp rax, 0
jne 0x14016ed65
mov rcx, qword [rbp]
sub rsp, 0x20
call fcn.14000f4df
add rsp, 0x20
mov eax, dword [0x14024b210]
mov edx, dword [0x14024b214]
mov r8d, eax
xor r8d, edx
xor r8d, 0xffffffff
mov ecx, edx
and ecx, r8d
shl ecx, 1
sub ecx, edx
sub eax, ecx
mov ecx, 0x386af93b
xor ecx, 0xc79506c4
mov edx, eax
xor edx, ecx
and edx, 0x8989541f
mov r8d, 0xa921bcd7
xor r8d, 0x20a8e8c8
mov ecx, 0xaecf037f
xor ecx, 0x5130fc80
xor r8d, ecx
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x8989541f
mov r8d, 0xd7a67e46
xor r8d, 0x5e2f2a59
or eax, r8d
imul eax, edx
add eax, ecx
mov edx, 0x63c6e7d8
xor edx, 0x9c391827
mov ecx, eax
xor ecx, edx
and ecx, 0x9d068208
mov edx, 0x639c691
xor edx, 0x9b3f4499
mov r8d, 0x64c371e1
xor r8d, 0x9b3c8e1e
xor edx, r8d
and eax, edx
sub eax, ecx
mov edx, 0xcc8f410d
xor edx, 0xc29adccf
mov ecx, eax
xor ecx, edx
mov edx, 0x1d76175f
xor edx, 0x13638a9d
mov r8d, 0x46e822aa
xor r8d, 0xb917dd55
xor edx, r8d
and eax, edx
shl eax, 1
sub eax, ecx
mov ecx, 0xb7b2190c
xor ecx, 0x4fa5a2b0
cmp eax, ecx
ja 0x14016fa72
mov rcx, qword [rbp - 8]
mov edx, dword [0x14024b218]
xor edx, 0x4af1a6c0
xor edx, dword [0x14024b21c]
mov eax, 0x4208a9bf
xor eax, 0x3cba1f8c
or edx, eax
mov r9d, 0xffffffff
xor r9d, 0xd55d5b92
mov r8d, edx
and r8d, r9d
mov eax, edx
or eax, r9d
mov r9d, 0x9ff709d0
xor r9d, 0x6008f62f
xor eax, r9d
imul eax, r8d
mov r8d, edx
and r8d, 0xd55d5b92
or edx, 0xd55d5b92
imul edx, r8d
add edx, eax
mov eax, edx
and eax, 0x86aaf74c
mov r8d, 0x28e0c3c6
xor r8d, 0xae4a348a
or edx, r8d
add eax, edx
cmp rcx, 0
sete cl
mov byte [rbp - 0x12], cl
cmp eax, 0x4c567b0b
je 0x14016fa72
mov al, byte [rbp - 0x12]
test al, 1
jne 0x14016f02a
jmp 0x14016eef6
mov eax, dword [0x14024b220]
mov r8d, dword [0x14024b224]
xor r8d, 0x9e56c52c
mov r9d, r8d
xor r9d, 0xffffffff
mov edx, eax
and edx, r9d
mov ecx, eax
or ecx, r9d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, eax
and ecx, 0x885e33d9
shl ecx, 1
xor eax, 0x885e33d9
add eax, ecx
mov ecx, 0x38af0012
xor ecx, 0xb55064e3
or eax, ecx
mov ecx, 0xffffffff
xor ecx, 0x9f05a127
mov edx, 0xfb062dfe
xor edx, 0xfb062dfe
mov r8d, 0xac1faa0a
xor r8d, 0xac1faa0b
sub edx, r8d
sub ecx, edx
sub eax, ecx
cmp eax, 0xbe506532
ja 0x14016fa7b
mov eax, dword [0x14024b228]
xor eax, 0xd55bf734
mov edx, dword [0x14024b22c]
xor edx, 0xffffffff
mov ecx, eax
xor ecx, edx
and ecx, eax
mov eax, 0x9160c86b
xor eax, 0x9160c86b
mov edx, 0x7aabb973
xor edx, 0xc64a196c
sub eax, edx
add ecx, eax
mov eax, ecx
and eax, 0x5fdc5136
xor ecx, 0x5fdc5136
or eax, ecx
mov ecx, 0x50ca9e62
xor edx, edx
div ecx
mov rdx, qword [rbp - 8]
movabs rcx, 0x4000000000000000
and rcx, qword [rdx]
movabs rdx, 0xd3c038c33ffd4f74
movabs r8, 0xd3c038c33ffd4f74
xor rdx, r8
cmp rcx, rdx
sete cl
mov byte [rbp - 0x13], cl
cmp eax, 0xb9daf923
jae 0x14016ef82
mov al, byte [rbp - 0x13]
test al, 1
jne 0x14016f019
jmp 0x14016f02a
mov rcx, qword [rbp - 8]
sub rsp, 0x20
call fcn.14000f4df
add rsp, 0x20
mov rax, qword [rbp - 0x10]
cmp rax, 0
je 0x14016f230
mov r8d, dword [0x14024b230]
mov ecx, dword [0x14024b234]
mov eax, r8d
xor eax, 0xffffffff
and eax, ecx
xor ecx, 0xffffffff
and r8d, ecx
sub r8d, eax
mov ecx, 0x1adea3a3
xor ecx, 0xe5215c5c
mov eax, r8d
xor eax, ecx
and eax, 0x532f3d70
mov edx, 0x78e66a89
xor edx, 0x2bc957f9
mov ecx, 0x469b532d
xor ecx, 0xb964acd2
xor edx, ecx
and r8d, edx
mov ecx, 0xffffffff
xor ecx, 0xce8efca9
mov r9d, 0xd901a722
xor r9d, 0x8a2e9a52
and ecx, r9d
and edx, 0xce8efca9
or eax, r8d
or ecx, edx
xor eax, ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0xf206498e
mov r8d, 0xa15a8a82
xor r8d, 0x535cc30c
mov ecx, 0xf1468b9a
xor ecx, 0xeb97465
xor r8d, ecx
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov r8d, 0xf01ef92
xor r8d, 0xfd07a61c
mov edx, eax
and edx, r8d
or eax, 0xf206498e
imul eax, edx
add eax, ecx
imul eax, eax, 0x49cf5a76
mov ecx, 0xb618eb57
xor ecx, 0x94634ee1
cmp eax, ecx
jbe 0x14016fa84
mov rcx, qword [rbp - 0x10]
mov edx, dword [0x14024b238]
sub edx, dword [0x14024b23c]
mov eax, edx
and eax, eax
mov r8d, 0xae5fee72
xor r8d, 0x51a0118d
xor eax, r8d
and eax, 0x3375bfeb
xor eax, 0xffffffff
mov r8d, 0x5e72c87d
xor r8d, 0x6d077796
mov r9d, 0xe31680d9
xor r9d, 0x1ce97f26
xor r8d, r9d
mov r9d, 0xffa55179
xor r9d, 0xccd0ee92
mov r10d, 0x64d05c82
xor r10d, 0x9b2fa37d
xor r9d, r10d
or r8d, r9d
and edx, r8d
mov r8d, 0x7bfb5989
xor r8d, 0x8404a676
xor edx, r8d
and eax, edx
xor eax, 0xffffffff
imul eax, eax, 0xac0a1d47
sub eax, 0xbe981454
mov rdx, qword [rcx]
mov rcx, rdx
xor rcx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
and rcx, rdx
mov rdx, 0xffffffffffffffff
movabs r8, 0x4000000000000000
xor rdx, r8
mov r8, 0xffffffffffffffff
movabs r9, 0x4000000000000000
xor r8, r9
and rdx, r8
xor rcx, 0xffffffffffffffff
movabs r8, 0x58731ed97fc3c5f5
movabs r9, 0xa78ce126803c3a0a
xor r8, r9
xor rdx, r8
and rcx, rdx
cmp rcx, 0
sete cl
mov byte [rbp - 0x14], cl
cmp eax, 0x7d99086a
ja 0x14016fa84
mov al, byte [rbp - 0x14]
test al, 1
jne 0x14016f21f
jmp 0x14016f230
mov rcx, qword [rbp - 0x10]
sub rsp, 0x20
call fcn.14000f4df
add rsp, 0x20
mov rcx, qword [rbp + 0x1190]
sub rsp, 0x20
call fcn.1400c7640
mov rax, qword [rbp + 0x1438]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14016f27b
mov al, byte [rbp + 0x13]
mov rcx, qword [rbp + 0x1438]
mov dl, byte [rbp - 0x11]
mov byte [rcx], dl
test al, 1
jne 0x14016f270
jmp 0x14016f27b
mov eax, dword [rbp + 0xc]
mov dword [rbp - 0x18], eax
jmp 0x14016f338
mov eax, dword [rbp + 0xc]
mov dword [rbp - 0x1c], eax
jmp 0x14016f2c3
mov ecx, dword [rbp + 0x70]
mov eax, dword [rbp + 0x74]
mov dword [rbp - 0x28], eax
mov edx, 0xb1f8e82e
xor edx, 0xb1f8e82e
cmp ecx, edx
mov dword [rbp - 0x24], ecx
mov dword [rbp - 0x20], eax
jne 0x14016f3ce
mov eax, dword [rbp - 0x28]
mov rcx, qword [rbp + 0x1438]
cmp byte [rcx], 0
mov ecx, eax
mov dword [rbp - 0x1c], ecx
mov dword [rbp - 0x18], eax
je 0x14016f338
mov eax, dword [rbp - 0x1c]
mov dword [rbp - 0x34], eax
sub rsp, 0x20
call fcn.1401593ac
add rsp, 0x20
mov rcx, rax
mov eax, dword [rbp - 0x34]
mov rcx, qword [rcx]
mov qword [rbp - 0x30], rcx
mov cx, word [rcx + 0x12]
mov dx, 0xe19a
xor dx, 0xe19b
cmp cx, dx
mov dword [rbp - 0x18], eax
jle 0x14016f338
mov eax, dword [rbp - 0x34]
mov rcx, qword [rbp - 0x30]
mov rcx, qword [rcx + 0x18]
cmp dword [rcx + 8], 0xc5722261
mov dword [rbp - 0x18], eax
jne 0x14016f338
mov rax, qword [rbp + 0x1438]
mov cl, 0xf7
xor cl, 0xf7
mov byte [rax], cl
sub rsp, 0x20
call fcn.1401594a0
mov eax, dword [rbp - 0x34]
add rsp, 0x20
mov dword [rbp - 0x18], eax
mov rax, qword [rbp + 0x500]
mov ecx, dword [rbp - 0x18]
mov dword [rbp - 0x38], ecx
cmp rax, 0
je 0x14016f3a8
mov rax, qword [rbp + 0x500]
mov rax, qword [rax]
mov rcx, rax
add rcx, 1
movabs rdx, 0x232eeb77bd22f3c7
movabs r8, 0xdcd1148842dd0c38
xor rdx, r8
xor rax, rdx
movabs rdx, 0x4000000000000000
or rax, rdx
add rax, rcx
cmp rax, 0
jne 0x14016f3a8
mov rcx, qword [rbp + 0x500]
sub rsp, 0x20
call fcn.14000f4df
add rsp, 0x20
mov eax, dword [rbp - 0x38]
mov r8, qword [rbp + 0x1438]
xor edx, edx
mov cl, 1
cmp byte [r8], 0
mov dword [rbp - 0x24], edx
mov edx, eax
mov dword [rbp - 0x20], edx
mov byte [rbp - 0x3d], cl
mov dword [rbp - 0x3c], eax
jne 0x14016f5b7
mov ecx, dword [rbp - 0x24]
mov eax, dword [rbp - 0x20]
mov dword [rbp - 0x48], eax
mov dword [rbp - 0x44], ecx
test ecx, ecx
mov dword [rbp + 0x774], eax
je 0x14016a26b
jmp 0x14016f3ed
mov eax, dword [rbp - 0x48]
mov ecx, dword [rbp - 0x44]
sub ecx, 0x56
mov dword [rbp + 0x520], eax
jne 0x14016f73b
jmp 0x14016f407
mov eax, dword [rbp + 0x520]
mov dword [rbp - 0x4c], eax
mov eax, dword [0x14024b240]
mov ecx, dword [0x14024b244]
mov edx, 0x735aa788
xor edx, 0xc9139cbb
xor ecx, edx
xor edx, edx
div ecx
mov r8d, eax
sub r8d, 0x5ac4165c
mov eax, 0xffffffff
xor eax, 0x5196a700
add r8d, eax
mov eax, 0xe0ed1e17
xor eax, 0xe0ed1e16
add r8d, eax
mov eax, 0x6f98013c
xor eax, 0x9067fec3
mov ecx, r8d
xor ecx, eax
mov eax, 0x155bebd9
xor eax, 0x90cd576a
and eax, ecx
mov edx, 0xffffffff
xor edx, 0x8596bcb3
and r8d, edx
mov ecx, 0xb629dfa8
xor ecx, 0x360b5c10
mov r9d, 0x8c974559
xor r9d, 0x7368baa6
xor ecx, r9d
and ecx, 0x8596bcb3
and edx, 0x802283b8
or eax, r8d
or ecx, edx
xor eax, ecx
cmp eax, 0x2dd21289
je 0x14016fa8d
mov rcx, qword [rbp + 0x1438]
mov eax, dword [0x14024b248]
mov edx, 0x3b06cda2
xor edx, 0x6fabcd9
xor eax, edx
xor edx, edx
div dword [0x14024b24c]
mov r9d, eax
mov eax, r9d
xor eax, 0xffffffff
mov edx, 0xac34109a
xor edx, 0x1464cf52
and edx, eax
mov r8d, 0xffffffff
xor r8d, 0xb850dfc8
mov eax, r9d
and eax, r8d
imul eax, edx
mov r8d, 0x100eac08
xor r8d, 0xa85e73c0
mov edx, r9d
and edx, r8d
mov r8d, 0xfd006828
xor r8d, 0x4550b7e0
or r9d, r8d
imul r9d, edx
add r9d, eax
mov eax, r9d
xor eax, 0xffffffff
and eax, 0xc12b633b
mov r10d, 0xffffffff
xor r10d, 0xc12b633b
and r9d, r10d
mov edx, 0x959613f9
xor edx, 0x840e84ef
mov r8d, 0x12483204
xor r8d, 0xedb7cdfb
xor edx, r8d
and edx, 0xc12b633b
mov r8d, 0x484eafc8
xor r8d, 0x59d638de
and r8d, r10d
or eax, r9d
or edx, r8d
xor eax, edx
mov edx, 0xffffffff
xor edx, 0x814f3ad5
xor r8d, r8d
sub r8d, 1
sub edx, r8d
sub eax, edx
mov cl, byte [rcx]
mov byte [rbp - 0x4d], cl
cmp eax, 0x546aa543
je 0x14016fa8d
mov eax, dword [rbp - 0x4c]
mov cl, byte [rbp - 0x4d]
mov byte [rbp - 0x3d], cl
mov dword [rbp - 0x3c], eax
jmp 0x14016f5b7
mov al, byte [rbp - 0x3d]
mov ecx, dword [rbp - 0x3c]
mov dword [rbp - 0x54], ecx
mov byte [rbp - 0x4e], al
mov r11d, dword [0x14024b250]
xor r11d, 0x3e9dfcda
or r11d, dword [0x14024b254]
mov eax, r11d
xor eax, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0xfee79d5e
mov edx, 0xffffffff
xor edx, 0x162281e
mov ecx, eax
and ecx, 0x162281e
and r11d, edx
mov r9d, r8d
and r9d, 0x162281e
mov r10d, 0x3782239b
xor r10d, 0xc965bec5
and r10d, edx
or ecx, r11d
or r9d, r10d
xor ecx, r9d
or eax, r8d
xor eax, 0xffffffff
or edx, 0x162281e
and eax, edx
or ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xaed29c9b
and eax, edx
or ecx, 0xaed29c9b
mov edx, 0x2cefecc4
xor edx, 0xd310133b
xor ecx, edx
or eax, ecx
xor eax, 0xffffffff
mov ecx, 0x5fae255c
xor edx, edx
div ecx
cmp eax, 0xf4df0b60
ja 0x14016fa96
mov rcx, qword [rbp + 0x1428]
mov eax, dword [0x14024b258]
xor eax, 0x3975d989
xor edx, edx
div dword [0x14024b25c]
mov rdx, qword [rbp + 0x1438]
mov r8d, eax
mov rax, qword [rbp + 0x1170]
imul r8d, r8d, 0x9fcd399d
sub r8d, 0xeba8b8a1
add r8d, 0x56700c0a
mov dword [rbp - 0x5c], r8d
mov byte [rdx], 0
mov rdx, qword [rax]
mov qword [rcx], rdx
mov rax, qword [rax + 8]
mov qword [rcx + 8], rax
sub rsp, 0x20
call fcn.1400180fc
mov rcx, qword [rbp + 0x1168]
call fcn.1400c7640
mov rcx, qword [rbp + 0x1438]
mov eax, dword [rbp - 0x5c]
add rsp, 0x20
cmp byte [rcx], 0
sete cl
mov byte [rbp - 0x55], cl
cmp eax, 0xd9612014
jae 0x14016f672
mov al, byte [rbp - 0x55]
test al, 1
jne 0x14016f70e
jmp 0x14016f72d
mov al, byte [rbp - 0x4e]
mov rcx, qword [rbp + 0x1438]
mov byte [rcx], al
cmp al, 0
jne 0x14016f72d
mov eax, dword [rbp - 0x54]
mov dword [rbp - 0x60], eax
jmp 0x14016f7f7
mov eax, dword [rbp - 0x54]
mov dword [rbp + 0xed8], eax
jmp 0x14016f750
mov eax, dword [rbp - 0x48]
mov ecx, dword [rbp - 0x44]
cmp ecx, 2
mov dword [rbp + 0xed8], eax
jne 0x14016f854
mov eax, dword [rbp + 0xed8]
mov dword [rbp - 0x6c], eax
sub rsp, 0x20
call fcn.1401593ac
add rsp, 0x20
mov rcx, rax
mov eax, dword [rbp - 0x6c]
mov rcx, qword [rcx]
mov qword [rbp - 0x68], rcx
cmp word [rcx + 0x12], 1
mov dword [rbp - 0x60], eax
jle 0x14016f7f7
mov eax, dword [rbp - 0x6c]
mov rcx, qword [rbp - 0x68]
mov rcx, qword [rcx + 0x18]
mov ecx, dword [rcx + 8]
mov edx, 0xc65afc9e
xor edx, 0x328deff
cmp ecx, edx
mov dword [rbp - 0x60], eax
jne 0x14016f7f7
mov rax, qword [rbp + 0x1438]
mov rcx, qword [rbp + 0x1478]
mov byte [rax], 0
sub rsp, 0x20
call fcn.1401629d7
mov rcx, qword [rbp + 0x1438]
mov eax, dword [rbp - 0x6c]
add rsp, 0x20
cmp byte [rcx], 0
mov dword [rbp + 0xedc], eax
jne 0x14016f854
sub rsp, 0x20
call fcn.1401594a0
mov eax, dword [rbp - 0x6c]
add rsp, 0x20
mov dword [rbp + 0xedc], eax
jmp 0x14016f854
mov rax, qword [rbp + 0x1438]
mov rcx, qword [rbp + 0x1478]
mov edx, dword [rbp - 0x60]
mov dword [rbp - 0x70], edx
mov dl, byte [rax]
mov byte [rbp - 0x71], dl
mov byte [rax], 0
sub rsp, 0x20
call fcn.1401629d7
mov rcx, qword [rbp + 0x1438]
mov eax, dword [rbp - 0x70]
add rsp, 0x20
mov cl, byte [rcx]
mov dl, 0x57
xor dl, 0x57
cmp cl, dl
mov dword [rbp + 0xedc], eax
jne 0x14016f854
mov eax, dword [rbp - 0x70]
mov rcx, qword [rbp + 0x1438]
mov dl, byte [rbp - 0x71]
mov byte [rcx], dl
mov dword [rbp + 0xedc], eax
mov eax, dword [rbp + 0xedc]
mov dword [rbp - 0x78], eax
mov eax, dword [0x14024b260]
mov r8d, dword [0x14024b264]
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
and eax, 0xa4b0a1c0
mov ecx, 0x68b85c23
xor edx, edx
div ecx
mov ecx, 0x53e89d36
xor edx, edx
div ecx
cmp eax, 0xa5884fe3
jae 0x14016fa9f
mov eax, dword [0x14024b268]
mov ecx, 0xdd70e419
xor ecx, 0x4c8a674c
xor eax, ecx
mov ecx, dword [0x14024b26c]
xor ecx, 0xf0226b66
imul eax, ecx
and eax, 0x9d2f0692
mov r8d, 0x16e44773
xor r8d, 0xf00e4d14
mov ecx, 0x1231dcb3
xor ecx, 0xedce234c
xor r8d, ecx
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
mov r8d, 0x68e66ea6
xor r8d, 0x97199159
xor ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0xe6ea0a67
or eax, 0xe6ea0a67
imul eax, edx
add eax, ecx
and eax, 0x99ce7b94
mov ecx, 0x93a7fe75
xor ecx, 0xaa11d602
cmp eax, ecx
jae 0x14016f8b2
mov eax, dword [rbp - 0x78]
lea rsp, [rbp + 0x1488]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
movabs eax, dword [0xffff48b6e92f8f5a]
xlatb
invalid
invalid
cmp al, 0x96
invalid
mov gs, esp
insb byte [rdi], dx
mov dh, 0xe9
or eax, 0x79ffff75
and bh, al
scasb al, byte [rdi]
jmp 0x1401670a7
jns 0x14016f9a1
invalid
outsb dx, byte [rsi]
or al, 0xd1
mov ch, 0xe9
fstp xword [rbp - 1]
dec dword [rcx - 0x55]
stosq qword [rdi], rax
cmp byte [rbp - 0x7d2417], ah
dec dword [rax]
invalid
or byte [rdx - 0x711698c1], al
test bh, bh
invalid
invalid
invalid
xchg ebx, eax
retf 0x9b77
invalid
ret
invalid
sal byte [rdi + rcx], 0x5f
jmp 0x140169ae9
invalid
xor al, 0x24
and esp, dword [rax]
jmp 0x14016a9ab
retf
xchg ebp, eax
movsd dword [rdi], dword [rsi]
mov ecx, 0xbc9fe959
invalid
movabs al, byte [0xffffbfd5e97b3301]
je 0x14016fa6e
invalid
invalid
sub edx, eax
mov ebp, 0xd019e974
invalid
xchg edi, eax
invalid
or al, 0xa3
popfq
jmp 0x14016ce55
shl r9d, cl
invalid
rol byte [rsi - 0x4e], 1
mov ecx, 0xffdccee9
jmp [rbp - 0x1b]
insd dword [rdi], dx
in eax, 0x3a
sub ch, cl
xor esp, ecx
invalid
imul esp, dword [rsi + 0x36e93b9c], 0xffffffe2
loop 0x14016fa55
invalid
jmp rax
loopne 0x14016fa54
add al, 0xab
jmp 0x14016dd9f
push 0xffffffffffffff8f
fist dword [rsi - 0x18dd17]
call qword [rbp - 0x1653b358]
xchg ebp, eax
test al, 0x4c
lodsb al, byte [rsi]
jmp 0x14016e99c
sub ch, bh
invalid
mov al, byte [rcx + rbx*2 - 0xc261610]
invalid
imul ebx, dword [rdi], 0xffffffc3
xchg ecx, ebp
invalid
invalid
movabs al, byte [0xfffffa1de9b168c3]
push rsp
pop rbp
adc eax, 0xfffbd3e9
call qword [rdx - 0x16548f93]
or bh, dh
invalid
xchg edx, eax
insd dword [rdi], dx
jo 0x14016fa4e
jmp 0x14016f8b2