Function at 0x140014820
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 0x140015bc8
mov rdi, rcx
mov rcx, qword [rdx + 8]
test rcx, rcx
je 0x140015bc8
mov rax, qword [rdx + 0x10]
test rax, rax
je 0x140015bc8
mov r9, r8
add r9, rax
jb 0x140015bc8
cmp r8, rcx
jb 0x140015bc8
movsx rsi, word [rdx + 0x18]
dec r9
je 0x140014888
bsr r9, r9
xor r9, 0x3f
jmp 0x14001488e
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 0x140014b06
lea rcx, [rsp + 0x40]
mov rdx, rsi
call fcn.1400146d0
lea rcx, [rsp + 0x250]
mov rdx, rsi
call fcn.1400146d0
lea rcx, [rsp + 0x100]
mov rdx, rsi
call fcn.1400146d0
test r15w, r15w
mov qword [rsp + 0xf0], rbx
js 0x140014b27
mov edx, r15d
and edx, 0x7fff
lea rcx, [rsp + 0x1a8]
jmp 0x140014b57
neg esi
movsx rdx, si
lea rcx, [rsp + 0x1a8]
call fcn.1400146d0
test r15w, r15w
mov qword [rsp + 0xf0], rbx
jns 0x140014af3
mov eax, r15d
neg eax
movzx esi, ax
lea rcx, [rsp + 0x40]
mov rdx, rsi
call fcn.140014250
lea rcx, [rsp + 0x250]
mov rdx, rsi
call fcn.140014250
lea rcx, [rsp + 0x100]
mov rdx, rsi
call fcn.140014250
lea rcx, [rsp + 0x2f8]
lea rdx, [rsp + 0x40]
mov r8d, 0xa8
call fcn.14003fb90
mov rax, qword [rsp + 0x398]
mov r12, qword [rsp + 0x1a0]
cmp rax, r12
cmovbe rax, r12
cmp rax, 0x28
ja 0x140015bc8
test rax, rax
je 0x140014baa
cmp rax, 1
jne 0x140014bb1
xor edx, edx
xor r8d, r8d
jmp 0x140014c31
xor eax, eax
jmp 0x140014c7c
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 0x140014bc0
test al, 1
jne 0x140014c31
test r8b, 1
je 0x140014c7c
jmp 0x140014c64
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 0x140014c64
test cl, cl
je 0x140014c7c
cmp rax, 0x28
je 0x140015bc8
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 0x140015bc8
shl rax, 2
mov ecx, 0xff
nop word cs:[rax + rax]
test rax, rax
je 0x140014ce3
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 0x140014cb0
cmp dl, byte [rsp + 0x27]
jge 0x140014d02
inc r15d
jmp 0x140014e5a
add rax, rsp
add rax, 0x2f8
lea rcx, [rsp + 0x2f8]
cmp rax, rcx
setne dl
neg dl
cmp dl, byte [rsp + 0x27]
jl 0x140014cdb
mov rax, qword [rsp + 0xe0]
cmp rax, 0x28
ja 0x140015bc8
test rax, rax
je 0x140014d67
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 0x140014d30
test rcx, rcx
je 0x140014d69
cmp rax, 0x28
je 0x140015bc8
mov dword [rsp + rax*4 + 0x40], ecx
inc rax
jmp 0x140014d69
xor eax, eax
mov qword [rsp + 0xe0], rax
mov rax, qword [rsp + 0x2f0]
cmp rax, 0x28
ja 0x140015bc8
test rax, rax
je 0x140014e40
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 0x140014da0
test rcx, rcx
je 0x140014dde
cmp rax, 0x28
je 0x140015bc8
mov dword [rsp + rax*4 + 0x250], ecx
inc rax
mov qword [rsp + 0x2f0], rax
test r12, r12
je 0x140014e4f
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 0x140014e00
test rax, rax
je 0x140014e52
cmp r12, 0x28
je 0x140015bc8
mov dword [rsp + r12*4 + 0x100], eax
inc r12
jmp 0x140014e52
xor eax, eax
mov qword [rsp + 0x2f0], rax
test r12, r12
jne 0x140014deb
xor r12d, r12d
mov qword [rsp + 0x1a0], r12
lea rcx, [rsp + 0x3a0]
lea rdx, [rsp + 0x1a8]
mov r8d, 0xa8
call fcn.14003fb90
mov rax, qword [rsp + 0x440]
test rax, rax
je 0x140015bc8
cmp rax, 0x28
ja 0x140015bc8
mov ecx, dword [rsp + rax*4 + 0x39c]
mov qword [rsp + 0x30], rax
test ecx, ecx
js 0x140015adc
cmp rax, 1
je 0x140014ed1
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 0x140014eb0
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.14003fb90
mov rax, qword [rsp + 0x4e8]
test rax, rax
je 0x140015bc8
cmp rax, 0x28
ja 0x140015bc8
mov ecx, dword [rsp + rax*4 + 0x444]
mov qword [rsp + 0x38], rax
cmp ecx, 0x40000000
jb 0x140014f4e
cmp rax, 0x28
je 0x140015bc8
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 0x140014f81
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 0x140014f60
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.14003fb90
mov rax, qword [rsp + 0x590]
test rax, rax
je 0x140015bc8
cmp rax, 0x28
ja 0x140015bc8
mov ecx, dword [rsp + rax*4 + 0x4ec]
mov qword [rsp + 0x28], rax
cmp ecx, 0x20000000
jb 0x140014fff
cmp rax, 0x28
je 0x140015bc8
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 0x140015041
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 0x140015020
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 0x140015bc8
xor r13d, r13d
mov edi, 0xff
jmp 0x1400150a1
xor r12d, r12d
mov qword [rsp + 0x1a0], r12
mov rcx, qword [rsp + 0x28]
cmp r15, rcx
cmova rcx, r15
cmp rcx, 0x28
ja 0x140015bc8
mov rbp, r13
lea rax, [rcx*4]
nop dword [rax]
test rax, rax
je 0x1400150f0
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 0x1400150b0
cmp dl, 1
ja 0x14001510e
cmp rcx, 1
jne 0x140015120
mov dl, 1
xor r8d, r8d
jmp 0x1400151a0
add rax, rsp
add rax, 0x4f0
lea rdx, [rsp + 0x4f0]
cmp rax, rdx
setne dl
neg dl
cmp dl, 1
jbe 0x1400150d7
xor eax, eax
mov rcx, r15
jmp 0x1400151db
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 0x140015130
test cl, 1
jne 0x1400151a0
test dl, 1
jne 0x1400151d1
jmp 0x140015bc8
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 0x1400151d1
test al, al
je 0x140015bc8
mov qword [rsp + 0xe0], rcx
mov al, 8
mov rdx, qword [rsp + 0x38]
cmp rcx, rdx
cmova rdx, rcx
cmp rdx, 0x29
jae 0x140015bc8
lea r8, [rdx*4]
nop dword [rax]
test r8, r8
je 0x140015240
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 0x140015200
cmp r9b, 1
ja 0x140015262
cmp rdx, 1
jne 0x140015270
mov r8b, 1
xor r9d, r9d
jmp 0x1400152f0
add r8, rsp
add r8, 0x448
lea r9, [rsp + 0x448]
cmp r8, r9
setne r9b
neg r9b
cmp r9b, 1
jbe 0x14001522c
mov rdx, rcx
jmp 0x14001532e
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 0x140015280
test dl, 1
jne 0x1400152f0
test r8b, 1
jne 0x140015324
jmp 0x140015bc8
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 0x140015324
test cl, cl
je 0x140015bc8
mov qword [rsp + 0xe0], rdx
or al, 4
mov rcx, qword [rsp + 0x30]
cmp rdx, rcx
cmova rcx, rdx
cmp rcx, 0x29
jae 0x140015bc8
lea r8, [rcx*4]
nop dword [rax]
test r8, r8
je 0x140015390
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 0x140015350
cmp r9b, 1
ja 0x1400153b2
cmp rcx, 1
jne 0x1400153c0
mov r8b, 1
xor r9d, r9d
jmp 0x140015440
add r8, rsp
add r8, 0x3a0
lea r9, [rsp + 0x3a0]
cmp r8, r9
setne r9b
neg r9b
cmp r9b, 1
jbe 0x14001537c
mov rcx, rdx
jmp 0x14001547e
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 0x1400153d0
test cl, 1
jne 0x140015440
test r8b, 1
jne 0x140015474
jmp 0x140015bc8
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 0x140015474
test dl, dl
je 0x140015bc8
mov qword [rsp + 0xe0], rcx
add al, 2
cmp rcx, r14
mov r15, r14
cmova r15, rcx
cmp r15, 0x29
jae 0x140015bc8
lea rdx, [r15*4]
nop word [rax + rax]
test rdx, rdx
je 0x1400154f0
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 0x1400154a0
cmp r8b, 1
ja 0x140015512
test r15, r15
je 0x1400155d1
cmp r15, 1
jne 0x14001551a
mov dl, 1
xor r8d, r8d
jmp 0x1400155a0
add rdx, rsp
add rdx, 0x1a8
lea r8, [rsp + 0x1a8]
cmp rdx, r8
setne r8b
neg r8b
cmp r8b, 1
jbe 0x1400154cc
mov r15, rcx
jmp 0x1400155db
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 0x140015530
test r15b, 1
jne 0x1400155a0
test dl, 1
jne 0x1400155d1
jmp 0x140015bc8
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 0x1400155d1
test cl, cl
je 0x140015bc8
mov qword [rsp + 0xe0], r15
inc al
cmp rbp, 0x11
je 0x140015bc8
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 0x140015bc8
lea r13, [rbp + 1]
shl rax, 2
nop word cs:[rax + rax]
test rax, rax
je 0x140015650
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 0x140015620
jmp 0x140015669
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.14003fb90
mov rax, qword [rsp + 0x398]
cmp rax, r12
cmovbe rax, r12
cmp rax, 0x28
ja 0x140015bc8
test rax, rax
je 0x1400156b0
cmp rax, 1
jne 0x1400156c0
xor edx, edx
xor r8d, r8d
jmp 0x140015750
xor eax, eax
jmp 0x14001579b
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 0x1400156d0
test al, 1
jne 0x140015750
test r8b, 1
je 0x14001579b
jmp 0x140015783
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 0x140015783
test cl, cl
je 0x14001579b
cmp rax, 0x28
je 0x140015bc8
mov dword [rsp + rax*4 + 0x2f8], 1
inc rax
mov qword [rsp + 0x398], rax
cmp r14, rax
cmova rax, r14
cmp rax, 0x29
jae 0x140015bc8
shl rax, 2
nop dword [rax + rax]
test rax, rax
je 0x140015800
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 0x1400157c0
movzx eax, byte [rsp + 0x27]
cmp bl, al
jge 0x140015826
jmp 0x140015967
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 0x140015967
cmp cl, al
jl 0x140015967
test r15, r15
je 0x1400158f0
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 0x140015850
test rax, rax
je 0x140015885
cmp r15, 0x28
je 0x140015bc8
mov dword [rsp + r15*4 + 0x40], eax
inc r15
mov qword [rsp + 0xe0], r15
test rsi, rsi
je 0x140015900
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 0x1400158a0
test rax, rax
je 0x1400158dd
cmp rsi, 0x28
je 0x140015bc8
mov dword [rsp + rsi*4 + 0x250], eax
inc rsi
mov qword [rsp + 0x2f0], rsi
test r12, r12
jne 0x140015913
jmp 0x140015080
xor r15d, r15d
mov qword [rsp + 0xe0], r15
test rsi, rsi
jne 0x140015892
xor esi, esi
mov qword [rsp + 0x2f0], rsi
test r12, r12
je 0x140015080
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 0x140015920
test rax, rax
je 0x140015083
cmp r12, 0x28
je 0x140015bc8
mov dword [rsp + r12*4 + 0x100], eax
inc r12
jmp 0x140015083
cmp cl, al
mov rsi, qword [rsp + 0xf0]
jge 0x140015b67
cmp bl, al
jge 0x140015b29
test r15, r15
je 0x140015bc8
mov r8d, dword [rsp + r15*4 + 0x3c]
mov rax, r15
test r8d, r8d
jns 0x1400159ae
cmp r15, 0x28
je 0x140015bc8
mov eax, r8d
shr eax, 0x1f
mov dword [rsp + r15*4 + 0x40], eax
lea rax, [r15 + 1]
cmp r15, 1
je 0x140015a7f
cmp r15, 8
jbe 0x140015a60
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 0x1400159f0
cmp rcx, rdx
je 0x140015a7f
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 0x140015a60
shl dword [rsp + 0x40], 1
mov qword [rsp + 0xe0], rax
cmp rax, r14
cmova r14, rax
cmp r14, 0x29
jae 0x140015bc8
shl r14, 2
mov eax, 0xff
nop word cs:[rax + rax]
test r14, r14
je 0x140015b0a
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 0x140015ab0
cmp cl, 1
jbe 0x140015b29
jmp 0x140015b67
cmp rax, 0x28
je 0x140015bc8
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 0x140014eb0
jmp 0x140014ed1
lea rax, [rsp + r14]
add rax, 0x1a8
lea rcx, [rsp + 0x1a8]
cmp rax, rcx
setne cl
neg cl
cmp cl, 1
ja 0x140015b67
mov r8, 0xffffffffffffffff
mov rax, r13
mov rdi, qword [rsp + 0xe8]
nop dword [rax + rax]
test rax, rax
je 0x140015b9c
mov rcx, rax
dec rax
inc r8
cmp byte [rsi + rcx - 1], 0x39
je 0x140015b40
inc byte [rsi + rax]
cmp rcx, rbp
ja 0x140015b67
add rcx, rsi
mov dl, 0x30
call fcn.140040240
cmp rbp, 0x10
mov rdi, qword [rsp + 0xe8]
ja 0x140015bc8
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 0x140015bb8
lea rcx, [rsi + 1]
mov dl, 0x30
mov r8, rbp
call fcn.140040240
cmp rbp, 0xf
ja 0x140015bc8
mov byte [rsi + rbp + 1], 0x30
add rbp, 2
inc edi
mov r13, rbp
jmp 0x140015b75
ud2