Function at 0x140019490
Capabilities:
Inspect section memory permissions

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x598
mov rbx, r8
mov r8, qword [rdx]
test r8, r8
je 0x14001a838
mov rdi, rcx
mov rcx, qword [rdx + 8]
test rcx, rcx
je 0x14001a838
mov rax, qword [rdx + 0x10]
test rax, rax
je 0x14001a838
mov r9, r8
add r9, rax
jb 0x14001a838
cmp r8, rcx
jb 0x14001a838
movsx rsi, word [rdx + 0x18]
dec r9
je 0x1400194f8
bsr r9, r9
xor r9, 0x3f
jmp 0x1400194fe
mov r9d, 0x40
movzx edx, byte [rdx + 0x1a]
mov byte [rsp + 0x27], dl
mov rdx, rsi
sub rdx, r9
imul rdx, rdx, 0x4d104d42
movabs r15, 0x1344135080
add r15, rdx
shr r15, 0x20
xor edx, edx
xor r9d, r9d
mov r10, r8
shr r10, 0x20
cmove r10d, edx
setne r9b
inc r9
mov qword [rsp + 0xe0], r9
mov dword [rsp + 0x40], r8d
mov dword [rsp + 0x44], r10d
pxor xmm0, xmm0
movdqu xmmword [rsp + 0x48], xmm0
movdqu xmmword [rsp + 0x58], xmm0
movdqu xmmword [rsp + 0x68], xmm0
movdqu xmmword [rsp + 0x78], xmm0
movdqu xmmword [rsp + 0x88], xmm0
movdqu xmmword [rsp + 0x98], xmm0
movdqu xmmword [rsp + 0xa8], xmm0
movdqu xmmword [rsp + 0xb8], xmm0
movdqu xmmword [rsp + 0xc8], xmm0
mov qword [rsp + 0xd8], 0
xor r8d, r8d
mov r9, rcx
shr r9, 0x20
cmove r9d, edx
setne r8b
inc r8
mov qword [rsp + 0x2f0], r8
mov dword [rsp + 0x250], ecx
mov dword [rsp + 0x254], r9d
movdqu xmmword [rsp + 0x258], xmm0
movdqu xmmword [rsp + 0x268], xmm0
movdqu xmmword [rsp + 0x278], xmm0
movdqu xmmword [rsp + 0x288], xmm0
movdqu xmmword [rsp + 0x298], xmm0
movdqu xmmword [rsp + 0x2a8], xmm0
movdqu xmmword [rsp + 0x2b8], xmm0
movdqu xmmword [rsp + 0x2c8], xmm0
movdqu xmmword [rsp + 0x2d8], xmm0
mov qword [rsp + 0x2e8], 0
xor ecx, ecx
mov r8, rax
shr r8, 0x20
cmove r8d, edx
setne cl
inc rcx
mov qword [rsp + 0x1a0], rcx
mov dword [rsp + 0x100], eax
mov dword [rsp + 0x104], r8d
movdqu xmmword [rsp + 0x108], xmm0
movdqu xmmword [rsp + 0x118], xmm0
movdqu xmmword [rsp + 0x128], xmm0
movdqu xmmword [rsp + 0x138], xmm0
movdqu xmmword [rsp + 0x148], xmm0
movdqu xmmword [rsp + 0x158], xmm0
movdqu xmmword [rsp + 0x168], xmm0
movdqu xmmword [rsp + 0x178], xmm0
movdqu xmmword [rsp + 0x188], xmm0
mov qword [rsp + 0x198], 0
movdqu xmmword [rsp + 0x238], xmm0
movdqu xmmword [rsp + 0x22c], xmm0
movdqu xmmword [rsp + 0x21c], xmm0
movdqu xmmword [rsp + 0x20c], xmm0
movdqu xmmword [rsp + 0x1fc], xmm0
movdqu xmmword [rsp + 0x1ec], xmm0
movdqu xmmword [rsp + 0x1dc], xmm0
movdqu xmmword [rsp + 0x1cc], xmm0
movdqu xmmword [rsp + 0x1bc], xmm0
movdqu xmmword [rsp + 0x1ac], xmm0
mov qword [rsp + 0x248], 1
mov dword [rsp + 0x1a8], 1
test si, si
js 0x140019776
lea rcx, [rsp + 0x40]
mov rdx, rsi
call fcn.140019340
lea rcx, [rsp + 0x250]
mov rdx, rsi
call fcn.140019340
lea rcx, [rsp + 0x100]
mov rdx, rsi
call fcn.140019340
test r15w, r15w
mov qword [rsp + 0xf0], rbx
js 0x140019797
mov edx, r15d
and edx, 0x7fff
lea rcx, [rsp + 0x1a8]
jmp 0x1400197c7
neg esi
movsx rdx, si
lea rcx, [rsp + 0x1a8]
call fcn.140019340
test r15w, r15w
mov qword [rsp + 0xf0], rbx
jns 0x140019763
mov eax, r15d
neg eax
movzx esi, ax
lea rcx, [rsp + 0x40]
mov rdx, rsi
call fcn.140018ec0
lea rcx, [rsp + 0x250]
mov rdx, rsi
call fcn.140018ec0
lea rcx, [rsp + 0x100]
mov rdx, rsi
call fcn.140018ec0
lea rcx, [rsp + 0x2f8]
lea rdx, [rsp + 0x40]
mov r8d, 0xa8
call fcn.140049170
mov rax, qword [rsp + 0x398]
mov r12, qword [rsp + 0x1a0]
cmp rax, r12
cmovbe rax, r12
cmp rax, 0x28
ja 0x14001a838
test rax, rax
je 0x14001981a
cmp rax, 1
jne 0x140019821
xor edx, edx
xor r8d, r8d
jmp 0x1400198a1
xor eax, eax
jmp 0x1400198ec
mov ecx, eax
and ecx, 0x3e
xor r8d, r8d
xor edx, edx
nop dword [rax + rax]
mov r9d, dword [rsp + rdx*4 + 0x2f8]
add r9d, dword [rsp + rdx*4 + 0x100]
setb r10b
movzx r8d, r8b
and r8d, 1
add r8d, r9d
setb r9b
or r9b, r10b
mov dword [rsp + rdx*4 + 0x2f8], r8d
mov r8d, dword [rsp + rdx*4 + 0x2fc]
add r8d, dword [rsp + rdx*4 + 0x104]
setb r10b
movzx r9d, r9b
and r9d, 1
add r9d, r8d
mov dword [rsp + rdx*4 + 0x2fc], r9d
lea rdx, [rdx + 2]
setb r8b
or r8b, r10b
cmp rcx, rdx
jne 0x140019830
test al, 1
jne 0x1400198a1
test r8b, 1
je 0x1400198ec
jmp 0x1400198d4
mov r9d, dword [rsp + rdx*4 + 0x2f8]
mov r10d, dword [rsp + rdx*4 + 0x100]
lea ecx, [r9 + r10]
movzx r8d, r8b
and r8d, 1
add r8d, ecx
setb cl
mov dword [rsp + rdx*4 + 0x2f8], r8d
add r9d, r10d
jb 0x1400198d4
test cl, cl
je 0x1400198ec
cmp rax, 0x28
je 0x14001a838
mov dword [rsp + rax*4 + 0x2f8], 1
inc rax
mov qword [rsp + 0x398], rax
mov r14, qword [rsp + 0x248]
cmp r14, rax
cmova rax, r14
cmp rax, 0x29
jae 0x14001a838
shl rax, 2
mov ecx, 0xff
nop word cs:[rax + rax]
test rax, rax
je 0x140019953
mov r8d, dword [rsp + rax + 0x2f4]
xor edx, edx
cmp r8d, dword [rsp + rax + 0x1a4]
setne dl
cmova edx, ecx
add rax, 0xfffffffffffffffc
test dl, dl
je 0x140019920
cmp dl, byte [rsp + 0x27]
jge 0x140019972
inc r15d
jmp 0x140019aca
add rax, rsp
add rax, 0x2f8
lea rcx, [rsp + 0x2f8]
cmp rax, rcx
setne dl
neg dl
cmp dl, byte [rsp + 0x27]
jl 0x14001994b
mov rax, qword [rsp + 0xe0]
cmp rax, 0x28
ja 0x14001a838
test rax, rax
je 0x1400199d7
lea rdx, [rax*4]
xor r8d, r8d
xor ecx, ecx
nop word cs:[rax + rax]
mov r9d, dword [rsp + r8 + 0x40]
lea r9, [r9 + r9*4]
lea rcx, [rcx + r9*2]
mov dword [rsp + r8 + 0x40], ecx
shr rcx, 0x20
add r8, 4
cmp rdx, r8
jne 0x1400199a0
test rcx, rcx
je 0x1400199d9
cmp rax, 0x28
je 0x14001a838
mov dword [rsp + rax*4 + 0x40], ecx
inc rax
jmp 0x1400199d9
xor eax, eax
mov qword [rsp + 0xe0], rax
mov rax, qword [rsp + 0x2f0]
cmp rax, 0x28
ja 0x14001a838
test rax, rax
je 0x140019ab0
lea rdx, [rax*4]
xor r8d, r8d
xor ecx, ecx
nop dword [rax]
mov r9d, dword [rsp + r8 + 0x250]
lea r9, [r9 + r9*4]
lea rcx, [rcx + r9*2]
mov dword [rsp + r8 + 0x250], ecx
shr rcx, 0x20
add r8, 4
cmp rdx, r8
jne 0x140019a10
test rcx, rcx
je 0x140019a4e
cmp rax, 0x28
je 0x14001a838
mov dword [rsp + rax*4 + 0x250], ecx
inc rax
mov qword [rsp + 0x2f0], rax
test r12, r12
je 0x140019abf
lea rcx, [r12*4]
xor edx, edx
xor eax, eax
nop word [rax + rax]
mov r8d, dword [rsp + rdx + 0x100]
lea r8, [r8 + r8*4]
lea rax, [rax + r8*2]
mov dword [rsp + rdx + 0x100], eax
shr rax, 0x20
add rdx, 4
cmp rcx, rdx
jne 0x140019a70
test rax, rax
je 0x140019ac2
cmp r12, 0x28
je 0x14001a838
mov dword [rsp + r12*4 + 0x100], eax
inc r12
jmp 0x140019ac2
xor eax, eax
mov qword [rsp + 0x2f0], rax
test r12, r12
jne 0x140019a5b
xor r12d, r12d
mov qword [rsp + 0x1a0], r12
lea rcx, [rsp + 0x3a0]
lea rdx, [rsp + 0x1a8]
mov r8d, 0xa8
call fcn.140049170
mov rax, qword [rsp + 0x440]
test rax, rax
je 0x14001a838
cmp rax, 0x28
ja 0x14001a838
mov ecx, dword [rsp + rax*4 + 0x39c]
mov qword [rsp + 0x30], rax
test ecx, ecx
js 0x14001a74c
cmp rax, 1
je 0x140019b41
nop word [rax + rax]
mov edx, dword [rsp + rax*4 + 0x398]
shld ecx, edx, 1
mov dword [rsp + rax*4 + 0x39c], ecx
lea r8, [rax - 1]
mov ecx, edx
mov rax, r8
cmp r8, 1
ja 0x140019b20
shl dword [rsp + 0x3a0], 1
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x440], rax
lea rcx, [rsp + 0x448]
lea rdx, [rsp + 0x1a8]
mov r8d, 0xa8
call fcn.140049170
mov rax, qword [rsp + 0x4e8]
test rax, rax
je 0x14001a838
cmp rax, 0x28
ja 0x14001a838
mov ecx, dword [rsp + rax*4 + 0x444]
mov qword [rsp + 0x38], rax
cmp ecx, 0x40000000
jb 0x140019bbe
cmp rax, 0x28
je 0x14001a838
mov edx, ecx
shr edx, 0x1e
mov dword [rsp + rax*4 + 0x448], edx
lea rdx, [rax + 1]
mov qword [rsp + 0x38], rdx
cmp rax, 1
je 0x140019bf1
nop word cs:[rax + rax]
mov edx, dword [rsp + rax*4 + 0x440]
shld ecx, edx, 2
mov dword [rsp + rax*4 + 0x444], ecx
lea r8, [rax - 1]
mov ecx, edx
mov rax, r8
cmp r8, 1
ja 0x140019bd0
shl dword [rsp + 0x448], 2
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x4e8], rax
lea rcx, [rsp + 0x4f0]
lea rdx, [rsp + 0x1a8]
mov r8d, 0xa8
call fcn.140049170
mov rax, qword [rsp + 0x590]
test rax, rax
je 0x14001a838
cmp rax, 0x28
ja 0x14001a838
mov ecx, dword [rsp + rax*4 + 0x4ec]
mov qword [rsp + 0x28], rax
cmp ecx, 0x20000000
jb 0x140019c6f
cmp rax, 0x28
je 0x14001a838
mov edx, ecx
shr edx, 0x1d
mov dword [rsp + rax*4 + 0x4f0], edx
lea rdx, [rax + 1]
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0xe8], r15
mov qword [rsp + 0xf8], rdi
cmp rax, 1
je 0x140019cb1
nop word cs:[rax + rax]
mov edx, dword [rsp + rax*4 + 0x4e8]
shld ecx, edx, 3
mov dword [rsp + rax*4 + 0x4ec], ecx
lea r8, [rax - 1]
mov ecx, edx
mov rax, r8
cmp r8, 1
ja 0x140019c90
shl dword [rsp + 0x4f0], 3
mov rcx, qword [rsp + 0x28]
mov qword [rsp + 0x590], rcx
mov r15, qword [rsp + 0xe0]
cmp r15, rcx
cmova rcx, r15
cmp rcx, 0x28
ja 0x14001a838
xor r13d, r13d
mov edi, 0xff
jmp 0x140019d11
xor r12d, r12d
mov qword [rsp + 0x1a0], r12
mov rcx, qword [rsp + 0x28]
cmp r15, rcx
cmova rcx, r15
cmp rcx, 0x28
ja 0x14001a838
mov rbp, r13
lea rax, [rcx*4]
nop dword [rax]
test rax, rax
je 0x140019d60
mov r8d, dword [rsp + rax + 0x4ec]
xor edx, edx
cmp r8d, dword [rsp + rax + 0x3c]
setne dl
cmova edx, edi
add rax, 0xfffffffffffffffc
test dl, dl
je 0x140019d20
cmp dl, 1
ja 0x140019d7e
cmp rcx, 1
jne 0x140019d90
mov dl, 1
xor r8d, r8d
jmp 0x140019e10
add rax, rsp
add rax, 0x4f0
lea rdx, [rsp + 0x4f0]
cmp rax, rdx
setne dl
neg dl
cmp dl, 1
jbe 0x140019d47
xor eax, eax
mov rcx, r15
jmp 0x140019e4b
mov eax, ecx
and eax, 0x3e
mov dl, 1
xor r8d, r8d
nop word [rax + rax]
mov r9d, dword [rsp + r8*4 + 0x4f0]
not r9d
add r9d, dword [rsp + r8*4 + 0x40]
mov r10d, dword [rsp + r8*4 + 0x4f4]
setb r11b
movzx edx, dl
and edx, 1
add edx, r9d
setb r9b
or r9b, r11b
mov dword [rsp + r8*4 + 0x40], edx
not r10d
add r10d, dword [rsp + r8*4 + 0x44]
setb r11b
movzx edx, r9b
and edx, 1
add edx, r10d
mov dword [rsp + r8*4 + 0x44], edx
lea r8, [r8 + 2]
setb dl
or dl, r11b
cmp rax, r8
jne 0x140019da0
test cl, 1
jne 0x140019e10
test dl, 1
jne 0x140019e41
jmp 0x14001a838
mov r9d, dword [rsp + r8*4 + 0x4f0]
not r9d
mov r10d, dword [rsp + r8*4 + 0x40]
lea eax, [r9 + r10]
movzx edx, dl
and edx, 1
add edx, eax
setb al
mov dword [rsp + r8*4 + 0x40], edx
add r9d, r10d
jb 0x140019e41
test al, al
je 0x14001a838
mov qword [rsp + 0xe0], rcx
mov al, 8
mov rdx, qword [rsp + 0x38]
cmp rcx, rdx
cmova rdx, rcx
cmp rdx, 0x29
jae 0x14001a838
lea r8, [rdx*4]
nop dword [rax]
test r8, r8
je 0x140019eb0
mov r10d, dword [rsp + r8 + 0x444]
xor r9d, r9d
cmp r10d, dword [rsp + r8 + 0x3c]
setne r9b
cmova r9d, edi
add r8, 0xfffffffffffffffc
test r9b, r9b
je 0x140019e70
cmp r9b, 1
ja 0x140019ed2
cmp rdx, 1
jne 0x140019ee0
mov r8b, 1
xor r9d, r9d
jmp 0x140019f60
add r8, rsp
add r8, 0x448
lea r9, [rsp + 0x448]
cmp r8, r9
setne r9b
neg r9b
cmp r9b, 1
jbe 0x140019e9c
mov rdx, rcx
jmp 0x140019f9e
mov ecx, edx
and ecx, 0x3e
mov r8b, 1
xor r9d, r9d
nop dword [rax + rax]
mov r10d, dword [rsp + r9*4 + 0x448]
not r10d
add r10d, dword [rsp + r9*4 + 0x40]
mov r11d, dword [rsp + r9*4 + 0x44c]
setb bl
movzx r8d, r8b
and r8d, 1
add r8d, r10d
setb r10b
or r10b, bl
mov dword [rsp + r9*4 + 0x40], r8d
not r11d
add r11d, dword [rsp + r9*4 + 0x44]
setb bl
movzx r8d, r10b
and r8d, 1
add r8d, r11d
mov dword [rsp + r9*4 + 0x44], r8d
lea r9, [r9 + 2]
setb r8b
or r8b, bl
cmp rcx, r9
jne 0x140019ef0
test dl, 1
jne 0x140019f60
test r8b, 1
jne 0x140019f94
jmp 0x14001a838
mov r10d, dword [rsp + r9*4 + 0x448]
not r10d
mov r11d, dword [rsp + r9*4 + 0x40]
lea ecx, [r10 + r11]
movzx r8d, r8b
and r8d, 1
add r8d, ecx
setb cl
mov dword [rsp + r9*4 + 0x40], r8d
add r10d, r11d
jb 0x140019f94
test cl, cl
je 0x14001a838
mov qword [rsp + 0xe0], rdx
or al, 4
mov rcx, qword [rsp + 0x30]
cmp rdx, rcx
cmova rcx, rdx
cmp rcx, 0x29
jae 0x14001a838
lea r8, [rcx*4]
nop dword [rax]
test r8, r8
je 0x14001a000
mov r10d, dword [rsp + r8 + 0x39c]
xor r9d, r9d
cmp r10d, dword [rsp + r8 + 0x3c]
setne r9b
cmova r9d, edi
add r8, 0xfffffffffffffffc
test r9b, r9b
je 0x140019fc0
cmp r9b, 1
ja 0x14001a022
cmp rcx, 1
jne 0x14001a030
mov r8b, 1
xor r9d, r9d
jmp 0x14001a0b0
add r8, rsp
add r8, 0x3a0
lea r9, [rsp + 0x3a0]
cmp r8, r9
setne r9b
neg r9b
cmp r9b, 1
jbe 0x140019fec
mov rcx, rdx
jmp 0x14001a0ee
mov edx, ecx
and edx, 0x3e
mov r8b, 1
xor r9d, r9d
nop dword [rax + rax]
mov r10d, dword [rsp + r9*4 + 0x3a0]
not r10d
add r10d, dword [rsp + r9*4 + 0x40]
mov r11d, dword [rsp + r9*4 + 0x3a4]
setb bl
movzx r8d, r8b
and r8d, 1
add r8d, r10d
setb r10b
or r10b, bl
mov dword [rsp + r9*4 + 0x40], r8d
not r11d
add r11d, dword [rsp + r9*4 + 0x44]
setb bl
movzx r8d, r10b
and r8d, 1
add r8d, r11d
mov dword [rsp + r9*4 + 0x44], r8d
lea r9, [r9 + 2]
setb r8b
or r8b, bl
cmp rdx, r9
jne 0x14001a040
test cl, 1
jne 0x14001a0b0
test r8b, 1
jne 0x14001a0e4
jmp 0x14001a838
mov r10d, dword [rsp + r9*4 + 0x3a0]
not r10d
mov r11d, dword [rsp + r9*4 + 0x40]
lea edx, [r10 + r11]
movzx r8d, r8b
and r8d, 1
add r8d, edx
setb dl
mov dword [rsp + r9*4 + 0x40], r8d
add r10d, r11d
jb 0x14001a0e4
test dl, dl
je 0x14001a838
mov qword [rsp + 0xe0], rcx
add al, 2
cmp rcx, r14
mov r15, r14
cmova r15, rcx
cmp r15, 0x29
jae 0x14001a838
lea rdx, [r15*4]
nop word [rax + rax]
test rdx, rdx
je 0x14001a160
mov r9d, dword [rsp + rdx + 0x1a4]
xor r8d, r8d
cmp r9d, dword [rsp + rdx + 0x3c]
setne r8b
cmova r8d, edi
add rdx, 0xfffffffffffffffc
test r8b, r8b
je 0x14001a110
cmp r8b, 1
ja 0x14001a182
test r15, r15
je 0x14001a241
cmp r15, 1
jne 0x14001a18a
mov dl, 1
xor r8d, r8d
jmp 0x14001a210
add rdx, rsp
add rdx, 0x1a8
lea r8, [rsp + 0x1a8]
cmp rdx, r8
setne r8b
neg r8b
cmp r8b, 1
jbe 0x14001a13c
mov r15, rcx
jmp 0x14001a24b
mov ecx, r15d
and ecx, 0x3e
mov dl, 1
xor r8d, r8d
nop word cs:[rax + rax]
mov r9d, dword [rsp + r8*4 + 0x1a8]
not r9d
add r9d, dword [rsp + r8*4 + 0x40]
mov r10d, dword [rsp + r8*4 + 0x1ac]
setb r11b
movzx edx, dl
and edx, 1
add edx, r9d
setb r9b
or r9b, r11b
mov dword [rsp + r8*4 + 0x40], edx
not r10d
add r10d, dword [rsp + r8*4 + 0x44]
setb r11b
movzx edx, r9b
and edx, 1
add edx, r10d
mov dword [rsp + r8*4 + 0x44], edx
lea r8, [r8 + 2]
setb dl
or dl, r11b
cmp rcx, r8
jne 0x14001a1a0
test r15b, 1
jne 0x14001a210
test dl, 1
jne 0x14001a241
jmp 0x14001a838
mov r9d, dword [rsp + r8*4 + 0x1a8]
not r9d
mov r10d, dword [rsp + r8*4 + 0x40]
lea ecx, [r9 + r10]
movzx edx, dl
and edx, 1
add edx, ecx
setb cl
mov dword [rsp + r8*4 + 0x40], edx
add r9d, r10d
jb 0x14001a241
test cl, cl
je 0x14001a838
mov qword [rsp + 0xe0], r15
inc al
cmp rbp, 0x11
je 0x14001a838
add al, 0x30
mov rcx, qword [rsp + 0xf0]
mov byte [rcx + rbp], al
mov rsi, qword [rsp + 0x2f0]
cmp r15, rsi
mov rax, rsi
cmova rax, r15
cmp rax, 0x29
jae 0x14001a838
lea r13, [rbp + 1]
shl rax, 2
nop word cs:[rax + rax]
test rax, rax
je 0x14001a2c0
mov ecx, dword [rsp + rax + 0x24c]
xor ebx, ebx
cmp ecx, dword [rsp + rax + 0x3c]
setne bl
cmova ebx, edi
add rax, 0xfffffffffffffffc
test bl, bl
je 0x14001a290
jmp 0x14001a2d9
add rax, rsp
add rax, 0x250
lea rcx, [rsp + 0x250]
cmp rax, rcx
setne bl
neg bl
mov r8d, 0xa8
lea rcx, [rsp + 0x2f8]
lea rdx, [rsp + 0x40]
call fcn.140049170
mov rax, qword [rsp + 0x398]
cmp rax, r12
cmovbe rax, r12
cmp rax, 0x28
ja 0x14001a838
test rax, rax
je 0x14001a320
cmp rax, 1
jne 0x14001a330
xor edx, edx
xor r8d, r8d
jmp 0x14001a3c0
xor eax, eax
jmp 0x14001a40b
mov ecx, eax
and ecx, 0x3e
xor r8d, r8d
xor edx, edx
nop word [rax + rax]
mov r9d, dword [rsp + rdx*4 + 0x2f8]
add r9d, dword [rsp + rdx*4 + 0x100]
setb r10b
movzx r8d, r8b
and r8d, 1
add r8d, r9d
setb r9b
or r9b, r10b
mov dword [rsp + rdx*4 + 0x2f8], r8d
mov r8d, dword [rsp + rdx*4 + 0x2fc]
add r8d, dword [rsp + rdx*4 + 0x104]
setb r10b
movzx r9d, r9b
and r9d, 1
add r9d, r8d
mov dword [rsp + rdx*4 + 0x2fc], r9d
lea rdx, [rdx + 2]
setb r8b
or r8b, r10b
cmp rcx, rdx
jne 0x14001a340
test al, 1
jne 0x14001a3c0
test r8b, 1
je 0x14001a40b
jmp 0x14001a3f3
mov r9d, dword [rsp + rdx*4 + 0x2f8]
mov r10d, dword [rsp + rdx*4 + 0x100]
lea ecx, [r9 + r10]
movzx r8d, r8b
and r8d, 1
add r8d, ecx
setb cl
mov dword [rsp + rdx*4 + 0x2f8], r8d
add r9d, r10d
jb 0x14001a3f3
test cl, cl
je 0x14001a40b
cmp rax, 0x28
je 0x14001a838
mov dword [rsp + rax*4 + 0x2f8], 1
inc rax
mov qword [rsp + 0x398], rax
cmp r14, rax
cmova rax, r14
cmp rax, 0x29
jae 0x14001a838
shl rax, 2
nop dword [rax + rax]
test rax, rax
je 0x14001a470
mov edx, dword [rsp + rax + 0x2f4]
xor ecx, ecx
cmp edx, dword [rsp + rax + 0x1a4]
setne cl
cmova ecx, edi
add rax, 0xfffffffffffffffc
test cl, cl
je 0x14001a430
movzx eax, byte [rsp + 0x27]
cmp bl, al
jge 0x14001a496
jmp 0x14001a5d7
add rax, rsp
add rax, 0x2f8
lea rcx, [rsp + 0x2f8]
cmp rax, rcx
setne cl
neg cl
movzx eax, byte [rsp + 0x27]
cmp bl, al
jl 0x14001a5d7
cmp cl, al
jl 0x14001a5d7
test r15, r15
je 0x14001a560
lea rcx, [r15*4]
xor edx, edx
xor eax, eax
nop word cs:[rax + rax]
mov r8d, dword [rsp + rdx + 0x40]
lea r8, [r8 + r8*4]
lea rax, [rax + r8*2]
mov dword [rsp + rdx + 0x40], eax
shr rax, 0x20
add rdx, 4
cmp rcx, rdx
jne 0x14001a4c0
test rax, rax
je 0x14001a4f5
cmp r15, 0x28
je 0x14001a838
mov dword [rsp + r15*4 + 0x40], eax
inc r15
mov qword [rsp + 0xe0], r15
test rsi, rsi
je 0x14001a570
lea rcx, [rsi*4]
xor edx, edx
xor eax, eax
nop
mov r8d, dword [rsp + rdx + 0x250]
lea r8, [r8 + r8*4]
lea rax, [rax + r8*2]
mov dword [rsp + rdx + 0x250], eax
shr rax, 0x20
add rdx, 4
cmp rcx, rdx
jne 0x14001a510
test rax, rax
je 0x14001a54d
cmp rsi, 0x28
je 0x14001a838
mov dword [rsp + rsi*4 + 0x250], eax
inc rsi
mov qword [rsp + 0x2f0], rsi
test r12, r12
jne 0x14001a583
jmp 0x140019cf0
xor r15d, r15d
mov qword [rsp + 0xe0], r15
test rsi, rsi
jne 0x14001a502
xor esi, esi
mov qword [rsp + 0x2f0], rsi
test r12, r12
je 0x140019cf0
lea rcx, [r12*4]
xor edx, edx
xor eax, eax
nop
mov r8d, dword [rsp + rdx + 0x100]
lea r8, [r8 + r8*4]
lea rax, [rax + r8*2]
mov dword [rsp + rdx + 0x100], eax
shr rax, 0x20
add rdx, 4
cmp rcx, rdx
jne 0x14001a590
test rax, rax
je 0x140019cf3
cmp r12, 0x28
je 0x14001a838
mov dword [rsp + r12*4 + 0x100], eax
inc r12
jmp 0x140019cf3
cmp cl, al
mov rsi, qword [rsp + 0xf0]
jge 0x14001a7d7
cmp bl, al
jge 0x14001a799
test r15, r15
je 0x14001a838
mov r8d, dword [rsp + r15*4 + 0x3c]
mov rax, r15
test r8d, r8d
jns 0x14001a61e
cmp r15, 0x28
je 0x14001a838
mov eax, r8d
shr eax, 0x1f
mov dword [rsp + r15*4 + 0x40], eax
lea rax, [r15 + 1]
cmp r15, 1
je 0x14001a6ef
cmp r15, 8
jbe 0x14001a6d0
lea rcx, [r15 - 1]
mov rdx, rcx
and rdx, 0xfffffffffffffff8
movd xmm0, r8d
pshufd xmm1, xmm0, 0
mov r8, rdx
neg r8
lea r9, [rsp + r15*4]
add r9, 0x30
sub r15, rdx
xor r10d, r10d
nop dword [rax + rax]
movdqu xmm0, xmmword [r9 + r10*4 - 0x14]
movdqu xmm2, xmmword [r9 + r10*4 - 4]
pshufd xmm3, xmm2, 0x1b
pshufd xmm4, xmm0, 0x1b
shufps xmm1, xmm2, 0xf3
shufps xmm1, xmm2, 0x68
shufps xmm2, xmm0, 0xfc
shufps xmm2, xmm0, 0x68
paddd xmm1, xmm1
psrld xmm3, 0x1f
por xmm3, xmm1
paddd xmm2, xmm2
movdqa xmm1, xmm4
psrld xmm4, 0x1f
por xmm4, xmm2
pshufd xmm2, xmm3, 0x1b
movdqu xmmword [r9 + r10*4], xmm2
pshufd xmm2, xmm4, 0x1b
movdqu xmmword [r9 + r10*4 - 0x10], xmm2
add r10, 0xfffffffffffffff8
cmp r8, r10
jne 0x14001a660
cmp rcx, rdx
je 0x14001a6ef
movd r8d, xmm0
mov ecx, dword [rsp + r15*4 + 0x38]
shld r8d, ecx, 1
mov dword [rsp + r15*4 + 0x3c], r8d
lea rdx, [r15 - 1]
mov r8d, ecx
mov r15, rdx
cmp rdx, 1
ja 0x14001a6d0
shl dword [rsp + 0x40], 1
mov qword [rsp + 0xe0], rax
cmp rax, r14
cmova r14, rax
cmp r14, 0x29
jae 0x14001a838
shl r14, 2
mov eax, 0xff
nop word cs:[rax + rax]
test r14, r14
je 0x14001a77a
mov edx, dword [rsp + r14 + 0x1a4]
xor ecx, ecx
cmp edx, dword [rsp + r14 + 0x3c]
setne cl
cmova ecx, eax
add r14, 0xfffffffffffffffc
test cl, cl
je 0x14001a720
cmp cl, 1
jbe 0x14001a799
jmp 0x14001a7d7
cmp rax, 0x28
je 0x14001a838
mov edx, ecx
shr edx, 0x1f
mov dword [rsp + rax*4 + 0x3a0], edx
lea rdx, [rax + 1]
mov qword [rsp + 0x30], rdx
cmp rax, 1
jne 0x140019b20
jmp 0x140019b41
lea rax, [rsp + r14]
add rax, 0x1a8
lea rcx, [rsp + 0x1a8]
cmp rax, rcx
setne cl
neg cl
cmp cl, 1
ja 0x14001a7d7
mov r8, 0xffffffffffffffff
mov rax, r13
mov rdi, qword [rsp + 0xe8]
nop dword [rax + rax]
test rax, rax
je 0x14001a80c
mov rcx, rax
dec rax
inc r8
cmp byte [rsi + rcx - 1], 0x39
je 0x14001a7b0
inc byte [rsi + rax]
cmp rcx, rbp
ja 0x14001a7d7
add rcx, rsi
mov dl, 0x30
call fcn.140049820
cmp rbp, 0x10
mov rdi, qword [rsp + 0xe8]
ja 0x14001a838
mov rax, qword [rsp + 0xf8]
mov qword [rax], rsi
mov qword [rax + 8], r13
mov word [rax + 0x10], di
add rsp, 0x598
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov byte [rsi], 0x31
test rbp, rbp
je 0x14001a828
lea rcx, [rsi + 1]
mov dl, 0x30
mov r8, rbp
call fcn.140049820
cmp rbp, 0xf
ja 0x14001a838
mov byte [rsi + rbp + 1], 0x30
add rbp, 2
inc edi
mov r13, rbp
jmp 0x14001a7e5
ud2