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

Disassembly:
push ebp
push 1
lea eax, [esp + 0x24]
push 0x2a
push eax
call fcn.00460179
add esp, 0x10
cmp eax, 1
jne 0x45d9f5
push 0x5c
call fcn.0045e6ff
mov esi, eax
add esp, 4
cmp esi, ebx
je 0x45d9d4
movzx cx, byte [esp + 0x1d]
movzx dx, byte [esp + 0x1c]
shl cx, 8
or cx, dx
mov word [esi], cx
lea eax, [esi + 2]
lea ecx, [esp + 0x1e]
sub ecx, eax
mov edi, 0x16
mov dl, byte [ecx + eax]
mov byte [eax], dl
inc eax
sub edi, 1
jne 0x45d267
movzx eax, byte [esp + 0x35]
movzx ecx, byte [esp + 0x34]
shl eax, 8
or eax, ecx
mov dword [esi + 0x18], eax
movzx edx, byte [esp + 0x37]
movzx eax, byte [esp + 0x36]
shl edx, 8
or edx, eax
mov dword [esi + 0x20], edx
movzx ecx, byte [esp + 0x39]
movzx edx, byte [esp + 0x38]
shl ecx, 8
or ecx, edx
mov dword [esi + 0x24], ecx
movzx eax, byte [esp + 0x3b]
movzx cx, byte [esp + 0x3a]
shl ax, 8
or ax, cx
mov word [esi + 0x28], ax
movzx dx, byte [esp + 0x3d]
movzx eax, byte [esp + 0x3c]
shl dx, 8
or dx, ax
mov word [esi + 0x2a], dx
movzx ecx, byte [esp + 0x41]
movzx edx, byte [esp + 0x40]
movzx eax, byte [esp + 0x3f]
shl ecx, 8
or ecx, edx
movzx edx, byte [esp + 0x3e]
shl ecx, 8
or ecx, eax
shl ecx, 8
or ecx, edx
mov dword [esi + 0x30], ecx
movzx eax, byte [esp + 0x45]
movzx ecx, byte [esp + 0x44]
movzx edx, byte [esp + 0x43]
shl eax, 8
or eax, ecx
movzx ecx, byte [esp + 0x42]
shl eax, 8
or eax, edx
shl eax, 8
or eax, ecx
add eax, dword [esp + 0x10]
cmp dword [esi + 0x14], 0xffffffff
mov dword [esi + 0x34], eax
jne 0x45d34e
push 0x3b7
call fcn.0041be10
mov edx, dword [0x4c9400]
push eax
push edx
call fcn.0044d240
add esp, 8
push 0x4b1914
call fcn.00459d80
mov eax, dword [esp + 0x14]
mov dword [esi + 0x44], ebx
mov dword [esi + 0x40], ebx
mov dword [esi + 0x3c], ebx
mov dword [esi + 0x48], ebx
mov dword [esi + 0x38], ebx
mov dword [esi + 0x4c], ebx
mov dword [eax], esi
lea eax, [esi + 0x58]
mov dword [eax], ebx
mov dword [esp + 0x14], eax
mov eax, dword [esi + 0x18]
cmp eax, ebx
je 0x45d9b3
cmp eax, 0x400
jae 0x45d9b3
inc eax
push eax
call fcn.0045e6ff
add esp, 4
mov dword [esi + 0x48], eax
cmp eax, ebx
je 0x45d9d4
mov eax, dword [esi + 0x20]
cmp eax, ebx
je 0x45d3b5
push eax
call fcn.0045e6ff
add esp, 4
mov dword [esi + 0x40], eax
cmp eax, ebx
je 0x45d9d4
mov eax, dword [esi + 0x24]
cmp eax, ebx
je 0x45d3d0
push eax
call fcn.0045e6ff
add esp, 4
mov dword [esi + 0x44], eax
cmp eax, ebx
je 0x45d9d4
mov ecx, dword [esi + 0x18]
mov edx, dword [esi + 0x48]
push ebp
push 1
push ecx
push edx
call fcn.00460179
add esp, 0x10
cmp eax, 1
jne 0x45d9f5
mov eax, dword [esi + 0x20]
cmp eax, ebx
je 0x45d40c
push ebp
push 1
push eax
mov eax, dword [esi + 0x40]
push eax
call fcn.00460179
add esp, 0x10
cmp eax, 1
jne 0x45d9f5
mov eax, dword [esi + 0x24]
cmp eax, ebx
je 0x45d42c
mov ecx, dword [esi + 0x44]
push ebp
push 1
push eax
push ecx
call fcn.00460179
add esp, 0x10
cmp eax, 1
jne 0x45d9f5
mov eax, dword [esi + 0x18]
cmp eax, 0x400
jb 0x45d43b
mov eax, 0x3ff
mov edx, dword [esi + 0x48]
mov byte [eax + edx], 0
cmp dword [esi + 0x18], 0x400
jae 0x45d9bc
mov esi, dword [esi + 0x34]
cmp esi, dword [0x4c93f8]
jae 0x45d460
mov dword [0x4c93f8], esi
inc dword [0x4c93f0]
push ebp
push 1
lea eax, [esp + 0x24]
push 4
push eax
call fcn.00460179
add esp, 0x10
cmp eax, 1
jne 0x45d9f5
invalid
movzx ecx, byte [esp + 0x1f]
movzx edx, byte [esp + 0x1e]
movzx eax, byte [esp + 0x1d]
shl ecx, 8
or ecx, edx
movzx edx, byte [esp + 0x1c]
shl ecx, 8
or ecx, eax
shl ecx, 8
or ecx, edx
cmp ecx, 0x2014b50
je 0x45d214
mov esi, dword [0x4c9868]
cmp esi, ebx
je 0x45d8c8
mov edi, edi