Function at 0x4062d0
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x1c
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x20]
push ebx
movzx ebx, word [eax + 4]
push ebp
movsx ebp, word [eax + 0xa]
push esi
movsx esi, word [eax + 8]
sub edx, esi
mov esi, dword [esp + 0x30]
sub esi, ebp
cmp edx, dword [ecx + 0x3f8]
push edi
movzx edi, word [eax + 6]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x34], esi
jge 0x40679b
mov ebp, dword [ecx + 0x3f0]
movzx ebx, bx
add ebx, edx
cmp ebx, ebp
jle 0x40679b
cmp esi, dword [ecx + 0x3fc]
jge 0x40679b
mov ebx, dword [ecx + 0x3f4]
movzx ebp, di
add ebp, esi
cmp ebp, ebx
jle 0x40679b
xor ebp, ebp
cmp edx, dword [ecx + 0x3f0]
mov dword [esp + 0x18], ebp
jge 0x40636a
mov bx, word [ecx + 0x3f0]
sub bx, dx
movzx edx, bx
sub dword [esp + 0x10], edx
mov dword [esp + 0x18], edx
mov edx, dword [ecx + 0x3f0]
cmp esi, dword [ecx + 0x3f4]
jge 0x40638b
mov bx, word [ecx + 0x3f4]
sub bx, si
mov esi, dword [ecx + 0x3f4]
movzx ebp, bx
sub edi, ebp
mov dword [esp + 0x34], esi
movzx esi, word [esp + 0x10]
add esi, edx
cmp esi, dword [ecx + 0x3f8]
jle 0x4063ab
mov si, word [ecx + 0x3f8]
sub si, dx
movzx esi, si
mov dword [esp + 0x10], esi
movzx esi, di
add esi, dword [esp + 0x34]
cmp esi, dword [ecx + 0x3fc]
jle 0x4063c9
mov si, word [ecx + 0x3fc]
sub si, word [esp + 0x34]
movzx edi, si
mov esi, dword [ecx + 0x3d0]
imul esi, dword [esp + 0x34]
mov ecx, dword [ecx + 0x3cc]
add esi, edx
lea ebx, [ecx + esi*2]
movzx esi, word [esp + 0x18]
movzx edx, bp
mov ecx, dword [eax + edx*4 + 0xc]
add edi, ebp
inc ebp
neg esi
mov dword [esp + 0x28], edi
mov dword [esp + 0x30], ebx
lea eax, [eax + ecx*2]
mov dword [esp + 0x34], ebp
mov edx, ebx
mov dword [esp + 0x18], esi
cmp bp, di
ja 0x40679b
mov edi, edi
movzx edi, word [eax]
mov ecx, edi
and ecx, 0xe000
cmp ecx, 0x8000
jg 0x406741
je 0x406766
test ecx, ecx
je 0x406719
cmp ecx, 0x2000
je 0x4066e7
cmp ecx, 0x4000
jne 0x406790
and edi, 0x1fff
movzx ecx, di
add esi, ecx
add eax, 2
mov dword [esp + 0x20], edi
mov dword [esp + 0x24], ecx
test esi, esi
jle 0x4066df
movzx edi, word [esp + 0x10]
cmp esi, edi
jl 0x406595
cmp esi, ecx
jge 0x406509
sub ecx, esi
lea eax, [eax + ecx*4]
mov dword [esp + 0x30], eax
test edi, edi
jle 0x406766
mov dword [esp + 0x1c], edi
movzx edi, word [eax + 2]
movzx esi, word [edx]
mov eax, esi
shr eax, 6
and eax, 0x1f
mov ecx, edi
shr ecx, 6
and ecx, 0x1f
shl eax, 5
add eax, ecx
mov ecx, esi
shr ecx, 0xb
mov ebp, edi
shr ebp, 0xb
shl ecx, 5
add ecx, ebp
mov bp, word [eax*2 + 0x454408]
add bp, word [ecx*2 + 0x453c08]
mov eax, dword [esp + 0x30]
and esi, 0x1f
shl esi, 5
and edi, 0x1f
add esi, edi
add bp, word [esi*2 + 0x454c08]
add eax, 4
add bp, word [eax - 4]
add edx, 2
sub dword [esp + 0x1c], 1
mov word [edx - 2], bp
mov dword [esp + 0x30], eax
jne 0x406495
mov ebp, dword [esp + 0x34]
jmp 0x406766
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0x20]
sub edi, esi
add ecx, edi
movzx ecx, cx
test ecx, ecx
jle 0x406766
mov dword [esp + 0x30], ecx
movzx esi, word [edx]
movzx ecx, word [eax + 2]
mov edi, esi
shr edi, 6
and edi, 0x1f
mov ebp, ecx
shr ebp, 6
shl edi, 5
and ebp, 0x1f
add edi, ebp
mov di, word [edi*2 + 0x454408]
mov ebp, esi
shr ebp, 0xb
mov dword [esp + 0x20], ecx
shr ecx, 0xb
shl ebp, 5
add ebp, ecx
add di, word [ebp*2 + 0x453c08]
mov ecx, dword [esp + 0x20]
and esi, 0x1f
shl esi, 5
and ecx, 0x1f
add esi, ecx
add di, word [esi*2 + 0x454c08]
add edx, 2
add di, word [eax]
add eax, 4
sub dword [esp + 0x30], 1
mov word [edx - 2], di
jne 0x406524
mov ebp, dword [esp + 0x34]
jmp 0x406766
cmp esi, ecx
jge 0x406646
lea ecx, [ecx + ecx*2]
add ecx, ecx
lea edi, [esi*4]
sub ecx, edi
add eax, ecx
mov ecx, esi
neg ecx
lea edx, [edx + ecx*2]
mov dword [esp + 0x1c], edx
test esi, esi
jle 0x40663a
mov dword [esp + 0x20], esi
movzx edi, word [edx]
movzx ebx, word [eax - 2]
mov edx, edi
shr edx, 6
and edx, 0x1f
mov ecx, ebx
shr ecx, 6
and ecx, 0x1f
shl edx, 5
add edx, ecx
mov ecx, edi
shr ecx, 0xb
mov ebp, ebx
shr ebp, 0xb
shl ecx, 5
add ecx, ebp
mov bp, word [edx*2 + 0x454408]
add bp, word [ecx*2 + 0x453c08]
mov edx, dword [esp + 0x1c]
and edi, 0x1f
shl edi, 5
and ebx, 0x1f
add edi, ebx
add bp, word [edi*2 + 0x454c08]
add edx, 2
add bp, word [eax]
sub eax, 4
sub bp, 2
sub dword [esp + 0x20], 1
mov word [edx - 2], bp
mov dword [esp + 0x1c], edx
jne 0x4065c4
mov ebp, dword [esp + 0x34]
mov ebx, dword [esp + 0x30]
mov ecx, dword [esp + 0x24]
lea edx, [edx + ecx*2]
jmp 0x406790
lea edi, [ecx + ecx]
add eax, edi
sub edx, edi
mov dword [esp + 0x1c], edi
test ecx, ecx
jle 0x4066d8
mov dword [esp + 0x20], ecx
lea ecx, [ecx]
movzx edi, word [edx]
movzx ecx, word [eax - 2]
mov ebx, edi
shr ebx, 6
and ebx, 0x1f
mov ebp, ecx
shr ebp, 6
shl ebx, 5
and ebp, 0x1f
add ebx, ebp
mov bx, word [ebx*2 + 0x454408]
mov ebp, edi
shr ebp, 0xb
mov dword [esp + 0x24], ecx
shr ecx, 0xb
shl ebp, 5
add ebp, ecx
add bx, word [ebp*2 + 0x453c08]
mov ecx, dword [esp + 0x24]
and edi, 0x1f
shl edi, 5
and ecx, 0x1f
add edi, ecx
add bx, word [edi*2 + 0x454c08]
add edx, 2
add bx, word [eax]
sub eax, 4
sub bx, 2
sub dword [esp + 0x20], 1
mov word [edx - 2], bx
jne 0x406660
mov ebx, dword [esp + 0x30]
mov ebp, dword [esp + 0x34]
mov edi, dword [esp + 0x1c]
add edx, edi
jmp 0x406790
lea eax, [eax + ecx*4]
jmp 0x406790
and edi, 0x1fff
movzx ecx, di
add esi, ecx
add eax, 2
test esi, esi
jle 0x406714
movzx edi, word [esp + 0x10]
cmp esi, edi
jge 0x406766
cmp esi, ecx
jge 0x406711
lea edx, [edx + esi*2]
lea eax, [eax + ecx*2]
jmp 0x406790
lea edx, [edx + ecx*2]
lea eax, [eax + ecx*2]
jmp 0x406790
and edi, 0x1fff
movzx ecx, di
add esi, ecx
add eax, 2
test esi, esi
jle 0x406790
movzx edi, word [esp + 0x10]
cmp esi, edi
jge 0x406766
cmp esi, ecx
jge 0x40663e
lea edx, [edx + esi*2]
jmp 0x406790
cmp ecx, 0xa000
je 0x406766
cmp ecx, 0xc000
je 0x40675b
cmp ecx, 0xe000
je 0x40679b
jmp 0x406790
and edi, 0x1fff
movzx eax, di
add esi, eax
mov eax, dword [esp + 0x38]
mov esi, dword [esp + 0x18]
movzx edx, bp
mov ecx, dword [eax + edx*4 + 0xc]
mov edx, dword [esp + 0x14]
lea eax, [eax + ecx*2]
mov ecx, dword [edx + 0x3d0]
lea ebx, [ebx + ecx*2]
inc ebp
mov edx, ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], ebp
cmp bp, word [esp + 0x28]
jbe 0x406410
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret 0x10