Function at 0x14001a730
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 0x14001bad8
mov rdi, rcx
mov rcx, qword [rdx + 8]
test rcx, rcx
je 0x14001bad8
mov rax, qword [rdx + 0x10]
test rax, rax
je 0x14001bad8
mov r9, r8
add r9, rax
jb 0x14001bad8
cmp r8, rcx
jb 0x14001bad8
movsx rsi, word [rdx + 0x18]
dec r9
je 0x14001a798
bsr r9, r9
xor r9, 0x3f
jmp 0x14001a79e
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 0x14001aa16
lea rcx, [rsp + 0x40]
mov rdx, rsi
call fcn.14001a5e0
lea rcx, [rsp + 0x250]
mov rdx, rsi
call fcn.14001a5e0
lea rcx, [rsp + 0x100]
mov rdx, rsi
call fcn.14001a5e0
test r15w, r15w
mov qword [rsp + 0xf0], rbx
js 0x14001aa37
mov edx, r15d
and edx, 0x7fff
lea rcx, [rsp + 0x1a8]
jmp 0x14001aa67
neg esi
movsx rdx, si
lea rcx, [rsp + 0x1a8]
call fcn.14001a5e0
test r15w, r15w
mov qword [rsp + 0xf0], rbx
jns 0x14001aa03
mov eax, r15d
neg eax
movzx esi, ax
lea rcx, [rsp + 0x40]
mov rdx, rsi
call fcn.14001a160
lea rcx, [rsp + 0x250]
mov rdx, rsi
call fcn.14001a160
lea rcx, [rsp + 0x100]
mov rdx, rsi
call fcn.14001a160
lea rcx, [rsp + 0x2f8]
lea rdx, [rsp + 0x40]
mov r8d, 0xa8
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov rax, qword [rsp + 0x398]
mov r12, qword [rsp + 0x1a0]
cmp rax, r12
cmovbe rax, r12
cmp rax, 0x28
ja 0x14001bad8
test rax, rax
je 0x14001aaba
cmp rax, 1
jne 0x14001aac1
xor edx, edx
xor r8d, r8d
jmp 0x14001ab41
xor eax, eax
jmp 0x14001ab8c
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 0x14001aad0
test al, 1
jne 0x14001ab41
test r8b, 1
je 0x14001ab8c
jmp 0x14001ab74
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 0x14001ab74
test cl, cl
je 0x14001ab8c
cmp rax, 0x28
je 0x14001bad8
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 0x14001bad8
shl rax, 2
mov ecx, 0xff
nop word cs:[rax + rax]
test rax, rax
je 0x14001abf3
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 0x14001abc0
cmp dl, byte [rsp + 0x27]
jge 0x14001ac12
inc r15d
jmp 0x14001ad6a
add rax, rsp
add rax, 0x2f8
lea rcx, [rsp + 0x2f8]
cmp rax, rcx
setne dl
neg dl
cmp dl, byte [rsp + 0x27]
jl 0x14001abeb
mov rax, qword [rsp + 0xe0]
cmp rax, 0x28
ja 0x14001bad8
test rax, rax
je 0x14001ac77
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 0x14001ac40
test rcx, rcx
je 0x14001ac79
cmp rax, 0x28
je 0x14001bad8
mov dword [rsp + rax*4 + 0x40], ecx
inc rax
jmp 0x14001ac79
xor eax, eax
mov qword [rsp + 0xe0], rax
mov rax, qword [rsp + 0x2f0]
cmp rax, 0x28
ja 0x14001bad8
test rax, rax
je 0x14001ad50
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 0x14001acb0
test rcx, rcx
je 0x14001acee
cmp rax, 0x28
je 0x14001bad8
mov dword [rsp + rax*4 + 0x250], ecx
inc rax
mov qword [rsp + 0x2f0], rax
test r12, r12
je 0x14001ad5f
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 0x14001ad10
test rax, rax
je 0x14001ad62
cmp r12, 0x28
je 0x14001bad8
mov dword [rsp + r12*4 + 0x100], eax
inc r12
jmp 0x14001ad62
xor eax, eax
mov qword [rsp + 0x2f0], rax
test r12, r12
jne 0x14001acfb
xor r12d, r12d
mov qword [rsp + 0x1a0], r12
lea rcx, [rsp + 0x3a0]
lea rdx, [rsp + 0x1a8]
mov r8d, 0xa8
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov rax, qword [rsp + 0x440]
test rax, rax
je 0x14001bad8
cmp rax, 0x28
ja 0x14001bad8
mov ecx, dword [rsp + rax*4 + 0x39c]
mov qword [rsp + 0x30], rax
test ecx, ecx
js 0x14001b9ec
cmp rax, 1
je 0x14001ade1
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 0x14001adc0
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 sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov rax, qword [rsp + 0x4e8]
test rax, rax
je 0x14001bad8
cmp rax, 0x28
ja 0x14001bad8
mov ecx, dword [rsp + rax*4 + 0x444]
mov qword [rsp + 0x38], rax
cmp ecx, 0x40000000
jb 0x14001ae5e
cmp rax, 0x28
je 0x14001bad8
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 0x14001ae91
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 0x14001ae70
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 sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov rax, qword [rsp + 0x590]
test rax, rax
je 0x14001bad8
cmp rax, 0x28
ja 0x14001bad8
mov ecx, dword [rsp + rax*4 + 0x4ec]
mov qword [rsp + 0x28], rax
cmp ecx, 0x20000000
jb 0x14001af0f
cmp rax, 0x28
je 0x14001bad8
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 0x14001af51
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 0x14001af30
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 0x14001bad8
xor r13d, r13d
mov edi, 0xff
jmp 0x14001afb1
xor r12d, r12d
mov qword [rsp + 0x1a0], r12
mov rcx, qword [rsp + 0x28]
cmp r15, rcx
cmova rcx, r15
cmp rcx, 0x28
ja 0x14001bad8
mov rbp, r13
lea rax, [rcx*4]
nop dword [rax]
test rax, rax
je 0x14001b000
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 0x14001afc0
cmp dl, 1
ja 0x14001b01e
cmp rcx, 1
jne 0x14001b030
mov dl, 1
xor r8d, r8d
jmp 0x14001b0b0
add rax, rsp
add rax, 0x4f0
lea rdx, [rsp + 0x4f0]
cmp rax, rdx
setne dl
neg dl
cmp dl, 1
jbe 0x14001afe7
xor eax, eax
mov rcx, r15
jmp 0x14001b0eb
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 0x14001b040
test cl, 1
jne 0x14001b0b0
test dl, 1
jne 0x14001b0e1
jmp 0x14001bad8
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 0x14001b0e1
test al, al
je 0x14001bad8
mov qword [rsp + 0xe0], rcx
mov al, 8
mov rdx, qword [rsp + 0x38]
cmp rcx, rdx
cmova rdx, rcx
cmp rdx, 0x29
jae 0x14001bad8
lea r8, [rdx*4]
nop dword [rax]
test r8, r8
je 0x14001b150
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 0x14001b110
cmp r9b, 1
ja 0x14001b172
cmp rdx, 1
jne 0x14001b180
mov r8b, 1
xor r9d, r9d
jmp 0x14001b200
add r8, rsp
add r8, 0x448
lea r9, [rsp + 0x448]
cmp r8, r9
setne r9b
neg r9b
cmp r9b, 1
jbe 0x14001b13c
mov rdx, rcx
jmp 0x14001b23e
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 0x14001b190
test dl, 1
jne 0x14001b200
test r8b, 1
jne 0x14001b234
jmp 0x14001bad8
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 0x14001b234
test cl, cl
je 0x14001bad8
mov qword [rsp + 0xe0], rdx
or al, 4
mov rcx, qword [rsp + 0x30]
cmp rdx, rcx
cmova rcx, rdx
cmp rcx, 0x29
jae 0x14001bad8
lea r8, [rcx*4]
nop dword [rax]
test r8, r8
je 0x14001b2a0
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 0x14001b260
cmp r9b, 1
ja 0x14001b2c2
cmp rcx, 1
jne 0x14001b2d0
mov r8b, 1
xor r9d, r9d
jmp 0x14001b350
add r8, rsp
add r8, 0x3a0
lea r9, [rsp + 0x3a0]
cmp r8, r9
setne r9b
neg r9b
cmp r9b, 1
jbe 0x14001b28c
mov rcx, rdx
jmp 0x14001b38e
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 0x14001b2e0
test cl, 1
jne 0x14001b350
test r8b, 1
jne 0x14001b384
jmp 0x14001bad8
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 0x14001b384
test dl, dl
je 0x14001bad8
mov qword [rsp + 0xe0], rcx
add al, 2
cmp rcx, r14
mov r15, r14
cmova r15, rcx
cmp r15, 0x29
jae 0x14001bad8
lea rdx, [r15*4]
nop word [rax + rax]
test rdx, rdx
je 0x14001b400
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 0x14001b3b0
cmp r8b, 1
ja 0x14001b422
test r15, r15
je 0x14001b4e1
cmp r15, 1
jne 0x14001b42a
mov dl, 1
xor r8d, r8d
jmp 0x14001b4b0
add rdx, rsp
add rdx, 0x1a8
lea r8, [rsp + 0x1a8]
cmp rdx, r8
setne r8b
neg r8b
cmp r8b, 1
jbe 0x14001b3dc
mov r15, rcx
jmp 0x14001b4eb
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 0x14001b440
test r15b, 1
jne 0x14001b4b0
test dl, 1
jne 0x14001b4e1
jmp 0x14001bad8
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 0x14001b4e1
test cl, cl
je 0x14001bad8
mov qword [rsp + 0xe0], r15
inc al
cmp rbp, 0x11
je 0x14001bad8
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 0x14001bad8
lea r13, [rbp + 1]
shl rax, 2
nop word cs:[rax + rax]
test rax, rax
je 0x14001b560
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 0x14001b530
jmp 0x14001b579
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 sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov rax, qword [rsp + 0x398]
cmp rax, r12
cmovbe rax, r12
cmp rax, 0x28
ja 0x14001bad8
test rax, rax
je 0x14001b5c0
cmp rax, 1
jne 0x14001b5d0
xor edx, edx
xor r8d, r8d
jmp 0x14001b660
xor eax, eax
jmp 0x14001b6ab
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 0x14001b5e0
test al, 1
jne 0x14001b660
test r8b, 1
je 0x14001b6ab
jmp 0x14001b693
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 0x14001b693
test cl, cl
je 0x14001b6ab
cmp rax, 0x28
je 0x14001bad8
mov dword [rsp + rax*4 + 0x2f8], 1
inc rax
mov qword [rsp + 0x398], rax
cmp r14, rax
cmova rax, r14
cmp rax, 0x29
jae 0x14001bad8
shl rax, 2
nop dword [rax + rax]
test rax, rax
je 0x14001b710
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 0x14001b6d0
movzx eax, byte [rsp + 0x27]
cmp bl, al
jge 0x14001b736
jmp 0x14001b877
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 0x14001b877
cmp cl, al
jl 0x14001b877
test r15, r15
je 0x14001b800
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 0x14001b760
test rax, rax
je 0x14001b795
cmp r15, 0x28
je 0x14001bad8
mov dword [rsp + r15*4 + 0x40], eax
inc r15
mov qword [rsp + 0xe0], r15
test rsi, rsi
je 0x14001b810
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 0x14001b7b0
test rax, rax
je 0x14001b7ed
cmp rsi, 0x28
je 0x14001bad8
mov dword [rsp + rsi*4 + 0x250], eax
inc rsi
mov qword [rsp + 0x2f0], rsi
test r12, r12
jne 0x14001b823
jmp 0x14001af90
xor r15d, r15d
mov qword [rsp + 0xe0], r15
test rsi, rsi
jne 0x14001b7a2
xor esi, esi
mov qword [rsp + 0x2f0], rsi
test r12, r12
je 0x14001af90
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 0x14001b830
test rax, rax
je 0x14001af93
cmp r12, 0x28
je 0x14001bad8
mov dword [rsp + r12*4 + 0x100], eax
inc r12
jmp 0x14001af93
cmp cl, al
mov rsi, qword [rsp + 0xf0]
jge 0x14001ba77
cmp bl, al
jge 0x14001ba39
test r15, r15
je 0x14001bad8
mov r8d, dword [rsp + r15*4 + 0x3c]
mov rax, r15
test r8d, r8d
jns 0x14001b8be
cmp r15, 0x28
je 0x14001bad8
mov eax, r8d
shr eax, 0x1f
mov dword [rsp + r15*4 + 0x40], eax
lea rax, [r15 + 1]
cmp r15, 1
je 0x14001b98f
cmp r15, 8
jbe 0x14001b970
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 0x14001b900
cmp rcx, rdx
je 0x14001b98f
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 0x14001b970
shl dword [rsp + 0x40], 1
mov qword [rsp + 0xe0], rax
cmp rax, r14
cmova r14, rax
cmp r14, 0x29
jae 0x14001bad8
shl r14, 2
mov eax, 0xff
nop word cs:[rax + rax]
test r14, r14
je 0x14001ba1a
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 0x14001b9c0
cmp cl, 1
jbe 0x14001ba39
jmp 0x14001ba77
cmp rax, 0x28
je 0x14001bad8
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 0x14001adc0
jmp 0x14001ade1
lea rax, [rsp + r14]
add rax, 0x1a8
lea rcx, [rsp + 0x1a8]
cmp rax, rcx
setne cl
neg cl
cmp cl, 1
ja 0x14001ba77
mov r8, 0xffffffffffffffff
mov rax, r13
mov rdi, qword [rsp + 0xe8]
nop dword [rax + rax]
test rax, rax
je 0x14001baac
mov rcx, rax
dec rax
inc r8
cmp byte [rsi + rcx - 1], 0x39
je 0x14001ba50
inc byte [rsi + rax]
cmp rcx, rbp
ja 0x14001ba77
add rcx, rsi
mov dl, 0x30
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
cmp rbp, 0x10
mov rdi, qword [rsp + 0xe8]
ja 0x14001bad8
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 0x14001bac8
lea rcx, [rsi + 1]
mov dl, 0x30
mov r8, rbp
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
cmp rbp, 0xf
ja 0x14001bad8
mov byte [rsi + rbp + 1], 0x30
add rbp, 2
inc edi
mov r13, rbp
jmp 0x14001ba85
ud2