Function at 0x45af00
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0xc
push ebp
push esi
mov esi, ecx
push edi
xor edi, edi
cmp dword [esi + 0x10], edi
je 0x45b0f1
mov eax, dword [esi + 0x18]
cmp eax, edi
je 0x45af29
mov ecx, dword [esi + 0x20]
mov dword [eax + 0x10], ecx
mov edx, dword [esi + 0x18]
mov eax, dword [esi + 0x28]
mov dword [edx + 0x18], eax
mov ecx, dword [esi + 0x10]
mov edx, dword [esi + 0x14]
push 0x45aee0
push 0x20
push ecx
push edx
call dword [sym.imp.MSVCRT.dll_qsort]
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0x14]
shl eax, 5
add esp, 0x10
mov edx, dword [eax + ecx - 0x20]
mov eax, dword [esi + 0x30]
mov dword [edx + 0x14], eax
mov ecx, dword [esi + 0x10]
mov edx, dword [esi + 0x14]
shl ecx, 5
mov eax, dword [ecx + edx - 0x20]
mov ecx, dword [esi + 0x30]
mov edx, dword [eax + 8]
add edx, ecx
mov dword [eax + 8], edx
mov edx, dword [esp + 0x1c]
mov eax, dword [0x401eb8]
add edx, 0x1c0
push edx
push eax
call fcn.0040ee00
mov ebp, dword [eax + 4]
mov edx, dword [eax + 0x18]
mov eax, dword [0x481184]
lea ecx, [esp + 0x1c]
push ecx
push edi
push edx
push eax
mov dword [esp + 0x2c], edi
call fcn.0040bd40
mov eax, dword [esi + 0x10]
mov dword [esp + 0x10], edi
cmp eax, edi
jbe 0x45b0f1
push ebx
mov dword [esp + 0x20], edi
jmp 0x45afb8
mov ebp, dword [esp + 0x18]
mov edi, dword [esp + 0x20]
mov ebx, dword [esi + 0x14]
add edi, ebx
mov ebx, dword [edi]
mov dword [ebx], ebp
mov ecx, dword [esi + 0x34]
imul ecx, dword [edi + 8]
mov al, byte [esi + 0x3a]
add ebp, ecx
test al, al
mov dword [esp + 0x18], ebp
jne 0x45b042
mov ecx, dword [edi + 0x10]
mov eax, dword [edi + 0xc]
cmp eax, ecx
jae 0x45b042
mov dl, byte [esi + 0x3a]
test dl, dl
jne 0x45b03d
mov edx, dword [esi + 0x24]
mov ebp, dword [0x480f8c]
mov dx, word [edx + eax*8 + 4]
mov word [ebp], dx
mov edx, dword [esi + 0x24]
mov ebp, dword [ebx]
mov edx, dword [edx + eax*8]
add edx, ebp
mov ebp, dword [0x480f8c]
mov dword [ebp + 4], edx
mov edx, dword [esi + 0x24]
mov ebp, dword [0x480f8c]
mov dx, word [edx + eax*8 + 6]
mov word [ebp + 2], dx
mov edx, dword [0x480f8c]
mov dword [edx + 8], 0
mov edx, dword [0x480f8c]
add edx, 0xc
mov dword [0x480f8c], edx
inc eax
cmp eax, ecx
jb 0x45afe3
mov al, byte [esi + 0x3b]
test al, al
je 0x45b08c
mov eax, dword [edi + 0x18]
mov ecx, dword [edi + 0x14]
cmp ecx, eax
jae 0x45b08c
lea ebp, [ecx + ecx*2]
shl ebp, 2
sub eax, ecx
mov dword [esp + 0x10], eax
mov eax, dword [esi + 0x2c]
add eax, ebp
mov ecx, dword [eax + 8]
mov edx, dword [eax + 4]
push ecx
mov ecx, dword [ebx]
add edx, ecx
mov cx, word [eax + 2]
push edx
mov dx, word [eax]
push ecx
push edx
call fcn.00446660
mov eax, dword [esp + 0x10]
add ebp, 0xc
dec eax
mov dword [esp + 0x10], eax
jne 0x45b05f
mov eax, dword [esi + 0x34]
mov ecx, dword [esi + 8]
mov ebp, eax
mov ebx, dword [0x481184]
imul ebp, dword [edi + 8]
mov edi, dword [edi + 4]
imul edi, eax
mov al, byte [0x481194]
add edi, ecx
test al, al
je 0x45b0b4
call fcn.0040cbc0
mov eax, dword [0x469524]
push ebp
push edi
mov eax, dword [eax + ebx*4]
push eax
test byte [eax + 4], 8
je 0x45b0cc
call fcn.0040c870
jmp 0x45b0d1
call fcn.0040bee0
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x20]
mov ecx, dword [esi + 0x10]
inc eax
add edx, 0x20
cmp eax, ecx
mov dword [esp + 0x14], eax
mov dword [esp + 0x20], edx
jb 0x45afb4
pop ebx
pop edi
pop esi
pop ebp
add esp, 0xc
ret 4