Function at 0x1400183b0
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 0x140019758
mov rdi, rcx
mov rcx, qword [rdx + 8]
test rcx, rcx
je 0x140019758
mov rax, qword [rdx + 0x10]
test rax, rax
je 0x140019758
mov r9, r8
add r9, rax
jb 0x140019758
cmp r8, rcx
jb 0x140019758
movsx rsi, word [rdx + 0x18]
dec r9
je 0x140018418
bsr r9, r9
xor r9, 0x3f
jmp 0x14001841e
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 0x140018696
lea rcx, [rsp + 0x40]
mov rdx, rsi
call fcn.140018260
lea rcx, [rsp + 0x250]
mov rdx, rsi
call fcn.140018260
lea rcx, [rsp + 0x100]
mov rdx, rsi
call fcn.140018260
test r15w, r15w
mov qword [rsp + 0xf0], rbx
js 0x1400186b7
mov edx, r15d
and edx, 0x7fff
lea rcx, [rsp + 0x1a8]
jmp 0x1400186e7
neg esi
movsx rdx, si
lea rcx, [rsp + 0x1a8]
call fcn.140018260
test r15w, r15w
mov qword [rsp + 0xf0], rbx
jns 0x140018683
mov eax, r15d
neg eax
movzx esi, ax
lea rcx, [rsp + 0x40]
mov rdx, rsi
call fcn.140017de0
lea rcx, [rsp + 0x250]
mov rdx, rsi
call fcn.140017de0
lea rcx, [rsp + 0x100]
mov rdx, rsi
call fcn.140017de0
lea rcx, [rsp + 0x2f8]
lea rdx, [rsp + 0x40]
mov r8d, 0xa8
call fcn.140048510
mov rax, qword [rsp + 0x398]
mov r12, qword [rsp + 0x1a0]
cmp rax, r12
cmovbe rax, r12
cmp rax, 0x28
ja 0x140019758
test rax, rax
je 0x14001873a
cmp rax, 1
jne 0x140018741
xor edx, edx
xor r8d, r8d
jmp 0x1400187c1
xor eax, eax
jmp 0x14001880c
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 0x140018750
test al, 1
jne 0x1400187c1
test r8b, 1
je 0x14001880c
jmp 0x1400187f4
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 0x1400187f4
test cl, cl
je 0x14001880c
cmp rax, 0x28
je 0x140019758
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 0x140019758
shl rax, 2
mov ecx, 0xff
nop word cs:[rax + rax]
test rax, rax
je 0x140018873
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 0x140018840
cmp dl, byte [rsp + 0x27]
jge 0x140018892
inc r15d
jmp 0x1400189ea
add rax, rsp
add rax, 0x2f8
lea rcx, [rsp + 0x2f8]
cmp rax, rcx
setne dl
neg dl
cmp dl, byte [rsp + 0x27]
jl 0x14001886b
mov rax, qword [rsp + 0xe0]
cmp rax, 0x28
ja 0x140019758
test rax, rax
je 0x1400188f7
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 0x1400188c0
test rcx, rcx
je 0x1400188f9
cmp rax, 0x28
je 0x140019758
mov dword [rsp + rax*4 + 0x40], ecx
inc rax
jmp 0x1400188f9
xor eax, eax
mov qword [rsp + 0xe0], rax
mov rax, qword [rsp + 0x2f0]
cmp rax, 0x28
ja 0x140019758
test rax, rax
je 0x1400189d0
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 0x140018930
test rcx, rcx
je 0x14001896e
cmp rax, 0x28
je 0x140019758
mov dword [rsp + rax*4 + 0x250], ecx
inc rax
mov qword [rsp + 0x2f0], rax
test r12, r12
je 0x1400189df
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 0x140018990
test rax, rax
je 0x1400189e2
cmp r12, 0x28
je 0x140019758
mov dword [rsp + r12*4 + 0x100], eax
inc r12
jmp 0x1400189e2
xor eax, eax
mov qword [rsp + 0x2f0], rax
test r12, r12
jne 0x14001897b
xor r12d, r12d
mov qword [rsp + 0x1a0], r12
lea rcx, [rsp + 0x3a0]
lea rdx, [rsp + 0x1a8]
mov r8d, 0xa8
call fcn.140048510
mov rax, qword [rsp + 0x440]
test rax, rax
je 0x140019758
cmp rax, 0x28
ja 0x140019758
mov ecx, dword [rsp + rax*4 + 0x39c]
mov qword [rsp + 0x30], rax
test ecx, ecx
js 0x14001966c
cmp rax, 1
je 0x140018a61
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 0x140018a40
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.140048510
mov rax, qword [rsp + 0x4e8]
test rax, rax
je 0x140019758
cmp rax, 0x28
ja 0x140019758
mov ecx, dword [rsp + rax*4 + 0x444]
mov qword [rsp + 0x38], rax
cmp ecx, 0x40000000
jb 0x140018ade
cmp rax, 0x28
je 0x140019758
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 0x140018b11
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 0x140018af0
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.140048510
mov rax, qword [rsp + 0x590]
test rax, rax
je 0x140019758
cmp rax, 0x28
ja 0x140019758
mov ecx, dword [rsp + rax*4 + 0x4ec]
mov qword [rsp + 0x28], rax
cmp ecx, 0x20000000
jb 0x140018b8f
cmp rax, 0x28
je 0x140019758
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 0x140018bd1
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 0x140018bb0
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 0x140019758
xor r13d, r13d
mov edi, 0xff
jmp 0x140018c31
xor r12d, r12d
mov qword [rsp + 0x1a0], r12
mov rcx, qword [rsp + 0x28]
cmp r15, rcx
cmova rcx, r15
cmp rcx, 0x28
ja 0x140019758
mov rbp, r13
lea rax, [rcx*4]
nop dword [rax]
test rax, rax
je 0x140018c80
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 0x140018c40
cmp dl, 1
ja 0x140018c9e
cmp rcx, 1
jne 0x140018cb0
mov dl, 1
xor r8d, r8d
jmp 0x140018d30
add rax, rsp
add rax, 0x4f0
lea rdx, [rsp + 0x4f0]
cmp rax, rdx
setne dl
neg dl
cmp dl, 1
jbe 0x140018c67
xor eax, eax
mov rcx, r15
jmp 0x140018d6b
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 0x140018cc0
test cl, 1
jne 0x140018d30
test dl, 1
jne 0x140018d61
jmp 0x140019758
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 0x140018d61
test al, al
je 0x140019758
mov qword [rsp + 0xe0], rcx
mov al, 8
mov rdx, qword [rsp + 0x38]
cmp rcx, rdx
cmova rdx, rcx
cmp rdx, 0x29
jae 0x140019758
lea r8, [rdx*4]
nop dword [rax]
test r8, r8
je 0x140018dd0
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 0x140018d90
cmp r9b, 1
ja 0x140018df2
cmp rdx, 1
jne 0x140018e00
mov r8b, 1
xor r9d, r9d
jmp 0x140018e80
add r8, rsp
add r8, 0x448
lea r9, [rsp + 0x448]
cmp r8, r9
setne r9b
neg r9b
cmp r9b, 1
jbe 0x140018dbc
mov rdx, rcx
jmp 0x140018ebe
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 0x140018e10
test dl, 1
jne 0x140018e80
test r8b, 1
jne 0x140018eb4
jmp 0x140019758
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 0x140018eb4
test cl, cl
je 0x140019758
mov qword [rsp + 0xe0], rdx
or al, 4
mov rcx, qword [rsp + 0x30]
cmp rdx, rcx
cmova rcx, rdx
cmp rcx, 0x29
jae 0x140019758
lea r8, [rcx*4]
nop dword [rax]
test r8, r8
je 0x140018f20
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 0x140018ee0
cmp r9b, 1
ja 0x140018f42
cmp rcx, 1
jne 0x140018f50
mov r8b, 1
xor r9d, r9d
jmp 0x140018fd0
add r8, rsp
add r8, 0x3a0
lea r9, [rsp + 0x3a0]
cmp r8, r9
setne r9b
neg r9b
cmp r9b, 1
jbe 0x140018f0c
mov rcx, rdx
jmp 0x14001900e
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 0x140018f60
test cl, 1
jne 0x140018fd0
test r8b, 1
jne 0x140019004
jmp 0x140019758
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 0x140019004
test dl, dl
je 0x140019758
mov qword [rsp + 0xe0], rcx
add al, 2
cmp rcx, r14
mov r15, r14
cmova r15, rcx
cmp r15, 0x29
jae 0x140019758
lea rdx, [r15*4]
nop word [rax + rax]
test rdx, rdx
je 0x140019080
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 0x140019030
cmp r8b, 1
ja 0x1400190a2
test r15, r15
je 0x140019161
cmp r15, 1
jne 0x1400190aa
mov dl, 1
xor r8d, r8d
jmp 0x140019130
add rdx, rsp
add rdx, 0x1a8
lea r8, [rsp + 0x1a8]
cmp rdx, r8
setne r8b
neg r8b
cmp r8b, 1
jbe 0x14001905c
mov r15, rcx
jmp 0x14001916b
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 0x1400190c0
test r15b, 1
jne 0x140019130
test dl, 1
jne 0x140019161
jmp 0x140019758
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 0x140019161
test cl, cl
je 0x140019758
mov qword [rsp + 0xe0], r15
inc al
cmp rbp, 0x11
je 0x140019758
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 0x140019758
lea r13, [rbp + 1]
shl rax, 2
nop word cs:[rax + rax]
test rax, rax
je 0x1400191e0
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 0x1400191b0
jmp 0x1400191f9
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.140048510
mov rax, qword [rsp + 0x398]
cmp rax, r12
cmovbe rax, r12
cmp rax, 0x28
ja 0x140019758
test rax, rax
je 0x140019240
cmp rax, 1
jne 0x140019250
xor edx, edx
xor r8d, r8d
jmp 0x1400192e0
xor eax, eax
jmp 0x14001932b
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 0x140019260
test al, 1
jne 0x1400192e0
test r8b, 1
je 0x14001932b
jmp 0x140019313
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 0x140019313
test cl, cl
je 0x14001932b
cmp rax, 0x28
je 0x140019758
mov dword [rsp + rax*4 + 0x2f8], 1
inc rax
mov qword [rsp + 0x398], rax
cmp r14, rax
cmova rax, r14
cmp rax, 0x29
jae 0x140019758
shl rax, 2
nop dword [rax + rax]
test rax, rax
je 0x140019390
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 0x140019350
movzx eax, byte [rsp + 0x27]
cmp bl, al
jge 0x1400193b6
jmp 0x1400194f7
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 0x1400194f7
cmp cl, al
jl 0x1400194f7
test r15, r15
je 0x140019480
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 0x1400193e0
test rax, rax
je 0x140019415
cmp r15, 0x28
je 0x140019758
mov dword [rsp + r15*4 + 0x40], eax
inc r15
mov qword [rsp + 0xe0], r15
test rsi, rsi
je 0x140019490
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 0x140019430
test rax, rax
je 0x14001946d
cmp rsi, 0x28
je 0x140019758
mov dword [rsp + rsi*4 + 0x250], eax
inc rsi
mov qword [rsp + 0x2f0], rsi
test r12, r12
jne 0x1400194a3
jmp 0x140018c10
xor r15d, r15d
mov qword [rsp + 0xe0], r15
test rsi, rsi
jne 0x140019422
xor esi, esi
mov qword [rsp + 0x2f0], rsi
test r12, r12
je 0x140018c10
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 0x1400194b0
test rax, rax
je 0x140018c13
cmp r12, 0x28
je 0x140019758
mov dword [rsp + r12*4 + 0x100], eax
inc r12
jmp 0x140018c13
cmp cl, al
mov rsi, qword [rsp + 0xf0]
jge 0x1400196f7
cmp bl, al
jge 0x1400196b9
test r15, r15
je 0x140019758
mov r8d, dword [rsp + r15*4 + 0x3c]
mov rax, r15
test r8d, r8d
jns 0x14001953e
cmp r15, 0x28
je 0x140019758
mov eax, r8d
shr eax, 0x1f
mov dword [rsp + r15*4 + 0x40], eax
lea rax, [r15 + 1]
cmp r15, 1
je 0x14001960f
cmp r15, 8
jbe 0x1400195f0
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 0x140019580
cmp rcx, rdx
je 0x14001960f
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 0x1400195f0
shl dword [rsp + 0x40], 1
mov qword [rsp + 0xe0], rax
cmp rax, r14
cmova r14, rax
cmp r14, 0x29
jae 0x140019758
shl r14, 2
mov eax, 0xff
nop word cs:[rax + rax]
test r14, r14
je 0x14001969a
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 0x140019640
cmp cl, 1
jbe 0x1400196b9
jmp 0x1400196f7
cmp rax, 0x28
je 0x140019758
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 0x140018a40
jmp 0x140018a61
lea rax, [rsp + r14]
add rax, 0x1a8
lea rcx, [rsp + 0x1a8]
cmp rax, rcx
setne cl
neg cl
cmp cl, 1
ja 0x1400196f7
mov r8, 0xffffffffffffffff
mov rax, r13
mov rdi, qword [rsp + 0xe8]
nop dword [rax + rax]
test rax, rax
je 0x14001972c
mov rcx, rax
dec rax
inc r8
cmp byte [rsi + rcx - 1], 0x39
je 0x1400196d0
inc byte [rsi + rax]
cmp rcx, rbp
ja 0x1400196f7
add rcx, rsi
mov dl, 0x30
call fcn.140048bc0
cmp rbp, 0x10
mov rdi, qword [rsp + 0xe8]
ja 0x140019758
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 0x140019748
lea rcx, [rsi + 1]
mov dl, 0x30
mov r8, rbp
call fcn.140048bc0
cmp rbp, 0xf
ja 0x140019758
mov byte [rsi + rbp + 1], 0x30
add rbp, 2
inc edi
mov r13, rbp
jmp 0x140019705
ud2