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

Disassembly:
mov qword [rsp + 8], rcx
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x490
xor r12d, r12d
mov dword [rsp + 0xb8], r12d
movabs rax, 0x17a5fed800000000
mov rbx, qword [0x14033d070]
imul rbx, rax
movabs rax, 0xfe71730b00000000
xor rbx, rax
mov qword [rsp + 0x4d8], rbx
movabs rdi, 0x2735903edf32b0b8
mov rcx, rbx
imul rcx, rdi
movabs rsi, 0xaaaaaaaaaaaaaaab
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
lea r13, [0x14033d060]
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 [0x14033d060]
mov rax, r10
imul rax, qword [0x14033d070]
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, rsi
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 rax, r11
xor rax, rbx
mov qword [rsp + 0x4e0], rax
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, 0x17
mov ebx, 0x8000003f
and ecx, ebx
lea r15d, [r12 + 1]
lea r14d, [r12 - 0x40]
jge 0x14022aeb9
sub ecx, r15d
or ecx, r14d
add ecx, r15d
mov rdx, qword [rsp + 0x4e0]
ror rdx, cl
not rdx
imul rdx, r10
imul r8, rdx, 0xffffffffddb91570
sub r8, rdi
mov rdi, r11
imul rdi, r9
sub rdi, r8
mov rax, r8
sub rax, qword [0x14033d078]
xor rdi, rax
movabs rax, 0x312fa1495ba46880
imul rdx, rax
movabs rax, 0x2225f30a11dd8440
sub rdx, rax
xor rdi, rdx
xor rdi, r10
xor rdi, qword [rsp + 0x4d8]
movabs rax, 0x676be5eba979c2dd
xor rdi, rax
mov rax, rsi
mul r10
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
mov rdx, r10
sub rdx, rax
mov rax, rdi
imul rax, qword [0x14033d080]
mov rdx, qword [r13 + rdx*8]
and rdx, rax
xor rdx, r10
and r10b, 0x3f
mov cl, r10b
ror rdx, cl
imul rdx, r8
mov qword [rsp + 0x4e0], rdx
not r9
imul r9, r11
movabs rax, 0x7cd8a7de584057ea
imul r9, rax
mov rax, rdx
imul rax, qword [rsp + 0x4d8]
xor r9, rax
imul r10, qword [0x14033d060], 0xffffffffddb91570
mov rdx, qword [0x14033d068]
sub r10, rdx
mov al, r9b
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, ebx
jge 0x14022afb8
sub ecx, r15d
or ecx, r14d
add ecx, r15d
ror r10, cl
lea rcx, [r8 + r10]
not r8
imul r8, rdi
imul rcx, r8
movabs rax, 0x2735903edf32b0b8
imul rcx, rax
movabs rax, 0xf5ed7e87afb817fb
xor r11, rax
not r11
xor rcx, r11
mov rax, qword [rsp + 0x4e0]
xor rax, r9
imul rax, qword [0x14033d080]
sub rcx, rax
call fcn.1401b8470
mov qword [0x14034b9e0], rax
xor eax, eax
mov byte [rsp + 0x4d8], al
mov dword [rsp + 0x238], 0xc6c9c105
mov dword [rsp + 0x23c], 0xc80c1a5d
mov dword [rsp + 0x240], 0x88d3542b
mov word [rsp + 0x244], 0xf789
mov byte [rsp + 0x246], 0xbf
mov r13, r12
movabs rsi, 0x13cce94adbc7a7fd
xor edx, edx
mov rax, r13
div rsi
add dl, 0x33
mov dil, dl
sar dil, 7
or dil, dl
mov bl, dil
shl bl, 6
mov al, dil
sar al, 2
or bl, al
mov r8b, dil
sar r8b, 5
mov al, dil
shl al, 3
or r8b, al
mov r9b, dil
sar r9b, 3
mov al, dil
shl al, 5
or r9b, al
mov dl, dil
sar dl, 4
mov al, dil
shl al, 4
or dl, al
mov r10b, dil
not r10b
mov cl, dil
ror cl, 1
mov r11b, byte [rsp + r13 + 0x238]
sub r11b, bl
sub r11b, 2
mov eax, 4
sub al, bl
xor r11b, al
sub r11b, byte [0x14033d058]
sub r11b, byte [0x14033d050]
add r11b, bl
add r11b, dil
sub r11b, cl
sub r11b, 0x3f
lea eax, [rbx + 7]
add al, dil
xor r11b, al
sub r11b, r8b
sub r11b, dil
sub r11b, byte [0x14033d048]
sub r11b, 0x50
mov rcx, qword [0x14033d040]
add r11b, bl
add r11b, cl
mov al, dl
sub al, r8b
add al, bl
add al, dil
xor r11b, al
mov al, dil
sub al, dl
xor al, dil
sub r11b, al
sub r11b, r9b
add r11b, 0x30
add r11b, dil
mov al, dil
ror al, 7
sub r9b, 0x50
add al, r9b
xor r11b, al
sub bl, dil
add bl, bl
add r11b, bl
add cl, 0x51
add r11b, cl
not r11b
mov al, dil
sar al, 7
or al, dil
sub r11b, al
mov al, r10b
xor al, byte [0x14033d038]
sub r11b, al
mov al, dil
xor al, byte [0x14033d030]
add r11b, al
mov al, dil
xor al, 0x40
sub r11b, al
movsx eax, r10b
movsx ecx, dil
imul ecx, eax
xor cl, r11b
mov byte [rsp + r13 + 0x238], cl
add r13, r15
cmp r13, 0xf
jb 0x14022b056
lea rax, [rsp + 0x238]
mov qword [rsp + 0x258], rax
mov qword [rsp + 0x260], 0xf
mov rax, qword [rsp + 0x258]
mov qword [rsp + 0x40], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x2e8], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x2f8], xmm1
movdqa xmm0, xmmword [0x140316bb0]
movdqu xmmword [rsp + 0x2f8], xmm0
mov byte [rsp + 0x2e8], r12b
mov dword [rsp + 0xb8], r15d
movabs rax, 0xb55386c5c89c6429
mov qword [rsp + 0x4d8], rax
movabs r9, 0xd97384e981b1cb6b
mov qword [rsp + 0x30], r9
movabs rax, 0x230000000000000
mov rdi, qword [0x14033d088]
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, [0x14033d060]
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 [0x14033d060]
mov rax, r8
imul rax, qword [0x14033d070]
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
jge 0x14022b38e
sub ecx, r15d
or ecx, r14d
add ecx, r15d
mov rax, qword [rsp + 0x58]
ror rax, cl
not rax
imul rax, r8
imul rdx, rax, 0xffffffff8b853184
mov qword [rsp + 0x58], rdx
add r9, rdx
mov r10, r11
imul r10, rbx
sub r10, r9
movabs rbx, 0xb55386c5c89c6429
xor r10, rbx
mov cl, r9b
xor cl, 0xf8
and cl, 0xf
rol r10, cl
movabs rcx, 0x910b59a0af335e2c
imul rax, rcx
movabs rcx, 0x26beb4bd3e672147
add rax, rcx
xor r10, rax
mov rax, r9
sub rax, qword [0x14033d078]
xor r10, rax
xor r10, r8
xor r10, rdi
mov rax, r10
and eax, 3
je 0x14022b75a
sub rax, 1
je 0x14022b623
sub rax, 1
mov bl, 0x3f
je 0x14022b52e
cmp rax, 1
jne 0x14022b817
mov rcx, r9
imul rcx, r11
movabs rax, 0x17eb9bc6dcfb4263
add rax, r10
xor rcx, rax
ror rcx, 0x14
shr rcx, 0xc
xor rcx, rdi
not rcx
mov qword [rsp + 0x4d8], rcx
movabs rdx, 0x835717318a34
add rdx, qword [0x14033d088]
movabs rax, 0x260efe6e22649e23
xor rdx, rax
movzx eax, r10b
movzx ecx, cl
imul ecx, eax
and cl, bl
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xf7ca7db94fd166cf
sub rax, r11
mov r11, rdx
xor r11, rax
mov rcx, r11
movabs rax, 0xd97384e981b1cb6b
imul rcx, rax
mov eax, 0x9e0ab425
add rcx, rax
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov cl, byte [r13 + rcx*8]
and cl, 0xf
movabs rdx, 0xd2418c63e082affc
sub rdx, qword [rsp + 0x4d8]
shr rdx, cl
mov qword [rsp + 0x30], rdx
movabs rax, 0x26949f9eeadcf97f
mov rcx, qword [rsp + 0x58]
add rcx, rax
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, r10
imul rax, qword [r13 + rcx*8]
imul rax, r10
sub rax, qword [rsp + 0x48]
xor qword [rsp + 0x30], rax
jmp 0x14022b817
movabs rax, 0xaaaaaa1a9e13491b
mov rcx, r10
xor rcx, rax
movabs rax, 0x1206ed5c1e9557
imul rcx, rax
movabs r9, 0xfff17ca849717f67
mov rax, r8
xor rax, r9
sub rcx, rax
movabs rax, 0xffff7e8ab8037bc7
imul rdx, rax
movabs r11, 0x71d75abe2fd0f29a
add r11, rcx
add r11, rdx
movabs rax, 0x277cd7be4cc39e7b
mov rcx, r11
xor rcx, rax
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r9, r11
not r9
imul r9, qword [r13 + rcx*8]
xor r9, 0xffffffffcb469fcb
lea ecx, [r10 + 0x19]
and cl, bl
rol r9, cl
movabs rcx, 0xc7edf37bddbe6a85
mov rax, qword [rsp + 0x38]
xor rax, rcx
movabs rcx, 0x7c7a7dc6a241957a
and rax, rcx
imul r9, rax
mov rcx, r9
ror rcx, 0x2f
not rcx
movabs rax, 0x9b2de6b20cbc7170
imul rcx, rax
mov rax, r11
sub rax, r9
lea rdx, [rcx + rax*4]
mov cl, byte [rsp + 0x48]
and cl, bl
ror rdx, cl
movabs rax, 0xd97384e981b1cb6b
imul rdx, rax
mov qword [rsp + 0x30], rdx
jmp 0x14022b817
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 [0x14033d070]
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 0x14022b817
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 [0x14033d080]
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 [0x14033d060], 0xffffffff8b853184
mov rdx, qword [0x14033d068]
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 0x14022b7f8
sub ecx, r15d
or ecx, r14d
add ecx, r15d
mov rax, qword [rsp + 0x38]
ror rax, cl
movabs rcx, 0x268c7b167e4e3495
add rax, rcx
add rax, qword [rsp + 0x58]
mov qword [rsp + 0x48], rax
movabs rax, 0xff055d7bbe656417
mov rcx, qword [rsp + 0x4d8]
xor rcx, rax
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
xor r8, rdi
imul r8, qword [r13 + rcx*8]
not r9
imul r9, r10
imul r9, qword [rsp + 0x48]
imul r9, qword [rsp + 0x30]
movabs rcx, 0xf5ed7e87b9d62ecb
xor rcx, r11
not rcx
xor rcx, r9
sub rcx, r8
call fcn.1401b8548
mov qword [0x14034b9a0], rax
mov qword [rsp + 0x2d0], r12
mov qword [rsp + 0x2d8], r12
mov qword [rsp + 0x2e0], r12
mov r9d, r12d
mov dword [rsp + 0x4d8], r12d
mov dword [rsp + 0x68], 0x3eae5cb8
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 0x14022b91c
psrldq xmm0, 8
movq r8, xmm0
movzx ecx, cx
shr rcx, 1
lea rdi, [r8 + rcx*2]
mov r11d, 0x8d571e5e
jmp 0x14022b90e
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 0x14022b8f1
cmp r11d, r9d
jne 0x14022b9db
mov r11, qword [rax + 0x30]
movsxd rcx, dword [r11 + 0x3c]
mov rcx, qword [rcx + r11 + 0x88]
mov edx, ecx
add rdx, r11
mov qword [rsp + 0x30], rdx
shr rcx, 0x20
cmp rdx, r11
je 0x14022b9db
mov r8d, dword [rdx + 0x18]
test r8d, r8d
je 0x14022b9db
mov r9d, dword [rdx + 0x20]
mov qword [rsp + 0x38], r9
dec r8d
mov dword [rsp + 0x70], r8d
mov edx, r8d
mov qword [rsp + 0x48], rdx
lea rdx, [r9 + r8*4]
mov edi, dword [rdx + r11]
add rdi, r11
mov edx, 0x8d571e5e
mov r9b, byte [rdi]
add rdi, r15
test r9b, r9b
je 0x14022b9c3
mov r11d, edx
movsx r8d, r9b
mov r9d, r8d
imul r9d, r8d
add r9d, 0x31
xor r9d, r10d
mov edx, r11d
xor edx, r8d
mov r11d, r9d
imul r11d, edx
mov r9b, byte [rdi]
add rdi, r15
test r9b, r9b
jne 0x14022b987
mov dword [rsp + 0x78], r11d
mov r11, qword [rax + 0x30]
mov r8d, dword [rsp + 0x70]
mov edx, dword [rsp + 0x78]
cmp edx, dword [rsp + 0x68]
je 0x14022b9e3
test r8d, r8d
mov r9, qword [rsp + 0x38]
jne 0x14022b959
mov r9d, dword [rsp + 0x4d8]
mov rax, qword [rax]
jmp 0x14022b8c0
mov r9, qword [rsp + 0x30]
mov edx, dword [r9 + 0x1c]
add rdx, r11
mov eax, dword [r9 + 0x24]
add rax, r11
mov r8, qword [rsp + 0x48]
movzx eax, word [rax + r8*2]
mov r8d, dword [rdx + rax*4]
add r8, r11
cmp r8, r9
jbe 0x14022baa6
lea rax, [r9 + rcx]
cmp r8, rax
jae 0x14022baa6
mov r9d, 0x8d571e5e
mov dword [rsp + 0x4d8], r9d
mov edx, r9d
mov dword [rsp + 0x68], edx
mov al, byte [r8]
cmp al, 0x2e
je 0x14022ba63
movsx ecx, al
mov eax, ecx
imul eax, ecx
add eax, 0x31
xor eax, r10d
xor ecx, r9d
mov r9d, eax
imul r9d, ecx
add r8, r15
mov al, byte [r8]
cmp al, 0x2e
jne 0x14022ba39
mov dword [rsp + 0x4d8], r9d
add r8, r15
mov al, byte [r8]
test al, al
je 0x14022ba90
movsx ecx, al
mov eax, ecx
imul eax, ecx
add eax, 0x31
xor eax, r10d
xor ecx, edx
mov edx, eax
imul edx, ecx
add r8, r15
mov al, byte [r8]
test al, al
jne 0x14022ba6d
mov dword [rsp + 0x68], edx
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
jmp 0x14022b9db
mov rcx, qword [rsp + 0x40]
call r8
lea r8, [rsp + 0x4d8]
mov rdx, rax
lea rcx, [rsp + 0x2d0]
call fcn.1401b68b4
movabs rax, 0x145871a73f31fdfa
mov r10, qword [0x14033d070]
imul r10, rax
not r10
movabs rcx, 0xbe1e9f0ac413fa75
mov rax, qword [0x14033d060]
xor rax, rcx
and r10, rax
ror r10, 0x3b
shr r10, 8
movabs rax, 0x8e56c179178e9a80
mov r9, qword [0x14033d088]
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 0x14022bb72
sub ecx, r15d
or ecx, r14d
add ecx, r15d
mov rdx, r9
ror rdx, cl
not rdx
movabs rcx, 0xec07c3c5bc3cdcc0
mov rax, rdx
imul rax, rcx
mov qword [rsp + 0x4d8], rax
add r8, rax
mov rdi, r9
imul rdi, r10
sub rdi, r8
movabs rax, 0xd60d41b56b8e53bd
xor rdi, rax
mov cl, r8b
xor cl, 0xfc
and cl, 0xf
rol rdi, cl
mov rax, r8
sub rax, qword [0x14033d078]
xor rdi, rax
movabs rax, 0xd677af20585f5200
imul rdx, rax
movabs rax, 0x1798f4435e366a40
sub rdx, rax
xor rdi, rdx
movabs rcx, 0x41e160f507851bb5
xor rdi, rcx
mov rax, rdi
imul rax, qword [0x14033d080]
mov rdx, qword [0x14033d068]
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 [0x14033d060], 0xffffffffc396e1c0
sub r8, rdx
mov al, r10b
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, r11d
jge 0x14022bc55
sub ecx, r15d
or ecx, r14d
add ecx, r15d
ror r8, cl
add r8, qword [rsp + 0x4d8]
movabs rax, 0xeb2f5bae0ff90b98
imul r8, rax
movabs rax, 0x1798f4435e366a40
sub r8, rax
movabs rax, 0xeb2f5bae0ff90b97
sub rax, qword [rsp + 0x4d8]
imul r8, rax
imul r8, rdi
movabs rcx, 0xa1281786087ccaf
xor rcx, r9
not rcx
xor rcx, r8
mov rax, qword [rsp + 0x30]
xor rax, r10
imul rax, qword [0x14033d080]
sub rcx, rax
call fcn.1401b7a2c
mov qword [0x14034b9d8], rax
mov r8, qword [rsp + 0x2d8]
mov rcx, qword [rsp + 0x2d0]
sub r8, rcx
mov rdx, qword [rsp + 0x40]
call fcn.1402bb3a0
movabs rax, 0x986fffe16b181ff9
mov qword [rsp + 0x4d8], rax
movabs rdi, 0x6f57ae34cc739a0f
mov qword [rsp + 0x40], r12
movabs rax, 0xc4cd592883e2abde
movabs r11, 0x6c35ad5ebfdec86d
mov rcx, qword [0x14033d070]
imul rcx, rax
not rcx
movabs rdx, 0x6c35ad5eac0f1fed
mov rax, qword [0x14033d060]
xor rax, rdx
and rcx, rax
ror rcx, 0x28
shr rcx, 8
mov qword [rsp + 0x30], rcx
movabs rax, 0xb790532c9212eb00
mov r10, qword [0x14033d080]
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 0x14022bdc0
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 [0x14033d078]
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 0x14022c112
sub rax, 1
je 0x14022c017
sub rax, 1
je 0x14022bf4e
cmp rax, 1
jne 0x14022c1a4
mov rcx, r9
imul rcx, r10
movabs rax, 0x7b33efc336391c47
add rax, r8
xor rcx, rax
ror rcx, 0x10
shr rcx, 0xc
not rcx
mov qword [rsp + 0x4d8], rcx
movabs rdx, 0x83571f81a294
add rdx, qword [0x14033d088]
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 + 0x4d8]
shr rdi, cl
movabs rax, 0x90b0765397cb523b
mov rcx, qword [rsp + 0x38]
add rcx, rax
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, r8
imul rax, qword [r13 + rcx*8]
imul rax, r8
sub rax, qword [rsp + 0x30]
xor rdi, rax
jmp 0x14022c1a4
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 0x14022c1a4
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 [0x14033d070]
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 0x14022c1a4
mov rcx, qword [0x14033d080]
imul rcx, r8
mov rdx, qword [0x14033d068]
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 [0x14033d060], 0x13d1d780
sub rcx, rdx
mov qword [rsp + 0x30], rcx
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, 0x8000003f
jge 0x14022c185
sub ecx, r15d
or ecx, r14d
add ecx, r15d
mov rax, qword [rsp + 0x30]
ror rax, cl
movabs rcx, 0x90a851cb338c65f1
add rax, rcx
add rax, qword [rsp + 0x38]
mov qword [rsp + 0x30], rax
movabs rax, 0xff055d7bb6d54cb7
mov rcx, qword [rsp + 0x4d8]
xor rcx, rax
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
xor r11, qword [rsp + 0x40]
imul r11, qword [r13 + rcx*8]
not r9
imul r9, r8
imul r9, qword [rsp + 0x30]
imul r9, rdi
movabs rcx, 0xf5ed7e87b166066b
xor rcx, r10
not rcx
xor rcx, r9
sub rcx, r11
call fcn.1401b7cb4
mov qword [0x14034b9a0], rax
movabs rax, 0xea437b2a73a5922
mov qword [rsp + 0x40], rax
movabs rdi, 0x74c97cfe69afae3b
movabs rax, 0xe6b041345a6d6000
mov r11, qword [0x14033d080]
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 [0x14033d060]
mov rax, r9
imul rax, qword [0x14033d070]
movabs rdx, 0xb9de928bad30f0d8
imul rax, rdx
not rax
and rcx, rax
ror rcx, 0x12
shr rcx, 8
mov qword [rsp + 0x38], rcx
movabs r10, 0x8b368301965051c5
lea rcx, [r11 + r10]
xor rcx, 0xffffffff93befbd5
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rax, 0x116b16d63e57c850
mov r8, qword [r13 + rcx*8]
imul r8, rax
add r8, rdi
movabs rcx, 0xa8b9ac104d169b58
mov rax, r9
imul rax, rcx
xor r8, rax
shr r8, 0x1f
not r8
mov qword [rsp + 0x48], r8
mov rax, r8
xor rax, r11
mov qword [rsp + 0x4d8], rax
lea rcx, [r8 + r10]
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, r8b
movzx ecx, byte [r13 + rcx*8]
imul ecx, eax
movzx ecx, cl
xor ecx, 0xc9
mov eax, 0x8000003f
and ecx, eax
jge 0x14022c38c
sub ecx, r15d
or ecx, r14d
add ecx, r15d
mov rdx, qword [rsp + 0x4d8]
ror rdx, cl
not rdx
imul rdx, r9
imul rcx, rdx, 0x23b57b0e
mov qword [rsp + 0x58], rcx
add r10, rcx
imul r8, qword [rsp + 0x38]
sub r8, r10
movabs rcx, 0xea437b2a73a5922
xor r8, rcx
movzx ecx, r10b
mov dword [rsp + 0x4d8], ecx
xor ecx, 6
and ecx, 0xf
and ecx, eax
jge 0x14022c3e1
sub ecx, r15d
or ecx, r14d
add ecx, r15d
rol r8, cl
mov rax, r10
sub rax, qword [0x14033d078]
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 0x14022c77a
sub rax, 1
je 0x14022c629
sub rax, 1
je 0x14022c534
cmp rax, 1
jne 0x14022c83d
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 [0x14033d088]
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 0x14022c83d
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 0x14022c83d
movabs rax, 0x18b93674f81ab643
imul r8, rax
movabs rax, 0xd79435e50d79435f
mul r8
shr rdx, 4
movzx eax, dl
imul edx, eax, 0x13
mov cl, r8b
sub cl, dl
movabs rdx, 0x8b368301965051c4
mov rax, r11
imul rax, rdx
movabs rdx, 0xea437b2a73a5922
xor rax, rdx
not rax
shl rax, cl
xor r9, rax
mov eax, dword [rsp + 0x4d8]
and eax, 0x8000003f
jge 0x14022c691
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 [0x14033d070]
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 0x14022c83d
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 [0x14033d080]
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 [0x14033d060], 0x23b57b0e
mov rdx, qword [0x14033d068]
sub rax, rdx
mov qword [rsp + 0x4d8], rax
mov al, r11b
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, 0x8000003f
jge 0x14022c81b
sub ecx, r15d
or ecx, r14d
add ecx, r15d
mov rax, qword [rsp + 0x4d8]
ror rax, cl
movabs rcx, 0x8b368301965051c5
add rax, rcx
add rax, qword [rsp + 0x58]
mov qword [rsp + 0x38], rax
movabs rax, 0xff055d7be69510f9
mov rcx, qword [rsp + 0x40]
xor rcx, rax
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
xor r9, r11
imul r9, qword [r13 + rcx*8]
not r10
imul r10, r8
imul r10, qword [rsp + 0x38]
imul r10, rdi
movabs rcx, 0xf5ed7e87e1265a25
xor rcx, qword [rsp + 0x48]
not rcx
xor rcx, r10
sub rcx, r9
call fcn.1401b77a4
mov qword [0x14034b9d0], rax
movabs rax, 0xfa6d7f8d8561701c
mov qword [rsp + 0x40], rax
movabs rdi, 0x617df7358cbb1f1f
movabs rax, 0x9869227d3f764000
mov r11, qword [0x14033d080]
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 [0x14033d060]
mov rax, r9
imul rax, qword [0x14033d070]
movabs rdx, 0xb9de928bc326e6ec
imul rax, rdx
not rax
and rcx, rax
ror rcx, 2
shr rcx, 8
mov qword [rsp + 0x38], rcx
movabs r10, 0x9e8208ca7344e0e1
lea rcx, [r11 + r10]
xor rcx, 0xfffffffffda8ede1
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rax, 0x4bac04834c1a0a48
mov r8, qword [r13 + rcx*8]
imul r8, rax
add r8, rdi
movabs rcx, 0x84261a489f4fdd90
mov rax, r9
imul rax, rcx
xor r8, rax
shr r8, 0x1f
not r8
mov qword [rsp + 0x48], r8
mov rax, r8
xor rax, r11
mov qword [rsp + 0x4d8], rax
lea rcx, [r8 + r10]
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, r8b
movzx ecx, byte [r13 + rcx*8]
imul ecx, eax
movzx ecx, cl
xor ecx, 0xfd
mov eax, 0x8000003f
and ecx, eax
jge 0x14022ca22
sub ecx, r15d
or ecx, r14d
add ecx, r15d
mov rdx, qword [rsp + 0x4d8]
ror rdx, cl
not rdx
imul rdx, r9
imul rcx, rdx, 0xfffffffffc58809e
mov qword [rsp + 0x58], rcx
add r10, rcx
imul r8, qword [rsp + 0x38]
sub r8, r10
movabs rcx, 0xfa6d7f8d8561701c
xor r8, rcx
movzx ecx, r10b
mov dword [rsp + 0x4d8], ecx
xor ecx, 2
and ecx, 0xf
and ecx, eax
jge 0x14022ca77
sub ecx, r15d
or ecx, r14d
add ecx, r15d
rol r8, cl
movabs rax, 0x4b8ecd40a1b4b522
imul rdx, rax
movabs rax, 0x74d418599ced7a3f
add rdx, rax
xor r8, rdx
mov rax, r10
sub rax, qword [0x14033d078]
xor r8, rax
xor r8, r9
xor r8, r11
mov rax, r8
xor rax, 0xfffffffffffffffe
and eax, 3
je 0x14022ce0b
sub rax, 1
je 0x14022ccc0
sub rax, 1
je 0x14022cbcf
cmp rax, 1
jne 0x14022cece
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 [0x14033d088]
add rdx, rcx
movabs rax, 0x9e008db21988288d
xor rdx, rax
movzx eax, r8b
movzx ecx, byte [rsp + 0x40]
imul ecx, eax
and cl, bl
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xf7ca7db979370415
sub rax, qword [rsp + 0x48]
mov rcx, rdx
xor rcx, rax
mov qword [rsp + 0x48], rcx
imul rcx, rdi
mov eax, 0xa8ecd6ff
add rcx, rax
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov cl, byte [r13 + rcx*8]
and cl, 0xf
movabs rdi, 0x19c38d1413d8e998
sub rdi, qword [rsp + 0x40]
shr rdi, cl
movabs rax, 0x9e8a2d52cdad8715
mov rcx, qword [rsp + 0x58]
add rcx, rax
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, r8
imul rax, qword [r13 + rcx*8]
imul rax, r8
sub rax, qword [rsp + 0x38]
xor rdi, rax
jmp 0x14022cece
movabs rax, 0xaaaaaa1aa8f52bc1
mov rcx, r8
xor rcx, rax
movabs rax, 0x1206ed6af8f78d
imul rcx, rax
movabs rdx, 0xfff17ca87f971dbd
mov rax, r9
xor rax, rdx
sub rcx, rax
movabs rax, 0xffff7e8a8ee5191d
mov rdx, qword [rsp + 0x58]
imul rdx, rax
movabs r10, 0xf98e8b5f4eed8b9a
add r10, rcx
add r10, rdx
mov qword [rsp + 0x48], r10
movabs rax, 0x277cd7be7a25fca1
mov rcx, r10
xor rcx, rax
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
not r10
imul r10, qword [r13 + rcx*8]
xor r10, 0xfffffffffda0fd11
lea ecx, [r8 + 3]
and cl, bl
rol r10, cl
movabs rcx, 0xcfd7d3fd6b58085f
mov rax, qword [rsp + 0x30]
xor rax, rcx
movabs rcx, 0x7c7a7dc694a7f7a0
and rax, rcx
imul r10, rax
mov rcx, qword [rsp + 0x48]
sub rcx, r10
mov rax, r10
not rax
movabs rdx, 0x9b2de6b2d725fa18
imul rax, rdx
lea rdx, [rax + rcx*4]
mov cl, byte [rsp + 0x38]
and cl, bl
ror rdx, cl
mov rax, rdi
mov rdi, rdx
imul rdi, rax
jmp 0x14022cece
movabs rax, 0xea53dfe5f718c451
imul r8, rax
movabs rax, 0xd79435e50d79435f
mul r8
shr rdx, 4
movzx eax, dl
imul edx, eax, 0x13
mov cl, r8b
sub cl, dl
movabs rdx, 0x9e8208ca7344e0e0
mov rax, r11
imul rax, rdx
movabs rdx, 0xfa6d7f8d8561701c
xor rax, rdx
not rax
shl rax, cl
xor r9, rax
mov eax, dword [rsp + 0x4d8]
and eax, 0x8000003f
jge 0x14022cd28
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 [0x14033d070]
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 0x14022cece
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 [0x14033d080]
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 [0x14033d060], 0xfffffffffc58809e
mov rdx, qword [0x14033d068]
sub rax, rdx
mov qword [rsp + 0x4d8], rax
mov al, r11b
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, 0x8000003f
jge 0x14022ceac
sub ecx, r15d
or ecx, r14d
add ecx, r15d
mov rax, qword [rsp + 0x4d8]
ror rax, cl
movabs rcx, 0x9e8208ca7344e0e1
add rax, rcx
add rax, qword [rsp + 0x58]
mov qword [rsp + 0x38], rax
movabs rax, 0xff055d7b888306cd
mov rcx, qword [rsp + 0x40]
xor rcx, rax
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
xor r9, r11
imul r9, qword [r13 + rcx*8]
not r10
imul r10, r8
imul r10, qword [rsp + 0x38]
imul r10, rdi
movabs rcx, 0xf5ed7e878f304c11
xor rcx, qword [rsp + 0x48]
not rcx
xor rcx, r10
sub rcx, r9
call fcn.1401b81c4
mov qword [0x14034b9a8], rax
mov dword [rsp + 0xe8], r12d
mov dword [rsp + 0xe8], 0xf6b7dac6
mov eax, dword [rsp + 0xe8]
add eax, 0x5f468ff5
xor eax, 0x2549f14b
sub eax, dword [0x14033d058]
sub eax, dword [0x14033d050]
sub eax, 0x1a8362ae
xor eax, 0x18d6ef7c
sub eax, dword [0x14033d048]
mov rcx, qword [0x14033d040]
add eax, 0x3a2c4883
add eax, ecx
xor eax, 0xfb53fdd6
add eax, 0x536fa452
xor eax, 0x9f97b302
lea edx, [rcx + 0x2a18b25d]
add edx, eax
not edx
mov eax, dword [0x14033d038]
xor eax, 0xd97d1893
sub edx, eax
mov ecx, dword [0x14033d030]
xor ecx, 0x2682e76c
add ecx, 0xfe2e17ae
add ecx, edx
xor ecx, 0xee990304
mov dword [rsp + 0xe8], ecx
movsxd rax, ecx
mov qword [rsp + 0x40], rax
mov dword [rsp + 0xe8], r12d
movabs rdi, 0x1f2dd49ec2b0057d
movabs rax, 0x2b16bba2c5b7e0e0
movabs r10, 0x1560b89b9ee8952c
mov rcx, qword [0x14033d070]
imul rcx, rax
not rcx
movabs r8, 0xea9f476466c61d72
mov rax, qword [0x14033d060]
xor rax, r8
and rcx, rax
ror rcx, 0x24
shr rcx, 8
mov qword [rsp + 0x30], rcx
movabs rax, 0xcec4eff6586c1830
mov r11, qword [0x14033d070]
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 0x14022d09d
sub ecx, r15d
or ecx, r14d
add ecx, r15d
mov rdx, r11
ror rdx, cl
not rdx
mov qword [rsp + 0x38], rdx
movabs r8, 0x8a95beb1568e2628
mov rcx, rdx
imul rcx, r8
mov qword [rsp + 0x48], rcx
add r9, rcx
mov r8, r11
imul r8, qword [rsp + 0x30]
sub r8, r9
movabs rdx, 0xf16c8fb8258ca416
xor r8, rdx
movzx ecx, r9b
mov dword [rsp + 0x4d8], ecx
xor ecx, 6
and ecx, 0xf
and ecx, eax
jge 0x14022d0fb
sub ecx, r15d
or ecx, r14d
add ecx, r15d
rol r8, cl
mov rax, r9
sub rax, qword [0x14033d078]
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 0x14022d423
sub rax, 1
je 0x14022d328
sub rax, 1
je 0x14022d255
cmp rax, 1
jne 0x14022d4c8
mov rcx, r9
imul rcx, r11
movabs rax, 0x536c1946b26441b
add rax, r8
xor rcx, rax
ror rcx, 0x1e
shr rcx, 0xc
not rcx
mov qword [rsp + 0x4d8], rcx
movabs rdx, 0x83572d5513ae
add rdx, qword [0x14033d088]
movabs rax, 0xe050ae195b01c9ab
xor rdx, rax
movzx eax, r8b
movzx ecx, cl
imul ecx, eax
and cl, bl
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xf7ca7db975b5ff51
sub rax, r11
mov r11, rdx
xor r11, rax
mov rcx, r11
imul rcx, rdi
mov eax, 0xa46e2dbb
add rcx, rax
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov cl, byte [r13 + rcx*8]
and cl, 0xf
movabs rdi, 0x6f2adafecbededc6
sub rdi, qword [rsp + 0x4d8]
shr rdi, cl
movabs rax, 0xe0da4fe9943a57fb
mov rcx, qword [rsp + 0x48]
add rcx, rax
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, r8
imul rax, qword [r13 + rcx*8]
imul rax, r8
sub rax, qword [rsp + 0x30]
xor rdi, rax
mov rcx, qword [rsp + 0x4d8]
jmp 0x14022d4cb
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 0x14022d4cb
movabs rax, 0x2dcbddf2a683e6c9
imul r8, rax
movabs rax, 0xd79435e50d79435f
mul r8
shr rdx, 4
movzx eax, dl
imul edx, eax, 0x13
mov cl, r8b
sub cl, dl
movabs rdx, 0xe937047da735be9
shl rdx, cl
mov rax, r10
mov r10, rdx
xor r10, rax
mov eax, dword [rsp + 0x4d8]
and eax, 0x8000003f
jge 0x14022d37f
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 [0x14033d070]
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 0x14022d4ce
mov rcx, r8
imul rcx, qword [0x14033d080]
and rcx, qword [0x14033d080]
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 [0x14033d060], 0xfffffffff82e885e
mov rdx, qword [0x14033d068]
sub rax, rdx
mov qword [rsp + 0x4d8], rax
mov al, bl
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, 0x8000003f
jge 0x14022d49a
sub ecx, r15d
or ecx, r14d
add ecx, r15d
mov rax, qword [rsp + 0x4d8]
ror rax, cl
movabs rcx, 0xe0d22b613d4ffa83
add rax, rcx
add rax, qword [rsp + 0x48]
mov qword [rsp + 0x30], rax
movabs rcx, 0xf16c8fb8258ca416
jmp 0x14022d4ce
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.1400315cc
mov qword [0x14034b9a0], rax
mov qword [rsp + 0x190], r12
movabs rax, 0x1e31db57a56c5a97
mov qword [rsp + 0x190], rax
mov qword [rsp + 0x118], r12
movabs rax, 0x110fd2e3ece6435d
mov qword [rsp + 0x118], rax
movabs rcx, 0xf33a52b61ffb25c3
add rcx, qword [rsp + 0x118]
movabs rax, 0x4b1536625309b1ff
xor rcx, rax
sub rcx, qword [0x14033d050]
sub rcx, qword [0x14033d058]
movabs rax, 0x4edf047f59c58070
sub rcx, rax
movabs rax, 0xf8f8cd98591f8756
xor rcx, rax
sub rcx, qword [0x14033d048]
movabs rax, 0xa7d654b97017272b
add rcx, rax
mov rdi, qword [0x14033d040]
add rcx, rdi
movabs rax, 0x5a9179a8438602f6
xor rcx, rax
movabs rax, 0x5f627dc6bb61222b
sub rcx, rax
movabs rax, 0xb03b3cd2513f6277
xor rcx, rax
movabs rdx, 0x7483ce44a7a90ca9
add rdx, rcx
add rdx, rdi
not rdx
movabs rcx, 0x13cce94ad87feaeb
mov r10, qword [0x14033d038]
mov rax, r10
xor rax, rcx
sub rdx, rax
movabs rax, 0xec3316b527801514
mov r11, qword [0x14033d030]
mov rcx, r11
xor rcx, rax
movabs rax, 0xe0b56d8e000148c0
add rdx, rax
add rdx, rcx
movabs rax, 0xe8ff6481aac3a15c
xor rdx, rax
mov qword [rsp + 0x118], rdx
movabs rcx, 0xf33a52b66334a343
add rcx, qword [rsp + 0x190]
movabs rax, 0xc89536625309f539
xor rcx, rax
sub rcx, qword [0x14033d050]
sub rcx, qword [0x14033d058]
movabs rax, 0x3120fb80a570d317
add rcx, rax
movabs rax, 0xf8f8cd9814d923e0
xor rcx, rax
sub rcx, qword [0x14033d048]
movabs rax, 0x67d654b914d69d50
add rcx, rax
add rcx, rdi
movabs rax, 0x5a9179a7f6d86fd0
xor rcx, rax
movabs rax, 0x5f627dc6ab0584bd
sub rcx, rax
movabs rax, 0xc43b3cd22fa089eb
xor rcx, rax
movabs rax, 0xf483ce4466462197
add rcx, rax
add rcx, rdi
not rcx
movabs rax, 0x13cce94ad98cd0e1
xor r10, rax
sub rcx, r10
movabs rax, 0xec3316b526732f1e
xor r11, rax
movabs rax, 0xe0b56d8f0e365cb6
add rcx, rax
add rcx, r11
movabs rax, 0xcd18bb0e93ecc95e
xor rcx, rax
mov qword [rsp + 0x190], rcx
mov rax, qword [rsp + 0x2d8]
sub rax, qword [rsp + 0x2d0]
and rcx, rdx
mov qword [rsp + 0x118], r12
mov qword [rsp + 0x190], r12
cmp rax, rcx
je 0x14022f37a
movabs rax, 0xe49e0dba2dd884cf
mov qword [rsp + 0x30], rax
movabs rdi, 0x9cb8d47ce8a030a6
mov qword [rsp + 0x38], r12
movabs rax, 0x4436741660c70b58
movabs r11, 0x63910ee8e3f00d14
mov rcx, qword [0x14033d070]
imul rcx, rax
not rcx
movabs rdx, 0x9c6ef1171e4c4aac
mov rax, qword [0x14033d060]
xor rax, rdx
and rcx, rax
ror rcx, 9
shr rcx, 8
mov qword [rsp + 0x48], rcx
movabs rax, 0x802eb34dc05ce8f0
mov r9, qword [0x14033d088]
imul r9, rax
movabs r8, 0x63472b83175fcf5a
sub r9, r8
movabs rax, 0xbcded5000000000
xor r9, rax
shr r9, 0x1f
not r9
lea rcx, [r9 + r8]
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, r9b
movzx ecx, byte [r13 + rcx*8]
imul ecx, eax
movzx ecx, cl
xor ecx, 0xcf
mov ebx, 0x8000003f
and ecx, ebx
jge 0x14022d834
sub ecx, r15d
or ecx, r14d
add ecx, r15d
mov rax, r9
ror rax, cl
not rax
mov qword [rsp + 0x58], rax
movabs rcx, 0x3c0e2bdc6d9f260
imul rax, rcx
mov qword [rsp + 0x78], rax
lea r10, [rax + r8]
mov r8, r9
mov rdx, qword [rsp + 0x48]
imul r8, rdx
sub r8, r10
movabs rax, 0xe49e0dba2dd884cf
xor r8, rax
movzx ecx, r10b
mov dword [rsp + 0x4d8], ecx
and ecx, 0xf
and ecx, ebx
jge 0x14022d890
sub ecx, r15d
or ecx, r14d
add ecx, r15d
rol r8, cl
mov rax, r10
sub rax, qword [0x14033d078]
xor r8, rax
movabs rcx, 0xcfb14eb64ac52a40
mov rax, qword [rsp + 0x58]
imul rax, rcx
movabs rcx, 0x423b32c64741545c
add rax, rcx
xor r8, rax
xor r8, r11
mov rax, r8
and eax, 2
je 0x14022dbb1
sub rax, 1
je 0x14022daa3
sub rax, 1
mov bl, 0x3f
je 0x14022d9da
cmp rax, 1
jne 0x14022dc49
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 [0x14033d088]
movabs rax, 0x63c5aefb7d8e6806
xor rdx, rax
movzx eax, cl
movzx ecx, r8b
imul ecx, eax
and cl, bl
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xf7ca7db9792a6b27
sub rax, r9
mov r9, rdx
xor r9, rax
mov rcx, r9
imul rcx, rdi
mov eax, 0xa8f1b9cd
add rcx, rax
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov cl, byte [r13 + rcx*8]
and cl, 0xf
movabs rdi, 0xabc0f8364b3977a1
sub rdi, qword [rsp + 0x30]
shr rdi, cl
movabs rax, 0x634f500b71d5985c
mov rcx, qword [rsp + 0x78]
add rcx, rax
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, r8
imul rax, qword [r13 + rcx*8]
imul rax, r8
sub rax, qword [rsp + 0x48]
xor rdi, rax
jmp 0x14022dc49
movabs rcx, 0xaaaaaa1aa8e844f3
mov r9, r8
xor r9, rcx
movabs rcx, 0x1206ed6ae598bf
imul r9, rcx
movabs rdx, 0xffff7e8a8ef8762f
mov rcx, qword [rsp + 0x78]
imul rcx, rdx
movabs rdx, 0x3c0e527a31d8841a
add r9, rdx
add r9, rcx
movabs rax, 0x277cd7be7a389393
mov rcx, r9
xor rcx, rax
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r10, r9
not r10
imul r10, qword [r13 + rcx*8]
xor r10, 0xfffffffffdbd9223
lea ecx, [r8 - 0xf]
and cl, bl
rol r10, cl
movabs rax, 0x38406d4600000000
imul r10, rax
mov rcx, r10
ror rcx, 0x21
not rcx
movabs rax, 0x9b2de6b2d75046d0
imul rcx, rax
mov rax, r9
sub rax, r10
lea rdx, [rcx + rax*4]
mov cl, byte [rsp + 0x48]
and cl, bl
ror rdx, cl
mov rax, rdi
mov rdi, rdx
imul rdi, rax
jmp 0x14022dc49
movabs rax, 0x95496474bacb4c44
imul r8, rax
movabs rax, 0xd79435e50d79435f
mul r8
shr rdx, 4
movzx eax, dl
imul edx, eax, 0x13
mov cl, r8b
sub cl, dl
movabs rdx, 0x1b61f245d2277b30
shl rdx, cl
mov rax, r11
mov r11, rdx
xor r11, rax
mov eax, dword [rsp + 0x4d8]
and eax, ebx
jge 0x14022daf7
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 [0x14033d070]
movabs rax, 0xe49e0dba2dd884cf
imul rdi, rax
sub rdi, r10
mov rax, qword [rsp + 0x48]
sub rax, r11
xor rdi, rax
movabs rax, 0xc7a7c6a6a52432d3
xor rdi, rax
mov rax, r8
imul rax, r10
imul rax, rdi
mov rdx, r9
sub rdx, rax
movabs rax, 0x78958946a767ec9
add rdx, rax
xor rdx, qword [rsp + 0x48]
movzx eax, r9b
imul ecx, eax, 0xf6
mov bl, 0x3f
and cl, bl
rol rdx, cl
not rdx
mov qword [rsp + 0x38], rdx
jmp 0x14022dc49
mov rcx, r8
imul rcx, qword [0x14033d080]
and rcx, qword [0x14033d060]
mov rax, r11
mov r11, rcx
xor r11, rax
ror r11, 0x14
imul r11, r10
mov rax, rdx
not rax
imul rax, r9
movabs rcx, 0x7cd8a7de78d56332
imul rax, rcx
mov qword [rsp + 0x38], rax
imul rcx, qword [0x14033d060], 0xfffffffffdbc47b8
mov rdx, qword [0x14033d068]
sub rcx, rdx
mov qword [rsp + 0x4d8], rcx
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, ebx
jge 0x14022dc25
sub ecx, r15d
or ecx, r14d
add ecx, r15d
mov rax, qword [rsp + 0x4d8]
ror rax, cl
movabs rcx, 0x63472b83175fcf5a
add rax, rcx
add rax, qword [rsp + 0x78]
mov qword [rsp + 0x48], rax
mov bl, 0x3f
movabs rax, 0xff055d7b889e69ff
mov rcx, qword [rsp + 0x30]
xor rcx, rax
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
xor r11, qword [rsp + 0x38]
imul r11, qword [r13 + rcx*8]
not r10
imul r10, r8
imul r10, qword [rsp + 0x48]
imul r10, rdi
movabs rcx, 0xf5ed7e878f2d2323
xor rcx, r9
not rcx
xor rcx, r10
sub rcx, r11
call fcn.1401b7174
mov qword [0x14034b990], rax
movabs rax, 0xf961c9b594a07733
mov qword [rsp + 0x4d8], rax
movabs rdi, 0xb5f4cb17d083b295
mov qword [rsp + 0x30], r12
movabs rax, 0x6a78fddc1b812d90
movabs r11, 0x8a491aadfb180c7f
mov rcx, qword [0x14033d070]
imul rcx, rax
not rcx
movabs r8, 0x75b6e55202d0ade9
mov rax, qword [0x14033d060]
xor rax, r8
and rcx, rax
ror rcx, 0x14
shr rcx, 8
mov qword [rsp + 0x38], rcx
movabs rax, 0x63acdec15a70ad20
mov r9, qword [0x14033d070]
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 0x14022dd86
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 [0x14033d078]
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 0x14022e0dd
sub rax, 1
je 0x14022dfe0
sub rax, 1
je 0x14022df17
cmp rax, 1
jne 0x14022e173
mov rcx, r8
imul rcx, r9
movabs rax, 0x83a4403d107fb7db
add rax, r10
xor rcx, rax
ror rcx, 0x2e
shr rcx, 0xc
not rcx
mov qword [rsp + 0x4d8], rcx
movabs rdx, 0x83572dd04476
add rdx, qword [0x14033d088]
movabs rax, 0x4a89b19049b7299b
xor rdx, rax
movzx eax, r10b
movzx ecx, cl
imul ecx, eax
and cl, bl
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xf7ca7db97530a889
sub rax, r9
mov r9, rdx
xor r9, rax
mov rcx, r9
imul rcx, rdi
mov eax, 0xa4eb7a63
add rcx, rax
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov cl, byte [r13 + rcx*8]
and cl, 0xf
movabs rdi, 0xa3206740205bf29e
sub rdi, qword [rsp + 0x4d8]
shr rdi, cl
movabs rax, 0x4a13597085eb581b
mov rcx, qword [rsp + 0x48]
add rcx, rax
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, r10
imul rax, qword [r13 + rcx*8]
imul rax, r10
sub rax, qword [rsp + 0x38]
xor rdi, rax
jmp 0x14022e173
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 0x14022e173
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 [0x14033d070]
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 0x14022e173
mov rcx, r10
imul rcx, qword [0x14033d080]
and rcx, qword [0x14033d088]
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 [0x14033d060], 0xfffffffff9c8a196
mov rdx, qword [0x14033d068]
sub rcx, rdx
mov qword [rsp + 0x38], rcx
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, 0x8000003f
jge 0x14022e154
sub ecx, r15d
or ecx, r14d
add ecx, r15d
mov rax, qword [rsp + 0x38]
ror rax, cl
movabs rcx, 0x4a0b34e82f7c4d6b
add rax, rcx
add rax, qword [rsp + 0x48]
mov qword [rsp + 0x38], rax
movabs rax, 0xff055d7b8484aa51
mov rcx, qword [rsp + 0x4d8]
xor rcx, rax
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
xor r11, qword [rsp + 0x30]
imul r11, qword [r13 + rcx*8]
not r8
imul r8, r10
imul r8, qword [rsp + 0x38]
imul r8, rdi
movabs rcx, 0xf5ed7e878337e08d
xor rcx, r9
not rcx
xor rcx, r8
sub rcx, r11
call fcn.1401b7150
mov qword [0x14034b9c0], rax
mov dword [rsp + 0x108], r12d
mov dword [rsp + 0x108], 0xa4500cb4
mov eax, dword [rsp + 0x108]
add eax, 0xd96caf0
xor eax, 0x60449f9b
sub eax, dword [0x14033d058]
sub eax, dword [0x14033d050]
sub eax, 0xa8e535f
xor eax, 0x7fcd7395
sub eax, dword [0x14033d048]
mov rcx, qword [0x14033d040]
add eax, 0xf28e6074
add eax, ecx
xor eax, 0xc807a90
add eax, 0x13ce7fac
xor eax, 0x709a2304
lea edx, [rcx + 0x568ca8ff]
add edx, eax
not edx
mov eax, dword [0x14033d038]
xor eax, 0xc436597f
sub edx, eax
mov ecx, dword [0x14033d030]
xor ecx, 0x3bc9a680
add ecx, 0xe2264c05
add ecx, edx
xor ecx, 0xe2ec1980
mov dword [rsp + 0x108], ecx
movsxd r8, ecx
mov dword [rsp + 0x108], r12d
mov rcx, qword [rsp + 0x2d8]
mov rax, rcx
mov rdx, qword [rsp + 0x2d0]
sub rax, rdx
cmp r8, rax
jae 0x14022e382
mov r13, qword [rsp + 0x40]
mov dword [rsp + 0x80], r12d
mov dword [rsp + 0x80], 0xdd2051b6
mov eax, dword [rsp + 0x80]
add eax, 0x7c24cd76
xor eax, 0x62cb0e29
sub eax, dword [0x14033d058]
sub eax, dword [0x14033d050]
add eax, 0x62260299
xor eax, 0xf7853905
sub eax, dword [0x14033d048]
mov rcx, qword [0x14033d040]
add eax, 0x777c9c07
add eax, ecx
xor eax, 0xb6667faf
add eax, 0x5329f880
xor eax, 0x251fad50
mov edx, dword [0x14033d030]
xor edx, 0x220f6e76
sub edx, eax
mov eax, dword [0x14033d038]
xor eax, 0xddf09189
sub edx, eax
sub edx, ecx
sub edx, 0x1ee9f9e3
xor edx, 0x6472f326
mov dword [rsp + 0x80], edx
mov rax, qword [rsp + 0x2d0]
movzx ecx, byte [rax + r8]
movsxd rax, edx
add rax, r8
imul rcx, rax
imul rcx, r8
not rcx
xor r13, rcx
mov dword [rsp + 0x80], r12d
add r8, r15
mov rcx, qword [rsp + 0x2d8]
mov rax, rcx
mov rdx, qword [rsp + 0x2d0]
sub rax, rdx
cmp r8, rax
jb 0x14022e29e
mov qword [rsp + 0x40], r13
lea r13, [0x14033d060]
sub rcx, rdx
mov rax, qword [rsp + 0x40]
imul rax, rcx
mov qword [rsp + 0x40], rax
movabs rax, 0xd8d4a0c70180d55
mov qword [rsp + 0x30], rax
movabs r9, 0xaadb2e53e452953f
mov qword [rsp + 0x38], r9
movabs rax, 0x862708ee7c0eb000
mov r11, qword [0x14033d068]
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 [0x14033d060]
mov rax, r8
imul rax, qword [0x14033d070]
movabs rdx, 0xb9de928bc791ad7c
imul rax, rdx
not rax
and rcx, rax
ror rcx, 0x32
shr rcx, 8
mov qword [rsp + 0x58], rcx
movabs r9, 0x5524d1ac1bad6ac1
lea rcx, [r11 + r9]
xor rcx, 0xfffffffff91fa671
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rax, 0xb8a09c32c1afa868
mov rdi, qword [r13 + rcx*8]
imul rdi, rax
sub rdi, r9
movabs rcx, 0x866189c23b9f03ac
mov rax, r8
imul rax, rcx
xor rdi, rax
shr rdi, 0x1f
not rdi
mov rax, rdi
xor rax, r11
mov qword [rsp + 0x4d8], rax
lea rcx, [rdi + r9]
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, dil
movzx ecx, byte [r13 + rcx*8]
imul ecx, eax
movzx ecx, cl
xor ecx, 0x6d
mov eax, 0x8000003f
and ecx, eax
jge 0x14022e511
sub ecx, r15d
or ecx, r14d
add ecx, r15d
mov rdx, qword [rsp + 0x4d8]
ror rdx, cl
not rdx
imul rdx, r8
imul rcx, rdx, 0x19ad8ce
mov qword [rsp + 0x78], rcx
lea r10, [rcx + r9]
mov r9, rdi
imul r9, qword [rsp + 0x58]
sub r9, r10
movabs rcx, 0xd8d4a0c70180d55
xor r9, rcx
movzx ecx, r10b
mov dword [rsp + 0x4d8], ecx
xor ecx, 2
and ecx, 0xf
and ecx, eax
jge 0x14022e56a
sub ecx, r15d
or ecx, r14d
add ecx, r15d
rol r9, cl
mov rax, r10
sub rax, qword [0x14033d078]
xor r9, rax
movabs rax, 0x9dd1bc6a6f4740b2
imul rdx, rax
movabs rax, 0x736360a9d4a19a7f
add rdx, rax
xor r9, rdx
xor r9, r8
xor r9, r11
mov rax, r9
xor rax, 0xfffffffffffffffe
and eax, 3
je 0x14022e917
sub rax, 1
je 0x14022e7bf
sub rax, 1
je 0x14022e6c5
cmp rax, 1
jne 0x14022e9c9
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 [0x14033d088]
movabs rax, 0x55a654d475d6e93d
xor rdx, rax
movzx eax, cl
movzx ecx, r9b
imul ecx, eax
and cl, bl
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xf7ca7db97d804f85
sub rax, rdi
mov rdi, rdx
xor rdi, rax
mov rcx, rdi
movabs rax, 0xaadb2e53e452953f
imul rcx, rax
mov eax, 0xac5b9d6f
add rcx, rax
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov cl, byte [r13 + rcx*8]
and cl, 0xf
movabs rax, 0x6a06f93445663938
sub rax, qword [rsp + 0x30]
shr rax, cl
mov qword [rsp + 0x38], rax
movabs rcx, 0x552cf6347a8d5865
add rcx, qword [rsp + 0x78]
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, r9
imul rax, qword [r13 + rcx*8]
imul rax, r9
sub rax, qword [rsp + 0x58]
xor qword [rsp + 0x38], rax
jmp 0x14022e9c9
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 0x14022e9c9
movabs rax, 0x3bae4286d399cc21
imul r9, rax
movabs rax, 0xd79435e50d79435f
mul r9
shr rdx, 4
movzx eax, dl
imul edx, eax, 0x13
mov cl, r9b
sub cl, dl
movabs rdx, 0x5524d1ac1bad6ac0
mov rax, r11
imul rax, rdx
movabs rdx, 0xd8d4a0c70180d55
xor rax, rdx
not rax
shl rax, cl
xor r8, rax
mov eax, dword [rsp + 0x4d8]
and eax, 0x8000003f
jge 0x14022e827
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 [0x14033d070]
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 0x14022e9c9
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 [0x14033d080]
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 [0x14033d060], 0x19ad8ce
sub rdx, qword [0x14033d068]
mov al, r11b
not al
movzx ecx, al
movzx eax, byte [0x14033d068]
xor ecx, eax
and ecx, 0x8000003f
jge 0x14022e9af
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.1400317a0
mov qword [0x14034b9e8], rax
movabs rax, 0xaf64000000000000
mov r8, qword [0x14033d060]
imul r8, rax
movabs rax, 0x2c5f000000000000
xor r8, rax
mov qword [rsp + 0x4d8], r8
movabs rdi, 0x211d64b782912bb4
mov rcx, r8
imul rcx, rdi
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r11, r8
and r11, rdi
imul r11, qword [r13 + rcx*8]
movabs rax, 0x9d3491114dc9c6c0
imul r11, rax
shr r11, 3
movabs rax, 0x8c6bf79620efaa35
xor r11, rax
movabs rax, 0xffffff57c6eb5d73
mov r9, r8
imul r9, rax
sub r9, 0x6249a40
xor r9, r11
xor r9, qword [0x14033d060]
mov rax, r11
imul rax, qword [0x14033d070]
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 0x14022eb9c
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 [0x14033d078]
xor r10, rax
movabs rax, 0x9332aa23aa1acb00
imul rdi, rax
movabs rax, 0x58ef21f2a6a20970
add rdi, rax
xor r10, rdi
xor r10, qword [rsp + 0x4d8]
xor r10, r11
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 [0x14033d080]
mov rdi, qword [r13 + rdx*8]
and rdi, rax
xor rdi, r11
and r11b, bl
mov cl, r11b
ror rdi, cl
mov r11, qword [rsp + 0x38]
imul rdi, r11
not r9
imul r9, qword [rsp + 0x30]
movabs rax, 0x7cd8a7de74b608be
imul r9, rax
mov rax, rdi
imul rax, qword [rsp + 0x4d8]
xor r9, rax
imul rax, qword [0x14033d060], 0xfffffffff9db65c0
mov rdx, qword [0x14033d068]
sub rax, rdx
mov qword [rsp + 0x4d8], rax
mov al, r9b
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, r8d
jge 0x14022eca3
sub ecx, r15d
or ecx, r14d
add ecx, r15d
mov rax, qword [rsp + 0x4d8]
ror rax, cl
add rax, r11
not r11
imul r11, r10
imul r11, rax
movabs rax, 0x211d64b782912bb4
imul r11, rax
movabs rcx, 0xf5ed7e87834e48af
xor rcx, qword [rsp + 0x30]
not rcx
xor rcx, r11
xor rdi, r9
imul rdi, qword [0x14033d070]
sub rcx, rdi
call fcn.1401b7b70
mov qword [0x14034b9b0], rax
movabs rdi, 0x6704d34f3d1d67d9
movabs r10, 0x94ff900e4ec406a
mov qword [rsp + 0x4d8], r10
movabs rax, 0xafa82f3fda000000
mov r8, qword [0x14033d080]
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 [0x14033d060]
mov rax, r9
imul rax, qword [0x14033d070]
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 0x14022ee82
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 [0x14033d078]
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 0x14022f256
sub rax, 1
je 0x14022f114
sub rax, 1
je 0x14022f017
cmp rax, 1
jne 0x14022f314
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 [0x14033d088]
add rdx, rcx
movabs rax, 0xf632838775bba182
xor rdx, rax
movzx eax, dil
movzx ecx, r10b
imul ecx, eax
and cl, bl
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xf7ca7db97d53d26f
sub rax, r11
mov r11, rdx
xor r11, rax
mov rcx, r11
movabs rax, 0x94ff900e4ec406a
imul rcx, rax
mov eax, 0xac880085
add rcx, rax
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov cl, byte [r13 + rcx*8]
and cl, 0xf
movabs rax, 0x449927bf7a0bb515
sub rax, rdi
shr rax, cl
mov qword [rsp + 0x4d8], rax
movabs rcx, 0xf6b82b8779202fe0
add rcx, qword [rsp + 0x58]
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, r10
imul rax, qword [r13 + rcx*8]
imul rax, r10
sub rax, qword [rsp + 0x48]
xor qword [rsp + 0x4d8], rax
jmp 0x14022f314
movabs rax, 0xaaaaaa1aac91fdbb
mov rcx, r10
xor rcx, rax
movabs rax, 0x1206ed6e9c21f7
imul rcx, rax
movabs rdx, 0xfff17ca87bf3cbc7
mov rax, r9
xor rax, rdx
sub rcx, rax
movabs rax, 0xffff7e8a8a81cf67
mov rdx, qword [rsp + 0x58]
imul rdx, rax
movabs r11, 0x32fafb29cdf42ec1
add r11, rcx
add r11, rdx
movabs rax, 0x277cd7be7e412adb
mov rcx, r11
xor rcx, rax
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r8, r11
not r8
imul r8, qword [r13 + rcx*8]
xor r8, 0xfffffffff9c42b6b
lea ecx, [r10 - 7]
and cl, bl
rol r8, cl
movabs rcx, 0x1858510480000000
mov rax, qword [rsp + 0x38]
xor rax, rcx
movabs rcx, 0x7c7a7dc690c321da
and rax, rcx
imul r8, rax
mov rcx, r8
ror rcx, 0x3f
not rcx
movabs rax, 0x9b2de6b2c6b6a3f0
imul rcx, rax
mov rax, r11
sub rax, r8
lea rdx, [rcx + rax*4]
mov cl, byte [rsp + 0x48]
and cl, bl
ror rdx, cl
movabs rax, 0x94ff900e4ec406a
imul rdx, rax
mov qword [rsp + 0x4d8], rdx
jmp 0x14022f314
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 [0x14033d070]
imul rcx, rdi
sub rcx, r8
mov rax, qword [rsp + 0x48]
sub rax, r9
xor rcx, rax
movabs rax, 0xc7a7c6a6a15d8b9b
xor rcx, rax
mov qword [rsp + 0x4d8], rcx
movabs rax, 0xcccccccccccccccd
mov rcx, qword [rsp + 0x30]
mul rcx
shr rdx, 3
lea rax, [rdx + rdx*4]
add rax, rax
sub rcx, rax
or rcx, r15
xor edx, edx
mov rax, qword [rsp + 0x4d8]
div rcx
mov rcx, rdx
mov rdx, r10
imul rdx, r8
imul rdx, qword [rsp + 0x4d8]
shr rdx, cl
mov rax, r11
sub rax, rdx
sub rax, qword [rsp + 0x30]
movabs rdx, 0x78958946e0fc781
add rdx, rax
xor rdx, qword [rsp + 0x48]
movzx eax, r11b
imul ecx, eax, 0xfe
and cl, bl
rol rdx, cl
not rdx
mov qword [rsp + 0x30], rdx
jmp 0x14022f314
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 [0x14033d080]
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 [0x14033d060], 0xfffffffff1914b80
mov rdx, qword [0x14033d068]
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 0x14022f2f5
sub ecx, r15d
or ecx, r14d
add ecx, r15d
mov rax, qword [rsp + 0x38]
ror rax, cl
movabs rcx, 0xf6b006ff1b13bf96
add rax, rcx
add rax, qword [rsp + 0x58]
mov qword [rsp + 0x48], rax
movabs rax, 0xff055d7b8ce7d0b7
xor rdi, rax
mov rax, rsi
mul rdi
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rdi, rax
xor r9, qword [rsp + 0x30]
imul r9, qword [r13 + rdi*8]
not r8
imul r8, r10
imul r8, qword [rsp + 0x48]
imul r8, qword [rsp + 0x4d8]
movabs rcx, 0xf5ed7e878b549a6b
xor rcx, r11
not rcx
xor rcx, r8
sub rcx, r9
call fcn.140092844
mov qword [0x14034b9e0], rax
jmp 0x14022f37c
mov bl, 0x3f
mov r8, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x4d0]
xor r8, qword [rdx + 0x60]
mov qword [rsp + 0x40], r8
mov qword [rsp + 0x120], r12
movabs rax, 0x65b302e971ed8f94
mov qword [rsp + 0x120], rax
movabs rcx, 0xf33a52bde6c97cc3
add rcx, qword [rsp + 0x120]
movabs rax, 0xa2153662531178ce
xor rcx, rax
sub rcx, qword [0x14033d050]
sub rcx, qword [0x14033d058]
movabs rax, 0x4edf047f7119eb75
sub rcx, rax
movabs rax, 0xf8f8cd907335f6fa
xor rcx, rax
sub rcx, qword [0x14033d048]
movabs rax, 0x27d654aee1ba1012
add rcx, rax
mov rdx, qword [0x14033d040]
add rcx, rdx
movabs rax, 0x5a91799f64c2a7ba
xor rcx, rax
movabs rax, 0x5f627dbcf88a54c7
sub rcx, rax
movabs rax, 0xf83b3cce6d9a0084
xor rcx, rax
movabs rax, 0x7483ce3d174a5a0a
add rax, rcx
add rdx, rax
not rdx
movabs rcx, 0x13cce94af79b2447
mov rax, qword [0x14033d038]
xor rax, rcx
sub rdx, rax
movabs rax, 0xec3316b50864dbb8
mov rcx, qword [0x14033d030]
xor rcx, rax
movabs r11, 0xe0b56dad9a97de1c
add r11, rdx
add r11, rcx
movabs rax, 0x13d421a31346d008
xor r11, rax
mov qword [rsp + 0x30], r11
mov qword [rsp + 0x120], r11
movabs rax, 0xcd7e8a131b72d1b0
mov rdi, r8
xor rdi, rax
movabs rax, 0xd8bf5a4070914a03
imul rdi, rax
mov rcx, r8
imul rcx, r8
and ecx, 7
ror rdi, 6
shr rdi, cl
xor rdi, r8
movabs rcx, 0x35df4c3560940b57
mov rax, r8
imul rax, rcx
ror rax, 0x19
imul rax, rdi
movabs rcx, 0xcda93000005ed71c
xor rax, rcx
mov qword [rsp + 0x38], rax
mov r10, rax
not r10
mov rax, 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 + 0x58], rax
xor edx, edx
div r11
mov r8, r9
and r8, r10
imul r8, qword [r13 + rdx*8]
mov rcx, qword [rsp + 0x40]
imul r8, rcx
imul r8, rdi
movabs rax, 0xcf1d0a019f7220a7
xor r8, rax
shr r8, 3
mov rax, rcx
imul rax, r10
xor r8, rax
mov qword [rsp + 0x70], r8
movabs rax, 0xca2818fa0e327479
mov rdx, r9
imul rdx, rax
add rdx, rcx
xor rdx, r8
xor rdx, qword [0x14033d060]
mov rax, r8
imul rax, qword [0x14033d070]
movabs rcx, 0x8c0975260781cb58
imul rax, rcx
not rax
and rdx, rax
movzx eax, r10b
mov dword [rsp + 0x4d8], eax
xor eax, 0xa9
and eax, 0x8000003f
jge 0x14022f5e4
sub eax, r15d
or eax, r14d
add eax, r15d
mov cl, al
ror rdx, cl
shr rdx, 8
mov qword [rsp + 0x68], 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, rdi
imul rax, r8
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 0x14022f679
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 + 0x68]
sub rdx, r9
xor rdx, rdi
movzx ecx, r9b
mov dword [rsp + 0x78], ecx
xor ecx, 6
and ecx, 0xf
and ecx, eax
jge 0x14022f6b6
sub ecx, r15d
or ecx, r14d
add ecx, r15d
rol rdx, cl
mov rax, r9
sub rax, qword [0x14033d078]
xor rdx, rax
mov rax, r9
imul rax, r10
xor rdx, rax
xor rdx, r8
xor rdx, qword [rsp + 0x48]
mov qword [rsp + 0x60], rdx
mov rax, rdx
and rax, r10
xor rax, 0xfffffffffffffffe
and eax, 3
je 0x14022fa35
sub rax, 1
je 0x14022f90e
sub rax, 1
je 0x14022f821
cmp rax, 1
jne 0x14022fad9
movabs rcx, 0xb9703bca616e6a79
mov rax, r10
imul rax, rcx
mov rdi, rdx
sub rdi, rax
mov rax, r9
imul rax, r11
xor rdi, rax
mov eax, dword [rsp + 0x4d8]
and eax, 0x3c
xor eax, 0x52
and eax, 0x8000003f
jge 0x14022f74c
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 [0x14033d088]
add rdx, rcx
xor rdx, qword [rsp + 0x38]
movabs rax, 0x355562d5ae6be5d9
xor rdx, rax
movzx eax, byte [rsp + 0x60]
movzx ecx, dil
imul ecx, eax
and cl, bl
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xc21d9a14bd9029a1
sub rax, r11
mov r11, rdx
xor r11, rax
mov rax, r11
imul rax, r10
movabs rcx, 0x35d7e7ad6c4bfb4b
add rax, rcx
xor edx, edx
div qword [rsp + 0x30]
mov cl, byte [r13 + rdx*8]
and cl, 0xf
movabs rax, 0xc30b6ed02820d6a9
imul r10, rax
sub r10, rdi
movabs rax, 0x5bae6d2b696ed3a1
add r10, rax
shr r10, cl
movabs rax, 0x35dfc3259ecf8b88
add rax, r9
xor edx, edx
div qword [rsp + 0x30]
mov rax, qword [rsp + 0x60]
imul rax, qword [r13 + rdx*8]
imul rax, qword [rsp + 0x60]
sub rax, qword [rsp + 0x68]
xor r10, rax
jmp 0x14022fad9
movabs rax, 0x9f7d4db76c520675
mov r11, rdx
xor r11, rax
movabs rax, 0x35c5e140ae5fda39
imul r11, rax
movabs rcx, 0xca269b05bb303009
mov rax, r8
xor rax, rcx
sub r11, rax
lea rax, [r9 + 1]
movabs rcx, 0xca2899274a4234a9
imul rax, rcx
add r11, rax
movabs rcx, 0x12ab3013be82d115
mov rax, r11
xor rax, rcx
xor edx, edx
div qword [rsp + 0x30]
mov r9, r11
not r9
imul r9, qword [r13 + rdx*8]
movabs rax, 0xca2818523907d0a5
xor r9, rax
mov cl, byte [rsp + 0x60]
sub cl, 9
and cl, bl
rol r9, cl
mov rax, rdi
not rax
shl rax, 0x1d
xor rax, qword [rsp + 0x58]
movabs rcx, 0x49ad9a6b5000da14
and rax, rcx
imul r9, rax
movzx ecx, dil
xor ecx, 0x28
and ecx, 0x8000003f
jge 0x14022f8db
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 + 0x68]
and cl, bl
ror rax, cl
imul r10, rax
jmp 0x14022fad9
mov rax, r10
imul rax, r10
shr rax, 2
not rax
imul rax, r10
imul rdx, rax
mov qword [rsp + 0x60], rdx
movabs rax, 0xd79435e50d79435f
mul rdx
shr rdx, 4
movzx eax, dl
imul edx, eax, 0x13
mov rax, qword [rsp + 0x60]
mov cl, al
sub cl, dl
mov rdx, qword [rsp + 0x38]
imul rdx, qword [rsp + 0x48]
xor rdx, rdi
not rdx
shl rdx, cl
xor r8, rdx
mov ecx, dword [rsp + 0x78]
and ecx, 0x8000003f
jge 0x14022f975
sub ecx, r15d
or ecx, r14d
add ecx, r15d
rol r8, cl
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 [0x14033d070]
sub r10, r9
mov rax, qword [rsp + 0x68]
sub rax, r8
xor r10, rax
movabs rax, 0xf270210b619e7055
xor r10, rax
movabs rax, 0xcccccccccccccccd
mov rcx, qword [rsp + 0x48]
mul rcx
shr rdx, 3
lea rax, [rdx + rdx*4]
add rax, rax
sub rcx, rax
or rcx, r15
xor edx, edx
mov rax, r10
div rcx
mov rcx, rdx
mov rdx, qword [rsp + 0x60]
imul rdx, r9
imul rdx, r10
shr rdx, cl
mov rax, r11
sub rax, rdx
sub rax, qword [rsp + 0x48]
movabs rdx, 0x325ebf39aecc3c4f
add rdx, rax
xor rdx, qword [rsp + 0x68]
movzx eax, r11b
imul ecx, eax, 0xf0
and cl, bl
rol rdx, cl
not rdx
mov qword [rsp + 0x48], rdx
jmp 0x14022fad9
xor edx, edx
mov rax, r8
div qword [rsp + 0x30]
mov rax, qword [rsp + 0x60]
imul rax, qword [0x14033d080]
mov r8, qword [r13 + rdx*8]
and r8, rax
mov rcx, qword [rsp + 0x70]
xor r8, rcx
and cl, bl
ror r8, cl
imul r8, r9
mov rcx, qword [rsp + 0x68]
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 [0x14033d060]
mov rdx, qword [0x14033d068]
sub rax, rdx
mov qword [rsp + 0x68], rax
mov al, cl
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, 0x8000003f
jge 0x14022fac9
sub ecx, r15d
or ecx, r14d
add ecx, r15d
mov rax, qword [rsp + 0x68]
ror rax, cl
add rax, r9
mov qword [rsp + 0x68], rax
movabs rax, 0xcad2bad64c242b79
xor rax, rdi
xor edx, edx
div qword [rsp + 0x30]
xor r8, qword [rsp + 0x48]
imul r8, qword [r13 + rdx*8]
not r9
imul r9, qword [rsp + 0x60]
imul r9, qword [rsp + 0x68]
imul r9, r10
movabs rax, 0xc03a992a4b9761a5
xor r11, rax
not r11
xor r9, r11
sub r9, r8
mov qword [rsp + 0x60], r9
mov qword [rsp + 0x120], r12
movabs rax, 0x58d7d92120e17387
mov qword [rsp + 0x4d8], rax
movabs rdi, 0xb865992c791f70af
mov qword [rsp + 0x40], r12
movabs rax, 0x8eade5c75e224aca
movabs r11, 0x42891f82bda235ed
mov rcx, qword [0x14033d070]
imul rcx, rax
not rcx
movabs r8, 0x42891f82bfd1f7d1
mov rax, qword [0x14033d060]
xor rax, r8
and rcx, rax
ror rcx, 0x2c
shr rcx, 8
mov qword [rsp + 0x30], rcx
movabs rax, 0xa62f7cc2e19a24e8
mov r9, qword [0x14033d060]
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 0x14022fc0a
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 [0x14033d078]
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 0x14022ff59
sub rax, 1
je 0x14022fe61
sub rax, 1
je 0x14022fd98
cmp rax, 1
jne 0x14022ffef
mov rcx, r10
imul rcx, r9
movabs rax, 0xa2d12079dc83883
add rax, r8
xor rcx, rax
ror rcx, 0x14
shr rcx, 0xc
not rcx
mov qword [rsp + 0x4d8], rcx
movabs rdx, 0x83570c1372b8
add rdx, qword [0x14033d088]
movabs rax, 0x4718e3abc1e8dd63
xor rdx, rax
movzx eax, cl
movzx ecx, r8b
imul ecx, eax
and cl, bl
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xf7ca7db954f39e4b
sub rax, r9
mov r9, rdx
xor r9, rax
mov rcx, r9
imul rcx, rdi
mov eax, 0x85284ca1
add rcx, rax
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov cl, byte [r13 + rcx*8]
and cl, 0xf
movabs rdi, 0xc61a8eb089c73118
sub rdi, qword [rsp + 0x4d8]
shr rdi, cl
movabs rax, 0x47a28b5bfe8ccbbf
mov rcx, qword [rsp + 0x38]
add rcx, rax
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, r8
imul rax, qword [r13 + rcx*8]
imul rax, r8
sub rax, qword [rsp + 0x30]
xor rdi, rax
jmp 0x14022ffef
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 0x14022ffef
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 [0x14033d070]
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 0x14022ffef
mov rcx, r8
imul rcx, qword [0x14033d080]
and rcx, qword [0x14033d078]
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 [0x14033d060], 0x273c23c
mov rdx, qword [0x14033d068]
sub rcx, rdx
mov qword [rsp + 0x30], rcx
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, 0x8000003f
jge 0x14022ffd0
sub ecx, r15d
or ecx, r14d
add ecx, r15d
mov rax, qword [rsp + 0x30]
ror rax, cl
movabs rcx, 0x479a66d386e08f51
add rax, rcx
add rax, qword [rsp + 0x38]
mov qword [rsp + 0x30], rax
movabs rax, 0xff055d7ba5479c93
mov rcx, qword [rsp + 0x4d8]
xor rcx, rax
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
xor r11, qword [rsp + 0x40]
imul r11, qword [r13 + rcx*8]
not r10
imul r10, r8
imul r10, qword [rsp + 0x30]
imul r10, rdi
movabs rcx, 0xf5ed7e87a2f4d64f
xor rcx, r9
not rcx
xor rcx, r10
sub rcx, r11
call fcn.1401b7a08
mov qword [0x14034b9c8], rax
mov qword [rsp + 0x128], r12
movabs rax, 0xd973ddbd8ade9148
mov qword [rsp + 0x128], rax
movabs rcx, 0xf33a52ba2d2a2043
add rcx, qword [rsp + 0x128]
movabs rax, 0x45953662530dbf2e
xor rcx, rax
sub rcx, qword [0x14033d050]
sub rcx, qword [0x14033d058]
movabs rax, 0x3120fb809a12f2a0
add rcx, rax
movabs rax, 0xf8f8cd943bbbd0ec
xor rcx, rax
sub rcx, qword [0x14033d048]
movabs rax, 0xe7d654b3f031e222
add rcx, rax
mov rdx, qword [0x14033d040]
add rcx, rdx
movabs rax, 0x5a9179a3a47c6d3c
xor rcx, rax
movabs rax, 0x5f627dc3f1de2959
sub rcx, rax
movabs rax, 0xdc3b3cd04a877bbf
xor rcx, rax
movabs rax, 0xf483ce40b6d65b02
add rax, rcx
add rdx, rax
not rdx
movabs rcx, 0x13cce94ae8b4a6d5
mov rax, qword [0x14033d038]
xor rax, rcx
sub rdx, rax
movabs rax, 0xec3316b5174b592a
mov rcx, qword [0x14033d030]
xor rcx, rax
movabs rax, 0xe0b56d9ea4f3e6aa
add rdx, rax
add rdx, rcx
movabs rax, 0x3712fbb3ff0a6bf2
xor rdx, rax
mov qword [rsp + 0x128], rdx
mov qword [rsp + 0x128], r12
mov qword [rsp + 0x130], r12
movabs rax, 0xed4316e8d897138f
mov qword [rsp + 0x130], rax
movabs rcx, 0xf33a52a3c866ddc3
add rcx, qword [rsp + 0x130]
movabs rax, 0x315366252f75a6b
xor rcx, rax
sub rcx, qword [0x14033d050]
sub rcx, qword [0x14033d058]
movabs rax, 0x4edf047f22bec398
sub rcx, rax
movabs rax, 0xf8f8cdaafa122076
xor rcx, rax
sub rcx, qword [0x14033d048]
movabs rax, 0xa7d654d255f8eee7
add rcx, rax
mov rdx, qword [0x14033d040]
add rcx, rdx
movabs rax, 0x5a9179bd2f6b2516
xor rcx, rax
movabs rax, 0x5f627de326f4830b
sub rcx, rax
movabs rax, 0xf03b3cdb7d9c4319
xor rcx, rax
movabs rax, 0x7483ce567ed846b1
add rax, rcx
add rdx, rax
not rdx
movabs rcx, 0x13cce94a8f2199cb
mov rax, qword [0x14033d038]
xor rax, rcx
sub rdx, rax
movabs rax, 0xec3316b570de6634
mov rcx, qword [0x14033d030]
xor rcx, rax
movabs r8, 0xe0b56d447891d7a0
add r8, rdx
add r8, rcx
movabs rax, 0x7544191fa4241f3c
xor r8, rax
mov qword [rsp + 0x4d8], r8
mov qword [rsp + 0x130], r8
xorps xmm0, xmm0
movups xmmword [rsp + 0x308], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x318], xmm1
movdqa xmm0, xmmword [0x140316bb0]
movdqu xmmword [rsp + 0x318], xmm0
mov byte [rsp + 0x308], r12b
mov dword [rsp + 0xb8], 3
mov dword [rsp + 0x84], r12d
mov dword [rsp + 0x84], 0x1bd5906
mov eax, dword [rsp + 0x84]
add eax, 0x54c24475
xor eax, 0xd9c9e6c6
sub eax, dword [0x14033d058]
sub eax, dword [0x14033d050]
add eax, 0x659c2a34
xor eax, 0x23854c2a
sub eax, dword [0x14033d048]
mov rcx, qword [0x14033d040]
add eax, 0x8872dcff
add eax, ecx
xor eax, 0x752e3f4
add eax, 0x49bc9124
xor eax, 0xda2ce5
lea edx, [rcx - 0x4baca034]
add edx, eax
not edx
mov eax, dword [0x14033d038]
xor eax, 0xd9530765
sub edx, eax
mov ecx, dword [0x14033d030]
xor ecx, 0x26acf89a
add ecx, 0xd4331800
add ecx, edx
xor ecx, 0x20f84ac2
mov dword [rsp + 0x84], ecx
movsxd rax, ecx
mov dword [rsp + 0x84], r12d
cmp r8, rax
jbe 0x140230528
mov dword [rsp + 0x88], r12d
mov dword [rsp + 0x88], 0xddecbe76
mov eax, dword [rsp + 0x88]
add eax, 0x5fb51ef0
xor eax, 0xb444f1b9
sub eax, dword [0x14033d058]
sub eax, dword [0x14033d050]
sub eax, 0xb84ae5b
xor eax, 0x2c66a645
sub eax, dword [0x14033d048]
mov rcx, qword [0x14033d040]
add eax, 0x8316356e
add eax, ecx
xor eax, 0xaed5e2c0
sub eax, 0x2873adc4
xor eax, 0xa7886811
lea edx, [rcx + 0x6ad294b]
add edx, eax
not edx
mov eax, dword [0x14033d038]
xor eax, 0xc57ed2cf
sub edx, eax
mov ecx, dword [0x14033d030]
xor ecx, 0x3a812d30
add ecx, 0x2bea1556
add ecx, edx
xor ecx, 0x7324e9d0
mov dword [rsp + 0x88], ecx
movsxd rdx, ecx
imul rdx, r8
lea rcx, [rsp + 0x308]
call fcn.14001fa5c
nop
mov dword [rsp + 0x88], r12d
mov rdi, r12
cmp qword [rsp + 0x4d8], r12
jbe 0x140230528
mov rsi, qword [rsp + 0x4d8]
mov cl, byte [rsp + rdi + 0x60]
mov al, cl
shr al, 4
cmp al, 0xa
sbb dl, dl
and dl, 0xf9
add al, 0x37
add dl, al
mov byte [rsp + 0x4d8], dl
and cl, 0xf
cmp cl, 0xa
sbb al, al
and al, 0xf9
add cl, 0x37
add al, cl
mov byte [rsp + 0x4d9], al
lea rcx, [rsp + 0x308]
call fcn.14000c0f0
mov dword [rsp + 0x8c], r12d
mov dword [rsp + 0x8c], 0x3cea511f
mov eax, dword [rsp + 0x8c]
add eax, 0x16547976
xor eax, 0xecaa859
sub eax, dword [0x14033d058]
sub eax, dword [0x14033d050]
add eax, 0x63577395
xor eax, 0x5eecce55
sub eax, dword [0x14033d048]
mov rcx, qword [0x14033d040]
add eax, 0x1b0e60d
add eax, ecx
xor eax, 0x2a881f7f
add eax, 0x7a53dc90
xor eax, 0xf80b05d3
mov edx, dword [0x14033d030]
xor edx, 0x23a6afc6
sub edx, eax
mov eax, dword [0x14033d038]
xor eax, 0xdc595039
sub edx, eax
sub edx, ecx
sub edx, 0x1a89f4e8
xor edx, 0x4ae10316
mov dword [rsp + 0x8c], edx
movsxd rdx, edx
mov dl, byte [rsp + rdx + 0x4d8]
lea rcx, [rsp + 0x308]
call fcn.14000c0f0
nop
mov dword [rsp + 0x8c], r12d
add rdi, r15
cmp rdi, rsi
jb 0x140230427
movabs rsi, 0xaaaaaaaaaaaaaaab
mov dword [rsp + 0xb8], r12d
lea rdx, [rsp + 0x308]
cmp qword [rsp + 0x320], 0xf
cmova rdx, qword [rsp + 0x308]
mov r8, qword [rsp + 0x318]
lea rcx, [rsp + 0x2e8]
call fcn.14001f63c
nop
lea rcx, [rsp + 0x308]
call fcn.14000bb54
nop
mov qword [rsp + 0x130], r12
mov qword [rsp + 0x138], r12
movabs rax, 0xdc922556e875c05a
mov qword [rsp + 0x138], rax
movabs rcx, 0xcc5ad43ad2e3b7a
add rcx, qword [rsp + 0x138]
movabs rax, 0x60cb4fedad973f32
xor rcx, rax
sub rcx, qword [0x14033d050]
sub rcx, qword [0x14033d058]
movabs rax, 0x712ba68f026d19b1
sub rcx, rax
movabs rax, 0x70745a095b7a549
xor rcx, rax
sub rcx, qword [0x14033d048]
movabs rax, 0xf829ab4e4aec4f31
add rcx, rax
mov rdx, qword [0x14033d040]
add rcx, rdx
movabs rax, 0xa56e865ece77be33
xor rcx, rax
movabs rax, 0x2b02fde3cfdb8137
sub rcx, rax
movabs rax, 0xf5c4c330b6396e03
xor rcx, rax
movabs rax, 0x55ab4330f9525c88
add rax, rcx
add rdx, rax
not rdx
movabs rcx, 0xec3316b50eb4b741
mov rax, qword [0x14033d038]
xor rax, rcx
sub rdx, rax
movabs rax, 0x13cce94af14b48be
mov rcx, qword [0x14033d030]
xor rcx, rax
movabs rdi, 0x1f4a91328b04a3ef
add rdi, rdx
add rdi, rcx
movabs rax, 0x5c0457c39eb54a3e
xor rdi, rax
mov qword [rsp + 0x138], rdi
xorps xmm0, xmm0
movups xmmword [rsp + 0x328], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x338], xmm1
movdqa xmm0, xmmword [0x140316bb0]
movdqu xmmword [rsp + 0x338], xmm0
mov byte [rsp + 0x328], r12b
mov dword [rsp + 0xb8], 4
mov dword [rsp + 0x90], r12d
mov dword [rsp + 0x90], 0x1bd5906
mov eax, dword [rsp + 0x90]
add eax, 0x54c24475
xor eax, 0xd9c9e6c6
sub eax, dword [0x14033d058]
sub eax, dword [0x14033d050]
add eax, 0x659c2a34
xor eax, 0x23854c2a
sub eax, dword [0x14033d048]
mov rcx, qword [0x14033d040]
add eax, 0x8872dcff
add eax, ecx
xor eax, 0x752e3f4
add eax, 0x49bc9124
xor eax, 0xda2ce5
lea edx, [rcx - 0x4baca034]
add edx, eax
not edx
mov eax, dword [0x14033d038]
xor eax, 0xd9530765
sub edx, eax
mov ecx, dword [0x14033d030]
xor ecx, 0x26acf89a
add ecx, 0xd4331800
add ecx, edx
xor ecx, 0x20f84ac2
mov dword [rsp + 0x90], ecx
movsxd rax, ecx
mov dword [rsp + 0x90], r12d
cmp rdi, rax
jbe 0x140230920
mov dword [rsp + 0x94], r12d
mov dword [rsp + 0x94], 0xddecbe76
mov eax, dword [rsp + 0x94]
add eax, 0x5fb51ef0
xor eax, 0xb444f1b9
sub eax, dword [0x14033d058]
sub eax, dword [0x14033d050]
sub eax, 0xb84ae5b
xor eax, 0x2c66a645
sub eax, dword [0x14033d048]
mov rcx, qword [0x14033d040]
add eax, 0x8316356e
add eax, ecx
xor eax, 0xaed5e2c0
sub eax, 0x2873adc4
xor eax, 0xa7886811
lea edx, [rcx + 0x6ad294b]
add edx, eax
not edx
mov eax, dword [0x14033d038]
xor eax, 0xc57ed2cf
sub edx, eax
mov ecx, dword [0x14033d030]
xor ecx, 0x3a812d30
add ecx, 0x2bea1556
add ecx, edx
xor ecx, 0x7324e9d0
mov dword [rsp + 0x94], ecx
movsxd rdx, ecx
imul rdx, rdi
lea rcx, [rsp + 0x328]
call fcn.14001fa5c
nop
mov dword [rsp + 0x94], r12d
test rdi, rdi
je 0x140230920
mov r13, r12
mov cl, byte [rsp + r13 + 0x60]
mov al, cl
shr al, 4
cmp al, 0xa
sbb dl, dl
and dl, 0xf9
add al, 0x37
add dl, al
mov byte [rsp + 0x4d8], dl
and cl, 0xf
cmp cl, 0xa
sbb al, al
and al, 0xf9
add cl, 0x37
add al, cl
mov byte [rsp + 0x4d9], al
lea rcx, [rsp + 0x328]
call fcn.14000c0f0
mov dword [rsp + 0x98], r12d
mov dword [rsp + 0x98], 0x3cea511f
mov eax, dword [rsp + 0x98]
add eax, 0x16547976
xor eax, 0xecaa859
sub eax, dword [0x14033d058]
sub eax, dword [0x14033d050]
add eax, 0x63577395
xor eax, 0x5eecce55
sub eax, dword [0x14033d048]
mov rcx, qword [0x14033d040]
add eax, 0x1b0e60d
add eax, ecx
xor eax, 0x2a881f7f
add eax, 0x7a53dc90
xor eax, 0xf80b05d3
mov edx, dword [0x14033d030]
xor edx, 0x23a6afc6
sub edx, eax
mov eax, dword [0x14033d038]
xor eax, 0xdc595039
sub edx, eax
sub edx, ecx
sub edx, 0x1a89f4e8
xor edx, 0x4ae10316
mov dword [rsp + 0x98], edx
movsxd rdx, edx
mov dl, byte [rsp + rdx + 0x4d8]
lea rcx, [rsp + 0x328]
call fcn.14000c0f0
nop
mov dword [rsp + 0x98], r12d
add r13, r15
cmp r13, rdi
jb 0x140230821
lea r13, [0x14033d060]
mov dword [rsp + 0xb8], r12d
lea rdx, [rsp + 0x328]
cmp qword [rsp + 0x340], 0xf
cmova rdx, qword [rsp + 0x328]
mov r8, qword [rsp + 0x338]
lea rcx, [rsp + 0x2e8]
call fcn.14001f63c
nop
lea rcx, [rsp + 0x328]
call fcn.14000bb54
nop
mov qword [rsp + 0x138], r12
movabs rax, 0xf60eafe660000000
movabs r9, 0x369e1a1a61293de9
mov r11, qword [0x14033d070]
imul r11, rax
movabs rax, 0xc81f744130000000
xor r11, rax
mov rcx, r11
imul rcx, r9
mov qword [rsp + 0x60], rcx
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r8, r11
and r8, r9
imul r8, qword [r13 + rcx*8]
movabs rax, 0x9328e44fd6415808
imul r8, rax
shr r8, 3
movabs rax, 0xe3aea0c8fe0fb690
xor r8, rax
movabs rax, 0xffffff57959b353f
mov rcx, r11
imul rcx, rax
sub rcx, 0x2f20c234
xor rcx, r8
xor rcx, qword [0x14033d060]
mov rax, r8
imul rax, qword [0x14033d070]
movabs rdx, 0xb9de928b9c288a1e
imul rax, rdx
not rax
and rcx, rax
ror rcx, 6
shr rcx, 8
mov qword [rsp + 0x40], rcx
movabs r10, 0xc961e5e59ed6c217
lea rcx, [r11 + r10]
xor rcx, 0xffffffffa2a68113
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rax, 0xa9178dda8dc71058
mov rdi, qword [r13 + rcx*8]
imul rdi, rax
add rdi, r9
movabs rcx, 0xfaf1613d83abf998
mov rax, r8
imul rax, rcx
xor rdi, rax
shr rdi, 0x1f
not rdi
mov r9, rdi
xor r9, r11
lea rcx, [rdi + r10]
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, dil
movzx ecx, byte [r13 + rcx*8]
imul ecx, eax
movzx ecx, cl
xor ecx, 0xf
mov edx, 0x8000003f
and ecx, edx
jge 0x140230ad0
sub ecx, r15d
or ecx, r14d
add ecx, r15d
ror r9, cl
not r9
imul r9, r8
mov qword [rsp + 0x30], r9
imul rax, r9, 0xffffffffd0df3dcc
mov qword [rsp + 0x38], rax
add r10, rax
mov r9, rdi
imul r9, qword [rsp + 0x40]
sub r9, r10
movabs rax, 0x77036f24cb42ad76
xor r9, rax
movzx ecx, r10b
mov dword [rsp + 0x4d8], ecx
and ecx, 0xf
and ecx, edx
jge 0x140230b22
sub ecx, r15d
or ecx, r14d
add ecx, r15d
rol r9, cl
movabs rcx, 0xfcf7fd7d7e94daac
mov rax, qword [rsp + 0x30]
imul rax, rcx
movabs rcx, 0x68fd11c8a6521ef
add rax, rcx
xor r9, rax
mov rax, r10
sub rax, qword [0x14033d078]
xor r9, rax
xor r9, r8
xor r9, r11
mov rax, r9
and rax, r15
je 0x140230ed6
sub rax, 1
je 0x140230d6f
sub rax, 1
je 0x140230c77
cmp rax, 1
jne 0x140230f87
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 [0x14033d088]
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 + 0x38]
add rcx, rax
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, r9
imul rax, qword [r13 + rcx*8]
imul rax, r9
sub rax, qword [rsp + 0x40]
xor rbx, rax
jmp 0x140230f9b
movabs rax, 0xaaaaaa1af7fb4733
mov rcx, r9
xor rcx, rax
movabs rax, 0x1206ed35f69b7f
imul rcx, rax
movabs rdx, 0xfff17ca82099714f
mov rax, r8
xor rax, rdx
sub rcx, rax
movabs rax, 0xffff7e8ad1eb75ef
mov rdx, qword [rsp + 0x38]
imul rdx, rax
movabs rdi, 0xd2222781353c2c68
add rdi, rcx
add rdi, rdx
movabs rax, 0x277cd7be252b9053
mov rcx, rdi
xor rcx, rax
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r10, rdi
not r10
imul r10, qword [r13 + rcx*8]
xor r10, 0xffffffffa2ae91e3
lea ecx, [r9 - 0xf]
and cl, bl
rol r10, cl
movabs rcx, 0xe797aa79345664ad
mov rax, qword [rsp + 0x60]
xor rax, rcx
movabs rcx, 0x7c7a7dc6cba99b52
and rax, rcx
imul r10, rax
mov rcx, r10
ror rcx, 0x18
not rcx
movabs rax, 0x9b2de6b3ab1c49d0
imul rcx, rax
mov rax, rdi
sub rax, r10
lea rdx, [rcx + rax*4]
mov cl, byte [rsp + 0x40]
and cl, bl
ror rdx, cl
movabs rax, 0x369e1a1a61293de9
mov rbx, rdx
imul rbx, rax
jmp 0x140230f91
movabs rax, 0x25c6c17e3a7b46f3
imul r9, rax
movabs rax, 0xd79435e50d79435f
mul r9
shr rdx, 4
movzx eax, dl
imul edx, eax, 0x13
mov cl, r9b
sub cl, dl
movabs rdx, 0xc961e5e59ed6c216
mov rax, r11
imul rax, rdx
movabs rdx, 0x77036f24cb42ad76
xor rax, rdx
not rax
shl rax, cl
xor r8, rax
mov eax, dword [rsp + 0x4d8]
and eax, 0x8000003f
jge 0x140230dd7
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 [0x14033d070]
movabs rax, 0x77036f24cb42ad76
imul rcx, rax
sub rcx, r10
mov rax, qword [rsp + 0x40]
sub rax, r8
xor rcx, rax
movabs rax, 0xc7a7c6a6fa373113
xor rcx, rax
mov qword [rsp + 0x4d8], rcx
movabs rax, 0xcccccccccccccccd
mul r11
shr rdx, 3
lea rax, [rdx + rdx*4]
add rax, rax
mov rcx, r11
sub rcx, rax
or rcx, r15
xor edx, edx
mov rax, qword [rsp + 0x4d8]
div rcx
mov rcx, rdx
mov rdx, r9
imul rdx, r10
imul rdx, qword [rsp + 0x4d8]
shr rdx, cl
mov rax, rdi
sub rax, rdx
sub rax, r11
movabs r11, 0x789589435657d09
add r11, rax
xor r11, qword [rsp + 0x40]
movzx eax, dil
imul ecx, eax, 0xf6
and cl, bl
rol r11, cl
not r11
mov rbx, qword [rsp + 0x4d8]
jmp 0x140230f91
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 [0x14033d080]
mov rdx, qword [r13 + rcx*8]
and rdx, rax
xor rdx, r8
and r8b, bl
mov cl, r8b
mov r8, rdx
ror r8, cl
imul r8, r10
mov rcx, qword [rsp + 0x40]
not rcx
imul rcx, rdi
movabs rax, 0x7cd8a7de27c660f2
imul rcx, rax
mov rax, r8
imul rax, r11
mov r11, rcx
xor r11, rax
imul rbx, qword [0x14033d060], 0xffffffffd0df3dcc
mov rdx, qword [0x14033d068]
sub rbx, rdx
mov al, r11b
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, 0x8000003f
jge 0x140230f6d
sub ecx, r15d
or ecx, r14d
add ecx, r15d
ror rbx, cl
movabs rax, 0xc961e5e59ed6c217
add rax, rbx
add rax, qword [rsp + 0x38]
mov qword [rsp + 0x40], rax
movabs rbx, 0x369e1a1a61293de9
movabs r14, 0x77036f24cb42ad76
movabs rax, 0xff055d7bd78d6a3f
xor r14, rax
mov rax, rsi
mul r14
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub r14, rax
xor r8, r11
imul r8, qword [r13 + r14*8]
not r10
imul r10, r9
imul r10, qword [rsp + 0x40]
imul r10, rbx
movabs rcx, 0xf5ed7e87d03e20e3
xor rcx, rdi
not rcx
xor rcx, r10
sub rcx, r8
call fcn.1401b856c
mov qword [0x14034b9b8], rax
lea rcx, [rsp + 0x2d0]
call fcn.1400c3d8c
xor r8d, r8d
mov byte [rsp + 0x4d8], r8b
lea rdx, [rsp + 0x2e8]
lea rcx, [rsp + 0x348]
call fcn.1401b6754
nop
lea rcx, [rsp + 0x368]
call fcn.14008354c
nop
lea rdx, [rsp + 0x388]
mov rcx, rax
call fcn.140238114
nop
lea rdx, [rsp + 0x3a8]
mov rcx, rax
call fcn.140238114
nop
lea rcx, [rsp + 0x388]
call fcn.140052edc
nop
lea rcx, [rsp + 0x368]
call fcn.140052edc
xor eax, eax
mov byte [rsp + 0x4d8], al
lea rdx, [rsp + 0x448]
lea rcx, [rsp + 0x4d8]
call fcn.1401e10b0
mov r13, rax
mov qword [rsp + 0x4d8], rax
mov r14, r12
mov r12d, 0x6afe
xor edx, edx
mov rax, r14
movabs rcx, 0x13cce94adbc7a7fd
div rcx
lea esi, [rdx + 0x33]
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 [0x14033d058]
sub r9w, word [0x14033d050]
add r9w, si
add r9w, bx
sub r9w, cx
mov eax, 0x6fc1
add r9w, ax
lea eax, [rsi + rdi]
mov ecx, 0x2d07
add ax, cx
xor r9w, ax
sub r9w, r8w
sub r9w, si
sub r9w, word [0x14033d048]
add r9w, di
mov rcx, qword [0x14033d040]
add r9w, cx
add r9w, r10w
movzx eax, si
ror ax, 3
sub r9w, ax
sub r9w, 0x50
movzx eax, di
sub ax, r8w
add ax, si
add ax, dx
xor r9w, ax
movzx eax, si
sub ax, dx
xor ax, si
sub r9w, ax
sub r9w, r10w
add r9w, si
mov eax, 0x4230
add r9w, ax
movzx eax, si
ror ax, 7
mov edx, 0x4050
sub r10w, dx
add ax, r10w
xor r9w, ax
movzx edx, si
xor dx, word [0x14033d030]
sub dx, r9w
movzx eax, r11w
xor ax, word [0x14033d038]
sub dx, ax
mov eax, 0x7100
add eax, esi
mov r8d, 0x2440
xor ax, r8w
sub dx, ax
mov eax, 0x9d7
add eax, esi
add ax, ax
add dx, ax
sub dx, di
sub dx, cx
sub dx, bx
movzx eax, si
ror ax, 8
sub dx, ax
movzx eax, r11w
movzx ecx, si
imul ecx, eax
xor cx, dx
mov word [r13 + r14*2], cx
add r14, r15
cmp r14, 0x1e
jb 0x1402310a3
xor r12d, r12d
mov rax, qword [rsp + 0x4d8]
mov qword [rsp + 0x268], rax
mov qword [rsp + 0x270], 0x3c
mov rax, qword [rsp + 0x268]
mov qword [rsp + 0x60], rax
xor r8d, r8d
mov byte [rsp + 0x4d8], r8b
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x3c8]
call fcn.1401b66f8
nop
lea r8, [rsp + 0x3c8]
lea rdx, [rsp + 0x3a8]
lea rcx, [rsp + 0x3e8]
call fcn.14006a218
lea ebx, [r12 + 8]
mov dword [rsp + 0xb8], ebx
lea rcx, [rsp + 0x3c8]
call fcn.140052edc
nop
mov rcx, qword [rsp + 0x268]
test rcx, rcx
je 0x140231309
mov eax, r12d
cmp qword [rsp + 0x270], r12
jbe 0x140231309
mov byte [rax + rcx], r12b
add rax, r15
cmp rax, qword [rsp + 0x270]
jae 0x140231309
mov rcx, qword [rsp + 0x268]
jmp 0x1402312ee
lea rcx, [rsp + 0x3a8]
call fcn.140052edc
lea r8, [rsp + 0x348]
lea rdx, [rsp + 0x3e8]
lea rcx, [rsp + 0x408]
call fcn.14006a218
nop
and ebx, 0xfffffff7
mov dword [rsp + 0xb8], ebx
lea rcx, [rsp + 0x3e8]
call fcn.140052edc
nop
lea rcx, [rsp + 0x348]
call fcn.140052edc
and ebx, 0xfffffffe
mov dword [rsp + 0xb8], ebx
lea rcx, [rsp + 0x2e8]
call fcn.14000bb54
nop
mov rcx, qword [rsp + 0x258]
test rcx, rcx
je 0x1402313a6
mov rax, r12
cmp qword [rsp + 0x260], r12
jbe 0x1402313a6
mov byte [rax + rcx], r12b
add rax, r15
cmp rax, qword [rsp + 0x260]
jae 0x1402313a6
mov rcx, qword [rsp + 0x258]
jmp 0x14023138b
mov qword [rsp + 0x60], r12
mov dword [rsp + 0x9c], r12d
mov dword [rsp + 0x9c], 0x1c308dd
mov eax, dword [rsp + 0x9c]
add eax, 0x3d7b3f6
xor eax, 0x494a95dc
sub eax, dword [0x14033d058]
sub eax, dword [0x14033d050]
sub eax, 0x1c71161a
xor eax, 0x71b386eb
sub eax, dword [0x14033d048]
mov rdx, qword [0x14033d040]
add eax, 0x5ac94424
add eax, edx
xor eax, 0x3f9e70c5
add eax, 0x74e5b1c2
xor eax, 0x2d49fc79
mov ebx, dword [0x14033d030]
xor ebx, 0x23f0a2dc
sub ebx, eax
mov eax, dword [0x14033d038]
xor eax, 0xdc0f5d23
sub ebx, eax
sub ebx, edx
add ebx, 0x93d65e8
xor ebx, 0xeff43014
mov qword [rsp + 0x40], rbx
mov dword [rsp + 0x9c], ebx
mov qword [rsp + 0x60], rbx
mov dword [rsp + 0x9c], r12d
xor eax, eax
mov byte [rsp + 0x4d8], al
mov dword [rsp + 0x110], 0x72183b43
mov eax, 0x8683
mov word [rsp + 0x114], ax
mov r13, r12
mov ebx, 0x6fc1
mov r12d, 0x6afe
xor edx, edx
mov rax, r13
movabs rcx, 0x13cce94adbc7a7fd
div rcx
lea r14d, [rdx + 0x33]
ror r14w, 8
movzx esi, r14w
shr si, 0xa
movzx eax, r14w
shl ax, 6
or si, ax
movzx edi, si
ror di, 8
movzx r8d, r14w
shr r8w, 0xd
movzx eax, r14w
shl ax, 3
or r8w, ax
movzx r10d, r14w
shr r10w, 0xb
movzx eax, r14w
shl ax, 5
or r10w, ax
movzx edx, r14w
shr dx, 0xc
movzx eax, r14w
shl ax, 4
or dx, ax
movzx r11d, r14w
not r11w
movzx ecx, r14w
ror cx, 1
movzx r9d, word [rsp + r13*2 + 0x110]
sub r9w, si
add r9w, r12w
mov eax, 0x9204
sub ax, si
xor r9w, ax
sub r9w, word [0x14033d058]
sub r9w, word [0x14033d050]
add r9w, di
add r9w, r14w
sub r9w, cx
add r9w, bx
lea eax, [rsi + r14]
mov ecx, 0x2d07
add ax, cx
xor r9w, ax
sub r9w, word [0x14033d048]
sub r9w, r14w
sub r9w, r8w
mov rcx, qword [0x14033d040]
add r9w, cx
add r9w, r10w
add r9w, si
movzx eax, r14w
ror ax, 3
sub r9w, ax
sub r9w, 0x50
movzx eax, r14w
sub ax, r8w
add ax, dx
add ax, si
xor r9w, ax
movzx eax, r14w
sub ax, dx
xor ax, r14w
sub r9w, ax
sub r9w, r10w
add r9w, r14w
mov eax, 0x4230
add r9w, ax
movzx eax, r14w
ror ax, 7
mov edx, 0x4050
sub r10w, dx
add ax, r10w
xor r9w, ax
movzx edx, r14w
xor dx, word [0x14033d030]
sub dx, r9w
mov eax, 0x7100
add eax, r14d
mov r8d, 0x2440
xor ax, r8w
sub dx, ax
movzx eax, r11w
xor ax, word [0x14033d038]
sub dx, ax
mov eax, 0x9d7
add eax, r14d
add ax, ax
add dx, ax
sub dx, di
sub dx, cx
sub dx, si
movzx eax, r14w
ror ax, 8
sub dx, ax
movzx eax, r11w
movzx ecx, r14w
imul ecx, eax
xor cx, dx
mov word [rsp + r13*2 + 0x110], cx
add r13, r15
cmp r13, 3
jb 0x140231479
mov rbx, qword [rsp + 0x40]
xor r12d, r12d
lea r13, [0x14033d060]
lea rax, [rsp + 0x110]
mov qword [rsp + 0x278], rax
mov qword [rsp + 0x280], 6
mov rax, qword [rsp + 0x278]
mov qword [rsp + 0x40], rax
lea rdx, [rsp + 0x428]
lea rcx, [rsp + 0x408]
call fcn.14006a1c8
mov qword [rsp + 0x30], rax
cmp qword [rax + 0x18], 7
jbe 0x14023169f
mov rax, qword [rax]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x140], r12
movabs rax, 0xd73b8dcb66b0618c
mov qword [rsp + 0x140], rax
mov qword [rsp + 0x148], r12
movabs rax, 0x91421ca23846ff31
mov qword [rsp + 0x148], rax
movabs rcx, 0xf33a52b6a63284c3
add rcx, qword [rsp + 0x148]
movabs rax, 0xaa153662530a3837
xor rcx, rax
sub rcx, qword [0x14033d050]
sub rcx, qword [0x14033d058]
movabs rax, 0x4edf047f5b58268d
sub rcx, rax
movabs rax, 0xf8f8cd97d0cf4ada
xor rcx, rax
sub rcx, qword [0x14033d048]
movabs rax, 0x27d654b8b9e6fdb6
add rcx, rax
mov rsi, qword [0x14033d040]
add rcx, rsi
movabs rax, 0x5a9179a7aa6eda9a
xor rcx, rax
movabs rax, 0x5f627dc6dcf402e7
sub rcx, rax
movabs rax, 0xb83b3cd20e1f813c
xor rcx, rax
movabs rdx, 0x7483ce44251d3142
add rdx, rcx
add rdx, rsi
not rdx
movabs rcx, 0x13cce94ada98c867
mov r10, qword [0x14033d038]
mov rax, r10
xor rax, rcx
sub rdx, rax
movabs rax, 0xec3316b525673798
mov rdi, qword [0x14033d030]
mov rcx, rdi
xor rcx, rax
movabs rax, 0xe0b56d901b39da3c
add rdx, rax
add rdx, rcx
movabs rax, 0x6432cab22361e28
xor rdx, rax
mov qword [rsp + 0x148], rdx
movabs rcx, 0xf33a52b605698f43
add rcx, qword [rsp + 0x140]
movabs rax, 0xb49536625309976e
xor rcx, rax
sub rcx, qword [0x14033d050]
sub rcx, qword [0x14033d058]
movabs rax, 0x3120fb80a68a3453
add rcx, rax
movabs rax, 0xf8f8cd98741b6430
xor rcx, rax
sub rcx, qword [0x14033d048]
movabs rax, 0x67d654b99427c6f6
add rcx, rax
add rcx, rsi
movabs rax, 0x5a9179a861d412a0
xor rcx, rax
movabs rax, 0x5f627dc6cdefd02d
sub rcx, rax
movabs rax, 0x643b3cd25e890243
xor rcx, rax
movabs rax, 0xf483ce44c180a80b
add rcx, rax
add rcx, rsi
not rcx
movabs rax, 0x13cce94ad815a491
xor r10, rax
sub rcx, r10
movabs rax, 0xec3316b527ea5b6e
xor rdi, rax
movabs rax, 0xe0b56d8db590a8e6
add rcx, rax
add rcx, rdi
movabs rax, 0x16a379580e56414e
xor rcx, rax
mov qword [rsp + 0x140], rcx
and rcx, rdx
cmp rbx, rcx
setne al
mov qword [rsp + 0x148], r12
mov qword [rsp + 0x140], r12
test al, al
je 0x140231b75
mov esi, r12d
mov eax, 0x11423282
mov dword [rsp + 0x78], eax
mov dword [rsp + 0x4d8], eax
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov r13d, 8
movups xmm0, xmmword [rax + 0x58]
movd ecx, xmm0
sub cx, r13w
test esi, esi
je 0x14023194d
psrldq xmm0, 8
movq r9, xmm0
movzx ecx, cx
shr rcx, 1
lea r11, [r9 + rcx*2]
mov r10d, 0x306d4da6
jmp 0x14023193f
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 0x140231919
cmp r10d, esi
jne 0x140231ab7
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 0x140231ab7
mov r14d, dword [rdi + 0x18]
test r14d, r14d
je 0x140231ab7
mov r9d, dword [rdi + 0x20]
mov r8d, dword [rsp + 0x4d8]
dec r14d
mov edx, r14d
mov qword [rsp + 0x38], rdx
lea rdx, [r11 + r14*4]
mov ebx, dword [rdx + r9]
add rbx, r11
mov edx, 0x306d4da6
mov r9b, byte [rbx]
add rbx, r15
mov r10d, 0x4764996c
test r9b, r9b
je 0x1402319f6
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 0x1402319b7
mov dword [rsp + 0x70], r11d
mov r11, qword [rax + 0x30]
mov edx, dword [rsp + 0x70]
mov r8d, dword [rsp + 0x4d8]
cmp edx, r8d
je 0x140231a09
test r14d, r14d
mov r9d, dword [rdi + 0x20]
jne 0x140231988
jmp 0x140231ab7
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 0x140231abf
lea rax, [rdi + rcx]
cmp r8, rax
jae 0x140231abf
mov eax, 0x306d4da6
mov esi, eax
mov r11d, eax
mov dword [rsp + 0x4d8], eax
jmp 0x140231a69
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 0x140231a4f
add r8, r15
mov al, byte [r8]
test al, al
je 0x140231aa6
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 0x140231a7a
mov dword [rsp + 0x4d8], r11d
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
jmp 0x1402318ed
mov rcx, qword [rsp + 0x60]
call r8
mov dword [rsp + 0xa0], r12d
mov dword [rsp + 0xa0], 0xa0e7975a
mov eax, dword [rsp + 0xa0]
add eax, 0x2ccf9074
xor eax, 0x25c8bed4
sub eax, dword [0x14033d058]
sub eax, dword [0x14033d050]
add eax, 0x69140250
xor eax, 0x5017cafb
sub eax, dword [0x14033d048]
mov rcx, qword [0x14033d040]
add eax, 0x1a2cd057
add eax, ecx
xor eax, 0x58e3b945
sub eax, 0x5f7b74d
xor eax, 0x34dcc67b
lea edx, [rcx - 0x2bd18f1f]
add edx, eax
not edx
mov eax, dword [0x14033d038]
xor eax, 0xd4b33c95
sub edx, eax
mov ecx, dword [0x14033d030]
xor ecx, 0x2b4cc36a
add ecx, 0x4f8885ab
add ecx, edx
xor ecx, 0x9c9894b2
mov dword [rsp + 0xa0], ecx
movsxd rax, ecx
mov qword [rsp + 0x60], rax
mov dword [rsp + 0xa0], r12d
lea r13, [0x14033d060]
jmp 0x140231b7d
mov dword [rsp + 0x78], 0x11423282
mov edi, r12d
mov dword [rsp + 0x70], 0x5a605d14
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 0x140231bf3
psrldq xmm0, 8
movq r8, xmm0
movzx ecx, cx
shr rcx, 1
lea r10, [r8 + rcx*2]
mov r9d, 0x62881d92
jmp 0x140231be5
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 0x140231bc5
cmp r9d, edi
jne 0x140231cb3
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 0x140231cb3
mov esi, dword [rbx + 0x18]
test esi, esi
je 0x140231cb3
mov r9d, dword [rbx + 0x20]
mov r8d, dword [rsp + 0x70]
dec esi
mov edx, esi
mov qword [rsp + 0x38], rdx
lea rdx, [r9 + rsi*4]
mov r11d, dword [rdx + r10]
add r11, r10
mov edx, 0x62881d92
mov r9b, byte [r11]
mov byte [rsp + 0x4d8], r9b
add r11, r15
mov r14d, 0x31
test r9b, r9b
mov r9d, 0x4764996c
je 0x140231ca2
mov r10d, edx
mov dl, byte [rsp + 0x4d8]
movsx r8d, dl
mov edx, r8d
imul edx, r8d
add edx, r14d
xor edx, r9d
xor r8d, r10d
mov r10d, edx
imul r10d, r8d
mov dl, byte [r11]
add r11, r15
test dl, dl
jne 0x140231c6b
mov dword [rsp + 0x68], r10d
mov r10, qword [rax + 0x30]
mov edx, dword [rsp + 0x68]
mov r8d, dword [rsp + 0x70]
cmp edx, r8d
je 0x140231cbb
test esi, esi
mov r9d, dword [rbx + 0x20]
jne 0x140231c29
mov rax, qword [rax]
jmp 0x140231b99
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 0x140231d62
lea rax, [rbx + rcx]
cmp r8, rax
jae 0x140231d62
mov edi, 0x62881d92
mov r10d, edi
mov dword [rsp + 0x70], edi
jmp 0x140231d12
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 0x140231cf8
add r8, r15
mov al, byte [r8]
test al, al
je 0x140231d4c
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 0x140231d23
mov dword [rsp + 0x70], r10d
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
jmp 0x140231cb3
mov rdx, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x30]
call r8
mov rbx, rax
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x150], r12
movabs rax, 0xd73b8dcb66b0618c
mov qword [rsp + 0x150], rax
mov qword [rsp + 0x158], r12
movabs rax, 0x91421ca23846ff31
mov qword [rsp + 0x158], rax
movabs rcx, 0xf33a52b6a63284c3
add rcx, qword [rsp + 0x158]
movabs rax, 0xaa153662530a3837
xor rcx, rax
sub rcx, qword [0x14033d050]
sub rcx, qword [0x14033d058]
movabs rax, 0x4edf047f5b58268d
sub rcx, rax
movabs rax, 0xf8f8cd97d0cf4ada
xor rcx, rax
sub rcx, qword [0x14033d048]
movabs rax, 0x27d654b8b9e6fdb6
add rcx, rax
mov rsi, qword [0x14033d040]
add rcx, rsi
movabs rax, 0x5a9179a7aa6eda9a
xor rcx, rax
movabs rax, 0x5f627dc6dcf402e7
sub rcx, rax
movabs rax, 0xb83b3cd20e1f813c
xor rcx, rax
movabs rdx, 0x7483ce44251d3142
add rdx, rcx
add rdx, rsi
not rdx
mov r10, qword [0x14033d038]
mov rax, r10
movabs rcx, 0x13cce94ada98c867
xor rax, rcx
sub rdx, rax
mov r11, qword [0x14033d030]
mov rcx, r11
movabs rax, 0xec3316b525673798
xor rcx, rax
movabs rax, 0xe0b56d901b39da3c
add rdx, rax
add rdx, rcx
movabs rax, 0x6432cab22361e28
xor rdx, rax
mov qword [rsp + 0x158], rdx
movabs rcx, 0xf33a52b605698f43
add rcx, qword [rsp + 0x150]
movabs rax, 0xb49536625309976e
xor rcx, rax
sub rcx, qword [0x14033d050]
sub rcx, qword [0x14033d058]
movabs rax, 0x3120fb80a68a3453
add rcx, rax
movabs rax, 0xf8f8cd98741b6430
xor rcx, rax
sub rcx, qword [0x14033d048]
movabs rax, 0x67d654b99427c6f6
add rcx, rax
add rcx, rsi
movabs rax, 0x5a9179a861d412a0
xor rcx, rax
movabs rax, 0x5f627dc6cdefd02d
sub rcx, rax
movabs rax, 0x643b3cd25e890243
xor rcx, rax
movabs rax, 0xf483ce44c180a80b
add rcx, rax
add rcx, rsi
not rcx
movabs rax, 0x13cce94ad815a491
xor r10, rax
sub rcx, r10
movabs rax, 0xec3316b527ea5b6e
xor r11, rax
movabs rax, 0xe0b56d8db590a8e6
add rcx, rax
add rcx, r11
movabs rax, 0x16a379580e56414e
xor rcx, rax
mov qword [rsp + 0x150], rcx
and rcx, rdx
cmp rbx, rcx
setne dil
mov qword [rsp + 0x158], r12
mov qword [rsp + 0x150], r12
lea rcx, [rsp + 0x428]
call fcn.140052edc
nop
mov rcx, qword [rsp + 0x278]
test rcx, rcx
je 0x140231fd7
mov rax, r12
cmp qword [rsp + 0x280], r12
jbe 0x140231fd7
mov byte [rax + rcx], r12b
add rax, r15
cmp rax, qword [rsp + 0x280]
jae 0x140231fd7
mov rcx, qword [rsp + 0x278]
jmp 0x140231fbc
test dil, dil
je 0x140235e5f
mov qword [rsp + 0x160], r12
movabs r14, 0xd73b8dcb66b0618c
mov qword [rsp + 0x160], r14
mov qword [rsp + 0x168], r12
movabs rax, 0x91421ca23846ff31
mov qword [rsp + 0x168], rax
movabs rcx, 0xf33a52b6a63284c3
add rcx, qword [rsp + 0x168]
movabs rax, 0xaa153662530a3837
xor rcx, rax
sub rcx, qword [0x14033d050]
sub rcx, qword [0x14033d058]
movabs rax, 0x4edf047f5b58268d
sub rcx, rax
movabs rax, 0xf8f8cd97d0cf4ada
xor rcx, rax
sub rcx, qword [0x14033d048]
movabs rax, 0x27d654b8b9e6fdb6
add rcx, rax
mov rsi, qword [0x14033d040]
add rcx, rsi
movabs rax, 0x5a9179a7aa6eda9a
xor rcx, rax
movabs rax, 0x5f627dc6dcf402e7
sub rcx, rax
movabs rax, 0xb83b3cd20e1f813c
xor rcx, rax
movabs rdx, 0x7483ce44251d3142
add rdx, rcx
add rdx, rsi
not rdx
mov r10, qword [0x14033d038]
mov rax, r10
movabs rcx, 0x13cce94ada98c867
xor rax, rcx
sub rdx, rax
mov r11, qword [0x14033d030]
mov rcx, r11
movabs rax, 0xec3316b525673798
xor rcx, rax
movabs rax, 0xe0b56d901b39da3c
add rdx, rax
add rdx, rcx
movabs rax, 0x6432cab22361e28
xor rdx, rax
mov qword [rsp + 0x168], rdx
movabs rcx, 0xf33a52b605698f43
add rcx, qword [rsp + 0x160]
movabs rax, 0xb49536625309976e
xor rcx, rax
sub rcx, qword [0x14033d050]
sub rcx, qword [0x14033d058]
movabs rax, 0x3120fb80a68a3453
add rcx, rax
movabs rax, 0xf8f8cd98741b6430
xor rcx, rax
sub rcx, qword [0x14033d048]
movabs rax, 0x67d654b99427c6f6
add rcx, rax
add rcx, rsi
movabs rax, 0x5a9179a861d412a0
xor rcx, rax
movabs rax, 0x5f627dc6cdefd02d
sub rcx, rax
movabs rax, 0x643b3cd25e890243
xor rcx, rax
movabs rax, 0xf483ce44c180a80b
add rcx, rax
add rcx, rsi
not rcx
movabs rax, 0x13cce94ad815a491
xor r10, rax
sub rcx, r10
movabs rax, 0xec3316b527ea5b6e
xor r11, rax
movabs rax, 0xe0b56d8db590a8e6
add rcx, rax
add rcx, r11
movabs rax, 0x16a379580e56414e
xor rcx, rax
mov qword [rsp + 0x160], rcx
and rcx, rdx
cmp rbx, rcx
setne al
mov qword [rsp + 0x168], r12
mov qword [rsp + 0x160], r12
test al, al
jne 0x1402322a8
mov dword [rsp + 0xa4], r12d
mov dword [rsp + 0xa4], 0x99908643
mov eax, dword [rsp + 0xa4]
add eax, 0xabf998f5
xor eax, 0x2e4a3dfe
sub eax, dword [0x14033d058]
sub eax, dword [0x14033d050]
sub eax, 0x1b697bc9
xor eax, 0xcaf11a58
sub eax, dword [0x14033d048]
mov rcx, qword [0x14033d040]
add eax, 0x520f41cb
add eax, ecx
xor eax, 0xa3d7c792
add eax, 0x1c4e76e6
xor eax, 0x313bc8ea
mov edx, dword [0x14033d030]
xor edx, 0x25501b48
sub edx, eax
mov eax, dword [0x14033d038]
xor eax, 0xdaafe4b7
sub edx, eax
sub edx, ecx
add edx, 0x52ac8136
xor edx, 0xfac7a078
mov dword [rsp + 0xa4], edx
mov dword [rsp + 0xa4], r12d
movabs r14, 0xaaaaaaaaaaaaaaab
jmp 0x14023374e
mov qword [rsp + 0x170], r12
mov qword [rsp + 0x170], r14
mov qword [rsp + 0x178], r12
movabs rax, 0x91421ca23846ff31
mov qword [rsp + 0x178], rax
movabs rcx, 0xf33a52b6a63284c3
add rcx, qword [rsp + 0x178]
movabs rax, 0xaa153662530a3837
xor rcx, rax
sub rcx, qword [0x14033d050]
sub rcx, qword [0x14033d058]
movabs rax, 0x4edf047f5b58268d
sub rcx, rax
movabs rax, 0xf8f8cd97d0cf4ada
xor rcx, rax
sub rcx, qword [0x14033d048]
movabs rax, 0x27d654b8b9e6fdb6
add rcx, rax
mov rsi, qword [0x14033d040]
add rcx, rsi
movabs rax, 0x5a9179a7aa6eda9a
xor rcx, rax
movabs rax, 0x5f627dc6dcf402e7
sub rcx, rax
movabs rax, 0xb83b3cd20e1f813c
xor rcx, rax
movabs rdx, 0x7483ce44251d3142
add rdx, rcx
add rdx, rsi
not rdx
mov r10, qword [0x14033d038]
mov rax, r10
movabs rcx, 0x13cce94ada98c867
xor rax, rcx
sub rdx, rax
mov r11, qword [0x14033d030]
mov rcx, r11
movabs rax, 0xec3316b525673798
xor rcx, rax
movabs rax, 0xe0b56d901b39da3c
add rdx, rax
add rdx, rcx
movabs rax, 0x6432cab22361e28
xor rdx, rax
mov qword [rsp + 0x178], rdx
movabs rcx, 0xf33a52b605698f43
add rcx, qword [rsp + 0x170]
movabs rax, 0xb49536625309976e
xor rcx, rax
sub rcx, qword [0x14033d050]
sub rcx, qword [0x14033d058]
movabs rax, 0x3120fb80a68a3453
add rcx, rax
movabs rax, 0xf8f8cd98741b6430
xor rcx, rax
sub rcx, qword [0x14033d048]
movabs rax, 0x67d654b99427c6f6
add rcx, rax
add rcx, rsi
movabs rax, 0x5a9179a861d412a0
xor rcx, rax
movabs rax, 0x5f627dc6cdefd02d
sub rcx, rax
movabs rax, 0x643b3cd25e890243
xor rcx, rax
movabs rax, 0xf483ce44c180a80b
add rcx, rax
add rcx, rsi
not rcx
movabs rax, 0x13cce94ad815a491
xor r10, rax
sub rcx, r10
movabs rax, 0xec3316b527ea5b6e
xor r11, rax
movabs rax, 0xe0b56d8db590a8e6
add rcx, rax
add rcx, r11
movabs rax, 0x16a379580e56414e
xor rcx, rax
mov qword [rsp + 0x170], rcx
and rcx, rdx
cmp rbx, rcx
setne al
mov qword [rsp + 0x178], r12
mov qword [rsp + 0x170], r12
test al, al
jne 0x14023257a
mov dword [rsp + 0xa8], r12d
mov dword [rsp + 0xa8], 0x733cfa0b
mov eax, dword [rsp + 0xa8]
add eax, 0x56d18475
xor eax, 0x19c9e8d6
sub eax, dword [0x14033d058]
sub eax, dword [0x14033d050]
add eax, 0x6595fc74
xor eax, 0x216dcf2a
sub eax, dword [0x14033d048]
mov rcx, qword [0x14033d040]
add eax, 0x85a7299f
add eax, ecx
xor eax, 0x4f97ef4
add eax, 0x4d2fd024
xor eax, 0xffd27c6b
lea edx, [rcx - 0x4dad7574]
add edx, eax
not edx
mov eax, dword [0x14033d038]
xor eax, 0xd95b4465
sub edx, eax
mov eax, dword [0x14033d030]
xor eax, 0x26a4bb9a
add eax, 0xdc785d00
add eax, edx
xor eax, 0x3a90ebc2
mov dword [rsp + 0x4d8], eax
mov dword [rsp + 0xa8], eax
mov dword [rsp + 0xa8], r12d
mov dword [rsp + 0x70], 0xc201090e
movabs r14, 0xaaaaaaaaaaaaaaab
jmp 0x140232778
mov edi, r12d
mov eax, 0xc201090e
mov dword [rsp + 0x70], eax
mov dword [rsp + 0x68], eax
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
movabs r14, 0xaaaaaaaaaaaaaaab
movups xmm0, xmmword [rax + 0x58]
movd ecx, xmm0
sub cx, 8
test edi, edi
je 0x1402325ff
psrldq xmm0, 8
movq r8, xmm0
movzx ecx, cx
shr rcx, 1
lea r10, [r8 + rcx*2]
mov r9d, 0xeb65c7f2
jmp 0x1402325f1
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 0x1402325d1
cmp r9d, edi
jne 0x1402326b5
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 0x1402326b5
mov esi, dword [rbx + 0x18]
test esi, esi
je 0x1402326b5
mov r9d, dword [rbx + 0x20]
mov r8d, dword [rsp + 0x68]
dec esi
mov edx, esi
mov qword [rsp + 0x40], rdx
lea rdx, [r10 + rsi*4]
mov r11d, dword [rdx + r9]
add r11, r10
mov edx, 0xeb65c7f2
mov r9b, byte [r11]
mov byte [rsp + 0x4d8], r9b
add r11, r15
test r9b, r9b
mov r9d, 0x4764996c
je 0x1402326a8
mov r10d, edx
mov dl, byte [rsp + 0x4d8]
movsx r8d, dl
mov edx, r8d
imul edx, r8d
add edx, 0x31
xor edx, r9d
xor r8d, r10d
mov r10d, edx
imul r10d, r8d
mov dl, byte [r11]
add r11, r15
test dl, dl
jne 0x140232671
mov dword [rsp + 0x58], r10d
mov r10, qword [rax + 0x30]
mov edx, dword [rsp + 0x58]
mov r8d, dword [rsp + 0x68]
cmp edx, r8d
je 0x1402326bd
test esi, esi
mov r9d, dword [rbx + 0x20]
jne 0x140232635
mov rax, qword [rax]
jmp 0x1402325a5
mov edx, dword [rbx + 0x1c]
add rdx, r10
mov eax, dword [rbx + 0x24]
add rax, r10
mov r8, qword [rsp + 0x40]
movzx eax, word [rax + r8*2]
mov r8d, dword [rdx + rax*4]
add r8, r10
cmp r8, rbx
jbe 0x140232766
lea rax, [rbx + rcx]
cmp r8, rax
jae 0x140232766
mov eax, 0xeb65c7f2
mov edi, eax
mov r10d, eax
mov dword [rsp + 0x68], eax
jmp 0x140232716
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 0x1402326fc
add r8, r15
mov al, byte [r8]
test al, al
je 0x140232750
movsx ecx, al
mov edx, ecx
imul edx, ecx
add edx, 0x31
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 0x140232727
mov dword [rsp + 0x68], r10d
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
jmp 0x1402326b5
mov rbx, qword [rsp + 0x60]
mov rcx, rbx
call r8
mov dword [rsp + 0x4d8], eax
mov dword [rsp + 0xb4], r12d
mov dword [rsp + 0xb4], 0x46719251
mov eax, dword [rsp + 0xb4]
add eax, 0x5eb05df5
xor eax, 0xf349f0b4
sub eax, dword [0x14033d058]
sub eax, dword [0x14033d050]
sub eax, 0x1a81a018
xor eax, 0x196f7a44
sub eax, dword [0x14033d048]
mov rcx, qword [0x14033d040]
add eax, 0x3af82962
add eax, ecx
xor eax, 0xfbff4ede
add eax, 0x5348ff1a
xor eax, 0x2fe2d0b4
lea edx, [rcx + 0x2aaac8ff]
add edx, eax
not edx
mov eax, dword [0x14033d038]
xor eax, 0xd97abfcb
sub edx, eax
mov eax, dword [0x14033d030]
xor eax, 0x26854034
add eax, 0xfbd33666
add eax, edx
xor eax, 0xa358b53c
mov dword [rsp + 0x58], eax
mov dword [rsp + 0xb4], eax
mov dword [rsp + 0xac], r12d
mov dword [rsp + 0xac], 0x58f458c1
mov eax, dword [rsp + 0xac]
add eax, 0x6b08
xor eax, 0x5cdc51
sub eax, dword [0x14033d058]
sub eax, dword [0x14033d050]
sub eax, 0x53447531
xor eax, 0x2c70fbbb
sub eax, dword [0x14033d048]
mov rcx, qword [0x14033d040]
add eax, 0xd24e570e
add eax, ecx
xor eax, 0xdad6ceb3
add eax, 0x70f71074
xor eax, 0xf6a36d48
lea edx, [rcx + 0xdcc027a]
add edx, eax
not edx
mov eax, dword [0x14033d038]
xor eax, 0x25293141
sub edx, eax
mov eax, dword [0x14033d030]
xor eax, 0xdad6cebe
add eax, 0xccc1e428
add eax, edx
xor eax, 0x408adc3e
mov dword [rsp + 0x68], eax
mov dword [rsp + 0xac], eax
mov qword [rsp + 0x180], r12
movabs rax, 0xd73b8dcb66b0618c
mov qword [rsp + 0x180], rax
mov qword [rsp + 0x188], r12
movabs rax, 0x91421ca23846ff31
mov qword [rsp + 0x188], rax
movabs rcx, 0xf33a52b6a63284c3
add rcx, qword [rsp + 0x188]
movabs rax, 0xaa153662530a3837
xor rcx, rax
sub rcx, qword [0x14033d050]
sub rcx, qword [0x14033d058]
movabs rax, 0x4edf047f5b58268d
sub rcx, rax
movabs rax, 0xf8f8cd97d0cf4ada
xor rcx, rax
sub rcx, qword [0x14033d048]
movabs rax, 0x27d654b8b9e6fdb6
add rcx, rax
mov rsi, qword [0x14033d040]
add rcx, rsi
movabs rax, 0x5a9179a7aa6eda9a
xor rcx, rax
movabs rax, 0x5f627dc6dcf402e7
sub rcx, rax
movabs rax, 0xb83b3cd20e1f813c
xor rcx, rax
movabs rdx, 0x7483ce44251d3142
add rdx, rcx
add rdx, rsi
not rdx
mov r10, qword [0x14033d038]
mov rax, r10
movabs rcx, 0x13cce94ada98c867
xor rax, rcx
sub rdx, rax
mov r11, qword [0x14033d030]
mov rcx, r11
movabs rax, 0xec3316b525673798
xor rcx, rax
movabs rax, 0xe0b56d901b39da3c
add rdx, rax
add rdx, rcx
movabs rax, 0x6432cab22361e28
xor rdx, rax
mov qword [rsp + 0x188], rdx
movabs rcx, 0xf33a52b605698f43
add rcx, qword [rsp + 0x180]
movabs rax, 0xb49536625309976e
xor rcx, rax
sub rcx, qword [0x14033d050]
sub rcx, qword [0x14033d058]
movabs rax, 0x3120fb80a68a3453
add rcx, rax
movabs rax, 0xf8f8cd98741b6430
xor rcx, rax
sub rcx, qword [0x14033d048]
movabs rax, 0x67d654b99427c6f6
add rcx, rax
add rcx, rsi
movabs rax, 0x5a9179a861d412a0
xor rcx, rax
movabs rax, 0x5f627dc6cdefd02d
sub rcx, rax
movabs rax, 0x643b3cd25e890243
xor rcx, rax
movabs rax, 0xf483ce44c180a80b
add rcx, rax
add rcx, rsi
not rcx
movabs rax, 0x13cce94ad815a491
xor r10, rax
sub rcx, r10
movabs rax, 0xec3316b527ea5b6e
xor r11, rax
movabs rax, 0xe0b56d8db590a8e6
add rcx, rax
add rcx, r11
movabs rax, 0x16a379580e56414e
xor rcx, rax
mov qword [rsp + 0x180], rcx
and rcx, rdx
cmp rbx, rcx
setne al
mov qword [rsp + 0x188], r12
mov qword [rsp + 0x180], r12
test al, al
jne 0x140232b72
mov dword [rsp + 0xb0], r12d
mov dword [rsp + 0xb0], 0x38f1589a
mov eax, dword [rsp + 0xb0]
add eax, 0x298aa875
xor eax, 0x3dc9bb8f
sub eax, dword [0x14033d058]
sub eax, dword [0x14033d050]
add eax, 0x661dd108
xor eax, 0x4f69c69a
sub eax, dword [0x14033d048]
mov rcx, qword [0x14033d040]
add eax, 0xc31cd941
add eax, ecx
xor eax, 0x389e51e4
add eax, 0x3b598694
xor eax, 0xf67754a2
lea edx, [rcx - 0x21a38978]
add edx, eax
not edx
mov eax, dword [0x14033d038]
xor eax, 0xd8a628f5
sub edx, eax
mov ecx, dword [0x14033d030]
xor ecx, 0x2759d70a
add ecx, 0x26a5898f
add ecx, edx
xor ecx, 0x93105c92
mov dword [rsp + 0xb0], ecx
mov dword [rsp + 0xb0], r12d
mov dword [rsp + 0x48], 0x2ba4d86
jmp 0x140232d61
mov esi, r12d
mov eax, 0x2ba4d86
mov dword [rsp + 0x48], eax
mov dword [rsp + 0x38], eax
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
movups xmm0, xmmword [rax + 0x58]
movd ecx, xmm0
sub cx, 8
test esi, esi
je 0x140232bf3
psrldq xmm0, 8
movq r9, xmm0
movzx ecx, cx
shr rcx, 1
lea r11, [r9 + rcx*2]
mov r10d, 0x89bb6be4
jmp 0x140232be5
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 0x140232bbf
cmp r10d, esi
jne 0x140232ca5
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 0x140232ca5
mov r8d, dword [rdi + 0x18]
test r8d, r8d
je 0x140232ca5
mov r9d, dword [rdi + 0x20]
dec r8d
mov dword [rsp + 0x30], r8d
mov edx, r8d
mov qword [rsp + 0x50], rdx
lea rdx, [r9 + r8*4]
mov ebx, dword [rdx + r11]
add rbx, r11
mov edx, 0x89bb6be4
mov r9b, byte [rbx]
add rbx, r15
mov r10d, 0x4764996c
test r9b, r9b
je 0x140232c96
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 0x140232c5a
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 0x140232cad
test r8d, r8d
mov r9d, dword [rdi + 0x20]
jne 0x140232c26
mov rax, qword [rax]
jmp 0x140232b93
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 0x140232d4c
lea rax, [rcx + rdi]
cmp r9, rax
jae 0x140232d4c
mov esi, 0x89bb6be4
mov r11d, esi
mov dword [rsp + 0x38], esi
jmp 0x140232cfe
movsx ecx, al
mov eax, ecx
imul eax, ecx
add eax, 0x31
xor eax, r10d
xor ecx, esi
mov esi, eax
imul esi, ecx
add r9, r15
mov al, byte [r9]
cmp al, 0x2e
jne 0x140232ce6
add r9, r15
mov al, byte [r9]
test al, al
je 0x140232d36
movsx ecx, al
mov eax, ecx
imul eax, ecx
add eax, 0x31
xor eax, r10d
xor ecx, r11d
mov r11d, eax
imul r11d, ecx
add r9, r15
mov al, byte [r9]
test al, al
jne 0x140232d0f
mov dword [rsp + 0x38], r11d
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
jmp 0x140232ca5
mov r8d, dword [rsp + 0x58]
mov edx, dword [rsp + 0x68]
mov rbx, qword [rsp + 0x60]
mov rcx, rbx
call r9
nop
mov dword [rsp + 0xac], r12d
mov dword [rsp + 0xb4], r12d
mov qword [rsp + 0x198], r12
movabs rax, 0xd73b8dcb66b0618c
mov qword [rsp + 0x198], rax
mov qword [rsp + 0x1a0], r12
movabs rax, 0x91421ca23846ff31
mov qword [rsp + 0x1a0], rax
movabs rcx, 0xf33a52b6a63284c3
add rcx, qword [rsp + 0x1a0]
movabs rax, 0xaa153662530a3837
xor rcx, rax
sub rcx, qword [0x14033d050]
sub rcx, qword [0x14033d058]
movabs rax, 0x4edf047f5b58268d
sub rcx, rax
movabs rax, 0xf8f8cd97d0cf4ada
xor rcx, rax
sub rcx, qword [0x14033d048]
movabs rax, 0x27d654b8b9e6fdb6
add rcx, rax
mov rsi, qword [0x14033d040]
add rcx, rsi
movabs rax, 0x5a9179a7aa6eda9a
xor rcx, rax
movabs rax, 0x5f627dc6dcf402e7
sub rcx, rax
movabs rax, 0xb83b3cd20e1f813c
xor rcx, rax
movabs rdx, 0x7483ce44251d3142
add rdx, rcx
add rdx, rsi
not rdx
mov r10, qword [0x14033d038]
mov rax, r10
movabs rcx, 0x13cce94ada98c867
xor rax, rcx
sub rdx, rax
mov r11, qword [0x14033d030]
mov rcx, r11
movabs rax, 0xec3316b525673798
xor rcx, rax
movabs rax, 0xe0b56d901b39da3c
add rdx, rax
add rdx, rcx
movabs rax, 0x6432cab22361e28
xor rdx, rax
mov qword [rsp + 0x1a0], rdx
movabs rcx, 0xf33a52b605698f43
add rcx, qword [rsp + 0x198]
movabs rax, 0xb49536625309976e
xor rcx, rax
sub rcx, qword [0x14033d050]
sub rcx, qword [0x14033d058]
movabs rax, 0x3120fb80a68a3453
add rcx, rax
movabs rax, 0xf8f8cd98741b6430
xor rcx, rax
sub rcx, qword [0x14033d048]
movabs rax, 0x67d654b99427c6f6
add rcx, rax
add rcx, rsi
movabs rax, 0x5a9179a861d412a0
xor rcx, rax
movabs rax, 0x5f627dc6cdefd02d
sub rcx, rax
movabs rax, 0x643b3cd25e890243
xor rcx, rax
movabs rax, 0xf483ce44c180a80b
add rcx, rax
add rcx, rsi
not rcx
movabs rax, 0x13cce94ad815a491
xor r10, rax
sub rcx, r10
movabs rax, 0xec3316b527ea5b6e
xor r11, rax
movabs rax, 0xe0b56d8db590a8e6
add rcx, rax
add rcx, r11
movabs rax, 0x16a379580e56414e
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 0x140233038
mov dword [rsp + 0xbc], r12d
mov dword [rsp + 0xbc], 0x733cfa0b
mov eax, dword [rsp + 0xbc]
add eax, 0x56d18475
xor eax, 0x19c9e8d6
sub eax, dword [0x14033d058]
sub eax, dword [0x14033d050]
add eax, 0x6595fc74
xor eax, 0x216dcf2a
sub eax, dword [0x14033d048]
mov rcx, qword [0x14033d040]
add eax, 0x85a7299f
add eax, ecx
xor eax, 0x4f97ef4
add eax, 0x4d2fd024
xor eax, 0xffd27c6b
lea edx, [rcx - 0x4dad7574]
add edx, eax
not edx
mov eax, dword [0x14033d038]
xor eax, 0xd95b4465
sub edx, eax
mov eax, dword [0x14033d030]
xor eax, 0x26a4bb9a
add eax, 0xdc785d00
add eax, edx
xor eax, 0x3a90ebc2
mov dword [rsp + 0x40], eax
mov dword [rsp + 0xbc], eax
mov dword [rsp + 0xbc], r12d
jmp 0x14023321e
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 0x1402330ac
psrldq xmm0, 8
movq r9, xmm0
movzx ecx, cx
shr rcx, 1
lea r11, [r9 + rcx*2]
mov r10d, 0xeb65c7f2
jmp 0x14023309e
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 0x140233078
cmp r10d, esi
jne 0x14023315e
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 0x14023315e
mov r8d, dword [rdi + 0x18]
test r8d, r8d
je 0x14023315e
mov r9d, dword [rdi + 0x20]
dec r8d
mov dword [rsp + 0x40], r8d
mov edx, r8d
mov qword [rsp + 0x50], rdx
lea rdx, [r11 + r8*4]
mov ebx, dword [rdx + r9]
add rbx, r11
mov edx, 0xeb65c7f2
mov r9b, byte [rbx]
add rbx, r15
mov r10d, 0x4764996c
test r9b, r9b
je 0x14023314f
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 0x140233113
mov dword [rsp + 0x30], r11d
mov r11, qword [rax + 0x30]
mov r8d, dword [rsp + 0x40]
mov edx, dword [rsp + 0x30]
cmp edx, dword [rsp + 0x70]
je 0x140233166
test r8d, r8d
mov r9d, dword [rdi + 0x20]
jne 0x1402330df
mov rax, qword [rax]
jmp 0x14023304c
mov edx, dword [rdi + 0x1c]
add rdx, r11
mov eax, dword [rdi + 0x24]
add rax, r11
mov r8, qword [rsp + 0x50]
movzx eax, word [rax + r8*2]
mov r8d, dword [rdx + rax*4]
add r8, r11
cmp r8, rdi
jbe 0x14023320f
lea rax, [rdi + rcx]
cmp r8, rax
jae 0x14023320f
mov eax, 0xeb65c7f2
mov esi, eax
mov r9d, eax
mov dword [rsp + 0x70], eax
jmp 0x1402331bf
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 0x1402331a5
add r8, r15
mov al, byte [r8]
test al, al
je 0x1402331f9
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]
test al, al
jne 0x1402331d0
mov dword [rsp + 0x70], r9d
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
jmp 0x14023315e
mov rbx, qword [rsp + 0x60]
mov rcx, rbx
call r8
mov dword [rsp + 0x40], eax
mov dword [rsp + 0xc0], r12d
mov dword [rsp + 0xc0], 0xaa166e70
mov eax, dword [rsp + 0xc0]
add eax, 0xadffa075
xor eax, 0x35ca4004
sub eax, dword [0x14033d058]
sub eax, dword [0x14033d050]
add eax, 0x64907220
xor eax, 0xc8e2faba
sub eax, dword [0x14033d048]
mov rcx, qword [0x14033d040]
add eax, 0xf50129d
add eax, ecx
xor eax, 0xa188e704
add eax, 0x1cd80c74
xor eax, 0xf438b4fa
mov edx, dword [0x14033d030]
xor edx, 0x2548032a
sub edx, eax
mov eax, dword [0x14033d038]
xor eax, 0xdab7fcd5
sub edx, eax
sub edx, ecx
sub edx, 0x233b2be0
xor edx, 0xef0df9f2
mov dword [rsp + 0x30], edx
mov dword [rsp + 0xc0], edx
mov qword [rsp + 0x1a8], r12
movabs rax, 0xd73b8dcb66b0618c
mov qword [rsp + 0x1a8], rax
mov qword [rsp + 0x1b0], r12
movabs rax, 0x91421ca23846ff31
mov qword [rsp + 0x1b0], rax
movabs rcx, 0xf33a52b6a63284c3
add rcx, qword [rsp + 0x1b0]
movabs rax, 0xaa153662530a3837
xor rcx, rax
sub rcx, qword [0x14033d050]
sub rcx, qword [0x14033d058]
movabs rax, 0x4edf047f5b58268d
sub rcx, rax
movabs rax, 0xf8f8cd97d0cf4ada
xor rcx, rax
sub rcx, qword [0x14033d048]
movabs rax, 0x27d654b8b9e6fdb6
add rcx, rax
mov rsi, qword [0x14033d040]
add rcx, rsi
movabs rax, 0x5a9179a7aa6eda9a
xor rcx, rax
movabs rax, 0x5f627dc6dcf402e7
sub rcx, rax
movabs rax, 0xb83b3cd20e1f813c
xor rcx, rax
movabs rdx, 0x7483ce44251d3142
add rdx, rcx
add rdx, rsi
not rdx
mov r10, qword [0x14033d038]
mov rax, r10
movabs rcx, 0x13cce94ada98c867
xor rax, rcx
sub rdx, rax
mov r11, qword [0x14033d030]
mov rcx, r11
movabs rax, 0xec3316b525673798
xor rcx, rax
movabs rax, 0xe0b56d901b39da3c
add rdx, rax
add rdx, rcx
movabs rax, 0x6432cab22361e28
xor rdx, rax
mov qword [rsp + 0x1b0], rdx
movabs rcx, 0xf33a52b605698f43
add rcx, qword [rsp + 0x1a8]
movabs rax, 0xb49536625309976e
xor rcx, rax
sub rcx, qword [0x14033d050]
sub rcx, qword [0x14033d058]
movabs rax, 0x3120fb80a68a3453
add rcx, rax
movabs rax, 0xf8f8cd98741b6430
xor rcx, rax
sub rcx, qword [0x14033d048]
movabs rax, 0x67d654b99427c6f6
add rcx, rax
add rcx, rsi
movabs rax, 0x5a9179a861d412a0
xor rcx, rax
movabs rax, 0x5f627dc6cdefd02d
sub rcx, rax
movabs rax, 0x643b3cd25e890243
xor rcx, rax
movabs rax, 0xf483ce44c180a80b
add rcx, rax
add rcx, rsi
not rcx
movabs rax, 0x13cce94ad815a491
xor r10, rax
sub rcx, r10
movabs rax, 0xec3316b527ea5b6e
xor r11, rax
movabs rax, 0xe0b56d8db590a8e6
add rcx, rax
add rcx, r11
movabs rax, 0x16a379580e56414e
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 0x140233575
mov dword [rsp + 0xc4], r12d
mov dword [rsp + 0xc4], 0x38f1589a
mov eax, dword [rsp + 0xc4]
add eax, 0x298aa875
xor eax, 0x3dc9bb8f
sub eax, dword [0x14033d058]
sub eax, dword [0x14033d050]
add eax, 0x661dd108
xor eax, 0x4f69c69a
sub eax, dword [0x14033d048]
mov rcx, qword [0x14033d040]
add eax, 0xc31cd941
add eax, ecx
xor eax, 0x389e51e4
add eax, 0x3b598694
xor eax, 0xf67754a2
lea edx, [rcx - 0x21a38978]
add edx, eax
not edx
mov eax, dword [0x14033d038]
xor eax, 0xd8a628f5
sub edx, eax
mov ecx, dword [0x14033d030]
xor ecx, 0x2759d70a
add ecx, 0x26a5898f
add ecx, edx
xor ecx, 0x93105c92
mov dword [rsp + 0xc4], ecx
mov dword [rsp + 0xc4], r12d
jmp 0x140233742
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 0x1402335e3
psrldq xmm0, 8
movq r8, xmm0
movzx ecx, cx
shr rcx, 1
lea r10, [r8 + rcx*2]
mov r9d, 0x89bb6be4
jmp 0x1402335d5
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 0x1402335b5
cmp r9d, edi
jne 0x14023367a
mov r11, qword [rax + 0x30]
movsxd rcx, dword [r11 + 0x3c]
mov rcx, qword [rcx + r11 + 0x88]
mov ebx, ecx
add rbx, r11
shr rcx, 0x20
cmp rbx, r11
je 0x14023367a
mov esi, dword [rbx + 0x18]
test esi, esi
je 0x14023367a
mov r8d, dword [rbx + 0x20]
dec esi
mov edx, esi
mov qword [rsp + 0x50], rdx
lea rdx, [r8 + rsi*4]
mov r9d, dword [rdx + r11]
add r9, r11
mov edx, 0x89bb6be4
mov r8b, byte [r9]
add r9, r15
mov r10d, 0x4764996c
test r8b, r8b
je 0x14023366c
mov r11d, edx
movsx r8d, r8b
mov edx, r8d
imul edx, r8d
add edx, 0x31
xor edx, r10d
xor r8d, r11d
mov r11d, edx
imul r11d, r8d
mov r8b, byte [r9]
add r9, r15
test r8b, r8b
jne 0x140233639
mov dword [rsp + 0x38], r11d
mov r11, qword [rax + 0x30]
mov edx, dword [rsp + 0x38]
cmp edx, dword [rsp + 0x48]
je 0x140233682
test esi, esi
mov r8d, dword [rbx + 0x20]
jne 0x14023360c
mov rax, qword [rax]
jmp 0x140233589
mov edx, dword [rbx + 0x1c]
add rdx, r11
mov eax, dword [rbx + 0x24]
add rax, r11
mov r8, qword [rsp + 0x50]
movzx eax, word [rax + r8*2]
mov r9d, dword [rdx + rax*4]
add r9, r11
cmp r9, rbx
jbe 0x14023372d
lea rax, [rbx + rcx]
cmp r9, rax
jae 0x14023372d
mov eax, 0x89bb6be4
mov edi, eax
mov edx, eax
mov dword [rsp + 0x48], eax
mov al, byte [r9]
cmp al, 0x2e
je 0x1402336ea
movsx ecx, al
mov edx, ecx
imul edx, ecx
add edx, 0x31
xor edx, r10d
mov eax, edi
xor eax, ecx
mov edi, edx
imul edi, eax
add r9, r15
mov al, byte [r9]
cmp al, 0x2e
jne 0x1402336c5
mov edx, dword [rsp + 0x48]
add r9, r15
mov al, byte [r9]
test al, al
je 0x140233717
movsx ecx, al
mov eax, ecx
imul eax, ecx
add eax, 0x31
xor eax, r10d
xor ecx, edx
mov edx, eax
imul edx, ecx
add r9, r15
mov al, byte [r9]
test al, al
jne 0x1402336f4
mov dword [rsp + 0x48], edx
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
jmp 0x14023367a
mov r8d, dword [rsp + 0x30]
mov edx, dword [rsp + 0x4d8]
mov rcx, qword [rsp + 0x60]
call r9
nop
mov dword [rsp + 0xc0], r12d
mov edx, dword [rsp + 0x40]
movsxd rax, edx
mov qword [rsp + 0x50], rax
movabs rdi, 0x6626a28a64bf726a
mov rsi, r12
movabs rax, 0xed79f761893b9f90
movabs r11, 0xcc8999418492f532
mov rcx, qword [0x14033d070]
imul rcx, rax
not rcx
movabs rdx, 0x337666be5c90ce4c
mov rax, qword [0x14033d060]
xor rax, rdx
and rcx, rax
ror rcx, 0x13
shr rcx, 8
mov qword [rsp + 0x40], rcx
movabs rax, 0x63535f753fcf8870
mov r10, qword [0x14033d078]
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 0x14023381c
sub ecx, r15d
or ecx, 0xffffffc0
add ecx, r15d
mov rax, r10
ror rax, cl
not rax
mov qword [rsp + 0x30], rax
movabs rcx, 0x57d79aa3393b349c
imul rax, rcx
mov qword [rsp + 0x38], rax
add r8, rax
mov r9, r10
mov rdx, qword [rsp + 0x40]
imul r9, rdx
sub r9, r8
movabs rax, 0xf14b732d58f03367
xor r9, rax
movzx ecx, r8b
mov dword [rsp + 0x4d8], ecx
xor ecx, 6
and ecx, 0xf
and ecx, ebx
jge 0x14023387a
sub ecx, r15d
or ecx, 0xffffffc0
add ecx, r15d
rol r9, cl
mov rax, r8
sub rax, qword [0x14033d078]
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 0x140233b95
sub rax, 1
je 0x140233a8d
sub rax, 1
je 0x1402339c2
cmp rax, 1
jne 0x140233c29
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 [0x14033d088]
add rdx, rcx
movabs rax, 0x995bd80dddab101c
xor rdx, rax
movzx eax, bl
movzx ecx, r9b
imul ecx, eax
and cl, 0x3f
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xf7ca7db9551051f1
sub rax, r10
mov r10, rdx
xor r10, rax
mov rcx, r10
imul rcx, rdi
mov eax, 0x84cb831b
add rcx, rax
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov cl, byte [r13 + rcx*8]
and cl, 0xf
movabs rdi, 0x4363d8d5a229010b
sub rdi, rbx
shr rdi, cl
movabs rax, 0x99e181fe1190816e
mov rcx, qword [rsp + 0x38]
add rcx, rax
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, r9
imul rax, qword [r13 + rcx*8]
imul rax, r9
sub rax, qword [rsp + 0x40]
xor rdi, rax
jmp 0x140233c33
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 0x140233c29
movabs rax, 0x10131e1469605c7c
imul r9, rax
movabs rax, 0xd79435e50d79435f
mul r9
shr rdx, 4
movzx eax, dl
imul edx, eax, 0x13
mov cl, r9b
sub cl, dl
movabs rdx, 0xeb48cd2a70fcc98
shl rdx, cl
mov rax, r11
mov r11, rdx
xor r11, rax
mov eax, dword [rsp + 0x4d8]
and eax, ebx
jge 0x140233ae1
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 [0x14033d070]
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 0x140233c33
mov rcx, r9
imul rcx, qword [0x14033d080]
and rcx, qword [0x14033d080]
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 [0x14033d060], 0xffffffffd8023b7e
mov rdx, qword [0x14033d068]
sub rax, rdx
mov qword [rsp + 0x4d8], rax
mov al, sil
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, ebx
jge 0x140233c07
sub ecx, r15d
or ecx, 0xffffffc0
add ecx, r15d
mov rax, qword [rsp + 0x4d8]
ror rax, cl
movabs rcx, 0x99d95d759b408d96
add rax, rcx
add rax, qword [rsp + 0x38]
mov qword [rsp + 0x40], rax
movabs rbx, 0xf14b732d58f03367
movabs rax, 0xff055d7ba4a45329
xor rbx, rax
mov rax, r14
mul rbx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rbx, rax
xor r11, rsi
imul r11, qword [r13 + rbx*8]
not r8
imul r8, r9
imul r8, qword [rsp + 0x40]
imul r8, rdi
movabs rcx, 0xf5ed7e87a31719f5
xor rcx, r10
not rcx
xor rcx, r8
sub rcx, r11
call fcn.1401b71bc
mov qword [0x14034b9a8], rax
mov edi, r12d
mov dword [rsp + 0x40], 0x45d3ed8e
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 0x140233d0c
psrldq xmm0, 8
movq r9, xmm0
movzx ecx, cx
shr rcx, 1
lea r11, [r9 + rcx*2]
mov r10d, 0x1c9ad098
jmp 0x140233cfe
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 0x140233cd8
cmp r10d, edi
jne 0x140233dd8
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 0x140233dd8
mov r8d, dword [rbx + 0x18]
test r8d, r8d
je 0x140233dd8
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, [r10 + r8*4]
mov r11d, dword [rdx + r11]
add r11, r10
mov edx, 0x1c9ad098
mov sil, byte [r11]
mov byte [rsp + 0x4d8], sil
add r11, r15
test sil, sil
mov esi, 0x4764996c
je 0x140233dc6
mov r10d, edx
mov dl, byte [rsp + 0x4d8]
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 0x140233d86
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 0x140233de0
test r8d, r8d
mov r11d, dword [rbx + 0x20]
jne 0x140233d44
mov rax, qword [rax]
jmp 0x140233cac
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 0x140233e81
lea rax, [rbx + rcx]
cmp r9, rax
jae 0x140233e81
mov edi, 0x1c9ad098
mov r11d, edi
mov dword [rsp + 0x40], edi
jmp 0x140233e32
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 0x140233e19
add r9, r15
mov al, byte [r9]
test al, al
je 0x140233e6b
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 0x140233e43
mov dword [rsp + 0x40], r11d
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
jmp 0x140233dd8
mov qword [rsp + 0x1b8], r12
movabs rax, 0x5edb3058ed56614a
mov qword [rsp + 0x1b8], rax
movabs rcx, 0xcc5ad49713d5ffa
add rcx, qword [rsp + 0x1b8]
movabs rax, 0x854b4fedad9d0341
xor rcx, rax
sub rcx, qword [0x14033d050]
sub rcx, qword [0x14033d058]
movabs rax, 0xed45970ec46b8e2
add rcx, rax
movabs rax, 0x707459aba984437
xor rcx, rax
sub rcx, qword [0x14033d048]
movabs rax, 0x3829ab467749c125
add rcx, rax
mov rdx, qword [0x14033d040]
add rcx, rdx
movabs rax, 0xa56e86583ad67891
xor rcx, rax
movabs rax, 0x2b02fde7c3b77c6d
sub rcx, rax
movabs rax, 0xd1c4c32dd403bb4a
xor rcx, rax
movabs rax, 0xd5ab432b5d9fa208
add rax, rcx
add rdx, rax
not rdx
movabs rcx, 0xec3316b525c4f3d3
mov rax, qword [0x14033d038]
xor rax, rcx
sub rdx, rax
movabs rax, 0x13cce94ada3b0c2c
mov rcx, qword [0x14033d030]
xor rcx, rax
movabs r8, 0x1f4a914992517a81
add r8, rdx
add r8, rcx
movabs rax, 0x9dbf56eb98e8cc44
xor r8, rax
mov qword [rsp + 0x1b8], r8
mov dword [rsp + 0xc8], r12d
mov dword [rsp + 0xc8], 0x7707a8b0
mov eax, dword [rsp + 0xc8]
add eax, 0x7cce026e
xor eax, 0x97c30ed2
sub eax, dword [0x14033d058]
sub eax, dword [0x14033d050]
add eax, 0x7a2406fa
xor eax, 0x16d95f39
sub eax, dword [0x14033d048]
mov rcx, qword [0x14033d040]
add eax, 0xd296eca0
add eax, ecx
xor eax, 0xd5a57f44
add eax, 0x3346f0ae
xor eax, 0x7d0b0d8b
lea edx, [rcx + 0x5c5ff405]
add edx, eax
not edx
mov eax, dword [0x14033d038]
xor eax, 0xbdf3365d
sub edx, eax
mov eax, dword [0x14033d030]
xor eax, 0x420cc9a2
add eax, 0x98c23edc
add edx, eax
xor edx, 0xaff36bda
mov dword [rsp + 0xc8], edx
mov rcx, qword [rsp + 0x4d0]
call r9
nop
mov dword [rsp + 0xc8], r12d
mov qword [rsp + 0x1b8], r12
mov qword [rsp + 0x1c0], r12
movabs rax, 0xd73b8dcb66b0618c
mov qword [rsp + 0x1c0], rax
mov qword [rsp + 0x1c8], r12
movabs rax, 0x91421ca23846ff31
mov qword [rsp + 0x1c8], rax
movabs rcx, 0xf33a52b6a63284c3
add rcx, qword [rsp + 0x1c8]
movabs rax, 0xaa153662530a3837
xor rcx, rax
sub rcx, qword [0x14033d050]
sub rcx, qword [0x14033d058]
movabs rax, 0x4edf047f5b58268d
sub rcx, rax
movabs rax, 0xf8f8cd97d0cf4ada
xor rcx, rax
sub rcx, qword [0x14033d048]
movabs rax, 0x27d654b8b9e6fdb6
add rcx, rax
mov rdi, qword [0x14033d040]
add rcx, rdi
movabs rax, 0x5a9179a7aa6eda9a
xor rcx, rax
movabs rax, 0x5f627dc6dcf402e7
sub rcx, rax
movabs rax, 0xb83b3cd20e1f813c
xor rcx, rax
movabs rdx, 0x7483ce44251d3142
add rdx, rcx
add rdx, rdi
not rdx
mov r10, qword [0x14033d038]
mov rax, r10
movabs rcx, 0x13cce94ada98c867
xor rax, rcx
sub rdx, rax
mov r11, qword [0x14033d030]
mov rcx, r11
movabs rax, 0xec3316b525673798
xor rcx, rax
movabs rax, 0xe0b56d901b39da3c
add rdx, rax
add rdx, rcx
movabs rax, 0x6432cab22361e28
xor rdx, rax
mov qword [rsp + 0x1c8], rdx
movabs rcx, 0xf33a52b605698f43
add rcx, qword [rsp + 0x1c0]
movabs rax, 0xb49536625309976e
xor rcx, rax
sub rcx, qword [0x14033d050]
sub rcx, qword [0x14033d058]
movabs rax, 0x3120fb80a68a3453
add rcx, rax
movabs rax, 0xf8f8cd98741b6430
xor rcx, rax
sub rcx, qword [0x14033d048]
movabs rax, 0x67d654b99427c6f6
add rcx, rax
add rcx, rdi
movabs rax, 0x5a9179a861d412a0
xor rcx, rax
movabs rax, 0x5f627dc6cdefd02d
sub rcx, rax
movabs rax, 0x643b3cd25e890243
xor rcx, rax
movabs rax, 0xf483ce44c180a80b
add rcx, rax
add rcx, rdi
not rcx
movabs rax, 0x13cce94ad815a491
xor r10, rax
sub rcx, r10
movabs rax, 0xec3316b527ea5b6e
xor r11, rax
movabs rax, 0xe0b56d8db590a8e6
add rcx, rax
add rcx, r11
movabs rax, 0x16a379580e56414e
xor rcx, rax
mov qword [rsp + 0x1c0], rcx
and rcx, rdx
mov rbx, qword [rsp + 0x60]
mov qword [rsp + 0x40], rbx
cmp rbx, rcx
setne al
mov qword [rsp + 0x1c8], r12
mov qword [rsp + 0x1c0], r12
test al, al
jne 0x140234309
mov dword [rsp + 0xcc], r12d
mov dword [rsp + 0xcc], 0xad469bd1
mov eax, dword [rsp + 0xcc]
add eax, 0x477e8af5
xor eax, 0x2049d983
sub eax, dword [0x14033d058]
sub eax, dword [0x14033d050]
sub eax, 0x1a3c0a9f
xor eax, 0x30fe1490
sub eax, dword [0x14033d048]
mov rcx, qword [0x14033d040]
add eax, 0xda744b4c
add eax, ecx
xor eax, 0x1674238a
add eax, 0x429dd0ae
xor eax, 0xd37c73c3
lea edx, [rcx + 0x413a3f3a]
add edx, eax
not edx
mov eax, dword [0x14033d038]
xor eax, 0xd91df87f
sub edx, eax
mov ecx, dword [0x14033d030]
xor ecx, 0x26e20780
add ecx, 0x9eed231a
add ecx, edx
xor ecx, 0x9ae5b880
mov dword [rsp + 0xcc], ecx
mov dword [rsp + 0xcc], r12d
jmp 0x1402345b4
mov edi, r12d
mov dword [rsp + 0x40], 0x31dcd69e
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 0x140234381
psrldq xmm0, 8
movq r9, xmm0
movzx ecx, cx
shr rcx, 1
lea r11, [r9 + rcx*2]
mov r10d, 0xda142658
jmp 0x140234373
movsx edx, byte [r9]
mov r8d, edx
imul r8d, edx
add r8d, 0x31
xor r8d, esi
mov ecx, r10d
xor ecx, edx
mov r10d, r8d
imul r10d, ecx
add r9, 2
cmp r9, r11
jne 0x140234351
cmp r10d, edi
jne 0x14023444d
mov r11, qword [rax + 0x30]
movsxd rcx, dword [r11 + 0x3c]
mov rcx, qword [rcx + r11 + 0x88]
mov ebx, ecx
add rbx, r11
shr rcx, 0x20
cmp rbx, r11
je 0x14023444d
mov r8d, dword [rbx + 0x18]
test r8d, r8d
je 0x14023444d
mov r10d, dword [rbx + 0x20]
mov r9d, dword [rsp + 0x40]
dec r8d
mov dword [rsp + 0x30], r8d
mov edx, r8d
mov qword [rsp + 0x48], rdx
lea rdx, [r11 + r8*4]
mov r10d, dword [rdx + r10]
add r10, r11
mov edx, 0xda142658
mov r8b, byte [r10]
mov byte [rsp + 0x4d8], r8b
add r10, r15
test r8b, r8b
mov r8d, dword [rsp + 0x30]
je 0x14023443b
mov r11d, edx
mov dl, byte [rsp + 0x4d8]
movsx r8d, dl
mov r9d, r8d
imul r9d, r8d
add r9d, 0x31
xor r9d, esi
mov edx, r11d
xor edx, r8d
mov r11d, r9d
imul r11d, edx
mov dl, byte [r10]
add r10, r15
test dl, dl
jne 0x1402343fb
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 0x140234455
test r8d, r8d
mov r10d, dword [rbx + 0x20]
jne 0x1402343b9
mov rax, qword [rax]
jmp 0x140234325
mov edx, dword [rbx + 0x1c]
add rdx, r11
mov eax, dword [rbx + 0x24]
add rax, r11
mov r8, qword [rsp + 0x48]
movzx eax, word [rax + r8*2]
mov r10d, dword [rdx + rax*4]
add r10, r11
cmp r10, rbx
jbe 0x1402344f6
lea rax, [rbx + rcx]
cmp r10, rax
jae 0x1402344f6
mov edi, 0xda142658
mov r11d, edi
mov dword [rsp + 0x40], edi
jmp 0x1402344a7
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 r10, r15
mov al, byte [r10]
cmp al, 0x2e
jne 0x14023448e
add r10, r15
mov al, byte [r10]
test al, al
je 0x1402344e0
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 0x1402344b8
mov dword [rsp + 0x40], r11d
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
jmp 0x14023444d
mov dword [rsp + 0xd0], r12d
mov dword [rsp + 0xd0], 0x4855f688
mov eax, dword [rsp + 0xd0]
add eax, 0x463c61f5
xor eax, 0xf749d840
sub eax, dword [0x14033d058]
sub eax, dword [0x14033d050]
sub eax, 0x1a384424
xor eax, 0x32454634
sub eax, dword [0x14033d048]
mov rcx, qword [0x14033d040]
add eax, 0x5c2999f4
add eax, ecx
xor eax, 0x17e39a4e
add eax, 0x4194300a
xor eax, 0x1c1d9254
lea edx, [rcx + 0x4273991b]
add edx, eax
not edx
mov eax, dword [0x14033d038]
xor eax, 0xd918efdb
sub edx, eax
mov ecx, dword [0x14033d030]
xor ecx, 0x26e71024
add ecx, 0x99e13676
add ecx, edx
xor ecx, 0x71c6acc
mov dword [rsp + 0xd0], ecx
movsxd rdx, ecx
mov rbx, qword [rsp + 0x60]
mov qword [rsp + 0x40], rbx
mov r9, rbx
mov r8, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x4d0]
call r10
nop
mov dword [rsp + 0xd0], r12d
mov dword [rsp + 0xd4], r12d
mov dword [rsp + 0xd4], 0xf5ee43f8
mov eax, dword [rsp + 0xd4]
add eax, 0x7265516e
xor eax, 0xe6c30469
sub eax, dword [0x14033d058]
sub eax, dword [0x14033d050]
add eax, 0x7a43410d
xor eax, 0x216bb2fd
sub eax, dword [0x14033d048]
mov rcx, qword [0x14033d040]
add eax, 0x60b808e4
add eax, ecx
xor eax, 0xe184e928
add eax, 0x348f576a
xor eax, 0xa3fb950
lea edx, [rcx + 0x667fc82e]
add edx, eax
not edx
mov eax, dword [0x14033d038]
xor eax, 0xbdc99399
sub edx, eax
mov ecx, dword [0x14033d030]
xor ecx, 0x42366c66
add ecx, 0x6f33a098
add ecx, edx
xor ecx, 0x3cdb5af6
mov dword [rsp + 0xd4], ecx
mov rax, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x4d0]
mov byte [rax + rdx], cl
mov dword [rsp + 0xd4], r12d
mov qword [rsp + 0x1d0], r12
movabs rax, 0xd73b8dcb66b0618c
mov qword [rsp + 0x1d0], rax
mov qword [rsp + 0x1d8], r12
movabs rax, 0x91421ca23846ff31
mov qword [rsp + 0x1d8], rax
movabs rcx, 0xf33a52b6a63284c3
add rcx, qword [rsp + 0x1d8]
movabs rax, 0xaa153662530a3837
xor rcx, rax
sub rcx, qword [0x14033d050]
sub rcx, qword [0x14033d058]
movabs rax, 0x4edf047f5b58268d
sub rcx, rax
movabs rax, 0xf8f8cd97d0cf4ada
xor rcx, rax
sub rcx, qword [0x14033d048]
movabs rax, 0x27d654b8b9e6fdb6
add rcx, rax
mov rsi, qword [0x14033d040]
add rcx, rsi
movabs rax, 0x5a9179a7aa6eda9a
xor rcx, rax
movabs rax, 0x5f627dc6dcf402e7
sub rcx, rax
movabs rax, 0xb83b3cd20e1f813c
xor rcx, rax
movabs rdx, 0x7483ce44251d3142
add rdx, rcx
add rdx, rsi
not rdx
mov r10, qword [0x14033d038]
mov rax, r10
movabs rcx, 0x13cce94ada98c867
xor rax, rcx
sub rdx, rax
mov r11, qword [0x14033d030]
mov rcx, r11
movabs rax, 0xec3316b525673798
xor rcx, rax
movabs rax, 0xe0b56d901b39da3c
add rdx, rax
add rdx, rcx
movabs rax, 0x6432cab22361e28
xor rdx, rax
mov qword [rsp + 0x1d8], rdx
movabs rcx, 0xf33a52b605698f43
add rcx, qword [rsp + 0x1d0]
movabs rax, 0xb49536625309976e
xor rcx, rax
sub rcx, qword [0x14033d050]
sub rcx, qword [0x14033d058]
movabs rax, 0x3120fb80a68a3453
add rcx, rax
movabs rax, 0xf8f8cd98741b6430
xor rcx, rax
sub rcx, qword [0x14033d048]
movabs rax, 0x67d654b99427c6f6
add rcx, rax
add rcx, rsi
movabs rax, 0x5a9179a861d412a0
xor rcx, rax
movabs rax, 0x5f627dc6cdefd02d
sub rcx, rax
movabs rax, 0x643b3cd25e890243
xor rcx, rax
movabs rax, 0xf483ce44c180a80b
add rcx, rax
add rcx, rsi
not rcx
movabs rax, 0x13cce94ad815a491
xor r10, rax
sub rcx, r10
movabs rax, 0xec3316b527ea5b6e
xor r11, rax
movabs rax, 0xe0b56d8db590a8e6
add rcx, rax
add rcx, r11
movabs rax, 0x16a379580e56414e
xor rcx, rax
mov qword [rsp + 0x1d0], rcx
and rcx, rdx
cmp rbx, rcx
setne al
mov qword [rsp + 0x1d8], r12
mov qword [rsp + 0x1d0], r12
test al, al
je 0x140234b22
mov edi, r12d
mov dword [rsp + 0x40], 0x11423282
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov r14d, 8
movups xmm0, xmmword [rax + 0x58]
movd ecx, xmm0
sub cx, r14w
test edi, edi
je 0x140234901
psrldq xmm0, 8
movq r8, xmm0
movzx ecx, cx
shr rcx, 1
lea r10, [r8 + rcx*2]
mov r9d, 0x306d4da6
jmp 0x1402348f3
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 0x1402348d3
cmp r9d, edi
jne 0x1402349b7
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 0x1402349b7
mov esi, dword [rbx + 0x18]
test esi, esi
je 0x1402349b7
mov r9d, dword [rbx + 0x20]
mov r8d, dword [rsp + 0x40]
dec esi
mov edx, esi
mov qword [rsp + 0x38], rdx
lea rdx, [r9 + rsi*4]
mov r11d, dword [rdx + r10]
add r11, r10
mov edx, 0x306d4da6
mov r9b, byte [r11]
mov byte [rsp + 0x4d8], r9b
add r11, r15
test r9b, r9b
mov r9d, 0x4764996c
je 0x1402349aa
mov r10d, edx
mov dl, byte [rsp + 0x4d8]
movsx r8d, dl
mov edx, r8d
imul edx, r8d
add edx, 0x31
xor edx, r9d
xor r8d, r10d
mov r10d, edx
imul r10d, r8d
mov dl, byte [r11]
add r11, r15
test dl, dl
jne 0x140234973
mov dword [rsp + 0x30], r10d
mov r10, qword [rax + 0x30]
mov edx, dword [rsp + 0x30]
mov r8d, dword [rsp + 0x40]
cmp edx, r8d
je 0x1402349bf
test esi, esi
mov r9d, dword [rbx + 0x20]
jne 0x140234937
mov rax, qword [rax]
jmp 0x1402348a7
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 0x140234a66
lea rax, [rbx + rcx]
cmp r8, rax
jae 0x140234a66
mov eax, 0x306d4da6
mov edi, eax
mov r10d, eax
mov dword [rsp + 0x40], eax
jmp 0x140234a16
movsx ecx, al
mov eax, ecx
imul eax, ecx
add eax, 0x31
xor eax, r9d
xor ecx, edi
mov edi, eax
imul edi, ecx
add r8, r15
mov al, byte [r8]
cmp al, 0x2e
jne 0x1402349fe
add r8, r15
mov al, byte [r8]
test al, al
je 0x140234a50
movsx ecx, al
mov edx, ecx
imul edx, ecx
add edx, 0x31
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 0x140234a27
mov dword [rsp + 0x40], r10d
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
jmp 0x1402349b7
mov rcx, qword [rsp + 0x60]
call r8
mov dword [rsp + 0xd8], r12d
mov dword [rsp + 0xd8], 0xa0e7975a
mov eax, dword [rsp + 0xd8]
add eax, 0x2ccf9074
xor eax, 0x25c8bed4
sub eax, dword [0x14033d058]
sub eax, dword [0x14033d050]
add eax, 0x69140250
xor eax, 0x5017cafb
sub eax, dword [0x14033d048]
mov rcx, qword [0x14033d040]
add eax, 0x1a2cd057
add eax, ecx
xor eax, 0x58e3b945
sub eax, 0x5f7b74d
xor eax, 0x34dcc67b
lea edx, [rcx - 0x2bd18f1f]
add edx, eax
not edx
mov eax, dword [0x14033d038]
xor eax, 0xd4b33c95
sub edx, eax
mov ecx, dword [0x14033d030]
xor ecx, 0x2b4cc36a
add ecx, 0x4f8885ab
add ecx, edx
xor ecx, 0x9c9894b2
mov dword [rsp + 0xd8], ecx
movsxd rbx, ecx
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x60], rbx
mov dword [rsp + 0xd8], r12d
movabs r14, 0xaaaaaaaaaaaaaaab
movabs rax, 0x341ad163d1f6c5aa
mov qword [rsp + 0x4d8], rax
movabs rsi, 0x13dbc77816216ad7
mov qword [rsp + 0x30], r12
movabs rax, 0xe64946e7ef83ddba
movabs r11, 0xa73f4c244a346e6f
mov rcx, qword [0x14033d070]
imul rcx, rax
not rcx
shr rcx, 8
movabs rdx, 0x58c0b3db93832e00
mov rax, qword [0x14033d060]
xor rax, rdx
shr rax, 8
and rcx, rax
mov qword [rsp + 0x38], rcx
movabs rax, 0xd216b512d5efa08
mov r9, qword [0x14033d080]
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 0x140234bff
sub ecx, r15d
or ecx, 0xffffffc0
add ecx, r15d
mov rdx, r9
ror rdx, cl
not rdx
movabs rcx, 0x6a4426300a44982c
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, 0x341ad163d1f6c5aa
xor r10, rax
mov cl, r8b
xor cl, 0xf8
and cl, 0xf
rol r10, cl
mov rax, r8
sub rax, qword [0x14033d078]
xor r10, rax
movabs rax, 0x1834b7246c4a04f4
imul rdx, rax
movabs rax, 0x6b322e49ac04c091
sub rdx, rax
xor r10, rdx
xor r10, r11
mov rax, r10
and eax, 3
je 0x140234f52
sub rax, 1
je 0x140234e58
sub rax, 1
je 0x140234d8d
cmp rax, 1
jne 0x140234fe4
mov rcx, r8
imul rcx, r9
movabs rax, 0xe9f9e12a0a7445df
add rax, r10
xor rcx, rax
ror rcx, 0x38
shr rcx, 0xc
not rcx
mov qword [rsp + 0x4d8], rcx
movabs rdx, 0x83570e65b4e4
add rdx, qword [0x14033d088]
movabs rax, 0xeca6bdffaca0014f
xor rdx, rax
movzx eax, r10b
movzx ecx, cl
imul ecx, eax
and cl, 0x3f
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xf7ca7db95685581f
sub rax, r9
mov r9, rdx
xor r9, rax
mov rcx, r9
imul rcx, rsi
mov eax, 0x875e8af5
add rcx, rax
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov cl, byte [r13 + rcx*8]
and cl, 0xf
movabs rsi, 0x765210082fb17c70
sub rsi, qword [rsp + 0x4d8]
shr rsi, cl
movabs rax, 0xec2c5d105fb98f63
mov rcx, qword [rsp + 0x48]
add rcx, rax
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, r10
imul rax, qword [r13 + rcx*8]
imul rax, r10
sub rax, qword [rsp + 0x38]
xor rsi, rax
jmp 0x140234fe4
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 0x140234fe4
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 [0x14033d070]
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 0x140234fe4
mov rcx, r10
imul rcx, qword [0x14033d080]
and rcx, qword [0x14033d088]
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 [0x14033d060], 0xffffffffd9b74094
mov rdx, qword [0x14033d068]
sub rcx, rdx
mov qword [rsp + 0x38], rcx
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, edi
jge 0x140234fc5
sub ecx, r15d
or ecx, 0xffffffc0
add ecx, r15d
mov rax, qword [rsp + 0x38]
ror rax, cl
movabs rcx, 0xec243887e9de9529
add rax, rcx
add rax, qword [rsp + 0x48]
mov qword [rsp + 0x38], rax
movabs rax, 0xff055d7ba7315ac7
mov rcx, qword [rsp + 0x4d8]
xor rcx, rax
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
xor r11, qword [rsp + 0x30]
imul r11, qword [r13 + rcx*8]
not r8
imul r8, r10
imul r8, qword [rsp + 0x38]
imul r8, rsi
movabs rcx, 0xf5ed7e87a082101b
xor rcx, r9
not rcx
xor rcx, r8
sub rcx, r11
call fcn.1401b7108
mov qword [0x14034b9a0], rax
mov dword [rsp + 0xdc], r12d
mov dword [rsp + 0xdc], 0xfc986375
mov eax, dword [rsp + 0xdc]
add eax, 0x60c81378
xor eax, 0xa8ccf2cc
sub eax, dword [0x14033d058]
sub eax, dword [0x14033d050]
add eax, 0x5c7818c7
xor eax, 0xb4f65eb
sub eax, dword [0x14033d048]
mov rcx, qword [0x14033d040]
add eax, 0xe5a0fa80
add eax, ecx
xor eax, 0x8d9c43d5
sub eax, 0x7d13258
xor eax, 0x2bee535
mov edx, dword [0x14033d030]
xor edx, 0x1a7ce15e
sub edx, eax
mov eax, dword [0x14033d038]
xor eax, 0xe5831ea1
sub edx, eax
sub edx, ecx
add edx, 0x52987255
xor edx, 0xb40cc01e
mov dword [rsp + 0xdc], edx
movsxd rax, edx
mov qword [rsp + 0x30], rax
mov dword [rsp + 0xdc], r12d
cmp rax, qword [rsp + 0x50]
jae 0x140235925
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 [0x14033d070]
imul rcx, rax
not rcx
movabs rdx, 0x13d8a57bc57680b4
mov rax, qword [0x14033d060]
xor rax, rdx
and rcx, rax
ror rcx, 0x21
shr rcx, 8
mov qword [rsp + 0x48], rcx
movabs rax, 0x7915736eb21c2070
mov r9, qword [0x14033d068]
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 0x1402351d0
sub ecx, r15d
or ecx, 0xffffffc0
add ecx, r15d
mov rax, r9
ror rax, cl
not rax
movabs rdx, 0x9fee238d2de61fa0
mov rcx, rax
imul rcx, rdx
mov qword [rsp + 0x58], rcx
lea r11, [rcx + r8]
mov r8, r9
mov rdx, qword [rsp + 0x48]
imul r8, rdx
sub r8, r11
movabs rcx, 0x1ae7dd924893442d
xor r8, rcx
movzx ecx, r11b
mov dword [rsp + 0x4d8], ecx
and ecx, 0xf
and ecx, edi
jge 0x14023522a
sub ecx, r15d
or ecx, 0xffffffc0
add ecx, r15d
rol r8, cl
movabs rcx, 0xcbf3f8f785dcaac0
imul rax, rcx
movabs rcx, 0xe5f70b95fd5c53c
add rax, rcx
xor r8, rax
mov rax, r11
sub rax, qword [0x14033d078]
xor r8, rax
movabs rcx, 0x13d8a57bd80df0cc
xor r8, rcx
mov rax, r8
and eax, 2
je 0x14023556b
sub rax, 1
je 0x14023545a
sub rax, 1
je 0x140235387
cmp rax, 1
jne 0x1402355ec
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 [0x14033d088]
add rdx, rcx
movabs rax, 0x1d1fe8f8b2cc05ee
xor rdx, rax
movzx eax, r8b
movzx ecx, dil
imul ecx, eax
and cl, 0x3f
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xf7ca7db919d65be7
sub rax, r9
mov r9, rdx
xor r9, rax
mov rcx, r9
movabs rax, 0xe262927f471e6d8e
imul rcx, rax
mov eax, 0xc80d890d
add rcx, rax
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov cl, byte [r13 + rcx*8]
and cl, 0xf
movabs rsi, 0x84794f48ff53e179
sub rsi, rdi
shr rsi, cl
movabs rax, 0x1da59208f36b8c34
mov rcx, qword [rsp + 0x58]
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 0x1402355f1
movabs rcx, 0xaaaaaa1ac8147433
mov r9, r8
xor r9, rcx
movabs rcx, 0x1206ed0a19a87f
imul r9, rcx
movabs rdx, 0xffff7e8aee0446ef
mov rcx, qword [rsp + 0x58]
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 0x1402355f1
movabs rax, 0xa80cf00a34870f44
imul r8, rax
movabs rax, 0xd79435e50d79435f
mul r8
shr rdx, 4
movzx eax, dl
imul edx, eax, 0x13
mov cl, r8b
sub cl, dl
movabs r10, 0xe518226db76cbbd2
shl r10, cl
movabs rax, 0x13d8a57bd80df0cc
xor r10, rax
mov eax, dword [rsp + 0x4d8]
and eax, edi
jge 0x1402354b2
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 [0x14033d070]
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 0x1402355ec
mov r10, r8
imul r10, qword [0x14033d080]
and r10, qword [0x14033d070]
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 [0x14033d060], 0x1d7b7078
sub rdx, qword [0x14033d068]
not al
movzx ecx, al
movzx eax, byte [0x14033d068]
xor ecx, eax
and ecx, edi
jge 0x1402355d2
sub ecx, r15d
or ecx, 0xffffffc0
add ecx, r15d
ror rdx, cl
movabs rax, 0x1d9d6d80b8e19272
add rax, rdx
add rax, qword [rsp + 0x58]
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.1401b83bc
mov qword [0x14034b9c8], rax
mov dword [rsp + 0xe0], r12d
mov dword [rsp + 0xe0], 0xfa954a1c
mov dword [rsp + 0xe4], r12d
mov dword [rsp + 0xe4], 0x32e75db5
mov eax, dword [rsp + 0xe4]
add eax, 0x5abea66d
xor eax, 0x3bc1ecc3
mov r11, qword [0x14033d058]
sub eax, r11d
mov r9, qword [0x14033d050]
sub eax, r9d
add eax, 0x7d8a350e
xor eax, 0x3d70f8aa
mov r8, qword [0x14033d048]
sub eax, r8d
mov rsi, qword [0x14033d040]
add eax, 0x5c52c603
add eax, esi
xor eax, 0x207f0435
add eax, 0x6e42d3fe
xor eax, 0xee1bcc06
lea ecx, [rsi + 0x7680e482]
add ecx, eax
not ecx
mov r10, qword [0x14033d038]
mov eax, r10d
xor eax, 0xb96af8ed
sub ecx, eax
mov rdx, qword [0x14033d030]
mov edi, edx
xor edi, 0x46950712
add edi, 0xbfc9168
add edi, ecx
xor edi, 0xa644fbaa
mov dword [rsp + 0xe4], edi
mov eax, dword [rsp + 0xe0]
add eax, 0x6b0c
xor eax, 0x60e96e
sub eax, r11d
sub eax, r9d
sub eax, 0x5f6bcd9d
xor eax, 0x1c3c85d1
sub eax, r8d
add eax, 0xe4895baa
add eax, esi
xor eax, 0xcaa258c8
add eax, 0x60c29b0b
xor eax, 0xf683045a
lea ecx, [rsi + 0x2a27d0c9]
add ecx, eax
not ecx
xor r10d, 0x355da727
sub ecx, r10d
xor edx, 0xcaa258d8
lea eax, [rdx + 0x3d34129e]
add eax, ecx
xor eax, 0xc52870e8
mov dword [rsp + 0xe0], eax
movsxd r8, eax
mov r11, qword [rsp + 0x30]
xor r8, r11
add rdi, r11
imul r8, rdi
mov dword [rsp + 0xfc], r12d
mov dword [rsp + 0xfc], 0x16ae43d5
mov eax, dword [rsp + 0xfc]
add eax, 0x57b8df6e
xor eax, 0x74c2e9bd
sub eax, dword [0x14033d058]
sub eax, dword [0x14033d050]
add eax, 0x7a934663
xor eax, 0x3c82d6c5
sub eax, dword [0x14033d048]
mov rcx, qword [0x14033d040]
add eax, 0x84ed1da3
add eax, ecx
xor eax, 0xfff19b30
add eax, 0x2a6f7532
xor eax, 0xa796c7b4
lea edx, [rcx - 0x7f8e7cf0]
add edx, eax
not edx
mov eax, dword [0x14033d038]
xor eax, 0xbd5ee1d1
sub edx, eax
mov ecx, dword [0x14033d030]
xor ecx, 0x42a11e2e
add ecx, 0x4192650
add ecx, edx
xor ecx, 0xbf4118e
mov dword [rsp + 0xfc], ecx
movsxd rax, ecx
mov rcx, r11
sub rcx, rax
mov rax, qword [rsp + 0x4d0]
xor byte [rcx + rax], r8b
mov dword [rsp + 0xfc], r12d
mov dword [rsp + 0xe4], r12d
mov dword [rsp + 0xe0], r12d
mov dword [rsp + 0xec], r12d
mov dword [rsp + 0xec], 0xf2028139
mov eax, dword [rsp + 0xec]
add eax, 0x459735fe
xor eax, 0xcb52d79b
sub eax, dword [0x14033d058]
sub eax, dword [0x14033d050]
sub eax, 0x353654a0
xor eax, 0xeed06db
sub eax, dword [0x14033d048]
mov rcx, qword [0x14033d040]
add eax, 0x2589cf22
add eax, ecx
xor eax, 0xd4a00074
add eax, 0x652e5944
xor eax, 0xfc282d79
mov edx, dword [0x14033d030]
xor edx, 0x2e9a4d4
sub edx, eax
mov eax, dword [0x14033d038]
xor eax, 0xfd165b2b
sub edx, eax
sub edx, ecx
add edx, 0x7933b98b
xor edx, 0x390e0b9c
mov dword [rsp + 0xec], edx
movsxd rax, edx
add r11, rax
mov qword [rsp + 0x30], r11
mov dword [rsp + 0xec], r12d
cmp r11, rbx
mov edi, 0x8000003f
movabs rax, 0x13d8a57bd80df0cc
movabs rcx, 0x1ae7dd924893442d
movabs rdx, 0xe262927f471e6d8e
movabs r8, 0x1d9d6d80b8e19272
jb 0x140235120
mov rbx, qword [rsp + 0x40]
mov dword [rsp + 0xf0], r12d
mov dword [rsp + 0xf0], 0x153927e0
mov eax, dword [rsp + 0xf0]
add eax, 0x8dcb4bfe
xor eax, 0xe1531fcf
sub eax, dword [0x14033d058]
sub eax, dword [0x14033d050]
sub eax, 0x360ef0e2
xor eax, 0xc5982083
sub eax, dword [0x14033d048]
mov rcx, qword [0x14033d040]
add eax, 0xc3871b45
add eax, ecx
xor eax, 0x8244975c
add eax, 0x79db2e6c
xor eax, 0x280be0d8
mov edx, dword [0x14033d030]
xor edx, 0x1c8d47c
sub edx, eax
mov eax, dword [0x14033d038]
xor eax, 0xfe372b83
sub edx, eax
sub edx, ecx
sub edx, 0x1ede74b6
xor edx, 0x54198f74
mov dword [rsp + 0xf0], edx
movsxd rax, edx
mov qword [rsp + 0x4d0], rax
mov dword [rsp + 0xf0], r12d
mov qword [rsp + 0x1e0], r12
movabs rax, 0xd73b8dcb66b0618c
mov qword [rsp + 0x1e0], rax
mov qword [rsp + 0x1e8], r12
movabs rax, 0x91421ca23846ff31
mov qword [rsp + 0x1e8], rax
movabs rcx, 0xf33a52b6a63284c3
add rcx, qword [rsp + 0x1e8]
movabs rax, 0xaa153662530a3837
xor rcx, rax
sub rcx, qword [0x14033d050]
sub rcx, qword [0x14033d058]
movabs rax, 0x4edf047f5b58268d
sub rcx, rax
movabs rax, 0xf8f8cd97d0cf4ada
xor rcx, rax
sub rcx, qword [0x14033d048]
movabs rax, 0x27d654b8b9e6fdb6
add rcx, rax
mov rsi, qword [0x14033d040]
add rcx, rsi
movabs rax, 0x5a9179a7aa6eda9a
xor rcx, rax
movabs rax, 0x5f627dc6dcf402e7
sub rcx, rax
movabs rax, 0xb83b3cd20e1f813c
xor rcx, rax
movabs rdx, 0x7483ce44251d3142
add rdx, rcx
add rdx, rsi
not rdx
mov r10, qword [0x14033d038]
mov rax, r10
movabs rcx, 0x13cce94ada98c867
xor rax, rcx
sub rdx, rax
mov r11, qword [0x14033d030]
mov rcx, r11
movabs rax, 0xec3316b525673798
xor rcx, rax
movabs rax, 0xe0b56d901b39da3c
add rdx, rax
add rdx, rcx
movabs rax, 0x6432cab22361e28
xor rdx, rax
mov qword [rsp + 0x1e8], rdx
movabs rcx, 0xf33a52b605698f43
add rcx, qword [rsp + 0x1e0]
movabs rax, 0xb49536625309976e
xor rcx, rax
sub rcx, qword [0x14033d050]
sub rcx, qword [0x14033d058]
movabs rax, 0x3120fb80a68a3453
add rcx, rax
movabs rax, 0xf8f8cd98741b6430
xor rcx, rax
sub rcx, qword [0x14033d048]
movabs rax, 0x67d654b99427c6f6
add rcx, rax
add rcx, rsi
movabs rax, 0x5a9179a861d412a0
xor rcx, rax
movabs rax, 0x5f627dc6cdefd02d
sub rcx, rax
movabs rax, 0x643b3cd25e890243
xor rcx, rax
movabs rax, 0xf483ce44c180a80b
add rcx, rax
add rcx, rsi
not rcx
movabs rax, 0x13cce94ad815a491
xor r10, rax
sub rcx, r10
movabs rax, 0xec3316b527ea5b6e
xor r11, rax
movabs rax, 0xe0b56d8db590a8e6
add rcx, rax
add rcx, r11
movabs rax, 0x16a379580e56414e
xor rcx, rax
mov qword [rsp + 0x1e0], rcx
and rcx, rdx
cmp rbx, rcx
setne al
mov qword [rsp + 0x1e8], r12
mov qword [rsp + 0x1e0], r12
test al, al
je 0x140235e37
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 0x140235c57
psrldq xmm0, 8
movq r8, xmm0
movzx ecx, cx
shr rcx, 1
lea r10, [r8 + rcx*2]
mov r9d, 0x306d4da6
jmp 0x140235c49
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 0x140235c29
cmp r9d, edi
jne 0x140235d82
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 0x140235d82
mov esi, dword [rbx + 0x18]
test esi, esi
je 0x140235d82
mov r8d, dword [rbx + 0x20]
dec esi
lea rdx, [r9 + rsi*4]
mov r11d, dword [rdx + r8]
add r11, r9
mov r14d, 0x306d4da6
mov dl, byte [r11]
add r11, r15
mov r10d, 0x4764996c
test dl, dl
je 0x140235cd4
movsx r8d, dl
mov edx, r8d
imul edx, r8d
add edx, 0x31
xor edx, r10d
xor r8d, r14d
mov r14d, edx
imul r14d, r8d
mov dl, byte [r11]
add r11, r15
test dl, dl
jne 0x140235cab
mov r8d, dword [rbx + 0x20]
cmp r14d, dword [rsp + 0x78]
je 0x140235ce4
test esi, esi
jne 0x140235c88
jmp 0x140235d82
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 0x140235d8a
lea rax, [rbx + rcx]
cmp r8, rax
jae 0x140235d8a
mov eax, 0x306d4da6
mov edi, eax
mov r9d, eax
mov dword [rsp + 0x78], eax
jmp 0x140235d37
movsx ecx, al
mov edx, ecx
imul edx, ecx
add edx, 0x31
xor edx, r10d
mov eax, edi
xor eax, ecx
mov edi, edx
imul edi, eax
add r8, r15
mov al, byte [r8]
cmp al, 0x2e
jne 0x140235d1d
add r8, r15
mov al, byte [r8]
test al, al
je 0x140235d71
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]
test al, al
jne 0x140235d48
mov dword [rsp + 0x78], r9d
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
jmp 0x140235bfd
mov rcx, qword [rsp + 0x60]
call r8
mov dword [rsp + 0xf4], r12d
mov dword [rsp + 0xf4], 0xa0e7975a
mov eax, dword [rsp + 0xf4]
add eax, 0x2ccf9074
xor eax, 0x25c8bed4
sub eax, dword [0x14033d058]
sub eax, dword [0x14033d050]
add eax, 0x69140250
xor eax, 0x5017cafb
sub eax, dword [0x14033d048]
mov rcx, qword [0x14033d040]
add eax, 0x1a2cd057
add eax, ecx
xor eax, 0x58e3b945
sub eax, 0x5f7b74d
xor eax, 0x34dcc67b
lea edx, [rcx - 0x2bd18f1f]
add edx, eax
not edx
mov eax, dword [0x14033d038]
xor eax, 0xd4b33c95
sub edx, eax
mov ecx, dword [0x14033d030]
xor ecx, 0x2b4cc36a
add ecx, 0x4f8885ab
add ecx, edx
xor ecx, 0x9c9894b2
mov dword [rsp + 0xf4], ecx
movsxd rax, ecx
mov qword [rsp + 0x60], rax
mov dword [rsp + 0xf4], r12d
lea rcx, [rsp + 0x408]
call fcn.140052edc
mov rax, qword [rsp + 0x4d0]
add rsp, 0x490
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
mov qword [rsp + 0x1f0], r12
movabs rax, 0xd73b8dcb66b0618c
mov qword [rsp + 0x1f0], rax
mov qword [rsp + 0x1f8], r12
movabs rax, 0x91421ca23846ff31
mov qword [rsp + 0x1f8], rax
movabs rcx, 0xf33a52b6a63284c3
add rcx, qword [rsp + 0x1f8]
movabs rax, 0xaa153662530a3837
xor rcx, rax
sub rcx, qword [0x14033d050]
sub rcx, qword [0x14033d058]
movabs rax, 0x4edf047f5b58268d
sub rcx, rax
movabs rax, 0xf8f8cd97d0cf4ada
xor rcx, rax
sub rcx, qword [0x14033d048]
movabs rax, 0x27d654b8b9e6fdb6
add rcx, rax
mov rsi, qword [0x14033d040]
add rcx, rsi
movabs rax, 0x5a9179a7aa6eda9a
xor rcx, rax
movabs rax, 0x5f627dc6dcf402e7
sub rcx, rax
movabs rax, 0xb83b3cd20e1f813c
xor rcx, rax
movabs rdx, 0x7483ce44251d3142
add rdx, rcx
add rdx, rsi
not rdx
mov r10, qword [0x14033d038]
mov rax, r10
movabs rcx, 0x13cce94ada98c867
xor rax, rcx
sub rdx, rax
mov r11, qword [0x14033d030]
mov rcx, r11
movabs rax, 0xec3316b525673798
xor rcx, rax
movabs rax, 0xe0b56d901b39da3c
add rdx, rax
add rdx, rcx
movabs rax, 0x6432cab22361e28
xor rdx, rax
mov qword [rsp + 0x1f8], rdx
movabs rcx, 0xf33a52b605698f43
add rcx, qword [rsp + 0x1f0]
movabs rax, 0xb49536625309976e
xor rcx, rax
sub rcx, qword [0x14033d050]
sub rcx, qword [0x14033d058]
movabs rax, 0x3120fb80a68a3453
add rcx, rax
movabs rax, 0xf8f8cd98741b6430
xor rcx, rax
sub rcx, qword [0x14033d048]
movabs rax, 0x67d654b99427c6f6
add rcx, rax
add rcx, rsi
movabs rax, 0x5a9179a861d412a0
xor rcx, rax
movabs rax, 0x5f627dc6cdefd02d
sub rcx, rax
movabs rax, 0x643b3cd25e890243
xor rcx, rax
movabs rax, 0xf483ce44c180a80b
add rcx, rax
add rcx, rsi
not rcx
movabs rax, 0x13cce94ad815a491
xor r10, rax
sub rcx, r10
movabs rax, 0xec3316b527ea5b6e
xor r11, rax
movabs rax, 0xe0b56d8db590a8e6
add rcx, rax
add rcx, r11
movabs rax, 0x16a379580e56414e
xor rcx, rax
mov qword [rsp + 0x1f0], rcx
and rcx, rdx
cmp rbx, rcx
setne al
mov qword [rsp + 0x1f8], r12
mov qword [rsp + 0x1f0], r12
test al, al
je 0x14023630f
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 0x1402360fc
psrldq xmm0, 8
movq r9, xmm0
movzx ecx, cx
shr rcx, 1
lea r11, [r9 + rcx*2]
mov r10d, 0x306d4da6
jmp 0x1402360ee
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 0x1402360c9
cmp r10d, esi
jne 0x140236253
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 0x140236253
mov r8d, dword [rdi + 0x18]
test r8d, r8d
je 0x140236253
mov r9d, dword [rdi + 0x20]
dec r8d
mov dword [rsp + 0x4d8], r8d
mov edx, r8d
mov qword [rsp + 0x50], rdx
lea rdx, [r11 + r8*4]
mov ebx, dword [rdx + r9]
add rbx, r11
mov edx, 0x306d4da6
mov r9b, byte [rbx]
add rbx, r15
mov r10d, 0x4764996c
test r9b, r9b
je 0x1402361a4
mov r11d, edx
movsx r8d, r9b
mov r9d, r8d
imul r9d, r8d
add r9d, r14d
xor r9d, r10d
mov edx, r11d
xor edx, r8d
mov r11d, r9d
imul r11d, edx
mov r9b, byte [rbx]
add rbx, r15
test r9b, r9b
jne 0x140236166
mov dword [rsp + 0x40], r11d
mov r11, qword [rax + 0x30]
mov r8d, dword [rsp + 0x4d8]
mov edx, dword [rsp + 0x40]
cmp edx, dword [rsp + 0x78]
je 0x1402361bc
test r8d, r8d
mov r9d, dword [rdi + 0x20]
jne 0x14023612f
jmp 0x140236253
mov edx, dword [rdi + 0x1c]
add rdx, r11
mov eax, dword [rdi + 0x24]
add rax, r11
mov r8, qword [rsp + 0x50]
movzx eax, word [rax + r8*2]
mov r8d, dword [rdx + rax*4]
add r8, r11
cmp r8, rdi
jbe 0x14023625b
lea rax, [rcx + rdi]
cmp r8, rax
jae 0x14023625b
mov eax, 0x306d4da6
mov esi, eax
mov edx, eax
mov dword [rsp + 0x78], eax
jmp 0x14023620e
movsx ecx, al
mov eax, ecx
imul eax, ecx
add eax, r14d
xor eax, r10d
xor ecx, esi
mov esi, eax
imul esi, ecx
add r8, r15
mov al, byte [r8]
cmp al, 0x2e
jne 0x1402361f6
add r8, r15
mov al, byte [r8]
test al, al
je 0x140236242
movsx ecx, al
mov eax, ecx
imul eax, ecx
add eax, r14d
xor eax, r10d
xor ecx, edx
mov edx, eax
imul edx, ecx
add r8, r15
mov al, byte [r8]
test al, al
jne 0x14023621f
mov dword [rsp + 0x78], edx
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
jmp 0x14023609d
mov rcx, qword [rsp + 0x60]
call r8
mov dword [rsp + 0xf8], r12d
mov dword [rsp + 0xf8], 0xa0e7975a
mov eax, dword [rsp + 0xf8]
add eax, 0x2ccf9074
xor eax, 0x25c8bed4
sub eax, dword [0x14033d058]
sub eax, dword [0x14033d050]
add eax, 0x69140250
xor eax, 0x5017cafb
sub eax, dword [0x14033d048]
mov rcx, qword [0x14033d040]
add eax, 0x1a2cd057
add eax, ecx
xor eax, 0x58e3b945
sub eax, 0x5f7b74d
xor eax, 0x34dcc67b
lea edx, [rcx - 0x2bd18f1f]
add edx, eax
not edx
mov eax, dword [0x14033d038]
xor eax, 0xd4b33c95
sub edx, eax
mov ecx, dword [0x14033d030]
xor ecx, 0x2b4cc36a
add ecx, 0x4f8885ab
add ecx, edx
xor ecx, 0x9c9894b2
mov dword [rsp + 0xf8], ecx
movsxd rax, ecx
mov qword [rsp + 0x60], rax
mov dword [rsp + 0xf8], r12d
lea r13, [0x14033d060]
lea rcx, [rsp + 0x408]
call fcn.140052edc
mov edi, r12d
mov esi, 0xf835b8e
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 0x14023638f
psrldq xmm0, 8
movq r8, xmm0
movzx ecx, cx
shr rcx, 1
lea r10, [r8 + rcx*2]
mov r9d, 0x9709a662
jmp 0x140236381
movsx edx, byte [r8]
mov ecx, edx
imul ecx, edx
add ecx, r14d
xor ecx, 0x4764996c
xor edx, r9d
mov r9d, ecx
imul r9d, edx
add r8, 2
cmp r8, r10
jne 0x140236361
cmp r9d, edi
jne 0x14023644d
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 0x14023644d
mov r8d, dword [rbx + 0x18]
test r8d, r8d
je 0x14023644d
mov r9d, dword [rbx + 0x20]
dec r8d
mov dword [rsp + 0x40], r8d
mov edx, r8d
mov qword [rsp + 0x50], rdx
lea rdx, [r9 + r8*4]
mov r11d, dword [rdx + r10]
add r11, r10
mov edx, 0x9709a662
mov r9b, byte [r11]
mov byte [rsp + 0x4d8], r9b
add r11, r15
test r9b, r9b
mov r9d, 0x4764996c
je 0x14023643c
mov r10d, edx
mov dl, byte [rsp + 0x4d8]
movsx r8d, dl
mov edx, r8d
imul edx, r8d
add edx, r14d
xor edx, r9d
xor r8d, r10d
mov r10d, edx
imul r10d, r8d
mov dl, byte [r11]
add r11, r15
test dl, dl
jne 0x140236405
mov dword [rsp + 0x30], r10d
mov r10, qword [rax + 0x30]
mov r8d, dword [rsp + 0x40]
mov edx, dword [rsp + 0x30]
cmp edx, esi
je 0x140236455
test r8d, r8d
mov r9d, dword [rbx + 0x20]
jne 0x1402363c2
mov rax, qword [rax]
jmp 0x140236335
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 0x1402364df
lea rax, [rbx + rcx]
cmp r8, rax
jae 0x1402364df
mov edi, 0x9709a662
mov esi, edi
jmp 0x1402364a1
movsx ecx, al
mov eax, ecx
imul eax, ecx
add eax, r14d
xor eax, r9d
xor ecx, edi
mov edi, eax
imul edi, ecx
add r8, r15
mov al, byte [r8]
cmp al, 0x2e
jne 0x140236489
jmp 0x1402364bf
movsx ecx, al
mov eax, ecx
imul eax, ecx
add eax, r14d
xor eax, r9d
xor ecx, esi
mov esi, eax
imul esi, ecx
add r8, r15
mov al, byte [r8]
test al, al
jne 0x1402364aa
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
jmp 0x14023644d
mov dword [rsp + 0x10c], r12d
mov dword [rsp + 0x10c], 0x64ba121b
mov eax, dword [rsp + 0x10c]
add eax, 0x1ed5d7e
xor eax, 0xf2d293f1
sub eax, dword [0x14033d058]
sub eax, dword [0x14033d050]
add eax, 0x4b94a8e9
xor eax, 0x53a586bd
sub eax, dword [0x14033d048]
mov rcx, qword [0x14033d040]
add eax, 0x4162dc84
add eax, ecx
xor eax, 0x21cdbb66
add eax, 0x538342c6
xor eax, 0xe1ff3708
mov edx, dword [0x14033d030]
xor edx, 0x3f84c36
sub edx, eax
mov eax, dword [0x14033d038]
xor eax, 0xfc07b3c9
sub edx, eax
sub edx, ecx
sub edx, 0x589243ec
xor edx, 0xf8b79866
mov dword [rsp + 0x10c], edx
movsxd rcx, edx
call r8
mov qword [rsp + 0x200], rax
mov dword [rsp + 0x10c], r12d
movabs rbx, 0xf246a4dd780818fc
mov qword [rsp + 0x50], rbx
movabs rdi, 0x24f3731df9fdd7ef
mov rsi, r12
movabs rax, 0xe75b040c1c4ba358
movabs r11, 0xcb5093e947a5164a
mov rcx, qword [0x14033d070]
imul rcx, rax
not rcx
movabs r8, 0x34af6c16c574e844
mov rax, qword [0x14033d060]
xor rax, r8
and rcx, rax
ror rcx, 0x22
shr rcx, 8
mov qword [rsp + 0x60], rcx
movabs rax, 0xcde6ab43a6275ae8
mov r10, qword [0x14033d070]
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 0x140236661
sub ecx, r15d
or ecx, 0xffffffc0
add ecx, r15d
mov rdx, r10
ror rdx, cl
not rdx
mov qword [rsp + 0x40], rdx
movabs r8, 0x159c8a67d8ea40c
mov rcx, rdx
imul rcx, r8
mov qword [rsp + 0x30], rcx
lea r8, [rcx + r9]
mov r9, r10
mov rdx, qword [rsp + 0x60]
imul r9, rdx
sub r9, r8
xor r9, rbx
movzx ecx, r8b
mov dword [rsp + 0x4d8], ecx
xor ecx, 2
and ecx, 0xf
and ecx, eax
jge 0x1402366b9
sub ecx, r15d
or ecx, 0xffffffc0
add ecx, r15d
rol r9, cl
mov rax, r8
sub rax, qword [0x14033d078]
xor r9, rax
movabs rcx, 0x9b3df3c5cfcd3b34
mov rax, qword [rsp + 0x40]
imul rax, rcx
movabs rcx, 0x30a290168d76aedf
add rax, rcx
xor r9, rax
xor r9, r11
mov rax, r9
xor rax, 0xfffffffffffffffe
and eax, 3
je 0x1402369cb
sub rax, 1
je 0x1402368d0
sub rax, 1
mov bl, 0x3f
je 0x140236807
cmp rax, 1
jne 0x140236a55
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 [0x14033d088]
movabs rax, 0x2471f6658bccd7ad
xor rdx, rax
movzx eax, r9b
movzx ecx, cl
imul ecx, eax
and cl, bl
ror rdx, cl
shl rdx, 0xf
movabs rax, 0x83582469e3533c5
sub rax, r10
mov r10, rdx
xor r10, rax
mov rcx, r10
imul rcx, rdi
mov eax, 0xb0111ed1
sub rcx, rax
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov cl, byte [r13 + rcx*8]
and cl, 0xf
movabs rdi, 0x21a32237374f2828
sub rdi, qword [rsp + 0x50]
shr rdi, cl
movabs rax, 0xdb046859c36cb9f5
mov rcx, qword [rsp + 0x30]
add rcx, rax
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, r9
imul rax, qword [r13 + rcx*8]
imul rax, r9
sub rax, qword [rsp + 0x60]
xor rdi, rax
jmp 0x140236a55
movabs rcx, 0x555555e54ff71c11
mov r10, r9
xor r10, rcx
movabs rcx, 0xffedf9128dfac05d
imul r10, rcx
movabs rdx, 0x817569e72ecd
mov rcx, qword [rsp + 0x30]
imul rcx, rdx
movabs rdx, 0x88970defddfb1643
add r10, rdx
add r10, rcx
movabs rax, 0xd88328419d27cb71
mov rcx, r10
xor rcx, rax
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r8, r10
not r8
imul r8, qword [r13 + rcx*8]
xor r8, 0x1aa2cac1
lea ecx, [r9 + 0x13]
and cl, bl
rol r8, cl
movabs rax, 0x84802060000000
imul r8, rax
mov rdx, r8
ror rdx, 0x30
not rdx
movabs rax, 0x1934865352cb4956
imul rdx, rax
sub rdx, r8
add rdx, r10
shl rdx, 2
mov cl, byte [rsp + 0x60]
and cl, bl
ror rdx, cl
mov rax, rdi
mov rdi, rdx
imul rdi, rax
jmp 0x140236a55
movabs rax, 0xa19f15c9e28500d9
imul r9, rax
movabs rax, 0xd79435e50d79435f
mul r9
shr rdx, 4
movzx eax, dl
imul edx, eax, 0x13
mov cl, r9b
sub cl, dl
movabs rdx, 0xdb95b2287f7e703
shl rdx, cl
mov rax, r11
mov r11, rdx
xor r11, rax
mov eax, dword [rsp + 0x4d8]
and eax, 0x8000003f
jge 0x140236927
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 [0x14033d070]
imul rdi, rbx
sub rdi, r8
mov rax, qword [rsp + 0x60]
sub rax, r11
xor rdi, rax
movabs rax, 0x38583959423b6a31
xor rdi, rax
mov rax, r9
imul rax, r8
imul rax, rdi
mov rsi, r10
sub rsi, rax
movabs rax, 0x78958947296d9d5
sub rsi, rax
xor rsi, qword [rsp + 0x60]
mov al, r10b
shl al, 2
lea ecx, [rax + r10]
shl cl, 2
mov bl, 0x3f
and cl, bl
rol rsi, cl
not rsi
jmp 0x140236a55
mov rcx, r9
imul rcx, qword [0x14033d080]
and rcx, qword [0x14033d070]
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 [0x14033d060], 0xffffffff82d1fe0e
mov rdx, qword [0x14033d068]
sub rbx, rdx
mov al, sil
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, 0x8000003f
jge 0x140236a39
sub ecx, r15d
or ecx, 0xffffffc0
add ecx, r15d
ror rbx, cl
movabs rax, 0xdb0c8ce206022811
add rax, rbx
add rax, qword [rsp + 0x30]
mov qword [rsp + 0x60], rax
mov bl, 0x3f
movabs rax, 0xfaa2846f81311d
mov rcx, qword [rsp + 0x50]
xor rcx, rax
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
xor r11, rsi
imul r11, qword [r13 + rcx*8]
not r8
imul r8, r9
imul r8, qword [rsp + 0x60]
imul r8, rdi
movabs rcx, 0xa12817868327bc1
xor rcx, r10
not rcx
xor rcx, r8
sub rcx, r11
call fcn.1401b7b94
mov qword [0x14034b9b8], rax
mov rax, qword gs:[8]
mov qword [0x14035bbf8], rax
xor eax, eax
mov byte [rsp + 0x4d8], al
lea rcx, [rsp + 0x4d8]
call fcn.140210360
xor eax, eax
mov byte [rsp + 0x4d8], al
lea rcx, [rsp + 0x4d8]
call fcn.140213bf0
nop
jmp 0x140236b11
movabs rax, 0x5bb3fd013cbde527
mov qword [rsp + 0x4d8], rax
movabs r9, 0x760b3bd75fd728bd
mov qword [rsp + 0x4e0], r9
movabs rax, 0xd70c145cb0000000
mov rdi, qword [0x14033d068]
imul rdi, rax
movabs rax, 0xcb883903f0000000
xor rdi, rax
mov rcx, rdi
imul rcx, r9
mov qword [rsp + 0x50], rcx
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r8, rdi
and r8, r9
imul r8, qword [r13 + rcx*8]
movabs rax, 0x811e2d00050431a4
imul r8, rax
shr r8, 3
movabs rax, 0x645b37267d122b75
xor r8, rax
movabs rax, 0xffffff57acefe113
mov rsi, rdi
imul rsi, rax
add rsi, 0x1bac6fbc
xor rsi, r8
xor rsi, qword [0x14033d060]
mov rax, r8
imul rax, qword [0x14033d070]
movabs rcx, 0xb9de928ba55c5e32
imul rax, rcx
not rax
and rsi, rax
ror rsi, 0x3e
shr rsi, 8
movabs r10, 0x89f4c428a028d743
lea rcx, [rdi + r10]
xor rcx, 0xffffffff9bd2553f
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rax, 0xfb0193a6cdbd57e8
mov r11, qword [r13 + rcx*8]
imul r11, rax
add r11, r9
movabs rcx, 0x7bdb9eb5c305172c
mov rax, r8
imul rax, rcx
xor r11, rax
shr r11, 0x1f
not r11
mov rax, r11
xor rax, rdi
mov qword [rsp + 0x60], rax
lea rcx, [r11 + r10]
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, r11b
movzx ecx, byte [r13 + rcx*8]
imul ecx, eax
movzx ecx, cl
xor ecx, 0x23
and ecx, 0x8000003f
jge 0x140236c8c
sub ecx, r15d
or ecx, 0xffffffc0
add ecx, r15d
mov rdx, qword [rsp + 0x60]
ror rdx, cl
not rdx
imul rdx, r8
imul rax, rdx, 0x1bac6fbc
mov qword [rsp + 0x60], rax
add r10, rax
mov r9, r11
imul r9, rsi
sub r9, r10
movabs rax, 0x5bb3fd013cbde527
xor r9, rax
mov cl, r10b
xor cl, 0xfc
and cl, 0xf
rol r9, cl
mov rax, r10
sub rax, qword [0x14033d078]
xor r9, rax
movabs rax, 0x7b026a93faa7ddcc
imul rdx, rax
movabs rax, 0x84cf087b9f19b89
sub rdx, rax
xor r9, rdx
xor r9, r8
xor r9, rdi
mov rax, r9
and rax, r15
je 0x14023706b
sub rax, 1
je 0x140236f27
sub rax, 1
je 0x140236e2b
cmp rax, 1
jne 0x140237113
mov rcx, r10
imul rcx, r11
movabs rax, 0xc1174f081e4cb6f9
add rax, r9
xor rcx, rax
ror rcx, 4
shr rcx, 0xc
xor rcx, rdi
not rcx
mov qword [rsp + 0x4d8], rcx
movabs rdx, 0x835747ad5038
add rdx, qword [0x14033d088]
movabs rax, 0x89764150ac9ea7f1
xor rdx, rax
movzx eax, r9b
movzx ecx, cl
imul ecx, eax
and cl, bl
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xf7ca7db91f4dbccb
sub rax, r11
mov r11, rdx
xor r11, rax
mov rcx, r11
movabs rax, 0x760b3bd75fd728bd
imul rcx, rax
mov eax, 0xce966e21
add rcx, rax
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov cl, byte [r13 + rcx*8]
and cl, 0xf
movabs rax, 0x187d3a8c4109c5c2
sub rax, qword [rsp + 0x4d8]
shr rax, cl
mov qword [rsp + 0x4e0], rax
movabs rcx, 0x89fce8b0dc3af631
add rcx, qword [rsp + 0x60]
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, r9
imul rax, qword [r13 + rcx*8]
imul rax, r9
sub rax, rsi
xor qword [rsp + 0x4e0], rax
jmp 0x140237113
movabs rax, 0xaaaaaa1ace8f931f
mov rcx, r9
xor rcx, rax
movabs rax, 0x1206ed0c824f53
imul rcx, rax
movabs rdx, 0xfff17ca819eda563
mov rax, r8
xor rax, rdx
sub rcx, rax
movabs rax, 0xffff7e8ae89fa1c3
mov rdx, qword [rsp + 0x60]
imul rdx, rax
movabs r11, 0x43e2f6c701b9bccc
add r11, rcx
add r11, rdx
movabs rax, 0x277cd7be1c5f447f
mov rcx, r11
xor rcx, rax
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r10, r11
not r10
imul r10, qword [r13 + rcx*8]
xor r10, 0xffffffff9bda45cf
lea ecx, [r9 + 0x1d]
and cl, bl
rol r10, cl
movabs rcx, 0xdbedc37b0d22b081
mov rax, qword [rsp + 0x50]
xor rax, rcx
movabs rcx, 0x7c7a7dc6f2dd4f7e
and rax, rcx
imul r10, rax
mov rcx, r10
ror rcx, 0x25
not rcx
movabs rax, 0x9b2de6b34ecf1960
imul rcx, rax
mov rax, r11
sub rax, r10
lea rdx, [rcx + rax*4]
mov cl, sil
and cl, bl
ror rdx, cl
movabs rax, 0x760b3bd75fd728bd
imul rdx, rax
mov qword [rsp + 0x4e0], rdx
jmp 0x140237113
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 [0x14033d070]
movabs rax, 0x5bb3fd013cbde527
imul rcx, rax
sub rcx, r10
mov rax, rsi
sub rax, r8
xor rcx, rax
movabs rax, 0xc7a7c6a6c343e53f
xor rcx, rax
mov qword [rsp + 0x4e0], rcx
movabs rax, 0xcccccccccccccccd
mul rdi
shr rdx, 3
lea rax, [rdx + rdx*4]
add rax, rax
mov rcx, rdi
sub rcx, rax
or rcx, r15
xor edx, edx
mov rax, qword [rsp + 0x4e0]
div rcx
mov rcx, rdx
mov rdx, r9
imul rdx, r10
imul rdx, qword [rsp + 0x4e0]
shr rdx, cl
mov rax, r11
sub rax, rdx
sub rax, rdi
movabs rdi, 0x78958940c11a925
add rdi, rax
xor rdi, rsi
movzx eax, r11b
imul ecx, eax, 0x1a
and cl, bl
rol rdi, cl
not rdi
jmp 0x140237113
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 [0x14033d080]
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 [0x14033d060], 0x1bac6fbc
mov rsi, qword [0x14033d068]
sub rdx, rsi
mov al, dil
not al
movzx ecx, al
movzx eax, sil
xor ecx, eax
and ecx, 0x8000003f
jge 0x1402370fe
sub ecx, r15d
or ecx, 0xffffffc0
add ecx, r15d
ror rdx, cl
movabs rsi, 0x89f4c428a028d743
add rsi, rdx
add rsi, qword [rsp + 0x60]
movabs rax, 0xff055d7beef9be13
mov rcx, qword [rsp + 0x4d8]
xor rcx, rax
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
xor r8, rdi
imul r8, qword [r13 + rcx*8]
not r10
imul r10, r9
imul r10, rsi
imul r10, qword [rsp + 0x4e0]
movabs rcx, 0xf5ed7e87e94af4cf
xor rcx, r11
not rcx
xor rcx, r10
sub rcx, r8
call fcn.1401b8428
mov qword [0x14034b9d0], rax
xor eax, eax
mov byte [rsp + 0x4e0], al
lea rcx, [rsp + 0x4e0]
call fcn.140219fa8
lea rax, [rsp + 0x200]
mov qword [rsp + 0x228], rax
lea rcx, [rsp + 0x228]
call fcn.140226064
movabs rdi, 0x6473be87ae4b5f91
movabs rsi, 0x7851dc1ed7a00a4a
movabs rax, 0x63d52549ea000000
mov r8, qword [0x14033d080]
imul r8, rax
movabs rax, 0x23279cfc8b000000
xor r8, rax
mov qword [rsp + 0x4d8], r8
mov rcx, r8
imul rcx, rsi
mov qword [rsp + 0x50], rcx
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r9, r8
and r9, rsi
imul r9, qword [r13 + rcx*8]
movabs rax, 0x26404ce0c3c55df0
imul r9, rax
shr r9, 3
movabs rax, 0xdcd98d1375253a4f
xor r9, rax
movabs rax, 0xa833f08da7
mov rcx, r8
imul rcx, rax
sub rcx, 0x6f779910
xor rcx, r9
xor rcx, qword [0x14033d060]
mov rax, r9
imul rax, qword [0x14033d070]
movabs rdx, 0x46216d743a433286
imul rax, rdx
not rax
and rcx, rax
ror rcx, 0x3d
shr rcx, 8
mov qword [rsp + 0x60], rcx
movabs r10, 0x87ae23e1285ff5b6
lea rcx, [r8 + r10]
xor rcx, 0x4cd398b
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rax, 0x25ecb3fd03254e60
mov r11, qword [r13 + rcx*8]
imul r11, rax
add r11, rsi
movabs rcx, 0xfbadad8f549527a8
mov rax, r9
imul rax, rcx
xor r11, rax
shr r11, 0x1f
not r11
mov rax, r11
xor rax, r8
mov qword [rsp + 0x40], rax
lea rcx, [r11 + r10]
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, r11b
movzx ecx, byte [r13 + rcx*8]
imul ecx, eax
movzx ecx, cl
xor ecx, 0x97
and ecx, 0x8000003f
jge 0x140237329
sub ecx, r15d
or ecx, 0xffffffc0
add ecx, r15d
mov rax, qword [rsp + 0x40]
ror rax, cl
not rax
imul rax, r9
imul rcx, rax, 0xffffffff908866f0
mov qword [rsp + 0x40], rcx
lea r8, [rcx + r10]
mov r10, r11
imul r10, qword [rsp + 0x60]
sub r10, r8
xor r10, rdi
mov cl, r8b
xor cl, 0xf8
and cl, 0xf
rol r10, cl
movabs rcx, 0xdc7f2f5901732160
imul rax, rcx
movabs rcx, 0x33a3cead28e9dd64
sub rax, rcx
xor r10, rax
mov rax, r8
sub rax, qword [0x14033d078]
xor r10, rax
xor r10, r9
mov rdx, qword [rsp + 0x4d8]
xor r10, rdx
mov rax, r10
and eax, 2
je 0x1402376d4
sub rax, 1
je 0x14023759f
sub rax, 1
je 0x1402374ae
cmp rax, 1
jne 0x140237798
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 [0x14033d088]
add rdx, rcx
movabs rax, 0x78d35966bbf6e9b2
xor rdx, rax
movzx eax, r10b
movzx ecx, dil
imul ecx, eax
and cl, bl
ror rdx, cl
shl rdx, 0xf
movabs rax, 0x83582468052d07f
sub rax, r11
mov r11, rdx
xor r11, rax
mov rcx, r11
imul rcx, rsi
mov eax, 0xae76fd6b
sub rcx, rax
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov cl, byte [r13 + rcx*8]
and cl, 0xf
movabs rsi, 0xa809431b194888e5
sub rsi, rdi
shr rsi, cl
movabs rax, 0x87a5ff58cb6d6810
mov rcx, qword [rsp + 0x40]
add rcx, rax
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, r10
imul rax, qword [r13 + rcx*8]
imul rax, r10
sub rax, qword [rsp + 0x60]
xor rsi, rax
jmp 0x140237798
movabs rax, 0x555555e55190ffab
mov rcx, r10
xor rcx, rax
movabs rax, 0xffedf912939d23e7
imul rcx, rax
movabs rdx, 0xe835786f2c9d7
mov rax, r9
xor rax, rdx
sub rcx, rax
movabs rax, 0x81757780cd77
mov rdx, qword [rsp + 0x40]
imul rdx, rax
movabs r11, 0xedb349d488dec311
add r11, rcx
add r11, rdx
movabs rax, 0xd8832841834028cb
mov rcx, r11
xor rcx, rax
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r8, r11
not r8
imul r8, qword [r13 + rcx*8]
xor r8, 0x4c5297b
lea ecx, [r10 - 0x17]
and cl, bl
rol r8, cl
movabs rcx, 0x204800940000000
mov rax, qword [rsp + 0x50]
xor rax, rcx
movabs rcx, 0x838582396dc223ca
and rax, rcx
imul r8, rax
mov rdx, r8
ror rdx, 0x27
not rdx
movabs rax, 0x193486534cacaaec
imul rdx, rax
sub rdx, r8
add rdx, r11
shl rdx, 2
mov cl, byte [rsp + 0x60]
and cl, bl
ror rdx, cl
mov rax, rsi
mov rsi, rdx
imul rsi, rax
jmp 0x140237798
movabs rax, 0x1fda0c43142ffbfc
imul r10, rax
movabs rax, 0xd79435e50d79435f
mul r10
shr rdx, 4
movzx eax, dl
imul edx, eax, 0x13
mov cl, r10b
sub cl, dl
movabs rdx, 0x87ae23e1285ff5b5
mov rax, qword [rsp + 0x4d8]
imul rax, rdx
xor rax, rdi
not rax
shl rax, cl
xor r9, rax
mov cl, r8b
and cl, bl
rol r9, cl
movabs rcx, 0x87ae23e1285ff5b6
add rcx, r10
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, qword [r13 + rcx*8]
imul rax, rsi
xor r9, rax
movabs rax, 0x38580d548986
or r9, rax
mov rsi, qword [0x14033d070]
imul rsi, rdi
sub rsi, r8
mov rax, qword [rsp + 0x60]
sub rax, r9
xor rsi, rax
movabs rax, 0x385839595c5c898b
xor rsi, rax
movabs rax, 0xcccccccccccccccd
mov rcx, qword [rsp + 0x4d8]
mul rcx
shr rdx, 3
lea rax, [rdx + rdx*4]
add rax, rax
sub rcx, rax
or rcx, r15
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov rdx, r10
imul rdx, r8
imul rdx, rsi
shr rdx, cl
mov rax, r11
sub rax, rdx
sub rax, qword [rsp + 0x4d8]
movabs rcx, 0x78958946cf13a6f
mov rdx, rax
sub rdx, rcx
xor rdx, qword [rsp + 0x60]
movzx eax, r11b
imul ecx, eax, 0xee
and cl, bl
rol rdx, cl
not rdx
mov qword [rsp + 0x4d8], rdx
jmp 0x140237798
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 [0x14033d080]
mov rdx, qword [r13 + rcx*8]
and rdx, rax
xor rdx, r9
and r9b, bl
mov cl, r9b
mov r9, rdx
ror r9, cl
imul r9, r8
mov rcx, qword [rsp + 0x60]
not rcx
imul rcx, r11
movabs rax, 0x8327582181add86a
imul rcx, rax
mov rax, r9
imul rax, qword [rsp + 0x4d8]
xor rcx, rax
mov qword [rsp + 0x4d8], rcx
imul rax, qword [0x14033d060], 0xffffffff908866f0
mov rdx, qword [0x14033d068]
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 0x140237779
sub ecx, r15d
or ecx, 0xffffffc0
add ecx, r15d
mov rax, qword [rsp + 0x50]
ror rax, cl
movabs rcx, 0x87ae23e1285ff5b6
add rax, rcx
add rax, qword [rsp + 0x40]
mov qword [rsp + 0x60], rax
movabs rax, 0xfaa28471e6d2a7
xor rdi, rax
mov rax, r14
mul rdi
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rdi, rax
xor r9, qword [rsp + 0x4d8]
imul r9, qword [r13 + rdi*8]
not r8
imul r8, r10
imul r8, qword [rsp + 0x60]
imul r8, rsi
movabs rcx, 0xa1281787655987b
xor rcx, r11
not rcx
xor rcx, r8
sub rcx, r9
call fcn.1401b7bdc
mov qword [0x14034b9b0], rax
mov r10d, r12d
mov dword [rsp + 0x4d8], r12d
mov dword [rsp + 0x40], 0x3dedeae2
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 0x140237885
psrldq xmm0, 8
movq r9, xmm0
movzx ecx, cx
shr rcx, 1
lea rdi, [r9 + rcx*2]
mov r11d, 0x49f43a66
jmp 0x140237877
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 0x140237851
cmp r11d, r10d
jne 0x14023793f
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 0x140237937
mov r8d, dword [rsi + 0x18]
test r8d, r8d
je 0x140237937
mov r9d, dword [rsi + 0x20]
dec r8d
mov dword [rsp + 0x30], r8d
mov edx, r8d
mov qword [rsp + 0x50], rdx
lea rdx, [r9 + r8*4]
mov edi, dword [rdx + r10]
add rdi, r10
mov edx, 0x49f43a66
mov r9b, byte [rdi]
add rdi, r15
mov r11d, 0x4764996c
test r9b, r9b
je 0x140237928
mov r10d, edx
movsx r8d, r9b
mov r9d, r8d
imul r9d, r8d
add r9d, 0x31
xor r9d, r11d
mov edx, r10d
xor edx, r8d
mov r10d, r9d
imul r10d, edx
mov r9b, byte [rdi]
add rdi, r15
test r9b, r9b
jne 0x1402378ec
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 0x140237947
test r8d, r8d
mov r9d, dword [rsi + 0x20]
jne 0x1402378b8
mov r10d, dword [rsp + 0x4d8]
mov rax, qword [rax]
jmp 0x140237824
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 0x140237a03
lea rax, [rsi + rcx]
cmp r9, rax
jae 0x140237a03
mov r10d, 0x49f43a66
mov dword [rsp + 0x4d8], r10d
mov edx, r10d
mov dword [rsp + 0x40], edx
mov al, byte [r9]
cmp al, 0x2e
je 0x1402379c0
movsx ecx, al
mov eax, ecx
imul eax, ecx
add eax, 0x31
xor eax, r11d
xor ecx, r10d
mov r10d, eax
imul r10d, ecx
add r9, r15
mov al, byte [r9]
cmp al, 0x2e
jne 0x140237996
mov dword [rsp + 0x4d8], r10d
add r9, r15
mov al, byte [r9]
test al, al
je 0x1402379ed
movsx ecx, al
mov eax, ecx
imul eax, ecx
add eax, 0x31
xor eax, r11d
xor ecx, edx
mov edx, eax
imul edx, ecx
add r9, r15
mov al, byte [r9]
test al, al
jne 0x1402379ca
mov dword [rsp + 0x40], edx
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
jmp 0x14023793f
mov qword [rsp + 0x230], r12
movabs rax, 0x5c697ef257af572c
mov qword [rsp + 0x230], rax
movabs rcx, 0xf33a52b826b14943
add rcx, qword [rsp + 0x230]
movabs rax, 0x6e953662530bb8b5
xor rcx, rax
sub rcx, qword [0x14033d050]
sub rcx, qword [0x14033d058]
movabs rax, 0x3120fb80a0265d25
add rcx, rax
movabs rax, 0xf8f8cd964a4e8b48
xor rcx, rax
sub rcx, qword [0x14033d048]
movabs rax, 0x67d654b6affae9fb
add rcx, rax
mov rdx, qword [0x14033d040]
add rcx, rdx
movabs rax, 0x5a9179a5f3de4278
xor rcx, rax
movabs rax, 0x5f627dc46d965ac5
sub rcx, rax
movabs rax, 0x943b3cd14dd41b06
xor rcx, rax
movabs rax, 0xf483ce42af21e421
add rax, rcx
add rdx, rax
not rdx
movabs rcx, 0x13cce94ae09ac379
mov rax, qword [0x14033d038]
xor rax, rcx
sub rdx, rax
movabs rax, 0xec3316b51f653c86
mov rcx, qword [0x14033d030]
xor rcx, rax
movabs r8, 0xe0b56d962336ef4e
add r8, rdx
add r8, rcx
movabs rax, 0x17009f1d9c8fad56
xor r8, rax
mov qword [rsp + 0x230], r8
mov rdx, qword [rsp + 0x200]
mov rcx, qword [rsp + 0x4d0]
call r9
nop
mov qword [rsp + 0x230], r12
movabs rdi, 0xd8b5eff1634fbfb1
mov rsi, r12
movabs rax, 0x8930724ccd44aff0
movabs r11, 0x2552b3b6667608f4
mov rcx, qword [0x14033d070]
imul rcx, rax
not rcx
movabs r8, 0x2552b3b67256922a
mov rax, qword [0x14033d060]
xor rax, r8
and rcx, rax
ror rcx, 0x2c
shr rcx, 8
mov qword [rsp + 0x4d8], rcx
movabs rax, 0xda54af3cbaccbec8
mov r10, qword [0x14033d060]
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 0x140237bfd
sub ecx, r15d
or ecx, 0xffffffc0
add ecx, r15d
mov rax, r10
ror rax, cl
not rax
mov qword [rsp + 0x50], rax
movabs rcx, 0xd4a199440a3e8b98
imul rax, rcx
mov qword [rsp + 0x60], rax
add r8, rax
mov r9, r10
mov rdx, qword [rsp + 0x4d8]
imul r9, rdx
sub r9, r8
movabs rax, 0x59bf00c327bb5c2
xor r9, rax
movzx ecx, r8b
mov dword [rsp + 0x4d0], ecx
xor ecx, 2
and ecx, 0xf
jge 0x140237c5c
sub ecx, r15d
or ecx, 0xffffffc0
add ecx, r15d
rol r9, cl
mov rax, r8
sub rax, qword [0x14033d078]
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 0x140237f80
sub rax, 1
je 0x140237e74
sub rax, 1
je 0x140237da8
cmp rax, 1
jne 0x14023800b
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 [0x14033d088]
add rdx, rcx
movabs rax, 0x27c895768adc6963
xor rdx, rax
movzx eax, r15b
movzx ecx, r9b
imul ecx, eax
and cl, bl
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xf7ca7db90597e555
sub rax, r10
mov r10, rdx
xor r10, rax
mov rcx, r10
imul rcx, rdi
mov eax, 0xd44c37bf
add rcx, rax
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov cl, byte [r13 + rcx*8]
and cl, 0xf
movabs rdi, 0xf63588b4c2d0bca2
sub rdi, r15
shr rdi, cl
movabs rax, 0x27523496c37887c3
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, r9
imul rax, qword [r13 + rcx*8]
imul rax, r9
sub rax, qword [rsp + 0x4d8]
xor rdi, rax
jmp 0x140238015
movabs rcx, 0xaaaaaa1ad455ca81
mov r10, r9
xor r10, rcx
movabs rcx, 0x1206ed165816cd
imul r10, rcx
movabs rcx, 0xffff7e8af245f85d
mov rdx, qword [rsp + 0x60]
imul rdx, rcx
movabs rcx, 0x453b11683aa2e907
add r10, rcx
add r10, rdx
movabs rax, 0x277cd7be06851de1
mov rcx, r10
xor rcx, rax
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r8, r10
not r8
imul r8, qword [r13 + rcx*8]
xor r8, 0xffffffff81001c51
lea ecx, [r9 + 3]
and cl, bl
rol r8, cl
movabs rax, 0x78300946a0000000
imul r8, rax
mov rcx, r8
ror rcx, 0x1e
not rcx
movabs rax, 0x9b2de6b325a67f18
imul rcx, rax
mov rax, r10
sub rax, r8
lea rdx, [rcx + rax*4]
mov cl, byte [rsp + 0x4d8]
and cl, bl
ror rdx, cl
mov rax, rdi
mov rdi, rdx
imul rdi, rax
jmp 0x14023800b
movabs rax, 0x7d62e758151c41b7
imul r9, rax
movabs rax, 0xd79435e50d79435f
mul r9
shr rdx, 4
movzx eax, dl
imul edx, eax, 0x13
mov cl, r9b
sub cl, dl
movabs rdx, 0xfa640ff3cd844a3d
shl rdx, cl
mov rax, r11
mov r11, rdx
xor r11, rax
mov eax, dword [rsp + 0x4d0]
and eax, 0x8000003f
jge 0x140237ecb
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 [0x14033d070]
movabs r15, 0x59bf00c327bb5c2
imul rdi, r15
sub rdi, r8
mov rax, qword [rsp + 0x4d8]
sub rax, r11
xor rdi, rax
movabs rax, 0xc7a7c6a6d999bca1
xor rdi, rax
mov rax, r9
imul rax, r8
imul rax, rdi
mov rsi, r10
sub rsi, rax
movabs rax, 0x789589416cbf0bb
add rsi, rax
xor rsi, qword [rsp + 0x4d8]
mov cl, r10b
shl cl, 2
and cl, bl
rol rsi, cl
not rsi
jmp 0x140238015
mov rcx, r9
imul rcx, qword [0x14033d080]
and rcx, qword [0x14033d080]
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 [0x14033d060], 0x14209ade
mov rdx, qword [0x14033d068]
sub rbx, rdx
mov al, sil
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, 0x8000003f
jge 0x140237fee
sub ecx, r15d
or ecx, 0xffffffc0
add ecx, r15d
ror rbx, cl
movabs rax, 0x274a100e9cb0404f
add rax, rbx
add rax, qword [rsp + 0x60]
mov qword [rsp + 0x4d8], rax
movabs r15, 0x59bf00c327bb5c2
movabs rax, 0xff055d7bf423e78d
xor r15, rax
mov rax, r14
mul r15
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub r15, rax
xor r11, rsi
imul r11, qword [r13 + r15*8]
not r8
imul r8, r9
imul r8, qword [rsp + 0x4d8]
imul r8, rdi
movabs rcx, 0xf5ed7e87f390ad51
xor rcx, r10
not rcx
xor rcx, r8
sub rcx, r11
call fcn.1401b8404
mov qword [0x14034b9b0], rax
mov dword [rsp + 0x104], r12d
mov dword [rsp + 0x104], 0xd4843e6
mov eax, dword [rsp + 0x104]
add eax, 0xa8313ffe
xor eax, 0xd5533a35
sub eax, dword [0x14033d058]
sub eax, dword [0x14033d050]
sub eax, 0x365e22be
xor eax, 0xaac894b3
sub eax, dword [0x14033d048]
mov rcx, qword [0x14033d040]
add eax, 0x9fb1b68f
add eax, ecx
xor eax, 0x64284d0c
sub eax, 0x7e9c63e4
xor eax, 0x7ad813a9
mov edx, dword [0x14033d030]
xor edx, 0x15f3cac
sub edx, eax
mov eax, dword [0x14033d038]
xor eax, 0xfea0c353
sub edx, eax
sub edx, ecx
add edx, 0x65105cee
xor edx, 0x9097afc4
mov dword [rsp + 0x104], edx
movsxd rax, edx
mov dword [rsp + 0x104], r12d
jmp 0x140235e4c