Function at 0x1400866d0
Capabilities:
Enumerate pe sections

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x2b8
movaps xmmword [rsp + 0x2a0], xmm6
cmp qword [rdx + 8], 0x36
jne 0x1400868e8
mov rax, qword [rdx]
movzx esi, word [rax + 0x12]
rol si, 8
lea r8d, [rsi - 0x10]
movzx r8d, r8w
cmp r8d, 0x3ff0
ja 0x1400868e8
movzx r12d, word [rax + 0x24]
movzx r14d, word [rax + 0x26]
movzx ebp, word [rax + 0x28]
movzx ebx, word [rax + 0x2a]
movzx eax, word [rax + 0x32]
rol ax, 8
test ax, ax
je 0x14008690f
movzx eax, ax
cmp eax, 1
jne 0x1400868e8
mov r13b, 1
cmp qword [rdx + 0x18], 0x24
jne 0x14008691d
mov r8, qword [rdx + 0x28]
cmp r8, 4
jb 0x140086923
mov rax, qword [rdx + 0x10]
mov r9, qword [rdx + 0x20]
movzx r11d, word [rax + 4]
movzx edi, word [rax + 6]
movzx r15d, word [rax + 8]
movzx eax, word [rax + 0x22]
mov r10d, dword [r9]
bswap r10d
cmp r10d, 0x10000
je 0x140086797
cmp r10d, 0x5000
jne 0x140086923
cmp r8, 6
jb 0x140086923
movzx r8d, word [r9 + 4]
test r8w, r8w
je 0x140086923
mov word [rsp + 0x2c], r11w
mov r11d, eax
rol r11w, 8
mov word [rsp + 0x70], r8w
rol r8w, 8
mov qword [rsp + 0x50], r8
mov r10, qword [rdx + 0x80]
test r10, r10
mov qword [rsp + 0x38], r14
je 0x1400867fc
test ax, ax
je 0x1400867fc
mov rax, qword [rdx + 0x88]
movzx r14d, r11w
shl r14d, 2
cmp r14, rax
jbe 0x140086a18
xor r10d, r10d
mov word [rsp + 0x2e], r15w
mov r8, qword [rdx + 0x100]
test r8, r8
setne al
cmp qword [rdx + 0x108], 0x24
sete r9b
and r9b, al
mov byte [rsp + 0x5c], r9b
cmp r9b, 1
mov qword [rsp + 0x90], r8
jne 0x140086868
mov r15, qword [rdx + 0x110]
test r15, r15
je 0x140086868
movzx r8d, word [r8 + 0x22]
test r8w, r8w
je 0x140086868
rol r8w, 8
mov rax, qword [rdx + 0x118]
movzx r9d, r8w
shl r9d, 2
cmp r9, rax
jbe 0x1400872e6
xor r15d, r15d
mov qword [rsp + 0xa0], r9
mov dword [rsp + 0xa8], r8d
mov rax, qword [rdx + 0xa0]
mov r8d, 2
mov qword [rsp + 0xf8], r8
mov qword [rsp + 0x1a0], rax
test rax, rax
je 0x140086935
mov rax, qword [rdx + 0xa8]
mov r8, qword [rsp + 0x50]
inc r8d
cmp word [rsp + 0x70], 0xffff
mov r9d, 0xffff
cmovne r9d, r8d
movzx r8d, r9w
test r13b, r13b
je 0x140086929
shl r8d, 2
mov r9, r8
mov r8d, 1
mov qword [rsp + 0xe8], r9
cmp r9, rax
ja 0x140086935
jmp 0x140086a53
mov byte [rcx + 8], 3
mov qword [rcx], 3
movaps xmm6, xmmword [rsp + 0x2a0]
add rsp, 0x2b8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
xor r13d, r13d
cmp qword [rdx + 0x18], 0x24
je 0x140086753
mov byte [rcx + 8], 4
jmp 0x1400868ec
mov byte [rcx + 8], 5
jmp 0x1400868ec
add r8d, r8d
cmp r8, rax
jbe 0x140086a48
mov qword [rsp + 0x1a8], r15
mov qword [rsp + 0x1b0], r14
mov dword [rsp + 0xac], r11d
mov qword [rsp + 0x1b8], r10
mov rax, qword [rdx + 0x40]
mov r8, qword [rdx + 0x30]
mov r9, qword [rdx + 0x38]
mov qword [rsp + 0x190], r9
test r8, r8
mov r9, rax
mov qword [rsp + 0x198], r8
cmove r9, r8
test rax, rax
mov r8, qword [rdx + 0x48]
mov qword [rsp + 0x180], r8
cmove r9, rax
mov qword [rsp + 0x188], r9
mov rax, qword [rdx + 0x50]
test rax, rax
je 0x1400869c4
mov r8, qword [rdx + 0x58]
lea r9, [rsp + 0x1c0]
mov r15, rcx
mov rcx, r9
mov r14, rdx
mov rdx, rax
call fcn.14008af10
mov rdx, r14
mov rcx, r15
jmp 0x1400869d0
mov qword [rsp + 0x1c0], 3
mov r14, qword [rsp + 0x38]
movzx r11d, word [rsp + 0x2c]
mov r9, qword [rdx + 0x60]
test r9, r9
je 0x140086a13
mov r10, qword [rdx + 0x68]
cmp r10, 4
jb 0x140086a0e
movzx eax, word [r9 + 2]
rol ax, 8
movzx eax, ax
shl eax, 3
mov qword [rsp + 0x148], rax
add rax, 4
cmp rax, r10
jbe 0x140086a7d
xor r9d, r9d
jmp 0x140086a89
xor r9d, r9d
jmp 0x140086a89
cmp word [rsp + 0x50], r11w
jae 0x140087310
mov eax, 1
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0xd8], 0
mov word [rsp + 0x4c], r11w
jmp 0x1400867ff
mov qword [rsp + 0xe8], r8
xor r8d, r8d
mov rax, qword [rdx + 0x70]
mov r9, qword [rdx + 0x78]
mov qword [rsp + 0x150], r9
test rax, rax
je 0x140086ae0
mov qword [rsp + 0xe0], rax
mov qword [rsp + 0xf8], r8
jmp 0x140086935
lea rax, [r9 + 4]
mov qword [rsp + 0x140], rax
mov r15, qword [rdx + 0x90]
mov al, 2
mov dword [rsp + 0x68], eax
test r15, r15
je 0x140086afb
mov rax, qword [rdx + 0x98]
cmp rax, 2
jb 0x140086afb
cmp word [r15], 0
je 0x140086af1
cmp rax, 8
jb 0x140086afb
mov r8d, dword [r15 + 4]
bswap r8d
mov dword [rsp + 0x7c], r8d
mov r8b, 1
mov dword [rsp + 0x68], r8d
mov r8d, 8
mov qword [rsp + 0x40], r8
mov r8, 0xfffffffffffffff8
jmp 0x140087489
mov qword [rsp + 0xe0], 0
jmp 0x140086935
cmp rax, 4
jae 0x14008745c
mov rax, qword [rdx + 0xb0]
test rax, rax
mov qword [rsp + 0x178], r9
mov qword [rsp + 0x170], r10
mov qword [rsp + 0x168], r15
je 0x140086b36
mov r8, qword [rdx + 0xb8]
cmp r8, 2
jb 0x140086b36
cmp r8, 4
jae 0x140087200
mov qword [rsp + 0x40], 0
movzx r15d, word [rsp + 0x2e]
rol r14w, 8
rol bp, 8
rol bx, 8
rol di, 8
mov rax, qword [rdx + 0xc0]
test rax, rax
je 0x140086bc8
mov r8, qword [rdx + 0xc8]
cmp r8, 2
mov qword [rsp + 0xf0], r8
jb 0x140086bb8
movzx r8d, word [rax]
rol r8w, 8
cmp r8w, 5
ja 0x140086bb8
mov word [rsp + 0x2c], r8w
movzx r8d, r8w
lea r9, [0x1401071c8]
xor r15d, r15d
mov r10, qword [rsp + 0xf0]
cmp qword [r9 + r8*8], r10
cmove r15, rax
mov qword [rsp + 0x60], r15
movzx r15d, word [rsp + 0x2e]
jmp 0x140086bd6
mov qword [rsp + 0x60], 0
mov word [rsp + 0x2c], ax
jmp 0x140086bd6
mov qword [rsp + 0x60], 0
mov word [rsp + 0x2c], ax
rol r12w, 8
movzx r8d, bp
rol r11w, 8
rol r15w, 8
movzx eax, bx
mov r9, qword [rdx + 0xd0]
mov byte [rsp + 0x2e], 2
test r9, r9
je 0x140086c0e
mov r10, qword [rdx + 0xd8]
cmp r10, 0x20
jae 0x140087146
mov ebp, r11d
shl r14d, 0x10
movzx r11d, r12w
movzx r10d, bp
shl edi, 0x10
movzx r9d, r15w
mov r15, qword [rdx + 0xe0]
test r15, r15
mov qword [rsp + 0x98], rbx
je 0x140086c87
mov r12, qword [rdx + 0xe8]
cmp word [rsp + 0x70], 0xffff
je 0x140086c7e
cmp r12, 2
jb 0x140086c7e
cmp word [r15], 0x100
setne bl
cmp r12, 8
setb bpl
or bpl, bl
jne 0x140086c7e
mov ebp, dword [r15 + 4]
test ebp, ebp
je 0x140086c7e
bswap ebp
lea rbx, [rbp*4 + 8]
cmp rbx, r12
jbe 0x14008752d
xor r15d, r15d
mov dword [rsp + 0x30], ebx
jmp 0x140086c8e
xor r15d, r15d
mov dword [rsp + 0x30], ebx
mov qword [rsp + 0x158], r12
mov qword [rsp + 0x160], r15
shl r8, 0x20
shl rax, 0x30
mov rbx, qword [rdx + 0xf0]
test rbx, rbx
je 0x140086ce9
mov r15, qword [rdx + 0xf8]
cmp r15, 6
jb 0x140086ce9
mov r12d, dword [rbx + 2]
test r12d, r12d
je 0x140086ce9
bswap r12d
mov rbp, r15
sub rbp, r12
jb 0x140086ce9
mov qword [rsp + 0x130], rbp
lea rbp, [r12 + 2]
cmp rbp, r15
jbe 0x14008749e
xor r12d, r12d
mov qword [rsp + 0x70], rbp
mov qword [rsp + 0x38], r12
or rax, r8
or r14, r11
mov r8d, esi
shr r8d, 8
or rdi, r10
shl r9, 0x20
cmp byte [rsp + 0x5c], 0
je 0x140086d51
mov r10, qword [rsp + 0x90]
movzx r11d, word [r10 + 4]
movzx ebp, word [r10 + 6]
rol r11w, 8
mov word [rsp + 0x6e], r11w
rol bp, 8
movzx r15d, word [r10 + 8]
rol r15w, 8
movzx ebx, word [r10 + 0x22]
rol bx, 8
mov r10w, 1
mov dword [rsp + 0x5c], r10d
jmp 0x140086d59
mov dword [rsp + 0x5c], 0
or rax, r14
or rdi, r9
mov r9, qword [rdx + 0x120]
test r9, r9
je 0x140086d7c
mov rdx, qword [rdx + 0x128]
cmp rdx, 4
jae 0x140087198
xor r14d, r14d
mov byte [rcx + 0x281], r8b
mov qword [rcx + 0x282], rax
mov rax, qword [rsp + 0xf8]
mov qword [rcx], rax
mov rax, qword [rsp + 0x1a0]
mov qword [rcx + 8], rax
mov rax, qword [rsp + 0xe8]
mov qword [rcx + 0x10], rax
mov rax, qword [rsp + 0xe0]
mov qword [rcx + 0x18], rax
mov rax, qword [rsp + 0x150]
mov qword [rcx + 0x20], rax
lea rax, [rcx + 0x28]
lea rdx, [rsp + 0x1c0]
mov r8d, 0xe0
mov r12, rcx
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [rsp + 0x168]
mov qword [r12 + 0x108], rax
mov rax, qword [rsp + 0x138]
mov qword [r12 + 0x110], rax
mov eax, dword [rsp + 0x7c]
mov dword [r12 + 0x118], eax
mov eax, dword [rsp + 0x68]
mov byte [r12 + 0x11c], al
mov rax, qword [rsp + 0xc8]
mov qword [r12 + 0x120], rax
mov rax, qword [rsp + 0xd0]
mov qword [r12 + 0x128], rax
mov rax, qword [rsp + 0x98]
mov qword [r12 + 0x130], rax
mov rax, qword [rsp + 0x88]
mov qword [r12 + 0x138], rax
movss dword [r12 + 0x140], xmm6
movzx eax, word [rsp + 0x4e]
mov word [r12 + 0x144], ax
movzx eax, word [rsp + 0x36]
mov word [r12 + 0x146], ax
movzx eax, byte [rsp + 0x2e]
mov byte [r12 + 0x148], al
mov rax, rdi
shr rax, 0x20
mov word [r12 + 0x154], ax
mov dword [r12 + 0x150], edi
mov eax, dword [rsp + 0xac]
mov word [r12 + 0x156], ax
mov rax, qword [rsp + 0x188]
mov qword [r12 + 0x158], rax
mov rax, qword [rsp + 0x180]
mov qword [r12 + 0x160], rax
mov rax, qword [rsp + 0x198]
mov qword [r12 + 0x168], rax
mov rax, qword [rsp + 0x190]
mov qword [r12 + 0x170], rax
mov rax, qword [rsp + 0x178]
mov qword [r12 + 0x178], rax
mov rax, qword [rsp + 0x170]
mov qword [r12 + 0x180], rax
mov rax, qword [rsp + 0x140]
mov qword [r12 + 0x188], rax
mov rax, qword [rsp + 0x148]
mov qword [r12 + 0x190], rax
mov rax, qword [rsp + 0x1b8]
mov qword [r12 + 0x198], rax
mov rax, qword [rsp + 0x1b0]
mov qword [r12 + 0x1a0], rax
mov rax, qword [rsp + 0xc0]
mov qword [r12 + 0x1a8], rax
mov rax, qword [rsp + 0xd8]
mov qword [r12 + 0x1b0], rax
movzx eax, word [rsp + 0x4c]
mov word [r12 + 0x1b8], ax
mov rax, qword [rsp + 0x40]
mov qword [r12 + 0x1c0], rax
mov rax, qword [rsp + 0x108]
mov qword [r12 + 0x1c8], rax
mov rax, qword [rsp + 0x100]
mov qword [r12 + 0x1d0], rax
mov rax, qword [rsp + 0x80]
mov qword [r12 + 0x1d8], rax
mov rax, qword [rsp + 0x60]
mov qword [r12 + 0x1e0], rax
mov rax, qword [rsp + 0xf0]
mov qword [r12 + 0x1e8], rax
movzx eax, word [rsp + 0x2c]
mov byte [r12 + 0x1f0], al
mov rax, qword [rsp + 0x160]
mov qword [r12 + 0x1f8], rax
mov rax, qword [rsp + 0x158]
mov qword [r12 + 0x200], rax
mov rax, qword [rsp + 0x110]
mov qword [r12 + 0x208], rax
mov rax, qword [rsp + 0x118]
mov qword [r12 + 0x210], rax
mov eax, dword [rsp + 0x30]
mov word [r12 + 0x218], ax
mov rax, qword [rsp + 0x38]
mov qword [r12 + 0x220], rax
mov rax, qword [rsp + 0x130]
mov qword [r12 + 0x228], rax
mov rax, qword [rsp + 0x70]
mov qword [r12 + 0x230], rax
mov rax, qword [rsp + 0x128]
mov qword [r12 + 0x238], rax
mov rax, qword [rsp + 0x1a8]
mov qword [r12 + 0x240], rax
mov rax, qword [rsp + 0xa0]
mov qword [r12 + 0x248], rax
mov rax, qword [rsp + 0xb0]
mov qword [r12 + 0x250], rax
mov rax, qword [rsp + 0xb8]
mov qword [r12 + 0x258], rax
mov eax, dword [rsp + 0xa8]
mov word [r12 + 0x260], ax
mov qword [r12 + 0x268], r14
mov rax, qword [rsp + 0x120]
mov qword [r12 + 0x270], rax
movzx eax, word [rsp + 0x90]
mov word [r12 + 0x278], ax
mov byte [r12 + 0x280], sil
mov byte [r12 + 0x28a], r13b
mov eax, dword [rsp + 0x5c]
mov word [r12 + 0x28c], ax
movzx eax, word [rsp + 0x6e]
mov word [r12 + 0x28e], ax
mov word [r12 + 0x290], bp
mov word [r12 + 0x292], r15w
mov word [r12 + 0x294], bx
mov rax, qword [rsp + 0x50]
mov word [r12 + 0x296], ax
jmp 0x1400868f3
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x88], r10
mov ebx, dword [r9]
mov r10d, ebx
bswap r10d
mov ebp, r11d
cmp r10d, 0x24fff
jle 0x14008721e
cmp r10d, 0x25000
je 0x140087230
cmp r10d, 0x40000
je 0x140087230
cmp r10d, 0x30000
je 0x140087230
jmp 0x140087276
xor r14d, r14d
cmp rdx, 6
jb 0x140086d7f
cmp dword [r9], 0x100
jne 0x140086d7f
cmp rdx, 8
jb 0x140086d7c
movzx r10d, word [r9 + 6]
rol r10w, 8
movzx r11d, r10w
shl r11d, 2
lea r10, [r11 + 8]
cmp r10, rdx
ja 0x140086d7c
movzx edx, word [r9 + 4]
rol dx, 8
mov word [rsp + 0x90], dx
add r9, 8
mov r14, r9
mov qword [rsp + 0x120], r11
jmp 0x140086d7f
cmp r8, 6
movzx r15d, word [rsp + 0x2e]
jae 0x14008734e
mov qword [rsp + 0x40], 0
jmp 0x140086b45
cmp r10d, 0x10000
je 0x140087230
cmp r10d, 0x20000
jne 0x140087276
mov r14, r8
mov r11d, dword [r9 + 4]
movzx r10d, word [r9 + 8]
mov word [rsp + 0x4e], r10w
movzx r10d, word [r9 + 0xa]
mov r8d, dword [r9 + 0xc]
mov dword [rsp + 0x98], r8d
cmp ebx, 0x200
jne 0x140087280
mov word [rsp + 0x36], r10w
mov r10, qword [rsp + 0x88]
cmp r10, 0x22
mov r8, r14
jae 0x140087412
mov r14, qword [rsp + 0x38]
jmp 0x140086c11
mov ebx, 1
mov qword [rsp + 0x88], 0
mov qword [rsp + 0xd0], 0
mov r9d, 1
mov qword [rsp + 0xc8], r9
mov r8, r14
mov r14, qword [rsp + 0x38]
bswap r11d
cvtsi2ss xmm6, r11d
mulss xmm6, dword [0x1401071c0]
rol word [rsp + 0x4e], 8
rol r10w, 8
mov word [rsp + 0x36], r10w
cmp dword [rsp + 0x98], 0
setne byte [rsp + 0x2e]
jmp 0x140086c11
cmp word [rsp + 0x50], r8w
jae 0x1400874de
mov eax, 1
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0xb8], 0
jmp 0x14008686b
mov r8, qword [rsp + 0x50]
sub r8d, r11d
movzx r8d, r8w
add r8d, r8d
mov qword [rsp + 0xd8], r8
add r8, r14
cmp r8, rax
ja 0x1400867fc
lea rax, [r10 + r14]
mov qword [rsp + 0xc0], rax
mov rax, qword [rsp + 0x50]
mov word [rsp + 0x4c], ax
jmp 0x1400867ff
mov qword [rsp + 0x80], r8
movzx r8d, word [rax]
rol r8w, 8
movzx r9d, word [rax + 2]
movzx r10d, word [rax + 4]
cmp r8w, 1
je 0x140087555
movzx r11d, r8w
mov r8d, 6
test r11d, r11d
jne 0x14008757b
mov qword [rsp + 0x60], r8
rol r10w, 8
movzx r10d, r10w
mov qword [rsp + 0x40], 0
mov r15, qword [rsp + 0x80]
cmp r15, r10
movzx r11d, word [rsp + 0x2c]
jb 0x140086b3f
rol r9w, 8
movzx r9d, r9w
shl r9d, 2
lea r8, [r9 + r9*2]
mov qword [rsp + 0x108], r8
mov r9, qword [rsp + 0x60]
add r9, r8
cmp r9, r15
movzx r15d, word [rsp + 0x2e]
ja 0x140086b45
cmp r9, r10
cmova r10, r9
lea r9, [rax + r10]
mov qword [rsp + 0x100], r9
sub qword [rsp + 0x80], r10
mov r8, qword [rsp + 0x60]
add r8, rax
mov qword [rsp + 0x40], r8
jmp 0x140086b45
movzx ebx, word [r9 + 0x20]
rol bx, 8
movzx ebx, bx
add ebx, ebx
mov qword [rsp + 0xd0], rbx
add rbx, 0x22
sub r10, rbx
mov qword [rsp + 0x88], r10
mov r14, qword [rsp + 0x38]
jb 0x140086c11
lea r10, [r9 + 0x22]
mov qword [rsp + 0xc8], r10
add rbx, r9
movzx r10d, word [rsp + 0x36]
jmp 0x1400872b3
movzx r8d, word [r15 + 2]
rol r8w, 8
movzx r8d, r8w
mov dword [rsp + 0x7c], r8d
mov r8d, 4
mov qword [rsp + 0x40], r8
mov r8, 0xfffffffffffffffc
mov dword [rsp + 0x68], 0
add r8, rax
mov qword [rsp + 0x138], r8
add r15, qword [rsp + 0x40]
jmp 0x140086afb
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x70], rbp
movzx ebp, word [rbx + r12]
rol bp, 8
movzx r14d, bp
mov rbp, qword [rsp + 0x70]
shl r14d, 2
lea r14, [r14 + r14*2]
mov qword [rsp + 0x128], r14
add r14, rbp
cmp r14, r15
jbe 0x14008758f
xor r12d, r12d
jmp 0x140087595
mov qword [rsp + 0xa0], r9
mov r9d, r8d
mov r8, qword [rsp + 0x50]
sub r8d, r9d
mov r9, qword [rsp + 0xa0]
movzx r8d, r8w
add r8d, r8d
mov qword [rsp + 0xb8], r8
add r8, r9
cmp r8, rax
ja 0x140086868
lea rax, [r15 + r9]
mov qword [rsp + 0xb0], rax
mov rax, qword [rsp + 0x50]
mov r8d, eax
jmp 0x14008686b
mov rbx, qword [rsp + 0x50]
inc ebx
mov dword [rsp + 0x30], ebx
shl rbp, 2
mov qword [rsp + 0x118], rbp
lea rbx, [r15 + 8]
mov qword [rsp + 0x110], rbx
jmp 0x140086c8e
cmp qword [rsp + 0x80], 8
jb 0x140087210
movzx r8d, word [rax + 6]
rol r8w, 8
movzx r11d, r8w
cmp r11d, 0x3fff
jbe 0x14008759f
mov qword [rsp + 0x40], 0
movzx r11d, word [rsp + 0x2c]
jmp 0x140086b45
add r12, rbx
add rbp, rbx
mov r14, qword [rsp + 0x38]
jmp 0x140086cec
and r8d, 0x3fff
lea r8, [r8*4 + 8]
jmp 0x140087387