Function at 0x43dc40
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0xc
push ebx
mov ebx, ecx
mov eax, dword [ebx + 0x9c]
test eax, eax
jne 0x43dea0
mov eax, dword [ebx + 0x34]
push ebp
push esi
push edi
mov ecx, dword [eax]
lea edx, [esp + 0x10]
push 0
push edx
push 0
push 0
push eax
call dword [ecx + 0x2c]
xor eax, eax
mov ax, word [ebx + 8]
mov dword [ebx + 0x9c], eax
lea esi, [eax + eax*2]
mov eax, dword [0xb084b8]
shl esi, 2
test eax, eax
jne 0x43dcac
mov eax, dword [str.Null_Pointer]
push eax
push 0x158
push str.._sys_mem_memman.h
call fcn.00401090
mov eax, dword [0xb084b8]
add esp, 0xc
test eax, eax
jne 0x43dcac
call fcn.0052ff20
mov ecx, dword [0xb084b8]
push 0
push 1
push esi
call fcn.00533b80
mov dword [ebx + 0x98], eax
xor eax, eax
cmp word [ebx + 8], ax
jbe 0x43dd06
xor ecx, ecx
mov edx, dword [ebx + 0x98]
mov esi, dword [esp + 0x10]
add edx, ecx
add ecx, 0xc
mov edi, dword [esi]
mov dword [edx], edi
mov edi, dword [esi + 4]
mov dword [edx + 4], edi
mov esi, dword [esi + 8]
mov dword [edx + 8], esi
mov esi, dword [esp + 0x10]
xor edx, edx
mov dx, word [ebx + 6]
add esi, edx
xor edx, edx
mov dx, word [ebx + 8]
inc eax
cmp eax, edx
mov dword [esp + 0x10], esi
jb 0x43dccc
mov eax, dword [ebx + 0x34]
push eax
mov ecx, dword [eax]
call dword [ecx + 0x30]
mov eax, dword [ebx + 0x30]
xor ebp, ebp
lea ecx, [esp + 0x10]
push ebp
mov edx, dword [eax]
push ecx
push ebp
push ebp
push eax
mov dword [esp + 0x28], ebp
call dword [edx + 0x2c]
xor eax, eax
mov esi, dword [esp + 0x10]
mov ax, word [ebx + 0xa]
lea edx, [eax + eax*2]
mov eax, dword [0xb084b8]
test eax, eax
lea edi, [edx + edx - 0xc]
jne 0x43dd66
mov eax, dword [str.Null_Pointer]
push eax
push 0x158
push str.._sys_mem_memman.h
call fcn.00401090
mov eax, dword [0xb084b8]
add esp, 0xc
test eax, eax
jne 0x43dd66
call fcn.0052ff20
mov ecx, dword [0xb084b8]
push 0
push 1
push edi
call fcn.00533b80
xor ecx, ecx
mov edi, eax
mov cx, word [ebx + 0xa]
xor edx, edx
sub ecx, 2
mov dword [esp + 0x18], edi
je 0x43ddec
lea eax, [edi + 4]
mov bp, word [esi]
mov di, word [esi + 2]
cmp bp, di
je 0x43ddd3
mov cx, word [esi + 4]
cmp di, cx
je 0x43ddd3
cmp cx, bp
je 0x43ddd3
test dl, 1
je 0x43ddb4
mov word [eax - 4], di
mov cx, word [esi]
jmp 0x43ddbc
mov word [eax - 4], bp
mov cx, word [esi + 2]
mov word [eax - 2], cx
mov cx, word [esi + 4]
mov word [eax], cx
mov ecx, dword [esp + 0x14]
add eax, 6
inc ecx
mov dword [esp + 0x14], ecx
xor ecx, ecx
inc edx
mov cx, word [ebx + 0xa]
add esi, 2
sub ecx, 2
cmp edx, ecx
jb 0x43dd8c
mov ebp, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
mov eax, dword [ebx + 0x30]
push eax
mov edx, dword [eax]
call dword [edx + 0x30]
test ebp, ebp
je 0x43de62
mov eax, dword [0xb084b8]
test eax, eax
jne 0x43de28
mov eax, dword [str.Null_Pointer]
push eax
push 0x158
push str.._sys_mem_memman.h
call fcn.00401090
mov eax, dword [0xb084b8]
add esp, 0xc
test eax, eax
jne 0x43de28
call fcn.0052ff20
mov ecx, dword [0xb084b8]
lea esi, [ebp + ebp*2]
add esi, esi
push 0
push 1
push esi
call fcn.00533b80
mov ecx, esi
mov esi, edi
mov edx, ecx
mov edi, eax
shr ecx, 2
mov dword [ebx + 0xa4], eax
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, dword [esp + 0x18]
mov dword [ebx + 0xa0], ebp
mov eax, dword [0xb084b8]
test eax, eax
jne 0x43de91
mov eax, dword [str.Null_Pointer]
push eax
push 0x158
push str.._sys_mem_memman.h
call fcn.00401090
mov eax, dword [0xb084b8]
add esp, 0xc
test eax, eax
jne 0x43de91
call fcn.0052ff20
mov ecx, dword [0xb084b8]
push edi
call fcn.00533cb0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret