Function at 0x7ddf6868
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 0x7ddf6a6a
cmp dword [ebp + 0x10], 0
jge 0x7ddf6893
push 0xfffffffffffffff9
pop eax
jmp 0x7ddf6a6d
mov ebx, 0x400
cmp eax, ebx
jge 0x7ddf68b3
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push eax
call fcn.7ddf666f
push eax
call sym.KERNEL32.dll__hread
jmp 0x7ddf6a6d
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 0x7ddf68d0
push 0xfffffffffffffffa
jmp 0x7ddf688d
mov esi, dword [edi + 0x2c]
test esi, esi
jne 0x7ddf6928
push 0x402
push 0x1080
push ebx
call fcn.7de1f686
mov esi, eax
mov dword [edi + 0x2c], eax
test esi, esi
jne 0x7ddf6902
push 0xfffffffffffffffb
pop esi
push dword [ebp - 0x14]
call sym.KERNEL32.dll_GlobalUnlock
mov eax, esi
jmp 0x7ddf6a6d
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 0x7ddf6951
or ecx, edx
mov word [edi + 6], cx
mov dword [ebp + 8], edx
jmp 0x7ddf695c
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 0x7ddf697b
push dword [ebp - 0x14]
call sym.KERNEL32.dll_GlobalUnlock
mov eax, dword [ebp - 0x10]
jmp 0x7ddf6a6d
mov ebx, dword [ebp - 0xc]
mov edx, dword [edi + 0x28]
cmp edx, dword [edi + 8]
jge 0x7ddf6968
mov ecx, dword [esi + 0x18]
sub ecx, dword [esi + 0x10]
sub edx, eax
cmp edx, ebx
jge 0x7ddf6994
mov dword [ebp + 0xc], edx
jmp 0x7ddf6998
or dword [ebp + 0xc], 0xffffffff
cmp dword [ebp + 0xc], 0
jl 0x7ddf69d2
and dword [ebp - 8], 0
jmp 0x7ddf69c4
cmp dword [ebp + 0x10], 0
jle 0x7ddf69c9
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 0x7ddf69a4
mov edx, dword [ebp - 8]
add dword [edi + 0x28], edx
add dword [ebp - 0x10], edx
cmp dword [ebp + 0x10], 0
jle 0x7ddf6968
mov edx, dword [edi + 0x28]
mov ebx, dword [edi + 8]
cmp edx, ebx
jge 0x7ddf6978
cmp dword [ebp + 8], 0
je 0x7ddf69f3
mov ecx, edx
sub ecx, dword [esi + 0x20]
jns 0x7ddf69fb
xor ecx, ecx
jmp 0x7ddf69fb
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 0x7ddf6a0b
mov ebx, edx
cmp ecx, ebx
jge 0x7ddf6a13
mov ebx, ecx
jmp 0x7ddf6a1b
cmp eax, edx
mov ebx, eax
jl 0x7ddf6a1b
mov ebx, edx
mov eax, dword [esi + 0x10]
mov dword [esi + 0x18], eax
cmp byte [edi + 4], 0x41
jne 0x7ddf6a59
push esi
push 1
push dword [ebp + 8]
push ebx
push 0xfffffffffffffffe
push dword [edi]
call fcn.7de1fa2a
test eax, eax
jl 0x7ddf6a5c
mov ecx, dword [esi + 0x18]
sub ecx, dword [esi + 0x10]
test ecx, ecx
jle 0x7ddf6a63
mov edx, dword [esi + 0x28]
mov eax, edx
sub eax, ecx
cmp edx, ebx
jl 0x7ddf6a63
and dword [ebp + 8], 0
jmp 0x7ddf6978
push 0xfffffffffffffff8
pop eax
mov esi, eax
jmp 0x7ddf68f3
push 0xfffffffffffffffd
jmp 0x7ddf68f2
or eax, 0xffffffff
pop edi
pop esi
pop ebx
leave
ret 0xc