Function at 0x407090
Capabilities:
Enumerate pe sections

Disassembly:
mov eax, dword [0x4133b4]
sub esp, 0xc
test eax, eax
push ebx
push ebp
je 0x407399
mov ecx, dword [eax + 6]
test ecx, ecx
jne 0x4070c1
push 8
call fcn.0040e400
mov ecx, dword [0x4133b4]
add esp, 4
mov dword [ecx + 6], eax
mov eax, dword [0x4133b4]
mov eax, dword [eax + 6]
mov dword [esp + 8], eax
mov ebp, dword [eax]
test ebp, ebp
je 0x4070d3
mov eax, dword [ebp]
jmp 0x4070d5
xor eax, eax
mov ebx, dword [esp + 0x18]
dec eax
js 0x4070ff
lea edx, [eax*8]
sub edx, eax
lea ecx, [edx + ebp + 4]
cmp dword [ecx], ebx
je 0x4070f7
dec eax
sub ecx, 7
test eax, eax
jge 0x4070e9
jmp 0x4070ff
test eax, eax
jge 0x407399
mov ax, word [0x4133ae]
mov cl, byte [0x417fd4]
push esi
push edi
test ebp, ebp
mov word [esp + 0x19], ax
mov byte [esp + 0x18], cl
je 0x407126
mov esi, dword [ebp]
cmp esi, 0x14
jge 0x40712c
mov eax, esi
jmp 0x40713c
xor esi, esi
mov eax, esi
jmp 0x40713c
mov eax, esi
mov ecx, 5
cdq
idiv ecx
mov eax, esi
sub eax, edx
add eax, ecx
lea edi, [esi + 1]
cmp edi, eax
jge 0x40716f
lea edx, [esi*8]
mov cx, word [esp + 0x18]
sub edx, esi
lea eax, [edx + ebp + 4]
mov dl, byte [esp + 0x1a]
mov dword [eax], ebx
mov word [eax + 4], cx
mov byte [eax + 6], dl
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
mov dword [ecx], edi
jmp 0x407222
test ebp, ebp
je 0x4071cb
cmp edi, 0x14
jge 0x40717c
mov ecx, edi
jmp 0x40718d
mov eax, edi
mov ecx, 5
cdq
idiv ecx
mov ecx, edi
sub ecx, edx
add ecx, 5
cmp esi, 0x14
mov eax, esi
jl 0x4071a6
cdq
mov ebx, 5
idiv ebx
mov eax, esi
sub eax, edx
add eax, ebx
mov ebx, dword [esp + 0x20]
lea edx, [ecx*8]
sub edx, ecx
lea ecx, [eax*8]
sub ecx, eax
add edx, 4
add ecx, 4
push edx
push ecx
push ebp
call fcn.0040e4e0
add esp, 0xc
jmp 0x4071f5
cmp edi, 0x14
mov eax, edi
jl 0x4071e0
cdq
mov ecx, 5
idiv ecx
mov eax, edi
sub eax, edx
add eax, ecx
lea edx, [eax*8]
sub edx, eax
add edx, 4
push edx
call fcn.0040e400
add esp, 4
test eax, eax
je 0x407222
mov ecx, dword [esp + 0x10]
lea edx, [esi*8]
sub edx, esi
mov dword [ecx], eax
lea eax, [edx + eax + 4]
mov dx, word [esp + 0x18]
mov dword [eax], ebx
mov word [eax + 4], dx
mov dl, byte [esp + 0x1a]
mov byte [eax + 6], dl
mov eax, dword [ecx]
mov dword [eax], edi
mov eax, dword [ebx + 6]
mov ecx, dword [0x4133b4]
test eax, eax
mov dword [esp + 0x14], ecx
jne 0x407240
push 8
call fcn.0040e400
add esp, 4
mov dword [ebx + 6], eax
mov ebp, dword [ebx + 6]
add ebp, 4
mov ecx, dword [ebp]
test ecx, ecx
je 0x407258
mov esi, dword [ecx]
cmp esi, 0x14
jge 0x40725e
mov eax, esi
jmp 0x40726e
xor esi, esi
mov eax, esi
jmp 0x40726e
mov eax, esi
mov edi, 5
cdq
idiv edi
mov eax, esi
sub eax, edx
add eax, edi
lea edi, [esi + 1]
cmp edi, eax
jge 0x4072a2
lea edx, [esi*8]
sub edx, esi
lea eax, [edx + ecx + 4]
mov ecx, dword [esp + 0x14]
mov dx, word [esp + 0x18]
mov dword [eax], ecx
mov cl, byte [esp + 0x1a]
mov word [eax + 4], dx
mov byte [eax + 6], cl
mov edx, dword [ebp]
mov dword [edx], edi
jmp 0x407356
test ecx, ecx
je 0x4072fd
cmp edi, 0x14
jge 0x4072af
mov ecx, edi
jmp 0x4072c0
mov eax, edi
mov ecx, 5
cdq
idiv ecx
mov ecx, edi
sub ecx, edx
add ecx, 5
cmp esi, 0x14
mov eax, esi
jl 0x4072d5
cdq
mov ebx, 5
idiv ebx
mov eax, esi
sub eax, edx
add eax, ebx
lea edx, [ecx*8]
sub edx, ecx
lea ecx, [eax*8]
sub ecx, eax
mov eax, dword [ebp]
add edx, 4
add ecx, 4
push edx
push ecx
push eax
call fcn.0040e4e0
add esp, 0xc
jmp 0x407327
cmp edi, 0x14
mov eax, edi
jl 0x407312
cdq
mov ecx, 5
idiv ecx
mov eax, edi
sub eax, edx
add eax, ecx
lea edx, [eax*8]
sub edx, eax
add edx, 4
push edx
call fcn.0040e400
add esp, 4
test eax, eax
je 0x407356
lea ecx, [esi*8]
mov dword [ebp], eax
sub ecx, esi
lea edx, [ecx + eax + 4]
mov eax, dword [esp + 0x14]
mov cx, word [esp + 0x18]
mov dword [edx], eax
mov al, byte [esp + 0x1a]
mov word [edx + 4], cx
mov byte [edx + 6], al
mov ecx, dword [ebp]
mov dword [ecx], edi
mov eax, dword [0x413bd0]
pop edi
pop esi
inc word [eax + 0xa]
mov dx, word [0x4133ae]
cmp dx, 0xffff
je 0x407399
mov ecx, dword [0x413bd0]
mov al, byte [ecx + 0x20]
test al, al
je 0x407399
mov ax, word [ecx + 0x21]
cmp ax, dx
je 0x407399
cmp ax, 0xffff
jne 0x407395
pop ebp
mov word [ecx + 0x21], dx
pop ebx
add esp, 0xc
ret
mov byte [ecx + 0x20], 0
pop ebp
pop ebx
add esp, 0xc
ret