Function at 0x1400a0d80
Capabilities:
Enumerate pe sections

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x840
mov rax, qword [section..data]
xor rax, rsp
mov qword [rsp + 0x830], rax
cmp qword [rcx + 0x48], 0
mov rbx, rdx
movsxd rbp, r8d
mov r14, rcx
jne 0x1400a14a3
cmp qword [rcx + 0x50], 0
jne 0x1400a14a3
mov rax, qword [rsp + 0x8a8]
lea rdx, str.DXBDXARC
test rax, rax
mov ecx, 0x7ffd
cmovne rdx, rax
call fcn.140076d00
sub eax, 1
je 0x1400a0e3c
sub eax, 1
je 0x1400a0e1b
xor r15d, r15d
cmp eax, 2
je 0x1400a0e06
mov qword [r14 + 0x8c8], r15
jmp 0x1400a0e96
mov rcx, r15
cmp dword [rdx], r15d
je 0x1400a0e50
nop
inc rcx
cmp dword [rdx + rcx*4], r15d
jne 0x1400a0e10
jmp 0x1400a0e50
xor r15d, r15d
mov ecx, r15d
cmp word [rdx], r15w
je 0x1400a0e50
nop word [rax + rax]
inc rcx
cmp word [rdx + rcx*2], r15w
jne 0x1400a0e30
jmp 0x1400a0e50
xor r15d, r15d
mov ecx, r15d
cmp byte [rdx], r15b
je 0x1400a0e50
inc rcx
cmp byte [rdx + rcx], r15b
jne 0x1400a0e47
mov qword [r14 + 0x8c8], rcx
mov r8, rdx
cmp rcx, 0x3f
jbe 0x1400a0e6e
mov ecx, 0x3f
mov qword [r14 + 0x8c8], rcx
jmp 0x1400a0e73
test rcx, rcx
je 0x1400a0e96
mov r9, r14
sub r9, rdx
nop dword [rax]
movzx eax, byte [r8]
mov byte [r9 + r8 + 0x888], al
lea r8, [r8 + 1]
sub rcx, 1
jne 0x1400a0e80
mov rax, qword [r14 + 0x8c8]
lea rcx, [r14 + 0x888]
lea r8, [r14 + 0x881]
mov byte [rax + r14 + 0x888], 0
mov rdx, qword [r14 + 0x8c8]
call fcn.1400a03b0
mov rsi, qword [rsp + 0x8b0]
test rsi, rsi
je 0x1400a0ef9
mov ecx, dword [0x14024e138]
test ecx, ecx
jne 0x1400a0ee2
call fcn.140091610
mov ecx, dword [0x14024e138]
lea rdx, [r14 + 0x80]
mov r9, rsi
mov r8d, 0x800
call fcn.14007c200
jmp 0x1400a0f0d
lea rcx, [r14 + 0x80]
xor edx, edx
mov r8d, 0x800
call fcn.140123da0
mov qword [r14 + 0x58], r15
mov qword [r14 + 0x8d8], rbp
mov qword [r14 + 0x50], rbx
mov qword [r14 + 0x8e8], r15
movzx eax, byte [rbx]
mov byte [r14], al
movzx eax, byte [rbx + 1]
mov byte [r14 + 1], al
movzx eax, byte [rbx + 2]
mov byte [r14 + 2], al
movzx eax, byte [rbx + 3]
mov byte [r14 + 3], al
mov eax, 0x5844
cmp word [r14], ax
jne 0x1400a1297
cmp word [r14 + 2], 8
jne 0x1400a1297
movzx eax, byte [rbx]
mov byte [r14], al
movzx eax, byte [rbx + 1]
mov byte [r14 + 1], al
movzx eax, byte [rbx + 2]
mov byte [r14 + 2], al
movzx eax, byte [rbx + 3]
mov byte [r14 + 3], al
movzx eax, byte [rbx + 4]
mov byte [r14 + 4], al
movzx eax, byte [rbx + 5]
mov byte [r14 + 5], al
movzx eax, byte [rbx + 6]
mov byte [r14 + 6], al
movzx eax, byte [rbx + 7]
mov byte [r14 + 7], al
movzx eax, byte [rbx + 8]
mov byte [r14 + 8], al
movzx eax, byte [rbx + 9]
mov byte [r14 + 9], al
movzx eax, byte [rbx + 0xa]
mov byte [r14 + 0xa], al
movzx eax, byte [rbx + 0xb]
mov byte [r14 + 0xb], al
movzx eax, byte [rbx + 0xc]
mov byte [r14 + 0xc], al
movzx eax, byte [rbx + 0xd]
mov byte [r14 + 0xd], al
movzx eax, byte [rbx + 0xe]
mov byte [r14 + 0xe], al
movzx eax, byte [rbx + 0xf]
mov byte [r14 + 0xf], al
movzx eax, byte [rbx + 0x10]
mov byte [r14 + 0x10], al
movzx eax, byte [rbx + 0x11]
mov byte [r14 + 0x11], al
movzx eax, byte [rbx + 0x12]
mov byte [r14 + 0x12], al
movzx eax, byte [rbx + 0x13]
mov byte [r14 + 0x13], al
movzx eax, byte [rbx + 0x14]
mov byte [r14 + 0x14], al
movzx eax, byte [rbx + 0x15]
mov byte [r14 + 0x15], al
movzx eax, byte [rbx + 0x16]
mov byte [r14 + 0x16], al
movzx eax, byte [rbx + 0x17]
mov byte [r14 + 0x17], al
movzx eax, byte [rbx + 0x18]
mov byte [r14 + 0x18], al
movzx eax, byte [rbx + 0x19]
mov byte [r14 + 0x19], al
movzx eax, byte [rbx + 0x1a]
mov byte [r14 + 0x1a], al
movzx eax, byte [rbx + 0x1b]
mov byte [r14 + 0x1b], al
movzx eax, byte [rbx + 0x1c]
mov byte [r14 + 0x1c], al
movzx eax, byte [rbx + 0x1d]
mov byte [r14 + 0x1d], al
movzx eax, byte [rbx + 0x1e]
mov byte [r14 + 0x1e], al
movzx eax, byte [rbx + 0x1f]
mov byte [r14 + 0x1f], al
movzx eax, byte [rbx + 0x20]
mov byte [r14 + 0x20], al
movzx eax, byte [rbx + 0x21]
mov byte [r14 + 0x21], al
movzx eax, byte [rbx + 0x22]
mov byte [r14 + 0x22], al
movzx eax, byte [rbx + 0x23]
mov byte [r14 + 0x23], al
movzx eax, byte [rbx + 0x24]
mov byte [r14 + 0x24], al
movzx eax, byte [rbx + 0x25]
mov byte [r14 + 0x25], al
movzx eax, byte [rbx + 0x26]
mov byte [r14 + 0x26], al
movzx eax, byte [rbx + 0x27]
mov byte [r14 + 0x27], al
movzx eax, byte [rbx + 0x28]
mov byte [r14 + 0x28], al
lea r8, str.D:DocumentsdevelopmentDxLibMakeDxArchive_.cpp
movzx eax, byte [rbx + 0x29]
mov r9d, 0x3da
mov byte [r14 + 0x29], al
movzx eax, byte [rbx + 0x2a]
mov byte [r14 + 0x2a], al
movzx eax, byte [rbx + 0x2b]
mov byte [r14 + 0x2b], al
movzx ecx, byte [rbx + 0x2c]
mov byte [r14 + 0x2c], cl
and cl, 1
movzx eax, byte [rbx + 0x2d]
mov byte [r14 + 0x2d], al
movzx eax, byte [rbx + 0x2e]
mov byte [r14 + 0x2e], al
movzx eax, byte [rbx + 0x2f]
mov byte [r14 + 0x2f], al
movzx eax, byte [rbx + 0x30]
mov byte [r14 + 0x30], al
movzx eax, byte [rbx + 0x31]
mov byte [r14 + 0x31], al
movzx eax, byte [rbx + 0x32]
mov byte [r14 + 0x32], al
movzx eax, byte [rbx + 0x33]
mov byte [r14 + 0x33], al
movzx eax, byte [rbx + 0x34]
mov byte [r14 + 0x34], al
movzx eax, byte [rbx + 0x35]
mov byte [r14 + 0x35], al
movzx eax, byte [rbx + 0x36]
mov byte [r14 + 0x36], al
movzx eax, byte [rbx + 0x37]
mov byte [r14 + 0x37], al
movzx eax, byte [rbx + 0x38]
mov byte [r14 + 0x38], al
movzx eax, byte [rbx + 0x39]
mov byte [r14 + 0x39], al
movzx eax, byte [rbx + 0x3a]
mov byte [r14 + 0x3a], al
movzx eax, byte [rbx + 0x3b]
mov byte [r14 + 0x3b], al
movzx eax, byte [rbx + 0x3c]
mov byte [r14 + 0x3c], al
movzx eax, byte [rbx + 0x3d]
mov byte [r14 + 0x3d], al
movzx eax, byte [rbx + 0x3e]
mov byte [r14 + 0x3e], al
movzx eax, byte [rbx + 0x3f]
mov byte [r14 + 0x3f], al
mov byte [r14 + 0x880], cl
mov dword [r14 + 0x28], r15d
mov dword [r14 + 0x40], 0x3a4
mov ecx, dword [r14 + 4]
call fcn.140075550
mov qword [r14 + 0x58], rax
mov r10, rax
test rax, rax
je 0x1400a1297
test byte [r14 + 0x2c], 2
je 0x1400a11f1
mov rcx, qword [r14 + 0x50]
add rcx, qword [r14 + 0x10]
mov edx, dword [r14 + 4]
test rdx, rdx
je 0x1400a11c8
nop
movzx eax, byte [rcx]
lea rcx, [rcx + 1]
mov byte [r10], al
lea r10, [r10 + 1]
sub rdx, 1
jne 0x1400a11b0
mov r10, qword [r14 + 0x58]
cmp byte [r14 + 0x880], 0
jne 0x1400a168b
mov edx, dword [r14 + 4]
lea r9, [r14 + 0x881]
xor r8d, r8d
mov rcx, r10
call fcn.1400a05c0
jmp 0x1400a168b
mov eax, dword [r14 + 0x8d8]
lea r8, str.D:DocumentsdevelopmentDxLibMakeDxArchive_.cpp
sub eax, dword [r14 + 0x10]
mov r9d, 0x3f2
mov ecx, eax
mov ebx, eax
call fcn.140075550
mov r12, rax
test rax, rax
je 0x1400a1297
mov r8, qword [r14 + 0x50]
mov r10d, ebx
add r8, qword [r14 + 0x10]
mov r9, rax
test rbx, rbx
je 0x1400a1245
nop dword [rax]
movzx ecx, byte [r8]
lea r8, [r8 + 1]
mov byte [r9], cl
lea r9, [r9 + 1]
sub r10, 1
jne 0x1400a1230
cmp byte [r14 + 0x880], 0
jne 0x1400a1264
lea r9, [r14 + 0x881]
xor r8d, r8d
mov rdx, rbx
mov rcx, r12
call fcn.1400a05c0
xor edx, edx
mov rcx, r12
call fcn.1400a7a00
mov r9d, 0x400
lea r8, str.D:DocumentsdevelopmentDxLibMakeDxArchive_.cpp
mov rcx, rax
call fcn.140075550
mov r13, rax
mov rcx, r12
test rax, rax
jne 0x1400a14d3
call fcn.140075a50
mov rbx, qword [r14 + 0x58]
test rbx, rbx
je 0x1400a14a3
cmp dword [0x14029e998], 0
jne 0x1400a1326
mov eax, dword [0x14051ed30]
test eax, eax
jne 0x1400a12cf
call fcn.140085840
mov rax, qword [0x14051f7a8]
test rax, rax
je 0x1400a12cf
mov ecx, 1
call rax
lea rcx, [0x14029e9a0]
call qword [0x14051efe8]
lea rax, [0x14029e9c8]
xorps xmm0, xmm0
mov ecx, 4
nop dword [rax + rax]
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
movups xmmword [rax + 0x20], xmm0
movups xmmword [rax + 0x30], xmm0
movups xmmword [rax + 0x40], xmm0
movups xmmword [rax + 0x50], xmm0
movups xmmword [rax + 0x60], xmm0
lea rax, [rax + 0x80]
movups xmmword [rax - 0x10], xmm0
sub rcx, 1
jne 0x1400a12f0
mov dword [0x14029e998], 1
mov r8d, 0x1b5
lea rdx, str.D:DocumentsdevelopmentDxLibMakeDxMemory.cpp
lea rcx, [0x14029e9a0]
call fcn.1400977d0
cmp dword [0x14028e154], 1
jne 0x1400a134d
call fcn.140075df0
mov eax, dword [rbx - 4]
mov rcx, rbx
sub rcx, rax
cmp dword [rcx], 0x4d454d44
je 0x1400a1369
mov dword [0], 0xffffffff
test byte [rcx + 0x16], 4
jne 0x1400a137a
mov dword [0], 0xffffffff
mov rax, qword [rcx + 0x38]
sub qword [0x14028e140], rax
dec dword [0x14028e148]
mov eax, dword [rbx - 4]
sub rbx, rax
cmp dword [rbx], 0x4d454d44
je 0x1400a13a4
mov dword [0], 0xffffffff
mov rdi, qword [rbx + 0x60]
lea rdx, str.D:DocumentsdevelopmentDxLibMakeDxHeap.cpp
mov r8d, 0x8ef
lea rcx, [rdi + 0xd0]
call fcn.1400977d0
cmp dword [rdi + 0x50], 0
jne 0x1400a1422
cmp dword [rbx + 0x70], 0xaaaaaaaa
jne 0x1400a1417
cmp dword [rbx + 0x74], 0xaaaaaaaa
jne 0x1400a1417
cmp dword [rbx + 0x78], 0xaaaaaaaa
jne 0x1400a1417
cmp dword [rbx + 0x7c], 0xaaaaaaaa
jne 0x1400a1417
mov rax, qword [rbx + 0x20]
cmp dword [rax + rbx - 0x10], 0xaaaaaaaa
jne 0x1400a1417
cmp dword [rax + rbx - 0xc], 0xaaaaaaaa
jne 0x1400a1417
cmp dword [rax + rbx - 8], 0xaaaaaaaa
jne 0x1400a1417
cmp dword [rax + rbx - 4], 0xaaaaaaaa
je 0x1400a1422
mov dword [0], 0xffffffff
test byte [rbx + 0x16], 4
jne 0x1400a1433
mov dword [0], 0xffffffff
xor r8d, r8d
mov rdx, rbx
mov rcx, rdi
call fcn.1400d6040
mov eax, dword [0x14051ed30]
test eax, eax
jne 0x1400a1463
call fcn.140085840
mov rax, qword [0x14051f7a8]
test rax, rax
je 0x1400a1463
mov ecx, 1
call rax
lea rcx, [rdi + 0xd0]
call qword [0x14051f000]
mov eax, dword [0x14051ed30]
test eax, eax
jne 0x1400a1492
call fcn.140085840
mov rax, qword [0x14051f7a8]
test rax, rax
je 0x1400a1492
mov ecx, 1
call rax
lea rcx, [0x14029e9a0]
call qword [0x14051f000]
mov qword [r14 + 0x58], r15
mov eax, 0xffffffff
mov rcx, qword [rsp + 0x830]
xor rcx, rsp
call fcn.140107200
mov rbx, qword [rsp + 0x888]
add rsp, 0x840
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov rdx, r13
call fcn.1400a7a00
movzx eax, byte [r13 + 6]
mov esi, r15d
movzx edi, byte [r13 + 7]
mov r9, qword [r14 + 0x58]
movzx ebp, byte [r13 + 8]
shl edi, 8
or edi, eax
movzx eax, byte [r13 + 5]
shl edi, 8
or edi, eax
movzx eax, byte [r13 + 4]
shl edi, 8
or edi, eax
sub edi, 9
test r9, r9
je 0x1400a167b
lea r10, [r13 + 9]
test edi, edi
je 0x1400a167b
movzx eax, byte [r10]
mov rcx, r10
inc r10
cmp eax, ebp
je 0x1400a153d
mov byte [r9], al
inc r9
dec edi
jmp 0x1400a1673
movzx eax, byte [r10]
add edi, 0xfffffffe
lea r10, [rcx + 2]
cmp eax, ebp
jne 0x1400a1557
mov byte [r9], bpl
inc r9
jmp 0x1400a1673
lea ecx, [rax - 1]
cmovbe ecx, eax
mov r11d, ecx
shr r11d, 3
test cl, 4
je 0x1400a1578
movzx eax, byte [r10]
inc r10
shl eax, 5
or r11d, eax
dec edi
add r11d, 4
and ecx, 3
je 0x1400a15c3
sub ecx, 1
je 0x1400a15ac
cmp ecx, 1
jne 0x1400a15cc
movzx esi, byte [r10 + 2]
movzx eax, byte [r10 + 1]
shl esi, 0x10
shl eax, 8
or esi, eax
movzx eax, byte [r10]
or esi, eax
add r10, 3
add edi, 0xfffffffd
jmp 0x1400a15cc
movzx esi, byte [r10 + 1]
movzx eax, byte [r10]
add r10, 2
shl esi, 8
or esi, eax
add edi, 0xfffffffe
jmp 0x1400a15cc
movzx esi, byte [r10]
inc r10
dec edi
inc esi
cmp esi, r11d
jae 0x1400a1646
mov ebx, esi
nop word [rax + rax]
mov r8d, ebx
mov rax, r9
sub rax, r8
mov edx, ebx
test ebx, ebx
je 0x1400a1601
nop
movzx ecx, byte [rax]
mov byte [rax + r8], cl
lea rax, [rax + 1]
sub rdx, 1
jne 0x1400a15f0
sub r11d, ebx
add r9, r8
add ebx, ebx
mov r8, r9
cmp r11d, ebx
ja 0x1400a15e0
test r11d, r11d
je 0x1400a1673
mov r9d, ebx
mov rcx, r8
sub rcx, r9
mov edx, r11d
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rcx]
mov byte [rcx + rbx], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x1400a1630
lea r9, [r8 + r11]
jmp 0x1400a1673
mov r8d, esi
mov rcx, r9
sub rcx, r8
mov rdx, r11
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rcx]
mov byte [rcx + rsi], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x1400a1660
add r9, r11
test edi, edi
jne 0x1400a1522
mov rcx, r12
call fcn.140075a50
mov rcx, r13
call fcn.140075a50
mov rdx, qword [r14 + 0x58]
mov rcx, qword [r14 + 0x18]
add rcx, rdx
mov qword [r14 + 0x70], rdx
add rdx, qword [r14 + 0x20]
cmp byte [r14 + 0x880], 0
mov qword [r14 + 0x60], rcx
mov qword [r14 + 0x68], rdx
mov qword [r14 + 0x78], rdx
mov dword [r14 + 0x8d0], 1
mov dword [r14 + 0x8d4], 1
mov qword [r14 + 0x8e0], 0
jne 0x1400a16e2
lea r8, [rsp + 0x30]
mov rcx, r14
call fcn.1400a0c10
xor eax, eax
jmp 0x1400a14a8