Function at 0x466f80
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x28
mov ecx, dword [esp + 0x38]
push ebx
push ebp
mov ebp, dword [esp + 0x38]
push esi
mov esi, eax
mov eax, dword [esp + 0x38]
mov ebx, dword [eax]
test byte [ebx + 0x3c], 1
mov edx, dword [eax + 0x21c]
mov dword [esp + 0x28], edx
je 0x466faf
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x28
ret
mov edx, dword [esi + 0x28]
lea ebp, [ebp + ebp*8]
add ebp, ebp
add ebp, ebp
add ebp, ebp
cmp dword [esp + 0x40], 0
mov eax, dword [edx + ebp + 0x34]
mov dword [esp + 0x14], eax
lea eax, [edx + ebp + 0x1c]
push edi
mov edi, dword [eax]
mov dword [esp + 0x10], edx
mov dword [esp + 0x24], ebp
mov dword [esp + 0x1c], eax
mov dword [esp + 0x14], edi
je 0x466ff0
test ecx, ecx
je 0x466ff9
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x28
ret
test ecx, ecx
je 0x466ff9
cmp byte [edx], 1
ja 0x466fe6
mov ecx, dword [edi + 0x48]
test ecx, ecx
mov eax, dword [edi + 0x28]
je 0x467009
cmp dword [esi + 0x48], 0
jne 0x466fe6
cmp dword [edi + 0x4c], 0
jne 0x466fe6
cmp dword [esi + 0x44], 0
je 0x467019
test ecx, ecx
jne 0x466fe6
cmp byte [eax], 0
je 0x466fe6
movzx eax, word [edi + 6]
test al, 1
mov dword [esp + 0x28], eax
jne 0x466fe6
test ecx, ecx
je 0x46703a
cmp byte [edx], 1
ja 0x466fe6
cmp dword [esp + 0x44], 0
jne 0x466fe6
movzx eax, word [esi + 6]
and eax, 1
mov dword [esp + 0x20], eax
je 0x46704e
cmp dword [esp + 0x48], 0
jne 0x466fe6
cmp dword [esi + 0x38], 0
je 0x46705a
cmp dword [edi + 0x38], 0
jne 0x466fe6
cmp dword [esp + 0x44], 0
je 0x46706b
cmp dword [edi + 0x38], 0
jne 0x466fe6
test ecx, ecx
je 0x467089
cmp dword [esi + 0x2c], 0
jne 0x466fe6
test ecx, ecx
je 0x467089
cmp word [esp + 0x20], 0
jne 0x466fe6
test dword [esp + 0x28], 0x800
jne 0x466fe6
movzx eax, word [esi + 6]
test eax, 0x800
je 0x4670ac
cmp dword [edi + 0x3c], 0
jne 0x466fe6
test byte [edx + ebp + 0x28], 0x20
lea eax, [edx + ebp + 0x28]
mov dword [esp + 0x30], eax
jne 0x466fe6
cmp dword [edi + 0x3c], 0
je 0x467158
cmp dword [edi + 0x38], 0
jne 0x466fe6
cmp dword [esp + 0x44], 0
jne 0x466fe6
cmp word [esp + 0x20], 0
jne 0x466fe6
cmp byte [edx], 1
jne 0x466fe6
mov eax, edi
test byte [eax + 6], 5
jne 0x466fe6
mov ecx, dword [eax + 0x3c]
test ecx, ecx
je 0x467110
cmp byte [eax + 4], 0x74
jne 0x466fe6
mov edx, dword [eax + 0x28]
cmp byte [edx], 1
jb 0x466fe6
mov edx, dword [edi]
mov eax, dword [eax]
mov edx, dword [edx]
cmp edx, dword [eax]
jne 0x466fe6
mov eax, ecx
test eax, eax
jne 0x4670f5
mov ecx, dword [esi + 0x38]
test ecx, ecx
je 0x467158
cmp dword [ecx], eax
jle 0x467158
mov ecx, dword [ecx + 8]
add ecx, 0x14
cmp word [ecx], 0
je 0x466fe6
mov edx, dword [esi + 0x38]
add eax, 1
add ecx, 0x18
cmp eax, dword [edx]
jl 0x467141
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + ebp + 0x10]
push 0
push 0
lea edi, [eax + ebp + 0x10]
mov eax, dword [esp + 0x44]
push 0
push 0x15
push eax
mov dword [esp + 0x3c], edi
mov dword [eax + 0x21c], ecx
call fcn.00481160
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x28]
mov dword [eax + 0x21c], edx
mov eax, dword [ecx + 0x3c]
add esp, 0x14
test eax, eax
mov dword [esp + 0x14], eax
je 0x467233
mov eax, dword [esi + 0x3c]
mov edx, dword [esi + 0x4c]
mov ebp, dword [esi + 0x38]
mov edi, dword [esi + 0x48]
mov dword [esp + 0x20], eax
xor eax, eax
push eax
push esi
push ebx
mov dword [esp + 0x38], edx
mov dword [esi + 0x38], eax
mov dword [esi + 0x28], eax
mov dword [esi + 0x3c], eax
mov dword [esi + 0x48], eax
mov dword [esi + 0x4c], eax
call fcn.00479be0
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x1c]
add esp, 0xc
test eax, eax
mov dword [esi + 0x4c], ecx
mov dword [esi + 0x48], edi
mov dword [esi + 0x38], ebp
mov dword [esi + 0x28], edx
mov byte [esi + 4], 0x74
mov dword [esi + 0x44], 0
jne 0x4671fd
mov eax, dword [esp + 0x20]
jmp 0x46720b
mov ecx, dword [esp + 0x20]
mov dword [eax + 0x3c], ecx
mov dword [eax + 0x44], 0
mov dword [esi + 0x3c], eax
cmp byte [ebx + 0x40], 0
jne 0x467535
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 0x3c]
test eax, eax
mov dword [esp + 0x14], eax
jne 0x4671a4
mov ebp, dword [esp + 0x24]
mov edi, dword [esp + 0x28]
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx + ebp + 0xc]
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
push edx
push ebx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x1c], eax
call fcn.0043f760
mov eax, dword [edi]
push eax
push ebx
call fcn.0043f760
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx + ebp + 0x14]
push edx
push ebx
call fcn.0043f760
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x34]
xor ecx, ecx
mov dword [eax + ebp + 0xc], ecx
mov dword [eax + ebp + 0x14], ecx
lea ebp, [eax + ebp + 0x18]
mov eax, dword [ebp]
add esp, 0x18
cmp eax, ecx
mov dword [edi], ecx
mov dword [edx], ecx
je 0x4672c5
movzx ecx, word [eax + 0x28]
cmp cx, 1
jne 0x4672b7
mov edx, dword [esp + 0x3c]
mov ecx, dword [edx + 0x1c8]
test ecx, ecx
jne 0x4672a6
mov ecx, edx
mov edx, dword [ecx + 0x23c]
mov dword [eax + 0x48], edx
mov dword [ecx + 0x23c], eax
jmp 0x4672be
add ecx, 0xffffffff
mov word [eax + 0x28], cx
mov dword [ebp], 0
mov ebp, esi
jmp 0x4672d0
mov eax, dword [esp + 0x14]
mov edi, dword [eax + 0x28]
mov eax, dword [ebp + 0x28]
test eax, eax
movzx esi, byte [edi]
mov byte [esp + 0x3c], 0
mov dword [esp + 0x10], eax
je 0x4672f6
mov ecx, dword [esp + 0x30]
mov dl, byte [ecx]
mov byte [esp + 0x3c], dl
jmp 0x467314
push 0
push 0
push 0
push ebx
call fcn.004614f0
add esp, 0x10
test eax, eax
mov dword [ebp + 0x28], eax
mov dword [esp + 0x10], eax
je 0x467527
cmp esi, 1
jle 0x467340
mov ecx, dword [esp + 0x40]
add ecx, 1
push ecx
lea edx, [esi - 1]
push edx
push eax
push ebx
call fcn.0045f040
add esp, 0x10
mov dword [ebp + 0x28], eax
cmp byte [ebx + 0x40], 0
mov dword [esp + 0x10], eax
jne 0x467527
test esi, esi
jle 0x46739d
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x10]
add edi, 8
lea edx, [eax + ecx + 8]
mov dword [esp + 0x20], edi
mov dword [esp + 0x1c], edx
mov dword [esp + 0x28], esi
nop
mov edi, dword [esp + 0x1c]
mov eax, dword [edi + 0x34]
push eax
push ebx
call fcn.0045efa0
mov esi, dword [esp + 0x28]
mov ecx, 0x12
push 0x48
rep movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x2c]
push 0
push esi
call fcn.004f5b00
add dword [esp + 0x30], 0x48
add esi, 0x48
add esp, 0x14
sub dword [esp + 0x28], 1
mov dword [esp + 0x20], esi
jne 0x467360
mov al, byte [esp + 0x3c]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x10]
mov byte [ecx + edx + 0x28], al
mov esi, dword [ebp]
xor edi, edi
cmp dword [esi], edi
mov dword [esp + 0x3c], edi
jle 0x467401
lea ebx, [ebx]
mov ecx, dword [esi + 8]
cmp dword [edi + ecx + 4], 0
lea eax, [edi + ecx]
jne 0x4673ef
mov edx, dword [eax + 8]
push edx
push ebx
call fcn.0043fed0
push eax
mov dword [esp + 0x38], eax
call fcn.0045af20
mov eax, dword [esi + 8]
mov ecx, dword [esp + 0x38]
add esp, 0xc
mov dword [edi + eax + 4], ecx
mov eax, dword [esp + 0x3c]
add eax, 1
add edi, 0x18
cmp eax, dword [esi]
mov dword [esp + 0x3c], eax
jl 0x4673c0
mov edi, dword [esp + 0x14]
mov edx, dword [edi]
mov eax, dword [esp + 0x18]
mov esi, dword [ebp]
push edx
push eax
push ebx
call fcn.00466f30
add esp, 0xc
cmp dword [esp + 0x44], 0
je 0x467449
mov ecx, dword [edi]
mov edx, dword [esp + 0x18]
mov esi, dword [ebp + 0x30]
push ecx
push edx
push ebx
call fcn.00466f30
mov eax, dword [edi]
mov ecx, dword [esp + 0x24]
mov edx, dword [ebp + 0x34]
push eax
push ecx
push edx
push ebx
call fcn.00466e30
add esp, 0x1c
mov dword [ebp + 0x34], eax
mov eax, dword [edi + 0x38]
test eax, eax
je 0x46745c
mov dword [ebp + 0x38], eax
mov dword [edi + 0x38], 0
jmp 0x467474
mov esi, dword [ebp + 0x38]
test esi, esi
je 0x467474
mov eax, dword [edi]
mov ecx, dword [esp + 0x18]
push eax
push ecx
push ebx
call fcn.00466f30
add esp, 0xc
mov eax, dword [edi + 0x2c]
test eax, eax
je 0x46748b
push 0
push eax
push ebx
call fcn.0047a690
add esp, 0xc
mov esi, eax
jmp 0x46748d
xor esi, esi
cmp dword [esp + 0x48], 0
mov edx, dword [ebp + 0x2c]
mov ecx, dword [esp + 0x18]
je 0x4674dd
mov dword [ebp + 0x34], edx
mov dword [ebp + 0x2c], esi
mov eax, dword [edi]
push eax
push ecx
push edx
push ebx
call fcn.00466e30
mov dword [ebp + 0x34], eax
mov eax, dword [edi + 0x34]
push 0
push eax
push ebx
call fcn.0047a690
mov ecx, dword [ebp + 0x34]
push eax
push ecx
push ebx
call fcn.0047a390
mov dword [ebp + 0x34], eax
mov edx, dword [edi + 0x30]
push 0
push edx
push ebx
call fcn.004785a0
add esp, 0x34
mov dword [ebp + 0x30], eax
jmp 0x4674f9
mov eax, dword [edi]
push eax
push ecx
push edx
push ebx
call fcn.00466e30
push esi
push eax
push ebx
mov dword [ebp + 0x2c], eax
call fcn.0047a390
add esp, 0x1c
mov dword [ebp + 0x2c], eax
movzx eax, byte [edi + 6]
and eax, 1
or word [ebp + 6], ax
mov eax, dword [edi + 0x48]
test eax, eax
je 0x467515
mov dword [ebp + 0x48], eax
mov dword [edi + 0x48], 0
mov ebp, dword [ebp + 0x3c]
test ebp, ebp
mov ecx, dword [edi + 0x3c]
mov dword [esp + 0x14], ecx
jne 0x4672d0
mov edx, dword [esp + 0x34]
push edx
push ebx
call fcn.00462600
add esp, 8
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x28
ret