Function at 0x43cb92
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
push ebx
push esi
mov esi, ecx
mov ecx, dword [0x63d4e4]
mov eax, dword [ecx + 4]
add dword [ebp + 0xc], eax
mov eax, dword [ebp + 0x10]
push edi
mov edi, dword [ebp + 8]
add edi, dword [ecx]
and eax, 0xf0
cmp eax, 0x10
mov dword [ebp + 8], edi
je 0x43cbc8
cmp eax, 0x20
jne 0x43cbd6
sub edi, dword [esi + 4]
jmp 0x43cbd3
mov eax, dword [esi + 4]
push 0xfffffffffffffffe
cdq
pop ebx
idiv ebx
add edi, eax
mov dword [ebp + 8], edi
mov eax, dword [ebp + 0x10]
and eax, 0xf00
cmp eax, 0x100
je 0x43cbf4
cmp eax, 0x200
jne 0x43cc00
mov eax, dword [esi + 8]
sub dword [ebp + 0xc], eax
jmp 0x43cc00
mov eax, dword [esi + 8]
push 0xfffffffffffffffe
cdq
pop edi
idiv edi
add dword [ebp + 0xc], eax
mov eax, dword [esi + 0xc]
test eax, eax
jle 0x43cf70
mov esi, dword [esi]
mov dword [ebp - 0xc], esi
mov dword [ebp - 0x10], eax
mov ebx, 0xffff
mov esi, dword [esi]
mov eax, dword [esi]
sub eax, 0
je 0x43ce5d
dec eax
je 0x43cd68
dec eax
jne 0x43cf5e
mov eax, dword [0x63cfa4]
mov edi, dword [esi + 0x10]
mov dword [ebp + 0x10], eax
xor eax, eax
mov ax, word [esi + 0xc]
mov dword [ebp - 0x20], eax
neg ax
sbb eax, eax
and eax, 2
mov dword [ebp - 8], eax
mov eax, dword [esi + 8]
and eax, 0xffffff
test edi, edi
mov dword [ebp - 4], eax
je 0x43cf5e
movsx eax, word [esi + 4]
add eax, dword [ebp + 8]
movzx edx, byte [edi]
push dword [ecx + 0x120]
mov dword [ebp - 0x1c], eax
movsx eax, word [esi + 6]
add eax, dword [ebp + 0xc]
movzx esi, byte [edi + 9]
mov dword [ebp - 0x18], eax
movzx eax, byte [edi + 4]
sub eax, edx
inc eax
mov dword [ebp - 0x14], eax
movzx eax, byte [edi + 1]
sub esi, eax
mov eax, dword [ebp + 0x10]
inc esi
mov dword [eax + 0xc], 0x4000000
mov dword [eax + 4], 1
call fcn.0050efd6
cmp dword [ebp - 8], 0
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp - 4]
fstp dword [eax + 8]
je 0x43ccc4
or ecx, 0x66000000
jmp 0x43ccca
or ecx, 0x64000000
movzx edx, word [edi]
mov dword [eax + 0x10], ecx
movzx ecx, word [edi + 2]
shl ecx, 0x10
or ecx, edx
mov edx, dword [ebp - 0x1c]
mov dword [eax + 0x18], ecx
mov ecx, dword [ebp - 0x14]
and ecx, ebx
shl esi, 0x10
or esi, ecx
mov ecx, dword [ebp - 0x18]
shl ecx, 0x10
and edx, ebx
or ecx, edx
mov dword [eax + 0x1c], esi
mov dword [eax + 0x14], ecx
xor ecx, ecx
xor esi, esi
mov si, word [edi + 6]
mov cx, si
push 0x24
push 1
pop edx
mov dword [eax + 0x20], ecx
mov ecx, dword [0x63cf9c]
call fcn.004e3c3b
mov eax, esi
and eax, 0xff9f
cmp dword [ebp - 8], 0
mov word [edi + 6], ax
je 0x43cd3d
mov esi, dword [ebp - 0x20]
shl esi, 5
xor ecx, ecx
mov ecx, esi
dec cl
and ecx, 0x60
or ecx, eax
mov word [edi + 6], cx
mov eax, dword [0x63cfa4]
xor ecx, ecx
mov cx, word [edi + 6]
push 0x14
push 1
mov dword [eax + 0xc], 0x1000000
pop edx
and ecx, 0x1ff
or ecx, 0xe1000200
mov dword [eax + 0x10], ecx
jmp 0x43cf4d
movsx eax, word [esi + 4]
add eax, dword [ebp + 8]
movsx edi, word [esi + 0x10]
movsx edx, word [esi + 6]
add edx, dword [ebp + 0xc]
add edi, eax
mov dword [ebp - 0x1c], eax
movsx eax, word [esi + 0x12]
push dword [ecx + 0x120]
add eax, edx
mov dword [ebp - 0x14], eax
xor eax, eax
mov ax, word [esi + 0xc]
mov dword [ebp - 0x18], edi
mov edi, dword [0x63cfa4]
mov dword [ebp - 0x20], edx
mov dword [edi + 0xc], 0x8000000
mov dword [edi + 4], 1
mov dword [ebp - 8], eax
neg ax
sbb eax, eax
and eax, 2
mov dword [ebp + 0x10], eax
call fcn.0050efd6
fstp dword [edi + 8]
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x1c]
or eax, 0x38
shl eax, 0x18
or eax, dword [esi + 8]
and ecx, ebx
mov dword [edi + 0x10], eax
mov eax, dword [esi + 0x14]
mov dword [edi + 0x18], eax
mov eax, dword [esi + 0x1c]
mov dword [edi + 0x20], eax
mov eax, dword [esi + 0x18]
mov dword [edi + 0x28], eax
mov eax, dword [ebp - 0x20]
shl eax, 0x10
mov edx, ecx
or edx, eax
mov dword [edi + 0x14], edx
mov edx, dword [ebp - 0x18]
and edx, ebx
mov esi, edx
or esi, eax
mov eax, dword [ebp - 0x14]
shl eax, 0x10
mov dword [edi + 0x1c], esi
mov esi, eax
push 0x30
or esi, ecx
mov ecx, dword [0x63cf9c]
or eax, edx
push 1
mov dword [edi + 0x2c], eax
mov dword [edi + 0x24], esi
pop edi
mov edx, edi
call fcn.004e3c3b
cmp dword [ebp + 0x10], 0
je 0x43cf58
mov ecx, dword [0x63d4e4]
mov esi, dword [0x63cfa4]
push dword [ecx + 0x120]
mov dword [esi + 0xc], 0x1000000
mov dword [esi + 4], edi
call fcn.0050efd6
fstp dword [esi + 8]
mov eax, dword [ebp - 8]
jmp 0x43cf38
movsx eax, word [esi + 4]
add eax, dword [ebp + 8]
movsx edi, word [esi + 0x10]
movsx edx, word [esi + 6]
add edx, dword [ebp + 0xc]
add edi, eax
mov dword [ebp - 0x1c], eax
movsx eax, word [esi + 0x12]
push dword [ecx + 0x120]
add eax, edx
mov dword [ebp - 0x14], eax
xor eax, eax
mov ax, word [esi + 0xc]
mov dword [ebp - 0x18], edi
mov edi, dword [0x63cfa4]
mov dword [ebp - 0x20], edx
mov dword [edi + 0xc], 0x5000000
mov dword [edi + 4], 1
mov dword [ebp - 8], eax
neg ax
sbb eax, eax
and eax, 2
mov dword [ebp + 0x10], eax
call fcn.0050efd6
fstp dword [edi + 8]
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x1c]
or eax, 0x28
shl eax, 0x18
or eax, dword [esi + 8]
and ecx, ebx
mov dword [edi + 0x10], eax
mov eax, dword [ebp - 0x20]
shl eax, 0x10
mov edx, ecx
or edx, eax
mov dword [edi + 0x14], edx
mov edx, dword [ebp - 0x18]
and edx, ebx
mov esi, edx
or esi, eax
mov eax, dword [ebp - 0x14]
shl eax, 0x10
push 0x24
mov dword [edi + 0x18], esi
mov esi, eax
or esi, ecx
mov ecx, dword [0x63cf9c]
or eax, edx
push 1
pop edx
mov dword [edi + 0x1c], esi
mov dword [edi + 0x20], eax
call fcn.004e3c3b
cmp dword [ebp + 0x10], 0
je 0x43cf58
mov ecx, dword [0x63d4e4]
mov esi, dword [0x63cfa4]
push 1
pop edi
push dword [ecx + 0x120]
mov dword [esi + 0xc], 0x1000000
mov dword [esi + 4], edi
call fcn.0050efd6
fstp dword [esi + 8]
mov eax, dword [ebp - 8]
shl eax, 8
dec eax
and eax, 0xf00
or eax, 0xe1000000
mov dword [esi + 0x10], eax
push 0x14
mov edx, edi
mov ecx, dword [0x63cf9c]
call fcn.004e3c3b
mov ecx, dword [0x63d4e4]
mov esi, dword [ebp - 0xc]
add esi, 4
dec dword [ebp - 0x10]
mov dword [ebp - 0xc], esi
jne 0x43cc18
pop edi
pop esi
pop ebx
leave
ret 0xc