Function at 0x4516e0
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0xc
cmp ecx, 0xffffffe0
mov dword [esp + 8], edx
push ebx
mov dword [esp + 4], ecx
push esi
push edi
push ebp
je 0x45136c
mov eax, dword [ecx + 0xc]
mov ecx, dword [ecx + 0x10]
sar eax, 8
mov dword [esp + 0x14], eax
cmp ecx, eax
je 0x451361
mov esi, dword [esp + 0x10]
xor ebp, ebp
add esi, 0x20
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
mov edx, dword [ecx + ebp + 0xc]
cmp edx, 1
jbe 0x451294
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
test eax, eax
mov eax, dword [esi]
jle 0x451284
mov edx, dword [eax + 0x10]
cmp edx, ecx
ja 0x451294
inc dword [esi - 8]
mov ecx, dword [esi]
add ecx, 0x10
jmp 0x451292
mov edx, dword [eax]
cmp edx, ecx
jbe 0x451294
dec dword [esi - 8]
mov ecx, dword [esi]
sub ecx, 0x10
mov dword [esi], ecx
mov edi, dword [esi]
xor ebx, ebx
mov bl, byte [edi + 5]
call fcn.00441750
sub edx, edx
lea ecx, [ebx*2]
inc ecx
div ecx
sub edx, ebx
mov eax, dword [esi + 8]
add eax, edx
xor ebx, ebx
mov dword [esi + 8], eax
mov bl, byte [edi + 0xa]
call fcn.00441750
sub edx, edx
lea ecx, [ebx*2]
inc ecx
div ecx
sub edx, ebx
mov eax, dword [esi + 0x10]
add eax, edx
xor ebx, ebx
mov dword [esi + 0x10], eax
mov bl, byte [edi + 7]
call fcn.00441750
sub edx, edx
lea ecx, [ebx*2]
inc ecx
div ecx
sub edx, ebx
mov eax, dword [esi + 0x18]
add eax, edx
mov dword [esi + 0x18], eax
mov ecx, dword [esi + 8]
test ecx, ecx
jge 0x451306
mov dword [esi + 8], 0
jmp 0x451314
xor eax, eax
mov al, byte [edi + 6]
add eax, eax
cmp ecx, eax
jle 0x451314
mov dword [esi + 8], eax
mov ecx, dword [esi + 0x10]
test ecx, ecx
jge 0x451324
mov dword [esi + 0x10], 0
jmp 0x451333
xor eax, eax
mov al, byte [edi + 0xb]
shl eax, 2
cmp eax, ecx
jge 0x451333
mov dword [esi + 0x10], eax
mov ecx, dword [esi + 0x18]
test ecx, ecx
jge 0x451343
mov dword [esi + 0x18], 0
jmp 0x451352
xor eax, eax
mov al, byte [edi + 8]
shl eax, 2
cmp eax, ecx
jge 0x451352
mov dword [esi + 0x18], eax
add esi, 4
add ebp, 4
cmp ebp, 8
jl 0x451256
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [eax + 0x10], ecx
pop ebp
pop edi
pop esi
pop ebx
add esp, 0xc
ret
push ebx
push esi
push edi
mov esi, ecx
push ebp
mov ecx, dword [esi + 0x40]
test ecx, ecx
je 0x4516cc
mov edi, dword [esi + 0xc]
mov eax, dword [esi]
sar edi, 8
mov eax, dword [eax + 8]
cmp eax, 1
jle 0x4516c9
test edx, edx
jle 0x451653
mov ebx, dword [esi + 0x14]
dec eax
cmp eax, ebx
jle 0x4516c9
mov eax, dword [ecx + 0x4c]
add ecx, 0x4c
cmp eax, edi
jg 0x4515ea
inc ebx
mov dword [esi + 0x40], ecx
mov dword [esi + 0x14], ebx
push edx
mov ecx, esi
mov edx, edi
call fcn.00451380
mov eax, dword [esi + 0x10]
cmp eax, edi
lea ecx, [eax + 1]
mov dword [esi + 0x10], ecx
jge 0x4516c9
lea edx, [esi + 0x84]
mov ebx, edx
mov ecx, 4
mov eax, dword [ebx + 0x40]
mov ebp, dword [ebx]
add ebp, eax
mov dword [ebx], ebp
add ebx, 8
mov eax, dword [ebx + 0x3c]
mov ebp, dword [ebx - 4]
add ebp, eax
mov dword [ebx - 4], ebp
mov ebp, dword [ebx + 0x18]
add ebp, dword [ebx + 0x58]
mov dword [ebx + 0x18], ebp
mov ebp, dword [ebx + 0x1c]
add ebp, dword [ebx + 0x5c]
dec ecx
mov dword [ebx + 0x1c], ebp
jne 0x451612
mov eax, dword [esi + 0x10]
cmp eax, edi
lea ecx, [eax + 1]
mov dword [esi + 0x10], ecx
jl 0x45160b
pop ebp
mov dword [esi + 0x10], edi
pop edi
pop esi
pop ebx
ret
jge 0x4516c9
mov eax, dword [esi + 0x14]
test eax, eax
jle 0x4516c9
mov ebx, dword [ecx]
cmp ebx, edi
jle 0x45166c
dec eax
sub ecx, 0x4c
mov dword [esi + 0x14], eax
mov dword [esi + 0x40], ecx
push edx
mov ecx, esi
mov edx, edi
call fcn.00451380
mov eax, dword [esi + 0x10]
cmp eax, edi
lea ecx, [eax - 1]
mov dword [esi + 0x10], ecx
jle 0x4516c9
lea edx, [esi + 0x84]
mov ebx, edx
mov ecx, 4
mov eax, dword [ebx + 0x40]
mov ebp, dword [ebx]
sub ebp, eax
mov dword [ebx], ebp
add ebx, 8
mov eax, dword [ebx + 0x3c]
mov ebp, dword [ebx - 4]
sub ebp, eax
mov dword [ebx - 4], ebp
mov ebp, dword [ebx + 0x18]
sub ebp, dword [ebx + 0x58]
mov dword [ebx + 0x18], ebp
mov ebp, dword [ebx + 0x1c]
sub ebp, dword [ebx + 0x5c]
dec ecx
mov dword [ebx + 0x1c], ebp
jne 0x451690
mov eax, dword [esi + 0x10]
cmp eax, edi
lea ecx, [eax - 1]
mov dword [esi + 0x10], ecx
jg 0x451689
mov dword [esi + 0x10], edi
pop ebp
pop edi
pop esi
pop ebx
ret
test ecx, ecx
je 0x451709
add dword [ecx + 0xc], edx
mov eax, dword [ecx + 4]
cmp eax, 0x52445744
je 0x4516ff
cmp eax, 0x5248494c
je 0x451704
cmp eax, 0x524d544e
jne 0x451709
jmp 0x451220
jmp 0x4515a0
ret