Function at 0x435d79
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x1c
push ebx
push ebp
push esi
mov esi, dword [esp + 0x2c]
push edi
mov edi, ecx
mov dword [esp + 0x10], edx
cmp byte [edi + 0x53], 1
jne 0x435dd9
cmp byte [edi + 0x52], 0
je 0x435dd9
mov eax, dword [edi + 0x84]
cmp byte [eax + 2], 0
je 0x435dd9
mov eax, dword [esp + 0x34]
cmp dword [edi + 0x20], esi
jne 0x435dbe
cmp dword [edi + 0x24], eax
jne 0x435dbe
mov eax, dword [esp + 0x3c]
and dword [eax], 0
xor eax, eax
jmp 0x436026
cmp byte [edi + 0x51], 0
je 0x435dd9
cmp dword [edi + 0x24], eax
jg 0x435dd9
jl 0x435dd0
cmp dword [edi + 0x20], esi
jae 0x435dd9
mov eax, dword [esp + 0x3c]
or dword [eax], 0xffffffff
jmp 0x435db7
call fcn.00435b55
test eax, eax
jne 0x436026
cmp byte [edi + 0x53], al
je 0x435dd0
movsx ecx, word [edi + 0x5a]
and dword [esp + 0x1c], 0
mov ebx, dword [edi + ecx*4 + 0x84]
movzx eax, word [ebx + 0x10]
dec eax
cmp dword [esp + 0x38], 0
mov dword [esp + 0x18], eax
jne 0x435e10
cdq
sub eax, edx
sar eax, 1
mov word [edi + ecx*2 + 0x5c], ax
movsx eax, word [edi + 0x5a]
movzx ecx, word [edi + eax*2 + 0x5c]
xor eax, eax
mov word [edi + 0x3a], ax
movzx eax, word [ebx + 0xc]
add eax, dword [ebx + 0x40]
movzx edx, byte [ebx + 6]
movzx ebp, byte [eax + ecx*2 + 1]
movzx eax, byte [eax + ecx*2]
shl eax, 8
or ebp, eax
movzx eax, word [ebx + 0x12]
and ebp, eax
add ebp, edx
add ebp, dword [ebx + 0x40]
cmp byte [ebx + 2], 0
mov dword [esp + 0x14], ecx
je 0x435eba
cmp byte [ebx + 4], 0
je 0x435e76
cmp byte [ebp], 0x80
jae 0x435e63
xor eax, eax
inc eax
jmp 0x435e71
lea edx, [esp + 0x20]
mov ecx, ebp
call fcn.0042aba3
movzx eax, al
movzx eax, al
add ebp, eax
lea edx, [esp + 0x24]
mov ecx, ebp
call fcn.0042aa48
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x34]
cmp ecx, esi
jne 0x435e99
cmp eax, edx
jne 0x435e9b
xor esi, esi
jmp 0x435eab
cmp eax, edx
jg 0x435ea8
jl 0x435ea3
cmp ecx, esi
jae 0x435ea8
or esi, 0xffffffff
jmp 0x435eab
xor esi, esi
inc esi
mov byte [edi + 0x52], 1
mov dword [edi + 0x20], ecx
mov dword [edi + 0x24], eax
jmp 0x435f53
movzx ecx, byte [ebp]
test cl, cl
js 0x435eda
movzx eax, word [ebx + 8]
cmp ecx, eax
jg 0x435eda
lea edx, [ebp + 1]
push dword [esp + 0x10]
call fcn.0043d055
mov esi, eax
jmp 0x435f52
mov al, byte [ebp + 1]
test al, al
js 0x435ef9
and ecx, 0x7f
movzx eax, al
shl ecx, 7
add ecx, eax
movzx eax, word [ebx + 8]
cmp ecx, eax
jg 0x435ef9
lea edx, [ebp + 2]
jmp 0x435ecd
sub ebp, edx
lea esi, [edi + 0x20]
push esi
mov edx, ebp
mov ecx, ebx
call fcn.004333cd
mov esi, dword [esi]
pop ecx
push esi
mov dword [esp + 0x24], esi
call fcn.0042834b
mov ebp, eax
pop ecx
test ebp, ebp
je 0x436021
push 0
push ebp
push esi
xor edx, edx
mov ecx, edi
call fcn.0043572b
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x436018
push dword [esp + 0x10]
mov ecx, dword [esp + 0x24]
mov edx, ebp
call fcn.0043d055
pop ecx
push ebp
mov esi, eax
call fcn.00428544
pop ecx
test esi, esi
je 0x435f88
jns 0x435f68
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
inc ebp
mov dword [esp + 0x1c], ebp
jmp 0x435f75
mov eax, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
dec eax
mov dword [esp + 0x18], eax
cmp ebp, eax
jg 0x435f98
movsx ecx, word [edi + 0x5a]
mov esi, dword [esp + 0x30]
add eax, ebp
jmp 0x435e0b
cmp byte [ebx + 2], 0
je 0x43600d
cmp byte [ebx + 3], 0
jne 0x43600d
mov ebp, dword [esp + 0x14]
cmp byte [ebx + 3], 0
jne 0x436005
movzx eax, word [ebx + 0x10]
cmp ebp, eax
jl 0x435fb4
movzx ecx, byte [ebx + 5]
mov eax, dword [ebx + 0x40]
add eax, 8
add ecx, eax
jmp 0x435fd2
movzx eax, word [ebx + 0xc]
add eax, dword [ebx + 0x40]
movzx ecx, byte [eax + ebp*2]
movzx eax, byte [eax + ebp*2 + 1]
shl ecx, 8
or ecx, eax
movzx eax, word [ebx + 0x12]
and ecx, eax
add ecx, dword [ebx + 0x40]
call fcn.0042ac2b
mov edx, eax
test edx, edx
je 0x436005
movsx eax, word [edi + 0x5a]
mov ecx, edi
mov word [edi + eax*2 + 0x5c], bp
xor eax, eax
mov word [edi + 0x3a], ax
mov byte [edi + 0x52], al
call fcn.00435ac1
mov esi, eax
test esi, esi
jne 0x436024
mov esi, dword [esp + 0x30]
jmp 0x435deb
mov eax, dword [esp + 0x3c]
mov dword [eax], esi
jmp 0x436014
mov eax, dword [esp + 0x3c]
and dword [eax], 0
xor esi, esi
jmp 0x436024
push ebp
call fcn.00428544
pop ecx
jmp 0x436024
push 7
pop esi
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret