Function at 0x14002ad20
Capabilities:
Enumerate pe sections

Disassembly:
push rbx
push rsi
sub rsp, 0x848
mov rax, qword [section..data]
xor rax, rsp
mov qword [rsp + 0x830], rax
cmp qword [0x1401a5560], 0
mov rbx, rdx
mov rsi, rcx
jne 0x14002ad56
mov eax, 0xffffffff
jmp 0x14002b12d
mov edx, dword [rcx]
mov ecx, dword [rcx + 4]
mov qword [rsp + 0x870], rbp
mov ebp, dword [rsp + 0x888]
mov r8d, ebp
mov qword [rsp + 0x878], rdi
mov qword [rsp + 0x840], r14
call fcn.140026d40
mov edi, eax
cmp eax, 0xffffffff
je 0x14002b0f4
xor r9d, r9d
lea rdx, [rsp + 0x30]
mov r8d, 0x800
mov rcx, rbx
call fcn.140046040
cmp dword [rsp + 0x880], 0
je 0x14002b0c0
test ebp, ebp
jne 0x14002b0c0
xor ebx, ebx
mov eax, ebx
cmp word [rsp + 0x30], ax
je 0x14002adce
inc rax
cmp word [rsp + rax*2 + 0x30], bx
jne 0x14002adc4
lea eax, [rax*2 + 0x5a]
mov r9d, 0x10c
movsxd rcx, eax
lea r8, str.D:DocumentsdevelopmentDxLibMakeDxASyncLoad.cpp
add rcx, 0x28
call fcn.140075550
mov r14, rax
test rax, rax
je 0x14002b0ff
lea rdx, [r14 + 0x20]
lea rax, [0x14002ac40]
mov qword [r14 + 0x18], rax
test rdx, rdx
je 0x14002b011
mov word [rdx], 0x4a
movzx ecx, byte [rsi]
mov byte [rdx + 2], cl
movzx eax, byte [rsi + 1]
mov byte [rdx + 3], al
movzx eax, byte [rsi + 2]
mov byte [rdx + 4], al
movzx eax, byte [rsi + 3]
mov byte [rdx + 5], al
movzx eax, byte [rsi + 4]
mov byte [rdx + 6], al
movzx eax, byte [rsi + 5]
mov byte [rdx + 7], al
movzx eax, byte [rsi + 6]
mov byte [rdx + 8], al
movzx eax, byte [rsi + 7]
mov byte [rdx + 9], al
movzx eax, byte [rsi + 8]
mov byte [rdx + 0xa], al
movzx eax, byte [rsi + 9]
mov byte [rdx + 0xb], al
movzx eax, byte [rsi + 0xa]
mov byte [rdx + 0xc], al
movzx eax, byte [rsi + 0xb]
mov byte [rdx + 0xd], al
movzx eax, byte [rsi + 0xc]
mov byte [rdx + 0xe], al
movzx eax, byte [rsi + 0xd]
mov byte [rdx + 0xf], al
movzx eax, byte [rsi + 0xe]
mov byte [rdx + 0x10], al
movzx eax, byte [rsi + 0xf]
mov byte [rdx + 0x11], al
movzx eax, byte [rsi + 0x10]
mov byte [rdx + 0x12], al
movzx eax, byte [rsi + 0x11]
mov byte [rdx + 0x13], al
movzx eax, byte [rsi + 0x12]
mov byte [rdx + 0x14], al
movzx eax, byte [rsi + 0x13]
mov byte [rdx + 0x15], al
movzx eax, byte [rsi + 0x14]
mov byte [rdx + 0x16], al
movzx eax, byte [rsi + 0x15]
mov byte [rdx + 0x17], al
movzx eax, byte [rsi + 0x16]
mov byte [rdx + 0x18], al
movzx eax, byte [rsi + 0x17]
mov byte [rdx + 0x19], al
movzx eax, byte [rsi + 0x18]
mov byte [rdx + 0x1a], al
movzx eax, byte [rsi + 0x19]
mov byte [rdx + 0x1b], al
movzx eax, byte [rsi + 0x1a]
mov byte [rdx + 0x1c], al
movzx eax, byte [rsi + 0x1b]
mov byte [rdx + 0x1d], al
movzx eax, byte [rsi + 0x1c]
mov byte [rdx + 0x1e], al
movzx eax, byte [rsi + 0x1d]
mov byte [rdx + 0x1f], al
movzx eax, byte [rsi + 0x1e]
mov byte [rdx + 0x20], al
movzx eax, byte [rsi + 0x1f]
mov byte [rdx + 0x21], al
movzx eax, byte [rsi + 0x20]
mov byte [rdx + 0x22], al
movzx eax, byte [rsi + 0x21]
mov byte [rdx + 0x23], al
movzx eax, byte [rsi + 0x22]
mov byte [rdx + 0x24], al
movzx eax, byte [rsi + 0x23]
mov byte [rdx + 0x25], al
movzx eax, byte [rsi + 0x24]
mov byte [rdx + 0x26], al
movzx eax, byte [rsi + 0x25]
mov byte [rdx + 0x27], al
movzx eax, byte [rsi + 0x26]
mov byte [rdx + 0x28], al
movzx eax, byte [rsi + 0x27]
mov byte [rdx + 0x29], al
movzx eax, byte [rsi + 0x28]
mov byte [rdx + 0x2a], al
movzx eax, byte [rsi + 0x29]
mov byte [rdx + 0x2b], al
movzx eax, byte [rsi + 0x2a]
mov byte [rdx + 0x2c], al
movzx eax, byte [rsi + 0x2b]
mov byte [rdx + 0x2d], al
movzx eax, byte [rsi + 0x2c]
mov byte [rdx + 0x2e], al
movzx eax, byte [rsi + 0x2d]
mov byte [rdx + 0x2f], al
movzx eax, byte [rsi + 0x2e]
mov byte [rdx + 0x30], al
movzx eax, byte [rsi + 0x2f]
mov byte [rdx + 0x31], al
movzx eax, byte [rsi + 0x30]
mov byte [rdx + 0x32], al
movzx eax, byte [rsi + 0x31]
mov byte [rdx + 0x33], al
movzx eax, byte [rsi + 0x32]
mov byte [rdx + 0x34], al
movzx eax, byte [rsi + 0x33]
mov byte [rdx + 0x35], al
movzx eax, byte [rsi + 0x34]
mov byte [rdx + 0x36], al
movzx eax, byte [rsi + 0x35]
mov byte [rdx + 0x37], al
movzx eax, byte [rsi + 0x36]
mov byte [rdx + 0x38], al
movzx eax, byte [rsi + 0x37]
mov byte [rdx + 0x39], al
movzx eax, byte [rsi + 0x38]
mov byte [rdx + 0x3a], al
movzx eax, byte [rsi + 0x39]
mov byte [rdx + 0x3b], al
movzx eax, byte [rsi + 0x3a]
mov byte [rdx + 0x3c], al
movzx eax, byte [rsi + 0x3b]
mov byte [rdx + 0x3d], al
movzx eax, byte [rsi + 0x3c]
mov byte [rdx + 0x3e], al
movzx eax, byte [rsi + 0x3d]
mov byte [rdx + 0x3f], al
movzx eax, byte [rsi + 0x3e]
mov byte [rdx + 0x40], al
movzx eax, byte [rsi + 0x3f]
mov byte [rdx + 0x41], al
movzx eax, byte [rsi + 0x40]
mov byte [rdx + 0x42], al
movzx eax, byte [rsi + 0x41]
mov byte [rdx + 0x43], al
movzx eax, byte [rsi + 0x42]
mov byte [rdx + 0x44], al
movzx eax, byte [rsi + 0x43]
mov byte [rdx + 0x45], al
movzx eax, byte [rsi + 0x44]
mov byte [rdx + 0x46], al
movzx eax, byte [rsi + 0x45]
mov byte [rdx + 0x47], al
movzx eax, byte [rsi + 0x46]
mov byte [rdx + 0x48], al
movzx eax, byte [rsi + 0x47]
mov byte [rdx + 0x49], al
mov dword [rdx + 0x4a], edi
cmp word [rsp + 0x30], bx
je 0x14002b02b
nop dword [rax + rax]
inc rbx
cmp word [rsp + rbx*2 + 0x30], 0
jne 0x14002b020
lea ebx, [rbx*2 + 2]
test rdx, rdx
je 0x14002b07a
lea eax, [rbx + 2]
mov word [rdx + 0x4e], ax
test ebx, ebx
je 0x14002b07a
lea rcx, [rsp + 0x30]
mov r8d, ebx
mov r9, rdx
lea rax, [rsp + 0x30]
sub r9, rcx
nop word [rax + rax]
movzx ecx, byte [rax]
mov byte [r9 + rax + 0x50], cl
lea rax, [rax + 1]
sub r8, 1
jne 0x14002b060
add ebx, 0x50
mov rcx, rdx
jmp 0x14002b085
add ebx, 0x50
mov rcx, rdx
test rdx, rdx
je 0x14002b09c
movsxd rax, ebx
mov dword [rax + rcx], 1
lea eax, [rbx + 4]
movsxd rcx, eax
mov dword [rcx + rdx], 0xffffffff
mov rcx, r14
call fcn.140071090
test eax, eax
jns 0x14002b0b2
mov rcx, r14
call fcn.140075a50
jmp 0x14002b0ff
mov edx, dword [r14]
mov ecx, edi
call fcn.140073190
mov eax, edi
jmp 0x14002b115
mov dword [rsp + 0x28], ebp
lea r8, [rsp + 0x30]
mov r9d, 1
mov dword [rsp + 0x20], 0xffffffff
mov edx, edi
mov rcx, rsi
call fcn.14002a580
test eax, eax
js 0x14002b0f4
test ebp, ebp
je 0x14002b0f0
mov ecx, edi
call fcn.1400732c0
mov eax, edi
jmp 0x14002b115
test ebp, ebp
je 0x14002b0ff
mov ecx, edi
call fcn.1400732c0
mov edx, dword [rsp + 0x880]
mov r8d, ebp
mov ecx, edi
call fcn.140072cc0
mov eax, 0xffffffff
mov rdi, qword [rsp + 0x878]
mov rbp, qword [rsp + 0x870]
mov r14, qword [rsp + 0x840]
mov rcx, qword [rsp + 0x830]
xor rcx, rsp
call fcn.140107200
add rsp, 0x848
pop rsi
pop rbx
ret