Function at 0x14021fa64
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, 0x4c0
xor r12d, r12d
mov dword [rsp + 0xbc], r12d
movabs rax, 0x17a5fed800000000
mov rbx, qword [0x140333070]
imul rbx, rax
movabs rax, 0xfe71730b00000000
xor rbx, rax
mov qword [rsp + 0x508], 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, [0x140333060]
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 [0x140333060]
mov rax, r10
imul rax, qword [0x140333070]
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 edi, 0x8000003f
and ecx, edi
lea r15d, [r12 + 1]
jge 0x14021fbfc
sub ecx, r15d
or ecx, 0xffffffc0
add ecx, r15d
ror rsi, cl
not rsi
imul rsi, r10
imul r8, rsi, 0xffffffffddb91570
movabs rax, 0x2735903edf32b0b8
sub r8, rax
mov rbx, r11
imul rbx, r9
sub rbx, r8
movabs rax, 0x312fa1495ba46880
imul rsi, rax
movabs rax, 0x2225f30a11dd8440
sub rsi, rax
xor rbx, rsi
mov rax, r8
sub rax, qword [0x140333078]
xor rbx, rax
xor rbx, r10
xor rbx, qword [rsp + 0x508]
movabs rax, 0x676be5eba979c2dd
xor rbx, 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, rbx
mov r14, qword [0x140333080]
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 + 0x508]
xor r9, rax
imul r10, qword [0x140333060], 0xffffffffddb91570
mov rdx, qword [0x140333068]
sub r10, rdx
mov al, r9b
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, edi
jge 0x14021fcf8
sub ecx, r15d
or ecx, 0xffffffc0
add ecx, r15d
ror r10, cl
lea rcx, [r8 + r10]
not r8
imul r8, rbx
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.1401ad2e0
mov qword [0x140337f80], rax
xor eax, eax
mov byte [rsp + 0x508], al
mov dword [rsp + 0x270], 0x8daf6221
mov dword [rsp + 0x274], 0x3f64910d
mov dword [rsp + 0x278], 0xb3515507
mov word [rsp + 0x27c], 0x566b
mov byte [rsp + 0x27e], 0x1f
mov r13, r12
movabs r12, 0x13cce94adb9acf48
xor edx, edx
mov rax, r13
div r12
add dl, 0x38
mov r14b, dl
sar r14b, 7
or r14b, dl
mov al, r14b
shl al, 6
mov sil, r14b
sar sil, 2
or sil, al
movsx rcx, r14b
mov rbx, rcx
sar rbx, 2
or bl, al
mov r9b, r14b
sar r9b, 5
mov al, r14b
shl al, 3
or r9b, al
mov r10b, r14b
sar r10b, 3
mov al, r14b
shl al, 5
or r10b, al
mov r8b, r14b
sar r8b, 4
mov al, r14b
shl al, 4
or r8b, al
mov r11b, r14b
not r11b
mov dil, r14b
ror dil, 7
lea eax, [r10 - 0x50]
add dil, al
mov dl, byte [rsp + r13 + 0x270]
sub dl, sil
sub dl, 2
mov eax, 4
sub al, bl
xor dl, al
sar rcx, 1
mov al, r14b
shl al, 7
or cl, al
sub dl, cl
sub dl, byte [0x140333050]
sub dl, byte [0x140333058]
sub dl, 0x3f
add dl, r14b
add dl, bl
lea eax, [r14 + 7]
add al, sil
xor dl, al
sub dl, byte [0x140333048]
sub dl, r14b
sub dl, r9b
mov rcx, qword [0x140333040]
sub dl, 0x50
add dl, cl
add dl, bl
mov al, r14b
sub al, r9b
add al, r8b
add al, sil
xor dl, al
mov al, r14b
sub al, r8b
xor al, r14b
sub dl, al
sub dl, r10b
add dl, 0x30
add dl, r14b
xor dil, dl
mov al, r14b
add al, al
sub dil, al
add cl, 0x51
add dil, cl
add dil, bl
add dil, sil
not dil
mov al, r14b
sar al, 7
or al, r14b
sub dil, al
mov al, byte [0x140333038]
xor al, r11b
sub dil, al
mov al, r14b
xor al, 0x40
sub dil, al
mov al, byte [0x140333030]
xor al, r14b
add dil, al
movsx eax, r11b
movsx ecx, r14b
imul ecx, eax
xor dil, cl
mov byte [rsp + r13 + 0x270], dil
add r13, r15
cmp r13, 0xf
jb 0x14021fd8a
lea rax, [rsp + 0x270]
mov qword [rsp + 0x290], rax
mov qword [rsp + 0x298], 0xf
mov rax, qword [rsp + 0x290]
mov qword [rsp + 0x40], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x320], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x330], xmm1
movdqa xmm0, xmmword [0x14030cbb0]
movdqu xmmword [rsp + 0x330], xmm0
xor r12d, r12d
mov byte [rsp + 0x320], r12b
mov dword [rsp + 0xbc], r15d
movabs rax, 0xb55386c5c89c6429
mov qword [rsp + 0x510], rax
movabs r9, 0xd97384e981b1cb6b
mov qword [rsp + 0x30], r9
movabs rax, 0x230000000000000
mov rdi, qword [0x140333088]
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, [0x140333060]
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 [0x140333060]
mov rax, r8
imul rax, qword [0x140333070]
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 0x1402200dd
sub ecx, r15d
or ecx, r14d
add ecx, r15d
mov rdx, qword [rsp + 0x58]
ror rdx, cl
not rdx
imul rdx, r8
imul rax, rdx, 0xffffffff8b853184
mov qword [rsp + 0x58], rax
add r9, rax
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
mov rax, r9
sub rax, qword [0x140333078]
xor r10, rax
movabs rax, 0x910b59a0af335e2c
imul rdx, rax
movabs rax, 0x26beb4bd3e672147
add rdx, rax
xor r10, rdx
xor r10, r8
xor r10, rdi
mov rax, r10
and eax, 3
je 0x1402204ae
sub rax, 1
je 0x140220377
sub rax, 1
mov bl, 0x3f
je 0x14022027d
cmp rax, 1
jne 0x14022056b
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 + 0x510], rcx
movabs rdx, 0x835717318a34
add rdx, qword [0x140333088]
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 + 0x510]
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 0x14022056b
movabs rax, 0xaaaaaa1a9e13491b
mov rcx, r10
xor rcx, rax
movabs rax, 0x1206ed5c1e9557
imul rcx, rax
movabs rdx, 0xfff17ca849717f67
mov rax, r8
xor rax, rdx
sub rcx, rax
movabs rax, 0xffff7e8ab8037bc7
mov rdx, qword [rsp + 0x58]
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 0x14022056b
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 [0x140333070]
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 0x14022056b
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 [0x140333080]
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 [0x140333060], 0xffffffff8b853184
mov rdx, qword [0x140333068]
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 0x14022054c
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 + 0x510]
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.1401ad3b8
mov qword [0x140337f40], rax
mov qword [rsp + 0x308], r12
mov qword [rsp + 0x310], r12
mov qword [rsp + 0x318], r12
mov r9d, r12d
mov dword [rsp + 0x88], r12d
mov dword [rsp + 0x78], 0x8ed4b138
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 0x140220670
psrldq xmm0, 8
movq r8, xmm0
movzx ecx, cx
shr rcx, 1
lea rdi, [r8 + rcx*2]
mov r11d, 0x78272a3e
jmp 0x140220662
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 0x140220645
cmp r11d, r9d
jne 0x140220737
mov r9, qword [rax + 0x30]
movsxd rcx, dword [r9 + 0x3c]
mov rcx, qword [rcx + r9 + 0x88]
mov edi, ecx
add rdi, r9
shr rcx, 0x20
cmp rdi, r9
je 0x14022072f
mov r8d, dword [rdi + 0x18]
test r8d, r8d
je 0x14022072f
mov r11d, dword [rdi + 0x20]
dec r8d
mov dword [rsp + 0x60], r8d
mov edx, r8d
mov qword [rsp + 0x30], rdx
lea rdx, [r11 + r8*4]
mov r11d, dword [rdx + r9]
add r11, r9
mov edx, 0x78272a3e
mov r8b, byte [r11]
mov byte [rsp + 0x510], r8b
add r11, r15
test r8b, r8b
mov r8d, dword [rsp + 0x60]
je 0x14022071c
mov r9d, edx
mov dl, byte [rsp + 0x510]
movsx r8d, dl
mov edx, r8d
imul edx, r8d
add edx, 0x31
xor edx, r10d
xor r8d, r9d
mov r9d, edx
imul r9d, r8d
mov dl, byte [r11]
add r11, r15
test dl, dl
jne 0x1402206e5
mov dword [rsp + 0x58], r9d
mov r9, qword [rax + 0x30]
mov r8d, dword [rsp + 0x60]
mov edx, dword [rsp + 0x58]
cmp edx, dword [rsp + 0x78]
je 0x14022073f
test r8d, r8d
mov r11d, dword [rdi + 0x20]
jne 0x1402206a3
mov r9d, dword [rsp + 0x88]
mov rax, qword [rax]
jmp 0x140220614
mov edx, dword [rdi + 0x1c]
add rdx, r9
mov eax, dword [rdi + 0x24]
add rax, r9
mov r8, qword [rsp + 0x30]
movzx eax, word [rax + r8*2]
mov r8d, dword [rdx + rax*4]
add r8, r9
cmp r8, rdi
jbe 0x140220804
lea rax, [rcx + rdi]
cmp r8, rax
jae 0x140220804
mov eax, 0x78272a3e
mov r9d, eax
mov dword [rsp + 0x88], eax
mov r11d, eax
mov dword [rsp + 0x78], eax
mov al, byte [r8]
cmp al, 0x2e
je 0x1402207bb
movsx ecx, al
mov edx, ecx
imul edx, ecx
add edx, 0x31
xor edx, r10d
mov eax, r9d
xor eax, ecx
mov r9d, edx
imul r9d, eax
add r8, r15
mov al, byte [r8]
cmp al, 0x2e
jne 0x14022078f
mov dword [rsp + 0x88], r9d
add r8, r15
mov al, byte [r8]
test al, al
je 0x1402207ee
movsx ecx, al
mov edx, ecx
imul edx, ecx
add edx, 0x31
xor edx, r10d
mov eax, r11d
xor eax, ecx
mov r11d, edx
imul r11d, eax
add r8, r15
mov al, byte [r8]
test al, al
jne 0x1402207c5
mov dword [rsp + 0x78], r11d
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
jmp 0x140220737
mov rcx, qword [rsp + 0x40]
call r8
lea r8, [rsp + 0x518]
mov rdx, rax
lea rcx, [rsp + 0x308]
call fcn.1401ab83c
movabs rax, 0x145871a73f31fdfa
mov r10, qword [0x140333070]
imul r10, rax
not r10
movabs rcx, 0xbe1e9f0ac413fa75
mov rax, qword [0x140333060]
xor rax, rcx
and r10, rax
ror r10, 0x3b
shr r10, 8
movabs rax, 0x8e56c179178e9a80
mov r9, qword [0x140333088]
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 0x1402208d0
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 + 0x510], 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 [0x140333078]
xor rdi, rax
movabs rcx, 0x41e160f507851bb5
xor rdi, rcx
mov rax, rdi
imul rax, qword [0x140333080]
mov rdx, qword [0x140333068]
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 [0x140333060], 0xffffffffc396e1c0
sub r8, rdx
mov al, r10b
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, r11d
jge 0x1402209b3
sub ecx, r15d
or ecx, r14d
add ecx, r15d
ror r8, cl
add r8, qword [rsp + 0x510]
movabs rax, 0xeb2f5bae0ff90b98
imul r8, rax
movabs rax, 0x1798f4435e366a40
sub r8, rax
movabs rax, 0xeb2f5bae0ff90b97
sub rax, qword [rsp + 0x510]
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 [0x140333080]
sub rcx, rax
call fcn.1401ac908
mov qword [0x140337f78], rax
mov r8, qword [rsp + 0x310]
mov rcx, qword [rsp + 0x308]
sub r8, rcx
mov rdx, qword [rsp + 0x40]
call fcn.1402b1650
movabs rax, 0x986fffe16b181ff9
mov qword [rsp + 0x510], rax
movabs rdi, 0x6f57ae34cc739a0f
mov qword [rsp + 0x40], r12
movabs rax, 0xc4cd592883e2abde
movabs r11, 0x6c35ad5ebfdec86d
mov rcx, qword [0x140333070]
imul rcx, rax
not rcx
movabs rdx, 0x6c35ad5eac0f1fed
mov rax, qword [0x140333060]
xor rax, rdx
and rcx, rax
ror rcx, 0x28
shr rcx, 8
mov qword [rsp + 0x30], rcx
movabs rax, 0xb790532c9212eb00
mov r10, qword [0x140333080]
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 0x140220b1e
sub ecx, r15d
or ecx, r14d
add ecx, r15d
mov rdx, r10
ror rdx, cl
not rdx
movabs rcx, 0xc2097045c1b4c180
mov rax, rdx
imul rax, rcx
mov qword [rsp + 0x38], rax
lea r9, [rax + r8]
mov r8, r10
imul r8, qword [rsp + 0x30]
sub r8, r9
movabs rax, 0x986fffe16b181ff9
xor r8, rax
mov cl, r9b
xor cl, 0xf8
and cl, 0xf
rol r8, cl
mov rax, r9
sub rax, qword [0x140333078]
xor r8, rax
movabs rax, 0x8885e702027e5680
imul rdx, rax
movabs rax, 0x7022942c51cff31f
add rdx, rax
xor r8, rdx
xor r8, r11
mov rax, r8
and eax, 3
je 0x140220e70
sub rax, 1
je 0x140220d75
sub rax, 1
je 0x140220cac
cmp rax, 1
jne 0x140220f02
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 + 0x510], rcx
movabs rdx, 0x83571f81a294
add rdx, qword [0x140333088]
movabs rax, 0x902ad4b36716e7e7
xor rdx, rax
movzx eax, cl
movzx ecx, r8b
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 + 0x510]
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 0x140220f02
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 0x140220f02
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 [0x140333070]
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 0x140220f02
mov rcx, qword [0x140333080]
imul rcx, r8
mov rdx, qword [0x140333068]
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 [0x140333060], 0x13d1d780
sub rcx, rdx
mov qword [rsp + 0x30], rcx
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, 0x8000003f
jge 0x140220ee3
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 + 0x510]
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.1401acbb4
mov qword [0x140337f40], rax
movabs rax, 0xea437b2a73a5922
mov qword [rsp + 0x40], rax
movabs rdi, 0x74c97cfe69afae3b
movabs rax, 0xe6b041345a6d6000
mov r11, qword [0x140333080]
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 [0x140333060]
mov rax, r9
imul rax, qword [0x140333070]
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 + 0x510], 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 0x1402210ea
sub ecx, r15d
or ecx, r14d
add ecx, r15d
mov rdx, qword [rsp + 0x510]
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 + 0x510], ecx
xor ecx, 6
and ecx, 0xf
and ecx, eax
jge 0x14022113f
sub ecx, r15d
or ecx, r14d
add ecx, r15d
rol r8, cl
mov rax, r10
sub rax, qword [0x140333078]
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 0x1402214d8
sub rax, 1
je 0x140221387
sub rax, 1
je 0x140221292
cmp rax, 1
jne 0x14022159b
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 [0x140333088]
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 0x14022159b
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 0x14022159b
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 + 0x510]
and eax, 0x8000003f
jge 0x1402213ef
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 [0x140333070]
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 0x14022159b
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 [0x140333080]
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 [0x140333060], 0x23b57b0e
mov rdx, qword [0x140333068]
sub rax, rdx
mov qword [rsp + 0x510], rax
mov al, r11b
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, 0x8000003f
jge 0x140221579
sub ecx, r15d
or ecx, r14d
add ecx, r15d
mov rax, qword [rsp + 0x510]
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.1401ac6a4
mov qword [0x140337f70], rax
movabs rax, 0xfa6d7f8d8561701c
mov qword [rsp + 0x40], rax
movabs rdi, 0x617df7358cbb1f1f
movabs rax, 0x9869227d3f764000
mov r11, qword [0x140333080]
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 [0x140333060]
mov rax, r9
imul rax, qword [0x140333070]
movabs rdx, 0xb9de928bc326e6ec
imul rax, rdx
not rax
and rcx, rax
ror rcx, 2
shr rcx, 8
mov qword [rsp + 0x38], rcx
movabs rcx, 0x9e8208ca7344e0e1
add rcx, r11
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 r10, r8
xor r10, r11
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
movzx eax, r8b
movzx ecx, byte [r13 + rcx*8]
imul ecx, eax
movzx ecx, cl
xor ecx, 0xfd
mov edx, 0x8000003f
and ecx, edx
jge 0x140221780
sub ecx, r15d
or ecx, r14d
add ecx, r15d
ror r10, cl
not r10
imul r10, r9
mov qword [rsp + 0x58], r10
imul rax, r10, 0xfffffffffc58809e
mov qword [rsp + 0x60], rax
movabs r10, 0x9e8208ca7344e0e1
add r10, rax
imul r8, qword [rsp + 0x38]
sub r8, r10
movabs rax, 0xfa6d7f8d8561701c
xor r8, rax
movzx ecx, r10b
mov dword [rsp + 0x510], ecx
xor ecx, 2
and ecx, 0xf
and ecx, edx
jge 0x1402217dc
sub ecx, r15d
or ecx, r14d
add ecx, r15d
rol r8, cl
movabs rcx, 0x4b8ecd40a1b4b522
mov rax, qword [rsp + 0x58]
imul rax, rcx
movabs rcx, 0x74d418599ced7a3f
add rax, rcx
xor r8, rax
mov rax, r10
sub rax, qword [0x140333078]
xor r8, rax
xor r8, r9
xor r8, r11
mov rax, r8
xor rax, 0xfffffffffffffffe
and eax, 3
je 0x140221b75
sub rax, 1
je 0x140221a2a
sub rax, 1
je 0x140221939
cmp rax, 1
jne 0x140221c38
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 [0x140333088]
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 + 0x60]
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 0x140221c38
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 + 0x60]
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 0x140221c38
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 + 0x510]
and eax, 0x8000003f
jge 0x140221a92
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 [0x140333070]
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 0x140221c38
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 [0x140333080]
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 [0x140333060], 0xfffffffffc58809e
mov rdx, qword [0x140333068]
sub rax, rdx
mov qword [rsp + 0x510], rax
mov al, r11b
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, 0x8000003f
jge 0x140221c16
sub ecx, r15d
or ecx, r14d
add ecx, r15d
mov rax, qword [rsp + 0x510]
ror rax, cl
movabs rcx, 0x9e8208ca7344e0e1
add rax, rcx
add rax, qword [rsp + 0x60]
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.1401ad034
mov qword [0x140337f48], rax
mov dword [rsp + 0xcc], r12d
mov dword [rsp + 0xcc], 0x669aa72b
mov eax, dword [rsp + 0xcc]
add eax, 0x481c7535
xor eax, 0xa89da21
sub eax, dword [0x140333058]
sub eax, dword [0x140333050]
add eax, 0x25c21ba2
xor eax, 0x305db2a7
sub eax, dword [0x140333048]
mov rcx, qword [0x140333040]
add eax, 0xf99defd3
add eax, ecx
xor eax, 0x15c00459
add eax, 0x42d4b971
xor eax, 0x812d79b3
lea edx, [rcx + 0xa0a661]
add edx, eax
not edx
mov eax, dword [0x140333038]
xor eax, 0xd9207028
sub edx, eax
mov ecx, dword [0x140333030]
xor ecx, 0x26df8fd7
add ecx, 0xa1670443
add ecx, edx
xor ecx, 0x1bbc8998
mov dword [rsp + 0xcc], ecx
movsxd rax, ecx
mov qword [rsp + 0x40], rax
mov dword [rsp + 0xcc], r12d
movabs rdi, 0x1f2dd49ec2b0057d
movabs rax, 0x2b16bba2c5b7e0e0
movabs r10, 0x1560b89b9ee8952c
mov rcx, qword [0x140333070]
imul rcx, rax
not rcx
movabs r8, 0xea9f476466c61d72
mov rax, qword [0x140333060]
xor rax, r8
and rcx, rax
ror rcx, 0x24
shr rcx, 8
mov qword [rsp + 0x30], rcx
movabs rax, 0xcec4eff6586c1830
mov r11, qword [0x140333070]
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 0x140221e07
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 + 0x510], ecx
xor ecx, 6
and ecx, 0xf
and ecx, eax
jge 0x140221e65
sub ecx, r15d
or ecx, r14d
add ecx, r15d
rol r8, cl
mov rax, r9
sub rax, qword [0x140333078]
xor r8, rax
movabs rcx, 0xc5b77a9c95a76988
mov rax, qword [rsp + 0x38]
imul rax, rcx
movabs rcx, 0x5da0f05b0001e0f7
add rax, rcx
xor r8, rax
xor r8, r10
mov rax, r8
and rax, r15
xor rax, 2
je 0x14022218d
sub rax, 1
je 0x140222092
sub rax, 1
je 0x140221fbf
cmp rax, 1
jne 0x140222232
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 + 0x510], rcx
movabs rdx, 0x83572d5513ae
add rdx, qword [0x140333088]
movabs rax, 0xe050ae195b01c9ab
xor rdx, rax
movzx eax, cl
movzx ecx, r8b
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 + 0x510]
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 + 0x510]
jmp 0x140222235
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 0x140222235
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 + 0x510]
and eax, 0x8000003f
jge 0x1402220e9
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 [0x140333070]
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 0x140222238
mov rcx, r8
imul rcx, qword [0x140333080]
and rcx, qword [0x140333080]
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 [0x140333060], 0xfffffffff82e885e
mov rdx, qword [0x140333068]
sub rax, rdx
mov qword [rsp + 0x510], rax
mov al, bl
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, 0x8000003f
jge 0x140222204
sub ecx, r15d
or ecx, r14d
add ecx, r15d
mov rax, qword [rsp + 0x510]
ror rax, cl
movabs rcx, 0xe0d22b613d4ffa83
add rax, rcx
add rax, qword [rsp + 0x48]
mov qword [rsp + 0x30], rax
movabs rcx, 0xf16c8fb8258ca416
jmp 0x140222238
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.140031684
mov qword [0x140337f40], rax
mov qword [rsp + 0x148], r12
movabs rax, 0x273a19b5e705810
mov qword [rsp + 0x148], rax
mov qword [rsp + 0x1c8], r12
movabs rax, 0x161051a7d6cdc684
mov qword [rsp + 0x1c8], rax
movabs rcx, 0xf33a52b608a0ff03
add rcx, qword [rsp + 0x1c8]
movabs rax, 0x2455366253099aa5
xor rcx, rax
sub rcx, qword [0x140333050]
sub rcx, qword [0x140333058]
movabs rax, 0xedf047f597f71fc
sub rcx, rax
movabs rax, 0xf8f8cd9870d716b1
xor rcx, rax
sub rcx, qword [0x140333048]
movabs rax, 0x47d654b98fca06c5
add rcx, rax
mov rdi, qword [0x140333040]
add rcx, rdi
movabs rax, 0x5a9179a85e28d729
xor rcx, rax
movabs rax, 0x5f627dc6cb8ad53c
sub rcx, rax
movabs rax, 0xe63b3cd25ced30a8
xor rcx, rax
movabs rdx, 0x3483ce44be5fbc59
add rdx, rcx
add rdx, rdi
not rdx
movabs rcx, 0x13cce94ad8228250
mov r10, qword [0x140333038]
mov rax, r10
xor rax, rcx
sub rdx, rax
movabs rax, 0xec3316b527dd7daf
mov r11, qword [0x140333030]
mov rcx, r11
xor rcx, rax
movabs rax, 0xe0b56d8dc27d8525
add rdx, rax
add rdx, rcx
movabs rax, 0xe10fdfe7484824b0
xor rdx, rax
mov qword [rsp + 0x1c8], rdx
movabs rcx, 0xf33a52b6746e8183
add rcx, qword [rsp + 0x148]
movabs rax, 0xa6d53662530a0673
xor rcx, rax
sub rcx, qword [0x140333050]
sub rcx, qword [0x140333058]
movabs rax, 0x7120fb80a53d257d
add rcx, rax
movabs rax, 0xf8f8cd98035a5e27
xor rcx, rax
sub rcx, qword [0x140333048]
movabs rax, 0x87d654b8fd749020
add rcx, rax
add rcx, rdi
movabs rax, 0x5a9179a7e3326e4f
xor rcx, rax
movabs rax, 0x5f627dc6eee1f5ca
sub rcx, rax
movabs rax, 0xd23b3cd2270310fc
xor rcx, rax
movabs rax, 0xb483ce445584d86b
add rcx, rax
add rcx, rdi
not rcx
movabs rax, 0x13cce94ad9d1b85a
xor r10, rax
sub rcx, r10
movabs rax, 0xec3316b5262e47a5
xor r11, rax
movabs rax, 0xe0b56d8f5360bd2f
add rcx, rax
add rcx, r11
movabs rax, 0x589b78560a78c802
xor rcx, rax
mov qword [rsp + 0x148], rcx
mov rax, qword [rsp + 0x310]
sub rax, qword [rsp + 0x308]
and rcx, rdx
mov qword [rsp + 0x1c8], r12
mov qword [rsp + 0x148], r12
cmp rax, rcx
je 0x1402240a2
movabs rax, 0xe49e0dba2dd884cf
mov qword [rsp + 0x30], rax
movabs rdi, 0x9cb8d47ce8a030a6
mov qword [rsp + 0x38], r12
movabs rax, 0x4436741660c70b58
movabs r11, 0x63910ee8e3f00d14
mov rbx, qword [0x140333070]
imul rbx, rax
not rbx
movabs rcx, 0x9c6ef1171e4c4aac
mov rax, qword [0x140333060]
xor rax, rcx
and rbx, rax
ror rbx, 9
shr rbx, 8
mov qword [rsp + 0x48], rbx
movabs rax, 0x802eb34dc05ce8f0
mov r9, qword [0x140333088]
imul r9, rax
movabs r10, 0x63472b83175fcf5a
sub r9, r10
movabs rax, 0xbcded5000000000
xor r9, rax
shr r9, 0x1f
not r9
lea rcx, [r9 + r10]
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 eax, 0x8000003f
and ecx, eax
jge 0x14022259e
sub ecx, r15d
or ecx, r14d
add ecx, r15d
mov rdx, r9
ror rdx, cl
not rdx
mov qword [rsp + 0x58], rdx
movabs r8, 0x3c0e2bdc6d9f260
mov rcx, rdx
imul rcx, r8
mov qword [rsp + 0x60], rcx
add r10, rcx
mov r8, r9
imul r8, rbx
sub r8, r10
movabs rdx, 0xe49e0dba2dd884cf
xor r8, rdx
movzx ecx, r10b
mov dword [rsp + 0x510], ecx
and ecx, 0xf
and ecx, eax
jge 0x1402225f7
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 [0x140333078]
xor r8, rax
xor r8, r11
mov rax, r8
and eax, 2
je 0x140222917
sub rax, 1
je 0x14022280a
sub rax, 1
mov bl, 0x3f
je 0x140222741
cmp rax, 1
jne 0x1402229a3
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 [0x140333088]
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 + 0x60]
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 0x1402229a3
movabs rcx, 0xaaaaaa1aa8e844f3
mov r9, r8
xor r9, rcx
movabs rcx, 0x1206ed6ae598bf
imul r9, rcx
movabs rdx, 0xffff7e8a8ef8762f
mov rcx, qword [rsp + 0x60]
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 0x1402229a3
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 + 0x510]
and eax, 0x8000003f
jge 0x140222861
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 [0x140333070]
movabs rax, 0xe49e0dba2dd884cf
imul rdi, rax
sub rdi, r10
mov rax, rbx
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, rbx
movzx eax, r9b
imul ecx, eax, 0xf6
mov bl, 0x3f
and cl, bl
rol rdx, cl
not rdx
mov qword [rsp + 0x38], rdx
jmp 0x1402229a3
mov rcx, r8
imul rcx, qword [0x140333080]
and rcx, qword [0x140333060]
mov rax, r11
mov r11, rcx
xor r11, rax
ror r11, 0x14
imul r11, r10
mov rax, rbx
not rax
imul rax, r9
movabs rcx, 0x7cd8a7de78d56332
imul rax, rcx
mov qword [rsp + 0x38], rax
imul rbx, qword [0x140333060], 0xfffffffffdbc47b8
mov rdx, qword [0x140333068]
sub rbx, rdx
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, 0x8000003f
jge 0x140222987
sub ecx, r15d
or ecx, r14d
add ecx, r15d
ror rbx, cl
movabs rax, 0x63472b83175fcf5a
add rax, rbx
add rax, qword [rsp + 0x60]
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.1401ac0bc
mov qword [0x140337f30], rax
movabs rax, 0xf961c9b594a07733
mov qword [rsp + 0x510], rax
movabs rdi, 0xb5f4cb17d083b295
mov qword [rsp + 0x30], r12
movabs rax, 0x6a78fddc1b812d90
movabs r11, 0x8a491aadfb180c7f
mov rcx, qword [0x140333070]
imul rcx, rax
not rcx
movabs r8, 0x75b6e55202d0ade9
mov rax, qword [0x140333060]
xor rax, r8
and rcx, rax
ror rcx, 0x14
shr rcx, 8
mov qword [rsp + 0x38], rcx
movabs rax, 0x63acdec15a70ad20
mov r9, qword [0x140333070]
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 0x140222ae0
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 [0x140333078]
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 0x140222e37
sub rax, 1
je 0x140222d3a
sub rax, 1
je 0x140222c71
cmp rax, 1
jne 0x140222ecd
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 + 0x510], rcx
movabs rdx, 0x83572dd04476
add rdx, qword [0x140333088]
movabs rax, 0x4a89b19049b7299b
xor rdx, rax
movzx eax, cl
movzx ecx, r10b
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 + 0x510]
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 0x140222ecd
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 0x140222ecd
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 [0x140333070]
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 0x140222ecd
mov rcx, r10
imul rcx, qword [0x140333080]
and rcx, qword [0x140333088]
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 [0x140333060], 0xfffffffff9c8a196
mov rdx, qword [0x140333068]
sub rcx, rdx
mov qword [rsp + 0x38], rcx
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, 0x8000003f
jge 0x140222eae
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 + 0x510]
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.1401ac098
mov qword [0x140337f60], rax
mov dword [rsp + 0xd0], r12d
mov dword [rsp + 0xd0], 0xe40efe5d
mov eax, dword [rsp + 0xd0]
add eax, 0x1accdc30
xor eax, 0x7184acd1
sub eax, dword [0x140333058]
sub eax, dword [0x140333050]
add eax, 0x354a0a6d
xor eax, 0x72628a10
sub eax, dword [0x140333048]
mov rcx, qword [0x140333040]
add eax, 0x809f7c0a
add eax, ecx
xor eax, 0xfd6ecee3
sub eax, 0x5ab7dbaf
xor eax, 0xdffeb0b3
lea edx, [rcx + 0x9b31237]
add edx, eax
not edx
mov eax, dword [0x140333038]
xor eax, 0xc46b31c4
sub edx, eax
mov ecx, dword [0x140333030]
xor ecx, 0x3b94ce3b
add ecx, 0x1735a94a
add ecx, edx
xor ecx, 0x7810302c
mov dword [rsp + 0xd0], ecx
movsxd r8, ecx
mov dword [rsp + 0xd0], r12d
mov r9, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x310]
mov rdx, qword [rsp + 0x308]
mov rax, rcx
sub rax, rdx
cmp r8, rax
jae 0x1402230b6
mov dword [rsp + 0xf4], r12d
mov dword [rsp + 0xf4], 0x32bf032f
mov eax, dword [rsp + 0xf4]
add eax, 0x6b7eb7b6
xor eax, 0x4d0afd83
sub eax, dword [0x140333058]
sub eax, dword [0x140333050]
sub eax, 0x5da80b25
xor eax, 0x86de71c
sub eax, dword [0x140333048]
mov rcx, qword [0x140333040]
add eax, 0xae160e8d
add eax, ecx
xor eax, 0xc963f07e
sub eax, 0x71322fdd
xor eax, 0xdb733d61
mov edx, dword [0x140333030]
xor edx, 0x225206cd
sub edx, eax
mov eax, dword [0x140333038]
xor eax, 0xddadf932
sub edx, eax
sub edx, ecx
sub edx, 0x31f83462
xor edx, 0xe2bb90a
mov dword [rsp + 0xf4], edx
movsxd rdx, edx
add rdx, r8
mov rax, qword [rsp + 0x308]
movzx ecx, byte [r8 + rax]
imul rdx, rcx
imul rdx, r8
not rdx
xor r9, rdx
mov dword [rsp + 0xf4], r12d
add r8, r15
jmp 0x140222fd9
sub rcx, rdx
imul r9, rcx
mov qword [rsp + 0x40], r9
movabs rax, 0xd8d4a0c70180d55
mov qword [rsp + 0x30], rax
movabs r9, 0xaadb2e53e452953f
mov qword [rsp + 0x38], r9
movabs rax, 0x862708ee7c0eb000
mov r11, qword [0x140333068]
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 [0x140333060]
mov rax, r8
imul rax, qword [0x140333070]
movabs rdx, 0xb9de928bc791ad7c
imul rax, rdx
not rax
and rcx, rax
ror rcx, 0x32
shr rcx, 8
mov qword [rsp + 0x58], rcx
movabs r10, 0x5524d1ac1bad6ac1
lea rcx, [r11 + r10]
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, r10
movabs rcx, 0x866189c23b9f03ac
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, 0x6d
mov edx, 0x8000003f
and ecx, edx
jge 0x140223238
sub ecx, r15d
or ecx, r14d
add ecx, r15d
ror r9, cl
not r9
imul r9, r8
mov qword [rsp + 0x60], r9
imul rax, r9, 0x19ad8ce
mov qword [rsp + 0x78], rax
add r10, rax
mov r9, rdi
imul r9, qword [rsp + 0x58]
sub r9, r10
movabs rax, 0xd8d4a0c70180d55
xor r9, rax
movzx ecx, r10b
mov dword [rsp + 0x510], ecx
xor ecx, 2
and ecx, 0xf
and ecx, edx
jge 0x14022328d
sub ecx, r15d
or ecx, r14d
add ecx, r15d
rol r9, cl
movabs rcx, 0x9dd1bc6a6f4740b2
mov rax, qword [rsp + 0x60]
imul rax, rcx
movabs rcx, 0x736360a9d4a19a7f
add rax, rcx
xor r9, rax
mov rax, r10
sub rax, qword [0x140333078]
xor r9, rax
xor r9, r8
xor r9, r11
mov rax, r9
xor rax, 0xfffffffffffffffe
and eax, 3
je 0x14022363f
sub rax, 1
je 0x1402234e7
sub rax, 1
je 0x1402233ed
cmp rax, 1
jne 0x1402236f1
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 [0x140333088]
movabs rax, 0x55a654d475d6e93d
xor rdx, rax
movzx eax, r9b
movzx ecx, cl
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 0x1402236f1
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 0x1402236f1
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 + 0x510]
and eax, 0x8000003f
jge 0x14022354f
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 [0x140333070]
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 0x1402236f1
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 [0x140333080]
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 [0x140333060], 0x19ad8ce
sub rdx, qword [0x140333068]
mov al, r11b
not al
movzx ecx, al
movzx eax, byte [0x140333068]
xor ecx, eax
and ecx, 0x8000003f
jge 0x1402236d7
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.140031858
mov qword [0x140337f88], rax
movabs rax, 0xaf64000000000000
mov r8, qword [0x140333060]
imul r8, rax
movabs rax, 0x2c5f000000000000
xor r8, rax
mov qword [rsp + 0x510], 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 [0x140333060]
mov rax, r11
imul rax, qword [0x140333070]
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 0x1402238c4
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 [0x140333078]
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 + 0x510]
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 [0x140333080]
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 + 0x510]
xor r9, rax
imul rax, qword [0x140333060], 0xfffffffff9db65c0
mov rdx, qword [0x140333068]
sub rax, rdx
mov qword [rsp + 0x510], rax
mov al, r9b
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, r8d
jge 0x1402239cb
sub ecx, r15d
or ecx, r14d
add ecx, r15d
mov rax, qword [rsp + 0x510]
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 [0x140333070]
sub rcx, rdi
call fcn.1401aca4c
mov qword [0x140337f50], rax
movabs rdi, 0x6704d34f3d1d67d9
movabs r10, 0x94ff900e4ec406a
mov qword [rsp + 0x510], r10
movabs rax, 0xafa82f3fda000000
mov r8, qword [0x140333080]
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 [0x140333060]
mov rax, r9
imul rax, qword [0x140333070]
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 0x140223baa
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 [0x140333078]
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 0x140223f7e
sub rax, 1
je 0x140223e3c
sub rax, 1
je 0x140223d3f
cmp rax, 1
jne 0x14022403c
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 [0x140333088]
add rdx, rcx
movabs rax, 0xf632838775bba182
xor rdx, rax
movzx eax, r10b
movzx ecx, dil
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 + 0x510], 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 + 0x510], rax
jmp 0x14022403c
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 + 0x510], rdx
jmp 0x14022403c
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 [0x140333070]
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 + 0x510], 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 + 0x510]
div rcx
mov rcx, rdx
mov rdx, r10
imul rdx, r8
imul rdx, qword [rsp + 0x510]
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 0x14022403c
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 [0x140333080]
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 [0x140333060], 0xfffffffff1914b80
mov rdx, qword [0x140333068]
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 0x14022401d
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 + 0x510]
movabs rcx, 0xf5ed7e878b549a6b
xor rcx, r11
not rcx
xor rcx, r8
sub rcx, r9
call fcn.14009214c
mov qword [0x140337f80], rax
jmp 0x1402240a4
mov bl, 0x3f
mov r8, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x500]
xor r8, qword [rdx + 0x60]
mov qword [rsp + 0x40], r8
mov qword [rsp + 0x140], r12
movabs rax, 0x8a2c98d12d94e9a3
mov qword [rsp + 0x140], rax
movabs rcx, 0xf33a52bdf193aa03
add rcx, qword [rsp + 0x140]
movabs rax, 0xcf55366253118398
xor rcx, rax
sub rcx, qword [0x140333050]
sub rcx, qword [0x140333058]
movabs rax, 0xedf047f713a49fd
sub rcx, rax
movabs rax, 0xf8f8cd906840a105
xor rcx, rax
sub rcx, qword [0x140333048]
movabs rax, 0xc7d654aed3149fa6
add rcx, rax
mov rdx, qword [0x140333040]
add rcx, rdx
movabs rax, 0x5a91799f58740c1d
xor rcx, rax
movabs rax, 0x5f627dbcf5839d10
sub rcx, rax
movabs rax, 0x8e3b3cce68349393
xor rcx, rax
movabs rax, 0x3483ce3d0ccbb406
add rax, rcx
add rdx, rax
not rdx
movabs rcx, 0x13cce94af7c64cfc
mov rax, qword [0x140333038]
xor rax, rcx
sub rdx, rax
movabs rax, 0xec3316b50839b303
mov rcx, qword [0x140333030]
xor rcx, rax
movabs r11, 0xe0b56dadc5a9fbd1
add r11, rdx
add r11, rcx
movabs rax, 0xabfb9adb93431af4
xor r11, rax
mov qword [rsp + 0x30], r11
mov qword [rsp + 0x140], 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, rdi
imul rax, r10
xor edx, edx
div r11
mov r9, rdi
imul r9, qword [r13 + rdx*8]
imul r9, r10
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 + 0x60], 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 + 0x78], r8
movabs rax, 0xca2818fa0e327479
mov rdx, r9
imul rdx, rax
add rdx, rcx
xor rdx, r8
xor rdx, qword [0x140333060]
mov rax, r8
imul rax, qword [0x140333070]
movabs rcx, 0x8c0975260781cb58
imul rax, rcx
not rax
and rdx, rax
movzx eax, r10b
mov dword [rsp + 0x510], eax
xor eax, 0xa9
and eax, 0x8000003f
jge 0x14022430c
sub eax, r15d
or eax, r14d
add eax, r15d
mov cl, al
ror rdx, cl
shr rdx, 8
mov qword [rsp + 0x88], 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, rdi
imul rax, r10
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 0x1402243a4
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 + 0x88]
sub rdx, r9
xor rdx, rdi
movzx ecx, r9b
mov dword [rsp + 0x58], ecx
xor ecx, 6
and ecx, 0xf
and ecx, eax
jge 0x1402243e4
sub ecx, r15d
or ecx, r14d
add ecx, r15d
rol rdx, cl
mov rax, r9
sub rax, qword [0x140333078]
xor rdx, rax
mov rax, r9
imul rax, r10
xor rdx, rax
xor rdx, r8
xor rdx, qword [rsp + 0x48]
mov qword [rsp + 0x128], rdx
mov rax, rdx
and rax, r10
xor rax, 0xfffffffffffffffe
and eax, 3
je 0x14022478d
sub rax, 1
je 0x140224651
sub rax, 1
je 0x14022455e
cmp rax, 1
jne 0x140224840
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 + 0x510]
and eax, 0x3c
xor eax, 0x52
and eax, 0x8000003f
jge 0x14022447d
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 [0x140333088]
add rdx, rcx
xor rdx, qword [rsp + 0x38]
movabs rax, 0x355562d5ae6be5d9
xor rdx, rax
movzx eax, dil
movzx ecx, byte [rsp + 0x128]
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 + 0x128]
imul rax, qword [r13 + rdx*8]
imul rax, qword [rsp + 0x128]
sub rax, qword [rsp + 0x88]
xor r10, rax
jmp 0x140224840
lea r11, [r9 + 1]
movabs rax, 0xca2899274a4234a9
imul r11, rax
movabs rcx, 0x9f7d4db76c520675
mov rax, rdx
xor rax, rcx
movabs rcx, 0x35c5e140ae5fda39
imul rax, rcx
add r11, rax
movabs rcx, 0xca269b05bb303009
mov rax, r8
xor rax, rcx
sub 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 + 0x128]
sub cl, 9
and cl, bl
rol r9, cl
mov rax, rdi
not rax
shl rax, 0x1d
xor rax, qword [rsp + 0x60]
movabs rcx, 0x49ad9a6b5000da14
and rax, rcx
imul r9, rax
movzx ecx, dil
xor ecx, 0x28
and ecx, 0x8000003f
jge 0x14022461b
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 + 0x88]
and cl, bl
ror rax, cl
imul r10, rax
jmp 0x140224840
mov rax, r10
imul rax, r10
shr rax, 2
not rax
imul rax, r10
imul rdx, rax
mov qword [rsp + 0x128], rdx
movabs rax, 0xd79435e50d79435f
mul rdx
shr rdx, 4
movzx eax, dl
imul edx, eax, 0x13
mov cl, byte [rsp + 0x128]
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 + 0x58]
and eax, 0x8000003f
jge 0x1402246ba
sub eax, r15d
or eax, r14d
add eax, r15d
mov cl, al
rol r8, cl
mov rax, qword [rsp + 0x128]
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 [0x140333070]
sub r10, r9
mov rax, qword [rsp + 0x88]
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 + 0x128]
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 + 0x88]
movzx eax, r11b
imul ecx, eax, 0xf0
and cl, bl
rol rdx, cl
not rdx
mov qword [rsp + 0x48], rdx
jmp 0x140224840
xor edx, edx
mov rax, r8
div qword [rsp + 0x30]
mov rax, qword [rsp + 0x128]
imul rax, qword [0x140333080]
mov r8, qword [r13 + rdx*8]
and r8, rax
mov rcx, qword [rsp + 0x78]
xor r8, rcx
and cl, bl
ror r8, cl
imul r8, r9
mov rcx, qword [rsp + 0x88]
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 [0x140333060]
mov rdx, qword [0x140333068]
sub rax, rdx
mov qword [rsp + 0x88], rax
mov al, cl
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, 0x8000003f
jge 0x14022482a
sub ecx, r15d
or ecx, r14d
add ecx, r15d
mov rax, qword [rsp + 0x88]
ror rax, cl
add rax, r9
mov qword [rsp + 0x88], 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 + 0x128]
imul r9, qword [rsp + 0x88]
imul r9, r10
movabs rax, 0xc03a992a4b9761a5
xor r11, rax
not r11
xor r9, r11
sub r9, r8
mov qword [rsp + 0x128], r9
mov qword [rsp + 0x140], r12
movabs rax, 0x58d7d92120e17387
mov qword [rsp + 0x510], rax
movabs rdi, 0xb865992c791f70af
mov qword [rsp + 0x40], r12
movabs rax, 0x8eade5c75e224aca
movabs r11, 0x42891f82bda235ed
mov rcx, qword [0x140333070]
imul rcx, rax
not rcx
movabs r8, 0x42891f82bfd1f7d1
mov rax, qword [0x140333060]
xor rax, r8
and rcx, rax
ror rcx, 0x2c
shr rcx, 8
mov qword [rsp + 0x30], rcx
movabs rax, 0xa62f7cc2e19a24e8
mov r9, qword [0x140333060]
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 0x14022497a
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 [0x140333078]
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 0x140224cc9
sub rax, 1
je 0x140224bd1
sub rax, 1
je 0x140224b08
cmp rax, 1
jne 0x140224d5f
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 + 0x510], rcx
movabs rdx, 0x83570c1372b8
add rdx, qword [0x140333088]
movabs rax, 0x4718e3abc1e8dd63
xor rdx, rax
movzx eax, r8b
movzx ecx, cl
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 + 0x510]
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 0x140224d5f
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 0x140224d5f
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 [0x140333070]
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 0x140224d5f
mov rcx, r8
imul rcx, qword [0x140333080]
and rcx, qword [0x140333078]
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 [0x140333060], 0x273c23c
mov rdx, qword [0x140333068]
sub rcx, rdx
mov qword [rsp + 0x30], rcx
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, 0x8000003f
jge 0x140224d40
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 + 0x510]
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.1401ac8e4
mov qword [0x140337f68], rax
mov qword [rsp + 0x150], r12
movabs rax, 0x625b5922a69a7185
mov qword [rsp + 0x150], rax
movabs rcx, 0xf33a52ba3a740683
add rcx, qword [rsp + 0x150]
movabs rax, 0x2bd53662530dcc78
xor rcx, rax
sub rcx, qword [0x140333050]
sub rcx, qword [0x140333058]
movabs rax, 0x7120fb8099eb14ee
add rcx, rax
movabs rax, 0xf8f8cd942e3cc313
xor rcx, rax
sub rcx, qword [0x140333048]
movabs rax, 0x7d654b3de281216
add rcx, rax
mov rdx, qword [0x140333040]
add rcx, rdx
movabs rax, 0x5a9179a39554229b
xor rcx, rax
movabs rax, 0x5f627dc3e834e85e
sub rcx, rax
movabs rax, 0xaa3b3cd043e21e50
xor rcx, rax
movabs rax, 0xb483ce40a9e97a0e
add rax, rcx
add rdx, rax
not rdx
movabs rcx, 0x13cce94ae8e9ce6e
mov rax, qword [0x140333038]
xor rax, rcx
sub rdx, rax
movabs rax, 0xec3316b517163191
mov rcx, qword [0x140333030]
xor rcx, rax
movabs rax, 0xe0b56d9eda4ee743
add rax, rdx
add rcx, rax
movabs rax, 0x840ae76c4c64fa4e
xor rcx, rax
mov qword [rsp + 0x150], rcx
mov qword [rsp + 0x150], r12
mov qword [rsp + 0x158], r12
movabs rax, 0x2bc541973919eb36
mov qword [rsp + 0x158], rax
movabs rcx, 0xf33a52a3df3cc703
add rcx, qword [rsp + 0x158]
movabs rax, 0xec55366252f77141
xor rcx, rax
sub rcx, qword [0x140333050]
sub rcx, qword [0x140333058]
movabs rax, 0xedf047f23034554
sub rcx, rax
movabs rax, 0xf8f8cdaae2e0df91
xor rcx, rax
sub rcx, qword [0x140333048]
movabs rax, 0x47d654d236f990c9
add rcx, rax
mov rdx, qword [0x140333040]
add rcx, rdx
movabs rax, 0x5a9179bd155f2709
xor rcx, rax
movabs rax, 0x5f627de3228fac5c
sub rcx, rax
movabs rax, 0xa63b3cdb723097ca
xor rcx, rax
movabs rax, 0x3483ce5668a236d1
add rax, rcx
add rdx, rax
not rdx
movabs rcx, 0x13cce94a8f7cf170
mov rax, qword [0x140333038]
xor rax, rcx
sub rdx, rax
movabs rax, 0xec3316b570830e8f
mov rcx, qword [0x140333030]
xor rcx, rax
movabs r8, 0xe0b56d44d4071445
add r8, rdx
add r8, rcx
movabs rax, 0xcd8ccf3f884efd90
xor r8, rax
mov qword [rsp + 0x510], r8
mov qword [rsp + 0x158], r8
xorps xmm0, xmm0
movups xmmword [rsp + 0x340], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x350], xmm1
movdqa xmm0, xmmword [0x14030cbb0]
movdqu xmmword [rsp + 0x350], xmm0
mov byte [rsp + 0x340], r12b
mov dword [rsp + 0xbc], 3
mov dword [rsp + 0x98], r12d
mov dword [rsp + 0x98], 0xdad00b57
mov eax, dword [rsp + 0x98]
add eax, 0x439c62b5
xor eax, 0xf809d5a0
sub eax, dword [0x140333058]
sub eax, dword [0x140333050]
sub eax, 0x5a306426
xor eax, 0x34efc571
sub eax, dword [0x140333048]
mov rcx, qword [0x140333040]
add eax, 0xbfb9c8ef
add eax, ecx
xor eax, 0x1ae21973
add eax, 0x4db6afff
xor eax, 0x176da6f4
lea edx, [rcx - 0x7afec7a0]
add edx, eax
not edx
mov eax, dword [0x140333038]
xor eax, 0xd90e6fde
sub edx, eax
mov ecx, dword [0x140333030]
xor ecx, 0x26f19021
add ecx, 0x8f54b979
add ecx, edx
xor ecx, 0x5dc74b9e
mov dword [rsp + 0x98], ecx
movsxd rax, ecx
mov dword [rsp + 0x98], r12d
cmp r8, rax
jbe 0x14022529b
mov dword [rsp + 0x9c], r12d
mov dword [rsp + 0x9c], 0xc11aec45
mov eax, dword [rsp + 0x9c]
add eax, 0x48ef0830
xor eax, 0x9d84daf3
sub eax, dword [0x140333058]
sub eax, dword [0x140333050]
add eax, 0x34bfa3e9
xor eax, 0x4387d560
sub eax, dword [0x140333048]
mov rcx, qword [0x140333040]
add eax, 0x42001950
add eax, ecx
xor eax, 0xc8cfd4b3
sub eax, 0x4257d2ff
xor eax, 0x68ec29a2
lea edx, [rcx - 0x232c2a95]
add edx, eax
not edx
mov eax, dword [0x140333038]
xor eax, 0xc523ba74
sub edx, eax
mov ecx, dword [0x140333030]
xor ecx, 0x3adc458b
add ecx, 0xd0b4e1fb
add ecx, edx
xor ecx, 0x2f5780fc
mov dword [rsp + 0x9c], ecx
movsxd rdx, ecx
imul rdx, r8
lea rcx, [rsp + 0x340]
call fcn.14001fb74
nop
mov dword [rsp + 0x9c], r12d
mov rdi, r12
cmp qword [rsp + 0x510], r12
jbe 0x14022529b
mov rsi, qword [rsp + 0x510]
mov cl, byte [rsp + rdi + 0x128]
mov al, cl
shr al, 4
cmp al, 0xa
sbb dl, dl
and dl, 0xf9
add al, 0x37
add dl, al
mov byte [rsp + 0x90], dl
and cl, 0xf
cmp cl, 0xa
sbb al, al
and al, 0xf9
add cl, 0x37
add al, cl
mov byte [rsp + 0x91], al
lea rcx, [rsp + 0x340]
call fcn.14000c114
mov dword [rsp + 0xb8], r12d
mov dword [rsp + 0xb8], 0x9e713060
mov eax, dword [rsp + 0xb8]
add eax, 0x10e8bb6
xor eax, 0x210a9313
sub eax, dword [0x140333058]
sub eax, dword [0x140333050]
sub eax, 0x5c68baa1
xor eax, 0x7487d3cc
sub eax, dword [0x140333048]
mov rcx, qword [0x140333040]
add eax, 0x3e915247
add eax, ecx
xor eax, 0x42cbe2ae
add eax, 0x72de9133
xor eax, 0x70aea6e2
mov edx, dword [0x140333030]
xor edx, 0x23fbc77d
sub edx, eax
mov eax, dword [0x140333038]
xor eax, 0xdc043882
sub edx, eax
sub edx, ecx
sub edx, 0x44e9c7df
xor edx, 0xe372a57a
mov dword [rsp + 0xb8], edx
movsxd rdx, edx
mov dl, byte [rsp + rdx + 0x90]
lea rcx, [rsp + 0x340]
call fcn.14000c114
nop
mov dword [rsp + 0xb8], r12d
add rdi, r15
cmp rdi, rsi
jb 0x140225197
movabs rsi, 0xaaaaaaaaaaaaaaab
mov dword [rsp + 0xbc], r12d
lea rdx, [rsp + 0x340]
cmp qword [rsp + 0x358], 0xf
cmova rdx, qword [rsp + 0x340]
mov r8, qword [rsp + 0x350]
lea rcx, [rsp + 0x320]
call fcn.14001f758
nop
lea rcx, [rsp + 0x340]
call fcn.14000bb80
nop
mov qword [rsp + 0x158], r12
mov qword [rsp + 0x160], r12
movabs rax, 0x1fd9a99e7176a0d3
mov qword [rsp + 0x160], rax
movabs rcx, 0xcc5ad43ba7869ba
add rcx, qword [rsp + 0x160]
movabs rax, 0x8f0b4fedad974c7c
xor rcx, rax
sub rcx, qword [0x140333050]
sub rcx, qword [0x140333058]
movabs rax, 0x312ba68f0294f83b
sub rcx, rax
movabs rax, 0x70745a088384e50
xor rcx, rax
sub rcx, qword [0x140333048]
movabs rax, 0x1829ab4e38e21d69
add rcx, rax
mov rdx, qword [0x140333040]
add rcx, rdx
movabs rax, 0xa56e865ebf4f2172
xor rcx, rax
movabs rax, 0x2b02fde3ca2fde1e
sub rcx, rax
movabs rax, 0x83c4c330af93ec92
xor rcx, rax
movabs rax, 0x15ab4330ec65358c
add rax, rcx
add rdx, rax
not rdx
movabs rcx, 0xec3316b50ee9dffa
mov rax, qword [0x140333038]
xor rax, rcx
sub rdx, rax
movabs rax, 0x13cce94af1162005
mov rcx, qword [0x140333030]
xor rcx, rax
movabs rdi, 0x1f4a9132c06045a8
add rdi, rdx
add rdi, rcx
movabs rax, 0x9c1ccf9e200c9fe2
xor rdi, rax
mov qword [rsp + 0x160], rdi
xorps xmm0, xmm0
movups xmmword [rsp + 0x360], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x370], xmm1
movdqa xmm0, xmmword [0x14030cbb0]
movdqu xmmword [rsp + 0x370], xmm0
mov byte [rsp + 0x360], r12b
mov dword [rsp + 0xbc], 4
mov dword [rsp + 0xa0], r12d
mov dword [rsp + 0xa0], 0xdad00b57
mov eax, dword [rsp + 0xa0]
add eax, 0x439c62b5
xor eax, 0xf809d5a0
sub eax, dword [0x140333058]
sub eax, dword [0x140333050]
sub eax, 0x5a306426
xor eax, 0x34efc571
sub eax, dword [0x140333048]
mov rcx, qword [0x140333040]
add eax, 0xbfb9c8ef
add eax, ecx
xor eax, 0x1ae21973
add eax, 0x4db6afff
xor eax, 0x176da6f4
lea edx, [rcx - 0x7afec7a0]
add edx, eax
not edx
mov eax, dword [0x140333038]
xor eax, 0xd90e6fde
sub edx, eax
mov ecx, dword [0x140333030]
xor ecx, 0x26f19021
add ecx, 0x8f54b979
add ecx, edx
xor ecx, 0x5dc74b9e
mov dword [rsp + 0xa0], ecx
movsxd rax, ecx
mov dword [rsp + 0xa0], r12d
cmp rdi, rax
jbe 0x140225696
mov dword [rsp + 0xa4], r12d
mov dword [rsp + 0xa4], 0xc11aec45
mov eax, dword [rsp + 0xa4]
add eax, 0x48ef0830
xor eax, 0x9d84daf3
sub eax, dword [0x140333058]
sub eax, dword [0x140333050]
add eax, 0x34bfa3e9
xor eax, 0x4387d560
sub eax, dword [0x140333048]
mov rcx, qword [0x140333040]
add eax, 0x42001950
add eax, ecx
xor eax, 0xc8cfd4b3
sub eax, 0x4257d2ff
xor eax, 0x68ec29a2
lea edx, [rcx - 0x232c2a95]
add edx, eax
not edx
mov eax, dword [0x140333038]
xor eax, 0xc523ba74
sub edx, eax
mov ecx, dword [0x140333030]
xor ecx, 0x3adc458b
add ecx, 0xd0b4e1fb
add ecx, edx
xor ecx, 0x2f5780fc
mov dword [rsp + 0xa4], ecx
movsxd rdx, ecx
imul rdx, rdi
lea rcx, [rsp + 0x360]
call fcn.14001fb74
nop
mov dword [rsp + 0xa4], r12d
test rdi, rdi
je 0x140225696
mov r13, r12
mov cl, byte [rsp + r13 + 0x128]
mov al, cl
shr al, 4
cmp al, 0xa
sbb dl, dl
and dl, 0xf9
add al, 0x37
add dl, al
mov byte [rsp + 0x94], dl
and cl, 0xf
cmp cl, 0xa
sbb al, al
and al, 0xf9
add cl, 0x37
add al, cl
mov byte [rsp + 0x95], al
lea rcx, [rsp + 0x360]
call fcn.14000c114
mov dword [rsp + 0xa8], r12d
mov dword [rsp + 0xa8], 0x9e713060
mov eax, dword [rsp + 0xa8]
add eax, 0x10e8bb6
xor eax, 0x210a9313
sub eax, dword [0x140333058]
sub eax, dword [0x140333050]
sub eax, 0x5c68baa1
xor eax, 0x7487d3cc
sub eax, dword [0x140333048]
mov rcx, qword [0x140333040]
add eax, 0x3e915247
add eax, ecx
xor eax, 0x42cbe2ae
add eax, 0x72de9133
xor eax, 0x70aea6e2
mov edx, dword [0x140333030]
xor edx, 0x23fbc77d
sub edx, eax
mov eax, dword [0x140333038]
xor eax, 0xdc043882
sub edx, eax
sub edx, ecx
sub edx, 0x44e9c7df
xor edx, 0xe372a57a
mov dword [rsp + 0xa8], edx
movsxd rdx, edx
mov dl, byte [rsp + rdx + 0x94]
lea rcx, [rsp + 0x360]
call fcn.14000c114
nop
mov dword [rsp + 0xa8], r12d
add r13, r15
cmp r13, rdi
jb 0x140225594
lea r13, [0x140333060]
mov dword [rsp + 0xbc], r12d
lea rdx, [rsp + 0x360]
cmp qword [rsp + 0x378], 0xf
cmova rdx, qword [rsp + 0x360]
mov r8, qword [rsp + 0x370]
lea rcx, [rsp + 0x320]
call fcn.14001f758
nop
lea rcx, [rsp + 0x360]
call fcn.14000bb80
nop
mov qword [rsp + 0x160], r12
movabs rax, 0xf60eafe660000000
movabs r9, 0x369e1a1a61293de9
mov r11, qword [0x140333070]
imul r11, rax
movabs rax, 0xc81f744130000000
xor r11, rax
mov rcx, r11
imul rcx, r9
mov qword [rsp + 0x40], 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 [0x140333060]
mov rax, r8
imul rax, qword [0x140333070]
movabs rdx, 0xb9de928b9c288a1e
imul rax, rdx
not rax
and rcx, rax
ror rcx, 6
shr rcx, 8
mov qword [rsp + 0x30], 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 0x140225846
sub ecx, r15d
or ecx, r14d
add ecx, r15d
ror r9, cl
not r9
imul r9, r8
mov qword [rsp + 0x38], r9
imul rax, r9, 0xffffffffd0df3dcc
mov qword [rsp + 0x48], rax
add r10, rax
mov r9, rdi
imul r9, qword [rsp + 0x30]
sub r9, r10
movabs rax, 0x77036f24cb42ad76
xor r9, rax
movzx ecx, r10b
mov dword [rsp + 0x510], ecx
and ecx, 0xf
and ecx, edx
jge 0x140225898
sub ecx, r15d
or ecx, r14d
add ecx, r15d
rol r9, cl
movabs rcx, 0xfcf7fd7d7e94daac
mov rax, qword [rsp + 0x38]
imul rax, rcx
movabs rcx, 0x68fd11c8a6521ef
add rax, rcx
xor r9, rax
mov rax, r10
sub rax, qword [0x140333078]
xor r9, rax
xor r9, r8
xor r9, r11
mov rax, r9
and rax, r15
je 0x140225c4c
sub rax, 1
je 0x140225ae5
sub rax, 1
je 0x1402259ed
cmp rax, 1
jne 0x140225cfd
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 [0x140333088]
add rdx, rcx
movabs rax, 0xc9e3609dab146689
xor rdx, rax
movzx eax, r9b
movzx ecx, r14b
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 + 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, r9
imul rax, qword [r13 + rcx*8]
imul rax, r9
sub rax, qword [rsp + 0x30]
xor rbx, rax
jmp 0x140225d11
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 + 0x48]
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 + 0x40]
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 + 0x30]
and cl, bl
ror rdx, cl
movabs rax, 0x369e1a1a61293de9
mov rbx, rdx
imul rbx, rax
jmp 0x140225d07
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 + 0x510]
and eax, 0x8000003f
jge 0x140225b4d
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 [0x140333070]
movabs rax, 0x77036f24cb42ad76
imul rcx, rax
sub rcx, r10
mov rax, qword [rsp + 0x30]
sub rax, r8
xor rcx, rax
movabs rax, 0xc7a7c6a6fa373113
xor rcx, rax
mov qword [rsp + 0x510], 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 + 0x510]
div rcx
mov rcx, rdx
mov rdx, r9
imul rdx, r10
imul rdx, qword [rsp + 0x510]
shr rdx, cl
mov rax, rdi
sub rax, rdx
sub rax, r11
movabs r11, 0x789589435657d09
add r11, rax
xor r11, qword [rsp + 0x30]
movzx eax, dil
imul ecx, eax, 0xf6
and cl, bl
rol r11, cl
not r11
mov rbx, qword [rsp + 0x510]
jmp 0x140225d07
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 [0x140333080]
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 + 0x30]
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 [0x140333060], 0xffffffffd0df3dcc
mov rdx, qword [0x140333068]
sub rbx, rdx
mov al, r11b
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, 0x8000003f
jge 0x140225ce3
sub ecx, r15d
or ecx, r14d
add ecx, r15d
ror rbx, cl
movabs rax, 0xc961e5e59ed6c217
add rax, rbx
add rax, qword [rsp + 0x48]
mov qword [rsp + 0x30], 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 + 0x30]
imul r10, rbx
movabs rcx, 0xf5ed7e87d03e20e3
xor rcx, rdi
not rcx
xor rcx, r10
sub rcx, r8
call fcn.1401ad3dc
mov qword [0x140337f58], rax
lea rcx, [rsp + 0x308]
call fcn.1400c355c
xor r8d, r8d
mov byte [rsp + 0x68], r8b
lea rdx, [rsp + 0x320]
lea rcx, [rsp + 0x380]
call fcn.1401ab6f4
nop
lea rcx, [rsp + 0x3a0]
call fcn.1400801f4
nop
lea rdx, [rsp + 0x3c0]
mov rcx, rax
call fcn.14022cf10
nop
lea rdx, [rsp + 0x3e0]
mov rcx, rax
call fcn.14022cf10
nop
lea rcx, [rsp + 0x3c0]
call fcn.140052a40
nop
lea rcx, [rsp + 0x3a0]
call fcn.140052a40
xor eax, eax
mov byte [rsp + 0x69], al
lea rdx, [rsp + 0x480]
lea rcx, [rsp + 0x69]
call fcn.1401d5e74
mov r13, rax
mov qword [rsp + 0x510], rax
mov r14, r12
mov r12d, 0x6afe
xor edx, edx
mov rax, r14
movabs rcx, 0x13cce94adb9acf48
div rcx
lea esi, [rdx + 0x38]
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 [0x140333058]
sub r9w, word [0x140333050]
add r9w, bx
add r9w, si
sub r9w, cx
mov eax, 0x6fc1
add r9w, ax
lea eax, [rsi + rdi]
mov ecx, 0x2d07
add ax, cx
xor r9w, ax
sub r9w, word [0x140333048]
sub r9w, r8w
sub r9w, si
mov rcx, qword [0x140333040]
add r9w, cx
add r9w, r10w
add r9w, di
movzx eax, si
ror ax, 3
sub r9w, ax
sub r9w, 0x50
movzx eax, dx
sub ax, r8w
add ax, di
add ax, si
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
mov edx, 0x9d7
add edx, esi
add dx, dx
sub dx, r9w
movzx eax, r11w
xor ax, word [0x140333038]
sub dx, ax
mov eax, 0x7100
add eax, esi
mov r8d, 0x2440
xor ax, r8w
sub dx, ax
movzx eax, si
xor ax, word [0x140333030]
add dx, ax
sub dx, bx
sub dx, cx
sub dx, di
movzx eax, si
ror ax, 8
sub dx, ax
movzx eax, si
movzx ecx, r11w
imul ecx, eax
xor dx, cx
mov word [r13 + r14*2], dx
add r14, r15
cmp r14, 0x1e
jb 0x140225e10
xor r12d, r12d
mov rax, qword [rsp + 0x510]
mov qword [rsp + 0x2a0], rax
mov qword [rsp + 0x2a8], 0x3c
mov rax, qword [rsp + 0x2a0]
mov qword [rsp + 0x168], rax
xor r8d, r8d
mov byte [rsp + 0x6a], r8b
lea rdx, [rsp + 0x168]
lea rcx, [rsp + 0x400]
call fcn.1401ab6a4
nop
lea r8, [rsp + 0x400]
lea rdx, [rsp + 0x3e0]
lea rcx, [rsp + 0x420]
call fcn.140066acc
lea ebx, [r12 + 8]
mov dword [rsp + 0xbc], ebx
lea rcx, [rsp + 0x400]
call fcn.140052a40
nop
mov rcx, qword [rsp + 0x2a0]
test rcx, rcx
je 0x140226079
mov eax, r12d
cmp qword [rsp + 0x2a8], r12
jbe 0x140226079
mov byte [rax + rcx], r12b
add rax, r15
cmp rax, qword [rsp + 0x2a8]
jae 0x140226079
mov rcx, qword [rsp + 0x2a0]
jmp 0x14022605e
lea rcx, [rsp + 0x3e0]
call fcn.140052a40
lea r8, [rsp + 0x380]
lea rdx, [rsp + 0x420]
lea rcx, [rsp + 0x440]
call fcn.140066acc
nop
and ebx, 0xfffffff7
mov dword [rsp + 0xbc], ebx
lea rcx, [rsp + 0x420]
call fcn.140052a40
nop
lea rcx, [rsp + 0x380]
call fcn.140052a40
and ebx, 0xfffffffe
mov dword [rsp + 0xbc], ebx
lea rcx, [rsp + 0x320]
call fcn.14000bb80
nop
mov rcx, qword [rsp + 0x290]
test rcx, rcx
je 0x140226116
mov rax, r12
cmp qword [rsp + 0x298], r12
jbe 0x140226116
mov byte [rax + rcx], r12b
add rax, r15
cmp rax, qword [rsp + 0x298]
jae 0x140226116
mov rcx, qword [rsp + 0x290]
jmp 0x1402260fb
mov qword [rsp + 0x170], r12
mov dword [rsp + 0xac], r12d
mov dword [rsp + 0xac], 0xc2d30038
mov eax, dword [rsp + 0xac]
add eax, 0x148dd136
xor eax, 0x668aa692
sub eax, dword [0x140333058]
sub eax, dword [0x140333050]
add eax, 0x235cc78e
xor eax, 0x60ba9136
sub eax, dword [0x140333048]
mov rdx, qword [0x140333040]
add eax, 0xe41a0f70
add eax, edx
xor eax, 0x2c8eb768
add eax, 0x7897d621
xor eax, 0x3aee6828
mov ebx, dword [0x140333030]
xor ebx, 0x23adca67
sub ebx, eax
mov eax, dword [0x140333038]
xor eax, 0xdc523598
sub ebx, eax
sub ebx, edx
sub ebx, 0x6367ea2f
xor ebx, 0x83158028
mov qword [rsp + 0x510], rbx
mov dword [rsp + 0xac], ebx
mov qword [rsp + 0x170], rbx
mov dword [rsp + 0xac], r12d
xor eax, eax
mov byte [rsp + 0x6b], al
mov dword [rsp + 0x134], 0xf4403b83
mov eax, 0x951f
mov word [rsp + 0x138], ax
mov r13, r12
mov ebx, 0x6fc1
mov r12d, 0x6afe
xor edx, edx
mov rax, r13
movabs rcx, 0x13cce94adb9acf48
div rcx
lea r14d, [rdx + 0x38]
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 + 0x134]
sub r9w, si
add r9w, r12w
mov eax, 0x9204
sub ax, si
xor r9w, ax
sub r9w, word [0x140333058]
sub r9w, word [0x140333050]
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, r14w
sub r9w, r8w
sub r9w, word [0x140333048]
add r9w, r10w
add r9w, si
mov rcx, qword [0x140333040]
add r9w, cx
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 [0x140333030]
sub dx, r9w
movzx eax, r11w
xor ax, word [0x140333038]
sub dx, ax
mov eax, 0x7100
add eax, r14d
mov r8d, 0x2440
xor ax, r8w
sub dx, ax
mov eax, 0x9d7
add eax, r14d
add ax, ax
add dx, ax
sub dx, si
sub dx, di
sub dx, cx
movzx eax, r14w
ror ax, 8
sub dx, ax
movzx eax, r11w
movzx ecx, r14w
imul ecx, eax
xor dx, cx
mov word [rsp + r13*2 + 0x134], dx
add r13, r15
cmp r13, 3
jb 0x1402261ef
mov rbx, qword [rsp + 0x510]
xor r12d, r12d
lea r13, [0x140333060]
lea rax, [rsp + 0x134]
mov qword [rsp + 0x2b0], rax
mov qword [rsp + 0x2b8], 6
mov rax, qword [rsp + 0x2b0]
mov qword [rsp + 0x40], rax
lea rdx, [rsp + 0x460]
lea rcx, [rsp + 0x440]
call fcn.140066a7c
mov qword [rsp + 0x30], rax
cmp qword [rax + 0x18], 7
jbe 0x140226418
mov rax, qword [rax]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x178], r12
movabs rax, 0x6cad5b2aca5c7ffb
mov qword [rsp + 0x178], rax
mov qword [rsp + 0x180], r12
movabs rax, 0x765cdf5fd2b31a96
mov qword [rsp + 0x180], rax
movabs rcx, 0xf33a52b6b168a203
add rcx, qword [rsp + 0x180]
movabs rax, 0xc7553662530a436d
xor rcx, rax
sub rcx, qword [0x140333050]
sub rcx, qword [0x140333058]
movabs rax, 0xedf047f5b79c8e5
sub rcx, rax
movabs rax, 0xf8f8cd97c56c5525
xor rcx, rax
sub rcx, qword [0x140333048]
movabs rax, 0xc7d654b8aaaf0902
add rcx, rax
mov rsi, qword [0x140333040]
add rcx, rsi
movabs rax, 0x5a9179a79da5213d
xor rcx, rax
movabs rax, 0x5f627dc6e09f76f0
sub rcx, rax
movabs rax, 0xce3b3cd2088418eb
xor rcx, rax
movabs rdx, 0x3483ce441a358ece
add rdx, rcx
add rdx, rsi
not rdx
movabs rcx, 0x13cce94adac5a0dc
mov r10, qword [0x140333038]
mov rax, r10
xor rax, rcx
sub rdx, rax
movabs rax, 0xec3316b5253a5f23
mov rdi, qword [0x140333030]
mov rcx, rdi
xor rcx, rax
movabs rax, 0xe0b56d9047fce7b1
add rdx, rax
add rdx, rcx
movabs rax, 0xf18c70fd7d8ea214
xor rdx, rax
mov qword [rsp + 0x180], rdx
movabs rcx, 0xf33a52b612337583
add rcx, qword [rsp + 0x178]
movabs rax, 0x9ad536625309a438
xor rcx, rax
sub rcx, qword [0x140333050]
sub rcx, qword [0x140333058]
movabs rax, 0x7120fb80a663d6a1
add rcx, rax
movabs rax, 0xf8f8cd98671e5657
xor rcx, rax
sub rcx, qword [0x140333048]
movabs rax, 0x87d654b982cbb6ea
add rcx, rax
add rcx, rsi
movabs rax, 0x5a9179a8533dc7ff
xor rcx, rax
movabs rax, 0x5f627dc6c503ca5a
sub rcx, rax
movabs rax, 0x323b3cd25823a8d4
xor rcx, rax
movabs rax, 0xb483ce44b5104717
add rcx, rax
add rcx, rsi
not rcx
movabs rax, 0x13cce94ad848cc2a
xor r10, rax
sub rcx, r10
movabs rax, 0xec3316b527b733d5
xor rdi, rax
movabs rax, 0xe0b56d8dc8eda97f
add rcx, rax
add rcx, rdi
movabs rax, 0x8cdad32cd443cf2
xor rcx, rax
mov qword [rsp + 0x178], rcx
and rdx, rcx
cmp rbx, rdx
setne al
mov qword [rsp + 0x180], r12
mov qword [rsp + 0x178], r12
test al, al
je 0x1402268f4
mov esi, r12d
mov eax, 0xdb87a682
mov dword [rsp + 0x58], eax
mov dword [rsp + 0x510], 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 0x1402266c6
psrldq xmm0, 8
movq r9, xmm0
movzx ecx, cx
shr rcx, 1
lea r11, [r9 + rcx*2]
mov r10d, 0x41fa6e6
jmp 0x1402266b8
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 0x140226692
cmp r10d, esi
jne 0x140226830
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 0x140226830
mov r14d, dword [rdi + 0x18]
test r14d, r14d
je 0x140226830
mov r9d, dword [rdi + 0x20]
mov r8d, dword [rsp + 0x510]
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, 0x41fa6e6
mov r9b, byte [rbx]
add rbx, r15
mov r10d, 0x4764996c
test r9b, r9b
je 0x14022676f
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 0x140226730
mov dword [rsp + 0x60], r11d
mov r11, qword [rax + 0x30]
mov edx, dword [rsp + 0x60]
mov r8d, dword [rsp + 0x510]
cmp edx, r8d
je 0x140226782
test r14d, r14d
mov r9d, dword [rdi + 0x20]
jne 0x140226701
jmp 0x140226830
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 0x140226838
lea rax, [rdi + rcx]
cmp r8, rax
jae 0x140226838
mov eax, 0x41fa6e6
mov esi, eax
mov r11d, eax
mov dword [rsp + 0x510], eax
jmp 0x1402267e2
movsx ecx, al
mov edx, ecx
imul edx, ecx
add edx, 0x31
xor edx, r10d
mov eax, esi
xor eax, ecx
mov esi, edx
imul esi, eax
add r8, r15
mov al, byte [r8]
cmp al, 0x2e
jne 0x1402267c8
add r8, r15
mov al, byte [r8]
test al, al
je 0x14022681f
movsx ecx, al
mov edx, ecx
imul edx, ecx
add edx, 0x31
xor edx, r10d
mov eax, r11d
xor eax, ecx
mov r11d, edx
imul r11d, eax
add r8, r15
mov al, byte [r8]
test al, al
jne 0x1402267f3
mov dword [rsp + 0x510], r11d
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
jmp 0x140226666
mov rcx, qword [rsp + 0x170]
call r8
mov dword [rsp + 0xb0], r12d
mov dword [rsp + 0xb0], 0x4969487d
mov eax, dword [rsp + 0xb0]
add eax, 0x3b9576b4
xor eax, 0xc08cd9a
sub eax, dword [0x140333058]
sub eax, dword [0x140333050]
sub eax, 0x57184f62
xor eax, 0x4116cd22
sub eax, dword [0x140333048]
mov rcx, qword [0x140333040]
add eax, 0x261f2e4b
add eax, ecx
xor eax, 0x4809fea4
add eax, 0xc152e6e
xor eax, 0xfb795d2c
lea edx, [rcx - 0x7a300c13]
add edx, eax
not edx
mov eax, dword [0x140333038]
xor eax, 0xd4ee542e
sub edx, eax
mov ecx, dword [0x140333030]
xor ecx, 0x2b11abd1
add ecx, 0x8ad8f644
add ecx, edx
xor ecx, 0x59db738e
mov dword [rsp + 0xb0], ecx
movsxd rax, ecx
mov qword [rsp + 0x170], rax
mov dword [rsp + 0xb0], r12d
lea r13, [0x140333060]
jmp 0x1402268fc
mov dword [rsp + 0x58], 0xdb87a682
mov edi, r12d
mov dword [rsp + 0x60], 0xcfd39114
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 0x140226972
psrldq xmm0, 8
movq r8, xmm0
movzx ecx, cx
shr rcx, 1
lea r10, [r8 + rcx*2]
mov r9d, 0x55fd0952
jmp 0x140226964
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 0x140226944
cmp r9d, edi
jne 0x140226a32
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 0x140226a32
mov esi, dword [rbx + 0x18]
test esi, esi
je 0x140226a32
mov r9d, dword [rbx + 0x20]
mov r8d, dword [rsp + 0x60]
dec esi
mov edx, esi
mov qword [rsp + 0x38], rdx
lea rdx, [r10 + rsi*4]
mov r11d, dword [rdx + r9]
add r11, r10
mov edx, 0x55fd0952
mov r9b, byte [r11]
mov byte [rsp + 0x510], r9b
add r11, r15
mov r14d, 0x31
test r9b, r9b
mov r9d, 0x4764996c
je 0x140226a21
mov r10d, edx
mov dl, byte [rsp + 0x510]
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 0x1402269ea
mov dword [rsp + 0x78], r10d
mov r10, qword [rax + 0x30]
mov edx, dword [rsp + 0x78]
mov r8d, dword [rsp + 0x60]
cmp edx, r8d
je 0x140226a3a
test esi, esi
mov r9d, dword [rbx + 0x20]
jne 0x1402269a8
mov rax, qword [rax]
jmp 0x140226918
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 0x140226ae1
lea rax, [rcx + rbx]
cmp r8, rax
jae 0x140226ae1
mov edi, 0x55fd0952
mov r10d, edi
mov dword [rsp + 0x60], edi
jmp 0x140226a91
movsx ecx, al
mov edx, ecx
imul edx, ecx
add edx, r14d
xor edx, r9d
mov eax, edi
xor eax, ecx
mov edi, edx
imul edi, eax
add r8, r15
mov al, byte [r8]
cmp al, 0x2e
jne 0x140226a77
add r8, r15
mov al, byte [r8]
test al, al
je 0x140226acb
movsx ecx, al
mov edx, ecx
imul edx, ecx
add edx, r14d
xor edx, r9d
mov eax, r10d
xor eax, ecx
mov r10d, edx
imul r10d, eax
add r8, r15
mov al, byte [r8]
test al, al
jne 0x140226aa2
mov dword [rsp + 0x60], r10d
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
jmp 0x140226a32
mov rdx, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x30]
call r8
mov rbx, rax
mov qword [rsp + 0x170], rax
mov qword [rsp + 0x188], r12
movabs rax, 0x6cad5b2aca5c7ffb
mov qword [rsp + 0x188], rax
mov qword [rsp + 0x190], r12
movabs rax, 0x765cdf5fd2b31a96
mov qword [rsp + 0x190], rax
movabs rcx, 0xf33a52b6b168a203
add rcx, qword [rsp + 0x190]
movabs rax, 0xc7553662530a436d
xor rcx, rax
sub rcx, qword [0x140333050]
sub rcx, qword [0x140333058]
movabs rax, 0xedf047f5b79c8e5
sub rcx, rax
movabs rax, 0xf8f8cd97c56c5525
xor rcx, rax
sub rcx, qword [0x140333048]
movabs rax, 0xc7d654b8aaaf0902
add rcx, rax
mov rsi, qword [0x140333040]
add rcx, rsi
movabs rax, 0x5a9179a79da5213d
xor rcx, rax
movabs rax, 0x5f627dc6e09f76f0
sub rcx, rax
movabs rax, 0xce3b3cd2088418eb
xor rcx, rax
movabs rdx, 0x3483ce441a358ece
add rdx, rcx
add rdx, rsi
not rdx
mov r10, qword [0x140333038]
mov rax, r10
movabs rcx, 0x13cce94adac5a0dc
xor rax, rcx
sub rdx, rax
mov r11, qword [0x140333030]
mov rcx, r11
movabs rax, 0xec3316b5253a5f23
xor rcx, rax
movabs rax, 0xe0b56d9047fce7b1
add rdx, rax
add rdx, rcx
movabs rax, 0xf18c70fd7d8ea214
xor rdx, rax
mov qword [rsp + 0x190], rdx
movabs rcx, 0xf33a52b612337583
add rcx, qword [rsp + 0x188]
movabs rax, 0x9ad536625309a438
xor rcx, rax
sub rcx, qword [0x140333050]
sub rcx, qword [0x140333058]
movabs rax, 0x7120fb80a663d6a1
add rcx, rax
movabs rax, 0xf8f8cd98671e5657
xor rcx, rax
sub rcx, qword [0x140333048]
movabs rax, 0x87d654b982cbb6ea
add rcx, rax
add rcx, rsi
movabs rax, 0x5a9179a8533dc7ff
xor rcx, rax
movabs rax, 0x5f627dc6c503ca5a
sub rcx, rax
movabs rax, 0x323b3cd25823a8d4
xor rcx, rax
movabs rax, 0xb483ce44b5104717
add rcx, rax
add rcx, rsi
not rcx
movabs rax, 0x13cce94ad848cc2a
xor r10, rax
sub rcx, r10
movabs rax, 0xec3316b527b733d5
xor r11, rax
movabs rax, 0xe0b56d8dc8eda97f
add rcx, rax
add rcx, r11
movabs rax, 0x8cdad32cd443cf2
xor rcx, rax
mov qword [rsp + 0x188], rcx
and rcx, rdx
cmp rbx, rcx
setne dil
mov qword [rsp + 0x190], r12
mov qword [rsp + 0x188], r12
lea rcx, [rsp + 0x460]
call fcn.140052a40
nop
mov rcx, qword [rsp + 0x2b0]
test rcx, rcx
je 0x140226d59
mov rax, r12
cmp qword [rsp + 0x2b8], r12
jbe 0x140226d59
mov byte [rcx + rax], r12b
add rax, r15
cmp rax, qword [rsp + 0x2b8]
jae 0x140226d59
mov rcx, qword [rsp + 0x2b0]
jmp 0x140226d3e
test dil, dil
je 0x14022ac44
mov qword [rsp + 0x198], r12
movabs r14, 0x6cad5b2aca5c7ffb
mov qword [rsp + 0x198], r14
mov qword [rsp + 0x1a0], r12
movabs rax, 0x765cdf5fd2b31a96
mov qword [rsp + 0x1a0], rax
movabs rcx, 0xf33a52b6b168a203
add rcx, qword [rsp + 0x1a0]
movabs rax, 0xc7553662530a436d
xor rcx, rax
sub rcx, qword [0x140333050]
sub rcx, qword [0x140333058]
movabs rax, 0xedf047f5b79c8e5
sub rcx, rax
movabs rax, 0xf8f8cd97c56c5525
xor rcx, rax
sub rcx, qword [0x140333048]
movabs rax, 0xc7d654b8aaaf0902
add rcx, rax
mov rsi, qword [0x140333040]
add rcx, rsi
movabs rax, 0x5a9179a79da5213d
xor rcx, rax
movabs rax, 0x5f627dc6e09f76f0
sub rcx, rax
movabs rax, 0xce3b3cd2088418eb
xor rcx, rax
movabs rdx, 0x3483ce441a358ece
add rdx, rcx
add rdx, rsi
not rdx
mov r10, qword [0x140333038]
mov rax, r10
movabs rcx, 0x13cce94adac5a0dc
xor rax, rcx
sub rdx, rax
mov r11, qword [0x140333030]
mov rcx, r11
movabs rax, 0xec3316b5253a5f23
xor rcx, rax
movabs rax, 0xe0b56d9047fce7b1
add rdx, rax
add rdx, rcx
movabs rax, 0xf18c70fd7d8ea214
xor rdx, rax
mov qword [rsp + 0x1a0], rdx
movabs rcx, 0xf33a52b612337583
add rcx, qword [rsp + 0x198]
movabs rax, 0x9ad536625309a438
xor rcx, rax
sub rcx, qword [0x140333050]
sub rcx, qword [0x140333058]
movabs rax, 0x7120fb80a663d6a1
add rcx, rax
movabs rax, 0xf8f8cd98671e5657
xor rcx, rax
sub rcx, qword [0x140333048]
movabs rax, 0x87d654b982cbb6ea
add rcx, rax
add rcx, rsi
movabs rax, 0x5a9179a8533dc7ff
xor rcx, rax
movabs rax, 0x5f627dc6c503ca5a
sub rcx, rax
movabs rax, 0x323b3cd25823a8d4
xor rcx, rax
movabs rax, 0xb483ce44b5104717
add rcx, rax
add rcx, rsi
not rcx
movabs rax, 0x13cce94ad848cc2a
xor r10, rax
sub rcx, r10
movabs rax, 0xec3316b527b733d5
xor r11, rax
movabs rax, 0xe0b56d8dc8eda97f
add rcx, rax
add rcx, r11
movabs rax, 0x8cdad32cd443cf2
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 0x14022702a
mov dword [rsp + 0xb4], r12d
mov dword [rsp + 0xb4], 0xbc20bbf0
mov eax, dword [rsp + 0xb4]
add eax, 0xbca36e35
xor eax, 0x38a4ea8
sub eax, dword [0x140333058]
sub eax, dword [0x140333050]
add eax, 0x246486b7
xor eax, 0xba049dc3
sub eax, dword [0x140333048]
mov rcx, qword [0x140333040]
add eax, 0xdb70b8d3
add eax, ecx
xor eax, 0x90d61055
add eax, 0x2843f08d
xor eax, 0x7ee658fb
mov edx, dword [0x140333030]
xor edx, 0x250d73f3
sub edx, eax
mov eax, dword [0x140333038]
xor eax, 0xdaf28c0c
sub edx, eax
sub edx, ecx
sub edx, 0x1a321209
xor edx, 0xa1c05364
mov dword [rsp + 0xb4], edx
mov dword [rsp + 0xb4], r12d
movabs r14, 0xaaaaaaaaaaaaaaab
jmp 0x14022851b
mov qword [rsp + 0x1a8], r12
mov qword [rsp + 0x1a8], r14
mov qword [rsp + 0x1b0], r12
movabs rax, 0x765cdf5fd2b31a96
mov qword [rsp + 0x1b0], rax
movabs rcx, 0xf33a52b6b168a203
add rcx, qword [rsp + 0x1b0]
movabs rax, 0xc7553662530a436d
xor rcx, rax
sub rcx, qword [0x140333050]
sub rcx, qword [0x140333058]
movabs rax, 0xedf047f5b79c8e5
sub rcx, rax
movabs rax, 0xf8f8cd97c56c5525
xor rcx, rax
sub rcx, qword [0x140333048]
movabs rax, 0xc7d654b8aaaf0902
add rcx, rax
mov rsi, qword [0x140333040]
add rcx, rsi
movabs rax, 0x5a9179a79da5213d
xor rcx, rax
movabs rax, 0x5f627dc6e09f76f0
sub rcx, rax
movabs rax, 0xce3b3cd2088418eb
xor rcx, rax
movabs rdx, 0x3483ce441a358ece
add rdx, rcx
add rdx, rsi
not rdx
mov r10, qword [0x140333038]
mov rax, r10
movabs rcx, 0x13cce94adac5a0dc
xor rax, rcx
sub rdx, rax
mov r11, qword [0x140333030]
mov rcx, r11
movabs rax, 0xec3316b5253a5f23
xor rcx, rax
movabs rax, 0xe0b56d9047fce7b1
add rdx, rax
add rdx, rcx
movabs rax, 0xf18c70fd7d8ea214
xor rdx, rax
mov qword [rsp + 0x1b0], rdx
movabs rcx, 0xf33a52b612337583
add rcx, qword [rsp + 0x1a8]
movabs rax, 0x9ad536625309a438
xor rcx, rax
sub rcx, qword [0x140333050]
sub rcx, qword [0x140333058]
movabs rax, 0x7120fb80a663d6a1
add rcx, rax
movabs rax, 0xf8f8cd98671e5657
xor rcx, rax
sub rcx, qword [0x140333048]
movabs rax, 0x87d654b982cbb6ea
add rcx, rax
add rcx, rsi
movabs rax, 0x5a9179a8533dc7ff
xor rcx, rax
movabs rax, 0x5f627dc6c503ca5a
sub rcx, rax
movabs rax, 0x323b3cd25823a8d4
xor rcx, rax
movabs rax, 0xb483ce44b5104717
add rcx, rax
add rcx, rsi
not rcx
movabs rax, 0x13cce94ad848cc2a
xor r10, rax
sub rcx, r10
movabs rax, 0xec3316b527b733d5
xor r11, rax
movabs rax, 0xe0b56d8dc8eda97f
add rcx, rax
add rcx, r11
movabs rax, 0x8cdad32cd443cf2
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 0x1402272fc
mov dword [rsp + 0xd4], r12d
mov dword [rsp + 0xd4], 0x779341b6
mov eax, dword [rsp + 0xd4]
add eax, 0x418ba2b5
xor eax, 0x3809d390
sub eax, dword [0x140333058]
sub eax, dword [0x140333050]
sub eax, 0x5a2a31e6
xor eax, 0x3708c871
sub eax, dword [0x140333048]
mov rcx, qword [0x140333040]
add eax, 0xc287858f
add eax, ecx
xor eax, 0x1d3d3473
add eax, 0x4c3a3eff
xor eax, 0x1876177a
lea edx, [rcx - 0x78fc7ce0]
add edx, eax
not edx
mov eax, dword [0x140333038]
xor eax, 0xd9062cde
sub edx, eax
mov eax, dword [0x140333030]
xor eax, 0x26f9d321
add eax, 0x86c97e79
add eax, edx
xor eax, 0xa8b4c29e
mov dword [rsp + 0x510], eax
mov dword [rsp + 0xd4], eax
mov dword [rsp + 0xd4], r12d
mov dword [rsp + 0x60], 0xe5d31b4e
movabs r14, 0xaaaaaaaaaaaaaaab
jmp 0x140227517
mov esi, r12d
mov eax, 0xe5d31b4e
mov dword [rsp + 0x60], eax
mov dword [rsp + 0x78], 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 esi, esi
je 0x140227387
psrldq xmm0, 8
movq r9, xmm0
movzx ecx, cx
shr rcx, 1
lea r11, [r9 + rcx*2]
mov r10d, 0xef2cc512
jmp 0x140227379
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 0x140227353
cmp r10d, esi
jne 0x140227459
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 0x140227459
mov r8d, dword [rdi + 0x18]
test r8d, r8d
je 0x140227459
mov r10d, dword [rdi + 0x20]
mov r9d, dword [rsp + 0x78]
dec r8d
mov dword [rsp + 0x88], r8d
mov edx, r8d
mov qword [rsp + 0x40], rdx
lea rdx, [r11 + r8*4]
mov ebx, dword [rdx + r10]
add rbx, r11
mov edx, 0xef2cc512
mov r10b, byte [rbx]
mov byte [rsp + 0x510], r10b
add rbx, r15
test r10b, r10b
mov r10d, 0x4764996c
je 0x140227447
mov r11d, edx
mov dl, byte [rsp + 0x510]
movsx r8d, dl
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 dl, byte [rbx]
add rbx, r15
test dl, dl
jne 0x140227405
mov dword [rsp + 0x48], r11d
mov r11, qword [rax + 0x30]
mov r8d, dword [rsp + 0x88]
mov edx, dword [rsp + 0x48]
mov r9d, dword [rsp + 0x78]
cmp edx, r9d
je 0x140227461
test r8d, r8d
mov r10d, dword [rdi + 0x20]
jne 0x1402273bf
mov rax, qword [rax]
jmp 0x140227327
mov edx, dword [rdi + 0x1c]
add rdx, r11
mov eax, dword [rdi + 0x24]
add rax, r11
mov r8, qword [rsp + 0x40]
movzx eax, word [rax + r8*2]
mov r8d, dword [rdx + rax*4]
add r8, r11
cmp r8, rdi
jbe 0x140227502
lea rax, [rdi + rcx]
cmp r8, rax
jae 0x140227502
mov esi, 0xef2cc512
mov r11d, esi
mov dword [rsp + 0x78], esi
jmp 0x1402274b2
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 0x14022749a
add r8, r15
mov al, byte [r8]
test al, al
je 0x1402274ec
movsx ecx, al
mov edx, ecx
imul edx, ecx
add edx, 0x31
xor edx, r10d
mov eax, r11d
xor eax, ecx
mov r11d, edx
imul r11d, eax
add r8, r15
mov al, byte [r8]
test al, al
jne 0x1402274c3
mov dword [rsp + 0x78], r11d
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
jmp 0x140227459
mov rbx, qword [rsp + 0x170]
mov rcx, rbx
call r8
mov dword [rsp + 0x510], eax
mov dword [rsp + 0xc0], r12d
mov dword [rsp + 0xc0], 0x9d483d32
mov eax, dword [rsp + 0xc0]
add eax, 0x49f64735
xor eax, 0xdc89dbfa
sub eax, dword [0x140333058]
sub eax, dword [0x140333050]
add eax, 0x25bc8e2c
xor eax, 0x2e7c795f
sub eax, dword [0x140333048]
mov rcx, qword [0x140333040]
add eax, 0xf71ac344
add eax, ecx
xor eax, 0x13a390d1
add eax, 0x4265a1c9
xor eax, 0xf04081e5
lea edx, [rcx - 0x12c36e1]
add edx, eax
not edx
mov eax, dword [0x140333038]
xor eax, 0xd927d770
sub edx, eax
mov eax, dword [0x140333030]
xor eax, 0x26d8288f
add eax, 0xa8d5b30b
add eax, edx
xor eax, 0xed6ad790
mov dword [rsp + 0x48], eax
mov dword [rsp + 0xc0], eax
mov dword [rsp + 0xc4], r12d
mov dword [rsp + 0xc4], 0x6e3b19a6
mov eax, dword [rsp + 0xc4]
add eax, 0x6b08
xor eax, 0x5cef1b
sub eax, dword [0x140333058]
sub eax, dword [0x140333050]
sub eax, 0x537cd3bb
xor eax, 0x2c25d302
sub eax, dword [0x140333048]
mov rcx, qword [0x140333040]
add eax, 0xd2a2e4de
add eax, ecx
xor eax, 0xda8ba5fa
add eax, 0x70abe82d
xor eax, 0xf6a2d6f7
lea edx, [rcx + 0xe4f89be]
add edx, eax
not edx
mov eax, dword [0x140333038]
xor eax, 0x257459fa
sub edx, eax
mov eax, dword [0x140333030]
xor eax, 0xda8ba605
add eax, 0xcd0acce1
add eax, edx
xor eax, 0xec5bdde2
mov dword [rsp + 0x78], eax
mov dword [rsp + 0xc4], eax
mov qword [rsp + 0x1b8], r12
movabs rax, 0x6cad5b2aca5c7ffb
mov qword [rsp + 0x1b8], rax
mov qword [rsp + 0x1c0], r12
movabs rax, 0x765cdf5fd2b31a96
mov qword [rsp + 0x1c0], rax
movabs rcx, 0xf33a52b6b168a203
add rcx, qword [rsp + 0x1c0]
movabs rax, 0xc7553662530a436d
xor rcx, rax
sub rcx, qword [0x140333050]
sub rcx, qword [0x140333058]
movabs rax, 0xedf047f5b79c8e5
sub rcx, rax
movabs rax, 0xf8f8cd97c56c5525
xor rcx, rax
sub rcx, qword [0x140333048]
movabs rax, 0xc7d654b8aaaf0902
add rcx, rax
mov rsi, qword [0x140333040]
add rcx, rsi
movabs rax, 0x5a9179a79da5213d
xor rcx, rax
movabs rax, 0x5f627dc6e09f76f0
sub rcx, rax
movabs rax, 0xce3b3cd2088418eb
xor rcx, rax
movabs rdx, 0x3483ce441a358ece
add rdx, rcx
add rdx, rsi
not rdx
mov r10, qword [0x140333038]
mov rax, r10
movabs rcx, 0x13cce94adac5a0dc
xor rax, rcx
sub rdx, rax
mov r11, qword [0x140333030]
mov rcx, r11
movabs rax, 0xec3316b5253a5f23
xor rcx, rax
movabs rax, 0xe0b56d9047fce7b1
add rdx, rax
add rdx, rcx
movabs rax, 0xf18c70fd7d8ea214
xor rdx, rax
mov qword [rsp + 0x1c0], rdx
movabs rcx, 0xf33a52b612337583
add rcx, qword [rsp + 0x1b8]
movabs rax, 0x9ad536625309a438
xor rcx, rax
sub rcx, qword [0x140333050]
sub rcx, qword [0x140333058]
movabs rax, 0x7120fb80a663d6a1
add rcx, rax
movabs rax, 0xf8f8cd98671e5657
xor rcx, rax
sub rcx, qword [0x140333048]
movabs rax, 0x87d654b982cbb6ea
add rcx, rax
add rcx, rsi
movabs rax, 0x5a9179a8533dc7ff
xor rcx, rax
movabs rax, 0x5f627dc6c503ca5a
sub rcx, rax
movabs rax, 0x323b3cd25823a8d4
xor rcx, rax
movabs rax, 0xb483ce44b5104717
add rcx, rax
add rcx, rsi
not rcx
movabs rax, 0x13cce94ad848cc2a
xor r10, rax
sub rcx, r10
movabs rax, 0xec3316b527b733d5
xor r11, rax
movabs rax, 0xe0b56d8dc8eda97f
add rcx, rax
add rcx, r11
movabs rax, 0x8cdad32cd443cf2
xor rcx, rax
mov qword [rsp + 0x1b8], rcx
and rcx, rdx
cmp rbx, rcx
setne al
mov qword [rsp + 0x1c0], r12
mov qword [rsp + 0x1b8], r12
test al, al
jne 0x140227914
mov dword [rsp + 0xc8], r12d
mov dword [rsp + 0xc8], 0xda839e81
mov eax, dword [rsp + 0xc8]
add eax, 0x3ed07eb5
xor eax, 0x1409d0d5
sub eax, dword [0x140333058]
sub eax, dword [0x140333050]
sub eax, 0x5a22007a
xor eax, 0x39ced901
sub eax, dword [0x140333048]
mov rcx, qword [0x140333040]
add eax, 0xc63c8ced
add eax, ecx
xor eax, 0x205aa983
add eax, 0x4ad0908f
xor eax, 0x39d3bf53
lea edx, [rcx - 0x765476dc]
add edx, eax
not edx
mov eax, dword [0x140333038]
xor eax, 0xd8fb404e
sub edx, eax
mov ecx, dword [0x140333030]
xor ecx, 0x2704bfb1
add ecx, 0x7bd439e8
add ecx, edx
xor ecx, 0x5de9a7ee
mov dword [rsp + 0xc8], ecx
mov dword [rsp + 0xc8], r12d
mov dword [rsp + 0x88], 0x2a3e606
jmp 0x140227b11
mov esi, r12d
mov eax, 0x2a3e606
mov dword [rsp + 0x88], 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 0x140227998
psrldq xmm0, 8
movq r9, xmm0
movzx ecx, cx
shr rcx, 1
lea r11, [r9 + rcx*2]
mov r10d, 0x9defb2cc
jmp 0x14022798a
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 0x140227964
cmp r10d, esi
jne 0x140227a4a
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 0x140227a4a
mov r8d, dword [rdi + 0x18]
test r8d, r8d
je 0x140227a4a
mov r9d, dword [rdi + 0x20]
dec r8d
mov dword [rsp + 0x30], r8d
mov edx, r8d
mov qword [rsp + 0x50], rdx
lea rdx, [r11 + r8*4]
mov ebx, dword [rdx + r9]
add rbx, r11
mov edx, 0x9defb2cc
mov r9b, byte [rbx]
add rbx, r15
mov r10d, 0x4764996c
test r9b, r9b
je 0x140227a3b
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 0x1402279ff
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 0x140227a52
test r8d, r8d
mov r9d, dword [rdi + 0x20]
jne 0x1402279cb
mov rax, qword [rax]
jmp 0x140227938
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 0x140227af9
lea rax, [rdi + rcx]
cmp r9, rax
jae 0x140227af9
mov esi, 0x9defb2cc
mov r11d, esi
mov dword [rsp + 0x38], esi
jmp 0x140227aa9
movsx ecx, al
mov edx, ecx
imul edx, ecx
add edx, 0x31
xor edx, r10d
mov eax, esi
xor eax, ecx
mov esi, edx
imul esi, eax
add r9, r15
mov al, byte [r9]
cmp al, 0x2e
jne 0x140227a8f
add r9, r15
mov al, byte [r9]
test al, al
je 0x140227ae3
movsx ecx, al
mov edx, ecx
imul edx, ecx
add edx, 0x31
xor edx, r10d
mov eax, r11d
xor eax, ecx
mov r11d, edx
imul r11d, eax
add r9, r15
mov al, byte [r9]
test al, al
jne 0x140227aba
mov dword [rsp + 0x38], r11d
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
jmp 0x140227a4a
mov r8d, dword [rsp + 0x48]
mov edx, dword [rsp + 0x78]
mov rbx, qword [rsp + 0x170]
mov rcx, rbx
call r9
nop
mov dword [rsp + 0xc4], r12d
mov dword [rsp + 0xc0], r12d
mov qword [rsp + 0x1d0], r12
movabs rax, 0x6cad5b2aca5c7ffb
mov qword [rsp + 0x1d0], rax
mov qword [rsp + 0x1d8], r12
movabs rax, 0x765cdf5fd2b31a96
mov qword [rsp + 0x1d8], rax
movabs rcx, 0xf33a52b6b168a203
add rcx, qword [rsp + 0x1d8]
movabs rax, 0xc7553662530a436d
xor rcx, rax
sub rcx, qword [0x140333050]
sub rcx, qword [0x140333058]
movabs rax, 0xedf047f5b79c8e5
sub rcx, rax
movabs rax, 0xf8f8cd97c56c5525
xor rcx, rax
sub rcx, qword [0x140333048]
movabs rax, 0xc7d654b8aaaf0902
add rcx, rax
mov rsi, qword [0x140333040]
add rcx, rsi
movabs rax, 0x5a9179a79da5213d
xor rcx, rax
movabs rax, 0x5f627dc6e09f76f0
sub rcx, rax
movabs rax, 0xce3b3cd2088418eb
xor rcx, rax
movabs rdx, 0x3483ce441a358ece
add rdx, rcx
add rdx, rsi
not rdx
mov r10, qword [0x140333038]
mov rax, r10
movabs rcx, 0x13cce94adac5a0dc
xor rax, rcx
sub rdx, rax
mov r11, qword [0x140333030]
mov rcx, r11
movabs rax, 0xec3316b5253a5f23
xor rcx, rax
movabs rax, 0xe0b56d9047fce7b1
add rdx, rax
add rdx, rcx
movabs rax, 0xf18c70fd7d8ea214
xor rdx, rax
mov qword [rsp + 0x1d8], rdx
movabs rcx, 0xf33a52b612337583
add rcx, qword [rsp + 0x1d0]
movabs rax, 0x9ad536625309a438
xor rcx, rax
sub rcx, qword [0x140333050]
sub rcx, qword [0x140333058]
movabs rax, 0x7120fb80a663d6a1
add rcx, rax
movabs rax, 0xf8f8cd98671e5657
xor rcx, rax
sub rcx, qword [0x140333048]
movabs rax, 0x87d654b982cbb6ea
add rcx, rax
add rcx, rsi
movabs rax, 0x5a9179a8533dc7ff
xor rcx, rax
movabs rax, 0x5f627dc6c503ca5a
sub rcx, rax
movabs rax, 0x323b3cd25823a8d4
xor rcx, rax
movabs rax, 0xb483ce44b5104717
add rcx, rax
add rcx, rsi
not rcx
movabs rax, 0x13cce94ad848cc2a
xor r10, rax
sub rcx, r10
movabs rax, 0xec3316b527b733d5
xor r11, rax
movabs rax, 0xe0b56d8dc8eda97f
add rcx, rax
add rcx, r11
movabs rax, 0x8cdad32cd443cf2
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
jne 0x140227de8
mov dword [rsp + 0xd8], r12d
mov dword [rsp + 0xd8], 0x779341b6
mov eax, dword [rsp + 0xd8]
add eax, 0x418ba2b5
xor eax, 0x3809d390
sub eax, dword [0x140333058]
sub eax, dword [0x140333050]
sub eax, 0x5a2a31e6
xor eax, 0x3708c871
sub eax, dword [0x140333048]
mov rcx, qword [0x140333040]
add eax, 0xc287858f
add eax, ecx
xor eax, 0x1d3d3473
add eax, 0x4c3a3eff
xor eax, 0x1876177a
lea edx, [rcx - 0x78fc7ce0]
add edx, eax
not edx
mov eax, dword [0x140333038]
xor eax, 0xd9062cde
sub edx, eax
mov eax, dword [0x140333030]
xor eax, 0x26f9d321
add eax, 0x86c97e79
add eax, edx
xor eax, 0xa8b4c29e
mov dword [rsp + 0x40], eax
mov dword [rsp + 0xd8], eax
mov dword [rsp + 0xd8], r12d
jmp 0x140227fb8
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 0x140227e5c
psrldq xmm0, 8
movq r9, xmm0
movzx ecx, cx
shr rcx, 1
lea r11, [r9 + rcx*2]
mov r10d, 0xef2cc512
jmp 0x140227e4e
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 0x140227e28
cmp r10d, edi
jne 0x140227ef3
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 0x140227ef3
mov esi, dword [rbx + 0x18]
test esi, esi
je 0x140227ef3
mov r8d, dword [rbx + 0x20]
dec esi
mov edx, esi
mov qword [rsp + 0x50], rdx
lea rdx, [r10 + rsi*4]
mov r11d, dword [rdx + r8]
add r11, r10
mov edx, 0xef2cc512
mov r8b, byte [r11]
add r11, r15
mov r9d, 0x4764996c
test r8b, r8b
je 0x140227ee5
mov r10d, edx
movsx r8d, r8b
mov edx, r8d
imul edx, r8d
add edx, 0x31
xor edx, r9d
xor r8d, r10d
mov r10d, edx
imul r10d, r8d
mov r8b, byte [r11]
add r11, r15
test r8b, r8b
jne 0x140227eb2
mov dword [rsp + 0x40], r10d
mov r10, qword [rax + 0x30]
mov edx, dword [rsp + 0x40]
cmp edx, dword [rsp + 0x60]
je 0x140227efb
test esi, esi
mov r8d, dword [rbx + 0x20]
jne 0x140227e85
mov rax, qword [rax]
jmp 0x140227dfc
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 0x140227fa6
lea rax, [rbx + rcx]
cmp r8, rax
jae 0x140227fa6
mov eax, 0xef2cc512
mov edi, eax
mov edx, eax
mov dword [rsp + 0x60], eax
mov al, byte [r8]
cmp al, 0x2e
je 0x140227f63
movsx ecx, al
mov edx, ecx
imul edx, ecx
add edx, 0x31
xor edx, r9d
mov eax, edi
xor eax, ecx
mov edi, edx
imul edi, eax
add r8, r15
mov al, byte [r8]
cmp al, 0x2e
jne 0x140227f3e
mov edx, dword [rsp + 0x60]
add r8, r15
mov al, byte [r8]
test al, al
je 0x140227f90
movsx ecx, al
mov eax, ecx
imul eax, ecx
add eax, 0x31
xor eax, r9d
xor ecx, edx
mov edx, eax
imul edx, ecx
add r8, r15
mov al, byte [r8]
test al, al
jne 0x140227f6d
mov dword [rsp + 0x60], edx
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
jmp 0x140227ef3
mov rbx, qword [rsp + 0x170]
mov rcx, rbx
call r8
mov dword [rsp + 0x40], eax
mov dword [rsp + 0xdc], r12d
mov dword [rsp + 0xdc], 0xd4bf4233
mov eax, dword [rsp + 0xdc]
add eax, 0xbaa586b5
xor eax, 0x1c0a4caa
sub eax, dword [0x140333058]
sub eax, dword [0x140333050]
sub eax, 0x5b957f92
xor eax, 0xbc0a7ce1
sub eax, dword [0x140333048]
mov rcx, qword [0x140333040]
add eax, 0x1e24e091
add eax, ecx
xor eax, 0x931bac63
add eax, 0x21dc61af
xor eax, 0xbbe55cab
mov edx, dword [0x140333030]
xor edx, 0x25156b91
sub edx, eax
mov eax, dword [0x140333038]
xor eax, 0xdaea946e
sub edx, eax
sub edx, ecx
add edx, 0x5bde21ad
xor edx, 0x1dee0c4e
mov dword [rsp + 0x30], edx
mov dword [rsp + 0xdc], edx
mov qword [rsp + 0x1e0], r12
movabs rax, 0x6cad5b2aca5c7ffb
mov qword [rsp + 0x1e0], rax
mov qword [rsp + 0x1e8], r12
movabs rax, 0x765cdf5fd2b31a96
mov qword [rsp + 0x1e8], rax
movabs rcx, 0xf33a52b6b168a203
add rcx, qword [rsp + 0x1e8]
movabs rax, 0xc7553662530a436d
xor rcx, rax
sub rcx, qword [0x140333050]
sub rcx, qword [0x140333058]
movabs rax, 0xedf047f5b79c8e5
sub rcx, rax
movabs rax, 0xf8f8cd97c56c5525
xor rcx, rax
sub rcx, qword [0x140333048]
movabs rax, 0xc7d654b8aaaf0902
add rcx, rax
mov rsi, qword [0x140333040]
add rcx, rsi
movabs rax, 0x5a9179a79da5213d
xor rcx, rax
movabs rax, 0x5f627dc6e09f76f0
sub rcx, rax
movabs rax, 0xce3b3cd2088418eb
xor rcx, rax
movabs rdx, 0x3483ce441a358ece
add rdx, rcx
add rdx, rsi
not rdx
mov r10, qword [0x140333038]
mov rax, r10
movabs rcx, 0x13cce94adac5a0dc
xor rax, rcx
sub rdx, rax
mov r11, qword [0x140333030]
mov rcx, r11
movabs rax, 0xec3316b5253a5f23
xor rcx, rax
movabs rax, 0xe0b56d9047fce7b1
add rdx, rax
add rdx, rcx
movabs rax, 0xf18c70fd7d8ea214
xor rdx, rax
mov qword [rsp + 0x1e8], rdx
movabs rcx, 0xf33a52b612337583
add rcx, qword [rsp + 0x1e0]
movabs rax, 0x9ad536625309a438
xor rcx, rax
sub rcx, qword [0x140333050]
sub rcx, qword [0x140333058]
movabs rax, 0x7120fb80a663d6a1
add rcx, rax
movabs rax, 0xf8f8cd98671e5657
xor rcx, rax
sub rcx, qword [0x140333048]
movabs rax, 0x87d654b982cbb6ea
add rcx, rax
add rcx, rsi
movabs rax, 0x5a9179a8533dc7ff
xor rcx, rax
movabs rax, 0x5f627dc6c503ca5a
sub rcx, rax
movabs rax, 0x323b3cd25823a8d4
xor rcx, rax
movabs rax, 0xb483ce44b5104717
add rcx, rax
add rcx, rsi
not rcx
movabs rax, 0x13cce94ad848cc2a
xor r10, rax
sub rcx, r10
movabs rax, 0xec3316b527b733d5
xor r11, rax
movabs rax, 0xe0b56d8dc8eda97f
add rcx, rax
add rcx, r11
movabs rax, 0x8cdad32cd443cf2
xor rcx, rax
mov qword [rsp + 0x1e0], rcx
and rdx, rcx
cmp rbx, rdx
setne al
mov qword [rsp + 0x1e8], r12
mov qword [rsp + 0x1e0], r12
test al, al
jne 0x14022830f
mov dword [rsp + 0xe0], r12d
mov dword [rsp + 0xe0], 0xda839e81
mov eax, dword [rsp + 0xe0]
add eax, 0x3ed07eb5
xor eax, 0x1409d0d5
sub eax, dword [0x140333058]
sub eax, dword [0x140333050]
sub eax, 0x5a22007a
xor eax, 0x39ced901
sub eax, dword [0x140333048]
mov rcx, qword [0x140333040]
add eax, 0xc63c8ced
add eax, ecx
xor eax, 0x205aa983
add eax, 0x4ad0908f
xor eax, 0x39d3bf53
lea edx, [rcx - 0x765476dc]
add edx, eax
not edx
mov eax, dword [0x140333038]
xor eax, 0xd8fb404e
sub edx, eax
mov ecx, dword [0x140333030]
xor ecx, 0x2704bfb1
add ecx, 0x7bd439e8
add ecx, edx
xor ecx, 0x5de9a7ee
mov dword [rsp + 0xe0], ecx
mov dword [rsp + 0xe0], r12d
jmp 0x14022850f
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 0x140228383
psrldq xmm0, 8
movq r9, xmm0
movzx ecx, cx
shr rcx, 1
lea r11, [r9 + rcx*2]
mov r10d, 0x9defb2cc
jmp 0x140228375
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 0x14022834f
cmp r10d, esi
jne 0x14022843c
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 0x14022843c
mov r8d, dword [rdi + 0x18]
test r8d, r8d
je 0x14022843c
mov r9d, dword [rdi + 0x20]
dec r8d
mov dword [rsp + 0x38], r8d
mov edx, r8d
mov qword [rsp + 0x50], rdx
lea rdx, [r11 + r8*4]
mov ebx, dword [rdx + r9]
add rbx, r11
mov edx, 0x9defb2cc
mov r9b, byte [rbx]
add rbx, r15
mov r10d, 0x4764996c
test r9b, r9b
je 0x140228426
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 0x1402283ea
mov dword [rsp + 0x48], r11d
mov r11, qword [rax + 0x30]
mov r8d, dword [rsp + 0x38]
mov edx, dword [rsp + 0x48]
cmp edx, dword [rsp + 0x88]
je 0x140228444
test r8d, r8d
mov r9d, dword [rdi + 0x20]
jne 0x1402283b6
mov rax, qword [rax]
jmp 0x140228323
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 0x1402284f7
lea rax, [rdi + rcx]
cmp r9, rax
jae 0x1402284f7
mov eax, 0x9defb2cc
mov esi, eax
mov r8d, eax
mov dword [rsp + 0x88], eax
jmp 0x1402284a4
movsx ecx, al
mov edx, ecx
imul edx, ecx
add edx, 0x31
xor edx, r10d
mov eax, esi
xor eax, ecx
mov esi, edx
imul esi, eax
add r9, r15
mov al, byte [r9]
cmp al, 0x2e
jne 0x14022848a
add r9, r15
mov al, byte [r9]
test al, al
je 0x1402284e1
movsx ecx, al
mov edx, ecx
imul edx, ecx
add edx, 0x31
xor edx, r10d
mov eax, r8d
xor eax, ecx
mov r8d, edx
imul r8d, eax
add r9, r15
mov al, byte [r9]
test al, al
jne 0x1402284b5
mov dword [rsp + 0x88], r8d
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
jmp 0x14022843c
mov r8d, dword [rsp + 0x30]
mov edx, dword [rsp + 0x510]
mov rcx, qword [rsp + 0x170]
call r9
nop
mov dword [rsp + 0xdc], 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 [0x140333070]
imul rcx, rax
not rcx
movabs rdx, 0x337666be5c90ce4c
mov rax, qword [0x140333060]
xor rax, rdx
and rcx, rax
ror rcx, 0x13
shr rcx, 8
mov qword [rsp + 0x40], rcx
movabs rax, 0x63535f753fcf8870
mov r10, qword [0x140333078]
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 0x1402285e9
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 + 0x510], ecx
xor ecx, 6
and ecx, 0xf
and ecx, ebx
jge 0x140228647
sub ecx, r15d
or ecx, 0xffffffc0
add ecx, r15d
rol r9, cl
mov rax, r8
sub rax, qword [0x140333078]
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 0x140228962
sub rax, 1
je 0x14022885a
sub rax, 1
je 0x14022878f
cmp rax, 1
jne 0x1402289f6
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 [0x140333088]
add rdx, rcx
movabs rax, 0x995bd80dddab101c
xor rdx, rax
movzx eax, r9b
movzx ecx, bl
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 0x140228a00
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 0x1402289f6
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 + 0x510]
and eax, ebx
jge 0x1402288ae
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 [0x140333070]
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 0x140228a00
mov rcx, r9
imul rcx, qword [0x140333080]
and rcx, qword [0x140333080]
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 [0x140333060], 0xffffffffd8023b7e
mov rdx, qword [0x140333068]
sub rax, rdx
mov qword [rsp + 0x510], rax
mov al, sil
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, ebx
jge 0x1402289d4
sub ecx, r15d
or ecx, 0xffffffc0
add ecx, r15d
mov rax, qword [rsp + 0x510]
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.1401ac104
mov qword [0x140337f48], rax
mov edi, r12d
mov dword [rsp + 0x40], 0xa933e58e
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 0x140228ad9
psrldq xmm0, 8
movq r9, xmm0
movzx ecx, cx
shr rcx, 1
lea r11, [r9 + rcx*2]
mov r10d, 0x6c9ef158
jmp 0x140228acb
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 0x140228aa5
cmp r10d, edi
jne 0x140228ba5
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 0x140228ba5
mov r8d, dword [rbx + 0x18]
test r8d, r8d
je 0x140228ba5
mov r11d, 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 r11d, dword [rdx + r10]
add r11, r10
mov edx, 0x6c9ef158
mov sil, byte [r11]
mov byte [rsp + 0x510], sil
add r11, r15
test sil, sil
mov esi, 0x4764996c
je 0x140228b93
mov r10d, edx
mov dl, byte [rsp + 0x510]
movsx r8d, dl
mov r9d, r8d
imul r9d, r8d
add r9d, 0x31
xor r9d, esi
mov edx, r10d
xor edx, r8d
mov r10d, r9d
imul r10d, edx
mov dl, byte [r11]
add r11, r15
test dl, dl
jne 0x140228b53
mov dword [rsp + 0x38], r10d
mov r10, qword [rax + 0x30]
mov r8d, dword [rsp + 0x30]
mov edx, dword [rsp + 0x38]
mov r9d, dword [rsp + 0x40]
cmp edx, r9d
je 0x140228bad
test r8d, r8d
mov r11d, dword [rbx + 0x20]
jne 0x140228b11
mov rax, qword [rax]
jmp 0x140228a79
mov edx, dword [rbx + 0x1c]
add rdx, r10
mov eax, dword [rbx + 0x24]
add rax, r10
mov r8, qword [rsp + 0x48]
movzx eax, word [rax + r8*2]
mov r9d, dword [rdx + rax*4]
add r9, r10
cmp r9, rbx
jbe 0x140228c4e
lea rax, [rbx + rcx]
cmp r9, rax
jae 0x140228c4e
mov edi, 0x6c9ef158
mov r11d, edi
mov dword [rsp + 0x40], edi
jmp 0x140228bff
movsx ecx, al
mov edx, ecx
imul edx, ecx
add edx, 0x31
xor edx, esi
mov eax, edi
xor eax, ecx
mov edi, edx
imul edi, eax
add r9, r15
mov al, byte [r9]
cmp al, 0x2e
jne 0x140228be6
add r9, r15
mov al, byte [r9]
test al, al
je 0x140228c38
movsx ecx, al
mov edx, ecx
imul edx, ecx
add edx, 0x31
xor edx, esi
mov eax, r11d
xor eax, ecx
mov r11d, edx
imul r11d, eax
add r9, r15
mov al, byte [r9]
test al, al
jne 0x140228c10
mov dword [rsp + 0x40], r11d
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
jmp 0x140228ba5
mov qword [rsp + 0x1f0], r12
movabs rax, 0x6dc6801b74b34e09
mov qword [rsp + 0x1f0], rax
movabs rcx, 0xcc5ad496667453a
add rcx, qword [rsp + 0x1f0]
movabs rax, 0x6a8b4fedad9cf86b
xor rcx, rax
sub rcx, qword [0x140333050]
sub rcx, qword [0x140333058]
movabs rax, 0x4ed45970ec673b32
add rcx, rax
movabs rax, 0x707459ac599b762
xor rcx, rax
sub rcx, qword [0x140333048]
movabs rax, 0xd829ab4685ff6275
add rcx, rax
mov rdx, qword [0x140333040]
add rcx, rdx
movabs rax, 0xa56e86584732af14
xor rcx, rax
movabs rax, 0x2b02fde7caac6bcc
sub rcx, rax
movabs rax, 0xa7c4c32dd96f1f5b
xor rcx, rax
movabs rax, 0x95ab432b6829e20c
add rax, rcx
add rdx, rax
not rdx
movabs rcx, 0xec3316b525999b68
mov rax, qword [0x140333038]
xor rax, rcx
sub rdx, rax
movabs rax, 0x13cce94ada666497
mov rcx, qword [0x140333030]
xor rcx, rax
movabs r8, 0x1f4a9149670b7716
add r8, rdx
add r8, rcx
movabs rax, 0xd0eb8523a9bf4a58
xor r8, rax
mov qword [rsp + 0x1f0], r8
mov dword [rsp + 0xe4], r12d
mov dword [rsp + 0xe4], 0x857552eb
mov eax, dword [rsp + 0xe4]
add eax, 0x6b9824ae
xor eax, 0xba02fd9c
sub eax, dword [0x140333058]
sub eax, dword [0x140333050]
sub eax, 0x45a8576c
xor eax, 0x28541470
sub eax, dword [0x140333048]
mov rcx, qword [0x140333040]
add eax, 0x9f38b22
add eax, ecx
xor eax, 0xe946f033
add eax, 0x2ed79185
xor eax, 0x73a6861a
lea edx, [rcx + 0x2d1d58b5]
add edx, eax
not edx
mov eax, dword [0x140333038]
xor eax, 0xbdae5ee6
sub edx, eax
mov eax, dword [0x140333030]
xor eax, 0x4251a119
add eax, 0x53a3b065
add edx, eax
xor edx, 0x827bea76
mov dword [rsp + 0xe4], edx
mov rcx, qword [rsp + 0x500]
call r9
nop
mov dword [rsp + 0xe4], r12d
mov qword [rsp + 0x1f0], r12
mov qword [rsp + 0x1f8], r12
movabs rax, 0x6cad5b2aca5c7ffb
mov qword [rsp + 0x1f8], rax
mov qword [rsp + 0x200], r12
movabs rax, 0x765cdf5fd2b31a96
mov qword [rsp + 0x200], rax
movabs rcx, 0xf33a52b6b168a203
add rcx, qword [rsp + 0x200]
movabs rax, 0xc7553662530a436d
xor rcx, rax
sub rcx, qword [0x140333050]
sub rcx, qword [0x140333058]
movabs rax, 0xedf047f5b79c8e5
sub rcx, rax
movabs rax, 0xf8f8cd97c56c5525
xor rcx, rax
sub rcx, qword [0x140333048]
movabs rax, 0xc7d654b8aaaf0902
add rcx, rax
mov rdi, qword [0x140333040]
add rcx, rdi
movabs rax, 0x5a9179a79da5213d
xor rcx, rax
movabs rax, 0x5f627dc6e09f76f0
sub rcx, rax
movabs rax, 0xce3b3cd2088418eb
xor rcx, rax
movabs rdx, 0x3483ce441a358ece
add rdx, rcx
add rdx, rdi
not rdx
mov r10, qword [0x140333038]
mov rax, r10
movabs rcx, 0x13cce94adac5a0dc
xor rax, rcx
sub rdx, rax
mov r11, qword [0x140333030]
mov rcx, r11
movabs rax, 0xec3316b5253a5f23
xor rcx, rax
movabs rax, 0xe0b56d9047fce7b1
add rdx, rax
add rdx, rcx
movabs rax, 0xf18c70fd7d8ea214
xor rdx, rax
mov qword [rsp + 0x200], rdx
movabs rcx, 0xf33a52b612337583
add rcx, qword [rsp + 0x1f8]
movabs rax, 0x9ad536625309a438
xor rcx, rax
sub rcx, qword [0x140333050]
sub rcx, qword [0x140333058]
movabs rax, 0x7120fb80a663d6a1
add rcx, rax
movabs rax, 0xf8f8cd98671e5657
xor rcx, rax
sub rcx, qword [0x140333048]
movabs rax, 0x87d654b982cbb6ea
add rcx, rax
add rcx, rdi
movabs rax, 0x5a9179a8533dc7ff
xor rcx, rax
movabs rax, 0x5f627dc6c503ca5a
sub rcx, rax
movabs rax, 0x323b3cd25823a8d4
xor rcx, rax
movabs rax, 0xb483ce44b5104717
add rcx, rax
add rcx, rdi
not rcx
movabs rax, 0x13cce94ad848cc2a
xor r10, rax
sub rcx, r10
movabs rax, 0xec3316b527b733d5
xor r11, rax
movabs rax, 0xe0b56d8dc8eda97f
add rcx, rax
add rcx, r11
movabs rax, 0x8cdad32cd443cf2
xor rcx, rax
mov qword [rsp + 0x1f8], rcx
and rdx, rcx
mov rbx, qword [rsp + 0x170]
mov qword [rsp + 0x40], rbx
cmp rbx, rdx
setne al
mov qword [rsp + 0x200], r12
mov qword [rsp + 0x1f8], r12
test al, al
jne 0x1402290d9
mov dword [rsp + 0xe8], r12d
mov dword [rsp + 0xe8], 0x146e9e46
mov eax, dword [rsp + 0xe8]
add eax, 0x50249c35
xor eax, 0x3189e229
sub eax, dword [0x140333058]
sub eax, dword [0x140333050]
add eax, 0x25aa032d
xor eax, 0x28356b0b
sub eax, dword [0x140333048]
mov rcx, qword [0x140333040]
add eax, 0x6eb6dee2
add eax, ecx
xor eax, 0xc96b7dd
add eax, 0x487ab555
xor eax, 0x452925f2
lea edx, [rcx - 0x72f478e]
add edx, eax
not edx
mov eax, dword [0x140333038]
xor eax, 0xd94090c4
sub edx, eax
mov ecx, dword [0x140333030]
xor ecx, 0x26bf6f3b
add ecx, 0xc16a005f
add ecx, edx
xor ecx, 0x2ae2592c
mov dword [rsp + 0xe8], ecx
mov dword [rsp + 0xe8], r12d
jmp 0x14022936c
mov ebx, r12d
mov dword [rsp + 0x40], 0xcafe8dde
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 0x14022914b
psrldq xmm0, 8
movq r8, xmm0
movzx ecx, cx
shr rcx, 1
lea r10, [r8 + rcx*2]
mov r9d, 0x9b771b88
jmp 0x14022913d
movsx edx, byte [r8]
mov ecx, edx
imul ecx, edx
add ecx, 0x31
xor ecx, esi
xor edx, r9d
mov r9d, ecx
imul r9d, edx
add r8, 2
cmp r8, r10
jne 0x140229121
cmp r9d, ebx
jne 0x140229200
mov r9, qword [rax + 0x30]
movsxd rcx, dword [r9 + 0x3c]
mov rcx, qword [rcx + r9 + 0x88]
mov r11d, ecx
add r11, r9
shr rcx, 0x20
cmp r11, r9
je 0x140229200
mov edi, dword [r11 + 0x18]
test edi, edi
je 0x140229200
mov r10d, dword [r11 + 0x20]
mov r8d, dword [rsp + 0x40]
dec edi
mov edx, edi
mov qword [rsp + 0x38], rdx
lea rdx, [r9 + rdi*4]
mov r10d, dword [rdx + r10]
add r10, r9
mov edx, 0x9b771b88
mov r9b, byte [r10]
mov byte [rsp + 0x510], r9b
add r10, r15
test r9b, r9b
mov r9, qword [rax + 0x30]
je 0x1402291f3
mov r9d, edx
mov dl, byte [rsp + 0x510]
movsx r8d, dl
mov edx, r8d
imul edx, r8d
add edx, 0x31
xor edx, esi
xor r8d, r9d
mov r9d, edx
imul r9d, r8d
mov dl, byte [r10]
add r10, r15
test dl, dl
jne 0x1402291bd
mov dword [rsp + 0x30], r9d
mov r9, qword [rax + 0x30]
mov edx, dword [rsp + 0x30]
mov r8d, dword [rsp + 0x40]
cmp edx, r8d
je 0x140229208
test edi, edi
mov r10d, dword [r11 + 0x20]
jne 0x140229183
mov rax, qword [rax]
jmp 0x1402290f5
mov edx, dword [r11 + 0x1c]
add rdx, r9
mov eax, dword [r11 + 0x24]
add rax, r9
mov r8, qword [rsp + 0x38]
movzx eax, word [rax + r8*2]
mov r10d, dword [rdx + rax*4]
add r10, r9
cmp r10, r11
jbe 0x1402292ab
lea rax, [r11 + rcx]
cmp r10, rax
jae 0x1402292ab
mov ebx, 0x9b771b88
mov r11d, ebx
mov dword [rsp + 0x40], ebx
jmp 0x14022925c
movsx ecx, al
mov edx, ecx
imul edx, ecx
add edx, 0x31
xor edx, esi
mov eax, ebx
xor eax, ecx
mov ebx, edx
imul ebx, eax
add r10, r15
mov al, byte [r10]
cmp al, 0x2e
jne 0x140229243
add r10, r15
mov al, byte [r10]
test al, al
je 0x140229295
movsx ecx, al
mov edx, ecx
imul edx, ecx
add edx, 0x31
xor edx, esi
mov eax, r11d
xor eax, ecx
mov r11d, edx
imul r11d, eax
add r10, r15
mov al, byte [r10]
test al, al
jne 0x14022926d
mov dword [rsp + 0x40], r11d
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
jmp 0x140229200
mov dword [rsp + 0xec], r12d
mov dword [rsp + 0xec], 0x690cd443
mov eax, dword [rsp + 0xec]
add eax, 0x51624335
xor eax, 0xd889e366
sub eax, dword [0x140333058]
sub eax, dword [0x140333050]
add eax, 0x25a64a38
xor eax, 0x26f2cd6f
sub eax, dword [0x140333048]
mov rcx, qword [0x140333040]
add eax, 0xed07aeb2
add eax, ecx
xor eax, 0xb2c6561
add eax, 0x47e310b9
xor eax, 0xc8a4885
lea edx, [rcx - 0x8643efd]
add edx, eax
not edx
mov eax, dword [0x140333038]
xor eax, 0xd9458760
sub edx, eax
mov ecx, dword [0x140333030]
xor ecx, 0x26ba789f
add ecx, 0xc66392fb
add ecx, edx
xor ecx, 0x256414a0
mov dword [rsp + 0xec], ecx
movsxd rdx, ecx
mov rbx, qword [rsp + 0x170]
mov qword [rsp + 0x40], rbx
mov r9, rbx
mov r8, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x500]
call r10
nop
mov dword [rsp + 0xec], r12d
mov dword [rsp + 0xf0], r12d
mov dword [rsp + 0xf0], 0xbeb3953
mov eax, dword [rsp + 0xf0]
add eax, 0x653f33ae
xor eax, 0xc902f743
sub eax, dword [0x140333058]
sub eax, dword [0x140333050]
sub eax, 0x45954c99
xor eax, 0x2ec66934
sub eax, dword [0x140333048]
mov rcx, qword [0x140333040]
add eax, 0x92914646
add eax, ecx
xor eax, 0xf0846317
add eax, 0x3158f791
xor eax, 0xfed33161
lea edx, [rcx + 0x3349db1e]
add edx, eax
not edx
mov eax, dword [0x140333038]
xor eax, 0xbd94fb22
sub edx, eax
mov ecx, dword [0x140333030]
xor ecx, 0x426b04dd
add ecx, 0x3a68d121
add ecx, edx
xor ecx, 0xb8bf545a
mov dword [rsp + 0xf0], ecx
mov rax, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x500]
mov byte [rax + rdx], cl
mov dword [rsp + 0xf0], r12d
mov qword [rsp + 0x208], r12
movabs rax, 0x6cad5b2aca5c7ffb
mov qword [rsp + 0x208], rax
mov qword [rsp + 0x210], r12
movabs rax, 0x765cdf5fd2b31a96
mov qword [rsp + 0x210], rax
movabs rcx, 0xf33a52b6b168a203
add rcx, qword [rsp + 0x210]
movabs rax, 0xc7553662530a436d
xor rcx, rax
sub rcx, qword [0x140333050]
sub rcx, qword [0x140333058]
movabs rax, 0xedf047f5b79c8e5
sub rcx, rax
movabs rax, 0xf8f8cd97c56c5525
xor rcx, rax
sub rcx, qword [0x140333048]
movabs rax, 0xc7d654b8aaaf0902
add rcx, rax
mov rsi, qword [0x140333040]
add rcx, rsi
movabs rax, 0x5a9179a79da5213d
xor rcx, rax
movabs rax, 0x5f627dc6e09f76f0
sub rcx, rax
movabs rax, 0xce3b3cd2088418eb
xor rcx, rax
movabs rdx, 0x3483ce441a358ece
add rdx, rcx
add rdx, rsi
not rdx
mov r10, qword [0x140333038]
mov rax, r10
movabs rcx, 0x13cce94adac5a0dc
xor rax, rcx
sub rdx, rax
mov r11, qword [0x140333030]
mov rcx, r11
movabs rax, 0xec3316b5253a5f23
xor rcx, rax
movabs rax, 0xe0b56d9047fce7b1
add rdx, rax
add rdx, rcx
movabs rax, 0xf18c70fd7d8ea214
xor rdx, rax
mov qword [rsp + 0x210], rdx
movabs rcx, 0xf33a52b612337583
add rcx, qword [rsp + 0x208]
movabs rax, 0x9ad536625309a438
xor rcx, rax
sub rcx, qword [0x140333050]
sub rcx, qword [0x140333058]
movabs rax, 0x7120fb80a663d6a1
add rcx, rax
movabs rax, 0xf8f8cd98671e5657
xor rcx, rax
sub rcx, qword [0x140333048]
movabs rax, 0x87d654b982cbb6ea
add rcx, rax
add rcx, rsi
movabs rax, 0x5a9179a8533dc7ff
xor rcx, rax
movabs rax, 0x5f627dc6c503ca5a
sub rcx, rax
movabs rax, 0x323b3cd25823a8d4
xor rcx, rax
movabs rax, 0xb483ce44b5104717
add rcx, rax
add rcx, rsi
not rcx
movabs rax, 0x13cce94ad848cc2a
xor r10, rax
sub rcx, r10
movabs rax, 0xec3316b527b733d5
xor r11, rax
movabs rax, 0xe0b56d8dc8eda97f
add rcx, rax
add rcx, r11
movabs rax, 0x8cdad32cd443cf2
xor rcx, rax
mov qword [rsp + 0x208], rcx
and rcx, rdx
cmp rbx, rcx
setne al
mov qword [rsp + 0x210], r12
mov qword [rsp + 0x208], r12
test al, al
je 0x1402298fe
mov esi, r12d
mov dword [rsp + 0x40], 0xdb87a682
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 0x1402296bf
psrldq xmm0, 8
movq r9, xmm0
movzx ecx, cx
shr rcx, 1
lea r11, [r9 + rcx*2]
mov r10d, 0x41fa6e6
jmp 0x1402296b1
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 0x14022968b
cmp r10d, esi
jne 0x14022978b
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 0x14022978b
mov r8d, dword [rdi + 0x18]
test r8d, r8d
je 0x14022978b
mov r10d, dword [rdi + 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 ebx, dword [rdx + r10]
add rbx, r11
mov edx, 0x41fa6e6
mov r10b, byte [rbx]
mov byte [rsp + 0x510], r10b
add rbx, r15
test r10b, r10b
mov r10d, 0x4764996c
je 0x140229779
mov r11d, edx
mov dl, byte [rsp + 0x510]
movsx r8d, dl
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 dl, byte [rbx]
add rbx, r15
test dl, dl
jne 0x14022973a
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 0x140229793
test r8d, r8d
mov r10d, dword [rdi + 0x20]
jne 0x1402296f7
mov rax, qword [rax]
jmp 0x14022965f
mov edx, dword [rdi + 0x1c]
add rdx, r11
mov eax, dword [rdi + 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, rdi
jbe 0x14022983c
lea rax, [rdi + rcx]
cmp r8, rax
jae 0x14022983c
mov eax, 0x41fa6e6
mov esi, eax
mov r11d, eax
mov dword [rsp + 0x40], eax
jmp 0x1402297ec
movsx ecx, al
mov edx, ecx
imul edx, ecx
add edx, 0x31
xor edx, r10d
mov eax, esi
xor eax, ecx
mov esi, edx
imul esi, eax
add r8, r15
mov al, byte [r8]
cmp al, 0x2e
jne 0x1402297d2
add r8, r15
mov al, byte [r8]
test al, al
je 0x140229826
movsx ecx, al
mov edx, ecx
imul edx, ecx
add edx, 0x31
xor edx, r10d
mov eax, r11d
xor eax, ecx
mov r11d, edx
imul r11d, eax
add r8, r15
mov al, byte [r8]
test al, al
jne 0x1402297fd
mov dword [rsp + 0x40], r11d
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
jmp 0x14022978b
mov rcx, qword [rsp + 0x170]
call r8
mov dword [rsp + 0x110], r12d
mov dword [rsp + 0x110], 0x4969487d
mov eax, dword [rsp + 0x110]
add eax, 0x3b9576b4
xor eax, 0xc08cd9a
sub eax, dword [0x140333058]
sub eax, dword [0x140333050]
sub eax, 0x57184f62
xor eax, 0x4116cd22
sub eax, dword [0x140333048]
mov rcx, qword [0x140333040]
add eax, 0x261f2e4b
add eax, ecx
xor eax, 0x4809fea4
add eax, 0xc152e6e
xor eax, 0xfb795d2c
lea edx, [rcx - 0x7a300c13]
add edx, eax
not edx
mov eax, dword [0x140333038]
xor eax, 0xd4ee542e
sub edx, eax
mov ecx, dword [0x140333030]
xor ecx, 0x2b11abd1
add ecx, 0x8ad8f644
add ecx, edx
xor ecx, 0x59db738e
mov dword [rsp + 0x110], ecx
movsxd rbx, ecx
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x170], rbx
mov dword [rsp + 0x110], r12d
movabs r14, 0xaaaaaaaaaaaaaaab
movabs rax, 0x341ad163d1f6c5aa
mov qword [rsp + 0x510], rax
movabs rsi, 0x13dbc77816216ad7
mov qword [rsp + 0x30], r12
movabs rax, 0xe64946e7ef83ddba
movabs r11, 0xa73f4c244a346e6f
mov rcx, qword [0x140333070]
imul rcx, rax
not rcx
shr rcx, 8
movabs rdx, 0x58c0b3db93832e00
mov rax, qword [0x140333060]
xor rax, rdx
shr rax, 8
and rcx, rax
mov qword [rsp + 0x38], rcx
movabs rax, 0xd216b512d5efa08
mov r9, qword [0x140333080]
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 0x1402299db
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 [0x140333078]
xor r10, rax
xor r10, r11
mov rax, r10
and eax, 3
je 0x140229d2e
sub rax, 1
je 0x140229c34
sub rax, 1
je 0x140229b69
cmp rax, 1
jne 0x140229dc0
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 + 0x510], rcx
movabs rdx, 0x83570e65b4e4
add rdx, qword [0x140333088]
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 + 0x510]
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 0x140229dc0
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 0x140229dc0
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 [0x140333070]
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 0x140229dc0
mov rcx, r10
imul rcx, qword [0x140333080]
and rcx, qword [0x140333088]
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 [0x140333060], 0xffffffffd9b74094
mov rdx, qword [0x140333068]
sub rcx, rdx
mov qword [rsp + 0x38], rcx
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, edi
jge 0x140229da1
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 + 0x510]
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.1401ac050
mov qword [0x140337f40], rax
mov dword [rsp + 0xf8], r12d
mov dword [rsp + 0xf8], 0x89a6b688
mov eax, dword [rsp + 0xf8]
add eax, 0x779df1b8
xor eax, 0x870d09a2
sub eax, dword [0x140333058]
sub eax, dword [0x140333050]
sub eax, 0x63cc68d3
xor eax, 0xf41e3032
sub eax, dword [0x140333048]
mov rcx, qword [0x140333040]
add eax, 0xe6a1ab50
add eax, ecx
xor eax, 0x73905254
add eax, 0x9e72d01
xor eax, 0x5533f66
mov edx, dword [0x140333030]
xor edx, 0x1a2189e5
sub edx, eax
mov eax, dword [0x140333038]
xor eax, 0xe5de761a
sub edx, eax
sub edx, ecx
add edx, 0x4c187fa
xor edx, 0x8a8d8f42
mov dword [rsp + 0xf8], edx
movsxd rax, edx
mov qword [rsp + 0x30], rax
mov dword [rsp + 0xf8], r12d
cmp rax, qword [rsp + 0x50]
jae 0x14022a70e
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 [0x140333070]
imul rcx, rax
not rcx
movabs rdx, 0x13d8a57bc57680b4
mov rax, qword [0x140333060]
xor rax, rdx
and rcx, rax
ror rcx, 0x21
shr rcx, 8
mov qword [rsp + 0x48], rcx
movabs rax, 0x7915736eb21c2070
mov r9, qword [0x140333068]
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 0x140229fac
sub ecx, r15d
or ecx, 0xffffffc0
add ecx, r15d
mov rax, r9
ror rax, cl
not rax
mov qword [rsp + 0x60], rax
movabs rcx, 0x9fee238d2de61fa0
imul rax, rcx
mov qword [rsp + 0x78], 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 + 0x510], ecx
and ecx, 0xf
and ecx, edi
jge 0x14022a008
sub ecx, r15d
or ecx, 0xffffffc0
add ecx, r15d
rol r8, cl
mov rax, r11
sub rax, qword [0x140333078]
xor r8, rax
movabs rcx, 0xcbf3f8f785dcaac0
mov rax, qword [rsp + 0x60]
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 0x14022a34e
sub rax, 1
je 0x14022a23d
sub rax, 1
je 0x14022a16a
cmp rax, 1
jne 0x14022a3cf
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 [0x140333088]
add rdx, rcx
movabs rax, 0x1d1fe8f8b2cc05ee
xor rdx, rax
movzx eax, dil
movzx ecx, r8b
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 + 0x78]
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 0x14022a3d4
movabs rcx, 0xaaaaaa1ac8147433
mov r9, r8
xor r9, rcx
movabs rcx, 0x1206ed0a19a87f
imul r9, rcx
movabs rdx, 0xffff7e8aee0446ef
mov rcx, qword [rsp + 0x78]
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 0x14022a3d4
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 + 0x510]
and eax, edi
jge 0x14022a295
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 [0x140333070]
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 0x14022a3cf
mov r10, r8
imul r10, qword [0x140333080]
and r10, qword [0x140333070]
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 [0x140333060], 0x1d7b7078
sub rdx, qword [0x140333068]
not al
movzx ecx, al
movzx eax, byte [0x140333068]
xor ecx, eax
and ecx, edi
jge 0x14022a3b5
sub ecx, r15d
or ecx, 0xffffffc0
add ecx, r15d
ror rdx, cl
movabs rax, 0x1d9d6d80b8e19272
add rax, rdx
add rax, qword [rsp + 0x78]
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.1401ad22c
mov qword [0x140337f68], rax
mov dword [rsp + 0xfc], r12d
mov dword [rsp + 0xfc], 0x2f25e94f
mov dword [rsp + 0x100], r12d
mov dword [rsp + 0x100], 0x2e3bc9f6
mov eax, dword [rsp + 0x100]
add eax, 0x4de480ad
xor eax, 0x1601dfe9
mov rdi, qword [0x140333058]
sub eax, edi
mov r10, qword [0x140333050]
sub eax, r10d
sub eax, 0x424f3c80
xor eax, 0x4a7e8701
mov r8, qword [0x140333048]
sub eax, r8d
mov rsi, qword [0x140333040]
add eax, 0x8dc4e441
add eax, esi
xor eax, 0x2f27d744
add eax, 0x6751a1f5
xor eax, 0x228945b7
lea ecx, [rsi + 0x4301133a]
add ecx, eax
not ecx
mov r11, qword [0x140333038]
mov eax, r11d
xor eax, 0xb9379056
sub ecx, eax
mov rdx, qword [0x140333030]
mov r9d, edx
xor r9d, 0x46c86fa9
add r9d, 0xd85e91d1
add r9d, ecx
xor r9d, 0xa47392c6
mov dword [rsp + 0x100], r9d
mov eax, dword [rsp + 0xfc]
add eax, 0x6b0c
xor eax, 0x60d238
sub eax, edi
sub eax, r10d
sub eax, 0x5f262bf5
xor eax, 0x1c995d5c
sub eax, r8d
add eax, 0xe420e92e
add eax, esi
xor eax, 0xcaff3053
add eax, 0x611f7296
xor eax, 0xf683be09
lea ecx, [rsi + 0x29855795]
add ecx, eax
not ecx
xor r11d, 0x3500cf9c
sub ecx, r11d
xor edx, 0xcaff3063
lea eax, [rdx + 0x3c997b13]
add eax, ecx
xor eax, 0x8aa18954
mov dword [rsp + 0xfc], eax
mov r8d, r9d
mov r11, qword [rsp + 0x30]
add r8, r11
cdqe
xor rax, r11
imul r8, rax
mov dword [rsp + 0x104], r12d
mov dword [rsp + 0x104], 0xc4396380
mov eax, dword [rsp + 0x104]
add eax, 0x40e2c5ae
xor eax, 0x5b02d2e7
sub eax, dword [0x140333058]
sub eax, dword [0x140333050]
sub eax, 0x4528374f
xor eax, 0x53b448ec
sub eax, dword [0x140333048]
mov rcx, qword [0x140333040]
add eax, 0xc3ecbd97
add eax, ecx
xor eax, 0x19fdd08f
add eax, 0x27c46a49
xor eax, 0x81028b45
lea edx, [rcx + 0x56a7c21c]
add edx, eax
not edx
mov eax, dword [0x140333038]
xor eax, 0xbd03896a
sub edx, eax
mov ecx, dword [0x140333030]
xor ecx, 0x42fc7695
add ecx, 0xa823a6e9
add ecx, edx
xor ecx, 0x3cbdd6b2
mov dword [rsp + 0x104], ecx
movsxd rax, ecx
mov rcx, r11
sub rcx, rax
mov rax, qword [rsp + 0x500]
xor byte [rcx + rax], r8b
mov dword [rsp + 0x104], r12d
mov dword [rsp + 0x100], r12d
mov dword [rsp + 0xfc], r12d
mov dword [rsp + 0x108], r12d
mov dword [rsp + 0x108], 0x3acfb020
mov eax, dword [rsp + 0x108]
add eax, 0x52cd4f3e
xor eax, 0xe492e4d1
sub eax, dword [0x140333058]
sub eax, dword [0x140333050]
add eax, 0xaa20914
xor eax, 0x1821536
sub eax, dword [0x140333048]
mov rcx, qword [0x140333040]
add eax, 0xb39adfdc
add eax, ecx
xor eax, 0xc58e4ba7
add eax, 0x6c5eb7af
xor eax, 0x2b8cb728
mov edx, dword [0x140333030]
xor edx, 0x2b4cc6f
sub edx, eax
mov eax, dword [0x140333038]
xor eax, 0xfd4b3390
sub edx, eax
sub edx, ecx
sub edx, 0x4e32a80
xor edx, 0x21f21b70
mov dword [rsp + 0x108], edx
movsxd rax, edx
add r11, rax
mov qword [rsp + 0x30], r11
mov dword [rsp + 0x108], r12d
cmp r11, rbx
mov edi, 0x8000003f
movabs rax, 0x13d8a57bd80df0cc
movabs rcx, 0x1ae7dd924893442d
movabs rdx, 0xe262927f471e6d8e
movabs r8, 0x1d9d6d80b8e19272
jb 0x140229efc
mov rbx, qword [rsp + 0x40]
mov dword [rsp + 0x10c], r12d
mov dword [rsp + 0x10c], 0xe52c9211
mov eax, dword [rsp + 0x10c]
add eax, 0x9a91393e
xor eax, 0xce932c95
sub eax, dword [0x140333058]
sub eax, dword [0x140333050]
add eax, 0x9cabd56
xor eax, 0xb89f1b8e
sub eax, dword [0x140333048]
mov rcx, qword [0x140333040]
add eax, 0x52306fb9
add eax, ecx
xor eax, 0x73b2d4bf
add eax, 0x7b521987
xor eax, 0xb7a88409
mov edx, dword [0x140333030]
xor edx, 0x195bcc7
sub edx, eax
mov eax, dword [0x140333038]
xor eax, 0xfe6a4338
sub edx, eax
sub edx, ecx
add edx, 0x60d71bc3
xor edx, 0x258f6088
mov dword [rsp + 0x10c], edx
movsxd rax, edx
mov qword [rsp + 0x500], rax
mov dword [rsp + 0x10c], r12d
mov qword [rsp + 0x218], r12
movabs rax, 0x6cad5b2aca5c7ffb
mov qword [rsp + 0x218], rax
mov qword [rsp + 0x220], r12
movabs rax, 0x765cdf5fd2b31a96
mov qword [rsp + 0x220], rax
movabs rcx, 0xf33a52b6b168a203
add rcx, qword [rsp + 0x220]
movabs rax, 0xc7553662530a436d
xor rcx, rax
sub rcx, qword [0x140333050]
sub rcx, qword [0x140333058]
movabs rax, 0xedf047f5b79c8e5
sub rcx, rax
movabs rax, 0xf8f8cd97c56c5525
xor rcx, rax
sub rcx, qword [0x140333048]
movabs rax, 0xc7d654b8aaaf0902
add rcx, rax
mov rsi, qword [0x140333040]
add rcx, rsi
movabs rax, 0x5a9179a79da5213d
xor rcx, rax
movabs rax, 0x5f627dc6e09f76f0
sub rcx, rax
movabs rax, 0xce3b3cd2088418eb
xor rcx, rax
movabs rdx, 0x3483ce441a358ece
add rdx, rcx
add rdx, rsi
not rdx
mov r10, qword [0x140333038]
mov rax, r10
movabs rcx, 0x13cce94adac5a0dc
xor rax, rcx
sub rdx, rax
mov r11, qword [0x140333030]
mov rcx, r11
movabs rax, 0xec3316b5253a5f23
xor rcx, rax
movabs rax, 0xe0b56d9047fce7b1
add rdx, rax
add rdx, rcx
movabs rax, 0xf18c70fd7d8ea214
xor rdx, rax
mov qword [rsp + 0x220], rdx
movabs rcx, 0xf33a52b612337583
add rcx, qword [rsp + 0x218]
movabs rax, 0x9ad536625309a438
xor rcx, rax
sub rcx, qword [0x140333050]
sub rcx, qword [0x140333058]
movabs rax, 0x7120fb80a663d6a1
add rcx, rax
movabs rax, 0xf8f8cd98671e5657
xor rcx, rax
sub rcx, qword [0x140333048]
movabs rax, 0x87d654b982cbb6ea
add rcx, rax
add rcx, rsi
movabs rax, 0x5a9179a8533dc7ff
xor rcx, rax
movabs rax, 0x5f627dc6c503ca5a
sub rcx, rax
movabs rax, 0x323b3cd25823a8d4
xor rcx, rax
movabs rax, 0xb483ce44b5104717
add rcx, rax
add rcx, rsi
not rcx
movabs rax, 0x13cce94ad848cc2a
xor r10, rax
sub rcx, r10
movabs rax, 0xec3316b527b733d5
xor r11, rax
movabs rax, 0xe0b56d8dc8eda97f
add rcx, rax
add rcx, r11
movabs rax, 0x8cdad32cd443cf2
xor rcx, rax
mov qword [rsp + 0x218], rcx
and rcx, rdx
cmp rbx, rcx
setne al
mov qword [rsp + 0x220], r12
mov qword [rsp + 0x218], r12
test al, al
je 0x14022ac1c
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 0x14022aa40
psrldq xmm0, 8
movq r8, xmm0
movzx ecx, cx
shr rcx, 1
lea r10, [r8 + rcx*2]
mov r9d, 0x41fa6e6
jmp 0x14022aa32
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 0x14022aa12
cmp r9d, edi
jne 0x14022ab61
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 0x14022ab61
mov esi, dword [rbx + 0x18]
test esi, esi
je 0x14022ab61
mov edx, dword [rbx + 0x20]
dec esi
lea rdx, [rdx + rsi*4]
mov r10d, dword [rdx + r9]
add r10, r9
mov r14d, 0x41fa6e6
mov r11d, 0x4764996c
mov dl, byte [r10]
add r10, r15
test dl, dl
je 0x14022aab0
movsx r8d, dl
mov edx, r8d
imul edx, r8d
add edx, 0x31
xor edx, r11d
xor r8d, r14d
mov r14d, edx
imul r14d, r8d
jmp 0x14022aa89
cmp r14d, dword [rsp + 0x58]
je 0x14022aac3
test esi, esi
mov edx, dword [rbx + 0x20]
jne 0x14022aa70
jmp 0x14022ab61
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 0x14022ab69
lea rax, [rbx + rcx]
cmp r8, rax
jae 0x14022ab69
mov eax, 0x41fa6e6
mov edi, eax
mov r9d, eax
mov dword [rsp + 0x58], eax
jmp 0x14022ab16
movsx ecx, al
mov edx, ecx
imul edx, ecx
add edx, 0x31
xor edx, r11d
mov eax, edi
xor eax, ecx
mov edi, edx
imul edi, eax
add r8, r15
mov al, byte [r8]
cmp al, 0x2e
jne 0x14022aafc
add r8, r15
mov al, byte [r8]
test al, al
je 0x14022ab50
movsx ecx, al
mov edx, ecx
imul edx, ecx
add edx, 0x31
xor edx, r11d
mov eax, r9d
xor eax, ecx
mov r9d, edx
imul r9d, eax
add r8, r15
mov al, byte [r8]
test al, al
jne 0x14022ab27
mov dword [rsp + 0x58], r9d
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
jmp 0x14022a9e6
mov rcx, qword [rsp + 0x170]
call r8
mov dword [rsp + 0x130], r12d
mov dword [rsp + 0x130], 0x4969487d
mov eax, dword [rsp + 0x130]
add eax, 0x3b9576b4
xor eax, 0xc08cd9a
sub eax, dword [0x140333058]
sub eax, dword [0x140333050]
sub eax, 0x57184f62
xor eax, 0x4116cd22
sub eax, dword [0x140333048]
mov rcx, qword [0x140333040]
add eax, 0x261f2e4b
add eax, ecx
xor eax, 0x4809fea4
add eax, 0xc152e6e
xor eax, 0xfb795d2c
lea edx, [rcx - 0x7a300c13]
add edx, eax
not edx
mov eax, dword [0x140333038]
xor eax, 0xd4ee542e
sub edx, eax
mov ecx, dword [0x140333030]
xor ecx, 0x2b11abd1
add ecx, 0x8ad8f644
add ecx, edx
xor ecx, 0x59db738e
mov dword [rsp + 0x130], ecx
movsxd rax, ecx
mov qword [rsp + 0x170], rax
mov dword [rsp + 0x130], r12d
lea rcx, [rsp + 0x440]
call fcn.140052a40
mov rax, qword [rsp + 0x500]
add rsp, 0x4c0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
mov qword [rsp + 0x228], r12
movabs rax, 0x6cad5b2aca5c7ffb
mov qword [rsp + 0x228], rax
mov qword [rsp + 0x230], r12
movabs rax, 0x765cdf5fd2b31a96
mov qword [rsp + 0x230], rax
movabs rcx, 0xf33a52b6b168a203
add rcx, qword [rsp + 0x230]
movabs rax, 0xc7553662530a436d
xor rcx, rax
sub rcx, qword [0x140333050]
sub rcx, qword [0x140333058]
movabs rax, 0xedf047f5b79c8e5
sub rcx, rax
movabs rax, 0xf8f8cd97c56c5525
xor rcx, rax
sub rcx, qword [0x140333048]
movabs rax, 0xc7d654b8aaaf0902
add rcx, rax
mov rsi, qword [0x140333040]
add rcx, rsi
movabs rax, 0x5a9179a79da5213d
xor rcx, rax
movabs rax, 0x5f627dc6e09f76f0
sub rcx, rax
movabs rax, 0xce3b3cd2088418eb
xor rcx, rax
movabs rdx, 0x3483ce441a358ece
add rdx, rcx
add rdx, rsi
not rdx
mov r10, qword [0x140333038]
mov rax, r10
movabs rcx, 0x13cce94adac5a0dc
xor rax, rcx
sub rdx, rax
mov r11, qword [0x140333030]
mov rcx, r11
movabs rax, 0xec3316b5253a5f23
xor rcx, rax
movabs rax, 0xe0b56d9047fce7b1
add rdx, rax
add rdx, rcx
movabs rax, 0xf18c70fd7d8ea214
xor rdx, rax
mov qword [rsp + 0x230], rdx
movabs rcx, 0xf33a52b612337583
add rcx, qword [rsp + 0x228]
movabs rax, 0x9ad536625309a438
xor rcx, rax
sub rcx, qword [0x140333050]
sub rcx, qword [0x140333058]
movabs rax, 0x7120fb80a663d6a1
add rcx, rax
movabs rax, 0xf8f8cd98671e5657
xor rcx, rax
sub rcx, qword [0x140333048]
movabs rax, 0x87d654b982cbb6ea
add rcx, rax
add rcx, rsi
movabs rax, 0x5a9179a8533dc7ff
xor rcx, rax
movabs rax, 0x5f627dc6c503ca5a
sub rcx, rax
movabs rax, 0x323b3cd25823a8d4
xor rcx, rax
movabs rax, 0xb483ce44b5104717
add rcx, rax
add rcx, rsi
not rcx
movabs rax, 0x13cce94ad848cc2a
xor r10, rax
sub rcx, r10
movabs rax, 0xec3316b527b733d5
xor r11, rax
movabs rax, 0xe0b56d8dc8eda97f
add rcx, rax
add rcx, r11
movabs rax, 0x8cdad32cd443cf2
xor rcx, rax
mov qword [rsp + 0x228], rcx
and rcx, rdx
cmp rbx, rcx
setne al
mov qword [rsp + 0x230], r12
mov qword [rsp + 0x228], r12
test al, al
je 0x14022b107
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 0x14022aee1
psrldq xmm0, 8
movq r9, xmm0
movzx ecx, cx
shr rcx, 1
lea r11, [r9 + rcx*2]
mov r10d, 0x41fa6e6
jmp 0x14022aed3
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 0x14022aeae
cmp r10d, esi
jne 0x14022b045
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 0x14022b045
mov r8d, dword [rdi + 0x18]
test r8d, r8d
je 0x14022b045
mov r9d, dword [rdi + 0x20]
dec r8d
mov dword [rsp + 0x510], r8d
mov edx, r8d
mov qword [rsp + 0x50], rdx
lea rdx, [r10 + r8*4]
mov ebx, dword [rdx + r9]
add rbx, r10
mov edx, 0x41fa6e6
mov r9b, byte [rbx]
add rbx, r15
mov r11d, 0x4764996c
test r9b, r9b
je 0x14022af89
mov r10d, edx
movsx r8d, r9b
mov r9d, r8d
imul r9d, r8d
add r9d, r14d
xor r9d, r11d
mov edx, r10d
xor edx, r8d
mov r10d, r9d
imul r10d, edx
mov r9b, byte [rbx]
add rbx, r15
test r9b, r9b
jne 0x14022af4b
mov dword [rsp + 0x40], r10d
mov r10, qword [rax + 0x30]
mov r8d, dword [rsp + 0x510]
mov edx, dword [rsp + 0x40]
cmp edx, dword [rsp + 0x58]
je 0x14022afa1
test r8d, r8d
mov r9d, dword [rdi + 0x20]
jne 0x14022af14
jmp 0x14022b045
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 r8d, dword [rdx + rax*4]
add r8, r10
cmp r8, rdi
jbe 0x14022b04d
lea rax, [rcx + rdi]
cmp r8, rax
jae 0x14022b04d
mov eax, 0x41fa6e6
mov esi, eax
mov r9d, eax
mov dword [rsp + 0x58], eax
jmp 0x14022affa
movsx ecx, al
mov edx, ecx
imul edx, ecx
add edx, r14d
xor edx, r11d
mov eax, esi
xor eax, ecx
mov esi, edx
imul esi, eax
add r8, r15
mov al, byte [r8]
cmp al, 0x2e
jne 0x14022afe0
add r8, r15
mov al, byte [r8]
test al, al
je 0x14022b034
movsx ecx, al
mov edx, ecx
imul edx, ecx
add edx, r14d
xor edx, r11d
mov eax, r9d
xor eax, ecx
mov r9d, edx
imul r9d, eax
add r8, r15
mov al, byte [r8]
test al, al
jne 0x14022b00b
mov dword [rsp + 0x58], r9d
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
jmp 0x14022ae82
mov rcx, qword [rsp + 0x170]
call r8
mov dword [rsp + 0x114], r12d
mov dword [rsp + 0x114], 0x4969487d
mov eax, dword [rsp + 0x114]
add eax, 0x3b9576b4
xor eax, 0xc08cd9a
sub eax, dword [0x140333058]
sub eax, dword [0x140333050]
sub eax, 0x57184f62
xor eax, 0x4116cd22
sub eax, dword [0x140333048]
mov rcx, qword [0x140333040]
add eax, 0x261f2e4b
add eax, ecx
xor eax, 0x4809fea4
add eax, 0xc152e6e
xor eax, 0xfb795d2c
lea edx, [rcx - 0x7a300c13]
add edx, eax
not edx
mov eax, dword [0x140333038]
xor eax, 0xd4ee542e
sub edx, eax
mov ecx, dword [0x140333030]
xor ecx, 0x2b11abd1
add ecx, 0x8ad8f644
add ecx, edx
xor ecx, 0x59db738e
mov dword [rsp + 0x114], ecx
movsxd rax, ecx
mov qword [rsp + 0x170], rax
mov dword [rsp + 0x114], r12d
lea r13, [0x140333060]
lea rcx, [rsp + 0x440]
call fcn.140052a40
mov esi, r12d
mov dword [rsp + 0x510], 0x546b7a8e
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 0x14022b192
psrldq xmm0, 8
movq r9, xmm0
movzx ecx, cx
shr rcx, 1
lea r11, [r9 + rcx*2]
mov r10d, 0xe4c0c192
jmp 0x14022b184
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 0x14022b15f
cmp r10d, esi
jne 0x14022b24a
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 0x14022b24a
mov r8d, dword [rdi + 0x18]
test r8d, r8d
je 0x14022b24a
mov r9d, dword [rdi + 0x20]
dec r8d
mov dword [rsp + 0x40], r8d
mov edx, r8d
mov qword [rsp + 0x50], rdx
lea rdx, [r10 + r8*4]
mov ebx, dword [rdx + r9]
add rbx, r10
mov edx, 0xe4c0c192
mov r9b, byte [rbx]
add rbx, r15
mov r11d, 0x4764996c
test r9b, r9b
je 0x14022b234
mov r10d, edx
movsx r8d, r9b
mov r9d, r8d
imul r9d, r8d
add r9d, r14d
xor r9d, r11d
mov edx, r10d
xor edx, r8d
mov r10d, r9d
imul r10d, edx
mov r9b, byte [rbx]
add rbx, r15
test r9b, r9b
jne 0x14022b1f9
mov dword [rsp + 0x30], r10d
mov r10, qword [rax + 0x30]
mov r8d, dword [rsp + 0x40]
mov edx, dword [rsp + 0x30]
cmp edx, dword [rsp + 0x510]
je 0x14022b252
test r8d, r8d
mov r9d, dword [rdi + 0x20]
jne 0x14022b1c5
mov rax, qword [rax]
jmp 0x14022b133
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 r8d, dword [rdx + rax*4]
add r8, r10
cmp r8, rdi
jbe 0x14022b2ff
lea rax, [rdi + rcx]
cmp r8, rax
jae 0x14022b2ff
mov esi, 0xe4c0c192
mov r10d, esi
mov dword [rsp + 0x510], esi
jmp 0x14022b2ac
movsx ecx, al
mov edx, ecx
imul edx, ecx
add edx, r14d
xor edx, r11d
mov eax, esi
xor eax, ecx
mov esi, edx
imul esi, eax
add r8, r15
mov al, byte [r8]
cmp al, 0x2e
jne 0x14022b292
add r8, r15
mov al, byte [r8]
test al, al
je 0x14022b2e9
movsx ecx, al
mov edx, ecx
imul edx, ecx
add edx, r14d
xor edx, r11d
mov eax, r10d
xor eax, ecx
mov r10d, edx
imul r10d, eax
add r8, r15
mov al, byte [r8]
test al, al
jne 0x14022b2bd
mov dword [rsp + 0x510], r10d
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
jmp 0x14022b24a
mov dword [rsp + 0x118], r12d
mov dword [rsp + 0x118], 0xd3ac9044
mov eax, dword [rsp + 0x118]
add eax, 0x16b747be
xor eax, 0xdd12a8bb
sub eax, dword [0x140333058]
sub eax, dword [0x140333050]
sub eax, 0x74a9b4d5
xor eax, 0x3e8874d4
sub eax, dword [0x140333048]
mov rcx, qword [0x140333040]
add eax, 0x452ac70a
add eax, ecx
xor eax, 0xa176c35
add eax, 0x5a28d5ed
xor eax, 0x85999b99
mov edx, dword [0x140333030]
xor edx, 0x3a5248d
sub edx, eax
mov eax, dword [0x140333038]
xor eax, 0xfc5adb72
sub edx, eax
sub edx, ecx
add edx, 0x4f62b195
xor edx, 0x8b60e5ca
mov dword [rsp + 0x118], edx
movsxd rcx, edx
call r8
mov qword [rsp + 0x238], rax
mov dword [rsp + 0x118], r12d
movabs rbx, 0xf246a4dd780818fc
mov qword [rsp + 0x50], rbx
movabs rdi, 0x24f3731df9fdd7ef
mov rsi, r12
movabs rax, 0xe75b040c1c4ba358
movabs r11, 0xcb5093e947a5164a
mov rcx, qword [0x140333070]
imul rcx, rax
not rcx
movabs r8, 0x34af6c16c574e844
mov rax, qword [0x140333060]
xor rax, r8
and rcx, rax
ror rcx, 0x22
shr rcx, 8
mov qword [rsp + 0x40], rcx
movabs rax, 0xcde6ab43a6275ae8
mov r10, qword [0x140333070]
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 0x14022b481
sub ecx, r15d
or ecx, 0xffffffc0
add ecx, r15d
mov rdx, r10
ror rdx, cl
not rdx
mov qword [rsp + 0x30], rdx
movabs r8, 0x159c8a67d8ea40c
mov rcx, rdx
imul rcx, r8
mov qword [rsp + 0x38], rcx
lea r8, [rcx + r9]
mov r9, r10
mov rdx, qword [rsp + 0x40]
imul r9, rdx
sub r9, r8
xor r9, rbx
movzx ecx, r8b
mov dword [rsp + 0x510], ecx
xor ecx, 2
and ecx, 0xf
and ecx, eax
jge 0x14022b4d9
sub ecx, r15d
or ecx, 0xffffffc0
add ecx, r15d
rol r9, cl
movabs rcx, 0x9b3df3c5cfcd3b34
mov rax, qword [rsp + 0x30]
imul rax, rcx
movabs rcx, 0x30a290168d76aedf
add rax, rcx
xor r9, rax
mov rax, r8
sub rax, qword [0x140333078]
xor r9, rax
xor r9, r11
mov rax, r9
xor rax, 0xfffffffffffffffe
and eax, 3
je 0x14022b7eb
sub rax, 1
je 0x14022b6f0
sub rax, 1
mov bl, 0x3f
je 0x14022b627
cmp rax, 1
jne 0x14022b875
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 [0x140333088]
movabs rax, 0x2471f6658bccd7ad
xor rdx, rax
movzx eax, cl
movzx ecx, r9b
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 + 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 0x14022b875
movabs rcx, 0x555555e54ff71c11
mov r10, r9
xor r10, rcx
movabs rcx, 0xffedf9128dfac05d
imul r10, rcx
movabs rdx, 0x817569e72ecd
mov rcx, qword [rsp + 0x38]
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 + 0x40]
and cl, bl
ror rdx, cl
mov rax, rdi
mov rdi, rdx
imul rdi, rax
jmp 0x14022b875
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 + 0x510]
and eax, 0x8000003f
jge 0x14022b747
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 [0x140333070]
imul rdi, rbx
sub rdi, r8
mov rax, qword [rsp + 0x40]
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 + 0x40]
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 0x14022b875
mov rcx, r9
imul rcx, qword [0x140333080]
and rcx, qword [0x140333070]
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 [0x140333060], 0xffffffff82d1fe0e
mov rdx, qword [0x140333068]
sub rbx, rdx
mov al, sil
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, 0x8000003f
jge 0x14022b859
sub ecx, r15d
or ecx, 0xffffffc0
add ecx, r15d
ror rbx, cl
movabs rax, 0xdb0c8ce206022811
add rax, rbx
add rax, qword [rsp + 0x38]
mov qword [rsp + 0x40], 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 + 0x40]
imul r8, rdi
movabs rcx, 0xa12817868327bc1
xor rcx, r10
not rcx
xor rcx, r8
sub rcx, r11
call fcn.1401aca94
mov qword [0x140337f58], rax
mov rax, qword gs:[8]
mov qword [0x1403481c0], rax
xor eax, eax
mov byte [rsp + 0x6c], al
lea rcx, [rsp + 0x6c]
call fcn.1402050d8
xor eax, eax
mov byte [rsp + 0x6d], al
lea rcx, [rsp + 0x6d]
call fcn.140208974
nop
jmp 0x14022b925
movabs rax, 0x5bb3fd013cbde527
mov qword [rsp + 0x510], rax
movabs r9, 0x760b3bd75fd728bd
mov qword [rsp + 0x50], r9
movabs rax, 0xd70c145cb0000000
mov rdi, qword [0x140333068]
imul rdi, rax
movabs rax, 0xcb883903f0000000
xor rdi, rax
mov rcx, rdi
imul rcx, r9
mov qword [rsp + 0x40], 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 [0x140333060]
mov rax, r8
imul rax, qword [0x140333070]
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 + 0x30], 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 0x14022ba9d
sub ecx, r15d
or ecx, 0xffffffc0
add ecx, r15d
mov rdx, qword [rsp + 0x30]
ror rdx, cl
not rdx
imul rdx, r8
imul rax, rdx, 0x1bac6fbc
mov qword [rsp + 0x30], 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
movabs rax, 0x7b026a93faa7ddcc
imul rdx, rax
movabs rax, 0x84cf087b9f19b89
sub rdx, rax
xor r9, rdx
mov rax, r10
sub rax, qword [0x140333078]
xor r9, rax
xor r9, r8
xor r9, rdi
mov rax, r9
and rax, r15
je 0x14022be6a
sub rax, 1
je 0x14022bd2f
sub rax, 1
je 0x14022bc36
cmp rax, 1
jne 0x14022bf12
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 + 0x510], rcx
movabs rdx, 0x835747ad5038
add rdx, qword [0x140333088]
movabs rax, 0x89764150ac9ea7f1
xor rdx, rax
movzx eax, cl
movzx ecx, r9b
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 + 0x510]
shr rax, cl
mov qword [rsp + 0x50], rax
movabs rcx, 0x89fce8b0dc3af631
add rcx, qword [rsp + 0x30]
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 + 0x50], rax
jmp 0x14022bf12
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 + 0x30]
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 + 0x40]
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 + 0x50], rdx
jmp 0x14022bf12
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 [0x140333070]
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 + 0x50], 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 + 0x50]
div rcx
mov rcx, rdx
mov rdx, r9
imul rdx, r10
imul rdx, qword [rsp + 0x50]
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 0x14022bf12
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 [0x140333080]
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 [0x140333060], 0x1bac6fbc
mov rsi, qword [0x140333068]
sub rdx, rsi
mov al, dil
not al
movzx ecx, al
movzx eax, sil
xor ecx, eax
and ecx, 0x8000003f
jge 0x14022befd
sub ecx, r15d
or ecx, 0xffffffc0
add ecx, r15d
ror rdx, cl
movabs rsi, 0x89f4c428a028d743
add rsi, rdx
add rsi, qword [rsp + 0x30]
movabs rax, 0xff055d7beef9be13
mov rcx, qword [rsp + 0x510]
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 + 0x50]
movabs rcx, 0xf5ed7e87e94af4cf
xor rcx, r11
not rcx
xor rcx, r10
sub rcx, r8
call fcn.1401ad298
mov qword [0x140337f70], rax
xor eax, eax
mov byte [rsp + 0x71], al
lea rcx, [rsp + 0x71]
call fcn.14020ed0c
lea rax, [rsp + 0x238]
mov qword [rsp + 0x260], rax
lea rcx, [rsp + 0x260]
call fcn.14021ad68
movabs rdi, 0x6473be87ae4b5f91
movabs rsi, 0x7851dc1ed7a00a4a
movabs rax, 0x63d52549ea000000
mov r8, qword [0x140333080]
imul r8, rax
movabs rax, 0x23279cfc8b000000
xor r8, rax
mov qword [rsp + 0x510], 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 [0x140333060]
mov rax, r9
imul rax, qword [0x140333070]
movabs rdx, 0x46216d743a433286
imul rax, rdx
not rax
and rcx, rax
ror rcx, 0x3d
shr rcx, 8
mov qword [rsp + 0x40], 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 + 0x30], 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 0x14022c11f
sub ecx, r15d
or ecx, 0xffffffc0
add ecx, r15d
mov rax, qword [rsp + 0x30]
ror rax, cl
not rax
imul rax, r9
imul rcx, rax, 0xffffffff908866f0
mov qword [rsp + 0x30], rcx
lea r8, [rcx + r10]
mov r10, r11
imul r10, qword [rsp + 0x40]
sub r10, r8
xor r10, rdi
mov cl, r8b
xor cl, 0xf8
and cl, 0xf
rol r10, cl
movabs rcx, 0xdc7f2f5901732160
imul rax, rcx
movabs rcx, 0x33a3cead28e9dd64
sub rax, rcx
xor r10, rax
mov rax, r8
sub rax, qword [0x140333078]
xor r10, rax
xor r10, r9
mov rdx, qword [rsp + 0x510]
xor r10, rdx
mov rax, r10
and eax, 2
je 0x14022c4ca
sub rax, 1
je 0x14022c395
sub rax, 1
je 0x14022c2a4
cmp rax, 1
jne 0x14022c58e
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 [0x140333088]
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 + 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, r10
imul rax, qword [r13 + rcx*8]
imul rax, r10
sub rax, qword [rsp + 0x40]
xor rsi, rax
jmp 0x14022c58e
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 + 0x30]
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 + 0x40]
and cl, bl
ror rdx, cl
mov rax, rsi
mov rsi, rdx
imul rsi, rax
jmp 0x14022c58e
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 + 0x510]
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 [0x140333070]
imul rsi, rdi
sub rsi, r8
mov rax, qword [rsp + 0x40]
sub rax, r9
xor rsi, rax
movabs rax, 0x385839595c5c898b
xor rsi, rax
movabs rax, 0xcccccccccccccccd
mov rcx, qword [rsp + 0x510]
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 + 0x510]
movabs rcx, 0x78958946cf13a6f
mov rdx, rax
sub rdx, rcx
xor rdx, qword [rsp + 0x40]
movzx eax, r11b
imul ecx, eax, 0xee
and cl, bl
rol rdx, cl
not rdx
mov qword [rsp + 0x510], rdx
jmp 0x14022c58e
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 [0x140333080]
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 + 0x40]
not rcx
imul rcx, r11
movabs rax, 0x8327582181add86a
imul rcx, rax
mov rax, r9
imul rax, qword [rsp + 0x510]
xor rcx, rax
mov qword [rsp + 0x510], rcx
imul rax, qword [0x140333060], 0xffffffff908866f0
mov rdx, qword [0x140333068]
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 0x14022c56f
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 + 0x30]
mov qword [rsp + 0x40], 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 + 0x510]
imul r9, qword [r13 + rdi*8]
not r8
imul r8, r10
imul r8, qword [rsp + 0x40]
imul r8, rsi
movabs rcx, 0xa1281787655987b
xor rcx, r11
not rcx
xor rcx, r8
sub rcx, r9
call fcn.1401acadc
mov qword [0x140337f50], rax
mov r10d, r12d
mov dword [rsp + 0x510], r12d
mov dword [rsp + 0x40], 0xad7902e2
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 r10d, r10d
je 0x14022c67b
psrldq xmm0, 8
movq r9, xmm0
movzx ecx, cx
shr rcx, 1
lea rdi, [r9 + rcx*2]
mov r11d, 0x26f7ea26
jmp 0x14022c66d
movsx edx, byte [r9]
mov r8d, edx
imul r8d, edx
add r8d, 0x31
xor r8d, 0x4764996c
mov ecx, r11d
xor ecx, edx
mov r11d, r8d
imul r11d, ecx
add r9, 2
cmp r9, rdi
jne 0x14022c647
cmp r11d, r10d
jne 0x14022c734
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov rcx, qword [rcx + r10 + 0x88]
mov esi, ecx
add rsi, r10
shr rcx, 0x20
cmp rsi, r10
je 0x14022c72c
mov r8d, dword [rsi + 0x18]
test r8d, r8d
je 0x14022c72c
mov r9d, dword [rsi + 0x20]
dec r8d
mov dword [rsp + 0x30], r8d
mov edx, r8d
mov qword [rsp + 0x50], rdx
lea rdx, [r10 + r8*4]
mov r11d, dword [rdx + r9]
add r11, r10
mov edx, 0x26f7ea26
mov r9b, byte [r11]
add r11, r15
mov edi, 0x4764996c
test r9b, r9b
je 0x14022c71d
mov r10d, edx
movsx r8d, r9b
mov r9d, r8d
imul r9d, r8d
add r9d, 0x31
xor r9d, edi
mov edx, r10d
xor edx, r8d
mov r10d, r9d
imul r10d, edx
mov r9b, byte [r11]
add r11, r15
test r9b, r9b
jne 0x14022c6e1
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 0x14022c73c
test r8d, r8d
mov r9d, dword [rsi + 0x20]
jne 0x14022c6ae
mov r10d, dword [rsp + 0x510]
mov rax, qword [rax]
jmp 0x14022c61a
mov edx, dword [rsi + 0x1c]
add rdx, r10
mov eax, dword [rsi + 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, rsi
jbe 0x14022c7ff
lea rax, [rsi + rcx]
cmp r9, rax
jae 0x14022c7ff
mov r10d, 0x26f7ea26
mov dword [rsp + 0x510], r10d
mov r11d, r10d
mov dword [rsp + 0x40], r10d
mov al, byte [r9]
cmp al, 0x2e
je 0x14022c7b7
movsx ecx, al
mov edx, ecx
imul edx, ecx
add edx, 0x31
xor edx, edi
mov eax, r10d
xor eax, ecx
mov r10d, edx
imul r10d, eax
add r9, r15
mov al, byte [r9]
cmp al, 0x2e
jne 0x14022c78c
mov dword [rsp + 0x510], r10d
add r9, r15
mov al, byte [r9]
test al, al
je 0x14022c7e9
movsx ecx, al
mov edx, ecx
imul edx, ecx
add edx, 0x31
xor edx, edi
mov eax, r11d
xor eax, ecx
mov r11d, edx
imul r11d, eax
add r9, r15
mov al, byte [r9]
test al, al
jne 0x14022c7c1
mov dword [rsp + 0x40], r11d
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
jmp 0x14022c734
mov qword [rsp + 0x268], r12
movabs rax, 0x53f874cf892350b
mov qword [rsp + 0x268], rax
movabs rcx, 0xf33a52b831eb5b83
add rcx, qword [rsp + 0x268]
movabs rax, 0x80d53662530bc3ef
xor rcx, rax
sub rcx, qword [0x140333050]
sub rcx, qword [0x140333058]
movabs rax, 0x7120fb80a004aeef
add rcx, rax
movabs rax, 0xf8f8cd963ee790bf
xor rcx, rax
sub rcx, qword [0x140333048]
movabs rax, 0x87d654b6a0bd9635
add rcx, rax
mov rdx, qword [0x140333040]
add rcx, rdx
movabs rax, 0x5a9179a5e71005a7
xor rcx, rax
movabs rax, 0x5f627dc4663d35b2
sub rcx, rax
movabs rax, 0x23b3cd14836b815
xor rcx, rax
movabs rax, 0xb483ce42a4366861
add rax, rcx
add rdx, rax
not rdx
movabs rcx, 0x13cce94ae0c7abc2
mov rax, qword [0x140333038]
xor rax, rcx
sub rdx, rax
movabs rax, 0xec3316b51f38543d
mov rcx, qword [0x140333030]
xor rcx, rax
movabs r8, 0xe0b56d965009e097
add r8, rdx
add r8, rcx
movabs rax, 0x338e9e3d245f953a
xor r8, rax
mov qword [rsp + 0x268], r8
mov rdx, qword [rsp + 0x238]
mov rcx, qword [rsp + 0x500]
call r9
nop
mov qword [rsp + 0x268], r12
movabs rdi, 0xd8b5eff1634fbfb1
mov rsi, r12
movabs rax, 0x8930724ccd44aff0
movabs r11, 0x2552b3b6667608f4
mov rcx, qword [0x140333070]
imul rcx, rax
not rcx
movabs r8, 0x2552b3b67256922a
mov rax, qword [0x140333060]
xor rax, r8
and rcx, rax
ror rcx, 0x2c
shr rcx, 8
mov qword [rsp + 0x510], rcx
movabs rax, 0xda54af3cbaccbec8
mov r10, qword [0x140333060]
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
and ecx, 0x8000003f
jge 0x14022c9f9
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 + 0x40], rax
add r8, rax
mov r9, r10
mov rdx, qword [rsp + 0x510]
imul r9, rdx
sub r9, r8
movabs rax, 0x59bf00c327bb5c2
xor r9, rax
movzx ecx, r8b
mov dword [rsp + 0x500], ecx
xor ecx, 2
and ecx, 0xf
jge 0x14022ca58
sub ecx, r15d
or ecx, 0xffffffc0
add ecx, r15d
rol r9, cl
mov rax, r8
sub rax, qword [0x140333078]
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 0x14022cd7c
sub rax, 1
je 0x14022cc70
sub rax, 1
je 0x14022cba4
cmp rax, 1
jne 0x14022ce07
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 [0x140333088]
add rdx, rcx
movabs rax, 0x27c895768adc6963
xor rdx, rax
movzx eax, r9b
movzx ecx, r15b
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 + 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, r9
imul rax, qword [r13 + rcx*8]
imul rax, r9
sub rax, qword [rsp + 0x510]
xor rdi, rax
jmp 0x14022ce11
movabs rcx, 0xaaaaaa1ad455ca81
mov r10, r9
xor r10, rcx
movabs rcx, 0x1206ed165816cd
imul r10, rcx
movabs rcx, 0xffff7e8af245f85d
mov rdx, qword [rsp + 0x40]
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 + 0x510]
and cl, bl
ror rdx, cl
mov rax, rdi
mov rdi, rdx
imul rdi, rax
jmp 0x14022ce07
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 + 0x500]
and eax, 0x8000003f
jge 0x14022ccc7
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 [0x140333070]
movabs r15, 0x59bf00c327bb5c2
imul rdi, r15
sub rdi, r8
mov rax, qword [rsp + 0x510]
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 + 0x510]
mov cl, r10b
shl cl, 2
and cl, bl
rol rsi, cl
not rsi
jmp 0x14022ce11
mov rcx, r9
imul rcx, qword [0x140333080]
and rcx, qword [0x140333080]
mov rax, r11
mov r11, rcx
xor r11, rax
ror r11, 0x34
imul r11, r8
mov rsi, rdx
not rsi
imul rsi, r10
movabs rax, 0x7cd8a7de0468ed40
imul rsi, rax
imul rbx, qword [0x140333060], 0x14209ade
mov rdx, qword [0x140333068]
sub rbx, rdx
mov al, sil
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, 0x8000003f
jge 0x14022cdea
sub ecx, r15d
or ecx, 0xffffffc0
add ecx, r15d
ror rbx, cl
movabs rax, 0x274a100e9cb0404f
add rax, rbx
add rax, qword [rsp + 0x40]
mov qword [rsp + 0x510], 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 + 0x510]
imul r8, rdi
movabs rcx, 0xf5ed7e87f390ad51
xor rcx, r10
not rcx
xor rcx, r8
sub rcx, r11
call fcn.1401ad274
mov qword [0x140337f50], rax
mov dword [rsp + 0x120], r12d
mov dword [rsp + 0x120], 0x99fcca3d
mov eax, dword [rsp + 0x120]
add eax, 0xbf6b653e
xor eax, 0xfa93516f
sub eax, dword [0x140333058]
sub eax, dword [0x140333050]
add eax, 0x95c2ed2
xor eax, 0x933186de
sub eax, dword [0x140333048]
mov rcx, qword [0x140333040]
add eax, 0x202a48ff
add eax, ecx
xor eax, 0x49a9fa8f
sub eax, 0x7b073349
xor eax, 0x453a4738
mov edx, dword [0x140333030]
xor edx, 0x1025417
sub edx, eax
mov eax, dword [0x140333038]
xor eax, 0xfefdabe8
sub edx, eax
sub edx, ecx
add edx, 0x18ab28bf
xor edx, 0x650291d8
mov dword [rsp + 0x120], edx
movsxd rax, edx
mov dword [rsp + 0x120], r12d
jmp 0x14022ac31