Function at 0x44d540
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0xc
push ebx
push esi
mov esi, dword [esp + 0x18]
push edi
push ebp
test esi, esi
je 0x44d57f
push 0xffffffffffffffff
call fcn.004561d0
mov dword [esp + 0x14], eax
add esp, 4
test eax, eax
jne 0x44d56b
xor eax, eax
pop ebp
pop edi
pop esi
pop ebx
add esp, 0xc
ret
mov eax, dword [esi + 6]
mov ecx, dword [esp + 0x10]
mov ebp, ecx
mov dword [ecx + 6], eax
mov edx, dword [esi + 0xa]
mov dword [ecx + 0xa], edx
jmp 0x44d585
xor ebp, ebp
mov dword [esp + 0x10], ebp
cmp dword [esp + 0x24], 0
je 0x44d592
mov eax, dword [esp + 0x28]
jmp 0x44d597
call fcn.00452fe0
lea ecx, [eax + eax*4]
lea edx, [ecx + ecx*4]
mov ecx, dword [0x481cbc]
lea esi, [edx + eax]
add ecx, esi
cmp word [ecx + 2], 0x1a
jne 0x44d5c0
mov dword [esp + 0x14], 1
mov edx, dword [ecx + 8]
mov word [ecx + 2], dx
jmp 0x44d5c8
mov dword [esp + 0x14], 0
mov ecx, dword [0x481cbc]
cmp word [ecx + esi + 2], 0
je 0x44d87f
lea ecx, [eax + eax*4]
lea edx, [ecx + ecx*4]
lea esi, [edx + eax]
mov eax, dword [0x481cbc]
mov di, word [eax + esi + 2]
test di, 0x1000
je 0x44d87f
mov cx, di
and cx, 0x1ff
mov bx, 0xa
mov ax, cx
cwd
idiv bx
cmp ax, 0x14
jne 0x44d628
movsx eax, di
test di, di
jl 0x44d621
add eax, 0x1388
jmp 0x44d62b
sub eax, 0x1388
jmp 0x44d62b
movsx eax, cx
push eax
call fcn.004561d0
add esp, 4
mov ebx, eax
test ebx, ebx
je 0x44d892
mov eax, dword [0x481cbc]
mov ax, word [eax + esi + 2]
cmp ax, 0x1803
je 0x44d654
cmp ax, 0x1804
jne 0x44d66a
and ax, 0xf
neg ax
mov word [ebx + 4], ax
mov ecx, dword [0x481cbc]
and byte [ecx + esi + 3], 0xf7
mov eax, dword [0x481cbc]
test byte [eax + esi + 3], 0x40
je 0x44d67c
add word [ebx + 4], 0x3e8
mov ecx, dword [0x481cbc]
add ecx, esi
mov di, word [ecx + 2]
test di, 0x800
je 0x44d6b9
mov ax, word [ebx + 4]
neg ax
mov word [ebx + 4], ax
mov ecx, dword [0x481cbc]
mov edx, dword [ecx + esi + 4]
mov dword [ebx + 6], edx
mov ecx, dword [0x481cbc]
mov eax, dword [ecx + esi + 8]
mov dword [ebx + 0xa], eax
jmp 0x44d81f
mov word [esp + 0x18], 0xa
mov ax, di
and ax, 0x1ff
cwd
idiv word [esp + 0x18]
movsx edx, ax
cmp edx, 0x24
ja case.0x44d6de.13
xor eax, eax
mov al, byte [edx + 0x44d900]
jmp dword [eax*4 + 0x44d8c8]
push ebx
call fcn.00456210
add esp, 4
xor ebx, ebx
jmp 0x44d81f
mov di, word [ebx + 4]
cmp di, 0x3ec
je 0x44d747
mov word [esp + 0x18], 0xa
mov ax, di
cwd
idiv word [esp + 0x18]
cmp ax, 0x1f
je 0x44d747
cmp di, 0xfffd
je 0x44d81f
cmp dword [esp + 0x14], 0
je 0x44d733
mov eax, dword [ecx + 4]
mov dword [ebx + 6], eax
jmp 0x44d81f
add ecx, 4
push ecx
call fcn.004532a0
add esp, 4
mov dword [ebx + 6], eax
jmp 0x44d81f
mov ax, word [ecx + 4]
mov word [ebx + 6], ax
mov ecx, dword [0x481cbc]
movsx edx, word [ecx + esi + 4]
push edx
call fcn.00457650
add esp, 4
mov edi, eax
mov dword [ebx + 8], eax
test edi, edi
je 0x44d8b0
mov ecx, dword [0x481cbc]
movsx eax, word [ebx + 6]
lea esi, [ecx + esi + 6]
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x44d81f
mov eax, dword [ecx + 8]
mov dword [ebx + 0xa], eax
mov ecx, dword [ecx + 4]
mov dword [ebx + 6], ecx
mov eax, dword [0x481cbc]
test di, 0x2000
mov edx, dword [eax + esi + 0x10]
mov dword [ebx + 0x12], edx
mov ecx, dword [eax + esi + 0xc]
mov dword [ebx + 0xe], ecx
je 0x44d7cc
mov eax, dword [0x481cbc]
mov edx, dword [eax + esi + 0x18]
mov dword [ebx + 0x1a], edx
mov ecx, dword [eax + esi + 0x14]
mov dword [ebx + 0x16], ecx
jmp 0x44d81f
mov dword [ebx + 0x16], 0
mov dword [ebx + 0x1a], 0
jmp 0x44d81f
mov eax, dword [ecx + 8]
mov dword [ebx + 0xa], eax
mov ecx, dword [ecx + 4]
mov dword [ebx + 6], ecx
jmp 0x44d81f
cmp word [ebx + 4], 0x42f
jne 0x44d7fa
mov eax, dword [ecx + 4]
mov dword [ebx + 6], eax
jmp 0x44d81f
mov ax, word [ecx + 4]
mov word [ebx + 6], ax
jmp 0x44d81f
mov eax, dword [ecx + 4]
mov dword [ebx + 6], eax
jmp 0x44d81f
mov eax, dword [ecx + 4]
mov dword [ebx + 6], eax
mov ecx, dword [0x481cbc]
mov edx, dword [ecx + esi + 8]
mov dword [ebx + 0xa], edx
test ebx, ebx
je 0x44d837
cmp dword [esp + 0x10], 0
jne 0x44d82e
mov dword [esp + 0x10], ebx
test ebp, ebp
je 0x44d835
mov dword [ebp], ebx
mov ebp, ebx
call fcn.00452fe0
lea ecx, [eax + eax*4]
lea edx, [ecx + ecx*4]
mov ecx, dword [0x481cbc]
lea esi, [edx + eax]
add ecx, esi
cmp word [ecx + 2], 0x1a
jne 0x44d865
mov dword [esp + 0x14], 1
mov edx, dword [ecx + 8]
mov word [ecx + 2], dx
jmp 0x44d86d
mov dword [esp + 0x14], 0
mov ecx, dword [0x481cbc]
cmp word [ecx + esi + 2], 0
jne 0x44d5da
dec word [0x4866a0]
mov eax, dword [esp + 0x10]
pop ebp
pop edi
pop esi
pop ebx
add esp, 0xc
ret
cmp dword [esp + 0x10], 0
je 0x44d8a6
mov ecx, dword [esp + 0x10]
push ecx
call fcn.00456210
add esp, 4
xor eax, eax
pop ebp
pop edi
pop esi
pop ebx
add esp, 0xc
ret
push str.Internal_Error:_Out_of_memory_n
call fcn.004508f0
add esp, 4
xor eax, eax
pop ebp
pop edi
pop esi
pop ebx
add esp, 0xc
ret