Function at 0x1400193f0
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 0x14001a798
mov rdi, rcx
mov rcx, qword [rdx + 8]
test rcx, rcx
je 0x14001a798
mov rax, qword [rdx + 0x10]
test rax, rax
je 0x14001a798
mov r9, r8
add r9, rax
jb 0x14001a798
cmp r8, rcx
jb 0x14001a798
movsx rsi, word [rdx + 0x18]
dec r9
je 0x140019458
bsr r9, r9
xor r9, 0x3f
jmp 0x14001945e
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 0x1400196d6
lea rcx, [rsp + 0x40]
mov rdx, rsi
call fcn.1400192a0
lea rcx, [rsp + 0x250]
mov rdx, rsi
call fcn.1400192a0
lea rcx, [rsp + 0x100]
mov rdx, rsi
call fcn.1400192a0
test r15w, r15w
mov qword [rsp + 0xf0], rbx
js 0x1400196f7
mov edx, r15d
and edx, 0x7fff
lea rcx, [rsp + 0x1a8]
jmp 0x140019727
neg esi
movsx rdx, si
lea rcx, [rsp + 0x1a8]
call fcn.1400192a0
test r15w, r15w
mov qword [rsp + 0xf0], rbx
jns 0x1400196c3
mov eax, r15d
neg eax
movzx esi, ax
lea rcx, [rsp + 0x40]
mov rdx, rsi
call fcn.140018e20
lea rcx, [rsp + 0x250]
mov rdx, rsi
call fcn.140018e20
lea rcx, [rsp + 0x100]
mov rdx, rsi
call fcn.140018e20
lea rcx, [rsp + 0x2f8]
lea rdx, [rsp + 0x40]
mov r8d, 0xa8
call fcn.1400490d0
mov rax, qword [rsp + 0x398]
mov r12, qword [rsp + 0x1a0]
cmp rax, r12
cmovbe rax, r12
cmp rax, 0x28
ja 0x14001a798
test rax, rax
je 0x14001977a
cmp rax, 1
jne 0x140019781
xor edx, edx
xor r8d, r8d
jmp 0x140019801
xor eax, eax
jmp 0x14001984c
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 0x140019790
test al, 1
jne 0x140019801
test r8b, 1
je 0x14001984c
jmp 0x140019834
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 0x140019834
test cl, cl
je 0x14001984c
cmp rax, 0x28
je 0x14001a798
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 0x14001a798
shl rax, 2
mov ecx, 0xff
nop word cs:[rax + rax]
test rax, rax
je 0x1400198b3
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 0x140019880
cmp dl, byte [rsp + 0x27]
jge 0x1400198d2
inc r15d
jmp 0x140019a2a
add rax, rsp
add rax, 0x2f8
lea rcx, [rsp + 0x2f8]
cmp rax, rcx
setne dl
neg dl
cmp dl, byte [rsp + 0x27]
jl 0x1400198ab
mov rax, qword [rsp + 0xe0]
cmp rax, 0x28
ja 0x14001a798
test rax, rax
je 0x140019937
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 0x140019900
test rcx, rcx
je 0x140019939
cmp rax, 0x28
je 0x14001a798
mov dword [rsp + rax*4 + 0x40], ecx
inc rax
jmp 0x140019939
xor eax, eax
mov qword [rsp + 0xe0], rax
mov rax, qword [rsp + 0x2f0]
cmp rax, 0x28
ja 0x14001a798
test rax, rax
je 0x140019a10
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 0x140019970
test rcx, rcx
je 0x1400199ae
cmp rax, 0x28
je 0x14001a798
mov dword [rsp + rax*4 + 0x250], ecx
inc rax
mov qword [rsp + 0x2f0], rax
test r12, r12
je 0x140019a1f
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 0x1400199d0
test rax, rax
je 0x140019a22
cmp r12, 0x28
je 0x14001a798
mov dword [rsp + r12*4 + 0x100], eax
inc r12
jmp 0x140019a22
xor eax, eax
mov qword [rsp + 0x2f0], rax
test r12, r12
jne 0x1400199bb
xor r12d, r12d
mov qword [rsp + 0x1a0], r12
lea rcx, [rsp + 0x3a0]
lea rdx, [rsp + 0x1a8]
mov r8d, 0xa8
call fcn.1400490d0
mov rax, qword [rsp + 0x440]
test rax, rax
je 0x14001a798
cmp rax, 0x28
ja 0x14001a798
mov ecx, dword [rsp + rax*4 + 0x39c]
mov qword [rsp + 0x30], rax
test ecx, ecx
js 0x14001a6ac
cmp rax, 1
je 0x140019aa1
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 0x140019a80
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.1400490d0
mov rax, qword [rsp + 0x4e8]
test rax, rax
je 0x14001a798
cmp rax, 0x28
ja 0x14001a798
mov ecx, dword [rsp + rax*4 + 0x444]
mov qword [rsp + 0x38], rax
cmp ecx, 0x40000000
jb 0x140019b1e
cmp rax, 0x28
je 0x14001a798
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 0x140019b51
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 0x140019b30
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.1400490d0
mov rax, qword [rsp + 0x590]
test rax, rax
je 0x14001a798
cmp rax, 0x28
ja 0x14001a798
mov ecx, dword [rsp + rax*4 + 0x4ec]
mov qword [rsp + 0x28], rax
cmp ecx, 0x20000000
jb 0x140019bcf
cmp rax, 0x28
je 0x14001a798
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 0x140019c11
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 0x140019bf0
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 0x14001a798
xor r13d, r13d
mov edi, 0xff
jmp 0x140019c71
xor r12d, r12d
mov qword [rsp + 0x1a0], r12
mov rcx, qword [rsp + 0x28]
cmp r15, rcx
cmova rcx, r15
cmp rcx, 0x28
ja 0x14001a798
mov rbp, r13
lea rax, [rcx*4]
nop dword [rax]
test rax, rax
je 0x140019cc0
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 0x140019c80
cmp dl, 1
ja 0x140019cde
cmp rcx, 1
jne 0x140019cf0
mov dl, 1
xor r8d, r8d
jmp 0x140019d70
add rax, rsp
add rax, 0x4f0
lea rdx, [rsp + 0x4f0]
cmp rax, rdx
setne dl
neg dl
cmp dl, 1
jbe 0x140019ca7
xor eax, eax
mov rcx, r15
jmp 0x140019dab
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 0x140019d00
test cl, 1
jne 0x140019d70
test dl, 1
jne 0x140019da1
jmp 0x14001a798
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 0x140019da1
test al, al
je 0x14001a798
mov qword [rsp + 0xe0], rcx
mov al, 8
mov rdx, qword [rsp + 0x38]
cmp rcx, rdx
cmova rdx, rcx
cmp rdx, 0x29
jae 0x14001a798
lea r8, [rdx*4]
nop dword [rax]
test r8, r8
je 0x140019e10
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 0x140019dd0
cmp r9b, 1
ja 0x140019e32
cmp rdx, 1
jne 0x140019e40
mov r8b, 1
xor r9d, r9d
jmp 0x140019ec0
add r8, rsp
add r8, 0x448
lea r9, [rsp + 0x448]
cmp r8, r9
setne r9b
neg r9b
cmp r9b, 1
jbe 0x140019dfc
mov rdx, rcx
jmp 0x140019efe
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 0x140019e50
test dl, 1
jne 0x140019ec0
test r8b, 1
jne 0x140019ef4
jmp 0x14001a798
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 0x140019ef4
test cl, cl
je 0x14001a798
mov qword [rsp + 0xe0], rdx
or al, 4
mov rcx, qword [rsp + 0x30]
cmp rdx, rcx
cmova rcx, rdx
cmp rcx, 0x29
jae 0x14001a798
lea r8, [rcx*4]
nop dword [rax]
test r8, r8
je 0x140019f60
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 0x140019f20
cmp r9b, 1
ja 0x140019f82
cmp rcx, 1
jne 0x140019f90
mov r8b, 1
xor r9d, r9d
jmp 0x14001a010
add r8, rsp
add r8, 0x3a0
lea r9, [rsp + 0x3a0]
cmp r8, r9
setne r9b
neg r9b
cmp r9b, 1
jbe 0x140019f4c
mov rcx, rdx
jmp 0x14001a04e
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 0x140019fa0
test cl, 1
jne 0x14001a010
test r8b, 1
jne 0x14001a044
jmp 0x14001a798
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 0x14001a044
test dl, dl
je 0x14001a798
mov qword [rsp + 0xe0], rcx
add al, 2
cmp rcx, r14
mov r15, r14
cmova r15, rcx
cmp r15, 0x29
jae 0x14001a798
lea rdx, [r15*4]
nop word [rax + rax]
test rdx, rdx
je 0x14001a0c0
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 0x14001a070
cmp r8b, 1
ja 0x14001a0e2
test r15, r15
je 0x14001a1a1
cmp r15, 1
jne 0x14001a0ea
mov dl, 1
xor r8d, r8d
jmp 0x14001a170
add rdx, rsp
add rdx, 0x1a8
lea r8, [rsp + 0x1a8]
cmp rdx, r8
setne r8b
neg r8b
cmp r8b, 1
jbe 0x14001a09c
mov r15, rcx
jmp 0x14001a1ab
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 0x14001a100
test r15b, 1
jne 0x14001a170
test dl, 1
jne 0x14001a1a1
jmp 0x14001a798
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 0x14001a1a1
test cl, cl
je 0x14001a798
mov qword [rsp + 0xe0], r15
inc al
cmp rbp, 0x11
je 0x14001a798
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 0x14001a798
lea r13, [rbp + 1]
shl rax, 2
nop word cs:[rax + rax]
test rax, rax
je 0x14001a220
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 0x14001a1f0
jmp 0x14001a239
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.1400490d0
mov rax, qword [rsp + 0x398]
cmp rax, r12
cmovbe rax, r12
cmp rax, 0x28
ja 0x14001a798
test rax, rax
je 0x14001a280
cmp rax, 1
jne 0x14001a290
xor edx, edx
xor r8d, r8d
jmp 0x14001a320
xor eax, eax
jmp 0x14001a36b
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 0x14001a2a0
test al, 1
jne 0x14001a320
test r8b, 1
je 0x14001a36b
jmp 0x14001a353
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 0x14001a353
test cl, cl
je 0x14001a36b
cmp rax, 0x28
je 0x14001a798
mov dword [rsp + rax*4 + 0x2f8], 1
inc rax
mov qword [rsp + 0x398], rax
cmp r14, rax
cmova rax, r14
cmp rax, 0x29
jae 0x14001a798
shl rax, 2
nop dword [rax + rax]
test rax, rax
je 0x14001a3d0
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 0x14001a390
movzx eax, byte [rsp + 0x27]
cmp bl, al
jge 0x14001a3f6
jmp 0x14001a537
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 0x14001a537
cmp cl, al
jl 0x14001a537
test r15, r15
je 0x14001a4c0
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 0x14001a420
test rax, rax
je 0x14001a455
cmp r15, 0x28
je 0x14001a798
mov dword [rsp + r15*4 + 0x40], eax
inc r15
mov qword [rsp + 0xe0], r15
test rsi, rsi
je 0x14001a4d0
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 0x14001a470
test rax, rax
je 0x14001a4ad
cmp rsi, 0x28
je 0x14001a798
mov dword [rsp + rsi*4 + 0x250], eax
inc rsi
mov qword [rsp + 0x2f0], rsi
test r12, r12
jne 0x14001a4e3
jmp 0x140019c50
xor r15d, r15d
mov qword [rsp + 0xe0], r15
test rsi, rsi
jne 0x14001a462
xor esi, esi
mov qword [rsp + 0x2f0], rsi
test r12, r12
je 0x140019c50
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 0x14001a4f0
test rax, rax
je 0x140019c53
cmp r12, 0x28
je 0x14001a798
mov dword [rsp + r12*4 + 0x100], eax
inc r12
jmp 0x140019c53
cmp cl, al
mov rsi, qword [rsp + 0xf0]
jge 0x14001a737
cmp bl, al
jge 0x14001a6f9
test r15, r15
je 0x14001a798
mov r8d, dword [rsp + r15*4 + 0x3c]
mov rax, r15
test r8d, r8d
jns 0x14001a57e
cmp r15, 0x28
je 0x14001a798
mov eax, r8d
shr eax, 0x1f
mov dword [rsp + r15*4 + 0x40], eax
lea rax, [r15 + 1]
cmp r15, 1
je 0x14001a64f
cmp r15, 8
jbe 0x14001a630
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 0x14001a5c0
cmp rcx, rdx
je 0x14001a64f
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 0x14001a630
shl dword [rsp + 0x40], 1
mov qword [rsp + 0xe0], rax
cmp rax, r14
cmova r14, rax
cmp r14, 0x29
jae 0x14001a798
shl r14, 2
mov eax, 0xff
nop word cs:[rax + rax]
test r14, r14
je 0x14001a6da
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 0x14001a680
cmp cl, 1
jbe 0x14001a6f9
jmp 0x14001a737
cmp rax, 0x28
je 0x14001a798
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 0x140019a80
jmp 0x140019aa1
lea rax, [rsp + r14]
add rax, 0x1a8
lea rcx, [rsp + 0x1a8]
cmp rax, rcx
setne cl
neg cl
cmp cl, 1
ja 0x14001a737
mov r8, 0xffffffffffffffff
mov rax, r13
mov rdi, qword [rsp + 0xe8]
nop dword [rax + rax]
test rax, rax
je 0x14001a76c
mov rcx, rax
dec rax
inc r8
cmp byte [rsi + rcx - 1], 0x39
je 0x14001a710
inc byte [rsi + rax]
cmp rcx, rbp
ja 0x14001a737
add rcx, rsi
mov dl, 0x30
call fcn.140049780
cmp rbp, 0x10
mov rdi, qword [rsp + 0xe8]
ja 0x14001a798
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 0x14001a788
lea rcx, [rsi + 1]
mov dl, 0x30
mov r8, rbp
call fcn.140049780
cmp rbp, 0xf
ja 0x14001a798
mov byte [rsi + rbp + 1], 0x30
add rbp, 2
inc edi
mov r13, rbp
jmp 0x14001a745
ud2