Function at 0x43c1f0
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffdc
push ebx
push esi
push edi
mov dword [ebp - 8], ecx
mov dword [ebp - 4], edx
mov ebx, eax
mov byte [ebp - 0x19], 0
mov eax, dword [ebx + 0x14]
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
je 0x43c21c
mov eax, dword [ebp - 0x24]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
dec eax
test eax, eax
jl 0x43c3d6
inc eax
mov dword [ebp - 0x20], eax
xor esi, esi
mov edi, esi
add edi, edi
add edi, edi
add edi, edi
mov eax, dword [ebx + 0x14]
movzx eax, word [eax + edi*8]
mov edx, dword [ebp - 8]
cmp ax, word [edx]
jne 0x43c3cc
mov eax, dword [ebx + 0x14]
mov edx, dword [eax + edi*8 + 0x24]
mov eax, dword [eax + edi*8 + 0x20]
push edx
push eax
mov eax, dword [ebp - 8]
mov edx, dword [eax + 6]
mov eax, dword [eax + 2]
cmp edx, dword [esp + 4]
jne 0x43c268
cmp eax, dword [esp]
pop edx
pop eax
jae 0x43c3cc
mov eax, dword [ebx + 0x14]
cmp byte [eax + edi*8 + 0x3c], 0
je 0x43c28b
mov eax, dword [ebp - 8]
mov edx, dword [eax + 2]
mov dword [ebp - 0x18], edx
mov edx, dword [eax + 6]
mov dword [ebp - 0x14], edx
jmp 0x43c2ba
mov eax, dword [ebx + 0x14]
mov edx, dword [eax + edi*8 + 0xc]
mov eax, dword [eax + edi*8 + 8]
push edx
push eax
mov eax, dword [ebp - 8]
mov edx, dword [eax + 6]
mov eax, dword [eax + 2]
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
push edx
push eax
mov eax, ebx
call fcn.0043be50
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], edx
cmp dword [ebp - 0x14], 0
jne 0x43c2ca
cmp dword [ebp - 0x18], 0
je 0x43c3cc
mov eax, dword [ebx + 0x18]
test eax, eax
je 0x43c2d6
sub eax, 4
mov eax, dword [eax]
cmp eax, dword [ebx + 0x28]
jne 0x43c321
cmp dword [ebx + 0x28], 0x200
jge 0x43c305
mov eax, dword [ebx + 0x28]
add eax, 0x200
push eax
lea eax, [ebx + 0x18]
mov ecx, 1
mov edx, dword [0x43ae74]
call fcn.00409abc
add esp, 4
jmp 0x43c321
mov eax, dword [ebx + 0x28]
add eax, eax
push eax
lea eax, [ebx + 0x18]
mov ecx, 1
mov edx, dword [0x43ae74]
call fcn.00409abc
add esp, 4
mov eax, dword [ebx + 0x14]
movzx eax, word [eax + edi*8]
mov edx, dword [ebx + 0x28]
lea edx, [edx + edx*2]
mov ecx, dword [ebx + 0x18]
mov word [ecx + edx*8], ax
mov eax, dword [ebx + 0x28]
lea eax, [eax + eax*2]
mov edx, dword [ebx + 0x18]
mov ecx, dword [ebp - 0x18]
mov dword [edx + eax*8 + 8], ecx
mov ecx, dword [ebp - 0x14]
mov dword [edx + eax*8 + 0xc], ecx
mov eax, dword [ebx + 0x28]
lea eax, [eax + eax*2]
mov edx, dword [ebx + 0x18]
mov ecx, dword [ebp - 4]
mov dword [edx + eax*8 + 0x10], ecx
inc dword [ebx + 0x28]
mov byte [ebp - 0x19], 1
cmp dword [ebx + 0x30], 0
je 0x43c3d6
mov eax, dword [ebx + 0x24]
test eax, eax
je 0x43c375
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
inc eax
push eax
lea eax, [ebx + 0x24]
mov ecx, 1
mov edx, dword [0x43aee4]
call fcn.00409abc
add esp, 4
mov edx, dword [ebx + 0x14]
movzx edx, word [edx + edi*8]
push edx
mov eax, dword [ebp - 0xc]
add eax, eax
add eax, eax
mov edx, dword [ebx + 0x24]
pop ecx
mov word [edx + eax*8], cx
mov edx, dword [ebx + 0x24]
mov ecx, dword [ebp - 0x18]
mov dword [edx + eax*8 + 8], ecx
mov ecx, dword [ebp - 0x14]
mov dword [edx + eax*8 + 0xc], ecx
mov edx, dword [ebx + 0x24]
mov ecx, dword [ebx + 0x30]
mov dword [edx + eax*8 + 0x14], ecx
xor eax, eax
mov dword [ebx + 0x30], eax
jmp 0x43c3d6
inc esi
dec dword [ebp - 0x20]
jne 0x43c22e
cmp byte [ebp - 0x19], 0
jne 0x43c3df
inc dword [ebx + 0x2c]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret