Function at 0x30035eb9
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
push ebx
xor ebx, ebx
push ebx
push ebx
push 0x4005
push dword [ebp + 8]
call fcn.300343e1
cmp eax, ebx
jne 0x3003618e
push edi
lea edi, [esi + 0xce]
push edi
push 0x67
push 0x64
push dword [esi + 0x26]
call fcn.3003a5eb
cmp eax, ebx
jne 0x3003618d
movzx eax, word [0x30075aa8]
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x10]
push eax
push 2
push 0x10
push dword [ebp + 8]
call fcn.300343e1
cmp eax, ebx
jne 0x3003618d
push ebx
push ebx
push 0x4008
push dword [ebp + 8]
call fcn.300343e1
cmp eax, ebx
mov dword [ebp - 8], eax
jne 0x3003618d
cmp word [ebp - 0x10], bx
mov dword [ebp - 4], ebx
jle 0x3003605b
movsx eax, word [ebp - 4]
push dword [eax*8 + 0x30097aa0]
push dword [edi]
call fcn.3006473a
mov edi, eax
cmp edi, ebx
je 0x3003603d
mov eax, dword [edi]
cmp eax, 1
jne 0x30035f6a
mov dword [ebp - 0xc], 4
jmp 0x30035f89
cmp eax, 2
jne 0x30035f78
mov dword [ebp - 0xc], 3
jmp 0x30035f89
mov eax, dword [edi + 0x20]
and eax, 0x4000
neg eax
sbb eax, eax
inc eax
inc eax
mov dword [ebp - 0xc], eax
lea eax, [ebp - 4]
push eax
push 2
push 0x11
push dword [ebp + 8]
call fcn.300343e1
cmp eax, ebx
mov dword [ebp - 8], eax
jne 0x3003605b
lea eax, [ebp - 0xc]
push eax
push 2
push 0x12
push dword [ebp + 8]
call fcn.300343e1
cmp eax, ebx
mov dword [ebp - 8], eax
jne 0x3003605b
mov eax, dword [edi + 0x10]
mov ecx, dword [edi + 0x14]
push dword [edi + 0x18]
imul ecx, ecx, 0x30
inc eax
imul eax, eax, 0x50
add eax, edi
add ecx, eax
push ecx
push 0x30075ab0
call dword [sym.imp.MSVCR80.dll_memmove]
mov eax, dword [edi + 0x18]
add esp, 0xc
mov byte [eax + 0x30075ab0], 0
mov eax, dword [edi + 0x18]
push 0x30075ab0
inc eax
push eax
push 0x60
push dword [ebp + 8]
call fcn.300343e1
cmp eax, ebx
mov dword [ebp - 8], eax
jne 0x3003605b
cmp word [ebp - 0xc], 4
jne 0x3003603d
mov eax, dword [edi + 8]
push dword [ebp + 8]
lea ebx, [eax + edi + 0x50]
mov eax, dword [ebx + 4]
push dword [ebx]
or dword [ebx + 4], 0xffffffff
push dword [esi + 0x26]
mov dword [ebp - 0x14], eax
mov eax, edi
call fcn.30035656
mov ecx, dword [ebp - 0x14]
mov dword [ebx + 4], ecx
xor ebx, ebx
test eax, eax
mov dword [ebp - 8], eax
jne 0x3003605b
lea edi, [esi + 0xce]
push dword [edi]
call fcn.30064767
inc dword [ebp - 4]
mov ax, word [ebp - 4]
cmp ax, word [ebp - 0x10]
jl 0x30035f3e
push dword [esi + 0xce]
call fcn.3004ee74
mov eax, dword [ebp - 8]
cmp eax, ebx
jne 0x3003618d
push ebx
push ebx
push 0x6008
push dword [ebp + 8]
call fcn.300343e1
cmp eax, ebx
jne 0x3003618d
mov word [0x30075ab0], 4
mov eax, dword [esi + 0x22]
shr eax, 9
not al
xor cl, cl
push 0
and eax, 1
mov word [0x30075ab2], ax
mov eax, dword [esi + 0x22]
shr eax, 0xa
not al
and eax, 1
mov word [0x30075ab4], ax
mov eax, dword [esi + 0x22]
and al, 0x10
cmp cl, al
sbb eax, eax
neg eax
mov word [0x30075ab6], ax
test byte [esi + 0x2a], 1
pop eax
setg al
push 0
mov word [0x30075ab8], ax
test byte [esi + 0x2a], 2
pop eax
setg al
mov word [0x30075aba], ax
mov ax, word [esi + 0xa]
mov word [0x30075abc], ax
test byte [esi + 0xe], 1
je 0x30036103
mov ax, word [esi + 0xa]
neg ax
mov word [0x30075abc], ax
mov ax, word [esi + 0x1f6]
call fcn.300341e1
mov word [0x30075abe], ax
mov ax, word [esi + 0x1fa]
mov word [0x30075ac0], ax
mov ax, word [esi + 0x1fe]
call fcn.300341e1
mov word [0x30075ac2], ax
mov ax, word [esi + 0x42]
mov word [0x30075ac4], ax
mov ax, word [esi + 0x46]
mov word [0x30075ac6], ax
mov ax, word [esi + 0x32]
push 0x30075ab0
mov word [0x30075ac8], ax
mov ax, word [esi + 2]
push 0x22
push 0xffd
push dword [ebp + 8]
mov word [0x30075ace], ax
mov ax, word [esi + 6]
mov word [0x30075ad0], ax
call fcn.300343e1
cmp eax, ebx
jne 0x3003618d
push ebx
push ebx
push 0x6005
push dword [ebp + 8]
call fcn.300343e1
pop edi
pop ebx
leave
ret 4