Function at 0x416980
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x14
push edi
mov edi, dword [esp + 0x1c]
mov eax, dword [edi + 0x68]
test al, 1
jne 0x4169cf
push 0x41d8cc
push edi
call fcn.00413930
add esp, 8
push ebx
mov ebx, dword [esp + 0x28]
push esi
lea edx, [ebx + 1]
push edx
push edi
call fcn.00413d20
mov esi, eax
add esp, 8
test esi, esi
mov dword [esp + 0x10], esi
jne 0x416a20
push 0x41d8b0
push edi
call fcn.004139e0
add esp, 8
pop esi
pop ebx
pop edi
add esp, 0x14
ret
test al, 4
je 0x4169f1
push 0x41d898
push edi
call fcn.004139e0
mov eax, dword [esp + 0x2c]
push eax
push edi
call fcn.00414e50
add esp, 0x10
pop edi
add esp, 0x14
ret
mov eax, dword [esp + 0x20]
test eax, eax
je 0x41699d
test dword [eax + 8], 0x400
je 0x41699d
push 0x41d880
push edi
call fcn.004139e0
mov ecx, dword [esp + 0x2c]
push ecx
push edi
call fcn.00414e50
add esp, 0x10
pop edi
add esp, 0x14
ret
push ebx
push esi
push edi
call fcn.0040e1a0
push ebx
push esi
push edi
call fcn.0040aa50
push 0
push edi
call fcn.00414e50
add esp, 0x20
test eax, eax
je 0x416a50
push esi
push edi
call fcn.00413cf0
add esp, 8
pop esi
pop ebx
pop edi
add esp, 0x14
ret
lea ecx, [esi + ebx]
mov byte [ecx], 0
cmp byte [esi], 0
mov dword [esp + 0x1c], ecx
mov eax, esi
je 0x416a69
add eax, 1
cmp byte [eax], 0
jne 0x416a61
lea edx, [eax + 0xc]
cmp ecx, edx
ja 0x416a8c
push 0x41d86c
push edi
call fcn.004139e0
push esi
push edi
call fcn.00413cf0
add esp, 0x10
pop esi
pop ebx
pop edi
add esp, 0x14
ret
movzx ecx, byte [eax + 2]
movzx edx, byte [eax + 3]
movzx ebx, byte [eax + 5]
push ebp
movzx ebp, byte [eax + 1]
shl ebp, 8
add ebp, ecx
movzx ecx, byte [eax + 4]
shl ebp, 8
add ebp, edx
movzx edx, byte [eax + 6]
shl ebx, 8
add ebx, edx
movzx edx, byte [eax + 8]
shl ebp, 8
add ebp, ecx
movzx ecx, byte [eax + 7]
shl ebx, 8
add ebx, ecx
mov cl, byte [eax + 9]
shl ebx, 8
add ebx, edx
mov dl, byte [eax + 0xa]
add eax, 0xb
test cl, cl
mov byte [esp + 0x13], cl
mov byte [esp + 0x28], dl
mov dword [esp + 0x18], eax
jne 0x416aeb
cmp dl, 2
jne 0x416b0d
jmp 0x416b45
cmp cl, 1
jne 0x416af7
cmp dl, 3
jne 0x416b0d
jmp 0x416b45
cmp cl, 2
jne 0x416b03
cmp dl, 3
jne 0x416b0d
jmp 0x416b45
cmp cl, 3
jne 0x416b2a
cmp dl, 4
je 0x416b45
push 0x41d840
push edi
call fcn.004139e0
push esi
push edi
call fcn.00413cf0
add esp, 0x10
pop ebp
pop esi
pop ebx
pop edi
add esp, 0x14
ret
cmp cl, 4
jb 0x416b45
push 0x41d814
push edi
call fcn.004139e0
mov dl, byte [esp + 0x30]
mov eax, dword [esp + 0x20]
add esp, 8
cmp byte [eax], 0
mov esi, eax
je 0x416b58
lea esp, [esp]
add esi, 1
cmp byte [esi], 0
jne 0x416b50
movzx eax, dl
mov dword [esp + 0x28], eax
add eax, eax
add eax, eax
push eax
push edi
call fcn.00413d20
add esp, 8
test eax, eax
mov dword [esp + 0x1c], eax
jne 0x416b96
mov ecx, dword [esp + 0x14]
push ecx
push edi
call fcn.00413cf0
push 0x41d7f8
push edi
call fcn.004139e0
add esp, 0x10
pop ebp
pop esi
pop ebx
pop edi
add esp, 0x14
ret
xor edx, edx
cmp dword [esp + 0x28], edx
jle 0x416bf5
mov edi, edi
mov ecx, dword [esp + 0x20]
add esi, 1
cmp esi, ecx
mov dword [eax + edx*4], esi
ja 0x416bbc
mov edi, edi
cmp byte [esi], 0
je 0x416be8
add esi, 1
cmp esi, ecx
jbe 0x416bb0
push 0x41d86c
push edi
call fcn.004139e0
mov edx, dword [esp + 0x1c]
push edx
push edi
call fcn.00413cf0
mov eax, dword [esp + 0x2c]
push eax
push edi
call fcn.00413cf0
add esp, 0x18
pop ebp
pop esi
pop ebx
pop edi
add esp, 0x14
ret
cmp esi, ecx
ja 0x416bbc
add edx, 1
cmp edx, dword [esp + 0x28]
jl 0x416ba0
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x28]
mov esi, dword [esp + 0x14]
push eax
movzx eax, byte [esp + 0x17]
push ecx
mov ecx, dword [esp + 0x34]
push edx
push eax
push ebx
push ebp
push esi
push ecx
push edi
call fcn.00418170
push esi
push edi
call fcn.00413cf0
mov edx, dword [esp + 0x48]
push edx
push edi
call fcn.00413cf0
add esp, 0x34
pop ebp
pop esi
pop ebx
pop edi
add esp, 0x14
ret