Function at 0x45ec90
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x98
mov eax, dword [esp + 0x9c]
push ebx
push ebp
push esi
mov edx, dword [eax + 4]
push edi
mov edi, ecx
mov dword [esp + 0x1c], edx
mov ecx, dword [eax]
mov esi, edx
mov eax, dword [edi + 0x14]
mov edx, dword [edi + 0xc]
sub eax, edx
mov dword [esp + 0x18], ecx
cdq
sub eax, edx
sar eax, 1
add ecx, eax
mov eax, dword [edi + 0x18]
mov dword [esp + 0x30], ecx
mov ecx, dword [edi + 0x10]
sub eax, ecx
cdq
sub eax, edx
sar eax, 1
add esi, eax
xor eax, eax
mov dword [esp + 0x34], esi
mov esi, dword [esp + 0xb0]
mov ax, word [esi]
add eax, 0xfffffffd
cmp eax, 0x16
ja case.0x45ecf8.9
xor ecx, ecx
mov cl, byte [eax + 0x45f074]
jmp dword [ecx*4 + 0x45f058]
mov eax, dword [esp + 0xb4]
xor edx, edx
mov dx, word [esi + 2]
pop edi
mov ecx, dword [eax]
pop esi
mov dword [edx*8 + 0xbd7308], ecx
mov eax, dword [eax + 4]
pop ebp
pop ebx
mov dword [edx*8 + 0xbd730c], eax
add esp, 0x98
ret 0xc
xor ecx, ecx
xor eax, eax
mov cx, word [esi + 2]
mov ax, word [esi + 4]
cmp ecx, 0xffff
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], eax
jne 0x45ed58
mov ecx, dword [eax*8 + 0xbd7308]
mov eax, dword [eax*8 + 0xbd730c]
jmp 0x45ed7a
lea ecx, [esp + 0x18]
lea edx, [esp + 0x10]
push ecx
lea eax, [esp + 0xa4]
push edx
push eax
mov ecx, edi
call fcn.004598a0
mov ecx, dword [eax]
mov dword [esp + 0x10], ecx
mov eax, dword [eax + 4]
mov si, word [esi]
cmp si, 0x17
jne 0x45ed99
mov edx, dword [esp + 0xb4]
pop edi
pop esi
pop ebp
mov dword [edx], ecx
pop ebx
add esp, 0x98
ret 0xc
cmp si, 0x18
jne 0x45edb6
mov ecx, dword [esp + 0xb4]
pop edi
pop esi
pop ebp
mov dword [ecx + 4], eax
pop ebx
add esp, 0x98
ret 0xc
mov edx, dword [esp + 0xb4]
pop edi
pop esi
pop ebp
mov dword [edx], ecx
mov dword [edx + 4], eax
pop ebx
add esp, 0x98
ret 0xc
mov ebx, dword [esp + 0xb4]
xor edx, edx
mov dx, word [esi + 0xa]
lea ecx, [esp + 0x18]
mov dword [ebx], edx
xor eax, eax
mov ax, word [esi + 0xc]
push ecx
lea edx, [esp + 0x6c]
push ebx
push edx
mov ecx, edi
mov dword [ebx + 4], eax
call fcn.004598a0
mov ecx, dword [eax]
pop edi
mov dword [ebx], ecx
pop esi
mov edx, dword [eax + 4]
pop ebp
mov dword [ebx + 4], edx
pop ebx
add esp, 0x98
ret 0xc
xor eax, eax
xor ecx, ecx
mov ax, word [esi + 6]
mov cx, word [esi + 8]
mov dword [esp + 0x50], eax
lea edx, [esp + 0x18]
mov dword [esp + 0x54], ecx
lea eax, [esp + 0x50]
push edx
lea ecx, [esp + 0x7c]
push eax
push ecx
mov ecx, edi
call fcn.004598a0
mov ebx, dword [eax]
xor edx, edx
mov dx, word [esi + 2]
lea ecx, [esp + 0x18]
mov ebp, dword [eax + 4]
xor eax, eax
mov ax, word [esi + 4]
mov dword [esp + 0x58], edx
mov dword [esp + 0x5c], eax
lea edx, [esp + 0x58]
push ecx
lea eax, [esp + 0x9c]
push edx
push eax
mov ecx, edi
call fcn.004598a0
mov ecx, eax
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], ecx
lea ecx, [esp + 0x20]
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ebp
call fcn.0049b37d
xor edx, edx
xor eax, eax
mov dx, word [esi + 0xa]
mov ax, word [esi + 0xc]
mov dword [esp + 0x60], edx
lea ecx, [esp + 0x18]
mov dword [esp + 0x64], eax
lea edx, [esp + 0x60]
push ecx
lea eax, [esp + 0x14]
push edx
push eax
mov ecx, edi
call fcn.004598a0
lea ecx, [esp + 0x10]
lea edx, [esp + 0x20]
push ecx
lea eax, [esp + 0x8c]
push edx
push eax
call fcn.00450e10
mov ecx, eax
add esp, 0xc
cmp word [esi], 0x16
mov eax, dword [ecx]
mov dword [esp + 0x10], eax
mov ecx, dword [ecx + 4]
je 0x45eefa
mov edx, dword [esp + 0xb4]
pop edi
pop esi
pop ebp
mov dword [edx], eax
mov dword [edx + 4], ecx
pop ebx
add esp, 0x98
ret 0xc
xor edx, edx
pop edi
mov dx, word [esi + 0xe]
pop esi
pop ebp
pop ebx
mov dword [edx*8 + 0xbd7308], eax
mov dword [edx*8 + 0xbd730c], ecx
add esp, 0x98
ret 0xc
xor eax, eax
xor ecx, ecx
mov ax, word [esi + 6]
mov cx, word [esi + 8]
mov dword [esp + 0x48], eax
lea edx, [esp + 0x18]
mov dword [esp + 0x4c], ecx
lea eax, [esp + 0x48]
push edx
lea ecx, [esp + 0x74]
push eax
push ecx
mov ecx, edi
call fcn.004598a0
mov ebx, dword [eax]
xor edx, edx
mov dx, word [esi + 2]
lea ecx, [esp + 0x18]
mov ebp, dword [eax + 4]
xor eax, eax
mov ax, word [esi + 4]
mov dword [esp + 0x38], edx
mov dword [esp + 0x3c], eax
lea edx, [esp + 0x38]
push ecx
lea eax, [esp + 0x84]
push edx
push eax
mov ecx, edi
call fcn.004598a0
mov ecx, eax
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], ecx
lea ecx, [esp + 0x20]
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ebp
call fcn.0049b37d
mov ecx, dword [edi + 4]
xor eax, eax
cmp word [esi], 0x11
setne al
test ecx, 0x4000000
je 0x45efb4
xor edx, edx
test eax, eax
sete dl
mov eax, edx
test ecx, 0x8000000
je 0x45efc5
xor ecx, ecx
test eax, eax
sete cl
mov eax, ecx
mov ecx, dword [esp + 0xb4]
push 0
push ecx
push 0
mov edx, dword [ecx]
push 0
mov dword [esp + 0x20], edx
mov edx, dword [ecx + 4]
mov dword [esp + 0x24], edx
xor edx, edx
mov dx, word [esi + 0xa]
push eax
mov dword [esp + 0x54], edx
xor edx, edx
mov dx, word [esi + 0xc]
lea eax, [esp + 0x2c]
mov dword [esp + 0x58], edx
push 0
lea ecx, [esp + 0x58]
push eax
lea edx, [esp + 0xac]
push ecx
push edx
mov ecx, edi
call fcn.004598a0
push eax
lea eax, [esp + 0x2c]
lea ecx, [esp + 0x4c]
push eax
lea edx, [esp + 0x40]
push ecx
push edx
push 0
call fcn.00452e80
add esp, 0x2c
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x98
ret 0xc
mov eax, dword [esp + 0xb4]
mov dword [eax + 4], 0
mov dword [eax], 0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x98
ret 0xc