Function at 0x7ddf6aa0
Capabilities:
Enumerate pe sections

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x14
mov eax, dword [ebp + 8]
and dword [ebp - 0x10], 0
push ebx
push esi
push edi
cmp eax, 0x40f
ja 0x7ddf6ca2
cmp dword [ebp + 0x10], 0
jge 0x7ddf6acb
push 0xfffffffffffffff9
pop eax
jmp 0x7ddf6ca5
mov ebx, 0x400
cmp eax, ebx
jge 0x7ddf6aeb
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push eax
call fcn.7ddf68a7
push eax
call sym.KERNEL32.dll__hread
jmp 0x7ddf6ca5
lfence
mov eax, dword [eax*4 + 0x7de3ff30]
push eax
mov dword [ebp - 0x14], eax
call sym.KERNEL32.dll_GlobalLock
mov edi, eax
test edi, edi
jne 0x7ddf6b08
push 0xfffffffffffffffa
jmp 0x7ddf6ac5
mov esi, dword [edi + 0x2c]
test esi, esi
jne 0x7ddf6b60
push 0x402
push 0x1080
push ebx
call fcn.7de1f8de
mov esi, eax
mov dword [edi + 0x2c], eax
test esi, esi
jne 0x7ddf6b3a
push 0xfffffffffffffffb
pop esi
push dword [ebp - 0x14]
call sym.KERNEL32.dll_GlobalUnlock
mov eax, esi
jmp 0x7ddf6ca5
mov ecx, dword [esi + 4]
mov eax, dword [esi + 0x2c]
and dword [esi + 0x1c], 0
lea eax, [ecx + eax + 1]
mov ecx, dword [esi + 0x30]
mov dword [esi + 8], eax
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0x10]
add ecx, eax
and dword [esi + 0x28], 0
mov dword [esi + 0x14], ecx
mov dword [esi + 0x18], eax
mov ecx, dword [esi + 0x10]
mov ebx, dword [esi + 0x14]
mov eax, ecx
sub eax, dword [esi + 0x18]
sub ebx, ecx
movzx ecx, word [edi + 6]
add eax, dword [esi + 0x28]
xor edx, edx
inc edx
mov dword [ebp - 0xc], ebx
test dl, cl
jne 0x7ddf6b89
or ecx, edx
mov word [edi + 6], cx
mov dword [ebp + 8], edx
jmp 0x7ddf6b94
xor ecx, ecx
cmp dword [edi + 0x28], eax
setl cl
mov dword [ebp + 8], ecx
cmp dword [ebp + 0x10], 0
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 4], ecx
jg 0x7ddf6bb3
push dword [ebp - 0x14]
call sym.KERNEL32.dll_GlobalUnlock
mov eax, dword [ebp - 0x10]
jmp 0x7ddf6ca5
mov ebx, dword [ebp - 0xc]
mov edx, dword [edi + 0x28]
cmp edx, dword [edi + 8]
jge 0x7ddf6ba0
mov ecx, dword [esi + 0x18]
sub ecx, dword [esi + 0x10]
sub edx, eax
cmp edx, ebx
jge 0x7ddf6bcc
mov dword [ebp + 0xc], edx
jmp 0x7ddf6bd0
or dword [ebp + 0xc], 0xffffffff
cmp dword [ebp + 0xc], 0
jl 0x7ddf6c0a
and dword [ebp - 8], 0
jmp 0x7ddf6bfc
cmp dword [ebp + 0x10], 0
jle 0x7ddf6c01
mov ebx, dword [ebp + 0xc]
mov edx, dword [esi + 0x10]
mov dl, byte [ebx + edx]
mov ebx, dword [ebp - 4]
inc dword [ebp - 4]
inc dword [ebp + 0xc]
inc dword [ebp - 8]
dec dword [ebp + 0x10]
mov byte [ebx], dl
cmp dword [ebp + 0xc], ecx
jl 0x7ddf6bdc
mov edx, dword [ebp - 8]
add dword [edi + 0x28], edx
add dword [ebp - 0x10], edx
cmp dword [ebp + 0x10], 0
jle 0x7ddf6ba0
mov edx, dword [edi + 0x28]
mov ebx, dword [edi + 8]
cmp edx, ebx
jge 0x7ddf6bb0
cmp dword [ebp + 8], 0
je 0x7ddf6c2b
mov ecx, edx
sub ecx, dword [esi + 0x20]
jns 0x7ddf6c33
xor ecx, ecx
jmp 0x7ddf6c33
sub ecx, dword [esi + 0x20]
add ecx, dword [ebp - 0xc]
add ecx, eax
mov eax, dword [ebp + 0x10]
add eax, edx
lea edx, [ebx - 1]
cmp eax, edx
mov ebx, eax
jl 0x7ddf6c43
mov ebx, edx
cmp ecx, ebx
jge 0x7ddf6c4b
mov ebx, ecx
jmp 0x7ddf6c53
cmp eax, edx
mov ebx, eax
jl 0x7ddf6c53
mov ebx, edx
mov eax, dword [esi + 0x10]
mov dword [esi + 0x18], eax
cmp byte [edi + 4], 0x41
jne 0x7ddf6c91
push esi
push 1
push dword [ebp + 8]
push ebx
push 0xfffffffffffffffe
push dword [edi]
call fcn.7de1fc82
test eax, eax
jl 0x7ddf6c94
mov ecx, dword [esi + 0x18]
sub ecx, dword [esi + 0x10]
test ecx, ecx
jle 0x7ddf6c9b
mov edx, dword [esi + 0x28]
mov eax, edx
sub eax, ecx
cmp edx, ebx
jl 0x7ddf6c9b
and dword [ebp + 8], 0
jmp 0x7ddf6bb0
push 0xfffffffffffffff8
pop eax
mov esi, eax
jmp 0x7ddf6b2b
push 0xfffffffffffffffd
jmp 0x7ddf6b2a
or eax, 0xffffffff
pop edi
pop esi
pop ebx
leave
ret 0xc