Function at 0x482410
Capabilities:
Enumerate pe sections
Read file on windows

Disassembly:
sub esp, 0x598
mov eax, dword [0x4eadc8]
xor eax, esp
mov dword [esp + 0x594], eax
mov eax, dword [esp + 0x59c]
push ebx
push edi
mov edi, ecx
push 0x4dc164
push eax
mov dword [esp + 0x20], edi
call fcn.00477073
mov ebx, eax
add esp, 8
mov dword [esp + 0xc], ebx
test ebx, ebx
je 0x4826c7
push ebp
push ebx
call fcn.00476fe4
push ebx
push 1
mov ebp, eax
lea eax, [esp + 0x32c]
push 0x80
push eax
call fcn.0048ecff
movsx ecx, word [esp + 0x338]
movsx eax, word [esp + 0x33c]
movsx edx, word [esp + 0x33a]
sub eax, ecx
movsx ecx, word [esp + 0x33e]
sub ecx, edx
add esp, 0x14
inc ecx
push ecx
inc eax
push eax
mov ecx, edi
call fcn.0047b060
test eax, eax
je 0x4826c6
push 2
push 0xfffffd00
push ebx
call fcn.0048fcf7
push ebx
push 1
lea eax, [esp + 0x34]
push 0x300
push eax
call fcn.0048ecff
add esp, 0x1c
xor edx, edx
lea eax, [esp + 0x22]
push esi
movzx ecx, byte [eax - 2]
movzx esi, byte [eax - 1]
and ecx, 0xfffffff8
shl ecx, 5
cmp byte [0x4efb84], 0
je 0x4824f0
and esi, 0xfffffffc
or ecx, esi
add ecx, ecx
jmp 0x4824f5
and esi, 0xfffffff8
or ecx, esi
movzx esi, byte [eax]
add ecx, ecx
add ecx, ecx
shr esi, 3
or ecx, esi
movzx esi, byte [eax + 2]
mov word [esp + edx*2 + 0x3a4], cx
movzx ecx, byte [eax + 1]
and ecx, 0xfffffff8
shl ecx, 5
cmp byte [0x4efb84], 0
je 0x482529
and esi, 0xfffffffc
or ecx, esi
add ecx, ecx
jmp 0x48252e
and esi, 0xfffffff8
or ecx, esi
movzx esi, byte [eax + 3]
add ecx, ecx
add ecx, ecx
shr esi, 3
or ecx, esi
movzx esi, byte [eax + 5]
mov word [esp + edx*2 + 0x3a6], cx
movzx ecx, byte [eax + 4]
and ecx, 0xfffffff8
shl ecx, 5
cmp byte [0x4efb84], 0
je 0x482563
and esi, 0xfffffffc
or ecx, esi
add ecx, ecx
jmp 0x482568
and esi, 0xfffffff8
or ecx, esi
movzx esi, byte [eax + 6]
add ecx, ecx
add ecx, ecx
shr esi, 3
or ecx, esi
movzx esi, byte [eax + 8]
mov word [esp + edx*2 + 0x3a8], cx
movzx ecx, byte [eax + 7]
and ecx, 0xfffffff8
shl ecx, 5
cmp byte [0x4efb84], 0
je 0x48259d
and esi, 0xfffffffc
or ecx, esi
add ecx, ecx
jmp 0x4825a2
and esi, 0xfffffff8
or ecx, esi
movzx esi, byte [eax + 9]
add ecx, ecx
shr esi, 3
add ecx, ecx
or ecx, esi
mov word [esp + edx*2 + 0x3aa], cx
add edx, 4
add eax, 0xc
cmp edx, 0x100
jl 0x4824d0
push 0
push 0x80
push ebx
call fcn.0048fcf7
add ebp, 0xffffff80
push ebp
call fcn.0048d59d
push ebx
push 1
mov esi, eax
push ebp
push esi
mov dword [esp + 0x38], esi
call fcn.0048ecff
add esp, 0x20
lea ecx, [esp + 0x1c]
push ecx
mov ecx, edi
call fcn.0047a6f0
xor edx, edx
cmp dx, word [edi + 0x20]
mov ebp, eax
mov dword [esp + 0x10], 0
jge 0x4826aa
xor eax, eax
xor ebx, ebx
cmp ax, word [edi + 0x1e]
jge 0x482685
mov edi, edi
mov al, byte [esi]
mov cl, al
and cl, 0xc0
inc esi
cmp cl, 0xc0
jne 0x48266c
movzx edx, al
mov al, byte [esi]
movzx eax, al
movzx eax, word [esp + eax*2 + 0x3a4]
and edx, 0x3f
inc esi
lea edi, [ebp + ebx*2]
test dl, 1
je 0x482650
mov word [edi], ax
add edi, 2
movzx ecx, ax
mov eax, ecx
shl eax, 0x10
or eax, ecx
mov ecx, edx
sar ecx, 1
test ecx, ecx
jle 0x482664
rep stosd dword es:[edi], eax
mov edi, dword [esp + 0x20]
add ebx, edx
jmp 0x48267d
movzx ecx, al
mov dx, word [esp + ecx*2 + 0x3a4]
mov word [ebp + ebx*2], dx
inc ebx
movsx eax, word [edi + 0x1e]
cmp ebx, eax
jl 0x482620
mov eax, dword [esp + 0x10]
movsx edx, word [edi + 0x20]
mov ecx, dword [esp + 0x1c]
inc eax
cmp eax, edx
mov dword [esp + 0x10], eax
lea ebp, [ebp + ecx*2]
jl 0x482614
mov ebx, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
mov ecx, edi
call fcn.0047a720
push esi
call fcn.0048d634
push ebx
call fcn.0048ed93
add esp, 8
mov eax, 1
pop esi
pop ebp
mov ecx, dword [esp + 0x59c]
pop edi
pop ebx
xor ecx, esp
call fcn.0048d5a8
add esp, 0x598
ret 4