Function at 0x14023a87c
Capabilities:
Access peb ldr_data
Check os version
Encode data using base64
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 8], rcx
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x490
xor r12d, r12d
mov dword [rsp + 0xb8], r12d
movabs rax, 0x17a5fed800000000
mov rbx, qword [0x14035f070]
imul rbx, rax
movabs rax, 0xfe71730b00000000
xor rbx, rax
mov qword [rsp + 0x4d8], rbx
movabs rdi, 0x2735903edf32b0b8
mov rcx, rbx
imul rcx, rdi
movabs r14, 0xaaaaaaaaaaaaaaab
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
lea r13, [0x14035f060]
mov r10, rbx
and r10, rdi
imul r10, qword [r13 + rcx*8]
movabs rax, 0x832bf5abcf661b0
imul r10, rax
shr r10, 3
movabs rax, 0x2e76fcfcd4cfc25f
xor r10, rax
movabs rax, 0xffffff57ea1d0227
mov r9, rbx
imul r9, rax
sub r9, 0x2246ea90
xor r9, r10
xor r9, qword [0x14035f060]
mov rax, r10
imul rax, qword [0x14035f070]
movabs rcx, 0xb9de928be3aebd06
imul rax, rcx
not rax
and r9, rax
ror r9, 0xf
shr r9, 8
movabs r8, 0xd8ca6fc120cd4f48
lea rcx, [rbx + r8]
xor rcx, 0xffffffffdd20b60b
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rax, 0xc7bb35d1b29daf60
mov r11, qword [r13 + rcx*8]
imul r11, rax
add r11, rdi
movabs rcx, 0x87c7c85e97fb60
mov rax, r10
imul rax, rcx
xor r11, rax
shr r11, 0x1f
not r11
mov rsi, r11
xor rsi, rbx
lea rcx, [r11 + r8]
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, r11b
movzx ecx, byte [r13 + rcx*8]
imul ecx, eax
movzx ecx, cl
xor ecx, 0x17
mov ebx, 0x8000003f
and ecx, ebx
lea r15d, [r12 + 1]
jge 0x14023aa14
sub ecx, r15d
or ecx, 0xffffffc0
add ecx, r15d
ror rsi, cl
not rsi
imul rsi, r10
imul r8, rsi, 0xffffffffddb91570
sub r8, rdi
mov rdi, r11
imul rdi, r9
sub rdi, r8
mov rax, r8
sub rax, qword [0x14035f078]
xor rdi, rax
movabs rax, 0x312fa1495ba46880
imul rsi, rax
movabs rax, 0x2225f30a11dd8440
sub rsi, rax
xor rdi, rsi
xor rdi, r10
xor rdi, qword [rsp + 0x4d8]
movabs rax, 0x676be5eba979c2dd
xor rdi, rax
mov rax, r14
mul r10
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
mov rdx, r10
sub rdx, rax
mov rax, rdi
mov r14, qword [0x14035f080]
imul rax, r14
mov rsi, qword [r13 + rdx*8]
and rsi, rax
xor rsi, r10
and r10b, 0x3f
mov cl, r10b
ror rsi, cl
imul rsi, r8
not r9
imul r9, r11
movabs rax, 0x7cd8a7de584057ea
imul r9, rax
mov rax, rsi
imul rax, qword [rsp + 0x4d8]
xor r9, rax
imul r10, qword [0x14035f060], 0xffffffffddb91570
mov rdx, qword [0x14035f068]
sub r10, rdx
mov al, r9b
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, ebx
jge 0x14023ab06
sub ecx, r15d
or ecx, 0xffffffc0
add ecx, r15d
ror r10, cl
lea rcx, [r8 + r10]
not r8
imul r8, rdi
imul rcx, r8
movabs rax, 0x2735903edf32b0b8
imul rcx, rax
movabs rax, 0xf5ed7e87afb817fb
xor r11, rax
not r11
xor rcx, r11
xor rsi, r9
imul rsi, r14
sub rcx, rsi
call fcn.1401c7cf4
mov qword [0x14036d9e0], rax
xor eax, eax
mov byte [rsp + 0x4d8], al
mov dword [rsp + 0x238], 0x35bb407
mov dword [rsp + 0x23c], 0x65c6316b
mov dword [rsp + 0x240], 0x29b14969
mov word [rsp + 0x244], 0x9267
mov byte [rsp + 0x246], 0xb5
mov r13, r12
movabs r12, 0x13cce94adb96c2c4
xor edx, edx
mov rax, r13
div r12
add dl, 0x30
mov r14b, dl
sar r14b, 7
or r14b, dl
mov sil, r14b
shl sil, 6
mov al, r14b
sar al, 2
or sil, al
mov r8b, r14b
sar r8b, 5
mov al, r14b
shl al, 3
or r8b, al
mov r10b, r14b
sar r10b, 3
mov al, r14b
shl al, 5
or r10b, al
mov dl, r14b
sar dl, 4
mov al, r14b
shl al, 4
or dl, al
mov r9b, r14b
add r9b, r9b
mov r11b, r14b
sar r11b, 7
mov bl, r14b
not bl
mov dil, byte [rsp + r13 + 0x238]
sub dil, sil
sub dil, 2
mov eax, 4
sub al, sil
xor dil, al
mov cl, r14b
shl cl, 7
mov al, r14b
sar al, 1
or cl, al
sub dil, cl
sub dil, byte [0x14035f058]
sub dil, byte [0x14035f050]
sub dil, 0x3f
add dil, r14b
add dil, sil
lea eax, [r14 + 7]
add al, sil
xor dil, al
sub dil, r14b
sub dil, r8b
sub dil, byte [0x14035f048]
sub dil, 0x50
mov rcx, qword [0x14035f040]
add dil, sil
add dil, cl
mov al, r14b
sub al, r8b
add al, dl
add al, sil
xor dil, al
mov al, r14b
sub al, dl
xor al, r14b
sub dil, al
sub dil, r10b
add dil, 0x30
add dil, r14b
mov al, r11b
or al, r9b
sub al, 0x50
add al, r10b
xor dil, al
add sil, sil
add dil, sil
sub dil, r9b
add cl, 0x51
add dil, cl
not dil
mov al, bl
xor al, byte [0x14035f038]
sub dil, al
or r11b, r14b
sub dil, r11b
mov al, r14b
xor al, byte [0x14035f030]
add dil, al
mov al, r14b
xor al, 0x40
sub dil, al
movsx eax, bl
movsx ecx, r14b
imul ecx, eax
xor cl, dil
mov byte [rsp + r13 + 0x238], cl
add r13, r15
cmp r13, 0xf
jb 0x14023ab98
lea rax, [rsp + 0x238]
mov qword [rsp + 0x258], rax
mov qword [rsp + 0x260], 0xf
mov rax, qword [rsp + 0x258]
mov qword [rsp + 0x40], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x2e8], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x2f8], xmm1
movdqa xmm0, xmmword [0x140336c00]
movdqu xmmword [rsp + 0x2f8], xmm0
xor r12d, r12d
mov byte [rsp + 0x2e8], r12b
mov dword [rsp + 0xb8], r15d
movabs rax, 0xb55386c5c89c6429
mov qword [rsp + 0x4d8], rax
movabs r9, 0xd97384e981b1cb6b
mov qword [rsp + 0x30], r9
movabs rax, 0x230000000000000
mov rdi, qword [0x14035f088]
imul rdi, rax
movabs rax, 0xa3b0000000000000
xor rdi, rax
mov rcx, rdi
imul rcx, r9
mov qword [rsp + 0x38], rcx
movabs rsi, 0xaaaaaaaaaaaaaaab
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r8, rdi
and r8, r9
lea r13, [0x14035f060]
imul r8, qword [r13 + rcx*8]
movabs rax, 0x1bef18daac1c7e24
imul r8, rax
shr r8, 3
movabs rax, 0x8e520415229533d5
xor r8, rax
movabs rax, 0xffffff57fc733b17
mov rbx, rdi
imul rbx, rax
sub rbx, 0x747ace7c
xor rbx, r8
xor rbx, qword [0x14035f060]
mov rax, r8
imul rax, qword [0x14035f070]
movabs rcx, 0xb9de928bf5c08436
imul rax, rcx
not rax
and rbx, rax
ror rbx, 0x2c
shr rbx, 8
mov qword [rsp + 0x48], rbx
movabs r9, 0x268c7b167e4e3495
lea rcx, [rdi + r9]
xor rcx, 0xffffffffcb4e8f3b
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rax, 0x79b2f10beec353a8
mov r11, qword [r13 + rcx*8]
imul r11, rax
sub r11, r9
movabs rcx, 0x6017eaa7188d808c
mov rax, r8
imul rax, rcx
xor r11, rax
shr r11, 0x1f
not r11
mov rax, r11
xor rax, rdi
mov qword [rsp + 0x58], rax
lea rcx, [r11 + r9]
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, r11b
movzx ecx, byte [r13 + rcx*8]
imul ecx, eax
movzx ecx, cl
xor ecx, 0x27
and ecx, 0x8000003f
lea r14d, [r12 - 0x40]
jge 0x14023aee8
sub ecx, r15d
or ecx, r14d
add ecx, r15d
mov rax, qword [rsp + 0x58]
ror rax, cl
not rax
imul rax, r8
imul rdx, rax, 0xffffffff8b853184
mov qword [rsp + 0x58], rdx
add r9, rdx
mov r10, r11
imul r10, rbx
sub r10, r9
movabs rbx, 0xb55386c5c89c6429
xor r10, rbx
mov cl, r9b
xor cl, 0xf8
and cl, 0xf
rol r10, cl
movabs rcx, 0x910b59a0af335e2c
imul rax, rcx
movabs rcx, 0x26beb4bd3e672147
add rax, rcx
xor r10, rax
mov rax, r9
sub rax, qword [0x14035f078]
xor r10, rax
xor r10, r8
xor r10, rdi
mov rax, r10
and eax, 3
je 0x14023b2b4
sub rax, 1
je 0x14023b17d
sub rax, 1
mov bl, 0x3f
je 0x14023b088
cmp rax, 1
jne 0x14023b371
mov rcx, r9
imul rcx, r11
movabs rax, 0x17eb9bc6dcfb4263
add rax, r10
xor rcx, rax
ror rcx, 0x14
shr rcx, 0xc
xor rcx, rdi
not rcx
mov qword [rsp + 0x4d8], rcx
movabs rdx, 0x835717318a34
add rdx, qword [0x14035f088]
movabs rax, 0x260efe6e22649e23
xor rdx, rax
movzx eax, cl
movzx ecx, r10b
imul ecx, eax
and cl, bl
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xf7ca7db94fd166cf
sub rax, r11
mov r11, rdx
xor r11, rax
mov rcx, r11
movabs rax, 0xd97384e981b1cb6b
imul rcx, rax
mov eax, 0x9e0ab425
add rcx, rax
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov cl, byte [r13 + rcx*8]
and cl, 0xf
movabs rdx, 0xd2418c63e082affc
sub rdx, qword [rsp + 0x4d8]
shr rdx, cl
mov qword [rsp + 0x30], rdx
movabs rax, 0x26949f9eeadcf97f
mov rcx, qword [rsp + 0x58]
add rcx, rax
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, r10
imul rax, qword [r13 + rcx*8]
imul rax, r10
sub rax, qword [rsp + 0x48]
xor qword [rsp + 0x30], rax
jmp 0x14023b371
movabs rax, 0xaaaaaa1a9e13491b
mov rcx, r10
xor rcx, rax
movabs rax, 0x1206ed5c1e9557
imul rcx, rax
movabs r9, 0xfff17ca849717f67
mov rax, r8
xor rax, r9
sub rcx, rax
movabs rax, 0xffff7e8ab8037bc7
imul rdx, rax
movabs r11, 0x71d75abe2fd0f29a
add r11, rcx
add r11, rdx
movabs rax, 0x277cd7be4cc39e7b
mov rcx, r11
xor rcx, rax
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r9, r11
not r9
imul r9, qword [r13 + rcx*8]
xor r9, 0xffffffffcb469fcb
lea ecx, [r10 + 0x19]
and cl, bl
rol r9, cl
movabs rcx, 0xc7edf37bddbe6a85
mov rax, qword [rsp + 0x38]
xor rax, rcx
movabs rcx, 0x7c7a7dc6a241957a
and rax, rcx
imul r9, rax
mov rcx, r9
ror rcx, 0x2f
not rcx
movabs rax, 0x9b2de6b20cbc7170
imul rcx, rax
mov rax, r11
sub rax, r9
lea rdx, [rcx + rax*4]
mov cl, byte [rsp + 0x48]
and cl, bl
ror rdx, cl
movabs rax, 0xd97384e981b1cb6b
imul rdx, rax
mov qword [rsp + 0x30], rdx
jmp 0x14023b371
movabs rax, 0x933883e2881ff4db
imul r10, rax
movabs rax, 0xd79435e50d79435f
mul r10
shr rdx, 4
movzx eax, dl
imul edx, eax, 0x13
mov cl, r10b
sub cl, dl
movabs rdx, 0x268c7b167e4e3494
mov rax, rdi
imul rax, rdx
xor rax, rbx
not rax
shl rax, cl
xor r8, rax
mov cl, r9b
mov bl, 0x3f
and cl, bl
rol r8, cl
movabs rcx, 0x268c7b167e4e3495
add rcx, r10
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0x4e981b1cb6b
mov rax, qword [r13 + rcx*8]
imul rax, rdx
xor r8, rax
movabs rax, 0xffffc7a7c2d73f36
or r8, rax
mov rcx, qword [0x14035f070]
movabs rax, 0xb55386c5c89c6429
imul rcx, rax
sub rcx, r9
mov rax, qword [rsp + 0x48]
sub rax, r8
xor rcx, rax
movabs rax, 0xc7a7c6a693df3f3b
xor rcx, rax
mov qword [rsp + 0x30], rcx
movabs rax, 0xcccccccccccccccd
mul rdi
shr rdx, 3
lea rax, [rdx + rdx*4]
add rax, rax
mov rcx, rdi
sub rcx, rax
or rcx, r15
xor edx, edx
mov rax, qword [rsp + 0x30]
div rcx
mov rcx, rdx
mov rdx, r10
imul rdx, r9
imul rdx, qword [rsp + 0x30]
shr rdx, cl
mov rax, r11
sub rax, rdx
sub rax, rdi
movabs rdi, 0x78958945c8d7321
add rdi, rax
xor rdi, qword [rsp + 0x48]
movzx eax, r11b
imul ecx, eax, 0x1e
and cl, bl
rol rdi, cl
not rdi
jmp 0x14023b371
mov rax, rsi
mul r8
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
mov rcx, r8
sub rcx, rax
mov rax, r10
imul rax, qword [0x14035f080]
mov rdx, qword [r13 + rcx*8]
and rdx, rax
xor rdx, r8
mov bl, 0x3f
and r8b, bl
mov cl, r8b
mov r8, rdx
ror r8, cl
imul r8, r9
mov rcx, qword [rsp + 0x48]
not rcx
imul rcx, r11
movabs rax, 0x7cd8a7de4e2e6eda
imul rcx, rax
mov rax, r8
imul rax, rdi
mov rdi, rcx
xor rdi, rax
imul rax, qword [0x14035f060], 0xffffffff8b853184
mov rdx, qword [0x14035f068]
sub rax, rdx
mov qword [rsp + 0x38], rax
mov al, dil
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, 0x8000003f
jge 0x14023b352
sub ecx, r15d
or ecx, r14d
add ecx, r15d
mov rax, qword [rsp + 0x38]
ror rax, cl
movabs rcx, 0x268c7b167e4e3495
add rax, rcx
add rax, qword [rsp + 0x58]
mov qword [rsp + 0x48], rax
movabs rax, 0xff055d7bbe656417
mov rcx, qword [rsp + 0x4d8]
xor rcx, rax
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
xor r8, rdi
imul r8, qword [r13 + rcx*8]
not r9
imul r9, r10
imul r9, qword [rsp + 0x48]
imul r9, qword [rsp + 0x30]
movabs rcx, 0xf5ed7e87b9d62ecb
xor rcx, r11
not rcx
xor rcx, r9
sub rcx, r8
call fcn.1401c7dcc
mov qword [0x14036d9a0], rax
mov qword [rsp + 0x2d0], r12
mov qword [rsp + 0x2d8], r12
mov qword [rsp + 0x2e0], r12
mov r9d, r12d
mov dword [rsp + 0x4d8], r12d
mov dword [rsp + 0x70], 0xb15e2b8
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov r10d, 0x4764996c
mov edx, 8
movups xmm0, xmmword [rax + 0x58]
movd ecx, xmm0
sub cx, dx
test r9d, r9d
je 0x14023b476
psrldq xmm0, 8
movq r8, xmm0
movzx ecx, cx
shr rcx, 1
lea rdi, [r8 + rcx*2]
mov r11d, 0x7c8debde
jmp 0x14023b468
movsx edx, byte [r8]
mov ecx, edx
imul ecx, edx
add ecx, 0x31
xor ecx, r10d
xor edx, r11d
mov r11d, ecx
imul r11d, edx
add r8, 2
cmp r8, rdi
jne 0x14023b44b
cmp r11d, r9d
jne 0x14023b535
mov r11, qword [rax + 0x30]
movsxd rcx, dword [r11 + 0x3c]
mov rcx, qword [rcx + r11 + 0x88]
mov edx, ecx
add rdx, r11
mov qword [rsp + 0x30], rdx
shr rcx, 0x20
cmp rdx, r11
je 0x14023b535
mov r8d, dword [rdx + 0x18]
test r8d, r8d
je 0x14023b535
mov r9d, dword [rdx + 0x20]
mov qword [rsp + 0x38], r9
dec r8d
mov dword [rsp + 0x68], r8d
mov edx, r8d
mov qword [rsp + 0x48], rdx
lea rdx, [r9 + r8*4]
mov edi, dword [rdx + r11]
add rdi, r11
mov edx, 0x7c8debde
mov r9b, byte [rdi]
add rdi, r15
test r9b, r9b
je 0x14023b51d
mov r11d, edx
movsx r8d, r9b
mov r9d, r8d
imul r9d, r8d
add r9d, 0x31
xor r9d, r10d
mov edx, r11d
xor edx, r8d
mov r11d, r9d
imul r11d, edx
mov r9b, byte [rdi]
add rdi, r15
test r9b, r9b
jne 0x14023b4e1
mov dword [rsp + 0x78], r11d
mov r11, qword [rax + 0x30]
mov r8d, dword [rsp + 0x68]
mov edx, dword [rsp + 0x78]
cmp edx, dword [rsp + 0x70]
je 0x14023b53d
test r8d, r8d
mov r9, qword [rsp + 0x38]
jne 0x14023b4b3
mov r9d, dword [rsp + 0x4d8]
mov rax, qword [rax]
jmp 0x14023b41a
mov r9, qword [rsp + 0x30]
mov edx, dword [r9 + 0x1c]
add rdx, r11
mov eax, dword [r9 + 0x24]
add rax, r11
mov r8, qword [rsp + 0x48]
movzx eax, word [rax + r8*2]
mov r8d, dword [rdx + rax*4]
add r8, r11
cmp r8, r9
jbe 0x14023b600
lea rax, [rcx + r9]
cmp r8, rax
jae 0x14023b600
mov r9d, 0x7c8debde
mov dword [rsp + 0x4d8], r9d
mov edx, r9d
mov dword [rsp + 0x70], edx
mov al, byte [r8]
cmp al, 0x2e
je 0x14023b5bd
movsx ecx, al
mov eax, ecx
imul eax, ecx
add eax, 0x31
xor eax, r10d
xor ecx, r9d
mov r9d, eax
imul r9d, ecx
add r8, r15
mov al, byte [r8]
cmp al, 0x2e
jne 0x14023b593
mov dword [rsp + 0x4d8], r9d
add r8, r15
mov al, byte [r8]
test al, al
je 0x14023b5ea
movsx ecx, al
mov eax, ecx
imul eax, ecx
add eax, 0x31
xor eax, r10d
xor ecx, edx
mov edx, eax
imul edx, ecx
add r8, r15
mov al, byte [r8]
test al, al
jne 0x14023b5c7
mov dword [rsp + 0x70], edx
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
jmp 0x14023b535
mov rcx, qword [rsp + 0x40]
call r8
lea r8, [rsp + 0x4d8]
mov rdx, rax
lea rcx, [rsp + 0x2d0]
call fcn.1401c6180
movabs rax, 0x145871a73f31fdfa
mov r10, qword [0x14035f070]
imul r10, rax
not r10
movabs rcx, 0xbe1e9f0ac413fa75
mov rax, qword [0x14035f060]
xor rax, rcx
and r10, rax
ror r10, 0x3b
shr r10, 8
movabs rax, 0x8e56c179178e9a80
mov r9, qword [0x14035f088]
imul r9, rax
movabs r8, 0x14d0a451f006f468
sub r9, r8
movabs rax, 0xd28ccd887fffffff
xor r9, rax
shr r9, 0x1f
not r9
lea rcx, [r9 + r8]
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, r9b
movzx ecx, byte [r13 + rcx*8]
imul ecx, eax
movzx ecx, cl
xor ecx, 0x43
mov r11d, 0x8000003f
and ecx, r11d
jge 0x14023b6cc
sub ecx, r15d
or ecx, r14d
add ecx, r15d
mov rax, r9
ror rax, cl
not rax
movabs rdx, 0xec07c3c5bc3cdcc0
mov rcx, rax
imul rcx, rdx
mov qword [rsp + 0x4d8], rcx
add r8, rcx
mov rdi, r9
imul rdi, r10
sub rdi, r8
movabs rcx, 0xd60d41b56b8e53bd
xor rdi, rcx
mov cl, r8b
xor cl, 0xfc
and cl, 0xf
rol rdi, cl
movabs rcx, 0xd677af20585f5200
imul rax, rcx
movabs rcx, 0x1798f4435e366a40
sub rax, rcx
xor rdi, rax
mov rax, r8
sub rax, qword [0x14035f078]
xor rdi, rax
movabs rcx, 0x41e160f507851bb5
xor rdi, rcx
mov rax, rdi
imul rax, qword [0x14035f080]
mov rdx, qword [0x14035f068]
and rax, rdx
xor rax, rcx
ror rax, 0x35
imul rax, r8
mov qword [rsp + 0x30], rax
not r10
imul r10, r9
movabs rax, 0x83275821977f8cbe
imul r10, rax
imul r8, qword [0x14035f060], 0xffffffffc396e1c0
sub r8, rdx
mov al, r10b
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, r11d
jge 0x14023b7af
sub ecx, r15d
or ecx, r14d
add ecx, r15d
ror r8, cl
add r8, qword [rsp + 0x4d8]
movabs rax, 0xeb2f5bae0ff90b98
imul r8, rax
movabs rax, 0x1798f4435e366a40
sub r8, rax
movabs rax, 0xeb2f5bae0ff90b97
sub rax, qword [rsp + 0x4d8]
imul r8, rax
imul r8, rdi
movabs rcx, 0xa1281786087ccaf
xor rcx, r9
not rcx
xor rcx, r8
mov rax, qword [rsp + 0x30]
xor rax, r10
imul rax, qword [0x14035f080]
sub rcx, rax
call fcn.1401c72d4
mov qword [0x14036d9d8], rax
mov r8, qword [rsp + 0x2d8]
mov rcx, qword [rsp + 0x2d0]
sub r8, rcx
mov rdx, qword [rsp + 0x40]
call fcn.1402cb1d0
movabs rax, 0x986fffe16b181ff9
mov qword [rsp + 0x4d8], rax
movabs rdi, 0x6f57ae34cc739a0f
mov qword [rsp + 0x40], r12
movabs rax, 0xc4cd592883e2abde
movabs r11, 0x6c35ad5ebfdec86d
mov rcx, qword [0x14035f070]
imul rcx, rax
not rcx
movabs rdx, 0x6c35ad5eac0f1fed
mov rax, qword [0x14035f060]
xor rax, rdx
and rcx, rax
ror rcx, 0x28
shr rcx, 8
mov qword [rsp + 0x30], rcx
movabs rax, 0xb790532c9212eb00
mov r10, qword [0x14035f080]
imul r10, rax
add r10, rdi
movabs rax, 0x685c613600000000
xor r10, rax
shr r10, 0x1f
not r10
movabs r8, 0x90a851cb338c65f1
lea rcx, [r10 + r8]
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, r10b
movzx ecx, byte [r13 + rcx*8]
imul ecx, eax
movzx ecx, cl
xor ecx, 0x87
and ecx, 0x8000003f
jge 0x14023b91a
sub ecx, r15d
or ecx, r14d
add ecx, r15d
mov rax, r10
ror rax, cl
not rax
movabs rdx, 0xc2097045c1b4c180
mov rcx, rax
imul rcx, rdx
mov qword [rsp + 0x38], rcx
lea r9, [rcx + r8]
mov r8, r10
imul r8, qword [rsp + 0x30]
sub r8, r9
movabs rdx, 0x986fffe16b181ff9
xor r8, rdx
mov cl, r9b
xor cl, 0xf8
and cl, 0xf
rol r8, cl
movabs rcx, 0x8885e702027e5680
imul rax, rcx
movabs rcx, 0x7022942c51cff31f
add rax, rcx
xor r8, rax
mov rax, r9
sub rax, qword [0x14035f078]
xor r8, rax
xor r8, r11
mov rax, r8
and eax, 3
je 0x14023bc6c
sub rax, 1
je 0x14023bb71
sub rax, 1
je 0x14023baa8
cmp rax, 1
jne 0x14023bcfe
mov rcx, r9
imul rcx, r10
movabs rax, 0x7b33efc336391c47
add rax, r8
xor rcx, rax
ror rcx, 0x10
shr rcx, 0xc
not rcx
mov qword [rsp + 0x4d8], rcx
movabs rdx, 0x83571f81a294
add rdx, qword [0x14035f088]
movabs rax, 0x902ad4b36716e7e7
xor rdx, rax
movzx eax, r8b
movzx ecx, cl
imul ecx, eax
and cl, bl
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xf7ca7db947614e6f
sub rax, r10
mov r10, rdx
xor r10, rax
mov rcx, r10
imul rcx, rdi
mov eax, 0x96ba9c85
add rcx, rax
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov cl, byte [r13 + rcx*8]
and cl, 0xf
movabs rdi, 0xe3cd2234d7e60f78
sub rdi, qword [rsp + 0x4d8]
shr rdi, cl
movabs rax, 0x90b0765397cb523b
mov rcx, qword [rsp + 0x38]
add rcx, rax
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, r8
imul rax, qword [r13 + rcx*8]
imul rax, r8
sub rax, qword [rsp + 0x30]
xor rdi, rax
jmp 0x14023bcfe
movabs rcx, 0xaaaaaa1a96a361bb
mov r10, r8
xor r10, rcx
movabs rcx, 0x1206ed54aebdf7
imul r10, rcx
movabs rdx, 0xffff7e8ab0b35367
mov rcx, qword [rsp + 0x38]
imul rcx, rdx
movabs rdx, 0x94e89a36eca0dab4
add r10, rdx
add r10, rcx
movabs rax, 0x277cd7be4473b6db
mov rcx, r10
xor rcx, rax
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r9, r10
not r9
imul r9, qword [r13 + rcx*8]
xor r9, 0xffffffffc3f6b76b
lea ecx, [r8 - 7]
and cl, bl
rol r9, cl
movabs rax, 0x50187c0080000000
imul r9, rax
mov rcx, r9
ror rcx, 0x1f
not rcx
movabs rax, 0x9b2de6b22e7cd3f0
imul rcx, rax
mov rax, r10
sub rax, r9
lea rdx, [rcx + rax*4]
mov cl, byte [rsp + 0x30]
and cl, bl
ror rdx, cl
mov rax, rdi
mov rdi, rdx
imul rdi, rax
jmp 0x14023bcfe
movabs rax, 0x3e108de91a4085a9
imul r8, rax
movabs rax, 0xd79435e50d79435f
mul r8
shr rdx, 4
movzx eax, dl
imul edx, eax, 0x13
mov cl, r8b
sub cl, dl
movabs rdx, 0x6790001e94e7e006
shl rdx, cl
mov rax, r11
mov r11, rdx
xor r11, rax
mov cl, r9b
and cl, bl
rol r11, cl
movabs rcx, 0x90a851cb338c65f1
add rcx, r8
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0xffffee34cc739a0f
mov rax, qword [r13 + rcx*8]
imul rax, rdx
xor r11, rax
movabs rax, 0xffffc7a7ca671796
or r11, rax
mov rdi, qword [0x14035f070]
movabs rax, 0x986fffe16b181ff9
imul rdi, rax
sub rdi, r9
mov rax, qword [rsp + 0x30]
sub rax, r11
xor rdi, rax
movabs rax, 0xc7a7c6a69b6f179b
xor rdi, rax
mov rax, r8
imul rax, r9
imul rax, rdi
mov rdx, r10
sub rdx, rax
movabs rax, 0x7895894543d5b81
add rdx, rax
xor rdx, qword [rsp + 0x30]
movzx eax, r10b
imul ecx, eax, 0xfe
and cl, bl
rol rdx, cl
not rdx
mov qword [rsp + 0x40], rdx
jmp 0x14023bcfe
mov rcx, qword [0x14035f080]
imul rcx, r8
mov rdx, qword [0x14035f068]
and rcx, rdx
mov rax, r11
mov r11, rcx
xor r11, rax
ror r11, 0x2d
imul r11, r9
mov rax, qword [rsp + 0x30]
not rax
imul rax, r10
movabs rcx, 0x7cd8a7de469e467a
imul rax, rcx
mov qword [rsp + 0x40], rax
imul rcx, qword [0x14035f060], 0x13d1d780
sub rcx, rdx
mov qword [rsp + 0x30], rcx
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, 0x8000003f
jge 0x14023bcdf
sub ecx, r15d
or ecx, r14d
add ecx, r15d
mov rax, qword [rsp + 0x30]
ror rax, cl
movabs rcx, 0x90a851cb338c65f1
add rax, rcx
add rax, qword [rsp + 0x38]
mov qword [rsp + 0x30], rax
movabs rax, 0xff055d7bb6d54cb7
mov rcx, qword [rsp + 0x4d8]
xor rcx, rax
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
xor r11, qword [rsp + 0x40]
imul r11, qword [r13 + rcx*8]
not r9
imul r9, r8
imul r9, qword [rsp + 0x30]
imul r9, rdi
movabs rcx, 0xf5ed7e87b166066b
xor rcx, r10
not rcx
xor rcx, r9
sub rcx, r11
call fcn.1401c7538
mov qword [0x14036d9a0], rax
movabs rax, 0xea437b2a73a5922
mov qword [rsp + 0x40], rax
movabs rdi, 0x74c97cfe69afae3b
movabs rax, 0xe6b041345a6d6000
mov r11, qword [0x14035f080]
imul r11, rax
movabs rax, 0x8a9dcb0ef3ed5000
xor r11, rax
mov rcx, r11
imul rcx, rdi
mov qword [rsp + 0x30], rcx
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r9, r11
and r9, rdi
imul r9, qword [r13 + rcx*8]
movabs rax, 0x81eb188ed90e35dc
imul r9, rax
shr r9, 3
movabs rax, 0x453f8d0cf7b0835e
xor r9, rax
movabs rax, 0xffffff57a4834ff9
mov rcx, r11
imul rcx, rax
add rcx, 0x23b57b0e
xor rcx, r9
xor rcx, qword [0x14035f060]
mov rax, r9
imul rax, qword [0x14035f070]
movabs rdx, 0xb9de928bad30f0d8
imul rax, rdx
not rax
and rcx, rax
ror rcx, 0x12
shr rcx, 8
mov qword [rsp + 0x38], rcx
movabs r10, 0x8b368301965051c5
lea rcx, [r11 + r10]
xor rcx, 0xffffffff93befbd5
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rax, 0x116b16d63e57c850
mov r8, qword [r13 + rcx*8]
imul r8, rax
add r8, rdi
movabs rcx, 0xa8b9ac104d169b58
mov rax, r9
imul rax, rcx
xor r8, rax
shr r8, 0x1f
not r8
mov qword [rsp + 0x48], r8
mov rax, r8
xor rax, r11
mov qword [rsp + 0x4d8], rax
lea rcx, [r8 + r10]
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, r8b
movzx ecx, byte [r13 + rcx*8]
imul ecx, eax
movzx ecx, cl
xor ecx, 0xc9
mov eax, 0x8000003f
and ecx, eax
jge 0x14023bee6
sub ecx, r15d
or ecx, r14d
add ecx, r15d
mov rdx, qword [rsp + 0x4d8]
ror rdx, cl
not rdx
imul rdx, r9
imul rcx, rdx, 0x23b57b0e
mov qword [rsp + 0x58], rcx
add r10, rcx
imul r8, qword [rsp + 0x38]
sub r8, r10
movabs rcx, 0xea437b2a73a5922
xor r8, rcx
movzx ecx, r10b
mov dword [rsp + 0x4d8], ecx
xor ecx, 6
and ecx, 0xf
and ecx, eax
jge 0x14023bf3b
sub ecx, r15d
or ecx, r14d
add ecx, r15d
rol r8, cl
mov rax, r10
sub rax, qword [0x14035f078]
xor r8, rax
movabs rax, 0x5a66d0b97108e03a
imul rdx, rax
movabs rax, 0x25ae7a90113e4199
sub rdx, rax
xor r8, rdx
xor r8, r9
xor r8, r11
mov rax, r8
xor rax, 0xfffffffffffffffe
and eax, 3
je 0x14023c2d4
sub rax, 1
je 0x14023c183
sub rax, 1
je 0x14023c08e
cmp rax, 1
jne 0x14023c397
mov rcx, r10
imul rcx, qword [rsp + 0x48]
movabs rax, 0x9c25c02c0f99dd9d
add rax, r8
xor rcx, rax
ror rcx, 0x2a
shr rcx, 0xc
xor rcx, r11
not rcx
mov qword [rsp + 0x40], rcx
movabs rdx, 0x83574fc1fede
add rdx, qword [0x14035f088]
movabs rax, 0x8bb40679928a8f9d
xor rdx, rax
movzx eax, cl
movzx ecx, r8b
imul ecx, eax
and cl, bl
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xf7ca7db917211221
sub rax, qword [rsp + 0x48]
mov rcx, rdx
xor rcx, rax
mov qword [rsp + 0x48], rcx
imul rcx, rdi
mov eax, 0xc6fac0cb
add rcx, rax
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov cl, byte [r13 + rcx*8]
and cl, 0xf
movabs rdi, 0xb4f4cfe7faba6e94
sub rdi, qword [rsp + 0x40]
shr rdi, cl
movabs rax, 0x8b3ea789cacf01cd
mov rcx, qword [rsp + 0x58]
add rcx, rax
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, r8
imul rax, qword [r13 + rcx*8]
imul rax, r8
sub rax, qword [rsp + 0x38]
xor rdi, rax
jmp 0x14023c397
movabs rax, 0xaaaaaa1ac6e33df5
mov rcx, r8
xor rcx, rax
movabs rax, 0x1206ed04eee1b9
imul rcx, rax
movabs rdx, 0xfff17ca811810b89
mov rax, r9
xor rax, rdx
sub rcx, rax
movabs rax, 0xffff7e8ae0f30f29
mov rdx, qword [rsp + 0x58]
imul rdx, rax
movabs r10, 0x79359196a699b2b6
add r10, rcx
add r10, rdx
mov qword [rsp + 0x48], r10
movabs rax, 0x277cd7be1433ea95
mov rcx, r10
xor rcx, rax
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
not r10
imul r10, qword [r13 + rcx*8]
xor r10, 0xffffffff93b6eb25
lea ecx, [r8 - 9]
and cl, bl
rol r10, cl
movabs rcx, 0x281834c2a0000000
mov rax, qword [rsp + 0x30]
xor rax, rcx
movabs rcx, 0x7c7a7dc6fab1e194
and rax, rcx
imul r10, rax
mov rcx, r10
ror rcx, 0xa
not rcx
movabs rax, 0x9b2de6b36f7da2c8
imul rcx, rax
mov rax, qword [rsp + 0x48]
sub rax, r10
lea rdx, [rcx + rax*4]
mov cl, byte [rsp + 0x38]
and cl, bl
ror rdx, cl
mov rax, rdi
mov rdi, rdx
imul rdi, rax
jmp 0x14023c397
movabs rax, 0x18b93674f81ab643
imul r8, rax
movabs rax, 0xd79435e50d79435f
mul r8
shr rdx, 4
movzx eax, dl
imul edx, eax, 0x13
mov cl, r8b
sub cl, dl
movabs rdx, 0x8b368301965051c4
mov rax, r11
imul rax, rdx
movabs rdx, 0xea437b2a73a5922
xor rax, rdx
not rax
shl rax, cl
xor r9, rax
mov eax, dword [rsp + 0x4d8]
and eax, 0x8000003f
jge 0x14023c1eb
sub eax, r15d
or eax, r14d
add eax, r15d
mov cl, al
rol r9, cl
movabs rcx, 0x8b368301965051c5
add rcx, r8
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0xfffffcfe69afae3b
mov rax, qword [r13 + rcx*8]
imul rax, rdx
xor r9, rax
movabs rax, 0xffffc7a79a274bd8
or r9, rax
mov rdi, qword [0x14035f070]
movabs rax, 0xea437b2a73a5922
imul rdi, rax
sub rdi, r10
mov rax, qword [rsp + 0x38]
sub rax, r9
xor rdi, rax
movabs rax, 0xc7a7c6a6cb2f4bd5
xor rdi, rax
movabs rax, 0xcccccccccccccccd
mul r11
shr rdx, 3
lea rax, [rdx + rdx*4]
add rax, rax
mov rcx, r11
sub rcx, rax
or rcx, r15
xor edx, edx
mov rax, rdi
div rcx
mov rcx, rdx
mov rdx, r8
imul rdx, r10
imul rdx, rdi
shr rdx, cl
mov rcx, qword [rsp + 0x48]
mov rax, rcx
sub rax, rdx
sub rax, r11
movabs r11, 0x7895894047d07cf
add r11, rax
xor r11, qword [rsp + 0x38]
movzx eax, cl
imul ecx, eax, 0xf0
and cl, bl
rol r11, cl
not r11
jmp 0x14023c397
mov rax, rsi
mul r9
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
mov rcx, r9
sub rcx, rax
mov rax, r8
imul rax, qword [0x14035f080]
mov rdx, qword [r13 + rcx*8]
and rdx, rax
xor rdx, r9
and r9b, bl
mov cl, r9b
mov r9, rdx
ror r9, cl
imul r9, r10
mov rcx, qword [rsp + 0x38]
not rcx
imul rcx, qword [rsp + 0x48]
movabs rax, 0x7cd8a7de16de1a34
imul rcx, rax
mov rax, r9
imul rax, r11
mov r11, rcx
xor r11, rax
imul rax, qword [0x14035f060], 0x23b57b0e
mov rdx, qword [0x14035f068]
sub rax, rdx
mov qword [rsp + 0x4d8], rax
mov al, r11b
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, 0x8000003f
jge 0x14023c375
sub ecx, r15d
or ecx, r14d
add ecx, r15d
mov rax, qword [rsp + 0x4d8]
ror rax, cl
movabs rcx, 0x8b368301965051c5
add rax, rcx
add rax, qword [rsp + 0x58]
mov qword [rsp + 0x38], rax
movabs rax, 0xff055d7be69510f9
mov rcx, qword [rsp + 0x40]
xor rcx, rax
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
xor r9, r11
imul r9, qword [r13 + rcx*8]
not r10
imul r10, r8
imul r10, qword [rsp + 0x38]
imul r10, rdi
movabs rcx, 0xf5ed7e87e1265a25
xor rcx, qword [rsp + 0x48]
not rcx
xor rcx, r10
sub rcx, r9
call fcn.1401c70b8
mov qword [0x14036d9d0], rax
movabs rax, 0xfa6d7f8d8561701c
mov qword [rsp + 0x40], rax
movabs rdi, 0x617df7358cbb1f1f
movabs rax, 0x9869227d3f764000
mov r11, qword [0x14035f080]
imul r11, rax
movabs rax, 0x8a9dcdef928e1000
xor r11, rax
mov rcx, r11
imul rcx, rdi
mov qword [rsp + 0x30], rcx
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r9, r11
and r9, rdi
imul r9, qword [r13 + rcx*8]
movabs rax, 0xf1ebcfc723d13148
imul r9, rax
shr r9, 3
movabs rax, 0x54d790f52ace1480
xor r9, rax
movabs rax, 0xffffff57ca9559cd
mov rcx, r11
imul rcx, rax
sub rcx, 0x3a77f62
xor rcx, r9
xor rcx, qword [0x14035f060]
mov rax, r9
imul rax, qword [0x14035f070]
movabs rdx, 0xb9de928bc326e6ec
imul rax, rdx
not rax
and rcx, rax
ror rcx, 2
shr rcx, 8
mov qword [rsp + 0x38], rcx
movabs r10, 0x9e8208ca7344e0e1
lea rcx, [r11 + r10]
xor rcx, 0xfffffffffda8ede1
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rax, 0x4bac04834c1a0a48
mov r8, qword [r13 + rcx*8]
imul r8, rax
add r8, rdi
movabs rcx, 0x84261a489f4fdd90
mov rax, r9
imul rax, rcx
xor r8, rax
shr r8, 0x1f
not r8
mov qword [rsp + 0x48], r8
mov rax, r8
xor rax, r11
mov qword [rsp + 0x4d8], rax
lea rcx, [r8 + r10]
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, r8b
movzx ecx, byte [r13 + rcx*8]
imul ecx, eax
movzx ecx, cl
xor ecx, 0xfd
mov eax, 0x8000003f
and ecx, eax
jge 0x14023c57c
sub ecx, r15d
or ecx, r14d
add ecx, r15d
mov rdx, qword [rsp + 0x4d8]
ror rdx, cl
not rdx
imul rdx, r9
imul rcx, rdx, 0xfffffffffc58809e
mov qword [rsp + 0x58], rcx
add r10, rcx
imul r8, qword [rsp + 0x38]
sub r8, r10
movabs rcx, 0xfa6d7f8d8561701c
xor r8, rcx
movzx ecx, r10b
mov dword [rsp + 0x4d8], ecx
xor ecx, 2
and ecx, 0xf
and ecx, eax
jge 0x14023c5d1
sub ecx, r15d
or ecx, r14d
add ecx, r15d
rol r8, cl
movabs rax, 0x4b8ecd40a1b4b522
imul rdx, rax
movabs rax, 0x74d418599ced7a3f
add rdx, rax
xor r8, rdx
mov rax, r10
sub rax, qword [0x14035f078]
xor r8, rax
xor r8, r9
xor r8, r11
mov rax, r8
xor rax, 0xfffffffffffffffe
and eax, 3
je 0x14023c965
sub rax, 1
je 0x14023c81a
sub rax, 1
je 0x14023c729
cmp rax, 1
jne 0x14023ca28
mov rdx, r10
imul rdx, qword [rsp + 0x48]
movabs rax, 0xb28feca2fe2f7b2d
add rax, r8
xor rdx, rax
ror rdx, 0x3a
shr rdx, 0xc
xor rdx, r11
not rdx
mov qword [rsp + 0x40], rdx
movabs rcx, 0x835721d7e8ea
mov rdx, qword [0x14035f088]
add rdx, rcx
movabs rax, 0x9e008db21988288d
xor rdx, rax
movzx eax, r8b
movzx ecx, byte [rsp + 0x40]
imul ecx, eax
and cl, bl
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xf7ca7db979370415
sub rax, qword [rsp + 0x48]
mov rcx, rdx
xor rcx, rax
mov qword [rsp + 0x48], rcx
imul rcx, rdi
mov eax, 0xa8ecd6ff
add rcx, rax
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov cl, byte [r13 + rcx*8]
and cl, 0xf
movabs rdi, 0x19c38d1413d8e998
sub rdi, qword [rsp + 0x40]
shr rdi, cl
movabs rax, 0x9e8a2d52cdad8715
mov rcx, qword [rsp + 0x58]
add rcx, rax
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, r8
imul rax, qword [r13 + rcx*8]
imul rax, r8
sub rax, qword [rsp + 0x38]
xor rdi, rax
jmp 0x14023ca28
movabs rax, 0xaaaaaa1aa8f52bc1
mov rcx, r8
xor rcx, rax
movabs rax, 0x1206ed6af8f78d
imul rcx, rax
movabs rdx, 0xfff17ca87f971dbd
mov rax, r9
xor rax, rdx
sub rcx, rax
movabs rax, 0xffff7e8a8ee5191d
mov rdx, qword [rsp + 0x58]
imul rdx, rax
movabs r10, 0xf98e8b5f4eed8b9a
add r10, rcx
add r10, rdx
mov qword [rsp + 0x48], r10
movabs rax, 0x277cd7be7a25fca1
mov rcx, r10
xor rcx, rax
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
not r10
imul r10, qword [r13 + rcx*8]
xor r10, 0xfffffffffda0fd11
lea ecx, [r8 + 3]
and cl, bl
rol r10, cl
movabs rcx, 0xcfd7d3fd6b58085f
mov rax, qword [rsp + 0x30]
xor rax, rcx
movabs rcx, 0x7c7a7dc694a7f7a0
and rax, rcx
imul r10, rax
mov rcx, qword [rsp + 0x48]
sub rcx, r10
mov rax, r10
not rax
movabs rdx, 0x9b2de6b2d725fa18
imul rax, rdx
lea rdx, [rax + rcx*4]
mov cl, byte [rsp + 0x38]
and cl, bl
ror rdx, cl
mov rax, rdi
mov rdi, rdx
imul rdi, rax
jmp 0x14023ca28
movabs rax, 0xea53dfe5f718c451
imul r8, rax
movabs rax, 0xd79435e50d79435f
mul r8
shr rdx, 4
movzx eax, dl
imul edx, eax, 0x13
mov cl, r8b
sub cl, dl
movabs rdx, 0x9e8208ca7344e0e0
mov rax, r11
imul rax, rdx
movabs rdx, 0xfa6d7f8d8561701c
xor rax, rdx
not rax
shl rax, cl
xor r9, rax
mov eax, dword [rsp + 0x4d8]
and eax, 0x8000003f
jge 0x14023c882
sub eax, r15d
or eax, r14d
add eax, r15d
mov cl, al
rol r9, cl
movabs rcx, 0x9e8208ca7344e0e1
add rcx, r8
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0xfffff7358cbb1f1f
mov rax, qword [r13 + rcx*8]
imul rax, rdx
xor r9, rax
movabs rax, 0xffffc7a7f4315dec
or r9, rax
mov rdi, qword [0x14035f070]
movabs rax, 0xfa6d7f8d8561701c
imul rdi, rax
sub rdi, r10
mov rax, qword [rsp + 0x38]
sub rax, r9
xor rdi, rax
movabs rax, 0xc7a7c6a6a5395de1
xor rdi, rax
movabs rax, 0xcccccccccccccccd
mul r11
shr rdx, 3
lea rax, [rdx + rdx*4]
add rax, rax
mov rcx, r11
sub rcx, rax
or rcx, r15
xor edx, edx
mov rax, rdi
div rcx
mov rcx, rdx
mov rdx, r8
imul rdx, r10
imul rdx, rdi
shr rdx, cl
mov rcx, qword [rsp + 0x48]
mov rax, rcx
sub rax, rdx
sub rax, r11
movabs r11, 0x78958946a6b11fb
add r11, rax
xor r11, qword [rsp + 0x38]
shl cl, 2
and cl, bl
rol r11, cl
not r11
jmp 0x14023ca28
mov rax, rsi
mul r9
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
mov rcx, r9
sub rcx, rax
mov rax, r8
imul rax, qword [0x14035f080]
mov rdx, qword [r13 + rcx*8]
and rdx, rax
xor rdx, r9
and r9b, bl
mov cl, r9b
mov r9, rdx
ror r9, cl
imul r9, r10
mov rdx, qword [rsp + 0x38]
not rdx
imul rdx, qword [rsp + 0x48]
movabs rax, 0x7cd8a7de78c80c00
imul rdx, rax
mov rax, r9
imul rax, r11
mov r11, rdx
xor r11, rax
imul rax, qword [0x14035f060], 0xfffffffffc58809e
mov rdx, qword [0x14035f068]
sub rax, rdx
mov qword [rsp + 0x4d8], rax
mov al, r11b
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, 0x8000003f
jge 0x14023ca06
sub ecx, r15d
or ecx, r14d
add ecx, r15d
mov rax, qword [rsp + 0x4d8]
ror rax, cl
movabs rcx, 0x9e8208ca7344e0e1
add rax, rcx
add rax, qword [rsp + 0x58]
mov qword [rsp + 0x38], rax
movabs rax, 0xff055d7b888306cd
mov rcx, qword [rsp + 0x40]
xor rcx, rax
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
xor r9, r11
imul r9, qword [r13 + rcx*8]
not r10
imul r10, r8
imul r10, qword [rsp + 0x38]
imul r10, rdi
movabs rcx, 0xf5ed7e878f304c11
xor rcx, qword [rsp + 0x48]
not rcx
xor rcx, r10
sub rcx, r9
call fcn.1401c7a48
mov qword [0x14036d9a8], rax
mov dword [rsp + 0xe8], r12d
mov dword [rsp + 0xe8], 0xa1b52a9b
mov eax, dword [rsp + 0xe8]
add eax, 0x4b1fd635
xor eax, 0x6b89dd24
sub eax, dword [0x14035f058]
sub eax, dword [0x14035f050]
add eax, 0x25b9117f
xor eax, 0x2d4e4423
sub eax, dword [0x14035f048]
mov rcx, qword [0x14035f040]
add eax, 0x7586d9a7
add eax, ecx
xor eax, 0x125029b5
add eax, 0x433a9aad
xor eax, 0x77abb118
lea edx, [rcx - 0x24da2f8]
add edx, eax
not edx
mov eax, dword [0x14035f038]
xor eax, 0xd92c7dac
sub edx, eax
mov ecx, dword [0x14035f030]
xor ecx, 0x26d38253
add ecx, 0xad42d5c7
add ecx, edx
xor ecx, 0x1e0216c4
mov dword [rsp + 0xe8], ecx
movsxd rax, ecx
mov qword [rsp + 0x40], rax
mov dword [rsp + 0xe8], r12d
movabs rdi, 0x1f2dd49ec2b0057d
movabs rax, 0x2b16bba2c5b7e0e0
movabs r10, 0x1560b89b9ee8952c
mov rcx, qword [0x14035f070]
imul rcx, rax
not rcx
movabs r8, 0xea9f476466c61d72
mov rax, qword [0x14035f060]
xor rax, r8
and rcx, rax
ror rcx, 0x24
shr rcx, 8
mov qword [rsp + 0x30], rcx
movabs rax, 0xcec4eff6586c1830
mov r11, qword [0x14035f070]
imul r11, rax
add r11, rdi
movabs rax, 0x2dd3734f80000000
xor r11, rax
shr r11, 0x1f
not r11
movabs r9, 0xe0d22b613d4ffa83
lea rcx, [r11 + r9]
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, r11b
movzx ecx, byte [r13 + rcx*8]
imul ecx, eax
movzx ecx, cl
xor ecx, 0xb9
mov eax, 0x8000003f
and ecx, eax
jge 0x14023cbf7
sub ecx, r15d
or ecx, r14d
add ecx, r15d
mov rdx, r11
ror rdx, cl
not rdx
mov qword [rsp + 0x38], rdx
movabs r8, 0x8a95beb1568e2628
mov rcx, rdx
imul rcx, r8
mov qword [rsp + 0x48], rcx
add r9, rcx
mov r8, r11
imul r8, qword [rsp + 0x30]
sub r8, r9
movabs rdx, 0xf16c8fb8258ca416
xor r8, rdx
movzx ecx, r9b
mov dword [rsp + 0x4d8], ecx
xor ecx, 6
and ecx, 0xf
and ecx, eax
jge 0x14023cc55
sub ecx, r15d
or ecx, r14d
add ecx, r15d
rol r8, cl
movabs rcx, 0xc5b77a9c95a76988
mov rax, qword [rsp + 0x38]
imul rax, rcx
movabs rcx, 0x5da0f05b0001e0f7
add rax, rcx
xor r8, rax
mov rax, r9
sub rax, qword [0x14035f078]
xor r8, rax
xor r8, r10
mov rax, r8
and rax, r15
xor rax, 2
je 0x14023cf7d
sub rax, 1
je 0x14023ce82
sub rax, 1
je 0x14023cdaf
cmp rax, 1
jne 0x14023d022
mov rcx, r9
imul rcx, r11
movabs rax, 0x536c1946b26441b
add rax, r8
xor rcx, rax
ror rcx, 0x1e
shr rcx, 0xc
not rcx
mov qword [rsp + 0x4d8], rcx
movabs rdx, 0x83572d5513ae
add rdx, qword [0x14035f088]
movabs rax, 0xe050ae195b01c9ab
xor rdx, rax
movzx eax, r8b
movzx ecx, cl
imul ecx, eax
and cl, bl
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xf7ca7db975b5ff51
sub rax, r11
mov r11, rdx
xor r11, rax
mov rcx, r11
imul rcx, rdi
mov eax, 0xa46e2dbb
add rcx, rax
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov cl, byte [r13 + rcx*8]
and cl, 0xf
movabs rdi, 0x6f2adafecbededc6
sub rdi, qword [rsp + 0x4d8]
shr rdi, cl
movabs rax, 0xe0da4fe9943a57fb
mov rcx, qword [rsp + 0x48]
add rcx, rax
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, r8
imul rax, qword [r13 + rcx*8]
imul rax, r8
sub rax, qword [rsp + 0x30]
xor rdi, rax
mov rcx, qword [rsp + 0x4d8]
jmp 0x14023d025
movabs rcx, 0xaaaaaa1aa477d085
mov r11, r8
xor r11, rcx
movabs rcx, 0x1206ed667a0cc9
imul r11, rcx
movabs rdx, 0xffff7e8a8267e259
mov rcx, qword [rsp + 0x48]
imul rcx, rdx
movabs rdx, 0xdf37447d1152c0f
add r11, rdx
add r11, rcx
movabs rax, 0x277cd7be76a707e5
mov rcx, r11
xor rcx, rax
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r9, r11
not r9
imul r9, qword [r13 + rcx*8]
xor r9, 0xfffffffff1220655
lea ecx, [r8 + 7]
and cl, bl
rol r9, cl
movabs rax, 0x784a694400000000
imul r9, rax
mov rcx, r9
ror rcx, 0xe
not rcx
movabs rax, 0x9b2de6b2e52e1708
imul rcx, rax
mov rax, r11
sub rax, r9
lea rdx, [rcx + rax*4]
mov cl, byte [rsp + 0x30]
and cl, bl
ror rdx, cl
mov rax, rdi
mov rdi, rdx
imul rdi, rax
movabs rcx, 0xf16c8fb8258ca416
jmp 0x14023d025
movabs rax, 0x2dcbddf2a683e6c9
imul r8, rax
movabs rax, 0xd79435e50d79435f
mul r8
shr rdx, 4
movzx eax, dl
imul edx, eax, 0x13
mov cl, r8b
sub cl, dl
movabs rdx, 0xe937047da735be9
shl rdx, cl
mov rax, r10
mov r10, rdx
xor r10, rax
mov eax, dword [rsp + 0x4d8]
and eax, 0x8000003f
jge 0x14023ced9
sub eax, r15d
or eax, r14d
add eax, r15d
mov cl, al
rol r10, cl
movabs rcx, 0xe0d22b613d4ffa83
add rcx, r8
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0x149ec2b0057d
mov rax, qword [r13 + rcx*8]
imul rax, rdx
xor r10, rax
movabs rax, 0xffffc7a7f8b3a6a8
or r10, rax
mov rdi, qword [0x14035f070]
movabs rcx, 0xf16c8fb8258ca416
imul rdi, rcx
sub rdi, r9
mov rax, qword [rsp + 0x30]
sub rax, r10
xor rdi, rax
movabs rax, 0xc7a7c6a6a9bba6a5
xor rdi, rax
mov rax, r8
imul rax, r9
imul rax, rdi
mov rbx, r11
sub rbx, rax
movabs rax, 0x789589466e9eabf
add rbx, rax
xor rbx, qword [rsp + 0x30]
not rbx
jmp 0x14023d028
mov rcx, r8
imul rcx, qword [0x14035f080]
and rcx, qword [0x14035f080]
mov rax, r10
mov r10, rcx
xor r10, rax
ror r10, 0x2c
imul r10, r9
mov rbx, qword [rsp + 0x30]
not rbx
imul rbx, r11
movabs rax, 0x7cd8a7de744af744
imul rbx, rax
imul rax, qword [0x14035f060], 0xfffffffff82e885e
mov rdx, qword [0x14035f068]
sub rax, rdx
mov qword [rsp + 0x4d8], rax
mov al, bl
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, 0x8000003f
jge 0x14023cff4
sub ecx, r15d
or ecx, r14d
add ecx, r15d
mov rax, qword [rsp + 0x4d8]
ror rax, cl
movabs rcx, 0xe0d22b613d4ffa83
add rax, rcx
add rax, qword [rsp + 0x48]
mov qword [rsp + 0x30], rax
movabs rcx, 0xf16c8fb8258ca416
jmp 0x14023d028
mov rcx, rdx
mov rbx, r12
movabs rax, 0xff055d7b8401fd89
xor rcx, rax
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
xor r10, rbx
imul r10, qword [r13 + rcx*8]
not r9
imul r9, r8
imul r9, qword [rsp + 0x30]
imul r9, rdi
movabs rcx, 0xf5ed7e8783b2b755
xor rcx, r11
not rcx
xor rcx, r9
sub rcx, r10
call fcn.14003161c
mov qword [0x14036d9a0], rax
mov qword [rsp + 0x190], r12
movabs rax, 0x5ac8616fd3f11b8a
mov qword [rsp + 0x190], rax
mov qword [rsp + 0x118], r12
movabs rax, 0xff39db56296a3e3e
mov qword [rsp + 0x118], rax
movabs rcx, 0xf33a52b60ba46003
add rcx, qword [rsp + 0x118]
movabs rax, 0x8555366253099da8
xor rcx, rax
sub rcx, qword [0x14035f050]
sub rcx, qword [0x14035f058]
movabs rax, 0xedf047f59887c1f
sub rcx, rax
movabs rax, 0xf8f8cd986dc7a82d
xor rcx, rax
sub rcx, qword [0x14035f048]
movabs rax, 0xc7d654b98bb2f099
add rcx, rax
mov rdi, qword [0x14035f040]
add rcx, rdi
movabs rax, 0x5a9179a85ab8fc85
xor rcx, rax
movabs rax, 0x5f627dc6c9a77068
sub rcx, rax
movabs rax, 0xde3b3cd25b6b680d
xor rcx, rax
movabs rdx, 0x3483ce44bb717300
add rdx, rcx
add rdx, rdi
not rdx
movabs rcx, 0x13cce94ad82e8fd4
mov r10, qword [0x14035f038]
mov rax, r10
xor rax, rcx
sub rdx, rax
movabs rax, 0xec3316b527d1702b
mov r11, qword [0x14035f030]
mov rcx, r11
xor rcx, rax
movabs rax, 0xe0b56d8dce570ea9
add rdx, rax
add rdx, rcx
movabs rax, 0xc7096cf766d2e89c
xor rdx, rax
mov qword [rsp + 0x118], rdx
movabs rcx, 0xf33a52b6776de283
add rcx, qword [rsp + 0x190]
movabs rax, 0x7d53662530a0972
xor rcx, rax
sub rcx, qword [0x14035f050]
sub rcx, qword [0x14035f058]
movabs rax, 0x7120fb80a534275a
add rcx, rax
movabs rax, 0xf8f8cd98004effa3
xor rcx, rax
sub rcx, qword [0x14035f048]
movabs rax, 0x7d654b8f962e7f4
add rcx, rax
add rcx, rdi
movabs rax, 0x5a9179a7dfc723ab
xor rcx, rax
movabs rax, 0x5f627dc6ede69a0e
sub rcx, rax
movabs rax, 0xca3b3cd225834881
xor rcx, rax
movabs rax, 0xb483ce44529a7312
add rcx, rax
add rcx, rdi
not rcx
movabs rax, 0x13cce94ad9ddb5de
xor r10, rax
sub rcx, r10
movabs rax, 0xec3316b526224a21
xor r11, rax
movabs rax, 0xe0b56d8f5f6a3eb3
add rcx, rax
add rcx, r11
movabs rax, 0xdbbe380747a29d9e
xor rcx, rax
mov qword [rsp + 0x190], rcx
mov rax, qword [rsp + 0x2d8]
sub rax, qword [rsp + 0x2d0]
and rcx, rdx
mov qword [rsp + 0x118], r12
mov qword [rsp + 0x190], r12
cmp rax, rcx
je 0x14023eed4
movabs rax, 0xe49e0dba2dd884cf
mov qword [rsp + 0x30], rax
movabs rdi, 0x9cb8d47ce8a030a6
mov qword [rsp + 0x38], r12
movabs rax, 0x4436741660c70b58
movabs r11, 0x63910ee8e3f00d14
mov rcx, qword [0x14035f070]
imul rcx, rax
not rcx
movabs rdx, 0x9c6ef1171e4c4aac
mov rax, qword [0x14035f060]
xor rax, rdx
and rcx, rax
ror rcx, 9
shr rcx, 8
mov qword [rsp + 0x48], rcx
movabs rax, 0x802eb34dc05ce8f0
mov r9, qword [0x14035f088]
imul r9, rax
movabs r8, 0x63472b83175fcf5a
sub r9, r8
movabs rax, 0xbcded5000000000
xor r9, rax
shr r9, 0x1f
not r9
lea rcx, [r9 + r8]
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, r9b
movzx ecx, byte [r13 + rcx*8]
imul ecx, eax
movzx ecx, cl
xor ecx, 0xcf
mov ebx, 0x8000003f
and ecx, ebx
jge 0x14023d38e
sub ecx, r15d
or ecx, r14d
add ecx, r15d
mov rax, r9
ror rax, cl
not rax
mov qword [rsp + 0x58], rax
movabs rcx, 0x3c0e2bdc6d9f260
imul rax, rcx
mov qword [rsp + 0x78], rax
lea r10, [rax + r8]
mov r8, r9
mov rdx, qword [rsp + 0x48]
imul r8, rdx
sub r8, r10
movabs rax, 0xe49e0dba2dd884cf
xor r8, rax
movzx ecx, r10b
mov dword [rsp + 0x4d8], ecx
and ecx, 0xf
and ecx, ebx
jge 0x14023d3ea
sub ecx, r15d
or ecx, r14d
add ecx, r15d
rol r8, cl
movabs rcx, 0xcfb14eb64ac52a40
mov rax, qword [rsp + 0x58]
imul rax, rcx
movabs rcx, 0x423b32c64741545c
add rax, rcx
xor r8, rax
mov rax, r10
sub rax, qword [0x14035f078]
xor r8, rax
xor r8, r11
mov rax, r8
and eax, 2
je 0x14023d70b
sub rax, 1
je 0x14023d5fd
sub rax, 1
mov bl, 0x3f
je 0x14023d534
cmp rax, 1
jne 0x14023d7a3
mov rcx, r10
imul rcx, r9
movabs rax, 0xc2c4b46df95d9aa6
add rax, r8
xor rcx, rax
ror rcx, 0x30
shr rcx, 0xc
not rcx
mov qword [rsp + 0x30], rcx
movabs rdx, 0x835721ca87dc
add rdx, qword [0x14035f088]
movabs rax, 0x63c5aefb7d8e6806
xor rdx, rax
movzx eax, cl
movzx ecx, r8b
imul ecx, eax
and cl, bl
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xf7ca7db9792a6b27
sub rax, r9
mov r9, rdx
xor r9, rax
mov rcx, r9
imul rcx, rdi
mov eax, 0xa8f1b9cd
add rcx, rax
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov cl, byte [r13 + rcx*8]
and cl, 0xf
movabs rdi, 0xabc0f8364b3977a1
sub rdi, qword [rsp + 0x30]
shr rdi, cl
movabs rax, 0x634f500b71d5985c
mov rcx, qword [rsp + 0x78]
add rcx, rax
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, r8
imul rax, qword [r13 + rcx*8]
imul rax, r8
sub rax, qword [rsp + 0x48]
xor rdi, rax
jmp 0x14023d7a3
movabs rcx, 0xaaaaaa1aa8e844f3
mov r9, r8
xor r9, rcx
movabs rcx, 0x1206ed6ae598bf
imul r9, rcx
movabs rdx, 0xffff7e8a8ef8762f
mov rcx, qword [rsp + 0x78]
imul rcx, rdx
movabs rdx, 0x3c0e527a31d8841a
add r9, rdx
add r9, rcx
movabs rax, 0x277cd7be7a389393
mov rcx, r9
xor rcx, rax
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r10, r9
not r10
imul r10, qword [r13 + rcx*8]
xor r10, 0xfffffffffdbd9223
lea ecx, [r8 - 0xf]
and cl, bl
rol r10, cl
movabs rax, 0x38406d4600000000
imul r10, rax
mov rcx, r10
ror rcx, 0x21
not rcx
movabs rax, 0x9b2de6b2d75046d0
imul rcx, rax
mov rax, r9
sub rax, r10
lea rdx, [rcx + rax*4]
mov cl, byte [rsp + 0x48]
and cl, bl
ror rdx, cl
mov rax, rdi
mov rdi, rdx
imul rdi, rax
jmp 0x14023d7a3
movabs rax, 0x95496474bacb4c44
imul r8, rax
movabs rax, 0xd79435e50d79435f
mul r8
shr rdx, 4
movzx eax, dl
imul edx, eax, 0x13
mov cl, r8b
sub cl, dl
movabs rdx, 0x1b61f245d2277b30
shl rdx, cl
mov rax, r11
mov r11, rdx
xor r11, rax
mov eax, dword [rsp + 0x4d8]
and eax, ebx
jge 0x14023d651
sub eax, r15d
or eax, r14d
add eax, r15d
mov cl, al
rol r11, cl
movabs rcx, 0x63472b83175fcf5a
add rcx, r8
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0x147ce8a030a6
mov rax, qword [r13 + rcx*8]
imul rax, rdx
xor r11, rax
movabs rax, 0xffffc7a7f42c32de
or r11, rax
mov rdi, qword [0x14035f070]
movabs rax, 0xe49e0dba2dd884cf
imul rdi, rax
sub rdi, r10
mov rax, qword [rsp + 0x48]
sub rax, r11
xor rdi, rax
movabs rax, 0xc7a7c6a6a52432d3
xor rdi, rax
mov rax, r8
imul rax, r10
imul rax, rdi
mov rdx, r9
sub rdx, rax
movabs rax, 0x78958946a767ec9
add rdx, rax
xor rdx, qword [rsp + 0x48]
movzx eax, r9b
imul ecx, eax, 0xf6
mov bl, 0x3f
and cl, bl
rol rdx, cl
not rdx
mov qword [rsp + 0x38], rdx
jmp 0x14023d7a3
mov rcx, r8
imul rcx, qword [0x14035f080]
and rcx, qword [0x14035f060]
mov rax, r11
mov r11, rcx
xor r11, rax
ror r11, 0x14
imul r11, r10
mov rax, rdx
not rax
imul rax, r9
movabs rcx, 0x7cd8a7de78d56332
imul rax, rcx
mov qword [rsp + 0x38], rax
imul rcx, qword [0x14035f060], 0xfffffffffdbc47b8
mov rdx, qword [0x14035f068]
sub rcx, rdx
mov qword [rsp + 0x4d8], rcx
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, ebx
jge 0x14023d77f
sub ecx, r15d
or ecx, r14d
add ecx, r15d
mov rax, qword [rsp + 0x4d8]
ror rax, cl
movabs rcx, 0x63472b83175fcf5a
add rax, rcx
add rax, qword [rsp + 0x78]
mov qword [rsp + 0x48], rax
mov bl, 0x3f
movabs rax, 0xff055d7b889e69ff
mov rcx, qword [rsp + 0x30]
xor rcx, rax
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
xor r11, qword [rsp + 0x38]
imul r11, qword [r13 + rcx*8]
not r10
imul r10, r8
imul r10, qword [rsp + 0x48]
imul r10, rdi
movabs rcx, 0xf5ed7e878f2d2323
xor rcx, r9
not rcx
xor rcx, r10
sub rcx, r11
call fcn.1401c6aac
mov qword [0x14036d990], rax
movabs rax, 0xf961c9b594a07733
mov qword [rsp + 0x4d8], rax
movabs rdi, 0xb5f4cb17d083b295
mov qword [rsp + 0x30], r12
movabs rax, 0x6a78fddc1b812d90
movabs r11, 0x8a491aadfb180c7f
mov rcx, qword [0x14035f070]
imul rcx, rax
not rcx
movabs r8, 0x75b6e55202d0ade9
mov rax, qword [0x14035f060]
xor rax, r8
and rcx, rax
ror rcx, 0x14
shr rcx, 8
mov qword [rsp + 0x38], rcx
movabs rax, 0x63acdec15a70ad20
mov r9, qword [0x14035f070]
imul r9, rax
movabs r8, 0x4a0b34e82f7c4d6b
sub r9, r8
movabs rax, 0xe6863251ffffffff
xor r9, rax
shr r9, 0x1f
not r9
lea rcx, [r9 + r8]
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, r9b
movzx ecx, byte [r13 + rcx*8]
imul ecx, eax
movzx ecx, cl
xor ecx, 0x61
and ecx, 0x8000003f
jge 0x14023d8e0
sub ecx, r15d
or ecx, r14d
add ecx, r15d
mov rdx, r9
ror rdx, cl
not rdx
movabs rcx, 0x16ab8f4d8a2b316a
mov rax, rdx
imul rax, rcx
mov qword [rsp + 0x48], rax
add r8, rax
mov r10, r9
imul r10, qword [rsp + 0x38]
sub r10, r8
movabs rax, 0xf961c9b594a07733
xor r10, rax
mov cl, r8b
xor cl, 0xfe
and cl, 0xf
rol r10, cl
mov rax, r8
sub rax, qword [0x14035f078]
xor r10, rax
movabs rax, 0x85879cf9dcbd76b2
imul rdx, rax
movabs rax, 0x1cc0aab861118ab9
sub rdx, rax
xor r10, rdx
xor r10, r11
mov rax, r10
and rax, r15
xor rax, 2
je 0x14023dc37
sub rax, 1
je 0x14023db3a
sub rax, 1
je 0x14023da71
cmp rax, 1
jne 0x14023dccd
mov rcx, r8
imul rcx, r9
movabs rax, 0x83a4403d107fb7db
add rax, r10
xor rcx, rax
ror rcx, 0x2e
shr rcx, 0xc
not rcx
mov qword [rsp + 0x4d8], rcx
movabs rdx, 0x83572dd04476
add rdx, qword [0x14035f088]
movabs rax, 0x4a89b19049b7299b
xor rdx, rax
movzx eax, r10b
movzx ecx, cl
imul ecx, eax
and cl, bl
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xf7ca7db97530a889
sub rax, r9
mov r9, rdx
xor r9, rax
mov rcx, r9
imul rcx, rdi
mov eax, 0xa4eb7a63
add rcx, rax
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov cl, byte [r13 + rcx*8]
and cl, 0xf
movabs rdi, 0xa3206740205bf29e
sub rdi, qword [rsp + 0x4d8]
shr rdi, cl
movabs rax, 0x4a13597085eb581b
mov rcx, qword [rsp + 0x48]
add rcx, rax
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, r10
imul rax, qword [r13 + rcx*8]
imul rax, r10
sub rax, qword [rsp + 0x38]
xor rdi, rax
jmp 0x14023dccd
movabs rcx, 0xaaaaaa1aa4f2875d
mov r9, r10
xor r9, rcx
movabs rcx, 0x1206ed66ff5b11
imul r9, rcx
movabs rdx, 0xffff7e8a82e2b581
mov rcx, qword [rsp + 0x48]
imul rcx, rdx
movabs rdx, 0xdd1d5bd2792fa20e
add r9, rdx
add r9, rcx
movabs rax, 0x277cd7be7622503d
mov rcx, r9
xor rcx, rax
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r8, r9
not r8
imul r8, qword [r13 + rcx*8]
xor r8, 0xfffffffff1a7518d
lea ecx, [r10 + 0x1f]
and cl, bl
rol r8, cl
movabs rax, 0x4c6a710080000000
imul r8, rax
mov rcx, r8
ror rcx, 0x33
not rcx
movabs rax, 0x9b2de6b2e73b4868
imul rcx, rax
mov rax, r9
sub rax, r8
lea rdx, [rcx + rax*4]
mov cl, byte [rsp + 0x38]
and cl, bl
ror rdx, cl
mov rax, rdi
mov rdi, rdx
imul rdi, rax
jmp 0x14023dccd
movabs rax, 0xd64a7de6a407e225
imul r10, rax
movabs rax, 0xd79435e50d79435f
mul r10
shr rdx, 4
movzx eax, dl
imul edx, eax, 0x13
mov cl, r10b
sub cl, dl
movabs rdx, 0x69e364a6b5f88cc
shl rdx, cl
mov rax, r11
mov r11, rdx
xor r11, rax
mov cl, r8b
and cl, bl
rol r11, cl
movabs rcx, 0x4a0b34e82f7c4d6b
add rcx, r10
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0xb17d083b295
mov rax, qword [r13 + rcx*8]
imul rax, rdx
xor r11, rax
movabs rax, 0xffffc7a7f836f170
or r11, rax
mov rdi, qword [0x14035f070]
movabs rax, 0xf961c9b594a07733
imul rdi, rax
sub rdi, r8
mov rax, qword [rsp + 0x38]
sub rax, r11
xor rdi, rax
movabs rax, 0xc7a7c6a6a93ef17d
xor rdi, rax
mov rax, r10
imul rax, r8
imul rax, rdi
mov rdx, r9
sub rdx, rax
movabs rax, 0x7895894666cbd67
add rdx, rax
xor rdx, qword [rsp + 0x38]
mov al, r9b
add al, al
lea ecx, [rax + r9]
shl cl, 3
and cl, bl
rol rdx, cl
not rdx
mov qword [rsp + 0x30], rdx
jmp 0x14023dccd
mov rcx, r10
imul rcx, qword [0x14035f080]
and rcx, qword [0x14035f088]
mov rax, r11
mov r11, rcx
xor r11, rax
ror r11, 0x3f
imul r11, r8
mov rax, qword [rsp + 0x38]
not rax
imul rax, r9
movabs rcx, 0x7cd8a7de74cfa09c
imul rax, rcx
mov qword [rsp + 0x30], rax
imul rcx, qword [0x14035f060], 0xfffffffff9c8a196
mov rdx, qword [0x14035f068]
sub rcx, rdx
mov qword [rsp + 0x38], rcx
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, 0x8000003f
jge 0x14023dcae
sub ecx, r15d
or ecx, r14d
add ecx, r15d
mov rax, qword [rsp + 0x38]
ror rax, cl
movabs rcx, 0x4a0b34e82f7c4d6b
add rax, rcx
add rax, qword [rsp + 0x48]
mov qword [rsp + 0x38], rax
movabs rax, 0xff055d7b8484aa51
mov rcx, qword [rsp + 0x4d8]
xor rcx, rax
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
xor r11, qword [rsp + 0x30]
imul r11, qword [r13 + rcx*8]
not r8
imul r8, r10
imul r8, qword [rsp + 0x38]
imul r8, rdi
movabs rcx, 0xf5ed7e878337e08d
xor rcx, r9
not rcx
xor rcx, r8
sub rcx, r11
call fcn.1401c6a88
mov qword [0x14036d9c0], rax
mov dword [rsp + 0x108], r12d
mov dword [rsp + 0x108], 0x3b69b621
mov eax, dword [rsp + 0x108]
add eax, 0x19cf7b30
xor eax, 0x1084abd4
sub eax, dword [0x14035f058]
sub eax, dword [0x14035f050]
add eax, 0x354d0290
xor eax, 0x7363e094
sub eax, dword [0x14035f048]
mov rcx, qword [0x14035f040]
add eax, 0x1f76d36
add eax, ecx
xor eax, 0xfe8fd187
sub eax, 0x5af3b66b
xor eax, 0xe87d691e
lea edx, [rcx + 0xaa98590]
add edx, eax
not edx
mov eax, dword [0x14035f038]
xor eax, 0xc4673c40
sub edx, eax
mov ecx, dword [0x14035f030]
xor ecx, 0x3b98c3bf
add ecx, 0x137c2fc6
add ecx, edx
xor ecx, 0xb1eab3c0
mov dword [rsp + 0x108], ecx
movsxd r8, ecx
mov dword [rsp + 0x108], r12d
mov rcx, qword [rsp + 0x2d8]
mov rax, rcx
mov rdx, qword [rsp + 0x2d0]
sub rax, rdx
cmp r8, rax
jae 0x14023dedc
mov r13, qword [rsp + 0x40]
mov dword [rsp + 0x80], r12d
mov dword [rsp + 0x80], 0xc0f19df5
mov eax, dword [rsp + 0x80]
add eax, 0x687d98b6
xor eax, 0x2e0afa82
sub eax, dword [0x14035f058]
sub eax, dword [0x14035f050]
sub eax, 0x5d9f07c8
xor eax, 0xb7b0a98
sub eax, dword [0x14035f048]
mov rcx, qword [0x14035f040]
add eax, 0x322a1421
add eax, ecx
xor eax, 0xccd137da
sub eax, 0x716679a9
xor eax, 0xd4f3e4ea
mov edx, dword [0x14035f030]
xor edx, 0x225e0b49
sub edx, eax
mov eax, dword [0x14035f038]
xor eax, 0xdda1f4b6
sub edx, eax
sub edx, ecx
sub edx, 0x40b4cc05
xor edx, 0x2f8699e6
mov dword [rsp + 0x80], edx
mov rax, qword [rsp + 0x2d0]
movzx ecx, byte [rax + r8]
movsxd rax, edx
add rax, r8
imul rcx, rax
imul rcx, r8
not rcx
xor r13, rcx
mov dword [rsp + 0x80], r12d
add r8, r15
mov rcx, qword [rsp + 0x2d8]
mov rax, rcx
mov rdx, qword [rsp + 0x2d0]
sub rax, rdx
cmp r8, rax
jb 0x14023ddf8
mov qword [rsp + 0x40], r13
lea r13, [0x14035f060]
sub rcx, rdx
mov rax, qword [rsp + 0x40]
imul rax, rcx
mov qword [rsp + 0x40], rax
movabs rax, 0xd8d4a0c70180d55
mov qword [rsp + 0x30], rax
movabs r9, 0xaadb2e53e452953f
mov qword [rsp + 0x38], r9
movabs rax, 0x862708ee7c0eb000
mov r11, qword [0x14035f068]
imul r11, rax
movabs rax, 0x8a9dcda4e6371000
xor r11, rax
mov rcx, r11
imul rcx, r9
mov qword [rsp + 0x48], rcx
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r8, r11
and r8, r9
imul r8, qword [r13 + rcx*8]
movabs rax, 0xb6179b1bd8bc7266
imul r8, rax
shr r8, 3
movabs rax, 0x8288e1dfe4ab0862
xor r8, rax
movabs rax, 0xffffff57ce22125d
mov rcx, r11
imul rcx, rax
add rcx, 0x19ad8ce
xor rcx, r8
xor rcx, qword [0x14035f060]
mov rax, r8
imul rax, qword [0x14035f070]
movabs rdx, 0xb9de928bc791ad7c
imul rax, rdx
not rax
and rcx, rax
ror rcx, 0x32
shr rcx, 8
mov qword [rsp + 0x58], rcx
movabs r9, 0x5524d1ac1bad6ac1
lea rcx, [r11 + r9]
xor rcx, 0xfffffffff91fa671
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rax, 0xb8a09c32c1afa868
mov rdi, qword [r13 + rcx*8]
imul rdi, rax
sub rdi, r9
movabs rcx, 0x866189c23b9f03ac
mov rax, r8
imul rax, rcx
xor rdi, rax
shr rdi, 0x1f
not rdi
mov rax, rdi
xor rax, r11
mov qword [rsp + 0x4d8], rax
lea rcx, [rdi + r9]
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, dil
movzx ecx, byte [r13 + rcx*8]
imul ecx, eax
movzx ecx, cl
xor ecx, 0x6d
mov eax, 0x8000003f
and ecx, eax
jge 0x14023e06b
sub ecx, r15d
or ecx, r14d
add ecx, r15d
mov rdx, qword [rsp + 0x4d8]
ror rdx, cl
not rdx
imul rdx, r8
imul rcx, rdx, 0x19ad8ce
mov qword [rsp + 0x78], rcx
lea r10, [rcx + r9]
mov r9, rdi
imul r9, qword [rsp + 0x58]
sub r9, r10
movabs rcx, 0xd8d4a0c70180d55
xor r9, rcx
movzx ecx, r10b
mov dword [rsp + 0x4d8], ecx
xor ecx, 2
and ecx, 0xf
and ecx, eax
jge 0x14023e0c4
sub ecx, r15d
or ecx, r14d
add ecx, r15d
rol r9, cl
movabs rax, 0x9dd1bc6a6f4740b2
imul rdx, rax
movabs rax, 0x736360a9d4a19a7f
add rdx, rax
xor r9, rdx
mov rax, r10
sub rax, qword [0x14035f078]
xor r9, rax
xor r9, r8
xor r9, r11
mov rax, r9
xor rax, 0xfffffffffffffffe
and eax, 3
je 0x14023e471
sub rax, 1
je 0x14023e319
sub rax, 1
je 0x14023e21f
cmp rax, 1
jne 0x14023e523
mov rcx, r10
imul rcx, rdi
movabs rax, 0x72bcbbf71afed41d
add rax, r9
xor rcx, rax
ror rcx, 0xa
shr rcx, 0xc
xor rcx, r11
not rcx
mov qword [rsp + 0x30], rcx
movabs rdx, 0x83572560a37a
add rdx, qword [0x14035f088]
movabs rax, 0x55a654d475d6e93d
xor rdx, rax
movzx eax, cl
movzx ecx, r9b
imul ecx, eax
and cl, bl
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xf7ca7db97d804f85
sub rax, rdi
mov rdi, rdx
xor rdi, rax
mov rcx, rdi
movabs rax, 0xaadb2e53e452953f
imul rcx, rax
mov eax, 0xac5b9d6f
add rcx, rax
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov cl, byte [r13 + rcx*8]
and cl, 0xf
movabs rax, 0x6a06f93445663938
sub rax, qword [rsp + 0x30]
shr rax, cl
mov qword [rsp + 0x38], rax
movabs rcx, 0x552cf6347a8d5865
add rcx, qword [rsp + 0x78]
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, r9
imul rax, qword [r13 + rcx*8]
imul rax, r9
sub rax, qword [rsp + 0x58]
xor qword [rsp + 0x38], rax
jmp 0x14023e523
movabs rax, 0xaaaaaa1aac426051
mov rcx, r9
xor rcx, rax
movabs rax, 0x1206ed6e4fbc1d
imul rcx, rax
movabs rdx, 0xfff17ca87b20562d
mov rax, r8
xor rax, rdx
sub rcx, rax
movabs rax, 0xffff7e8a8a52528d
mov rdx, qword [rsp + 0x78]
imul rdx, rax
movabs rdi, 0x7bc1fe5590d9f0da
add rdi, rcx
add rdi, rdx
movabs rax, 0x277cd7be7e92b731
mov rcx, rdi
xor rcx, rax
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r10, rdi
not r10
imul r10, qword [r13 + rcx*8]
xor r10, 0xfffffffff917b681
lea ecx, [r9 + 0x13]
and cl, bl
rol r10, cl
movabs rcx, 0xf3fdfe7d6fef43cf
mov rax, qword [rsp + 0x48]
xor rax, rcx
movabs rcx, 0x7c7a7dc69010bc30
and rax, rcx
imul r10, rax
mov rcx, r10
ror rcx, 0x19
not rcx
movabs rax, 0x9b2de6b2c5f8d458
imul rcx, rax
mov rax, rdi
sub rax, r10
lea rdx, [rcx + rax*4]
mov cl, byte [rsp + 0x58]
and cl, bl
ror rdx, cl
movabs rax, 0xaadb2e53e452953f
imul rdx, rax
mov qword [rsp + 0x38], rdx
jmp 0x14023e523
movabs rax, 0x3bae4286d399cc21
imul r9, rax
movabs rax, 0xd79435e50d79435f
mul r9
shr rdx, 4
movzx eax, dl
imul edx, eax, 0x13
mov cl, r9b
sub cl, dl
movabs rdx, 0x5524d1ac1bad6ac0
mov rax, r11
imul rax, rdx
movabs rdx, 0xd8d4a0c70180d55
xor rax, rdx
not rax
shl rax, cl
xor r8, rax
mov eax, dword [rsp + 0x4d8]
and eax, 0x8000003f
jge 0x14023e381
sub eax, r15d
or eax, r14d
add eax, r15d
mov cl, al
rol r8, cl
movabs rcx, 0x5524d1ac1bad6ac1
add rcx, r9
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0xffffee53e452953f
mov rax, qword [r13 + rcx*8]
imul rax, rdx
xor r8, rax
movabs rax, 0xffffc7a7f086167c
or r8, rax
mov rcx, qword [0x14035f070]
movabs rax, 0xd8d4a0c70180d55
imul rcx, rax
sub rcx, r10
mov rax, qword [rsp + 0x58]
sub rax, r8
xor rcx, rax
movabs rax, 0xc7a7c6a6a18e1671
xor rcx, rax
mov qword [rsp + 0x38], rcx
movabs rax, 0xcccccccccccccccd
mul r11
shr rdx, 3
lea rax, [rdx + rdx*4]
add rax, rax
mov rcx, r11
sub rcx, rax
or rcx, r15
xor edx, edx
mov rax, qword [rsp + 0x38]
div rcx
mov rcx, rdx
mov rdx, r9
imul rdx, r10
imul rdx, qword [rsp + 0x38]
shr rdx, cl
mov rax, rdi
sub rax, rdx
sub rax, r11
movabs r11, 0x78958946edc5a6b
add r11, rax
xor r11, qword [rsp + 0x58]
mov al, dil
shl al, 2
lea ecx, [rax + rdi]
shl cl, 2
and cl, bl
rol r11, cl
not r11
jmp 0x14023e523
mov rax, rsi
mul r8
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
mov rcx, r8
sub rcx, rax
mov rax, r9
imul rax, qword [0x14035f080]
mov rdx, qword [r13 + rcx*8]
and rdx, rax
xor rdx, r8
and r8b, bl
mov cl, r8b
mov r8, rdx
ror r8, cl
imul r8, r10
mov rcx, qword [rsp + 0x58]
not rcx
imul rcx, rdi
movabs rax, 0x7cd8a7de7c7f4790
imul rcx, rax
mov rax, r8
imul rax, r11
mov r11, rcx
xor r11, rax
imul rdx, qword [0x14035f060], 0x19ad8ce
sub rdx, qword [0x14035f068]
mov al, r11b
not al
movzx ecx, al
movzx eax, byte [0x14035f068]
xor ecx, eax
and ecx, 0x8000003f
jge 0x14023e509
sub ecx, r15d
or ecx, r14d
add ecx, r15d
ror rdx, cl
movabs rax, 0x5524d1ac1bad6ac1
add rax, rdx
add rax, qword [rsp + 0x78]
mov qword [rsp + 0x58], rax
movabs rax, 0xff055d7b8c344d5d
mov rcx, qword [rsp + 0x30]
xor rcx, rax
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
xor r8, r11
imul r8, qword [r13 + rcx*8]
not r10
imul r10, r9
imul r10, qword [rsp + 0x58]
imul r10, qword [rsp + 0x38]
movabs rcx, 0xf5ed7e878b870781
xor rcx, rdi
not rcx
xor rcx, r10
sub rcx, r8
call fcn.140031814
mov qword [0x14036d9e8], rax
movabs rax, 0xaf64000000000000
mov r8, qword [0x14035f060]
imul r8, rax
movabs rax, 0x2c5f000000000000
xor r8, rax
mov qword [rsp + 0x4d8], r8
movabs rdi, 0x211d64b782912bb4
mov rcx, r8
imul rcx, rdi
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r11, r8
and r11, rdi
imul r11, qword [r13 + rcx*8]
movabs rax, 0x9d3491114dc9c6c0
imul r11, rax
shr r11, 3
movabs rax, 0x8c6bf79620efaa35
xor r11, rax
movabs rax, 0xffffff57c6eb5d73
mov r9, r8
imul r9, rax
sub r9, 0x6249a40
xor r9, r11
xor r9, qword [0x14035f060]
mov rax, r11
imul rax, qword [0x14035f070]
movabs rcx, 0xb9de928bcf58e252
imul rax, rcx
not rax
and r9, rax
ror r9, 0x17
shr r9, 8
movabs rcx, 0xdee29b487d6ed44c
add rcx, r8
xor rcx, 0xfffffffff1d6e95f
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rax, 0x340184319f91b280
mov r10, qword [r13 + rcx*8]
imul r10, rax
add r10, rdi
movabs rcx, 0x906afdf6ca96bd90
mov rax, r11
imul rax, rcx
xor r10, rax
shr r10, 0x1f
not r10
mov qword [rsp + 0x30], r10
mov rdi, r10
xor rdi, r8
movabs rcx, 0xdee29b487d6ed44c
add rcx, r10
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, r10b
movzx ecx, byte [r13 + rcx*8]
imul ecx, eax
movzx ecx, cl
xor ecx, 0x43
mov r8d, 0x8000003f
and ecx, r8d
jge 0x14023e6f6
sub ecx, r15d
or ecx, r14d
add ecx, r15d
ror rdi, cl
not rdi
imul rdi, r11
imul rax, rdi, 0xfffffffff9db65c0
movabs rcx, 0x211d64b782912bb4
sub rax, rcx
mov qword [rsp + 0x38], rax
imul r10, r9
sub r10, rax
sub rax, qword [0x14035f078]
xor r10, rax
movabs rax, 0x9332aa23aa1acb00
imul rdi, rax
movabs rax, 0x58ef21f2a6a20970
add rdi, rax
xor r10, rdi
xor r10, r11
xor r10, qword [rsp + 0x4d8]
movabs rax, 0xd7c1efadf1cfcb1d
xor r10, rax
mov rax, rsi
mul r11
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
mov rdx, r11
sub rdx, rax
mov rax, r10
imul rax, qword [0x14035f080]
mov rdi, qword [r13 + rdx*8]
and rdi, rax
xor rdi, r11
and r11b, bl
mov cl, r11b
ror rdi, cl
mov r11, qword [rsp + 0x38]
imul rdi, r11
not r9
imul r9, qword [rsp + 0x30]
movabs rax, 0x7cd8a7de74b608be
imul r9, rax
mov rax, rdi
imul rax, qword [rsp + 0x4d8]
xor r9, rax
imul rax, qword [0x14035f060], 0xfffffffff9db65c0
mov rdx, qword [0x14035f068]
sub rax, rdx
mov qword [rsp + 0x4d8], rax
mov al, r9b
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, r8d
jge 0x14023e7fd
sub ecx, r15d
or ecx, r14d
add ecx, r15d
mov rax, qword [rsp + 0x4d8]
ror rax, cl
add rax, r11
not r11
imul r11, r10
imul r11, rax
movabs rax, 0x211d64b782912bb4
imul r11, rax
movabs rcx, 0xf5ed7e87834e48af
xor rcx, qword [rsp + 0x30]
not rcx
xor rcx, r11
xor rdi, r9
imul rdi, qword [0x14035f070]
sub rcx, rdi
call fcn.1401c73f4
mov qword [0x14036d9b0], rax
movabs rdi, 0x6704d34f3d1d67d9
movabs r10, 0x94ff900e4ec406a
mov qword [rsp + 0x4d8], r10
movabs rax, 0xafa82f3fda000000
mov r8, qword [0x14035f080]
imul r8, rax
movabs rax, 0xdcda9dfe9b000000
xor r8, rax
mov qword [rsp + 0x30], r8
mov rcx, r8
imul rcx, r10
mov qword [rsp + 0x38], rcx
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r9, r8
and r9, r10
imul r9, qword [r13 + rcx*8]
movabs rax, 0xf79ec31847097f80
imul r9, rax
movabs rax, 0x6af641c3c7fbc368
xor r9, rax
shr r9, 3
movabs rax, 0xffffff57cef18fb7
mov rcx, r8
imul rcx, rax
sub rcx, 0xe6eb480
xor rcx, r9
xor rcx, qword [0x14035f060]
mov rax, r9
imul rax, qword [0x14035f070]
movabs rdx, 0xb9de928bc7423096
imul rax, rdx
not rax
and rcx, rax
ror rcx, 0xd
shr rcx, 8
mov qword [rsp + 0x48], rcx
movabs rcx, 0xf6b006ff1b13bf96
add rcx, r8
xor rcx, 0xfffffffff9cc3b9b
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rax, 0x891a3c76502f7300
mov r11, qword [r13 + rcx*8]
imul r11, rax
add r11, r10
movabs rcx, 0xd1b9abea0bcff68
mov rax, r9
imul rax, rcx
xor r11, rax
shr r11, 0x1f
not r11
mov rax, r11
xor rax, r8
mov qword [rsp + 0x58], rax
movabs r8, 0xf6b006ff1b13bf96
lea rcx, [r11 + r8]
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, r11b
movzx ecx, byte [r13 + rcx*8]
imul ecx, eax
movzx ecx, cl
xor ecx, 0x87
and ecx, 0x8000003f
jge 0x14023e9dc
sub ecx, r15d
or ecx, r14d
add ecx, r15d
mov rdx, qword [rsp + 0x58]
ror rdx, cl
not rdx
imul rdx, r9
imul rax, rdx, 0xfffffffff1914b80
mov qword [rsp + 0x58], rax
add r8, rax
mov r10, r11
imul r10, qword [rsp + 0x48]
sub r10, r8
xor r10, rdi
mov cl, r8b
xor cl, 0xf8
and cl, 0xf
rol r10, cl
mov rax, r8
sub rax, qword [0x14035f078]
xor r10, rax
movabs rax, 0x1207958df3094300
imul rdx, rax
movabs rax, 0x68901f3c5c5ad41c
add rdx, rax
xor r10, rdx
xor r10, r9
mov rdx, qword [rsp + 0x30]
xor r10, rdx
mov rax, r10
and eax, 2
je 0x14023edb0
sub rax, 1
je 0x14023ec6e
sub rax, 1
je 0x14023eb71
cmp rax, 1
jne 0x14023ee6e
mov rdi, r8
imul rdi, r11
movabs rax, 0x16a933e258ffea3a
add rax, r10
xor rdi, rax
ror rdi, 0x34
shr rdi, 0xc
xor rdi, rdx
not rdi
movabs rcx, 0x835725b33e94
mov rdx, qword [0x14035f088]
add rdx, rcx
movabs rax, 0xf632838775bba182
xor rdx, rax
movzx eax, dil
movzx ecx, r10b
imul ecx, eax
and cl, bl
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xf7ca7db97d53d26f
sub rax, r11
mov r11, rdx
xor r11, rax
mov rcx, r11
movabs rax, 0x94ff900e4ec406a
imul rcx, rax
mov eax, 0xac880085
add rcx, rax
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov cl, byte [r13 + rcx*8]
and cl, 0xf
movabs rax, 0x449927bf7a0bb515
sub rax, rdi
shr rax, cl
mov qword [rsp + 0x4d8], rax
movabs rcx, 0xf6b82b8779202fe0
add rcx, qword [rsp + 0x58]
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, r10
imul rax, qword [r13 + rcx*8]
imul rax, r10
sub rax, qword [rsp + 0x48]
xor qword [rsp + 0x4d8], rax
jmp 0x14023ee6e
movabs rax, 0xaaaaaa1aac91fdbb
mov rcx, r10
xor rcx, rax
movabs rax, 0x1206ed6e9c21f7
imul rcx, rax
movabs rdx, 0xfff17ca87bf3cbc7
mov rax, r9
xor rax, rdx
sub rcx, rax
movabs rax, 0xffff7e8a8a81cf67
mov rdx, qword [rsp + 0x58]
imul rdx, rax
movabs r11, 0x32fafb29cdf42ec1
add r11, rcx
add r11, rdx
movabs rax, 0x277cd7be7e412adb
mov rcx, r11
xor rcx, rax
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r8, r11
not r8
imul r8, qword [r13 + rcx*8]
xor r8, 0xfffffffff9c42b6b
lea ecx, [r10 - 7]
and cl, bl
rol r8, cl
movabs rcx, 0x1858510480000000
mov rax, qword [rsp + 0x38]
xor rax, rcx
movabs rcx, 0x7c7a7dc690c321da
and rax, rcx
imul r8, rax
mov rcx, r8
ror rcx, 0x3f
not rcx
movabs rax, 0x9b2de6b2c6b6a3f0
imul rcx, rax
mov rax, r11
sub rax, r8
lea rdx, [rcx + rax*4]
mov cl, byte [rsp + 0x48]
and cl, bl
ror rdx, cl
movabs rax, 0x94ff900e4ec406a
imul rdx, rax
mov qword [rsp + 0x4d8], rdx
jmp 0x14023ee6e
movabs rax, 0x214559ad7630747c
imul r10, rax
movabs rax, 0xd79435e50d79435f
mul r10
shr rdx, 4
movzx eax, dl
imul edx, eax, 0x13
mov cl, r10b
sub cl, dl
movabs rdx, 0xf6b006ff1b13bf95
mov rax, qword [rsp + 0x30]
imul rax, rdx
xor rax, rdi
not rax
shl rax, cl
xor r9, rax
mov cl, r8b
and cl, bl
rol r9, cl
movabs rcx, 0xf6b006ff1b13bf96
add rcx, r10
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0xfffff900e4ec406a
mov rax, qword [r13 + rcx*8]
imul rax, rdx
xor r9, rax
movabs rax, 0xffffc7a7f0558b96
or r9, rax
mov rcx, qword [0x14035f070]
imul rcx, rdi
sub rcx, r8
mov rax, qword [rsp + 0x48]
sub rax, r9
xor rcx, rax
movabs rax, 0xc7a7c6a6a15d8b9b
xor rcx, rax
mov qword [rsp + 0x4d8], rcx
movabs rax, 0xcccccccccccccccd
mov rcx, qword [rsp + 0x30]
mul rcx
shr rdx, 3
lea rax, [rdx + rdx*4]
add rax, rax
sub rcx, rax
or rcx, r15
xor edx, edx
mov rax, qword [rsp + 0x4d8]
div rcx
mov rcx, rdx
mov rdx, r10
imul rdx, r8
imul rdx, qword [rsp + 0x4d8]
shr rdx, cl
mov rax, r11
sub rax, rdx
sub rax, qword [rsp + 0x30]
movabs rdx, 0x78958946e0fc781
add rdx, rax
xor rdx, qword [rsp + 0x48]
movzx eax, r11b
imul ecx, eax, 0xfe
and cl, bl
rol rdx, cl
not rdx
mov qword [rsp + 0x30], rdx
jmp 0x14023ee6e
mov rax, rsi
mul r9
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
mov rcx, r9
sub rcx, rax
mov rax, r10
imul rax, qword [0x14035f080]
mov rdx, qword [r13 + rcx*8]
and rdx, rax
xor rdx, r9
and r9b, bl
mov cl, r9b
mov r9, rdx
ror r9, cl
imul r9, r8
mov rcx, qword [rsp + 0x48]
not rcx
imul rcx, r11
movabs rax, 0x7cd8a7de7cacda7a
imul rcx, rax
mov rax, r9
imul rax, qword [rsp + 0x30]
xor rcx, rax
mov qword [rsp + 0x30], rcx
imul rax, qword [0x14035f060], 0xfffffffff1914b80
mov rdx, qword [0x14035f068]
sub rax, rdx
mov qword [rsp + 0x38], rax
mov al, cl
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, 0x8000003f
jge 0x14023ee4f
sub ecx, r15d
or ecx, r14d
add ecx, r15d
mov rax, qword [rsp + 0x38]
ror rax, cl
movabs rcx, 0xf6b006ff1b13bf96
add rax, rcx
add rax, qword [rsp + 0x58]
mov qword [rsp + 0x48], rax
movabs rax, 0xff055d7b8ce7d0b7
xor rdi, rax
mov rax, rsi
mul rdi
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rdi, rax
xor r9, qword [rsp + 0x30]
imul r9, qword [r13 + rdi*8]
not r8
imul r8, r10
imul r8, qword [rsp + 0x48]
imul r8, qword [rsp + 0x4d8]
movabs rcx, 0xf5ed7e878b549a6b
xor rcx, r11
not rcx
xor rcx, r8
sub rcx, r9
call fcn.1401c6944
mov qword [0x14036d9e0], rax
jmp 0x14023eed6
mov bl, 0x3f
mov r8, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x4d0]
xor r8, qword [rdx + 0x60]
mov qword [rsp + 0x40], r8
mov qword [rsp + 0x120], r12
movabs rax, 0x482943182da05b53
mov qword [rsp + 0x120], rax
movabs rcx, 0xf33a52bdf290c903
add rcx, qword [rsp + 0x120]
movabs rax, 0xee55366253118495
xor rcx, rax
sub rcx, qword [0x14035f050]
sub rcx, qword [0x14035f058]
movabs rax, 0xedf047f713d415a
sub rcx, rax
movabs rax, 0xf8f8cd90673f8d89
xor rcx, rax
sub rcx, qword [0x14035f048]
movabs rax, 0x47d654aed1bd0812
add rcx, rax
mov rdx, qword [0x14035f040]
add rcx, rdx
movabs rax, 0x5a91799f575354c1
xor rcx, rax
movabs rax, 0x5f627dbcf54e38d4
sub rcx, rax
movabs rax, 0x963b3cce67b5fc2a
xor rcx, rax
movabs rax, 0x3483ce3d0bd580df
add rax, rcx
add rdx, rax
not rdx
movabs rcx, 0x13cce94af7ca4178
mov rax, qword [0x14035f038]
xor rax, rcx
sub rdx, rax
movabs rax, 0xec3316b50835be87
mov rcx, qword [0x14035f030]
xor rcx, rax
movabs r11, 0xe0b56dadc9e26c4d
add r11, rdx
add r11, rcx
movabs rax, 0x6900e33416179648
xor r11, rax
mov qword [rsp + 0x30], r11
mov qword [rsp + 0x120], r11
movabs rax, 0xcd7e8a131b72d1b0
mov rdi, r8
xor rdi, rax
movabs rax, 0xd8bf5a4070914a03
imul rdi, rax
mov rcx, r8
imul rcx, r8
and ecx, 7
ror rdi, 6
shr rdi, cl
xor rdi, r8
movabs rcx, 0x35df4c3560940b57
mov rax, r8
imul rax, rcx
ror rax, 0x19
imul rax, rdi
movabs rcx, 0xcda93000005ed71c
xor rax, rcx
mov qword [rsp + 0x38], rax
mov r10, rax
not r10
mov rax, r10
imul rax, rdi
xor edx, edx
div r11
mov r9, r10
imul r9, qword [r13 + rdx*8]
imul r9, rdi
movabs rax, 0x5b0f4e711a5e0555
xor r9, rax
mov cl, r10b
shl cl, 3
add cl, r10b
shl cl, 2
shl r9, cl
mov qword [rsp + 0x48], r9
mov rax, r9
imul rax, r10
mov qword [rsp + 0x58], rax
xor edx, edx
div r11
mov r8, r9
and r8, r10
imul r8, qword [r13 + rdx*8]
mov rcx, qword [rsp + 0x40]
imul r8, rcx
imul r8, rdi
movabs rax, 0xcf1d0a019f7220a7
xor r8, rax
shr r8, 3
mov rax, rcx
imul rax, r10
xor r8, rax
mov qword [rsp + 0x68], r8
movabs rax, 0xca2818fa0e327479
mov rdx, r9
imul rdx, rax
add rdx, rcx
xor rdx, r8
xor rdx, qword [0x14035f060]
mov rax, r8
imul rax, qword [0x14035f070]
movabs rcx, 0x8c0975260781cb58
imul rax, rcx
not rax
and rdx, rax
movzx eax, r10b
mov dword [rsp + 0x4d8], eax
xor eax, 0xa9
and eax, 0x8000003f
jge 0x14023f13e
sub eax, r15d
or eax, r14d
add eax, r15d
mov cl, al
ror rdx, cl
shr rdx, 8
mov qword [rsp + 0x70], rdx
mov rax, r9
sub rax, r10
movabs rcx, 0xca281852390fc055
xor rax, rcx
xor edx, edx
div r11
mov r11, qword [rsp + 0x40]
imul r11, qword [r13 + rdx*8]
movabs rax, 0xc77290bd76914b18
imul r11, rax
add r11, r10
mov rax, r8
imul rax, r10
imul rax, rdi
shl rax, 2
xor r11, rax
shr r11, 0x1f
not r11
mov r9, r11
xor r9, qword [rsp + 0x48]
mov rax, r11
sub rax, r10
xor edx, edx
div qword [rsp + 0x30]
movzx eax, r11b
movzx ecx, byte [r13 + rdx*8]
imul ecx, eax
movzx ecx, cl
xor ecx, 0x49
mov eax, 0x8000003f
and ecx, eax
jge 0x14023f1d3
sub ecx, r15d
or ecx, r14d
add ecx, r15d
ror r9, cl
not r9
imul r9, qword [rsp + 0x40]
imul r9, r8
sub r9, r10
mov rdx, r11
imul rdx, qword [rsp + 0x70]
sub rdx, r9
xor rdx, rdi
movzx ecx, r9b
mov dword [rsp + 0x78], ecx
xor ecx, 6
and ecx, 0xf
and ecx, eax
jge 0x14023f210
sub ecx, r15d
or ecx, r14d
add ecx, r15d
rol rdx, cl
mov rax, r9
sub rax, qword [0x14035f078]
xor rdx, rax
mov rax, r9
imul rax, r10
xor rdx, rax
xor rdx, r8
xor rdx, qword [rsp + 0x48]
mov qword [rsp + 0x60], rdx
mov rax, rdx
and rax, r10
xor rax, 0xfffffffffffffffe
and eax, 3
je 0x14023f592
sub rax, 1
je 0x14023f468
sub rax, 1
je 0x14023f37b
cmp rax, 1
jne 0x14023f636
movabs rcx, 0xb9703bca616e6a79
mov rax, r10
imul rax, rcx
mov rdi, rdx
sub rdi, rax
mov rax, r9
imul rax, r11
xor rdi, rax
mov eax, dword [rsp + 0x4d8]
and eax, 0x3c
xor eax, 0x52
and eax, 0x8000003f
jge 0x14023f2a6
sub eax, r15d
or eax, r14d
add eax, r15d
mov cl, al
ror rdi, cl
shr rdi, 0xc
xor rdi, qword [rsp + 0x48]
not rdi
movabs rcx, 0x35d764fae570c55e
mov rdx, qword [0x14035f088]
add rdx, rcx
xor rdx, qword [rsp + 0x38]
movabs rax, 0x355562d5ae6be5d9
xor rdx, rax
movzx eax, byte [rsp + 0x60]
movzx ecx, dil
imul ecx, eax
and cl, bl
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xc21d9a14bd9029a1
sub rax, r11
mov r11, rdx
xor r11, rax
mov rax, r11
imul rax, r10
movabs rcx, 0x35d7e7ad6c4bfb4b
add rax, rcx
xor edx, edx
div qword [rsp + 0x30]
mov cl, byte [r13 + rdx*8]
and cl, 0xf
movabs rax, 0xc30b6ed02820d6a9
imul r10, rax
sub r10, rdi
movabs rax, 0x5bae6d2b696ed3a1
add r10, rax
shr r10, cl
movabs rax, 0x35dfc3259ecf8b88
add rax, r9
xor edx, edx
div qword [rsp + 0x30]
mov rax, qword [rsp + 0x60]
imul rax, qword [r13 + rdx*8]
imul rax, qword [rsp + 0x60]
sub rax, qword [rsp + 0x70]
xor r10, rax
jmp 0x14023f636
movabs rax, 0x9f7d4db76c520675
mov r11, rdx
xor r11, rax
movabs rax, 0x35c5e140ae5fda39
imul r11, rax
movabs rcx, 0xca269b05bb303009
mov rax, r8
xor rax, rcx
sub r11, rax
lea rax, [r9 + 1]
movabs rcx, 0xca2899274a4234a9
imul rax, rcx
add r11, rax
movabs rcx, 0x12ab3013be82d115
mov rax, r11
xor rax, rcx
xor edx, edx
div qword [rsp + 0x30]
mov r9, r11
not r9
imul r9, qword [r13 + rdx*8]
movabs rax, 0xca2818523907d0a5
xor r9, rax
mov cl, byte [rsp + 0x60]
sub cl, 9
and cl, bl
rol r9, cl
mov rax, rdi
not rax
shl rax, 0x1d
xor rax, qword [rsp + 0x58]
movabs rcx, 0x49ad9a6b5000da14
and rax, rcx
imul r9, rax
movzx ecx, dil
xor ecx, 0x28
and ecx, 0x8000003f
jge 0x14023f435
sub ecx, r15d
or ecx, r14d
add ecx, r15d
mov rax, r9
ror rax, cl
not rax
movabs rcx, 0x131c9e01716e5332
imul rax, rcx
sub rax, r9
add rax, r11
shl rax, 2
mov cl, byte [rsp + 0x70]
and cl, bl
ror rax, cl
imul r10, rax
jmp 0x14023f636
mov rax, r10
imul rax, r10
shr rax, 2
not rax
imul rax, r10
imul rdx, rax
mov qword [rsp + 0x60], rdx
movabs rax, 0xd79435e50d79435f
mul rdx
shr rdx, 4
movzx eax, dl
imul edx, eax, 0x13
mov cl, byte [rsp + 0x60]
sub cl, dl
mov rax, qword [rsp + 0x48]
imul rax, qword [rsp + 0x38]
xor rax, rdi
not rax
shl rax, cl
xor r8, rax
mov eax, dword [rsp + 0x78]
and eax, 0x8000003f
jge 0x14023f4cb
sub eax, r15d
or eax, r14d
add eax, r15d
mov cl, al
rol r8, cl
mov rax, qword [rsp + 0x60]
sub rax, r10
xor edx, edx
div qword [rsp + 0x30]
imul r10, qword [r13 + rdx*8]
xor r8, r10
movabs rax, 0xca28200a30967058
or r8, rax
mov r10, rdi
imul r10, qword [0x14035f070]
sub r10, r9
mov rax, qword [rsp + 0x70]
sub rax, r8
xor r10, rax
movabs rax, 0xf270210b619e7055
xor r10, rax
movabs rax, 0xcccccccccccccccd
mov rcx, qword [rsp + 0x48]
mul rcx
shr rdx, 3
lea rax, [rdx + rdx*4]
add rax, rax
sub rcx, rax
or rcx, r15
xor edx, edx
mov rax, r10
div rcx
mov rcx, rdx
mov rdx, qword [rsp + 0x60]
imul rdx, r9
imul rdx, r10
shr rdx, cl
mov rax, r11
sub rax, rdx
sub rax, qword [rsp + 0x48]
movabs rdx, 0x325ebf39aecc3c4f
add rdx, rax
xor rdx, qword [rsp + 0x70]
movzx eax, r11b
imul ecx, eax, 0xf0
and cl, bl
rol rdx, cl
not rdx
mov qword [rsp + 0x48], rdx
jmp 0x14023f636
xor edx, edx
mov rax, r8
div qword [rsp + 0x30]
mov rax, qword [rsp + 0x60]
imul rax, qword [0x14035f080]
mov r8, qword [r13 + rdx*8]
and r8, rax
mov rcx, qword [rsp + 0x68]
xor r8, rcx
and cl, bl
ror r8, cl
imul r8, r9
mov rcx, qword [rsp + 0x70]
not rcx
imul rcx, r11
movabs rax, 0x490f4073bc6f21b4
imul rcx, rax
mov rax, r8
imul rax, qword [rsp + 0x48]
xor rcx, rax
mov qword [rsp + 0x48], rcx
mov rax, qword [rsp + 0x40]
imul rax, qword [0x14035f060]
mov rdx, qword [0x14035f068]
sub rax, rdx
mov qword [rsp + 0x70], rax
mov al, cl
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, 0x8000003f
jge 0x14023f626
sub ecx, r15d
or ecx, r14d
add ecx, r15d
mov rax, qword [rsp + 0x70]
ror rax, cl
add rax, r9
mov qword [rsp + 0x70], rax
movabs rax, 0xcad2bad64c242b79
xor rax, rdi
xor edx, edx
div qword [rsp + 0x30]
xor r8, qword [rsp + 0x48]
imul r8, qword [r13 + rdx*8]
not r9
imul r9, qword [rsp + 0x60]
imul r9, qword [rsp + 0x70]
imul r9, r10
movabs rax, 0xc03a992a4b9761a5
xor r11, rax
not r11
xor r9, r11
sub r9, r8
mov qword [rsp + 0x60], r9
mov qword [rsp + 0x120], r12
movabs rax, 0x58d7d92120e17387
mov qword [rsp + 0x4d8], rax
movabs rdi, 0xb865992c791f70af
mov qword [rsp + 0x40], r12
movabs rax, 0x8eade5c75e224aca
movabs r11, 0x42891f82bda235ed
mov rcx, qword [0x14035f070]
imul rcx, rax
not rcx
movabs r8, 0x42891f82bfd1f7d1
mov rax, qword [0x14035f060]
xor rax, r8
and rcx, rax
ror rcx, 0x2c
shr rcx, 8
mov qword [rsp + 0x30], rcx
movabs rax, 0xa62f7cc2e19a24e8
mov r9, qword [0x14035f060]
imul r9, rax
movabs r8, 0x479a66d386e08f51
sub r9, r8
movabs rax, 0xe0fbfecbffffffff
xor r9, rax
shr r9, 0x1f
not r9
lea rcx, [r9 + r8]
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, r9b
movzx ecx, byte [r13 + rcx*8]
imul ecx, eax
movzx ecx, cl
xor ecx, 0xa3
and ecx, 0x8000003f
jge 0x14023f767
sub ecx, r15d
or ecx, r14d
add ecx, r15d
mov rdx, r9
ror rdx, cl
not rdx
movabs rcx, 0xaf3aeaa372593d8c
mov rax, rdx
imul rax, rcx
mov qword [rsp + 0x38], rax
lea r10, [rax + r8]
mov r8, r9
imul r8, qword [rsp + 0x30]
sub r8, r10
movabs rax, 0x58d7d92120e17387
xor r8, rax
mov cl, r10b
xor cl, 0xfc
and cl, 0xf
rol r8, cl
mov rax, r10
sub rax, qword [0x14035f078]
xor r8, rax
movabs rax, 0x20202eb7d5e252b4
imul rdx, rax
movabs rax, 0x151b59761604685f
add rdx, rax
xor r8, rdx
xor r8, r11
mov rax, r8
and eax, 3
je 0x14023fab6
sub rax, 1
je 0x14023f9be
sub rax, 1
je 0x14023f8f5
cmp rax, 1
jne 0x14023fb4c
mov rcx, r10
imul rcx, r9
movabs rax, 0xa2d12079dc83883
add rax, r8
xor rcx, rax
ror rcx, 0x14
shr rcx, 0xc
not rcx
mov qword [rsp + 0x4d8], rcx
movabs rdx, 0x83570c1372b8
add rdx, qword [0x14035f088]
movabs rax, 0x4718e3abc1e8dd63
xor rdx, rax
movzx eax, cl
movzx ecx, r8b
imul ecx, eax
and cl, bl
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xf7ca7db954f39e4b
sub rax, r9
mov r9, rdx
xor r9, rax
mov rcx, r9
imul rcx, rdi
mov eax, 0x85284ca1
add rcx, rax
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov cl, byte [r13 + rcx*8]
and cl, 0xf
movabs rdi, 0xc61a8eb089c73118
sub rdi, qword [rsp + 0x4d8]
shr rdi, cl
movabs rax, 0x47a28b5bfe8ccbbf
mov rcx, qword [rsp + 0x38]
add rcx, rax
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, r8
imul rax, qword [r13 + rcx*8]
imul rax, r8
sub rax, qword [rsp + 0x30]
xor rdi, rax
jmp 0x14023fb4c
movabs rcx, 0xaaaaaa1a8531b19f
mov r9, r8
xor r9, rcx
movabs rcx, 0x1206ed473c6dd3
imul r9, rcx
movabs rdx, 0xffff7e8aa3218343
mov rcx, qword [rsp + 0x38]
imul rcx, rdx
movabs rdx, 0x9ef9c09df5bcc668
add r9, rdx
add r9, rcx
movabs rax, 0x277cd7be57e166ff
mov rcx, r9
xor rcx, rax
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r10, r9
not r10
imul r10, qword [r13 + rcx*8]
xor r10, 0xffffffffd064674f
lea ecx, [r8 + 0x1d]
and cl, bl
rol r10, cl
movabs rax, 0x5862518600000000
imul r10, rax
mov rcx, r10
ror rcx, 5
not rcx
movabs rax, 0x9b2de6b260379360
imul rcx, rax
mov rax, r9
sub rax, r10
lea rdx, [rcx + rax*4]
mov cl, byte [rsp + 0x30]
and cl, bl
ror rdx, cl
mov rax, rdi
mov rdi, rdx
imul rdi, rax
jmp 0x14023fb4c
movabs rax, 0xf07ddf41c673e5b9
imul r8, rax
movabs rax, 0xd79435e50d79435f
mul r8
shr rdx, 4
movzx eax, dl
imul edx, eax, 0x13
mov cl, r8b
sub cl, dl
movabs rdx, 0xa72826dedf1e8c78
shl rdx, cl
mov rax, r11
mov r11, rdx
xor r11, rax
mov cl, r10b
and cl, bl
rol r11, cl
movabs rcx, 0x479a66d386e08f51
add rcx, r8
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0x192c791f70af
mov rax, qword [r13 + rcx*8]
imul rax, rdx
xor r11, rax
movabs rax, 0xffffc7a7d9f5c7b2
or r11, rax
mov rdi, qword [0x14035f070]
movabs rax, 0x58d7d92120e17387
imul rdi, rax
sub rdi, r10
mov rax, qword [rsp + 0x30]
sub rax, r11
xor rdi, rax
movabs rax, 0xc7a7c6a688fdc7bf
xor rdi, rax
mov rax, r8
imul rax, r10
imul rax, rdi
mov rdx, r9
sub rdx, rax
movabs rax, 0x789589447af8ba5
add rdx, rax
xor rdx, qword [rsp + 0x30]
movzx eax, r9b
imul ecx, eax, 0x1a
and cl, bl
rol rdx, cl
not rdx
mov qword [rsp + 0x40], rdx
jmp 0x14023fb4c
mov rcx, r8
imul rcx, qword [0x14035f080]
and rcx, qword [0x14035f078]
mov rax, r11
mov r11, rcx
xor r11, rax
ror r11, 0x2d
imul r11, r10
mov rax, qword [rsp + 0x30]
not rax
imul rax, r9
movabs rcx, 0x7cd8a7de550c965e
imul rax, rcx
mov qword [rsp + 0x40], rax
imul rcx, qword [0x14035f060], 0x273c23c
mov rdx, qword [0x14035f068]
sub rcx, rdx
mov qword [rsp + 0x30], rcx
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, 0x8000003f
jge 0x14023fb2d
sub ecx, r15d
or ecx, r14d
add ecx, r15d
mov rax, qword [rsp + 0x30]
ror rax, cl
movabs rcx, 0x479a66d386e08f51
add rax, rcx
add rax, qword [rsp + 0x38]
mov qword [rsp + 0x30], rax
movabs rax, 0xff055d7ba5479c93
mov rcx, qword [rsp + 0x4d8]
xor rcx, rax
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
xor r11, qword [rsp + 0x40]
imul r11, qword [r13 + rcx*8]
not r10
imul r10, r8
imul r10, qword [rsp + 0x30]
imul r10, rdi
movabs rcx, 0xf5ed7e87a2f4d64f
xor rcx, r9
not rcx
xor rcx, r10
sub rcx, r11
call fcn.1401c72b0
mov qword [0x14036d9c8], rax
mov qword [rsp + 0x128], r12
movabs rax, 0xd1658832c1cb0b11
mov qword [rsp + 0x128], rax
movabs rcx, 0xf33a52ba39716583
add rcx, qword [rsp + 0x128]
movabs rax, 0x8ad53662530dcb75
xor rcx, rax
sub rcx, qword [0x14035f050]
sub rcx, qword [0x14035f058]
movabs rax, 0x7120fb8099ee1cd1
add rcx, rax
movabs rax, 0xf8f8cd942f436e97
xor rcx, rax
sub rcx, qword [0x14035f048]
movabs rax, 0x87d654b3df8723a2
add rcx, rax
mov rdx, qword [0x14035f040]
add rcx, rdx
movabs rax, 0x5a9179a3967b223f
xor rcx, rax
movabs rax, 0x5f627dc3e8794b1a
sub rcx, rax
movabs rax, 0xb23b3cd0446376e5
xor rcx, rax
movabs rax, 0xb483ce40aae508a7
add rax, rcx
add rdx, rax
not rdx
movabs rcx, 0x13cce94ae8e5c3ea
mov rax, qword [0x14035f038]
xor rax, rcx
sub rdx, rax
movabs rax, 0xec3316b5171a3c15
mov rcx, qword [0x14035f030]
xor rcx, rax
movabs rax, 0xe0b56d9ed68060bf
add rdx, rax
add rdx, rcx
movabs rax, 0x3bec9e1ce087ea32
xor rdx, rax
mov qword [rsp + 0x128], rdx
mov qword [rsp + 0x128], r12
mov qword [rsp + 0x130], r12
movabs rax, 0xec9f2fb5840c1bbc
mov qword [rsp + 0x130], rax
movabs rcx, 0xf33a52a3dc3fa803
add rcx, qword [rsp + 0x130]
movabs rax, 0xcd55366252f76e44
xor rcx, rax
sub rcx, qword [0x14035f050]
sub rcx, qword [0x14035f058]
movabs rax, 0xedf047f22fa4df7
sub rcx, rax
movabs rax, 0xf8f8cdaae5e9f30d
xor rcx, rax
sub rcx, qword [0x14035f048]
movabs rax, 0xc7d654d23b08285d
add rcx, rax
mov rdx, qword [0x14035f040]
add rcx, rdx
movabs rax, 0x5a9179bd18c7de65
xor rcx, rax
movabs rax, 0x5f627de32242ed88
sub rcx, rax
movabs rax, 0x9e3b3cdb73af3f33
xor rcx, rax
movabs rax, 0x3483ce566b8a69f8
add rax, rcx
add rdx, rax
not rdx
movabs rcx, 0x13cce94a8f70fcf4
mov rax, qword [0x14035f038]
xor rax, rcx
sub rdx, rax
movabs rax, 0xec3316b5708f030b
mov rcx, qword [0x14035f030]
xor rcx, rax
movabs r8, 0xe0b56d44c806a3c9
add r8, rdx
add r8, rcx
movabs rax, 0xa52d452e891dba7c
xor r8, rax
mov qword [rsp + 0x4d8], r8
mov qword [rsp + 0x130], r8
xorps xmm0, xmm0
movups xmmword [rsp + 0x308], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x318], xmm1
movdqa xmm0, xmmword [0x140336c00]
movdqu xmmword [rsp + 0x318], xmm0
mov byte [rsp + 0x308], r12b
mov dword [rsp + 0xb8], 3
mov dword [rsp + 0x84], r12d
mov dword [rsp + 0x84], 0x1ac54669
mov eax, dword [rsp + 0x84]
add eax, 0x409901b5
xor eax, 0x9709d29d
sub eax, dword [0x14035f058]
sub eax, dword [0x14035f050]
sub eax, 0x5a275a03
xor eax, 0x37ff33f5
sub eax, dword [0x14035f048]
mov rcx, qword [0x14035f040]
add eax, 0x43d0df1b
add eax, ecx
xor eax, 0x1e51f417
add eax, 0x4b8bcc3b
xor eax, 0x20ef6f8f
lea edx, [rcx - 0x78107e47]
add edx, eax
not edx
mov eax, dword [0x14035f038]
xor eax, 0xd902625a
sub edx, eax
mov ecx, dword [0x14035f030]
xor ecx, 0x26fd9da5
add ecx, 0x82fb2ff5
add ecx, edx
xor ecx, 0xe3cc9602
mov dword [rsp + 0x84], ecx
movsxd rax, ecx
mov dword [rsp + 0x84], r12d
cmp r8, rax
jbe 0x140240085
mov dword [rsp + 0x88], r12d
mov dword [rsp + 0x88], 0x79ed548f
mov eax, dword [rsp + 0x88]
add eax, 0x4bee6730
xor eax, 0xfc84ddf2
sub eax, dword [0x14035f058]
sub eax, dword [0x14035f050]
add eax, 0x34b6a5cc
xor eax, 0x407c78e4
sub eax, dword [0x14035f048]
mov rcx, qword [0x14035f040]
add eax, 0xbdee73dc
add eax, ecx
xor eax, 0xc5648c57
sub eax, 0x403406bb
xor eax, 0x6f6c6227
lea edx, [rcx - 0x26168dfc]
add edx, eax
not edx
mov eax, dword [0x14035f038]
xor eax, 0xc52fb7f0
sub edx, eax
mov ecx, dword [0x14035f030]
xor ecx, 0x3ad0480f
add ecx, 0xdc7e5377
add ecx, edx
xor ecx, 0xcc874710
mov dword [rsp + 0x88], ecx
movsxd rdx, ecx
imul rdx, r8
lea rcx, [rsp + 0x308]
call fcn.14001fb48
nop
mov dword [rsp + 0x88], r12d
mov rdi, r12
cmp qword [rsp + 0x4d8], r12
jbe 0x140240085
mov rsi, qword [rsp + 0x4d8]
mov cl, byte [rsp + rdi + 0x60]
mov al, cl
shr al, 4
cmp al, 0xa
sbb dl, dl
and dl, 0xf9
add al, 0x37
add dl, al
mov byte [rsp + 0x4d8], dl
and cl, 0xf
cmp cl, 0xa
sbb al, al
and al, 0xf9
add cl, 0x37
add al, cl
mov byte [rsp + 0x4d9], al
lea rcx, [rsp + 0x308]
call fcn.14000c0f8
mov dword [rsp + 0x8c], r12d
mov dword [rsp + 0x8c], 0x95ca2f20
mov eax, dword [rsp + 0x8c]
add eax, 0x20dacb6
xor eax, 0x420a9412
sub eax, dword [0x14035f058]
sub eax, dword [0x14035f050]
sub eax, 0x5c6bb804
xor eax, 0x7384b648
sub eax, dword [0x14035f048]
mov rcx, qword [0x14035f040]
add eax, 0xbd3700fb
add eax, ecx
xor eax, 0x41a8e10a
add eax, 0x7391dc67
xor eax, 0x682f0e69
mov edx, dword [0x14035f030]
xor edx, 0x23f7caf9
sub edx, eax
mov eax, dword [0x14035f038]
xor eax, 0xdc083506
sub edx, eax
sub edx, ecx
sub edx, 0x3ff12042
xor edx, 0x789c4ed6
mov dword [rsp + 0x8c], edx
movsxd rdx, edx
mov dl, byte [rsp + rdx + 0x4d8]
lea rcx, [rsp + 0x308]
call fcn.14000c0f8
nop
mov dword [rsp + 0x8c], r12d
add rdi, r15
cmp rdi, rsi
jb 0x14023ff84
movabs rsi, 0xaaaaaaaaaaaaaaab
mov dword [rsp + 0xb8], r12d
lea rdx, [rsp + 0x308]
cmp qword [rsp + 0x320], 0xf
cmova rdx, qword [rsp + 0x308]
mov r8, qword [rsp + 0x318]
lea rcx, [rsp + 0x2e8]
call fcn.14001f728
nop
lea rcx, [rsp + 0x308]
call fcn.14000bb5c
nop
mov qword [rsp + 0x130], r12
mov qword [rsp + 0x138], r12
movabs rax, 0xb674c373596609d5
mov qword [rsp + 0x138], rax
movabs rcx, 0xcc5ad43b9750aba
add rcx, qword [rsp + 0x138]
movabs rax, 0x300b4fedad974b79
xor rcx, rax
sub rcx, qword [0x14035f050]
sub rcx, qword [0x14035f058]
movabs rax, 0x312ba68f0291ee1e
sub rcx, rax
movabs rax, 0x70745a0893fbacc
xor rcx, rax
sub rcx, qword [0x14035f048]
movabs rax, 0x9829ab4e3a4230dd
add rcx, rax
mov rdx, qword [0x14035f040]
add rcx, rdx
movabs rax, 0xa56e865ec076f9ce
xor rcx, rax
movabs rax, 0x2b02fde3ca78b962
sub rcx, rax
movabs rax, 0x7bc4c330b015a42d
xor rcx, rax
movabs rax, 0x15ab4330ed617cf3
add rax, rcx
add rdx, rax
not rdx
movabs rcx, 0xec3316b50ee5d27e
mov rax, qword [0x14035f038]
xor rax, rcx
sub rdx, rax
movabs rax, 0x13cce94af11a2d81
mov rcx, qword [0x14035f030]
xor rcx, rax
movabs rdi, 0x1f4a9132bc8ec42c
add rdi, rdx
add rdi, rcx
movabs rax, 0x5391a9c6e69b377e
xor rdi, rax
mov qword [rsp + 0x138], rdi
xorps xmm0, xmm0
movups xmmword [rsp + 0x328], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x338], xmm1
movdqa xmm0, xmmword [0x140336c00]
movdqu xmmword [rsp + 0x338], xmm0
mov byte [rsp + 0x328], r12b
mov dword [rsp + 0xb8], 4
mov dword [rsp + 0x90], r12d
mov dword [rsp + 0x90], 0x1ac54669
mov eax, dword [rsp + 0x90]
add eax, 0x409901b5
xor eax, 0x9709d29d
sub eax, dword [0x14035f058]
sub eax, dword [0x14035f050]
sub eax, 0x5a275a03
xor eax, 0x37ff33f5
sub eax, dword [0x14035f048]
mov rcx, qword [0x14035f040]
add eax, 0x43d0df1b
add eax, ecx
xor eax, 0x1e51f417
add eax, 0x4b8bcc3b
xor eax, 0x20ef6f8f
lea edx, [rcx - 0x78107e47]
add edx, eax
not edx
mov eax, dword [0x14035f038]
xor eax, 0xd902625a
sub edx, eax
mov ecx, dword [0x14035f030]
xor ecx, 0x26fd9da5
add ecx, 0x82fb2ff5
add ecx, edx
xor ecx, 0xe3cc9602
mov dword [rsp + 0x90], ecx
movsxd rax, ecx
mov dword [rsp + 0x90], r12d
cmp rdi, rax
jbe 0x14024047d
mov dword [rsp + 0x94], r12d
mov dword [rsp + 0x94], 0x79ed548f
mov eax, dword [rsp + 0x94]
add eax, 0x4bee6730
xor eax, 0xfc84ddf2
sub eax, dword [0x14035f058]
sub eax, dword [0x14035f050]
add eax, 0x34b6a5cc
xor eax, 0x407c78e4
sub eax, dword [0x14035f048]
mov rcx, qword [0x14035f040]
add eax, 0xbdee73dc
add eax, ecx
xor eax, 0xc5648c57
sub eax, 0x403406bb
xor eax, 0x6f6c6227
lea edx, [rcx - 0x26168dfc]
add edx, eax
not edx
mov eax, dword [0x14035f038]
xor eax, 0xc52fb7f0
sub edx, eax
mov ecx, dword [0x14035f030]
xor ecx, 0x3ad0480f
add ecx, 0xdc7e5377
add ecx, edx
xor ecx, 0xcc874710
mov dword [rsp + 0x94], ecx
movsxd rdx, ecx
imul rdx, rdi
lea rcx, [rsp + 0x328]
call fcn.14001fb48
nop
mov dword [rsp + 0x94], r12d
test rdi, rdi
je 0x14024047d
mov r13, r12
mov cl, byte [rsp + r13 + 0x60]
mov al, cl
shr al, 4
cmp al, 0xa
sbb dl, dl
and dl, 0xf9
add al, 0x37
add dl, al
mov byte [rsp + 0x4d8], dl
and cl, 0xf
cmp cl, 0xa
sbb al, al
and al, 0xf9
add cl, 0x37
add al, cl
mov byte [rsp + 0x4d9], al
lea rcx, [rsp + 0x328]
call fcn.14000c0f8
mov dword [rsp + 0x98], r12d
mov dword [rsp + 0x98], 0x95ca2f20
mov eax, dword [rsp + 0x98]
add eax, 0x20dacb6
xor eax, 0x420a9412
sub eax, dword [0x14035f058]
sub eax, dword [0x14035f050]
sub eax, 0x5c6bb804
xor eax, 0x7384b648
sub eax, dword [0x14035f048]
mov rcx, qword [0x14035f040]
add eax, 0xbd3700fb
add eax, ecx
xor eax, 0x41a8e10a
add eax, 0x7391dc67
xor eax, 0x682f0e69
mov edx, dword [0x14035f030]
xor edx, 0x23f7caf9
sub edx, eax
mov eax, dword [0x14035f038]
xor eax, 0xdc083506
sub edx, eax
sub edx, ecx
sub edx, 0x3ff12042
xor edx, 0x789c4ed6
mov dword [rsp + 0x98], edx
movsxd rdx, edx
mov dl, byte [rsp + rdx + 0x4d8]
lea rcx, [rsp + 0x328]
call fcn.14000c0f8
nop
mov dword [rsp + 0x98], r12d
add r13, r15
cmp r13, rdi
jb 0x14024037e
lea r13, [0x14035f060]
mov dword [rsp + 0xb8], r12d
lea rdx, [rsp + 0x328]
cmp qword [rsp + 0x340], 0xf
cmova rdx, qword [rsp + 0x328]
mov r8, qword [rsp + 0x338]
lea rcx, [rsp + 0x2e8]
call fcn.14001f728
nop
lea rcx, [rsp + 0x328]
call fcn.14000bb5c
nop
mov qword [rsp + 0x138], r12
movabs rax, 0xf60eafe660000000
movabs r9, 0x369e1a1a61293de9
mov r11, qword [0x14035f070]
imul r11, rax
movabs rax, 0xc81f744130000000
xor r11, rax
mov rcx, r11
imul rcx, r9
mov qword [rsp + 0x60], rcx
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r8, r11
and r8, r9
imul r8, qword [r13 + rcx*8]
movabs rax, 0x9328e44fd6415808
imul r8, rax
shr r8, 3
movabs rax, 0xe3aea0c8fe0fb690
xor r8, rax
movabs rax, 0xffffff57959b353f
mov rcx, r11
imul rcx, rax
sub rcx, 0x2f20c234
xor rcx, r8
xor rcx, qword [0x14035f060]
mov rax, r8
imul rax, qword [0x14035f070]
movabs rdx, 0xb9de928b9c288a1e
imul rax, rdx
not rax
and rcx, rax
ror rcx, 6
shr rcx, 8
mov qword [rsp + 0x40], rcx
movabs r10, 0xc961e5e59ed6c217
lea rcx, [r11 + r10]
xor rcx, 0xffffffffa2a68113
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rax, 0xa9178dda8dc71058
mov rdi, qword [r13 + rcx*8]
imul rdi, rax
add rdi, r9
movabs rcx, 0xfaf1613d83abf998
mov rax, r8
imul rax, rcx
xor rdi, rax
shr rdi, 0x1f
not rdi
mov r9, rdi
xor r9, r11
lea rcx, [rdi + r10]
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, dil
movzx ecx, byte [r13 + rcx*8]
imul ecx, eax
movzx ecx, cl
xor ecx, 0xf
mov edx, 0x8000003f
and ecx, edx
jge 0x14024062d
sub ecx, r15d
or ecx, r14d
add ecx, r15d
ror r9, cl
not r9
imul r9, r8
mov qword [rsp + 0x30], r9
imul rax, r9, 0xffffffffd0df3dcc
mov qword [rsp + 0x38], rax
add r10, rax
mov r9, rdi
imul r9, qword [rsp + 0x40]
sub r9, r10
movabs rax, 0x77036f24cb42ad76
xor r9, rax
movzx ecx, r10b
mov dword [rsp + 0x4d8], ecx
and ecx, 0xf
and ecx, edx
jge 0x14024067f
sub ecx, r15d
or ecx, r14d
add ecx, r15d
rol r9, cl
movabs rcx, 0xfcf7fd7d7e94daac
mov rax, qword [rsp + 0x30]
imul rax, rcx
movabs rcx, 0x68fd11c8a6521ef
add rax, rcx
xor r9, rax
mov rax, r10
sub rax, qword [0x14035f078]
xor r9, rax
xor r9, r8
xor r9, r11
mov rax, r9
and rax, r15
je 0x140240a33
sub rax, 1
je 0x1402408cc
sub rax, 1
je 0x1402407d4
cmp rax, 1
jne 0x140240ae4
mov r14, r10
imul r14, rdi
movabs rax, 0x9b8632ec7f54a0a9
add rax, r9
xor r14, rax
ror r14, 0x3c
shr r14, 0xc
xor r14, r11
not r14
movabs rcx, 0x83577ed9841c
mov rdx, qword [0x14035f088]
add rdx, rcx
movabs rax, 0xc9e3609dab146689
xor rdx, rax
movzx eax, r14b
movzx ecx, r9b
imul ecx, eax
and cl, bl
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xf7ca7db9263968e7
sub rax, rdi
mov rdi, rdx
xor rdi, rax
mov rcx, rdi
movabs rax, 0x369e1a1a61293de9
imul rcx, rax
mov eax, 0xf7e2ba0d
add rcx, rax
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov cl, byte [r13 + rcx*8]
and cl, 0xf
movabs rbx, 0xb5083998087dce6e
sub rbx, r14
shr rbx, cl
movabs rax, 0xc96a0a6da43d8cd9
mov rcx, qword [rsp + 0x38]
add rcx, rax
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, r9
imul rax, qword [r13 + rcx*8]
imul rax, r9
sub rax, qword [rsp + 0x40]
xor rbx, rax
jmp 0x140240af8
movabs rax, 0xaaaaaa1af7fb4733
mov rcx, r9
xor rcx, rax
movabs rax, 0x1206ed35f69b7f
imul rcx, rax
movabs rdx, 0xfff17ca82099714f
mov rax, r8
xor rax, rdx
sub rcx, rax
movabs rax, 0xffff7e8ad1eb75ef
mov rdx, qword [rsp + 0x38]
imul rdx, rax
movabs rdi, 0xd2222781353c2c68
add rdi, rcx
add rdi, rdx
movabs rax, 0x277cd7be252b9053
mov rcx, rdi
xor rcx, rax
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r10, rdi
not r10
imul r10, qword [r13 + rcx*8]
xor r10, 0xffffffffa2ae91e3
lea ecx, [r9 - 0xf]
and cl, bl
rol r10, cl
movabs rcx, 0xe797aa79345664ad
mov rax, qword [rsp + 0x60]
xor rax, rcx
movabs rcx, 0x7c7a7dc6cba99b52
and rax, rcx
imul r10, rax
mov rcx, r10
ror rcx, 0x18
not rcx
movabs rax, 0x9b2de6b3ab1c49d0
imul rcx, rax
mov rax, rdi
sub rax, r10
lea rdx, [rcx + rax*4]
mov cl, byte [rsp + 0x40]
and cl, bl
ror rdx, cl
movabs rax, 0x369e1a1a61293de9
mov rbx, rdx
imul rbx, rax
jmp 0x140240aee
movabs rax, 0x25c6c17e3a7b46f3
imul r9, rax
movabs rax, 0xd79435e50d79435f
mul r9
shr rdx, 4
movzx eax, dl
imul edx, eax, 0x13
mov cl, r9b
sub cl, dl
movabs rdx, 0xc961e5e59ed6c216
mov rax, r11
imul rax, rdx
movabs rdx, 0x77036f24cb42ad76
xor rax, rdx
not rax
shl rax, cl
xor r8, rax
mov eax, dword [rsp + 0x4d8]
and eax, 0x8000003f
jge 0x140240934
sub eax, r15d
or eax, r14d
add eax, r15d
mov cl, al
rol r8, cl
movabs rcx, 0xc961e5e59ed6c217
add rcx, r9
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0x1a1a61293de9
mov rax, qword [r13 + rcx*8]
imul rax, rdx
xor r8, rax
movabs rax, 0xffffc7a7ab3f311e
or r8, rax
mov rcx, qword [0x14035f070]
movabs rax, 0x77036f24cb42ad76
imul rcx, rax
sub rcx, r10
mov rax, qword [rsp + 0x40]
sub rax, r8
xor rcx, rax
movabs rax, 0xc7a7c6a6fa373113
xor rcx, rax
mov qword [rsp + 0x4d8], rcx
movabs rax, 0xcccccccccccccccd
mul r11
shr rdx, 3
lea rax, [rdx + rdx*4]
add rax, rax
mov rcx, r11
sub rcx, rax
or rcx, r15
xor edx, edx
mov rax, qword [rsp + 0x4d8]
div rcx
mov rcx, rdx
mov rdx, r9
imul rdx, r10
imul rdx, qword [rsp + 0x4d8]
shr rdx, cl
mov rax, rdi
sub rax, rdx
sub rax, r11
movabs r11, 0x789589435657d09
add r11, rax
xor r11, qword [rsp + 0x40]
movzx eax, dil
imul ecx, eax, 0xf6
and cl, bl
rol r11, cl
not r11
mov rbx, qword [rsp + 0x4d8]
jmp 0x140240aee
mov rax, rsi
mul r8
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
mov rcx, r8
sub rcx, rax
mov rax, r9
imul rax, qword [0x14035f080]
mov rdx, qword [r13 + rcx*8]
and rdx, rax
xor rdx, r8
and r8b, bl
mov cl, r8b
mov r8, rdx
ror r8, cl
imul r8, r10
mov rcx, qword [rsp + 0x40]
not rcx
imul rcx, rdi
movabs rax, 0x7cd8a7de27c660f2
imul rcx, rax
mov rax, r8
imul rax, r11
mov r11, rcx
xor r11, rax
imul rbx, qword [0x14035f060], 0xffffffffd0df3dcc
mov rdx, qword [0x14035f068]
sub rbx, rdx
mov al, r11b
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, 0x8000003f
jge 0x140240aca
sub ecx, r15d
or ecx, r14d
add ecx, r15d
ror rbx, cl
movabs rax, 0xc961e5e59ed6c217
add rax, rbx
add rax, qword [rsp + 0x38]
mov qword [rsp + 0x40], rax
movabs rbx, 0x369e1a1a61293de9
movabs r14, 0x77036f24cb42ad76
movabs rax, 0xff055d7bd78d6a3f
xor r14, rax
mov rax, rsi
mul r14
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub r14, rax
xor r8, r11
imul r8, qword [r13 + r14*8]
not r10
imul r10, r9
imul r10, qword [rsp + 0x40]
imul r10, rbx
movabs rcx, 0xf5ed7e87d03e20e3
xor rcx, rdi
not rcx
xor rcx, r10
sub rcx, r8
call fcn.1401c7df0
mov qword [0x14036d9b8], rax
lea rcx, [rsp + 0x2d0]
call fcn.1400e7fe0
xor r8d, r8d
mov byte [rsp + 0x4d8], r8b
lea rdx, [rsp + 0x2e8]
lea rcx, [rsp + 0x348]
call fcn.1401c60bc
nop
lea rcx, [rsp + 0x368]
call fcn.1400869bc
nop
lea rdx, [rsp + 0x388]
mov rcx, rax
call fcn.1400e6080
nop
lea rdx, [rsp + 0x3a8]
mov rcx, rax
call fcn.1400e6080
nop
lea rcx, [rsp + 0x388]
call fcn.1400538a4
nop
lea rcx, [rsp + 0x368]
call fcn.1400538a4
xor eax, eax
mov byte [rsp + 0x4d8], al
lea rdx, [rsp + 0x448]
lea rcx, [rsp + 0x4d8]
call fcn.1401f0d94
mov r13, rax
mov qword [rsp + 0x4d8], rax
mov r14, r12
mov r12d, 0x6afe
xor edx, edx
mov rax, r14
movabs rcx, 0x13cce94adb96c2c4
div rcx
lea esi, [rdx + 0x30]
ror si, 8
movzx edi, si
shr di, 0xa
movzx eax, si
shl ax, 6
or di, ax
movzx ebx, di
ror bx, 8
movzx r8d, si
shr r8w, 0xd
movzx eax, si
shl ax, 3
or r8w, ax
movzx r10d, si
shr r10w, 0xb
movzx eax, si
shl ax, 5
or r10w, ax
movzx edx, si
shr dx, 0xc
movzx eax, si
shl ax, 4
or dx, ax
movzx r11d, si
not r11w
movzx ecx, si
ror cx, 1
movzx r9d, word [r13 + r14*2]
sub r9w, di
add r9w, r12w
mov eax, 0x9204
sub ax, di
xor r9w, ax
sub r9w, word [0x14035f058]
sub r9w, word [0x14035f050]
add r9w, si
add r9w, bx
sub r9w, cx
mov eax, 0x6fc1
add r9w, ax
lea eax, [rdi + rsi]
mov ecx, 0x2d07
add ax, cx
xor r9w, ax
sub r9w, si
sub r9w, r8w
sub r9w, word [0x14035f048]
add r9w, r10w
add r9w, di
mov rcx, qword [0x14035f040]
add r9w, cx
movzx eax, si
ror ax, 3
sub r9w, ax
sub r9w, 0x50
movzx eax, dx
sub ax, r8w
add ax, si
add ax, di
xor r9w, ax
movzx eax, si
sub ax, dx
xor ax, si
sub r9w, ax
sub r9w, r10w
add r9w, si
mov eax, 0x4230
add r9w, ax
movzx eax, si
ror ax, 7
mov edx, 0x4050
sub r10w, dx
add ax, r10w
xor r9w, ax
movzx edx, si
xor dx, word [0x14035f030]
sub dx, r9w
movzx eax, r11w
xor ax, word [0x14035f038]
sub dx, ax
mov eax, 0x7100
add eax, esi
mov r8d, 0x2440
xor ax, r8w
sub dx, ax
mov eax, 0x9d7
add eax, esi
add ax, ax
add dx, ax
sub dx, di
sub dx, cx
sub dx, bx
movzx eax, si
ror ax, 8
sub dx, ax
movzx eax, si
movzx ecx, r11w
imul ecx, eax
xor cx, dx
mov word [r13 + r14*2], cx
add r14, r15
cmp r14, 0x1e
jb 0x140240c00
xor r12d, r12d
mov rax, qword [rsp + 0x4d8]
mov qword [rsp + 0x268], rax
mov qword [rsp + 0x270], 0x3c
mov rax, qword [rsp + 0x268]
mov qword [rsp + 0x60], rax
xor r8d, r8d
mov byte [rsp + 0x4d8], r8b
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x3c8]
call fcn.1400d7f14
nop
lea r8, [rsp + 0x3c8]
lea rdx, [rsp + 0x3a8]
lea rcx, [rsp + 0x3e8]
call fcn.14006e81c
lea ebx, [r12 + 8]
mov dword [rsp + 0xb8], ebx
lea rcx, [rsp + 0x3c8]
call fcn.1400538a4
nop
mov rcx, qword [rsp + 0x268]
test rcx, rcx
je 0x140240e66
mov eax, r12d
cmp qword [rsp + 0x270], r12
jbe 0x140240e66
mov byte [rax + rcx], r12b
add rax, r15
cmp rax, qword [rsp + 0x270]
jae 0x140240e66
mov rcx, qword [rsp + 0x268]
jmp 0x140240e4b
lea rcx, [rsp + 0x3a8]
call fcn.1400538a4
lea r8, [rsp + 0x348]
lea rdx, [rsp + 0x3e8]
lea rcx, [rsp + 0x408]
call fcn.14006e81c
nop
and ebx, 0xfffffff7
mov dword [rsp + 0xb8], ebx
lea rcx, [rsp + 0x3e8]
call fcn.1400538a4
nop
lea rcx, [rsp + 0x348]
call fcn.1400538a4
and ebx, 0xfffffffe
mov dword [rsp + 0xb8], ebx
lea rcx, [rsp + 0x2e8]
call fcn.14000bb5c
nop
mov rcx, qword [rsp + 0x258]
test rcx, rcx
je 0x140240f03
mov rax, r12
cmp qword [rsp + 0x260], r12
jbe 0x140240f03
mov byte [rax + rcx], r12b
add rax, r15
cmp rax, qword [rsp + 0x260]
jae 0x140240f03
mov rcx, qword [rsp + 0x258]
jmp 0x140240ee8
mov qword [rsp + 0x60], r12
mov dword [rsp + 0x9c], r12d
mov dword [rsp + 0x9c], 0xdec29fdc
mov eax, dword [rsp + 0x9c]
add eax, 0x178e7236
xor eax, 0x78aa993
sub eax, dword [0x14035f058]
sub eax, dword [0x14035f050]
add eax, 0x2353c5ab
xor eax, 0x5dadedb2
sub eax, dword [0x14035f048]
mov rdx, qword [0x14035f040]
add eax, 0x6006b4e4
add eax, edx
xor eax, 0x2921ffc4
add eax, 0x7b647f5d
xor eax, 0x316dffa3
mov ebx, dword [0x14035f030]
xor ebx, 0x23a1c7e3
sub ebx, eax
mov eax, dword [0x14035f038]
xor eax, 0xdc5e381c
sub ebx, eax
sub ebx, edx
sub ebx, 0x546dc712
xor ebx, 0xc2c584d4
mov qword [rsp + 0x40], rbx
mov dword [rsp + 0x9c], ebx
mov qword [rsp + 0x60], rbx
mov dword [rsp + 0x9c], r12d
xor eax, eax
mov byte [rsp + 0x4d8], al
mov dword [rsp + 0x110], 0x69498eba
mov eax, 0x7c6
mov word [rsp + 0x114], ax
mov r13, r12
mov ebx, 0x6fc1
mov r12d, 0x6afe
xor edx, edx
mov rax, r13
movabs rcx, 0x13cce94adb96c2c4
div rcx
lea r14d, [rdx + 0x30]
ror r14w, 8
movzx esi, r14w
shr si, 0xa
movzx eax, r14w
shl ax, 6
or si, ax
movzx edi, si
ror di, 8
movzx r8d, r14w
shr r8w, 0xd
movzx eax, r14w
shl ax, 3
or r8w, ax
movzx r10d, r14w
shr r10w, 0xb
movzx eax, r14w
shl ax, 5
or r10w, ax
movzx edx, r14w
shr dx, 0xc
movzx eax, r14w
shl ax, 4
or dx, ax
movzx r11d, r14w
not r11w
movzx ecx, r14w
ror cx, 1
movzx r9d, word [rsp + r13*2 + 0x110]
sub r9w, si
add r9w, r12w
mov eax, 0x9204
sub ax, si
xor r9w, ax
sub r9w, word [0x14035f058]
sub r9w, word [0x14035f050]
add r9w, r14w
add r9w, di
sub r9w, cx
add r9w, bx
lea eax, [rsi + r14]
mov ecx, 0x2d07
add ax, cx
xor r9w, ax
sub r9w, word [0x14035f048]
sub r9w, r14w
sub r9w, r8w
mov rcx, qword [0x14035f040]
add r9w, cx
add r9w, r10w
add r9w, si
movzx eax, r14w
ror ax, 3
sub r9w, ax
sub r9w, 0x50
movzx eax, r14w
sub ax, r8w
add ax, dx
add ax, si
xor r9w, ax
movzx eax, r14w
sub ax, dx
xor ax, r14w
sub r9w, ax
sub r9w, r10w
add r9w, r14w
mov eax, 0x4230
add r9w, ax
movzx eax, r14w
ror ax, 7
mov edx, 0x4050
sub r10w, dx
add ax, r10w
xor r9w, ax
movzx edx, r14w
xor dx, word [0x14035f030]
sub dx, r9w
mov eax, 0x7100
add eax, r14d
mov r8d, 0x2440
xor ax, r8w
sub dx, ax
movzx eax, r11w
xor ax, word [0x14035f038]
sub dx, ax
mov eax, 0x9d7
add eax, r14d
add ax, ax
add dx, ax
sub dx, cx
sub dx, di
sub dx, si
movzx eax, r14w
ror ax, 8
sub dx, ax
movzx eax, r11w
movzx ecx, r14w
imul ecx, eax
xor cx, dx
mov word [rsp + r13*2 + 0x110], cx
add r13, r15
cmp r13, 3
jb 0x140240fd6
mov rbx, qword [rsp + 0x40]
xor r12d, r12d
lea r13, [0x14035f060]
lea rax, [rsp + 0x110]
mov qword [rsp + 0x278], rax
mov qword [rsp + 0x280], 6
mov rax, qword [rsp + 0x278]
mov qword [rsp + 0x40], rax
lea rdx, [rsp + 0x428]
lea rcx, [rsp + 0x408]
call fcn.14006e7cc
mov qword [rsp + 0x30], rax
cmp qword [rax + 0x18], 7
jbe 0x1402411fc
mov rax, qword [rax]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x140], r12
movabs rax, 0x473a7e4c79a98c25
mov qword [rsp + 0x140], rax
mov qword [rsp + 0x148], r12
movabs rax, 0xa91d82d40415dfde
mov qword [rsp + 0x148], rax
movabs rcx, 0xf33a52b6b26bc103
add rcx, qword [rsp + 0x148]
movabs rax, 0xe6553662530a4470
xor rcx, rax
sub rcx, qword [0x14035f050]
sub rcx, qword [0x14035f058]
movabs rax, 0xedf047f5b7cd242
sub rcx, rax
movabs rax, 0xf8f8cd97c46529a9
xor rcx, rax
sub rcx, qword [0x14035f048]
movabs rax, 0x47d654b8a94f4c6e
add rcx, rax
mov rsi, qword [0x14035f040]
add rcx, rsi
movabs rax, 0x5a9179a79c7d91e1
xor rcx, rax
movabs rax, 0x5f627dc6e05b3ab4
sub rcx, rax
movabs rax, 0xd63b3cd208028152
xor rcx, rax
movabs rdx, 0x3483ce44193985a7
add rdx, rcx
add rdx, rsi
not rdx
movabs rcx, 0x13cce94adac9ad58
mov r10, qword [0x14035f038]
mov rax, r10
xor rax, rcx
sub rdx, rax
movabs rax, 0xec3316b5253652a7
mov rdi, qword [0x14035f030]
mov rcx, rdi
xor rcx, rax
movabs rax, 0xe0b56d904c4d702d
add rdx, rax
add rdx, rcx
movabs rax, 0x42d495b99ba64468
xor rdx, rax
mov qword [rsp + 0x148], rdx
movabs rcx, 0xf33a52b61130d683
add rcx, qword [rsp + 0x140]
movabs rax, 0xfbd536625309a335
xor rcx, rax
sub rcx, qword [0x14035f050]
sub rcx, qword [0x14035f058]
movabs rax, 0x7120fb80a666de7e
add rcx, rax
movabs rax, 0xf8f8cd986824ffd3
xor rcx, rax
sub rcx, qword [0x14035f048]
movabs rax, 0x7d654b9842ac5be
add rcx, rax
add rcx, rsi
movabs rax, 0x5a9179a85464c55b
xor rcx, rax
movabs rax, 0x5f627dc6c548b11e
sub rcx, rax
movabs rax, 0x2a3b3cd258a50069
xor rcx, rax
movabs rax, 0xb483ce44b60bd3be
add rcx, rax
add rcx, rsi
not rcx
movabs rax, 0x13cce94ad844c1ae
xor r10, rax
sub rcx, r10
movabs rax, 0xec3316b527bb3e51
xor rdi, rax
movabs rax, 0xe0b56d8de49f2303
add rcx, rax
add rcx, rdi
movabs rax, 0x83e048d010c36c0e
xor rcx, rax
mov qword [rsp + 0x140], rcx
and rcx, rdx
cmp rbx, rcx
setne al
mov qword [rsp + 0x148], r12
mov qword [rsp + 0x140], r12
test al, al
je 0x1402416c8
mov esi, r12d
mov eax, 0xb55a282
mov dword [rsp + 0x78], eax
mov dword [rsp + 0x4d8], eax
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov r13d, 8
movups xmm0, xmmword [rax + 0x58]
movd ecx, xmm0
sub cx, r13w
test esi, esi
je 0x1402414aa
psrldq xmm0, 8
movq r9, xmm0
movzx ecx, cx
shr rcx, 1
lea r11, [r9 + rcx*2]
mov r10d, 0x5ce8cca6
jmp 0x14024149c
movsx edx, byte [r9]
mov r8d, edx
imul r8d, edx
add r8d, 0x31
xor r8d, 0x4764996c
mov ecx, r10d
xor ecx, edx
mov r10d, r8d
imul r10d, ecx
add r9, 2
cmp r9, r11
jne 0x140241476
cmp r10d, esi
jne 0x14024160a
mov r11, qword [rax + 0x30]
movsxd rcx, dword [r11 + 0x3c]
mov rcx, qword [rcx + r11 + 0x88]
mov edi, ecx
add rdi, r11
shr rcx, 0x20
cmp rdi, r11
je 0x14024160a
mov r14d, dword [rdi + 0x18]
test r14d, r14d
je 0x14024160a
mov r9d, dword [rdi + 0x20]
mov r8d, dword [rsp + 0x4d8]
dec r14d
mov edx, r14d
mov qword [rsp + 0x38], rdx
lea rdx, [r11 + r14*4]
mov ebx, dword [rdx + r9]
add rbx, r11
mov edx, 0x5ce8cca6
mov r9b, byte [rbx]
add rbx, r15
mov r10d, 0x4764996c
test r9b, r9b
je 0x140241553
mov r11d, edx
movsx r8d, r9b
mov r9d, r8d
imul r9d, r8d
add r9d, 0x31
xor r9d, r10d
mov edx, r11d
xor edx, r8d
mov r11d, r9d
imul r11d, edx
mov r9b, byte [rbx]
add rbx, r15
test r9b, r9b
jne 0x140241514
mov dword [rsp + 0x68], r11d
mov r11, qword [rax + 0x30]
mov edx, dword [rsp + 0x68]
mov r8d, dword [rsp + 0x4d8]
cmp edx, r8d
je 0x140241566
test r14d, r14d
mov r9d, dword [rdi + 0x20]
jne 0x1402414e5
jmp 0x14024160a
mov edx, dword [rdi + 0x1c]
add rdx, r11
mov eax, dword [rdi + 0x24]
add rax, r11
mov r8, qword [rsp + 0x38]
movzx eax, word [rax + r8*2]
mov r8d, dword [rdx + rax*4]
add r8, r11
cmp r8, rdi
jbe 0x140241612
lea rax, [rcx + rdi]
cmp r8, rax
jae 0x140241612
mov esi, 0x5ce8cca6
mov r11d, esi
mov dword [rsp + 0x4d8], esi
jmp 0x1402415be
movsx ecx, al
mov eax, ecx
imul eax, ecx
add eax, 0x31
xor eax, r10d
xor ecx, esi
mov esi, eax
imul esi, ecx
add r8, r15
mov al, byte [r8]
cmp al, 0x2e
jne 0x1402415a6
add r8, r15
mov al, byte [r8]
test al, al
je 0x1402415f9
movsx ecx, al
mov eax, ecx
imul eax, ecx
add eax, 0x31
xor eax, r10d
xor ecx, r11d
mov r11d, eax
imul r11d, ecx
add r8, r15
mov al, byte [r8]
test al, al
jne 0x1402415cf
mov dword [rsp + 0x4d8], r11d
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
jmp 0x14024144a
mov rcx, qword [rsp + 0x60]
call r8
mov dword [rsp + 0xa0], r12d
mov dword [rsp + 0xa0], 0xa4a7ad6b
mov eax, dword [rsp + 0xa0]
add eax, 0x3896d5b4
xor eax, 0x6b08ca9b
sub eax, dword [0x14035f058]
sub eax, dword [0x14035f050]
sub eax, 0x570f537f
xor eax, 0x442168a6
sub eax, dword [0x14035f048]
mov rcx, qword [0x14035f040]
add eax, 0xaa2fd1d7
add eax, ecx
xor eax, 0x4b746e48
add eax, 0xb2a368a
xor eax, 0x4f8c5a1
lea edx, [rcx - 0x7746617a]
add edx, eax
not edx
mov eax, dword [0x14035f038]
xor eax, 0xd4e259aa
sub edx, eax
mov ecx, dword [0x14035f030]
xor ecx, 0x2b1da655
add ecx, 0x7f1277c0
add ecx, edx
xor ecx, 0x2b8e0172
mov dword [rsp + 0xa0], ecx
movsxd rax, ecx
mov qword [rsp + 0x60], rax
mov dword [rsp + 0xa0], r12d
lea r13, [0x14035f060]
jmp 0x1402416d0
mov dword [rsp + 0x78], 0xb55a282
mov edi, r12d
mov dword [rsp + 0x68], 0x88010d14
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
movups xmm0, xmmword [rax + 0x58]
movd ecx, xmm0
sub cx, 8
test edi, edi
je 0x140241746
psrldq xmm0, 8
movq r8, xmm0
movzx ecx, cx
shr rcx, 1
lea r10, [r8 + rcx*2]
mov r9d, 0xaac4892
jmp 0x140241738
movsx edx, byte [r8]
mov ecx, edx
imul ecx, edx
add ecx, 0x31
xor ecx, 0x4764996c
xor edx, r9d
mov r9d, ecx
imul r9d, edx
add r8, 2
cmp r8, r10
jne 0x140241718
cmp r9d, edi
jne 0x140241806
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov rcx, qword [rcx + r10 + 0x88]
mov ebx, ecx
add rbx, r10
shr rcx, 0x20
cmp rbx, r10
je 0x140241806
mov esi, dword [rbx + 0x18]
test esi, esi
je 0x140241806
mov r9d, dword [rbx + 0x20]
mov r8d, dword [rsp + 0x68]
dec esi
mov edx, esi
mov qword [rsp + 0x38], rdx
lea rdx, [r9 + rsi*4]
mov r11d, dword [rdx + r10]
add r11, r10
mov edx, 0xaac4892
mov r9b, byte [r11]
mov byte [rsp + 0x4d8], r9b
add r11, r15
mov r14d, 0x31
test r9b, r9b
mov r9d, 0x4764996c
je 0x1402417f5
mov r10d, edx
mov dl, byte [rsp + 0x4d8]
movsx r8d, dl
mov edx, r8d
imul edx, r8d
add edx, r14d
xor edx, r9d
xor r8d, r10d
mov r10d, edx
imul r10d, r8d
mov dl, byte [r11]
add r11, r15
test dl, dl
jne 0x1402417be
mov dword [rsp + 0x70], r10d
mov r10, qword [rax + 0x30]
mov edx, dword [rsp + 0x70]
mov r8d, dword [rsp + 0x68]
cmp edx, r8d
je 0x14024180e
test esi, esi
mov r9d, dword [rbx + 0x20]
jne 0x14024177c
mov rax, qword [rax]
jmp 0x1402416ec
mov edx, dword [rbx + 0x1c]
add rdx, r10
mov eax, dword [rbx + 0x24]
add rax, r10
mov r8, qword [rsp + 0x38]
movzx eax, word [rax + r8*2]
mov r8d, dword [rdx + rax*4]
add r8, r10
cmp r8, rbx
jbe 0x1402418ad
lea rax, [rcx + rbx]
cmp r8, rax
jae 0x1402418ad
mov edi, 0xaac4892
mov r10d, edi
mov dword [rsp + 0x68], edi
jmp 0x14024185f
movsx ecx, al
mov eax, ecx
imul eax, ecx
add eax, r14d
xor eax, r9d
xor ecx, edi
mov edi, eax
imul edi, ecx
add r8, r15
mov al, byte [r8]
cmp al, 0x2e
jne 0x140241847
add r8, r15
mov al, byte [r8]
test al, al
je 0x140241897
movsx ecx, al
mov eax, ecx
imul eax, ecx
add eax, r14d
xor eax, r9d
xor ecx, r10d
mov r10d, eax
imul r10d, ecx
add r8, r15
mov al, byte [r8]
test al, al
jne 0x140241870
mov dword [rsp + 0x68], r10d
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
jmp 0x140241806
mov rdx, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x30]
call r8
mov rbx, rax
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x150], r12
movabs rax, 0x473a7e4c79a98c25
mov qword [rsp + 0x150], rax
mov qword [rsp + 0x158], r12
movabs rax, 0xa91d82d40415dfde
mov qword [rsp + 0x158], rax
movabs rcx, 0xf33a52b6b26bc103
add rcx, qword [rsp + 0x158]
movabs rax, 0xe6553662530a4470
xor rcx, rax
sub rcx, qword [0x14035f050]
sub rcx, qword [0x14035f058]
movabs rax, 0xedf047f5b7cd242
sub rcx, rax
movabs rax, 0xf8f8cd97c46529a9
xor rcx, rax
sub rcx, qword [0x14035f048]
movabs rax, 0x47d654b8a94f4c6e
add rcx, rax
mov rsi, qword [0x14035f040]
add rcx, rsi
movabs rax, 0x5a9179a79c7d91e1
xor rcx, rax
movabs rax, 0x5f627dc6e05b3ab4
sub rcx, rax
movabs rax, 0xd63b3cd208028152
xor rcx, rax
movabs rdx, 0x3483ce44193985a7
add rdx, rcx
add rdx, rsi
not rdx
mov r10, qword [0x14035f038]
mov rax, r10
movabs rcx, 0x13cce94adac9ad58
xor rax, rcx
sub rdx, rax
mov r11, qword [0x14035f030]
mov rcx, r11
movabs rax, 0xec3316b5253652a7
xor rcx, rax
movabs rax, 0xe0b56d904c4d702d
add rdx, rax
add rdx, rcx
movabs rax, 0x42d495b99ba64468
xor rdx, rax
mov qword [rsp + 0x158], rdx
movabs rcx, 0xf33a52b61130d683
add rcx, qword [rsp + 0x150]
movabs rax, 0xfbd536625309a335
xor rcx, rax
sub rcx, qword [0x14035f050]
sub rcx, qword [0x14035f058]
movabs rax, 0x7120fb80a666de7e
add rcx, rax
movabs rax, 0xf8f8cd986824ffd3
xor rcx, rax
sub rcx, qword [0x14035f048]
movabs rax, 0x7d654b9842ac5be
add rcx, rax
add rcx, rsi
movabs rax, 0x5a9179a85464c55b
xor rcx, rax
movabs rax, 0x5f627dc6c548b11e
sub rcx, rax
movabs rax, 0x2a3b3cd258a50069
xor rcx, rax
movabs rax, 0xb483ce44b60bd3be
add rcx, rax
add rcx, rsi
not rcx
movabs rax, 0x13cce94ad844c1ae
xor r10, rax
sub rcx, r10
movabs rax, 0xec3316b527bb3e51
xor r11, rax
movabs rax, 0xe0b56d8de49f2303
add rcx, rax
add rcx, r11
movabs rax, 0x83e048d010c36c0e
xor rcx, rax
mov qword [rsp + 0x150], rcx
and rcx, rdx
cmp rbx, rcx
setne dil
mov qword [rsp + 0x158], r12
mov qword [rsp + 0x150], r12
lea rcx, [rsp + 0x428]
call fcn.1400538a4
nop
mov rcx, qword [rsp + 0x278]
test rcx, rcx
je 0x140241b22
mov rax, r12
cmp qword [rsp + 0x280], r12
jbe 0x140241b22
mov byte [rax + rcx], r12b
add rax, r15
cmp rax, qword [rsp + 0x280]
jae 0x140241b22
mov rcx, qword [rsp + 0x278]
jmp 0x140241b07
test dil, dil
je 0x140245958
mov qword [rsp + 0x160], r12
movabs r14, 0x473a7e4c79a98c25
mov qword [rsp + 0x160], r14
mov qword [rsp + 0x168], r12
movabs rax, 0xa91d82d40415dfde
mov qword [rsp + 0x168], rax
movabs rcx, 0xf33a52b6b26bc103
add rcx, qword [rsp + 0x168]
movabs rax, 0xe6553662530a4470
xor rcx, rax
sub rcx, qword [0x14035f050]
sub rcx, qword [0x14035f058]
movabs rax, 0xedf047f5b7cd242
sub rcx, rax
movabs rax, 0xf8f8cd97c46529a9
xor rcx, rax
sub rcx, qword [0x14035f048]
movabs rax, 0x47d654b8a94f4c6e
add rcx, rax
mov rsi, qword [0x14035f040]
add rcx, rsi
movabs rax, 0x5a9179a79c7d91e1
xor rcx, rax
movabs rax, 0x5f627dc6e05b3ab4
sub rcx, rax
movabs rax, 0xd63b3cd208028152
xor rcx, rax
movabs rdx, 0x3483ce44193985a7
add rdx, rcx
add rdx, rsi
not rdx
mov r10, qword [0x14035f038]
mov rax, r10
movabs rcx, 0x13cce94adac9ad58
xor rax, rcx
sub rdx, rax
mov r11, qword [0x14035f030]
mov rcx, r11
movabs rax, 0xec3316b5253652a7
xor rcx, rax
movabs rax, 0xe0b56d904c4d702d
add rdx, rax
add rdx, rcx
movabs rax, 0x42d495b99ba64468
xor rdx, rax
mov qword [rsp + 0x168], rdx
movabs rcx, 0xf33a52b61130d683
add rcx, qword [rsp + 0x160]
movabs rax, 0xfbd536625309a335
xor rcx, rax
sub rcx, qword [0x14035f050]
sub rcx, qword [0x14035f058]
movabs rax, 0x7120fb80a666de7e
add rcx, rax
movabs rax, 0xf8f8cd986824ffd3
xor rcx, rax
sub rcx, qword [0x14035f048]
movabs rax, 0x7d654b9842ac5be
add rcx, rax
add rcx, rsi
movabs rax, 0x5a9179a85464c55b
xor rcx, rax
movabs rax, 0x5f627dc6c548b11e
sub rcx, rax
movabs rax, 0x2a3b3cd258a50069
xor rcx, rax
movabs rax, 0xb483ce44b60bd3be
add rcx, rax
add rcx, rsi
not rcx
movabs rax, 0x13cce94ad844c1ae
xor r10, rax
sub rcx, r10
movabs rax, 0xec3316b527bb3e51
xor r11, rax
movabs rax, 0xe0b56d8de49f2303
add rcx, rax
add rcx, r11
movabs rax, 0x83e048d010c36c0e
xor rcx, rax
mov qword [rsp + 0x160], rcx
and rcx, rdx
cmp rbx, rcx
setne al
mov qword [rsp + 0x168], r12
mov qword [rsp + 0x160], r12
test al, al
jne 0x140241df3
mov dword [rsp + 0xa4], r12d
mov dword [rsp + 0xa4], 0x666ee6e6
mov eax, dword [rsp + 0xa4]
add eax, 0xbfa0cd35
xor eax, 0x628a51a5
sub eax, dword [0x14035f058]
sub eax, dword [0x14035f050]
add eax, 0x245b8e9a
xor eax, 0xb6fb4947
sub eax, dword [0x14035f048]
mov rcx, qword [0x14035f040]
add eax, 0x5761ca5f
add eax, ecx
xor eax, 0x8d6d0ff9
add eax, 0x29090851
xor eax, 0x85679190
mov edx, dword [0x14035f030]
xor edx, 0x25017e77
sub edx, eax
mov eax, dword [0x14035f038]
xor eax, 0xdafe8188
sub edx, eax
sub edx, ecx
sub edx, 0xb482f26
xor edx, 0x39972638
mov dword [rsp + 0xa4], edx
mov dword [rsp + 0xa4], r12d
movabs r14, 0xaaaaaaaaaaaaaaab
jmp 0x140243279
mov qword [rsp + 0x170], r12
mov qword [rsp + 0x170], r14
mov qword [rsp + 0x178], r12
movabs rax, 0xa91d82d40415dfde
mov qword [rsp + 0x178], rax
movabs rcx, 0xf33a52b6b26bc103
add rcx, qword [rsp + 0x178]
movabs rax, 0xe6553662530a4470
xor rcx, rax
sub rcx, qword [0x14035f050]
sub rcx, qword [0x14035f058]
movabs rax, 0xedf047f5b7cd242
sub rcx, rax
movabs rax, 0xf8f8cd97c46529a9
xor rcx, rax
sub rcx, qword [0x14035f048]
movabs rax, 0x47d654b8a94f4c6e
add rcx, rax
mov rsi, qword [0x14035f040]
add rcx, rsi
movabs rax, 0x5a9179a79c7d91e1
xor rcx, rax
movabs rax, 0x5f627dc6e05b3ab4
sub rcx, rax
movabs rax, 0xd63b3cd208028152
xor rcx, rax
movabs rdx, 0x3483ce44193985a7
add rdx, rcx
add rdx, rsi
not rdx
mov r10, qword [0x14035f038]
mov rax, r10
movabs rcx, 0x13cce94adac9ad58
xor rax, rcx
sub rdx, rax
mov r11, qword [0x14035f030]
mov rcx, r11
movabs rax, 0xec3316b5253652a7
xor rcx, rax
movabs rax, 0xe0b56d904c4d702d
add rdx, rax
add rdx, rcx
movabs rax, 0x42d495b99ba64468
xor rdx, rax
mov qword [rsp + 0x178], rdx
movabs rcx, 0xf33a52b61130d683
add rcx, qword [rsp + 0x170]
movabs rax, 0xfbd536625309a335
xor rcx, rax
sub rcx, qword [0x14035f050]
sub rcx, qword [0x14035f058]
movabs rax, 0x7120fb80a666de7e
add rcx, rax
movabs rax, 0xf8f8cd986824ffd3
xor rcx, rax
sub rcx, qword [0x14035f048]
movabs rax, 0x7d654b9842ac5be
add rcx, rax
add rcx, rsi
movabs rax, 0x5a9179a85464c55b
xor rcx, rax
movabs rax, 0x5f627dc6c548b11e
sub rcx, rax
movabs rax, 0x2a3b3cd258a50069
xor rcx, rax
movabs rax, 0xb483ce44b60bd3be
add rcx, rax
add rcx, rsi
not rcx
movabs rax, 0x13cce94ad844c1ae
xor r10, rax
sub rcx, r10
movabs rax, 0xec3316b527bb3e51
xor r11, rax
movabs rax, 0xe0b56d8de49f2303
add rcx, rax
add rcx, r11
movabs rax, 0x83e048d010c36c0e
xor rcx, rax
mov qword [rsp + 0x170], rcx
and rcx, rdx
cmp rbx, rcx
setne al
mov qword [rsp + 0x178], r12
mov qword [rsp + 0x170], r12
test al, al
jne 0x1402420c5
mov dword [rsp + 0xa8], r12d
mov dword [rsp + 0xa8], 0x7695e4fc
mov eax, dword [rsp + 0xa8]
add eax, 0x4288c1b5
xor eax, 0x5709d48d
sub eax, dword [0x14035f058]
sub eax, dword [0x14035f050]
sub eax, 0x5a2d2943
xor eax, 0x3607b4f5
sub eax, dword [0x14035f048]
mov rcx, qword [0x14035f040]
add eax, 0x412fedfb
add eax, ecx
xor eax, 0x1c1c7d17
add eax, 0x4cf8213b
xor eax, 0x1ff78011
lea edx, [rcx - 0x79f2b007]
add edx, eax
not edx
mov eax, dword [0x14035f038]
xor eax, 0xd90a215a
sub edx, eax
mov eax, dword [0x14035f030]
xor eax, 0x26f5dea5
add eax, 0x8b01eef5
add eax, edx
xor eax, 0xf3958b02
mov dword [rsp + 0x4d8], eax
mov dword [rsp + 0xa8], eax
mov dword [rsp + 0xa8], r12d
mov dword [rsp + 0x68], 0xf2f4820e
movabs r14, 0xaaaaaaaaaaaaaaab
jmp 0x1402422bf
mov edi, r12d
mov eax, 0xf2f4820e
mov dword [rsp + 0x68], eax
mov dword [rsp + 0x70], eax
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
movabs r14, 0xaaaaaaaaaaaaaaab
movups xmm0, xmmword [rax + 0x58]
movd ecx, xmm0
sub cx, 8
test edi, edi
je 0x140242150
psrldq xmm0, 8
movq r9, xmm0
movzx ecx, cx
shr rcx, 1
lea r11, [r9 + rcx*2]
mov r10d, 0x75b97f72
jmp 0x140242142
movsx edx, byte [r9]
mov r8d, edx
imul r8d, edx
add r8d, 0x31
xor r8d, 0x4764996c
mov ecx, r10d
xor ecx, edx
mov r10d, r8d
imul r10d, ecx
add r9, 2
cmp r9, r11
jne 0x14024211c
cmp r10d, edi
jne 0x140242206
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov rcx, qword [rcx + r10 + 0x88]
mov ebx, ecx
add rbx, r10
shr rcx, 0x20
cmp rbx, r10
je 0x140242206
mov esi, dword [rbx + 0x18]
test esi, esi
je 0x140242206
mov r9d, dword [rbx + 0x20]
mov r8d, dword [rsp + 0x70]
dec esi
mov edx, esi
mov qword [rsp + 0x40], rdx
lea rdx, [r10 + rsi*4]
mov r11d, dword [rdx + r9]
add r11, r10
mov edx, 0x75b97f72
mov r9b, byte [r11]
mov byte [rsp + 0x4d8], r9b
add r11, r15
test r9b, r9b
mov r9d, 0x4764996c
je 0x1402421f9
mov r10d, edx
mov dl, byte [rsp + 0x4d8]
movsx r8d, dl
mov edx, r8d
imul edx, r8d
add edx, 0x31
xor edx, r9d
xor r8d, r10d
mov r10d, edx
imul r10d, r8d
mov dl, byte [r11]
add r11, r15
test dl, dl
jne 0x1402421c2
mov dword [rsp + 0x58], r10d
mov r10, qword [rax + 0x30]
mov edx, dword [rsp + 0x58]
mov r8d, dword [rsp + 0x70]
cmp edx, r8d
je 0x14024220e
test esi, esi
mov r9d, dword [rbx + 0x20]
jne 0x140242186
mov rax, qword [rax]
jmp 0x1402420f0
mov edx, dword [rbx + 0x1c]
add rdx, r10
mov eax, dword [rbx + 0x24]
add rax, r10
mov r8, qword [rsp + 0x40]
movzx eax, word [rax + r8*2]
mov r8d, dword [rdx + rax*4]
add r8, r10
cmp r8, rbx
jbe 0x1402422ad
lea rax, [rcx + rbx]
cmp r8, rax
jae 0x1402422ad
mov edi, 0x75b97f72
mov r11d, edi
mov dword [rsp + 0x70], edi
jmp 0x14024225f
movsx ecx, al
mov eax, ecx
imul eax, ecx
add eax, 0x31
xor eax, r9d
xor ecx, edi
mov edi, eax
imul edi, ecx
add r8, r15
mov al, byte [r8]
cmp al, 0x2e
jne 0x140242247
add r8, r15
mov al, byte [r8]
test al, al
je 0x140242297
movsx ecx, al
mov eax, ecx
imul eax, ecx
add eax, 0x31
xor eax, r9d
xor ecx, r11d
mov r11d, eax
imul r11d, ecx
add r8, r15
mov al, byte [r8]
test al, al
jne 0x140242270
mov dword [rsp + 0x70], r11d
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
jmp 0x140242206
mov rbx, qword [rsp + 0x60]
mov rcx, rbx
call r8
mov dword [rsp + 0x4d8], eax
mov dword [rsp + 0xb4], r12d
mov dword [rsp + 0xb4], 0x6cf8784c
mov eax, dword [rsp + 0xb4]
add eax, 0x4af72835
xor eax, 0xbd89dcfb
sub eax, dword [0x14035f058]
sub eax, dword [0x14035f050]
add eax, 0x25b98b89
xor eax, 0x2d7794db
sub eax, dword [0x14035f048]
mov rcx, qword [0x14035f040]
add eax, 0x75be11d8
add eax, ecx
xor eax, 0x127e902d
add eax, 0x4329d485
xor eax, 0xe7c0095e
lea edx, [rcx - 0x22611ba]
add edx, eax
not edx
mov eax, dword [0x14035f038]
xor eax, 0xd92bdaf4
sub edx, eax
mov eax, dword [0x14035f030]
xor eax, 0x26d4250b
add eax, 0xac9d428f
add eax, edx
xor eax, 0x3597ac7c
mov dword [rsp + 0x58], eax
mov dword [rsp + 0xb4], eax
mov dword [rsp + 0xac], r12d
mov dword [rsp + 0xac], 0xfe19c8f0
mov eax, dword [rsp + 0xac]
add eax, 0x6b08
xor eax, 0x5cf01a
sub eax, dword [0x14035f058]
sub eax, dword [0x14035f050]
sub eax, 0x537fcf9e
xor eax, 0x2c21d87e
sub eax, dword [0x14035f048]
mov rcx, qword [0x14035f040]
add eax, 0xd2a75eb2
add eax, ecx
xor eax, 0xda87ab76
add eax, 0x70a7edb1
xor eax, 0xf6a2cf02
lea edx, [rcx + 0xe568025]
add edx, eax
not edx
mov eax, dword [0x14035f038]
xor eax, 0x2578547e
sub edx, eax
mov eax, dword [0x14035f030]
xor eax, 0xda87ab81
add eax, 0xcd0ec765
add eax, edx
xor eax, 0x1c84bd7e
mov dword [rsp + 0x70], eax
mov dword [rsp + 0xac], eax
mov qword [rsp + 0x180], r12
movabs rax, 0x473a7e4c79a98c25
mov qword [rsp + 0x180], rax
mov qword [rsp + 0x188], r12
movabs rax, 0xa91d82d40415dfde
mov qword [rsp + 0x188], rax
movabs rcx, 0xf33a52b6b26bc103
add rcx, qword [rsp + 0x188]
movabs rax, 0xe6553662530a4470
xor rcx, rax
sub rcx, qword [0x14035f050]
sub rcx, qword [0x14035f058]
movabs rax, 0xedf047f5b7cd242
sub rcx, rax
movabs rax, 0xf8f8cd97c46529a9
xor rcx, rax
sub rcx, qword [0x14035f048]
movabs rax, 0x47d654b8a94f4c6e
add rcx, rax
mov rsi, qword [0x14035f040]
add rcx, rsi
movabs rax, 0x5a9179a79c7d91e1
xor rcx, rax
movabs rax, 0x5f627dc6e05b3ab4
sub rcx, rax
movabs rax, 0xd63b3cd208028152
xor rcx, rax
movabs rdx, 0x3483ce44193985a7
add rdx, rcx
add rdx, rsi
not rdx
mov r10, qword [0x14035f038]
mov rax, r10
movabs rcx, 0x13cce94adac9ad58
xor rax, rcx
sub rdx, rax
mov r11, qword [0x14035f030]
mov rcx, r11
movabs rax, 0xec3316b5253652a7
xor rcx, rax
movabs rax, 0xe0b56d904c4d702d
add rdx, rax
add rdx, rcx
movabs rax, 0x42d495b99ba64468
xor rdx, rax
mov qword [rsp + 0x188], rdx
movabs rcx, 0xf33a52b61130d683
add rcx, qword [rsp + 0x180]
movabs rax, 0xfbd536625309a335
xor rcx, rax
sub rcx, qword [0x14035f050]
sub rcx, qword [0x14035f058]
movabs rax, 0x7120fb80a666de7e
add rcx, rax
movabs rax, 0xf8f8cd986824ffd3
xor rcx, rax
sub rcx, qword [0x14035f048]
movabs rax, 0x7d654b9842ac5be
add rcx, rax
add rcx, rsi
movabs rax, 0x5a9179a85464c55b
xor rcx, rax
movabs rax, 0x5f627dc6c548b11e
sub rcx, rax
movabs rax, 0x2a3b3cd258a50069
xor rcx, rax
movabs rax, 0xb483ce44b60bd3be
add rcx, rax
add rcx, rsi
not rcx
movabs rax, 0x13cce94ad844c1ae
xor r10, rax
sub rcx, r10
movabs rax, 0xec3316b527bb3e51
xor r11, rax
movabs rax, 0xe0b56d8de49f2303
add rcx, rax
add rcx, r11
movabs rax, 0x83e048d010c36c0e
xor rcx, rax
mov qword [rsp + 0x180], rcx
and rcx, rdx
cmp rbx, rcx
setne al
mov qword [rsp + 0x188], r12
mov qword [rsp + 0x180], r12
test al, al
jne 0x1402426b9
mov dword [rsp + 0xb0], r12d
mov dword [rsp + 0xb0], 0x310cf8d9
mov eax, dword [rsp + 0xb0]
add eax, 0x3dd3ddb5
xor eax, 0x7309cfd8
sub eax, dword [0x14035f058]
sub eax, dword [0x14035f050]
sub eax, 0x5a1f0a97
xor eax, 0x3acf6c85
sub eax, dword [0x14035f048]
mov rcx, qword [0x14035f040]
add eax, 0x47937979
add eax, ecx
xor eax, 0x217ad127
add eax, 0x4a9d70eb
xor eax, 0x425217b8
lea edx, [rcx - 0x755ebe43]
add edx, eax
not edx
mov eax, dword [0x14035f038]
xor eax, 0xd8f74dca
sub edx, eax
mov ecx, dword [0x14035f030]
xor ecx, 0x2708b235
add ecx, 0x77ddc364
add ecx, edx
xor ecx, 0x13998ed2
mov dword [rsp + 0xb0], ecx
mov dword [rsp + 0xb0], r12d
mov dword [rsp + 0x48], 0xd44e2786
jmp 0x1402428a8
mov esi, r12d
mov eax, 0xd44e2786
mov dword [rsp + 0x48], eax
mov dword [rsp + 0x38], eax
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
movups xmm0, xmmword [rax + 0x58]
movd ecx, xmm0
sub cx, 8
test esi, esi
je 0x14024273a
psrldq xmm0, 8
movq r9, xmm0
movzx ecx, cx
shr rcx, 1
lea r11, [r9 + rcx*2]
mov r10d, 0x58dc7744
jmp 0x14024272c
movsx edx, byte [r9]
mov r8d, edx
imul r8d, edx
add r8d, 0x31
xor r8d, 0x4764996c
mov ecx, r10d
xor ecx, edx
mov r10d, r8d
imul r10d, ecx
add r9, 2
cmp r9, r11
jne 0x140242706
cmp r10d, esi
jne 0x1402427ec
mov r11, qword [rax + 0x30]
movsxd rcx, dword [r11 + 0x3c]
mov rcx, qword [rcx + r11 + 0x88]
mov edi, ecx
add rdi, r11
shr rcx, 0x20
cmp rdi, r11
je 0x1402427ec
mov r8d, dword [rdi + 0x18]
test r8d, r8d
je 0x1402427ec
mov r9d, dword [rdi + 0x20]
dec r8d
mov dword [rsp + 0x30], r8d
mov edx, r8d
mov qword [rsp + 0x50], rdx
lea rdx, [r9 + r8*4]
mov ebx, dword [rdx + r11]
add rbx, r11
mov edx, 0x58dc7744
mov r9b, byte [rbx]
add rbx, r15
mov r10d, 0x4764996c
test r9b, r9b
je 0x1402427dd
mov r11d, edx
movsx r8d, r9b
mov r9d, r8d
imul r9d, r8d
add r9d, 0x31
xor r9d, r10d
mov edx, r11d
xor edx, r8d
mov r11d, r9d
imul r11d, edx
mov r9b, byte [rbx]
add rbx, r15
test r9b, r9b
jne 0x1402427a1
mov dword [rsp + 0x40], r11d
mov r11, qword [rax + 0x30]
mov r8d, dword [rsp + 0x30]
mov edx, dword [rsp + 0x40]
cmp edx, dword [rsp + 0x38]
je 0x1402427f4
test r8d, r8d
mov r9d, dword [rdi + 0x20]
jne 0x14024276d
mov rax, qword [rax]
jmp 0x1402426da
mov edx, dword [rdi + 0x1c]
add rdx, r11
mov eax, dword [rdi + 0x24]
add rax, r11
mov r8, qword [rsp + 0x50]
movzx eax, word [rax + r8*2]
mov r9d, dword [rdx + rax*4]
add r9, r11
cmp r9, rdi
jbe 0x140242893
lea rax, [rcx + rdi]
cmp r9, rax
jae 0x140242893
mov esi, 0x58dc7744
mov r11d, esi
mov dword [rsp + 0x38], esi
jmp 0x140242845
movsx ecx, al
mov eax, ecx
imul eax, ecx
add eax, 0x31
xor eax, r10d
xor ecx, esi
mov esi, eax
imul esi, ecx
add r9, r15
mov al, byte [r9]
cmp al, 0x2e
jne 0x14024282d
add r9, r15
mov al, byte [r9]
test al, al
je 0x14024287d
movsx ecx, al
mov eax, ecx
imul eax, ecx
add eax, 0x31
xor eax, r10d
xor ecx, r11d
mov r11d, eax
imul r11d, ecx
add r9, r15
mov al, byte [r9]
test al, al
jne 0x140242856
mov dword [rsp + 0x38], r11d
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
jmp 0x1402427ec
mov r8d, dword [rsp + 0x58]
mov edx, dword [rsp + 0x70]
mov rbx, qword [rsp + 0x60]
mov rcx, rbx
call r9
nop
mov dword [rsp + 0xac], r12d
mov dword [rsp + 0xb4], r12d
mov qword [rsp + 0x198], r12
movabs rax, 0x473a7e4c79a98c25
mov qword [rsp + 0x198], rax
mov qword [rsp + 0x1a0], r12
movabs rax, 0xa91d82d40415dfde
mov qword [rsp + 0x1a0], rax
movabs rcx, 0xf33a52b6b26bc103
add rcx, qword [rsp + 0x1a0]
movabs rax, 0xe6553662530a4470
xor rcx, rax
sub rcx, qword [0x14035f050]
sub rcx, qword [0x14035f058]
movabs rax, 0xedf047f5b7cd242
sub rcx, rax
movabs rax, 0xf8f8cd97c46529a9
xor rcx, rax
sub rcx, qword [0x14035f048]
movabs rax, 0x47d654b8a94f4c6e
add rcx, rax
mov rsi, qword [0x14035f040]
add rcx, rsi
movabs rax, 0x5a9179a79c7d91e1
xor rcx, rax
movabs rax, 0x5f627dc6e05b3ab4
sub rcx, rax
movabs rax, 0xd63b3cd208028152
xor rcx, rax
movabs rdx, 0x3483ce44193985a7
add rdx, rcx
add rdx, rsi
not rdx
mov r10, qword [0x14035f038]
mov rax, r10
movabs rcx, 0x13cce94adac9ad58
xor rax, rcx
sub rdx, rax
mov r11, qword [0x14035f030]
mov rcx, r11
movabs rax, 0xec3316b5253652a7
xor rcx, rax
movabs rax, 0xe0b56d904c4d702d
add rdx, rax
add rdx, rcx
movabs rax, 0x42d495b99ba64468
xor rdx, rax
mov qword [rsp + 0x1a0], rdx
movabs rcx, 0xf33a52b61130d683
add rcx, qword [rsp + 0x198]
movabs rax, 0xfbd536625309a335
xor rcx, rax
sub rcx, qword [0x14035f050]
sub rcx, qword [0x14035f058]
movabs rax, 0x7120fb80a666de7e
add rcx, rax
movabs rax, 0xf8f8cd986824ffd3
xor rcx, rax
sub rcx, qword [0x14035f048]
movabs rax, 0x7d654b9842ac5be
add rcx, rax
add rcx, rsi
movabs rax, 0x5a9179a85464c55b
xor rcx, rax
movabs rax, 0x5f627dc6c548b11e
sub rcx, rax
movabs rax, 0x2a3b3cd258a50069
xor rcx, rax
movabs rax, 0xb483ce44b60bd3be
add rcx, rax
add rcx, rsi
not rcx
movabs rax, 0x13cce94ad844c1ae
xor r10, rax
sub rcx, r10
movabs rax, 0xec3316b527bb3e51
xor r11, rax
movabs rax, 0xe0b56d8de49f2303
add rcx, rax
add rcx, r11
movabs rax, 0x83e048d010c36c0e
xor rcx, rax
mov qword [rsp + 0x198], rcx
and rcx, rdx
cmp rbx, rcx
setne al
mov qword [rsp + 0x1a0], r12
mov qword [rsp + 0x198], r12
test al, al
jne 0x140242b7f
mov dword [rsp + 0xbc], r12d
mov dword [rsp + 0xbc], 0x7695e4fc
mov eax, dword [rsp + 0xbc]
add eax, 0x4288c1b5
xor eax, 0x5709d48d
sub eax, dword [0x14035f058]
sub eax, dword [0x14035f050]
sub eax, 0x5a2d2943
xor eax, 0x3607b4f5
sub eax, dword [0x14035f048]
mov rcx, qword [0x14035f040]
add eax, 0x412fedfb
add eax, ecx
xor eax, 0x1c1c7d17
add eax, 0x4cf8213b
xor eax, 0x1ff78011
lea edx, [rcx - 0x79f2b007]
add edx, eax
not edx
mov eax, dword [0x14035f038]
xor eax, 0xd90a215a
sub edx, eax
mov eax, dword [0x14035f030]
xor eax, 0x26f5dea5
add eax, 0x8b01eef5
add eax, edx
xor eax, 0xf3958b02
mov dword [rsp + 0x40], eax
mov dword [rsp + 0xbc], eax
mov dword [rsp + 0xbc], r12d
jmp 0x140242d58
mov esi, r12d
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
movups xmm0, xmmword [rax + 0x58]
movd ecx, xmm0
sub cx, 8
test esi, esi
je 0x140242bf3
psrldq xmm0, 8
movq r9, xmm0
movzx ecx, cx
shr rcx, 1
lea r11, [r9 + rcx*2]
mov r10d, 0x75b97f72
jmp 0x140242be5
movsx edx, byte [r9]
mov r8d, edx
imul r8d, edx
add r8d, 0x31
xor r8d, 0x4764996c
mov ecx, r10d
xor ecx, edx
mov r10d, r8d
imul r10d, ecx
add r9, 2
cmp r9, r11
jne 0x140242bbf
cmp r10d, esi
jne 0x140242ca5
mov r11, qword [rax + 0x30]
movsxd rcx, dword [r11 + 0x3c]
mov rcx, qword [rcx + r11 + 0x88]
mov edi, ecx
add rdi, r11
shr rcx, 0x20
cmp rdi, r11
je 0x140242ca5
mov r8d, dword [rdi + 0x18]
test r8d, r8d
je 0x140242ca5
mov r9d, dword [rdi + 0x20]
dec r8d
mov dword [rsp + 0x40], r8d
mov edx, r8d
mov qword [rsp + 0x50], rdx
lea rdx, [r11 + r8*4]
mov ebx, dword [rdx + r9]
add rbx, r11
mov edx, 0x75b97f72
mov r9b, byte [rbx]
add rbx, r15
mov r10d, 0x4764996c
test r9b, r9b
je 0x140242c96
mov r11d, edx
movsx r8d, r9b
mov r9d, r8d
imul r9d, r8d
add r9d, 0x31
xor r9d, r10d
mov edx, r11d
xor edx, r8d
mov r11d, r9d
imul r11d, edx
mov r9b, byte [rbx]
add rbx, r15
test r9b, r9b
jne 0x140242c5a
mov dword [rsp + 0x30], r11d
mov r11, qword [rax + 0x30]
mov r8d, dword [rsp + 0x40]
mov edx, dword [rsp + 0x30]
cmp edx, dword [rsp + 0x68]
je 0x140242cad
test r8d, r8d
mov r9d, dword [rdi + 0x20]
jne 0x140242c26
mov rax, qword [rax]
jmp 0x140242b93
mov edx, dword [rdi + 0x1c]
add rdx, r11
mov eax, dword [rdi + 0x24]
add rax, r11
mov r8, qword [rsp + 0x50]
movzx eax, word [rax + r8*2]
mov r8d, dword [rdx + rax*4]
add r8, r11
cmp r8, rdi
jbe 0x140242d49
lea rax, [rcx + rdi]
cmp r8, rax
jae 0x140242d49
mov eax, 0x75b97f72
mov esi, eax
mov edx, eax
mov dword [rsp + 0x68], eax
jmp 0x140242cff
movsx ecx, al
mov eax, ecx
imul eax, ecx
add eax, 0x31
xor eax, r10d
xor ecx, esi
mov esi, eax
imul esi, ecx
add r8, r15
mov al, byte [r8]
cmp al, 0x2e
jne 0x140242ce7
add r8, r15
mov al, byte [r8]
test al, al
je 0x140242d33
movsx ecx, al
mov eax, ecx
imul eax, ecx
add eax, 0x31
xor eax, r10d
xor ecx, edx
mov edx, eax
imul edx, ecx
add r8, r15
mov al, byte [r8]
test al, al
jne 0x140242d10
mov dword [rsp + 0x68], edx
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
jmp 0x140242ca5
mov rbx, qword [rsp + 0x60]
mov rcx, rbx
call r8
mov dword [rsp + 0x40], eax
mov dword [rsp + 0xc0], r12d
mov dword [rsp + 0xc0], 0x731130ab
mov eax, dword [rsp + 0xc0]
add eax, 0xb9a6e5b5
xor eax, 0x7b0a4bab
sub eax, dword [0x14035f058]
sub eax, dword [0x14035f050]
sub eax, 0x5b9283af
xor eax, 0xbd0d1865
sub eax, dword [0x14035f048]
mov rcx, qword [0x14035f040]
add eax, 0x9f7e841d
add eax, ecx
xor eax, 0x943e1c07
add eax, 0x217282cb
xor eax, 0xc464b520
mov edx, dword [0x14035f030]
xor edx, 0x25196615
sub edx, eax
mov eax, dword [0x14035f038]
xor eax, 0xdae699ea
sub edx, eax
sub edx, ecx
add edx, 0x5727f890
xor edx, 0xb017dc32
mov dword [rsp + 0x30], edx
mov dword [rsp + 0xc0], edx
mov qword [rsp + 0x1a8], r12
movabs rax, 0x473a7e4c79a98c25
mov qword [rsp + 0x1a8], rax
mov qword [rsp + 0x1b0], r12
movabs rax, 0xa91d82d40415dfde
mov qword [rsp + 0x1b0], rax
movabs rcx, 0xf33a52b6b26bc103
add rcx, qword [rsp + 0x1b0]
movabs rax, 0xe6553662530a4470
xor rcx, rax
sub rcx, qword [0x14035f050]
sub rcx, qword [0x14035f058]
movabs rax, 0xedf047f5b7cd242
sub rcx, rax
movabs rax, 0xf8f8cd97c46529a9
xor rcx, rax
sub rcx, qword [0x14035f048]
movabs rax, 0x47d654b8a94f4c6e
add rcx, rax
mov rsi, qword [0x14035f040]
add rcx, rsi
movabs rax, 0x5a9179a79c7d91e1
xor rcx, rax
movabs rax, 0x5f627dc6e05b3ab4
sub rcx, rax
movabs rax, 0xd63b3cd208028152
xor rcx, rax
movabs rdx, 0x3483ce44193985a7
add rdx, rcx
add rdx, rsi
not rdx
mov r10, qword [0x14035f038]
mov rax, r10
movabs rcx, 0x13cce94adac9ad58
xor rax, rcx
sub rdx, rax
mov r11, qword [0x14035f030]
mov rcx, r11
movabs rax, 0xec3316b5253652a7
xor rcx, rax
movabs rax, 0xe0b56d904c4d702d
add rdx, rax
add rdx, rcx
movabs rax, 0x42d495b99ba64468
xor rdx, rax
mov qword [rsp + 0x1b0], rdx
movabs rcx, 0xf33a52b61130d683
add rcx, qword [rsp + 0x1a8]
movabs rax, 0xfbd536625309a335
xor rcx, rax
sub rcx, qword [0x14035f050]
sub rcx, qword [0x14035f058]
movabs rax, 0x7120fb80a666de7e
add rcx, rax
movabs rax, 0xf8f8cd986824ffd3
xor rcx, rax
sub rcx, qword [0x14035f048]
movabs rax, 0x7d654b9842ac5be
add rcx, rax
add rcx, rsi
movabs rax, 0x5a9179a85464c55b
xor rcx, rax
movabs rax, 0x5f627dc6c548b11e
sub rcx, rax
movabs rax, 0x2a3b3cd258a50069
xor rcx, rax
movabs rax, 0xb483ce44b60bd3be
add rcx, rax
add rcx, rsi
not rcx
movabs rax, 0x13cce94ad844c1ae
xor r10, rax
sub rcx, r10
movabs rax, 0xec3316b527bb3e51
xor r11, rax
movabs rax, 0xe0b56d8de49f2303
add rcx, rax
add rcx, r11
movabs rax, 0x83e048d010c36c0e
xor rcx, rax
mov qword [rsp + 0x1a8], rcx
and rcx, rdx
cmp rbx, rcx
setne al
mov qword [rsp + 0x1b0], r12
mov qword [rsp + 0x1a8], r12
test al, al
jne 0x1402430af
mov dword [rsp + 0xc4], r12d
mov dword [rsp + 0xc4], 0x310cf8d9
mov eax, dword [rsp + 0xc4]
add eax, 0x3dd3ddb5
xor eax, 0x7309cfd8
sub eax, dword [0x14035f058]
sub eax, dword [0x14035f050]
sub eax, 0x5a1f0a97
xor eax, 0x3acf6c85
sub eax, dword [0x14035f048]
mov rcx, qword [0x14035f040]
add eax, 0x47937979
add eax, ecx
xor eax, 0x217ad127
add eax, 0x4a9d70eb
xor eax, 0x425217b8
lea edx, [rcx - 0x755ebe43]
add edx, eax
not edx
mov eax, dword [0x14035f038]
xor eax, 0xd8f74dca
sub edx, eax
mov ecx, dword [0x14035f030]
xor ecx, 0x2708b235
add ecx, 0x77ddc364
add ecx, edx
xor ecx, 0x13998ed2
mov dword [rsp + 0xc4], ecx
mov dword [rsp + 0xc4], r12d
jmp 0x14024326d
mov edi, r12d
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
movups xmm0, xmmword [rax + 0x58]
movd ecx, xmm0
sub cx, 8
test edi, edi
je 0x14024311d
psrldq xmm0, 8
movq r8, xmm0
movzx ecx, cx
shr rcx, 1
lea r10, [r8 + rcx*2]
mov r9d, 0x58dc7744
jmp 0x14024310f
movsx edx, byte [r8]
mov ecx, edx
imul ecx, edx
add ecx, 0x31
xor ecx, 0x4764996c
xor edx, r9d
mov r9d, ecx
imul r9d, edx
add r8, 2
cmp r8, r10
jne 0x1402430ef
cmp r9d, edi
jne 0x1402431b4
mov r11, qword [rax + 0x30]
movsxd rcx, dword [r11 + 0x3c]
mov rcx, qword [rcx + r11 + 0x88]
mov ebx, ecx
add rbx, r11
shr rcx, 0x20
cmp rbx, r11
je 0x1402431b4
mov esi, dword [rbx + 0x18]
test esi, esi
je 0x1402431b4
mov r8d, dword [rbx + 0x20]
dec esi
mov edx, esi
mov qword [rsp + 0x50], rdx
lea rdx, [r8 + rsi*4]
mov r9d, dword [rdx + r11]
add r9, r11
mov edx, 0x58dc7744
mov r8b, byte [r9]
add r9, r15
mov r10d, 0x4764996c
test r8b, r8b
je 0x1402431a6
mov r11d, edx
movsx r8d, r8b
mov edx, r8d
imul edx, r8d
add edx, 0x31
xor edx, r10d
xor r8d, r11d
mov r11d, edx
imul r11d, r8d
mov r8b, byte [r9]
add r9, r15
test r8b, r8b
jne 0x140243173
mov dword [rsp + 0x38], r11d
mov r11, qword [rax + 0x30]
mov edx, dword [rsp + 0x38]
cmp edx, dword [rsp + 0x48]
je 0x1402431bc
test esi, esi
mov r8d, dword [rbx + 0x20]
jne 0x140243146
mov rax, qword [rax]
jmp 0x1402430c3
mov edx, dword [rbx + 0x1c]
add rdx, r11
mov eax, dword [rbx + 0x24]
add rax, r11
mov r8, qword [rsp + 0x50]
movzx eax, word [rax + r8*2]
mov r9d, dword [rdx + rax*4]
add r9, r11
cmp r9, rbx
jbe 0x140243258
lea rax, [rcx + rbx]
cmp r9, rax
jae 0x140243258
mov eax, 0x58dc7744
mov edi, eax
mov edx, eax
mov dword [rsp + 0x48], eax
jmp 0x14024320e
movsx ecx, al
mov eax, ecx
imul eax, ecx
add eax, 0x31
xor eax, r10d
xor ecx, edi
mov edi, eax
imul edi, ecx
add r9, r15
mov al, byte [r9]
cmp al, 0x2e
jne 0x1402431f6
add r9, r15
mov al, byte [r9]
test al, al
je 0x140243242
movsx ecx, al
mov eax, ecx
imul eax, ecx
add eax, 0x31
xor eax, r10d
xor ecx, edx
mov edx, eax
imul edx, ecx
add r9, r15
mov al, byte [r9]
test al, al
jne 0x14024321f
mov dword [rsp + 0x48], edx
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
jmp 0x1402431b4
mov r8d, dword [rsp + 0x30]
mov edx, dword [rsp + 0x4d8]
mov rcx, qword [rsp + 0x60]
call r9
nop
mov dword [rsp + 0xc0], r12d
mov edx, dword [rsp + 0x40]
movsxd rax, edx
mov qword [rsp + 0x50], rax
movabs rdi, 0x6626a28a64bf726a
mov rsi, r12
movabs rax, 0xed79f761893b9f90
movabs r11, 0xcc8999418492f532
mov rcx, qword [0x14035f070]
imul rcx, rax
not rcx
movabs rdx, 0x337666be5c90ce4c
mov rax, qword [0x14035f060]
xor rax, rdx
and rcx, rax
ror rcx, 0x13
shr rcx, 8
mov qword [rsp + 0x40], rcx
movabs rax, 0x63535f753fcf8870
mov r10, qword [0x14035f078]
imul r10, rax
add r10, rdi
movabs rax, 0xe3db6251ffffffff
xor r10, rax
shr r10, 0x1f
not r10
movabs r8, 0x99d95d759b408d96
lea rcx, [r10 + r8]
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, r10b
movzx ecx, byte [r13 + rcx*8]
imul ecx, eax
movzx ecx, cl
xor ecx, 0x19
mov ebx, 0x8000003f
and ecx, ebx
jge 0x140243347
sub ecx, r15d
or ecx, 0xffffffc0
add ecx, r15d
mov rax, r10
ror rax, cl
not rax
mov qword [rsp + 0x30], rax
movabs rcx, 0x57d79aa3393b349c
imul rax, rcx
mov qword [rsp + 0x38], rax
add r8, rax
mov r9, r10
mov rdx, qword [rsp + 0x40]
imul r9, rdx
sub r9, r8
movabs rax, 0xf14b732d58f03367
xor r9, rax
movzx ecx, r8b
mov dword [rsp + 0x4d8], ecx
xor ecx, 6
and ecx, 0xf
and ecx, ebx
jge 0x1402433a5
sub ecx, r15d
or ecx, 0xffffffc0
add ecx, r15d
rol r9, cl
mov rax, r8
sub rax, qword [0x14035f078]
xor r9, rax
movabs rcx, 0xcca29ee340554098
mov rax, qword [rsp + 0x30]
imul rax, rcx
movabs rcx, 0x7dac5d2942b16c1c
add rax, rcx
xor r9, rax
xor r9, r11
mov rax, r9
not rax
and eax, 2
je 0x1402436c0
sub rax, 1
je 0x1402435b8
sub rax, 1
je 0x1402434ed
cmp rax, 1
jne 0x140243754
mov rbx, r8
imul rbx, r10
movabs rax, 0x154dfde34ebf3906
add rax, r9
xor rbx, rax
ror rbx, 0x2a
shr rbx, 0xc
not rbx
movabs rcx, 0x83570df0bd0e
mov rdx, qword [0x14035f088]
add rdx, rcx
movabs rax, 0x995bd80dddab101c
xor rdx, rax
movzx eax, bl
movzx ecx, r9b
imul ecx, eax
and cl, 0x3f
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xf7ca7db9551051f1
sub rax, r10
mov r10, rdx
xor r10, rax
mov rcx, r10
imul rcx, rdi
mov eax, 0x84cb831b
add rcx, rax
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov cl, byte [r13 + rcx*8]
and cl, 0xf
movabs rdi, 0x4363d8d5a229010b
sub rdi, rbx
shr rdi, cl
movabs rax, 0x99e181fe1190816e
mov rcx, qword [rsp + 0x38]
add rcx, rax
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, r9
imul rax, qword [r13 + rcx*8]
imul rax, r9
sub rax, qword [rsp + 0x40]
xor rdi, rax
jmp 0x14024375e
movabs rcx, 0xaaaaaa1a84d27e25
mov r10, r9
xor r10, rcx
movabs rcx, 0x1206ed46dfa269
imul r10, rcx
movabs rdx, 0xffff7e8aa2c24cf9
mov rcx, qword [rsp + 0x38]
imul rcx, rdx
movabs rdx, 0x20f6117c2f1dce74
add r10, rdx
add r10, rcx
movabs rax, 0x277cd7be5602a945
mov rcx, r10
xor rcx, rax
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r8, r10
not r8
imul r8, qword [r13 + rcx*8]
xor r8, 0xffffffffd187a8f5
lea ecx, [r9 - 0x19]
and cl, 0x3f
rol r8, cl
movabs rax, 0x5460798200000000
imul r8, rax
mov rcx, r8
ror rcx, 0x1f
not rcx
movabs rax, 0x9b2de6b267b8ad88
imul rcx, rax
mov rax, r10
sub rax, r8
lea rdx, [rcx + rax*4]
mov cl, byte [rsp + 0x40]
and cl, 0x3f
ror rdx, cl
mov rax, rdi
mov rdi, rdx
imul rdi, rax
jmp 0x140243754
movabs rax, 0x10131e1469605c7c
imul r9, rax
movabs rax, 0xd79435e50d79435f
mul r9
shr rdx, 4
movzx eax, dl
imul edx, eax, 0x13
mov cl, r9b
sub cl, dl
movabs rdx, 0xeb48cd2a70fcc98
shl rdx, cl
mov rax, r11
mov r11, rdx
xor r11, rax
mov eax, dword [rsp + 0x4d8]
and eax, ebx
jge 0x14024360c
sub eax, r15d
or eax, 0xffffffc0
add eax, r15d
mov cl, al
rol r11, cl
movabs rcx, 0x99d95d759b408d96
add rcx, r9
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0xffffe28a64bf726a
mov rax, qword [r13 + rcx*8]
imul rax, rdx
xor r11, rax
movabs rax, 0xffffc7a7d8160808
or r11, rax
mov rdi, qword [0x14035f070]
movabs rbx, 0xf14b732d58f03367
imul rdi, rbx
sub rdi, r8
mov rax, qword [rsp + 0x40]
sub rax, r11
xor rdi, rax
movabs rax, 0xc7a7c6a6891e0805
xor rdi, rax
mov rax, r9
imul rax, r8
imul rax, rdi
mov rsi, r10
sub rsi, rax
movabs rax, 0x7895894464c441f
add rsi, rax
xor rsi, qword [rsp + 0x40]
movzx eax, r10b
imul ecx, eax, 0xe0
and cl, 0x3f
rol rsi, cl
not rsi
jmp 0x14024375e
mov rcx, r9
imul rcx, qword [0x14035f080]
and rcx, qword [0x14035f080]
mov rax, r11
mov r11, rcx
xor r11, rax
ror r11, 0x32
imul r11, r8
mov rsi, rdx
not rsi
imul rsi, r10
movabs rax, 0x7cd8a7de54ef59e4
imul rsi, rax
imul rax, qword [0x14035f060], 0xffffffffd8023b7e
mov rdx, qword [0x14035f068]
sub rax, rdx
mov qword [rsp + 0x4d8], rax
mov al, sil
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, ebx
jge 0x140243732
sub ecx, r15d
or ecx, 0xffffffc0
add ecx, r15d
mov rax, qword [rsp + 0x4d8]
ror rax, cl
movabs rcx, 0x99d95d759b408d96
add rax, rcx
add rax, qword [rsp + 0x38]
mov qword [rsp + 0x40], rax
movabs rbx, 0xf14b732d58f03367
movabs rax, 0xff055d7ba4a45329
xor rbx, rax
mov rax, r14
mul rbx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rbx, rax
xor r11, rsi
imul r11, qword [r13 + rbx*8]
not r8
imul r8, r9
imul r8, qword [rsp + 0x40]
imul r8, rdi
movabs rcx, 0xf5ed7e87a31719f5
xor rcx, r10
not rcx
xor rcx, r8
sub rcx, r11
call fcn.1401c6af4
mov qword [0x14036d9a8], rax
mov ebx, r12d
mov dword [rsp + 0x40], 0x5541cd8e
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
movups xmm0, xmmword [rax + 0x58]
movd ecx, xmm0
sub cx, 8
test ebx, ebx
je 0x140243831
psrldq xmm0, 8
movq r8, xmm0
movzx ecx, cx
shr rcx, 1
lea r10, [r8 + rcx*2]
mov r9d, 0x96a3e198
jmp 0x140243823
movsx edx, byte [r8]
mov ecx, edx
imul ecx, edx
add ecx, 0x31
xor ecx, 0x4764996c
xor edx, r9d
mov r9d, ecx
imul r9d, edx
add r8, 2
cmp r8, r10
jne 0x140243803
cmp r9d, ebx
jne 0x1402438e7
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov rcx, qword [rcx + r10 + 0x88]
mov r11d, ecx
add r11, r10
shr rcx, 0x20
cmp r11, r10
je 0x1402438e7
mov edi, dword [r11 + 0x18]
test edi, edi
je 0x1402438e7
mov r9d, dword [r11 + 0x20]
mov r8d, dword [rsp + 0x40]
dec edi
mov edx, edi
mov qword [rsp + 0x38], rdx
lea rdx, [r9 + rdi*4]
mov r9d, dword [rdx + r10]
add r9, r10
mov edx, 0x96a3e198
mov sil, byte [r9]
mov byte [rsp + 0x4d8], sil
add r9, r15
test sil, sil
mov esi, 0x4764996c
je 0x1402438da
mov r10d, edx
mov dl, byte [rsp + 0x4d8]
movsx r8d, dl
mov edx, r8d
imul edx, r8d
add edx, 0x31
xor edx, esi
xor r8d, r10d
mov r10d, edx
imul r10d, r8d
mov dl, byte [r9]
add r9, r15
test dl, dl
jne 0x1402438a4
mov dword [rsp + 0x30], r10d
mov r10, qword [rax + 0x30]
mov edx, dword [rsp + 0x30]
mov r8d, dword [rsp + 0x40]
cmp edx, r8d
je 0x1402438ef
test edi, edi
mov r9d, dword [r11 + 0x20]
jne 0x140243869
mov rax, qword [rax]
jmp 0x1402437d7
mov edx, dword [r11 + 0x1c]
add rdx, r10
mov eax, dword [r11 + 0x24]
add rax, r10
mov r8, qword [rsp + 0x38]
movzx eax, word [rax + r8*2]
mov r9d, dword [rdx + rax*4]
add r9, r10
cmp r9, r11
jbe 0x14024398e
lea rax, [rcx + r11]
cmp r9, rax
jae 0x14024398e
mov ebx, 0x96a3e198
mov r10d, ebx
mov dword [rsp + 0x40], ebx
jmp 0x140243941
movsx ecx, al
mov eax, ecx
imul eax, ecx
add eax, 0x31
xor eax, esi
xor ecx, ebx
mov ebx, eax
imul ebx, ecx
add r9, r15
mov al, byte [r9]
cmp al, 0x2e
jne 0x14024392a
add r9, r15
mov al, byte [r9]
test al, al
je 0x140243978
movsx ecx, al
mov eax, ecx
imul eax, ecx
add eax, 0x31
xor eax, esi
xor ecx, r10d
mov r10d, eax
imul r10d, ecx
add r9, r15
mov al, byte [r9]
test al, al
jne 0x140243952
mov dword [rsp + 0x40], r10d
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
jmp 0x1402438e7
mov qword [rsp + 0x1b8], r12
movabs rax, 0x5fb49481a05278c3
mov qword [rsp + 0x1b8], rax
movabs rcx, 0xcc5ad496566263a
add rcx, qword [rsp + 0x1b8]
movabs rax, 0x4b8b4fedad9cf76a
xor rcx, rax
sub rcx, qword [0x14035f050]
sub rcx, qword [0x14035f058]
movabs rax, 0x4ed45970ec6a3e8f
add rcx, rax
movabs rax, 0x707459ac69edade
xor rcx, rax
sub rcx, qword [0x14035f048]
movabs rax, 0x5829ab46875c6809
add rcx, rax
mov rdx, qword [0x14035f040]
add rcx, rdx
movabs rax, 0xa56e86584857f670
xor rcx, rax
movabs rax, 0x2b02fde7c66c3610
sub rcx, rax
movabs rax, 0x9fc4c32dd9efb6e4
xor rcx, rax
movabs rax, 0x95ab432b6923f933
add rax, rcx
add rdx, rax
not rdx
movabs rcx, 0xec3316b5259596ec
mov rax, qword [0x14035f038]
xor rax, rcx
sub rdx, rax
movabs rax, 0x13cce94ada6a6913
mov rcx, qword [0x14035f030]
xor rcx, rax
movabs r8, 0x1f4a91496302ee9a
add r8, rdx
add r8, rcx
movabs rax, 0xf0c85a899ab8ff84
xor r8, rax
mov qword [rsp + 0x1b8], r8
mov dword [rsp + 0xc8], r12d
mov dword [rsp + 0xc8], 0xbf23d7c5
mov eax, dword [rsp + 0xc8]
add eax, 0x689543ae
xor eax, 0xd902fa99
sub eax, dword [0x14035f058]
sub eax, dword [0x14035f050]
sub eax, 0x459f4ec9
xor eax, 0x2b6300f4
sub eax, dword [0x14035f048]
mov rcx, qword [0x14035f040]
add eax, 0x8e09f38e
add eax, ecx
xor eax, 0xecb638d7
add eax, 0x2de90cd1
xor eax, 0x7d280eb1
lea edx, [rcx + 0x300b258e]
add edx, eax
not edx
mov eax, dword [0x14035f038]
xor eax, 0xbda25362
sub edx, eax
mov eax, dword [0x14035f030]
xor eax, 0x425dac9d
add eax, 0x47cc28e1
add edx, eax
xor edx, 0xeb2cfb1a
mov dword [rsp + 0xc8], edx
mov rcx, qword [rsp + 0x4d0]
call r9
nop
mov dword [rsp + 0xc8], r12d
mov qword [rsp + 0x1b8], r12
mov qword [rsp + 0x1c0], r12
movabs rax, 0x473a7e4c79a98c25
mov qword [rsp + 0x1c0], rax
mov qword [rsp + 0x1c8], r12
movabs rax, 0xa91d82d40415dfde
mov qword [rsp + 0x1c8], rax
movabs rcx, 0xf33a52b6b26bc103
add rcx, qword [rsp + 0x1c8]
movabs rax, 0xe6553662530a4470
xor rcx, rax
sub rcx, qword [0x14035f050]
sub rcx, qword [0x14035f058]
movabs rax, 0xedf047f5b7cd242
sub rcx, rax
movabs rax, 0xf8f8cd97c46529a9
xor rcx, rax
sub rcx, qword [0x14035f048]
movabs rax, 0x47d654b8a94f4c6e
add rcx, rax
mov rdi, qword [0x14035f040]
add rcx, rdi
movabs rax, 0x5a9179a79c7d91e1
xor rcx, rax
movabs rax, 0x5f627dc6e05b3ab4
sub rcx, rax
movabs rax, 0xd63b3cd208028152
xor rcx, rax
movabs rdx, 0x3483ce44193985a7
add rdx, rcx
add rdx, rdi
not rdx
mov r10, qword [0x14035f038]
mov rax, r10
movabs rcx, 0x13cce94adac9ad58
xor rax, rcx
sub rdx, rax
mov r11, qword [0x14035f030]
mov rcx, r11
movabs rax, 0xec3316b5253652a7
xor rcx, rax
movabs rax, 0xe0b56d904c4d702d
add rdx, rax
add rdx, rcx
movabs rax, 0x42d495b99ba64468
xor rdx, rax
mov qword [rsp + 0x1c8], rdx
movabs rcx, 0xf33a52b61130d683
add rcx, qword [rsp + 0x1c0]
movabs rax, 0xfbd536625309a335
xor rcx, rax
sub rcx, qword [0x14035f050]
sub rcx, qword [0x14035f058]
movabs rax, 0x7120fb80a666de7e
add rcx, rax
movabs rax, 0xf8f8cd986824ffd3
xor rcx, rax
sub rcx, qword [0x14035f048]
movabs rax, 0x7d654b9842ac5be
add rcx, rax
add rcx, rdi
movabs rax, 0x5a9179a85464c55b
xor rcx, rax
movabs rax, 0x5f627dc6c548b11e
sub rcx, rax
movabs rax, 0x2a3b3cd258a50069
xor rcx, rax
movabs rax, 0xb483ce44b60bd3be
add rcx, rax
add rcx, rdi
not rcx
movabs rax, 0x13cce94ad844c1ae
xor r10, rax
sub rcx, r10
movabs rax, 0xec3316b527bb3e51
xor r11, rax
movabs rax, 0xe0b56d8de49f2303
add rcx, rax
add rcx, r11
movabs rax, 0x83e048d010c36c0e
xor rcx, rax
mov qword [rsp + 0x1c0], rcx
and rcx, rdx
mov rbx, qword [rsp + 0x60]
mov qword [rsp + 0x40], rbx
cmp rbx, rcx
setne al
mov qword [rsp + 0x1c8], r12
mov qword [rsp + 0x1c0], r12
test al, al
jne 0x140243e16
mov dword [rsp + 0xcc], r12d
mov dword [rsp + 0xcc], 0x88f38ab0
mov eax, dword [rsp + 0xcc]
add eax, 0x5327bb35
xor eax, 0x5089e52c
sub eax, dword [0x14035f058]
sub eax, dword [0x14035f050]
add eax, 0x25a0f9d0
xor eax, 0x25263f8f
sub eax, dword [0x14035f048]
mov rcx, qword [0x14035f040]
add eax, 0xeaa0224e
add eax, ecx
xor eax, 0x9272881
add eax, 0x4898f899
xor eax, 0x4ba77e59
lea edx, [rcx - 0xa1d50b5]
add edx, eax
not edx
mov eax, dword [0x14035f038]
xor eax, 0xd94c9d40
sub edx, eax
mov ecx, dword [0x14035f030]
xor ecx, 0x26b362bf
add ecx, 0xcdc248db
add ecx, edx
xor ecx, 0xe81bd2c0
mov dword [rsp + 0xcc], ecx
mov dword [rsp + 0xcc], r12d
jmp 0x1402440bd
mov edi, r12d
mov dword [rsp + 0x40], 0x2484679e
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
movups xmm0, xmmword [rax + 0x58]
movd ecx, xmm0
sub cx, 8
test edi, edi
je 0x140243e8e
psrldq xmm0, 8
movq r9, xmm0
movzx ecx, cx
shr rcx, 1
lea r11, [r9 + rcx*2]
mov r10d, 0xaf7f2b18
jmp 0x140243e80
movsx edx, byte [r9]
mov r8d, edx
imul r8d, edx
add r8d, 0x31
xor r8d, esi
mov ecx, r10d
xor ecx, edx
mov r10d, r8d
imul r10d, ecx
add r9, 2
cmp r9, r11
jne 0x140243e5e
cmp r10d, edi
jne 0x140243f5a
mov r11, qword [rax + 0x30]
movsxd rcx, dword [r11 + 0x3c]
mov rcx, qword [rcx + r11 + 0x88]
mov ebx, ecx
add rbx, r11
shr rcx, 0x20
cmp rbx, r11
je 0x140243f5a
mov r8d, dword [rbx + 0x18]
test r8d, r8d
je 0x140243f5a
mov r10d, dword [rbx + 0x20]
mov r9d, dword [rsp + 0x40]
dec r8d
mov dword [rsp + 0x30], r8d
mov edx, r8d
mov qword [rsp + 0x48], rdx
lea rdx, [r11 + r8*4]
mov r10d, dword [rdx + r10]
add r10, r11
mov edx, 0xaf7f2b18
mov r8b, byte [r10]
mov byte [rsp + 0x4d8], r8b
add r10, r15
test r8b, r8b
mov r8d, dword [rsp + 0x30]
je 0x140243f48
mov r11d, edx
mov dl, byte [rsp + 0x4d8]
movsx r8d, dl
mov r9d, r8d
imul r9d, r8d
add r9d, 0x31
xor r9d, esi
mov edx, r11d
xor edx, r8d
mov r11d, r9d
imul r11d, edx
mov dl, byte [r10]
add r10, r15
test dl, dl
jne 0x140243f08
mov dword [rsp + 0x38], r11d
mov r11, qword [rax + 0x30]
mov r8d, dword [rsp + 0x30]
mov edx, dword [rsp + 0x38]
mov r9d, dword [rsp + 0x40]
cmp edx, r9d
je 0x140243f62
test r8d, r8d
mov r10d, dword [rbx + 0x20]
jne 0x140243ec6
mov rax, qword [rax]
jmp 0x140243e32
mov edx, dword [rbx + 0x1c]
add rdx, r11
mov eax, dword [rbx + 0x24]
add rax, r11
mov r8, qword [rsp + 0x48]
movzx eax, word [rax + r8*2]
mov r10d, dword [rdx + rax*4]
add r10, r11
cmp r10, rbx
jbe 0x140243fff
lea rax, [rcx + rbx]
cmp r10, rax
jae 0x140243fff
mov edi, 0xaf7f2b18
mov r11d, edi
mov dword [rsp + 0x40], edi
jmp 0x140243fb2
movsx ecx, al
mov eax, ecx
imul eax, ecx
add eax, 0x31
xor eax, esi
xor ecx, edi
mov edi, eax
imul edi, ecx
add r10, r15
mov al, byte [r10]
cmp al, 0x2e
jne 0x140243f9b
add r10, r15
mov al, byte [r10]
test al, al
je 0x140243fe9
movsx ecx, al
mov eax, ecx
imul eax, ecx
add eax, 0x31
xor eax, esi
xor ecx, r11d
mov r11d, eax
imul r11d, ecx
add r10, r15
mov al, byte [r10]
test al, al
jne 0x140243fc3
mov dword [rsp + 0x40], r11d
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
jmp 0x140243f5a
mov dword [rsp + 0xd0], r12d
mov dword [rsp + 0xd0], 0x7e26795
mov eax, dword [rsp + 0xd0]
add eax, 0x52632435
xor eax, 0xb989e467
sub eax, dword [0x14035f058]
sub eax, dword [0x14035f050]
add eax, 0x25a34795
xor eax, 0x25ede8eb
sub eax, dword [0x14035f048]
mov rcx, qword [0x14035f040]
add eax, 0x6baafd46
add eax, ecx
xor eax, 0xa0764bd
add eax, 0x480ebd75
xor eax, 0x409cffe
lea edx, [rcx - 0x95e19d6]
add edx, eax
not edx
mov eax, dword [0x14035f038]
xor eax, 0xd9498ae4
sub edx, eax
mov ecx, dword [0x14035f030]
xor ecx, 0x26b6751b
add ecx, 0xcaab227f
add ecx, edx
xor ecx, 0x1d53da0c
mov dword [rsp + 0xd0], ecx
movsxd rdx, ecx
mov rbx, qword [rsp + 0x60]
mov qword [rsp + 0x40], rbx
mov r9, rbx
mov r8, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x4d0]
call r10
nop
mov dword [rsp + 0xd0], r12d
mov dword [rsp + 0xd4], r12d
mov dword [rsp + 0xd4], 0x131cbf71
mov eax, dword [rsp + 0xd4]
add eax, 0x663e14ae
xor eax, 0xaa02f842
sub eax, dword [0x14035f058]
sub eax, dword [0x14035f050]
sub eax, 0x4598493c
xor eax, 0x2dc38cb0
sub eax, dword [0x14035f048]
mov rcx, qword [0x14035f040]
add eax, 0x11374bda
add eax, ecx
xor eax, 0xef61aa73
add eax, 0x3214a5c5
xor eax, 0xf653b8ea
lea edx, [rcx + 0x3251f245]
add edx, eax
not edx
mov eax, dword [0x14035f038]
xor eax, 0xbd98f6a6
sub edx, eax
mov ecx, dword [0x14035f030]
xor ecx, 0x42670959
add ecx, 0x3e6848a5
add ecx, edx
xor ecx, 0x53a395b6
mov dword [rsp + 0xd4], ecx
mov rax, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x4d0]
mov byte [rax + rdx], cl
mov dword [rsp + 0xd4], r12d
mov qword [rsp + 0x1d0], r12
movabs rax, 0x473a7e4c79a98c25
mov qword [rsp + 0x1d0], rax
mov qword [rsp + 0x1d8], r12
movabs rax, 0xa91d82d40415dfde
mov qword [rsp + 0x1d8], rax
movabs rcx, 0xf33a52b6b26bc103
add rcx, qword [rsp + 0x1d8]
movabs rax, 0xe6553662530a4470
xor rcx, rax
sub rcx, qword [0x14035f050]
sub rcx, qword [0x14035f058]
movabs rax, 0xedf047f5b7cd242
sub rcx, rax
movabs rax, 0xf8f8cd97c46529a9
xor rcx, rax
sub rcx, qword [0x14035f048]
movabs rax, 0x47d654b8a94f4c6e
add rcx, rax
mov rsi, qword [0x14035f040]
add rcx, rsi
movabs rax, 0x5a9179a79c7d91e1
xor rcx, rax
movabs rax, 0x5f627dc6e05b3ab4
sub rcx, rax
movabs rax, 0xd63b3cd208028152
xor rcx, rax
movabs rdx, 0x3483ce44193985a7
add rdx, rcx
add rdx, rsi
not rdx
mov r10, qword [0x14035f038]
mov rax, r10
movabs rcx, 0x13cce94adac9ad58
xor rax, rcx
sub rdx, rax
mov r11, qword [0x14035f030]
mov rcx, r11
movabs rax, 0xec3316b5253652a7
xor rcx, rax
movabs rax, 0xe0b56d904c4d702d
add rdx, rax
add rdx, rcx
movabs rax, 0x42d495b99ba64468
xor rdx, rax
mov qword [rsp + 0x1d8], rdx
movabs rcx, 0xf33a52b61130d683
add rcx, qword [rsp + 0x1d0]
movabs rax, 0xfbd536625309a335
xor rcx, rax
sub rcx, qword [0x14035f050]
sub rcx, qword [0x14035f058]
movabs rax, 0x7120fb80a666de7e
add rcx, rax
movabs rax, 0xf8f8cd986824ffd3
xor rcx, rax
sub rcx, qword [0x14035f048]
movabs rax, 0x7d654b9842ac5be
add rcx, rax
add rcx, rsi
movabs rax, 0x5a9179a85464c55b
xor rcx, rax
movabs rax, 0x5f627dc6c548b11e
sub rcx, rax
movabs rax, 0x2a3b3cd258a50069
xor rcx, rax
movabs rax, 0xb483ce44b60bd3be
add rcx, rax
add rcx, rsi
not rcx
movabs rax, 0x13cce94ad844c1ae
xor r10, rax
sub rcx, r10
movabs rax, 0xec3316b527bb3e51
xor r11, rax
movabs rax, 0xe0b56d8de49f2303
add rcx, rax
add rcx, r11
movabs rax, 0x83e048d010c36c0e
xor rcx, rax
mov qword [rsp + 0x1d0], rcx
and rcx, rdx
cmp rbx, rcx
setne al
mov qword [rsp + 0x1d8], r12
mov qword [rsp + 0x1d0], r12
test al, al
je 0x140244625
mov edi, r12d
mov dword [rsp + 0x40], 0xb55a282
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov r14d, 8
movups xmm0, xmmword [rax + 0x58]
movd ecx, xmm0
sub cx, r14w
test edi, edi
je 0x14024440a
psrldq xmm0, 8
movq r8, xmm0
movzx ecx, cx
shr rcx, 1
lea r10, [r8 + rcx*2]
mov r9d, 0x5ce8cca6
jmp 0x1402443fc
movsx edx, byte [r8]
mov ecx, edx
imul ecx, edx
add ecx, 0x31
xor ecx, 0x4764996c
xor edx, r9d
mov r9d, ecx
imul r9d, edx
add r8, 2
cmp r8, r10
jne 0x1402443dc
cmp r9d, edi
jne 0x1402444c0
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov rcx, qword [rcx + r10 + 0x88]
mov ebx, ecx
add rbx, r10
shr rcx, 0x20
cmp rbx, r10
je 0x1402444c0
mov esi, dword [rbx + 0x18]
test esi, esi
je 0x1402444c0
mov r9d, dword [rbx + 0x20]
mov r8d, dword [rsp + 0x40]
dec esi
mov edx, esi
mov qword [rsp + 0x38], rdx
lea rdx, [r9 + rsi*4]
mov r11d, dword [rdx + r10]
add r11, r10
mov edx, 0x5ce8cca6
mov r9b, byte [r11]
mov byte [rsp + 0x4d8], r9b
add r11, r15
test r9b, r9b
mov r9d, 0x4764996c
je 0x1402444b3
mov r10d, edx
mov dl, byte [rsp + 0x4d8]
movsx r8d, dl
mov edx, r8d
imul edx, r8d
add edx, 0x31
xor edx, r9d
xor r8d, r10d
mov r10d, edx
imul r10d, r8d
mov dl, byte [r11]
add r11, r15
test dl, dl
jne 0x14024447c
mov dword [rsp + 0x30], r10d
mov r10, qword [rax + 0x30]
mov edx, dword [rsp + 0x30]
mov r8d, dword [rsp + 0x40]
cmp edx, r8d
je 0x1402444c8
test esi, esi
mov r9d, dword [rbx + 0x20]
jne 0x140244440
mov rax, qword [rax]
jmp 0x1402443b0
mov edx, dword [rbx + 0x1c]
add rdx, r10
mov eax, dword [rbx + 0x24]
add rax, r10
mov r8, qword [rsp + 0x38]
movzx eax, word [rax + r8*2]
mov r8d, dword [rdx + rax*4]
add r8, r10
cmp r8, rbx
jbe 0x140244569
lea rax, [rcx + rbx]
cmp r8, rax
jae 0x140244569
mov eax, 0x5ce8cca6
mov edi, eax
mov r10d, eax
mov dword [rsp + 0x40], eax
jmp 0x14024451b
movsx ecx, al
mov eax, ecx
imul eax, ecx
add eax, 0x31
xor eax, r9d
xor ecx, edi
mov edi, eax
imul edi, ecx
add r8, r15
mov al, byte [r8]
cmp al, 0x2e
jne 0x140244503
add r8, r15
mov al, byte [r8]
test al, al
je 0x140244553
movsx ecx, al
mov eax, ecx
imul eax, ecx
add eax, 0x31
xor eax, r9d
xor ecx, r10d
mov r10d, eax
imul r10d, ecx
add r8, r15
mov al, byte [r8]
test al, al
jne 0x14024452c
mov dword [rsp + 0x40], r10d
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
jmp 0x1402444c0
mov rcx, qword [rsp + 0x60]
call r8
mov dword [rsp + 0xd8], r12d
mov dword [rsp + 0xd8], 0xa4a7ad6b
mov eax, dword [rsp + 0xd8]
add eax, 0x3896d5b4
xor eax, 0x6b08ca9b
sub eax, dword [0x14035f058]
sub eax, dword [0x14035f050]
sub eax, 0x570f537f
xor eax, 0x442168a6
sub eax, dword [0x14035f048]
mov rcx, qword [0x14035f040]
add eax, 0xaa2fd1d7
add eax, ecx
xor eax, 0x4b746e48
add eax, 0xb2a368a
xor eax, 0x4f8c5a1
lea edx, [rcx - 0x7746617a]
add edx, eax
not edx
mov eax, dword [0x14035f038]
xor eax, 0xd4e259aa
sub edx, eax
mov ecx, dword [0x14035f030]
xor ecx, 0x2b1da655
add ecx, 0x7f1277c0
add ecx, edx
xor ecx, 0x2b8e0172
mov dword [rsp + 0xd8], ecx
movsxd rbx, ecx
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x60], rbx
mov dword [rsp + 0xd8], r12d
movabs r14, 0xaaaaaaaaaaaaaaab
movabs rax, 0x341ad163d1f6c5aa
mov qword [rsp + 0x4d8], rax
movabs rsi, 0x13dbc77816216ad7
mov qword [rsp + 0x30], r12
movabs rax, 0xe64946e7ef83ddba
movabs r11, 0xa73f4c244a346e6f
mov rcx, qword [0x14035f070]
imul rcx, rax
not rcx
shr rcx, 8
movabs rdx, 0x58c0b3db93832e00
mov rax, qword [0x14035f060]
xor rax, rdx
shr rax, 8
and rcx, rax
mov qword [rsp + 0x38], rcx
movabs rax, 0xd216b512d5efa08
mov r9, qword [0x14035f080]
imul r9, rax
add r9, rsi
movabs rax, 0xb1227f34ffffffff
xor r9, rax
shr r9, 0x1f
not r9
movabs r8, 0xec243887e9de9529
lea rcx, [r9 + r8]
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, r9b
movzx ecx, byte [r13 + rcx*8]
imul ecx, eax
movzx ecx, cl
xor ecx, 0xf7
mov edi, 0x8000003f
and ecx, edi
jge 0x140244702
sub ecx, r15d
or ecx, 0xffffffc0
add ecx, r15d
mov rax, r9
ror rax, cl
not rax
movabs rdx, 0x6a4426300a44982c
mov rcx, rax
imul rcx, rdx
mov qword [rsp + 0x48], rcx
add r8, rcx
mov r10, r9
imul r10, qword [rsp + 0x38]
sub r10, r8
movabs rdx, 0x341ad163d1f6c5aa
xor r10, rdx
mov cl, r8b
xor cl, 0xf8
and cl, 0xf
rol r10, cl
movabs rcx, 0x1834b7246c4a04f4
imul rax, rcx
movabs rcx, 0x6b322e49ac04c091
sub rax, rcx
xor r10, rax
mov rax, r8
sub rax, qword [0x14035f078]
xor r10, rax
xor r10, r11
mov rax, r10
and eax, 3
je 0x140244a55
sub rax, 1
je 0x14024495b
sub rax, 1
je 0x140244890
cmp rax, 1
jne 0x140244ae7
mov rcx, r8
imul rcx, r9
movabs rax, 0xe9f9e12a0a7445df
add rax, r10
xor rcx, rax
ror rcx, 0x38
shr rcx, 0xc
not rcx
mov qword [rsp + 0x4d8], rcx
movabs rdx, 0x83570e65b4e4
add rdx, qword [0x14035f088]
movabs rax, 0xeca6bdffaca0014f
xor rdx, rax
movzx eax, cl
movzx ecx, r10b
imul ecx, eax
and cl, 0x3f
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xf7ca7db95685581f
sub rax, r9
mov r9, rdx
xor r9, rax
mov rcx, r9
imul rcx, rsi
mov eax, 0x875e8af5
add rcx, rax
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov cl, byte [r13 + rcx*8]
and cl, 0xf
movabs rsi, 0x765210082fb17c70
sub rsi, qword [rsp + 0x4d8]
shr rsi, cl
movabs rax, 0xec2c5d105fb98f63
mov rcx, qword [rsp + 0x48]
add rcx, rax
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, r10
imul rax, qword [r13 + rcx*8]
imul rax, r10
sub rax, qword [rsp + 0x38]
xor rsi, rax
jmp 0x140244ae7
movabs rcx, 0xaaaaaa1a874777cb
mov r9, r10
xor r9, rcx
movabs rcx, 0x1206ed454aab87
imul r9, rcx
movabs rdx, 0xffff7e8aa1574517
mov rcx, qword [rsp + 0x48]
imul rcx, rdx
movabs rdx, 0x5c3210cb026888ee
add r9, rdx
add r9, rcx
movabs rax, 0x277cd7be5597a0ab
mov rcx, r9
xor rcx, rax
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r8, r9
not r8
imul r8, qword [r13 + rcx*8]
xor r8, 0xffffffffd212a11b
lea ecx, [r10 + 9]
and cl, 0x3f
rol r8, cl
movabs rax, 0x4402542a0000000
imul r8, rax
mov rcx, r8
ror rcx, 0x3c
not rcx
movabs rax, 0x9b2de6b269ec8a30
imul rcx, rax
mov rax, r9
sub rax, r8
lea rdx, [rcx + rax*4]
mov cl, byte [rsp + 0x38]
and cl, 0x3f
ror rdx, cl
mov rax, rsi
mov rsi, rdx
imul rsi, rax
jmp 0x140244ae7
movabs rax, 0x35b7ee17414c3eed
imul r10, rax
movabs rax, 0xd79435e50d79435f
mul r10
shr rdx, 4
movzx eax, dl
imul edx, eax, 0x13
mov cl, r10b
sub cl, dl
movabs rdx, 0xcbe52e9c2e093a55
shl rdx, cl
mov rax, r11
mov r11, rdx
xor r11, rax
mov cl, r8b
and cl, 0x3f
rol r11, cl
movabs rcx, 0xec243887e9de9529
add rcx, r10
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0x77816216ad7
mov rax, qword [r13 + rcx*8]
imul rax, rdx
xor r11, rax
movabs rax, 0xffffc7a7db8301e6
or r11, rax
mov rsi, qword [0x14035f070]
movabs rax, 0x341ad163d1f6c5aa
imul rsi, rax
sub rsi, r8
mov rax, qword [rsp + 0x38]
sub rax, r11
xor rsi, rax
movabs rax, 0xc7a7c6a68a8b01eb
xor rsi, rax
mov rax, r10
imul rax, r8
imul rax, rsi
mov rdx, r9
sub rdx, rax
movabs rax, 0x789589445d94df1
add rdx, rax
xor rdx, qword [rsp + 0x38]
movzx eax, r9b
imul ecx, eax, 0xe
and cl, 0x3f
rol rdx, cl
not rdx
mov qword [rsp + 0x30], rdx
jmp 0x140244ae7
mov rcx, qword [0x14035f080]
imul rcx, r10
and rcx, qword [0x14035f088]
mov rax, r11
mov r11, rcx
xor r11, rax
ror r11, 0x2f
imul r11, r8
mov rax, qword [rsp + 0x38]
not rax
imul rax, r9
movabs rcx, 0x7cd8a7de577a500a
imul rax, rcx
mov qword [rsp + 0x30], rax
imul rcx, qword [0x14035f060], 0xffffffffd9b74094
mov rdx, qword [0x14035f068]
sub rcx, rdx
mov qword [rsp + 0x38], rcx
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, edi
jge 0x140244ac8
sub ecx, r15d
or ecx, 0xffffffc0
add ecx, r15d
mov rax, qword [rsp + 0x38]
ror rax, cl
movabs rcx, 0xec243887e9de9529
add rax, rcx
add rax, qword [rsp + 0x48]
mov qword [rsp + 0x38], rax
movabs rax, 0xff055d7ba7315ac7
mov rcx, qword [rsp + 0x4d8]
xor rcx, rax
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
xor r11, qword [rsp + 0x30]
imul r11, qword [r13 + rcx*8]
not r8
imul r8, r10
imul r8, qword [rsp + 0x38]
imul r8, rsi
movabs rcx, 0xf5ed7e87a082101b
xor rcx, r9
not rcx
xor rcx, r8
sub rcx, r11
call fcn.1401c6a40
mov qword [0x14036d9a0], rax
mov dword [rsp + 0xdc], r12d
mov dword [rsp + 0xdc], 0x405ab0c8
mov eax, dword [rsp + 0xdc]
add eax, 0x749f52b8
xor eax, 0xe80d06a3
sub eax, dword [0x14035f058]
sub eax, dword [0x14035f050]
sub eax, 0x63c36cf6
xor eax, 0xf728c9ae
sub eax, dword [0x14035f048]
mov rcx, qword [0x14035f040]
add eax, 0x6ab24c24
add eax, ecx
xor eax, 0x76fabfb0
sub eax, 0x2db7fc3
xor eax, 0xfed2a6db
mov edx, dword [0x14035f030]
xor edx, 0x1a2d8461
sub edx, eax
mov eax, dword [0x14035f038]
xor eax, 0xe5d27b9e
sub edx, eax
sub edx, ecx
sub edx, 0xa2e8f29
xor edx, 0x63444ede
mov dword [rsp + 0xdc], edx
movsxd rax, edx
mov qword [rsp + 0x30], rax
mov dword [rsp + 0xdc], r12d
cmp rax, qword [rsp + 0x50]
jae 0x14024542f
movabs rcx, 0x1ae7dd924893442d
movabs rdx, 0xe262927f471e6d8e
movabs rax, 0x13d8a57bd80df0cc
movabs r8, 0x1d9d6d80b8e19272
mov rbx, qword [rsp + 0x50]
mov qword [rsp + 0x50], rcx
mov rsi, rdx
mov qword [rsp + 0x38], r12
mov r10, rax
movabs rax, 0xe09dcd917739a3e8
mov rcx, qword [0x14035f070]
imul rcx, rax
not rcx
movabs rdx, 0x13d8a57bc57680b4
mov rax, qword [0x14035f060]
xor rax, rdx
and rcx, rax
ror rcx, 0x21
shr rcx, 8
mov qword [rsp + 0x48], rcx
movabs rax, 0x7915736eb21c2070
mov r9, qword [0x14035f068]
imul r9, rax
sub r9, r8
movabs rax, 0x235bff1c00000000
xor r9, rax
shr r9, 0x1f
not r9
lea rcx, [r9 + r8]
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, r9b
movzx ecx, byte [r13 + rcx*8]
imul ecx, eax
movzx ecx, cl
xor ecx, 0xf
and ecx, edi
jge 0x140244cd3
sub ecx, r15d
or ecx, 0xffffffc0
add ecx, r15d
mov rax, r9
ror rax, cl
not rax
mov qword [rsp + 0x58], rax
movabs rcx, 0x9fee238d2de61fa0
imul rax, rcx
mov qword [rsp + 0x68], rax
lea r11, [rax + r8]
mov r8, r9
mov rdx, qword [rsp + 0x48]
imul r8, rdx
sub r8, r11
movabs rax, 0x1ae7dd924893442d
xor r8, rax
movzx ecx, r11b
mov dword [rsp + 0x4d8], ecx
and ecx, 0xf
and ecx, edi
jge 0x140244d2f
sub ecx, r15d
or ecx, 0xffffffc0
add ecx, r15d
rol r8, cl
mov rax, r11
sub rax, qword [0x14035f078]
xor r8, rax
movabs rcx, 0xcbf3f8f785dcaac0
mov rax, qword [rsp + 0x58]
imul rax, rcx
movabs rcx, 0xe5f70b95fd5c53c
add rax, rcx
xor r8, rax
movabs rcx, 0x13d8a57bd80df0cc
xor r8, rcx
mov rax, r8
and eax, 2
je 0x140245075
sub rax, 1
je 0x140244f64
sub rax, 1
je 0x140244e91
cmp rax, 1
jne 0x1402450f6
mov rdi, r11
imul rdi, r9
movabs rax, 0x535e60d1410dba0e
add rax, r8
xor rdi, rax
ror rdi, 0x18
shr rdi, 0xc
not rdi
mov qword [rsp + 0x50], rdi
movabs rcx, 0x83574136b71c
mov rdx, qword [0x14035f088]
add rdx, rcx
movabs rax, 0x1d1fe8f8b2cc05ee
xor rdx, rax
movzx eax, r8b
movzx ecx, dil
imul ecx, eax
and cl, 0x3f
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xf7ca7db919d65be7
sub rax, r9
mov r9, rdx
xor r9, rax
mov rcx, r9
movabs rax, 0xe262927f471e6d8e
imul rcx, rax
mov eax, 0xc80d890d
add rcx, rax
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov cl, byte [r13 + rcx*8]
and cl, 0xf
movabs rsi, 0x84794f48ff53e179
sub rsi, rdi
shr rsi, cl
movabs rax, 0x1da59208f36b8c34
mov rcx, qword [rsp + 0x68]
add rcx, rax
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, r8
imul rax, qword [r13 + rcx*8]
imul rax, r8
mov rdi, qword [rsp + 0x48]
sub rax, rdi
xor rsi, rax
jmp 0x1402450fb
movabs rcx, 0xaaaaaa1ac8147433
mov r9, r8
xor r9, rcx
movabs rcx, 0x1206ed0a19a87f
imul r9, rcx
movabs rdx, 0xffff7e8aee0446ef
mov rcx, qword [rsp + 0x68]
imul rcx, rdx
movabs rdx, 0x44dfb991b4f378da
add r9, rdx
add r9, rcx
movabs rax, 0x277cd7be1ac4a353
mov rcx, r9
xor rcx, rax
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r11, r9
not r11
imul r11, qword [r13 + rcx*8]
xor r11, 0xffffffff9d41a2e3
lea ecx, [r8 - 0xf]
and cl, 0x3f
rol r11, cl
movabs rax, 0x3468154240000000
imul r11, rax
mov rcx, r11
ror rcx, 3
not rcx
movabs rax, 0x9b2de6b354a085d0
imul rcx, rax
mov rax, r9
sub rax, r11
lea rsi, [rcx + rax*4]
mov rdi, qword [rsp + 0x48]
mov cl, dil
and cl, 0x3f
ror rsi, cl
movabs rax, 0xe262927f471e6d8e
imul rsi, rax
jmp 0x1402450fb
movabs rax, 0xa80cf00a34870f44
imul r8, rax
movabs rax, 0xd79435e50d79435f
mul r8
shr rdx, 4
movzx eax, dl
imul edx, eax, 0x13
mov cl, r8b
sub cl, dl
movabs r10, 0xe518226db76cbbd2
shl r10, cl
movabs rax, 0x13d8a57bd80df0cc
xor r10, rax
mov eax, dword [rsp + 0x4d8]
and eax, edi
jge 0x140244fbc
sub eax, r15d
or eax, 0xffffffc0
add eax, r15d
mov cl, al
rol r10, cl
movabs rcx, 0x1d9d6d80b8e19272
add rcx, r8
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0x127f471e6d8e
mov rax, qword [r13 + rcx*8]
imul rax, rdx
xor r10, rax
movabs rax, 0xffffc7a794d0021e
or r10, rax
mov rsi, qword [0x14035f070]
movabs rax, 0x1ae7dd924893442d
imul rsi, rax
sub rsi, r11
mov rax, qword [rsp + 0x48]
sub rax, r10
xor rsi, rax
movabs rax, 0xc7a7c6a6c5d80213
xor rsi, rax
mov rax, r8
imul rax, r11
imul rax, rsi
mov rdx, r9
sub rdx, rax
movabs rax, 0x78958940a8a4e09
add rdx, rax
xor rdx, qword [rsp + 0x48]
movzx eax, r9b
imul ecx, eax, 0xf6
and cl, 0x3f
rol rdx, cl
not rdx
mov qword [rsp + 0x38], rdx
jmp 0x1402450f6
mov r10, r8
imul r10, qword [0x14035f080]
and r10, qword [0x14035f070]
xor r10, rcx
ror r10, 0xc
imul r10, r11
mov rax, rdx
not rax
imul rax, r9
movabs rcx, 0x7cd8a7de182953f2
imul rax, rcx
mov qword [rsp + 0x38], rax
imul rdx, qword [0x14035f060], 0x1d7b7078
sub rdx, qword [0x14035f068]
not al
movzx ecx, al
movzx eax, byte [0x14035f068]
xor ecx, eax
and ecx, edi
jge 0x1402450dc
sub ecx, r15d
or ecx, 0xffffffc0
add ecx, r15d
ror rdx, cl
movabs rax, 0x1d9d6d80b8e19272
add rax, rdx
add rax, qword [rsp + 0x68]
mov qword [rsp + 0x48], rax
mov rdi, qword [rsp + 0x48]
movabs rax, 0xff055d7be862593f
mov rcx, qword [rsp + 0x50]
xor rcx, rax
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
xor r10, qword [rsp + 0x38]
imul r10, qword [r13 + rcx*8]
not r11
imul r11, r8
imul r11, rdi
imul r11, rsi
movabs rcx, 0xf5ed7e87efd113e3
xor rcx, r9
not rcx
xor rcx, r11
sub rcx, r10
call fcn.1401c7c40
mov qword [0x14036d9c8], rax
mov dword [rsp + 0xe0], r12d
mov dword [rsp + 0xe0], 0xa6b5b855
mov dword [rsp + 0xe4], r12d
mov dword [rsp + 0xe4], 0xb72dc18c
mov eax, dword [rsp + 0xe4]
add eax, 0x4ee7dfad
xor eax, 0x7501e0ec
mov r11, qword [0x14035f058]
sub eax, r11d
mov r9, qword [0x14035f050]
sub eax, r9d
sub eax, 0x4252469d
xor eax, 0x49771a85
mov r8, qword [0x14035f048]
sub eax, r8d
mov rsi, qword [0x14035f040]
add eax, 0xc64d0cd
add eax, esi
xor eax, 0x2dfffee8
add eax, 0x679e0141
xor eax, 0x2a078e1c
lea ecx, [rsi + 0x4204cbd3]
add ecx, eax
not ecx
mov r10, qword [0x14035f038]
mov eax, r10d
xor eax, 0xb93b9dd2
sub ecx, eax
mov rdx, qword [0x14035f030]
mov edi, edx
xor edi, 0x46c4622d
add edi, 0xdc6fdb4d
add edi, ecx
xor edi, 0xa2ad21ea
mov dword [rsp + 0xe4], edi
mov eax, dword [rsp + 0xe0]
add eax, 0x6b0c
xor eax, 0x60d535
sub eax, r11d
sub eax, r9d
sub eax, 0x5f2f21d2
xor eax, 0x1c8d6ae0
sub eax, r8d
add eax, 0xe42e59fa
add eax, esi
xor eax, 0xcaf33dd7
add eax, 0x61138012
xor eax, 0xf683a624
lea ecx, [rsi + 0x299a3fee]
add ecx, eax
not ecx
xor r10d, 0x350cc218
sub ecx, r10d
xor edx, 0xcaf33de7
lea eax, [rdx + 0x3ce5758f]
add eax, ecx
xor eax, 0x158adba8
mov dword [rsp + 0xe0], eax
movsxd r8, eax
mov r11, qword [rsp + 0x30]
xor r8, r11
add rdi, r11
imul r8, rdi
mov dword [rsp + 0xfc], r12d
mov dword [rsp + 0xfc], 0xecbd5648
mov eax, dword [rsp + 0xfc]
add eax, 0x43e1a6ae
xor eax, 0x3c02d5e6
sub eax, dword [0x14035f058]
sub eax, dword [0x14035f050]
sub eax, 0x453133f2
xor eax, 0x50a96c68
sub eax, dword [0x14035f048]
mov rcx, qword [0x14035f040]
add eax, 0x3fdbc32b
add eax, ecx
xor eax, 0x169317eb
add eax, 0x29e8a82d
xor eax, 0x778302ce
lea edx, [rcx + 0x53bdd943]
add edx, eax
not edx
mov eax, dword [0x14035f038]
xor eax, 0xbd0f84ee
sub edx, eax
mov ecx, dword [0x14035f030]
xor ecx, 0x42f07b11
add ecx, 0xb46b266d
add ecx, edx
xor ecx, 0xfe062dce
mov dword [rsp + 0xfc], ecx
movsxd rax, ecx
mov rcx, r11
sub rcx, rax
mov rax, qword [rsp + 0x4d0]
xor byte [rcx + rax], r8b
mov dword [rsp + 0xfc], r12d
mov dword [rsp + 0xe4], r12d
mov dword [rsp + 0xe0], r12d
mov dword [rsp + 0xec], r12d
mov dword [rsp + 0xec], 0x70121282
mov eax, dword [rsp + 0xec]
add eax, 0x51cff03e
xor eax, 0x8592e3d4
sub eax, dword [0x14035f058]
sub eax, dword [0x14035f050]
add eax, 0xaa50131
xor eax, 0x28369b2
sub eax, dword [0x14035f048]
mov rcx, qword [0x14035f040]
add eax, 0x34f2ce50
add eax, ecx
xor eax, 0xc6af4c03
add eax, 0x6c2c63eb
xor eax, 0x240b6e93
mov edx, dword [0x14035f030]
xor edx, 0x2b8c1eb
sub edx, eax
mov eax, dword [0x14035f038]
xor eax, 0xfd473e14
sub edx, eax
sub edx, ecx
sub edx, 0xa131563
xor edx, 0xfc93105c
mov dword [rsp + 0xec], edx
movsxd rax, edx
add r11, rax
mov qword [rsp + 0x30], r11
mov dword [rsp + 0xec], r12d
cmp r11, rbx
mov edi, 0x8000003f
movabs rax, 0x13d8a57bd80df0cc
movabs rcx, 0x1ae7dd924893442d
movabs rdx, 0xe262927f471e6d8e
movabs r8, 0x1d9d6d80b8e19272
jb 0x140244c23
mov rbx, qword [rsp + 0x40]
mov dword [rsp + 0xf0], r12d
mov dword [rsp + 0xf0], 0xf4321bb3
mov eax, dword [rsp + 0xf0]
add eax, 0x99941a3e
xor eax, 0xaf932b98
sub eax, dword [0x14035f058]
sub eax, dword [0x14035f050]
add eax, 0x9cdb4b3
xor eax, 0xb9a02f0a
sub eax, dword [0x14035f048]
mov rcx, qword [0x14035f040]
add eax, 0xd388074d
add eax, ecx
xor eax, 0x74d38c1b
add eax, 0x7e1c9ec3
xor eax, 0xb0271b72
mov edx, dword [0x14035f030]
xor edx, 0x199b143
sub edx, eax
mov eax, dword [0x14035f038]
xor eax, 0xfe664ebc
sub edx, eax
sub edx, ecx
add edx, 0x5c287020
xor edx, 0x1b929734
mov dword [rsp + 0xf0], edx
movsxd rax, edx
mov qword [rsp + 0x4d0], rax
mov dword [rsp + 0xf0], r12d
mov qword [rsp + 0x1e0], r12
movabs rax, 0x473a7e4c79a98c25
mov qword [rsp + 0x1e0], rax
mov qword [rsp + 0x1e8], r12
movabs rax, 0xa91d82d40415dfde
mov qword [rsp + 0x1e8], rax
movabs rcx, 0xf33a52b6b26bc103
add rcx, qword [rsp + 0x1e8]
movabs rax, 0xe6553662530a4470
xor rcx, rax
sub rcx, qword [0x14035f050]
sub rcx, qword [0x14035f058]
movabs rax, 0xedf047f5b7cd242
sub rcx, rax
movabs rax, 0xf8f8cd97c46529a9
xor rcx, rax
sub rcx, qword [0x14035f048]
movabs rax, 0x47d654b8a94f4c6e
add rcx, rax
mov rsi, qword [0x14035f040]
add rcx, rsi
movabs rax, 0x5a9179a79c7d91e1
xor rcx, rax
movabs rax, 0x5f627dc6e05b3ab4
sub rcx, rax
movabs rax, 0xd63b3cd208028152
xor rcx, rax
movabs rdx, 0x3483ce44193985a7
add rdx, rcx
add rdx, rsi
not rdx
mov r10, qword [0x14035f038]
mov rax, r10
movabs rcx, 0x13cce94adac9ad58
xor rax, rcx
sub rdx, rax
mov r11, qword [0x14035f030]
mov rcx, r11
movabs rax, 0xec3316b5253652a7
xor rcx, rax
movabs rax, 0xe0b56d904c4d702d
add rdx, rax
add rdx, rcx
movabs rax, 0x42d495b99ba64468
xor rdx, rax
mov qword [rsp + 0x1e8], rdx
movabs rcx, 0xf33a52b61130d683
add rcx, qword [rsp + 0x1e0]
movabs rax, 0xfbd536625309a335
xor rcx, rax
sub rcx, qword [0x14035f050]
sub rcx, qword [0x14035f058]
movabs rax, 0x7120fb80a666de7e
add rcx, rax
movabs rax, 0xf8f8cd986824ffd3
xor rcx, rax
sub rcx, qword [0x14035f048]
movabs rax, 0x7d654b9842ac5be
add rcx, rax
add rcx, rsi
movabs rax, 0x5a9179a85464c55b
xor rcx, rax
movabs rax, 0x5f627dc6c548b11e
sub rcx, rax
movabs rax, 0x2a3b3cd258a50069
xor rcx, rax
movabs rax, 0xb483ce44b60bd3be
add rcx, rax
add rcx, rsi
not rcx
movabs rax, 0x13cce94ad844c1ae
xor r10, rax
sub rcx, r10
movabs rax, 0xec3316b527bb3e51
xor r11, rax
movabs rax, 0xe0b56d8de49f2303
add rcx, rax
add rcx, r11
movabs rax, 0x83e048d010c36c0e
xor rcx, rax
mov qword [rsp + 0x1e0], rcx
and rcx, rdx
cmp rbx, rcx
setne al
mov qword [rsp + 0x1e8], r12
mov qword [rsp + 0x1e0], r12
test al, al
je 0x140245930
mov edi, r12d
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
movups xmm0, xmmword [rax + 0x58]
movd ecx, xmm0
sub cx, 8
test edi, edi
je 0x140245767
psrldq xmm0, 8
movq r9, xmm0
movzx ecx, cx
shr rcx, 1
lea r11, [r9 + rcx*2]
mov r10d, 0x5ce8cca6
jmp 0x140245759
movsx edx, byte [r9]
mov r8d, edx
imul r8d, edx
add r8d, 0x31
xor r8d, 0x4764996c
mov ecx, r10d
xor ecx, edx
mov r10d, r8d
imul r10d, ecx
add r9, 2
cmp r9, r11
jne 0x140245733
cmp r10d, edi
jne 0x14024587b
mov r9, qword [rax + 0x30]
movsxd rcx, dword [r9 + 0x3c]
mov rcx, qword [rcx + r9 + 0x88]
mov ebx, ecx
add rbx, r9
shr rcx, 0x20
cmp rbx, r9
je 0x14024587b
mov esi, dword [rbx + 0x18]
test esi, esi
je 0x14024587b
mov edx, dword [rbx + 0x20]
dec esi
lea rdx, [rdx + rsi*4]
mov r11d, dword [rdx + r9]
add r11, r9
mov r14d, 0x5ce8cca6
mov r10d, 0x4764996c
mov dl, byte [r11]
add r11, r15
test dl, dl
je 0x1402457d7
movsx r8d, dl
mov edx, r8d
imul edx, r8d
add edx, 0x31
xor edx, r10d
xor r8d, r14d
mov r14d, edx
imul r14d, r8d
jmp 0x1402457b0
cmp r14d, dword [rsp + 0x78]
je 0x1402457ea
test esi, esi
mov edx, dword [rbx + 0x20]
jne 0x140245797
jmp 0x14024587b
mov edx, dword [rbx + 0x1c]
add rdx, r9
mov eax, dword [rbx + 0x24]
add rax, r9
movzx eax, word [rax + rsi*2]
mov r8d, dword [rdx + rax*4]
add r8, r9
cmp r8, rbx
jbe 0x140245883
lea rax, [rcx + rbx]
cmp r8, rax
jae 0x140245883
mov eax, 0x5ce8cca6
mov edi, eax
mov edx, eax
mov dword [rsp + 0x78], eax
jmp 0x140245836
movsx ecx, al
mov eax, ecx
imul eax, ecx
add eax, 0x31
xor eax, r10d
xor ecx, edi
mov edi, eax
imul edi, ecx
add r8, r15
mov al, byte [r8]
cmp al, 0x2e
jne 0x14024581e
add r8, r15
mov al, byte [r8]
test al, al
je 0x14024586a
movsx ecx, al
mov eax, ecx
imul eax, ecx
add eax, 0x31
xor eax, r10d
xor ecx, edx
mov edx, eax
imul edx, ecx
add r8, r15
mov al, byte [r8]
test al, al
jne 0x140245847
mov dword [rsp + 0x78], edx
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
jmp 0x140245707
mov rcx, qword [rsp + 0x60]
call r8
mov dword [rsp + 0xf4], r12d
mov dword [rsp + 0xf4], 0xa4a7ad6b
mov eax, dword [rsp + 0xf4]
add eax, 0x3896d5b4
xor eax, 0x6b08ca9b
sub eax, dword [0x14035f058]
sub eax, dword [0x14035f050]
sub eax, 0x570f537f
xor eax, 0x442168a6
sub eax, dword [0x14035f048]
mov rcx, qword [0x14035f040]
add eax, 0xaa2fd1d7
add eax, ecx
xor eax, 0x4b746e48
add eax, 0xb2a368a
xor eax, 0x4f8c5a1
lea edx, [rcx - 0x7746617a]
add edx, eax
not edx
mov eax, dword [0x14035f038]
xor eax, 0xd4e259aa
sub edx, eax
mov ecx, dword [0x14035f030]
xor ecx, 0x2b1da655
add ecx, 0x7f1277c0
add ecx, edx
xor ecx, 0x2b8e0172
mov dword [rsp + 0xf4], ecx
movsxd rax, ecx
mov qword [rsp + 0x60], rax
mov dword [rsp + 0xf4], r12d
lea rcx, [rsp + 0x408]
call fcn.1400538a4
mov rax, qword [rsp + 0x4d0]
add rsp, 0x490
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
mov qword [rsp + 0x1f0], r12
movabs rax, 0x473a7e4c79a98c25
mov qword [rsp + 0x1f0], rax
mov qword [rsp + 0x1f8], r12
movabs rax, 0xa91d82d40415dfde
mov qword [rsp + 0x1f8], rax
movabs rcx, 0xf33a52b6b26bc103
add rcx, qword [rsp + 0x1f8]
movabs rax, 0xe6553662530a4470
xor rcx, rax
sub rcx, qword [0x14035f050]
sub rcx, qword [0x14035f058]
movabs rax, 0xedf047f5b7cd242
sub rcx, rax
movabs rax, 0xf8f8cd97c46529a9
xor rcx, rax
sub rcx, qword [0x14035f048]
movabs rax, 0x47d654b8a94f4c6e
add rcx, rax
mov rsi, qword [0x14035f040]
add rcx, rsi
movabs rax, 0x5a9179a79c7d91e1
xor rcx, rax
movabs rax, 0x5f627dc6e05b3ab4
sub rcx, rax
movabs rax, 0xd63b3cd208028152
xor rcx, rax
movabs rdx, 0x3483ce44193985a7
add rdx, rcx
add rdx, rsi
not rdx
mov r10, qword [0x14035f038]
mov rax, r10
movabs rcx, 0x13cce94adac9ad58
xor rax, rcx
sub rdx, rax
mov r11, qword [0x14035f030]
mov rcx, r11
movabs rax, 0xec3316b5253652a7
xor rcx, rax
movabs rax, 0xe0b56d904c4d702d
add rdx, rax
add rdx, rcx
movabs rax, 0x42d495b99ba64468
xor rdx, rax
mov qword [rsp + 0x1f8], rdx
movabs rcx, 0xf33a52b61130d683
add rcx, qword [rsp + 0x1f0]
movabs rax, 0xfbd536625309a335
xor rcx, rax
sub rcx, qword [0x14035f050]
sub rcx, qword [0x14035f058]
movabs rax, 0x7120fb80a666de7e
add rcx, rax
movabs rax, 0xf8f8cd986824ffd3
xor rcx, rax
sub rcx, qword [0x14035f048]
movabs rax, 0x7d654b9842ac5be
add rcx, rax
add rcx, rsi
movabs rax, 0x5a9179a85464c55b
xor rcx, rax
movabs rax, 0x5f627dc6c548b11e
sub rcx, rax
movabs rax, 0x2a3b3cd258a50069
xor rcx, rax
movabs rax, 0xb483ce44b60bd3be
add rcx, rax
add rcx, rsi
not rcx
movabs rax, 0x13cce94ad844c1ae
xor r10, rax
sub rcx, r10
movabs rax, 0xec3316b527bb3e51
xor r11, rax
movabs rax, 0xe0b56d8de49f2303
add rcx, rax
add rcx, r11
movabs rax, 0x83e048d010c36c0e
xor rcx, rax
mov qword [rsp + 0x1f0], rcx
and rcx, rdx
cmp rbx, rcx
setne al
mov qword [rsp + 0x1f8], r12
mov qword [rsp + 0x1f0], r12
test al, al
je 0x140245e08
mov esi, r12d
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov r13d, 8
movups xmm0, xmmword [rax + 0x58]
movd ecx, xmm0
sub cx, r13w
test esi, esi
je 0x140245bf5
psrldq xmm0, 8
movq r9, xmm0
movzx ecx, cx
shr rcx, 1
lea r11, [r9 + rcx*2]
mov r10d, 0x5ce8cca6
jmp 0x140245be7
movsx edx, byte [r9]
mov r8d, edx
imul r8d, edx
add r8d, r14d
xor r8d, 0x4764996c
mov ecx, r10d
xor ecx, edx
mov r10d, r8d
imul r10d, ecx
add r9, 2
cmp r9, r11
jne 0x140245bc2
cmp r10d, esi
jne 0x140245d4c
mov r11, qword [rax + 0x30]
movsxd rcx, dword [r11 + 0x3c]
mov rcx, qword [rcx + r11 + 0x88]
mov edi, ecx
add rdi, r11
shr rcx, 0x20
cmp rdi, r11
je 0x140245d4c
mov r8d, dword [rdi + 0x18]
test r8d, r8d
je 0x140245d4c
mov r9d, dword [rdi + 0x20]
dec r8d
mov dword [rsp + 0x4d8], r8d
mov edx, r8d
mov qword [rsp + 0x50], rdx
lea rdx, [r11 + r8*4]
mov ebx, dword [rdx + r9]
add rbx, r11
mov edx, 0x5ce8cca6
mov r9b, byte [rbx]
add rbx, r15
mov r10d, 0x4764996c
test r9b, r9b
je 0x140245c9d
mov r11d, edx
movsx r8d, r9b
mov r9d, r8d
imul r9d, r8d
add r9d, r14d
xor r9d, r10d
mov edx, r11d
xor edx, r8d
mov r11d, r9d
imul r11d, edx
mov r9b, byte [rbx]
add rbx, r15
test r9b, r9b
jne 0x140245c5f
mov dword [rsp + 0x40], r11d
mov r11, qword [rax + 0x30]
mov r8d, dword [rsp + 0x4d8]
mov edx, dword [rsp + 0x40]
cmp edx, dword [rsp + 0x78]
je 0x140245cb5
test r8d, r8d
mov r9d, dword [rdi + 0x20]
jne 0x140245c28
jmp 0x140245d4c
mov edx, dword [rdi + 0x1c]
add rdx, r11
mov eax, dword [rdi + 0x24]
add rax, r11
mov r8, qword [rsp + 0x50]
movzx eax, word [rax + r8*2]
mov r8d, dword [rdx + rax*4]
add r8, r11
cmp r8, rdi
jbe 0x140245d54
lea rax, [rcx + rdi]
cmp r8, rax
jae 0x140245d54
mov eax, 0x5ce8cca6
mov esi, eax
mov edx, eax
mov dword [rsp + 0x78], eax
jmp 0x140245d07
movsx ecx, al
mov eax, ecx
imul eax, ecx
add eax, r14d
xor eax, r10d
xor ecx, esi
mov esi, eax
imul esi, ecx
add r8, r15
mov al, byte [r8]
cmp al, 0x2e
jne 0x140245cef
add r8, r15
mov al, byte [r8]
test al, al
je 0x140245d3b
movsx ecx, al
mov eax, ecx
imul eax, ecx
add eax, r14d
xor eax, r10d
xor ecx, edx
mov edx, eax
imul edx, ecx
add r8, r15
mov al, byte [r8]
test al, al
jne 0x140245d18
mov dword [rsp + 0x78], edx
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
jmp 0x140245b96
mov rcx, qword [rsp + 0x60]
call r8
mov dword [rsp + 0xf8], r12d
mov dword [rsp + 0xf8], 0xa4a7ad6b
mov eax, dword [rsp + 0xf8]
add eax, 0x3896d5b4
xor eax, 0x6b08ca9b
sub eax, dword [0x14035f058]
sub eax, dword [0x14035f050]
sub eax, 0x570f537f
xor eax, 0x442168a6
sub eax, dword [0x14035f048]
mov rcx, qword [0x14035f040]
add eax, 0xaa2fd1d7
add eax, ecx
xor eax, 0x4b746e48
add eax, 0xb2a368a
xor eax, 0x4f8c5a1
lea edx, [rcx - 0x7746617a]
add edx, eax
not edx
mov eax, dword [0x14035f038]
xor eax, 0xd4e259aa
sub edx, eax
mov ecx, dword [0x14035f030]
xor ecx, 0x2b1da655
add ecx, 0x7f1277c0
add ecx, edx
xor ecx, 0x2b8e0172
mov dword [rsp + 0xf8], ecx
movsxd rax, ecx
mov qword [rsp + 0x60], rax
mov dword [rsp + 0xf8], r12d
lea r13, [0x14035f060]
lea rcx, [rsp + 0x408]
call fcn.1400538a4
mov edi, r12d
mov esi, 0x369f1f8e
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
movups xmm0, xmmword [rax + 0x58]
movd ecx, xmm0
sub cx, 8
test edi, edi
je 0x140245e88
psrldq xmm0, 8
movq r8, xmm0
movzx ecx, cx
shr rcx, 1
lea r10, [r8 + rcx*2]
mov r9d, 0xc5aee222
jmp 0x140245e7a
movsx edx, byte [r8]
mov ecx, edx
imul ecx, edx
add ecx, r14d
xor ecx, 0x4764996c
xor edx, r9d
mov r9d, ecx
imul r9d, edx
add r8, 2
cmp r8, r10
jne 0x140245e5a
cmp r9d, edi
jne 0x140245f46
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov rcx, qword [rcx + r10 + 0x88]
mov ebx, ecx
add rbx, r10
shr rcx, 0x20
cmp rbx, r10
je 0x140245f46
mov r8d, dword [rbx + 0x18]
test r8d, r8d
je 0x140245f46
mov r9d, dword [rbx + 0x20]
dec r8d
mov dword [rsp + 0x40], r8d
mov edx, r8d
mov qword [rsp + 0x50], rdx
lea rdx, [r9 + r8*4]
mov r11d, dword [rdx + r10]
add r11, r10
mov edx, 0xc5aee222
mov r9b, byte [r11]
mov byte [rsp + 0x4d8], r9b
add r11, r15
test r9b, r9b
mov r9d, 0x4764996c
je 0x140245f35
mov r10d, edx
mov dl, byte [rsp + 0x4d8]
movsx r8d, dl
mov edx, r8d
imul edx, r8d
add edx, r14d
xor edx, r9d
xor r8d, r10d
mov r10d, edx
imul r10d, r8d
mov dl, byte [r11]
add r11, r15
test dl, dl
jne 0x140245efe
mov dword [rsp + 0x30], r10d
mov r10, qword [rax + 0x30]
mov r8d, dword [rsp + 0x40]
mov edx, dword [rsp + 0x30]
cmp edx, esi
je 0x140245f4e
test r8d, r8d
mov r9d, dword [rbx + 0x20]
jne 0x140245ebb
mov rax, qword [rax]
jmp 0x140245e2e
mov edx, dword [rbx + 0x1c]
add rdx, r10
mov eax, dword [rbx + 0x24]
add rax, r10
mov r8, qword [rsp + 0x50]
movzx eax, word [rax + r8*2]
mov r8d, dword [rdx + rax*4]
add r8, r10
cmp r8, rbx
jbe 0x140245fd8
lea rax, [rcx + rbx]
cmp r8, rax
jae 0x140245fd8
mov edi, 0xc5aee222
mov esi, edi
jmp 0x140245f9a
movsx ecx, al
mov eax, ecx
imul eax, ecx
add eax, r14d
xor eax, r9d
xor ecx, edi
mov edi, eax
imul edi, ecx
add r8, r15
mov al, byte [r8]
cmp al, 0x2e
jne 0x140245f82
jmp 0x140245fb8
movsx ecx, al
mov eax, ecx
imul eax, ecx
add eax, r14d
xor eax, r9d
xor ecx, esi
mov esi, eax
imul esi, ecx
add r8, r15
mov al, byte [r8]
test al, al
jne 0x140245fa3
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
jmp 0x140245f46
mov dword [rsp + 0x10c], r12d
mov dword [rsp + 0x10c], 0xae9fd1c2
mov eax, dword [rsp + 0x10c]
add eax, 0x15b628be
xor eax, 0xbe12a7ba
sub eax, dword [0x14035f058]
sub eax, dword [0x14035f050]
sub eax, 0x74a6b178
xor eax, 0x3f8d9850
sub eax, dword [0x14035f048]
mov rcx, qword [0x14035f040]
add eax, 0xc687cc9e
add eax, ecx
xor eax, 0xb3cb391
add eax, 0x59e498a9
xor eax, 0x7e1a3322
mov edx, dword [0x14035f030]
xor edx, 0x3a92909
sub edx, eax
mov eax, dword [0x14035f038]
xor eax, 0xfc56d6f6
sub edx, eax
sub edx, ecx
add edx, 0x4a6011f2
xor edx, 0x91e0f4a6
mov dword [rsp + 0x10c], edx
movsxd rcx, edx
call r8
mov qword [rsp + 0x200], rax
mov dword [rsp + 0x10c], r12d
movabs rbx, 0xf246a4dd780818fc
mov qword [rsp + 0x50], rbx
movabs rdi, 0x24f3731df9fdd7ef
mov rsi, r12
movabs rax, 0xe75b040c1c4ba358
movabs r11, 0xcb5093e947a5164a
mov rcx, qword [0x14035f070]
imul rcx, rax
not rcx
movabs r8, 0x34af6c16c574e844
mov rax, qword [0x14035f060]
xor rax, r8
and rcx, rax
ror rcx, 0x22
shr rcx, 8
mov qword [rsp + 0x60], rcx
movabs rax, 0xcde6ab43a6275ae8
mov r10, qword [0x14035f070]
imul r10, rax
add r10, rdi
movabs rax, 0xe09b8ddcffffffff
xor r10, rax
shr r10, 0x1f
not r10
movabs r9, 0xdb0c8ce206022811
lea rcx, [r10 + r9]
movabs r14, 0xaaaaaaaaaaaaaaab
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, r10b
movzx ecx, byte [r13 + rcx*8]
imul ecx, eax
movzx ecx, cl
xor ecx, 0x2d
mov eax, 0x8000003f
and ecx, eax
jge 0x14024615a
sub ecx, r15d
or ecx, 0xffffffc0
add ecx, r15d
mov rdx, r10
ror rdx, cl
not rdx
mov qword [rsp + 0x40], rdx
movabs r8, 0x159c8a67d8ea40c
mov rcx, rdx
imul rcx, r8
mov qword [rsp + 0x30], rcx
lea r8, [rcx + r9]
mov r9, r10
mov rdx, qword [rsp + 0x60]
imul r9, rdx
sub r9, r8
xor r9, rbx
movzx ecx, r8b
mov dword [rsp + 0x4d8], ecx
xor ecx, 2
and ecx, 0xf
and ecx, eax
jge 0x1402461b2
sub ecx, r15d
or ecx, 0xffffffc0
add ecx, r15d
rol r9, cl
movabs rcx, 0x9b3df3c5cfcd3b34
mov rax, qword [rsp + 0x40]
imul rax, rcx
movabs rcx, 0x30a290168d76aedf
add rax, rcx
xor r9, rax
mov rax, r8
sub rax, qword [0x14035f078]
xor r9, rax
xor r9, r11
mov rax, r9
xor rax, 0xfffffffffffffffe
and eax, 3
je 0x1402464c4
sub rax, 1
je 0x1402463c9
sub rax, 1
mov bl, 0x3f
je 0x140246300
cmp rax, 1
jne 0x14024654e
mov rcx, r8
imul rcx, r10
movabs rax, 0x9070475dc740f9ed
add rax, r9
xor rcx, rax
ror rcx, 0x1a
shr rcx, 0xc
not rcx
mov qword [rsp + 0x50], rcx
movabs rdx, 0xffff7ca8c6d5df3a
add rdx, qword [0x14035f088]
movabs rax, 0x2471f6658bccd7ad
xor rdx, rax
movzx eax, r9b
movzx ecx, cl
imul ecx, eax
and cl, bl
ror rdx, cl
shl rdx, 0xf
movabs rax, 0x83582469e3533c5
sub rax, r10
mov r10, rdx
xor r10, rax
mov rcx, r10
imul rcx, rdi
mov eax, 0xb0111ed1
sub rcx, rax
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov cl, byte [r13 + rcx*8]
and cl, 0xf
movabs rdi, 0x21a32237374f2828
sub rdi, qword [rsp + 0x50]
shr rdi, cl
movabs rax, 0xdb046859c36cb9f5
mov rcx, qword [rsp + 0x30]
add rcx, rax
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, r9
imul rax, qword [r13 + rcx*8]
imul rax, r9
sub rax, qword [rsp + 0x60]
xor rdi, rax
jmp 0x14024654e
movabs rcx, 0x555555e54ff71c11
mov r10, r9
xor r10, rcx
movabs rcx, 0xffedf9128dfac05d
imul r10, rcx
movabs rdx, 0x817569e72ecd
mov rcx, qword [rsp + 0x30]
imul rcx, rdx
movabs rdx, 0x88970defddfb1643
add r10, rdx
add r10, rcx
movabs rax, 0xd88328419d27cb71
mov rcx, r10
xor rcx, rax
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r8, r10
not r8
imul r8, qword [r13 + rcx*8]
xor r8, 0x1aa2cac1
lea ecx, [r9 + 0x13]
and cl, bl
rol r8, cl
movabs rax, 0x84802060000000
imul r8, rax
mov rdx, r8
ror rdx, 0x30
not rdx
movabs rax, 0x1934865352cb4956
imul rdx, rax
sub rdx, r8
add rdx, r10
shl rdx, 2
mov cl, byte [rsp + 0x60]
and cl, bl
ror rdx, cl
mov rax, rdi
mov rdi, rdx
imul rdi, rax
jmp 0x14024654e
movabs rax, 0xa19f15c9e28500d9
imul r9, rax
movabs rax, 0xd79435e50d79435f
mul r9
shr rdx, 4
movzx eax, dl
imul edx, eax, 0x13
mov cl, r9b
sub cl, dl
movabs rdx, 0xdb95b2287f7e703
shl rdx, cl
mov rax, r11
mov r11, rdx
xor r11, rax
mov eax, dword [rsp + 0x4d8]
and eax, 0x8000003f
jge 0x140246420
sub eax, r15d
or eax, 0xffffffc0
add eax, r15d
mov cl, al
rol r11, cl
movabs rcx, 0xdb0c8ce206022811
add rcx, r9
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, qword [r13 + rcx*8]
imul rax, rdi
xor r11, rax
movabs rax, 0x385813336a3c
or r11, rax
mov rdi, qword [0x14035f070]
imul rdi, rbx
sub rdi, r8
mov rax, qword [rsp + 0x60]
sub rax, r11
xor rdi, rax
movabs rax, 0x38583959423b6a31
xor rdi, rax
mov rax, r9
imul rax, r8
imul rax, rdi
mov rsi, r10
sub rsi, rax
movabs rax, 0x78958947296d9d5
sub rsi, rax
xor rsi, qword [rsp + 0x60]
mov al, r10b
shl al, 2
lea ecx, [rax + r10]
shl cl, 2
mov bl, 0x3f
and cl, bl
rol rsi, cl
not rsi
jmp 0x14024654e
mov rcx, r9
imul rcx, qword [0x14035f080]
and rcx, qword [0x14035f070]
mov rax, r11
mov r11, rcx
xor r11, rax
ror r11, 0xa
imul r11, r8
mov rsi, rdx
not rsi
imul rsi, r10
movabs rax, 0x832758219fca3bd0
imul rsi, rax
imul rbx, qword [0x14035f060], 0xffffffff82d1fe0e
mov rdx, qword [0x14035f068]
sub rbx, rdx
mov al, sil
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, 0x8000003f
jge 0x140246532
sub ecx, r15d
or ecx, 0xffffffc0
add ecx, r15d
ror rbx, cl
movabs rax, 0xdb0c8ce206022811
add rax, rbx
add rax, qword [rsp + 0x30]
mov qword [rsp + 0x60], rax
mov bl, 0x3f
movabs rax, 0xfaa2846f81311d
mov rcx, qword [rsp + 0x50]
xor rcx, rax
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
xor r11, rsi
imul r11, qword [r13 + rcx*8]
not r8
imul r8, r9
imul r8, qword [rsp + 0x60]
imul r8, rdi
movabs rcx, 0xa12817868327bc1
xor rcx, r10
not rcx
xor rcx, r8
sub rcx, r11
call fcn.1401c7418
mov qword [0x14036d9b8], rax
mov rax, qword gs:[8]
mov qword [0x140380330], rax
xor eax, eax
mov byte [rsp + 0x4d8], al
lea rcx, [rsp + 0x4d8]
call fcn.14022008c
xor eax, eax
mov byte [rsp + 0x4d8], al
lea rcx, [rsp + 0x4d8]
call fcn.140223924
nop
jmp 0x14024660a
movabs rax, 0x5bb3fd013cbde527
mov qword [rsp + 0x4d8], rax
movabs r9, 0x760b3bd75fd728bd
mov qword [rsp + 0x4e0], r9
movabs rax, 0xd70c145cb0000000
mov rdi, qword [0x14035f068]
imul rdi, rax
movabs rax, 0xcb883903f0000000
xor rdi, rax
mov rcx, rdi
imul rcx, r9
mov qword [rsp + 0x50], rcx
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r8, rdi
and r8, r9
imul r8, qword [r13 + rcx*8]
movabs rax, 0x811e2d00050431a4
imul r8, rax
shr r8, 3
movabs rax, 0x645b37267d122b75
xor r8, rax
movabs rax, 0xffffff57acefe113
mov rsi, rdi
imul rsi, rax
add rsi, 0x1bac6fbc
xor rsi, r8
xor rsi, qword [0x14035f060]
mov rax, r8
imul rax, qword [0x14035f070]
movabs rcx, 0xb9de928ba55c5e32
imul rax, rcx
not rax
and rsi, rax
ror rsi, 0x3e
shr rsi, 8
movabs r10, 0x89f4c428a028d743
lea rcx, [rdi + r10]
xor rcx, 0xffffffff9bd2553f
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rax, 0xfb0193a6cdbd57e8
mov r11, qword [r13 + rcx*8]
imul r11, rax
add r11, r9
movabs rcx, 0x7bdb9eb5c305172c
mov rax, r8
imul rax, rcx
xor r11, rax
shr r11, 0x1f
not r11
mov rax, r11
xor rax, rdi
mov qword [rsp + 0x60], rax
lea rcx, [r11 + r10]
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, r11b
movzx ecx, byte [r13 + rcx*8]
imul ecx, eax
movzx ecx, cl
xor ecx, 0x23
and ecx, 0x8000003f
jge 0x140246785
sub ecx, r15d
or ecx, 0xffffffc0
add ecx, r15d
mov rdx, qword [rsp + 0x60]
ror rdx, cl
not rdx
imul rdx, r8
imul rax, rdx, 0x1bac6fbc
mov qword [rsp + 0x60], rax
add r10, rax
mov r9, r11
imul r9, rsi
sub r9, r10
movabs rax, 0x5bb3fd013cbde527
xor r9, rax
mov cl, r10b
xor cl, 0xfc
and cl, 0xf
rol r9, cl
mov rax, r10
sub rax, qword [0x14035f078]
xor r9, rax
movabs rax, 0x7b026a93faa7ddcc
imul rdx, rax
movabs rax, 0x84cf087b9f19b89
sub rdx, rax
xor r9, rdx
xor r9, r8
xor r9, rdi
mov rax, r9
and rax, r15
je 0x140246b64
sub rax, 1
je 0x140246a20
sub rax, 1
je 0x140246924
cmp rax, 1
jne 0x140246c0c
mov rcx, r10
imul rcx, r11
movabs rax, 0xc1174f081e4cb6f9
add rax, r9
xor rcx, rax
ror rcx, 4
shr rcx, 0xc
xor rcx, rdi
not rcx
mov qword [rsp + 0x4d8], rcx
movabs rdx, 0x835747ad5038
add rdx, qword [0x14035f088]
movabs rax, 0x89764150ac9ea7f1
xor rdx, rax
movzx eax, r9b
movzx ecx, cl
imul ecx, eax
and cl, bl
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xf7ca7db91f4dbccb
sub rax, r11
mov r11, rdx
xor r11, rax
mov rcx, r11
movabs rax, 0x760b3bd75fd728bd
imul rcx, rax
mov eax, 0xce966e21
add rcx, rax
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov cl, byte [r13 + rcx*8]
and cl, 0xf
movabs rax, 0x187d3a8c4109c5c2
sub rax, qword [rsp + 0x4d8]
shr rax, cl
mov qword [rsp + 0x4e0], rax
movabs rcx, 0x89fce8b0dc3af631
add rcx, qword [rsp + 0x60]
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, r9
imul rax, qword [r13 + rcx*8]
imul rax, r9
sub rax, rsi
xor qword [rsp + 0x4e0], rax
jmp 0x140246c0c
movabs rax, 0xaaaaaa1ace8f931f
mov rcx, r9
xor rcx, rax
movabs rax, 0x1206ed0c824f53
imul rcx, rax
movabs rdx, 0xfff17ca819eda563
mov rax, r8
xor rax, rdx
sub rcx, rax
movabs rax, 0xffff7e8ae89fa1c3
mov rdx, qword [rsp + 0x60]
imul rdx, rax
movabs r11, 0x43e2f6c701b9bccc
add r11, rcx
add r11, rdx
movabs rax, 0x277cd7be1c5f447f
mov rcx, r11
xor rcx, rax
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r10, r11
not r10
imul r10, qword [r13 + rcx*8]
xor r10, 0xffffffff9bda45cf
lea ecx, [r9 + 0x1d]
and cl, bl
rol r10, cl
movabs rcx, 0xdbedc37b0d22b081
mov rax, qword [rsp + 0x50]
xor rax, rcx
movabs rcx, 0x7c7a7dc6f2dd4f7e
and rax, rcx
imul r10, rax
mov rcx, r10
ror rcx, 0x25
not rcx
movabs rax, 0x9b2de6b34ecf1960
imul rcx, rax
mov rax, r11
sub rax, r10
lea rdx, [rcx + rax*4]
mov cl, sil
and cl, bl
ror rdx, cl
movabs rax, 0x760b3bd75fd728bd
imul rdx, rax
mov qword [rsp + 0x4e0], rdx
jmp 0x140246c0c
movabs rax, 0x5a761f61d86f9269
imul r9, rax
movabs rax, 0xd79435e50d79435f
mul r9
shr rdx, 4
movzx eax, dl
imul edx, eax, 0x13
mov cl, r9b
sub cl, dl
movabs rdx, 0x89f4c428a028d742
mov rax, rdi
imul rax, rdx
movabs rdx, 0x5bb3fd013cbde527
xor rax, rdx
not rax
shl rax, cl
xor r8, rax
mov cl, r10b
and cl, bl
rol r8, cl
movabs rcx, 0x89f4c428a028d743
add rcx, r9
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0xfffffbd75fd728bd
mov rax, qword [r13 + rcx*8]
imul rax, rdx
xor r8, rax
movabs rax, 0xffffc7a7924be532
or r8, rax
mov rcx, qword [0x14035f070]
movabs rax, 0x5bb3fd013cbde527
imul rcx, rax
sub rcx, r10
mov rax, rsi
sub rax, r8
xor rcx, rax
movabs rax, 0xc7a7c6a6c343e53f
xor rcx, rax
mov qword [rsp + 0x4e0], rcx
movabs rax, 0xcccccccccccccccd
mul rdi
shr rdx, 3
lea rax, [rdx + rdx*4]
add rax, rax
mov rcx, rdi
sub rcx, rax
or rcx, r15
xor edx, edx
mov rax, qword [rsp + 0x4e0]
div rcx
mov rcx, rdx
mov rdx, r9
imul rdx, r10
imul rdx, qword [rsp + 0x4e0]
shr rdx, cl
mov rax, r11
sub rax, rdx
sub rax, rdi
movabs rdi, 0x78958940c11a925
add rdi, rax
xor rdi, rsi
movzx eax, r11b
imul ecx, eax, 0x1a
and cl, bl
rol rdi, cl
not rdi
jmp 0x140246c0c
mov rax, r14
mul r8
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
mov rcx, r8
sub rcx, rax
mov rax, r9
imul rax, qword [0x14035f080]
mov rdx, qword [r13 + rcx*8]
and rdx, rax
xor rdx, r8
and r8b, bl
mov cl, r8b
mov r8, rdx
ror r8, cl
imul r8, r10
not rsi
imul rsi, r11
movabs rax, 0x7cd8a7de1eb2b4de
imul rsi, rax
mov rax, r8
imul rax, rdi
mov rdi, rsi
xor rdi, rax
imul rdx, qword [0x14035f060], 0x1bac6fbc
mov rsi, qword [0x14035f068]
sub rdx, rsi
mov al, dil
not al
movzx ecx, al
movzx eax, sil
xor ecx, eax
and ecx, 0x8000003f
jge 0x140246bf7
sub ecx, r15d
or ecx, 0xffffffc0
add ecx, r15d
ror rdx, cl
movabs rsi, 0x89f4c428a028d743
add rsi, rdx
add rsi, qword [rsp + 0x60]
movabs rax, 0xff055d7beef9be13
mov rcx, qword [rsp + 0x4d8]
xor rcx, rax
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
xor r8, rdi
imul r8, qword [r13 + rcx*8]
not r10
imul r10, r9
imul r10, rsi
imul r10, qword [rsp + 0x4e0]
movabs rcx, 0xf5ed7e87e94af4cf
xor rcx, r11
not rcx
xor rcx, r10
sub rcx, r8
call fcn.1401c7cac
mov qword [0x14036d9d0], rax
xor eax, eax
mov byte [rsp + 0x4e0], al
lea rcx, [rsp + 0x4e0]
call fcn.140229cc0
lea rax, [rsp + 0x200]
mov qword [rsp + 0x228], rax
lea rcx, [rsp + 0x228]
call fcn.140235d4c
movabs rdi, 0x6473be87ae4b5f91
movabs rsi, 0x7851dc1ed7a00a4a
movabs rax, 0x63d52549ea000000
mov r8, qword [0x14035f080]
imul r8, rax
movabs rax, 0x23279cfc8b000000
xor r8, rax
mov qword [rsp + 0x4d8], r8
mov rcx, r8
imul rcx, rsi
mov qword [rsp + 0x50], rcx
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r9, r8
and r9, rsi
imul r9, qword [r13 + rcx*8]
movabs rax, 0x26404ce0c3c55df0
imul r9, rax
shr r9, 3
movabs rax, 0xdcd98d1375253a4f
xor r9, rax
movabs rax, 0xa833f08da7
mov rcx, r8
imul rcx, rax
sub rcx, 0x6f779910
xor rcx, r9
xor rcx, qword [0x14035f060]
mov rax, r9
imul rax, qword [0x14035f070]
movabs rdx, 0x46216d743a433286
imul rax, rdx
not rax
and rcx, rax
ror rcx, 0x3d
shr rcx, 8
mov qword [rsp + 0x60], rcx
movabs r10, 0x87ae23e1285ff5b6
lea rcx, [r8 + r10]
xor rcx, 0x4cd398b
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rax, 0x25ecb3fd03254e60
mov r11, qword [r13 + rcx*8]
imul r11, rax
add r11, rsi
movabs rcx, 0xfbadad8f549527a8
mov rax, r9
imul rax, rcx
xor r11, rax
shr r11, 0x1f
not r11
mov rax, r11
xor rax, r8
mov qword [rsp + 0x40], rax
lea rcx, [r11 + r10]
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, r11b
movzx ecx, byte [r13 + rcx*8]
imul ecx, eax
movzx ecx, cl
xor ecx, 0x97
and ecx, 0x8000003f
jge 0x140246e22
sub ecx, r15d
or ecx, 0xffffffc0
add ecx, r15d
mov rdx, qword [rsp + 0x40]
ror rdx, cl
not rdx
imul rdx, r9
imul rax, rdx, 0xffffffff908866f0
mov qword [rsp + 0x40], rax
lea r8, [rax + r10]
mov r10, r11
imul r10, qword [rsp + 0x60]
sub r10, r8
xor r10, rdi
mov cl, r8b
xor cl, 0xf8
and cl, 0xf
rol r10, cl
mov rax, r8
sub rax, qword [0x14035f078]
xor r10, rax
movabs rax, 0xdc7f2f5901732160
imul rdx, rax
movabs rax, 0x33a3cead28e9dd64
sub rdx, rax
xor r10, rdx
xor r10, r9
mov rdx, qword [rsp + 0x4d8]
xor r10, rdx
mov rax, r10
and eax, 2
je 0x1402471cd
sub rax, 1
je 0x140247098
sub rax, 1
je 0x140246fa7
cmp rax, 1
jne 0x140247291
mov rdi, r8
imul rdi, r11
movabs rax, 0xd71f14e6eef8cbba
add rax, r10
xor rdi, rax
ror rdi, 4
shr rdi, 0xc
xor rdi, rdx
not rdi
movabs rcx, 0xffff7ca8d8b23c84
mov rdx, qword [0x14035f088]
add rdx, rcx
movabs rax, 0x78d35966bbf6e9b2
xor rdx, rax
movzx eax, r10b
movzx ecx, dil
imul ecx, eax
and cl, bl
ror rdx, cl
shl rdx, 0xf
movabs rax, 0x83582468052d07f
sub rax, r11
mov r11, rdx
xor r11, rax
mov rcx, r11
imul rcx, rsi
mov eax, 0xae76fd6b
sub rcx, rax
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov cl, byte [r13 + rcx*8]
and cl, 0xf
movabs rsi, 0xa809431b194888e5
sub rsi, rdi
shr rsi, cl
movabs rax, 0x87a5ff58cb6d6810
mov rcx, qword [rsp + 0x40]
add rcx, rax
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, r10
imul rax, qword [r13 + rcx*8]
imul rax, r10
sub rax, qword [rsp + 0x60]
xor rsi, rax
jmp 0x140247291
movabs rax, 0x555555e55190ffab
mov rcx, r10
xor rcx, rax
movabs rax, 0xffedf912939d23e7
imul rcx, rax
movabs rdx, 0xe835786f2c9d7
mov rax, r9
xor rax, rdx
sub rcx, rax
movabs rax, 0x81757780cd77
mov rdx, qword [rsp + 0x40]
imul rdx, rax
movabs r11, 0xedb349d488dec311
add r11, rcx
add r11, rdx
movabs rax, 0xd8832841834028cb
mov rcx, r11
xor rcx, rax
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r8, r11
not r8
imul r8, qword [r13 + rcx*8]
xor r8, 0x4c5297b
lea ecx, [r10 - 0x17]
and cl, bl
rol r8, cl
movabs rcx, 0x204800940000000
mov rax, qword [rsp + 0x50]
xor rax, rcx
movabs rcx, 0x838582396dc223ca
and rax, rcx
imul r8, rax
mov rdx, r8
ror rdx, 0x27
not rdx
movabs rax, 0x193486534cacaaec
imul rdx, rax
sub rdx, r8
add rdx, r11
shl rdx, 2
mov cl, byte [rsp + 0x60]
and cl, bl
ror rdx, cl
mov rax, rsi
mov rsi, rdx
imul rsi, rax
jmp 0x140247291
movabs rax, 0x1fda0c43142ffbfc
imul r10, rax
movabs rax, 0xd79435e50d79435f
mul r10
shr rdx, 4
movzx eax, dl
imul edx, eax, 0x13
mov cl, r10b
sub cl, dl
movabs rdx, 0x87ae23e1285ff5b5
mov rax, qword [rsp + 0x4d8]
imul rax, rdx
xor rax, rdi
not rax
shl rax, cl
xor r9, rax
mov cl, r8b
and cl, bl
rol r9, cl
movabs rcx, 0x87ae23e1285ff5b6
add rcx, r10
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, qword [r13 + rcx*8]
imul rax, rsi
xor r9, rax
movabs rax, 0x38580d548986
or r9, rax
mov rsi, qword [0x14035f070]
imul rsi, rdi
sub rsi, r8
mov rax, qword [rsp + 0x60]
sub rax, r9
xor rsi, rax
movabs rax, 0x385839595c5c898b
xor rsi, rax
movabs rax, 0xcccccccccccccccd
mov rcx, qword [rsp + 0x4d8]
mul rcx
shr rdx, 3
lea rax, [rdx + rdx*4]
add rax, rax
sub rcx, rax
or rcx, r15
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov rdx, r10
imul rdx, r8
imul rdx, rsi
shr rdx, cl
mov rax, r11
sub rax, rdx
sub rax, qword [rsp + 0x4d8]
movabs rcx, 0x78958946cf13a6f
mov rdx, rax
sub rdx, rcx
xor rdx, qword [rsp + 0x60]
movzx eax, r11b
imul ecx, eax, 0xee
and cl, bl
rol rdx, cl
not rdx
mov qword [rsp + 0x4d8], rdx
jmp 0x140247291
mov rax, r14
mul r9
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
mov rcx, r9
sub rcx, rax
mov rax, r10
imul rax, qword [0x14035f080]
mov rdx, qword [r13 + rcx*8]
and rdx, rax
xor rdx, r9
and r9b, bl
mov cl, r9b
mov r9, rdx
ror r9, cl
imul r9, r8
mov rcx, qword [rsp + 0x60]
not rcx
imul rcx, r11
movabs rax, 0x8327582181add86a
imul rcx, rax
mov rax, r9
imul rax, qword [rsp + 0x4d8]
xor rcx, rax
mov qword [rsp + 0x4d8], rcx
imul rax, qword [0x14035f060], 0xffffffff908866f0
mov rdx, qword [0x14035f068]
sub rax, rdx
mov qword [rsp + 0x50], rax
mov al, cl
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, 0x8000003f
jge 0x140247272
sub ecx, r15d
or ecx, 0xffffffc0
add ecx, r15d
mov rax, qword [rsp + 0x50]
ror rax, cl
movabs rcx, 0x87ae23e1285ff5b6
add rax, rcx
add rax, qword [rsp + 0x40]
mov qword [rsp + 0x60], rax
movabs rax, 0xfaa28471e6d2a7
xor rdi, rax
mov rax, r14
mul rdi
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rdi, rax
xor r9, qword [rsp + 0x4d8]
imul r9, qword [r13 + rdi*8]
not r8
imul r8, r10
imul r8, qword [rsp + 0x60]
imul r8, rsi
movabs rcx, 0xa1281787655987b
xor rcx, r11
not rcx
xor rcx, r8
sub rcx, r9
call fcn.1401c7460
mov qword [0x14036d9b0], rax
mov esi, r12d
mov dword [rsp + 0x40], 0x6b50ae2
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov r14d, 8
movups xmm0, xmmword [rax + 0x58]
movd ecx, xmm0
sub cx, r14w
test esi, esi
je 0x14024736f
psrldq xmm0, 8
movq r8, xmm0
movzx ecx, cx
shr rcx, 1
lea r10, [r8 + rcx*2]
mov r9d, 0x7aaf2d66
jmp 0x140247361
movsx edx, byte [r8]
mov ecx, edx
imul ecx, edx
add ecx, 0x31
xor ecx, 0x4764996c
xor edx, r9d
mov r9d, ecx
imul r9d, edx
add r8, 2
cmp r8, r10
jne 0x140247341
cmp r9d, esi
jne 0x1402474c9
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov rcx, qword [rcx + r10 + 0x88]
mov edi, ecx
add rdi, r10
shr rcx, 0x20
cmp rdi, r10
je 0x1402474c9
mov r8d, dword [rdi + 0x18]
test r8d, r8d
je 0x1402474c9
mov r9d, dword [rdi + 0x20]
dec r8d
mov dword [rsp + 0x30], r8d
mov edx, r8d
mov qword [rsp + 0x50], rdx
lea rdx, [r9 + r8*4]
mov r9d, dword [rdx + r10]
add r9, r10
mov edx, 0x7aaf2d66
mov r11b, byte [r9]
mov byte [rsp + 0x4d8], r11b
add r9, r15
test r11b, r11b
mov r11d, 0x4764996c
je 0x14024741c
mov r10d, edx
mov dl, byte [rsp + 0x4d8]
movsx r8d, dl
mov edx, r8d
imul edx, r8d
add edx, 0x31
xor edx, r11d
xor r8d, r10d
mov r10d, edx
imul r10d, r8d
mov dl, byte [r9]
add r9, r15
test dl, dl
jne 0x1402473e5
mov dword [rsp + 0x38], r10d
mov r10, qword [rax + 0x30]
mov r8d, dword [rsp + 0x30]
mov edx, dword [rsp + 0x38]
cmp edx, dword [rsp + 0x40]
je 0x140247434
test r8d, r8d
mov r9d, dword [rdi + 0x20]
jne 0x1402473a2
jmp 0x1402474c9
mov edx, dword [rdi + 0x1c]
add rdx, r10
mov eax, dword [rdi + 0x24]
add rax, r10
mov r8, qword [rsp + 0x50]
movzx eax, word [rax + r8*2]
mov r9d, dword [rdx + rax*4]
add r9, r10
cmp r9, rdi
jbe 0x1402474d1
lea rax, [rcx + rdi]
cmp r9, rax
jae 0x1402474d1
mov edx, 0x7aaf2d66
mov esi, edx
mov dword [rsp + 0x40], edx
jmp 0x140247484
movsx ecx, al
mov eax, ecx
imul eax, ecx
add eax, 0x31
xor eax, r11d
xor ecx, esi
mov esi, eax
imul esi, ecx
add r9, r15
mov al, byte [r9]
cmp al, 0x2e
jne 0x14024746c
add r9, r15
mov al, byte [r9]
test al, al
je 0x1402474b8
movsx ecx, al
mov eax, ecx
imul eax, ecx
add eax, 0x31
xor eax, r11d
xor ecx, edx
mov edx, eax
imul edx, ecx
add r9, r15
mov al, byte [r9]
test al, al
jne 0x140247495
mov dword [rsp + 0x40], edx
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
jmp 0x140247315
mov qword [rsp + 0x230], r12
movabs rax, 0x1696f50918fe91a1
mov qword [rsp + 0x230], rax
movabs rcx, 0xf33a52b832e9fc83
add rcx, qword [rsp + 0x230]
movabs rax, 0x21d53662530bc4ee
xor rcx, rax
sub rcx, qword [0x14035f050]
sub rcx, qword [0x14035f058]
movabs rax, 0x7120fb80a001b30c
add rcx, rax
movabs rax, 0xf8f8cd963de4f53b
xor rcx, rax
sub rcx, qword [0x14035f048]
movabs rax, 0x7d654b69f63f2a9
add rcx, rax
mov rdx, qword [0x14035f040]
add rcx, rdx
movabs rax, 0x5a9179a5e5ed9603
xor rcx, rax
movabs rax, 0x5f627dc4661182f6
sub rcx, rax
movabs rax, 0xfa3b3cd147b75fa0
xor rcx, rax
movabs rax, 0xb483ce42a33ebdc8
add rax, rcx
add rdx, rax
not rdx
movabs rcx, 0x13cce94ae0cba646
mov rax, qword [0x14035f038]
xor rax, rcx
sub rdx, rax
movabs rax, 0xec3316b51f3459b9
mov rcx, qword [0x14035f030]
xor rcx, rax
movabs r8, 0xe0b56d965448571b
add r8, rdx
add r8, rcx
movabs rax, 0x18d6854180317e96
xor r8, rax
mov qword [rsp + 0x230], r8
mov rdx, qword [rsp + 0x200]
mov rcx, qword [rsp + 0x4d0]
call r9
nop
mov qword [rsp + 0x230], r12
movabs rdi, 0xd8b5eff1634fbfb1
mov rsi, r12
movabs rax, 0x8930724ccd44aff0
movabs r11, 0x2552b3b6667608f4
mov rcx, qword [0x14035f070]
imul rcx, rax
not rcx
movabs r8, 0x2552b3b67256922a
mov rax, qword [0x14035f060]
xor rax, r8
and rcx, rax
ror rcx, 0x2c
shr rcx, 8
mov qword [rsp + 0x4d8], rcx
movabs rax, 0xda54af3cbaccbec8
mov r10, qword [0x14035f060]
imul r10, rax
movabs r8, 0x274a100e9cb0404f
sub r10, r8
movabs rax, 0xcb67fea57fffffff
xor r10, rax
shr r10, 0x1f
not r10
lea rcx, [r10 + r8]
movabs r14, 0xaaaaaaaaaaaaaaab
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, r10b
movzx ecx, byte [r13 + rcx*8]
imul ecx, eax
movzx ecx, cl
xor ecx, 0xbd
mov edx, 0x8000003f
and ecx, edx
jge 0x1402476cc
sub ecx, r15d
or ecx, 0xffffffc0
add ecx, r15d
mov rax, r10
ror rax, cl
not rax
mov qword [rsp + 0x50], rax
movabs rcx, 0xd4a199440a3e8b98
imul rax, rcx
mov qword [rsp + 0x60], rax
add r8, rax
mov r9, r10
imul r9, qword [rsp + 0x4d8]
sub r9, r8
movabs rax, 0x59bf00c327bb5c2
xor r9, rax
movzx ecx, r8b
mov dword [rsp + 0x4d0], ecx
xor ecx, 2
and ecx, 0xf
and ecx, edx
jge 0x14024772a
sub ecx, r15d
or ecx, 0xffffffc0
add ecx, r15d
rol r9, cl
mov rax, r8
sub rax, qword [0x14035f078]
xor r9, rax
movabs rcx, 0x2cb667109b4cec18
mov rax, qword [rsp + 0x50]
imul rax, rcx
movabs rcx, 0x351bcfa33b38679f
add rax, rcx
xor r9, rax
xor r9, r11
mov rax, r9
and rax, r15
xor rax, 2
je 0x140247a4e
sub rax, 1
je 0x140247942
sub rax, 1
je 0x140247876
cmp rax, 1
jne 0x140247ade
mov r15, r8
imul r15, r10
movabs rax, 0x4cbac03cee2da583
add rax, r9
xor r15, rax
ror r15, 0x16
shr r15, 0xc
not r15
movabs rcx, 0x83575d7709aa
mov rdx, qword [0x14035f088]
add rdx, rcx
movabs rax, 0x27c895768adc6963
xor rdx, rax
movzx eax, r15b
movzx ecx, r9b
imul ecx, eax
and cl, bl
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xf7ca7db90597e555
sub rax, r10
mov r10, rdx
xor r10, rax
mov rcx, r10
imul rcx, rdi
mov eax, 0xd44c37bf
add rcx, rax
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov cl, byte [r13 + rcx*8]
and cl, 0xf
movabs rdi, 0xf63588b4c2d0bca2
sub rdi, r15
shr rdi, cl
movabs rax, 0x27523496c37887c3
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, r9
imul rax, qword [r13 + rcx*8]
imul rax, r9
sub rax, qword [rsp + 0x4d8]
xor rdi, rax
jmp 0x140247ae8
movabs rcx, 0xaaaaaa1ad455ca81
mov r10, r9
xor r10, rcx
movabs rcx, 0x1206ed165816cd
imul r10, rcx
movabs rcx, 0xffff7e8af245f85d
mov rdx, qword [rsp + 0x60]
imul rdx, rcx
movabs rcx, 0x453b11683aa2e907
add r10, rcx
add r10, rdx
movabs rax, 0x277cd7be06851de1
mov rcx, r10
xor rcx, rax
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r8, r10
not r8
imul r8, qword [r13 + rcx*8]
xor r8, 0xffffffff81001c51
lea ecx, [r9 + 3]
and cl, bl
rol r8, cl
movabs rax, 0x78300946a0000000
imul r8, rax
mov rcx, r8
ror rcx, 0x1e
not rcx
movabs rax, 0x9b2de6b325a67f18
imul rcx, rax
mov rax, r10
sub rax, r8
lea rdx, [rcx + rax*4]
mov cl, byte [rsp + 0x4d8]
and cl, bl
ror rdx, cl
mov rax, rdi
mov rdi, rdx
imul rdi, rax
jmp 0x140247ade
movabs rax, 0x7d62e758151c41b7
imul r9, rax
movabs rax, 0xd79435e50d79435f
mul r9
shr rdx, 4
movzx eax, dl
imul edx, eax, 0x13
mov cl, r9b
sub cl, dl
movabs rdx, 0xfa640ff3cd844a3d
shl rdx, cl
mov rax, r11
mov r11, rdx
xor r11, rax
mov eax, dword [rsp + 0x4d0]
and eax, 0x8000003f
jge 0x140247999
sub eax, r15d
or eax, 0xffffffc0
add eax, r15d
mov cl, al
rol r11, cl
movabs rcx, 0x274a100e9cb0404f
add rcx, r9
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0xffffeff1634fbfb1
mov rax, qword [r13 + rcx*8]
imul rax, rdx
xor r11, rax
movabs rax, 0xffffc7a78891bcac
or r11, rax
mov rdi, qword [0x14035f070]
movabs r15, 0x59bf00c327bb5c2
imul rdi, r15
sub rdi, r8
mov rax, qword [rsp + 0x4d8]
sub rax, r11
xor rdi, rax
movabs rax, 0xc7a7c6a6d999bca1
xor rdi, rax
mov rax, r9
imul rax, r8
imul rax, rdi
mov rsi, r10
sub rsi, rax
movabs rax, 0x789589416cbf0bb
add rsi, rax
xor rsi, qword [rsp + 0x4d8]
mov cl, r10b
shl cl, 2
and cl, bl
rol rsi, cl
not rsi
jmp 0x140247ae8
mov rcx, r9
imul rcx, qword [0x14035f080]
and rcx, qword [0x14035f080]
mov rax, r11
mov r11, rcx
xor r11, rax
ror r11, 0x34
imul r11, r8
mov rsi, qword [rsp + 0x4d8]
not rsi
imul rsi, r10
movabs rax, 0x7cd8a7de0468ed40
imul rsi, rax
imul rbx, qword [0x14035f060], 0x14209ade
mov rdx, qword [0x14035f068]
sub rbx, rdx
mov al, sil
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, 0x8000003f
jge 0x140247ac1
sub ecx, r15d
or ecx, 0xffffffc0
add ecx, r15d
ror rbx, cl
movabs rax, 0x274a100e9cb0404f
add rax, rbx
add rax, qword [rsp + 0x60]
mov qword [rsp + 0x4d8], rax
movabs r15, 0x59bf00c327bb5c2
movabs rax, 0xff055d7bf423e78d
xor r15, rax
mov rax, r14
mul r15
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub r15, rax
xor r11, rsi
imul r11, qword [r13 + r15*8]
not r8
imul r8, r9
imul r8, qword [rsp + 0x4d8]
imul r8, rdi
movabs rcx, 0xf5ed7e87f390ad51
xor rcx, r10
not rcx
xor rcx, r8
sub rcx, r11
call fcn.1401c7c88
mov qword [0x14036d9b0], rax
mov dword [rsp + 0x104], r12d
mov dword [rsp + 0x104], 0x4e34c245
mov eax, dword [rsp + 0x104]
add eax, 0xbc6a063e
xor eax, 0x9b934e6e
sub eax, dword [0x14035f058]
sub eax, dword [0x14035f050]
add eax, 0x96532ef
xor eax, 0x963eeb5a
sub eax, dword [0x14035f048]
mov rcx, qword [0x14035f040]
add eax, 0xa43ea573
add eax, ecx
xor eax, 0x4d178aeb
sub eax, 0x7bc3308d
xor eax, 0x3ebb0ec3
mov edx, dword [0x14035f030]
xor edx, 0x10e5993
sub edx, eax
mov eax, dword [0x14035f038]
xor eax, 0xfef1a66c
sub edx, eax
sub edx, ecx
add edx, 0x9ad49dc
xor edx, 0xed861c04
mov dword [rsp + 0x104], edx
movsxd rax, edx
mov dword [rsp + 0x104], r12d
jmp 0x140245945