Function at 0x578e8b
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x70
mov esi, ecx
mov ecx, dword [esp + 0x84]
lea eax, [esp + 0x24]
mov edi, esp
mov dword [eax], edx
mov edx, eax
mov dword [eax + 4], ecx
and dword [eax + 8], 0
mov ecx, edi
call fcn.00575d4c
mov al, byte [edi]
cmp al, 0x14
jne 0x578eed
cmp byte [esp + 1], 1
jne 0x578f17
mov edi, esp
lea edx, [esp + 0x24]
mov ecx, edi
call fcn.00576109
cmp dword [edi], 0
je 0x578fd2
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc]
mov dword [esi + 0xc], eax
mov dword [esi + 0x10], ecx
mov dword [esi + 0x14], edx
jmp 0x578f0b
movzx edx, word [esp + 0xa]
movsd xmm0, qword [esp + 2]
mov cl, byte [esp + 1]
mov word [esi + 0x16], dx
movsd qword [esi + 0xe], xmm0
mov byte [esi + 0xc], al
mov byte [esi + 0xd], cl
mov dword [esi + 8], 0x80000000
jmp 0x578fca
mov edi, 0x80000000
mov ebx, esp
lea edx, [esp + 0x24]
mov ecx, ebx
call fcn.005793f8
mov al, byte [ebx]
cmp al, 0x14
jne 0x578f95
mov ebx, esp
lea edx, [esp + 0x24]
movzx eax, word [ebx + 4]
movzx ebp, word [ebx + 2]
mov ecx, ebx
mov word [esp + 0x36], ax
call fcn.005794c0
mov al, byte [ebx]
cmp al, 0x14
jne 0x578f95
mov ebx, esp
mov dword [esp + 0x18], edi
mov word [esp + 0x34], bp
lea edx, [esp + 0x24]
movzx ebp, word [ebx + 2]
movzx edi, word [ebx + 4]
mov ecx, ebx
call fcn.00576109
cmp dword [ebx], 0
je 0x579025
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov edi, dword [esp + 0x18]
mov dword [esi + 0xc], eax
mov dword [esi + 0x10], ecx
mov dword [esi + 0x14], edx
jmp 0x578fba
mov ebx, dword [esp + 6]
mov cl, byte [esp + 1]
mov edx, dword [esp + 2]
mov dword [esi + 0x12], ebx
movzx ebx, word [esp + 0xa]
mov word [esi + 0x16], bx
mov ebx, dword [esp + 0x10]
mov byte [esi + 0xc], al
mov byte [esi + 0xd], cl
mov dword [esi + 0xe], edx
mov dword [esi + 8], 0x80000000
mov ecx, edi
mov edx, ebx
call fcn.0059e46e
add esp, 0x70
pop esi
pop edi
pop ebx
pop ebp
ret
mov edi, esp
mov ebp, dword [edi + 8]
mov ebx, dword [edi + 4]
mov ecx, edi
mov edx, ebp
push dword [edi + 0xc]
call fcn.00579371
pop eax
mov edi, dword [edi]
cmp edi, 0x80000000
jne 0x579007
mov ecx, ebx
mov edx, ebp
mov byte [esi + 0xc], 8
mov dword [esi + 8], 0x80000000
call fcn.00454e92
jmp 0x578fca
mov ecx, dword [esp + 8]
mov eax, dword [esp + 4]
mov edx, ebp
mov dword [esp + 0x54], ecx
mov ecx, ebx
mov dword [esp + 0x10], eax
call fcn.00454e92
jmp 0x578f1c
mov ebx, esp
mov word [esp + 0x32], bp
lea edx, [esp + 0x24]
mov word [esp + 0x30], di
mov ecx, dword [ebx + 8]
mov eax, dword [ebx + 4]
mov ebp, dword [ebx + 0xc]
mov dword [esp + 0x1c], ecx
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.00575d4c
mov al, byte [ebx]
cmp al, 0x14
jne 0x5790c3
mov ebx, esp
lea edx, [esp + 0x24]
mov al, byte [ebx + 1]
mov ecx, ebx
mov byte [esp + 0x23], al
call fcn.00575d4c
mov al, byte [ebx]
cmp al, 0x14
jne 0x5790c3
cmp byte [esp + 1], 1
jne 0x579106
mov ebx, esp
lea edx, [esp + 0x24]
mov ecx, ebx
call fcn.0057a638
cmp dword [ebx], 0
mov edi, dword [esp + 0x18]
je 0x579114
mov eax, dword [esp + 0xc]
movsd xmm0, qword [esp + 4]
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x14]
mov dword [esi + 0x14], eax
movsd qword [esi + 0xc], xmm0
mov dword [esi + 8], 0x80000000
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x6c], eax
movsd qword [esp + 0x64], xmm0
jmp 0x5790f8
movzx edx, word [esp + 0xa]
mov cl, byte [esp + 1]
movsd xmm0, qword [esp + 2]
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
mov word [esi + 0x16], dx
movsd qword [esi + 0xe], xmm0
mov byte [esi + 0xc], al
mov byte [esi + 0xd], cl
mov dword [esi + 8], 0x80000000
mov esi, dword [esp + 0x1c]
mov ecx, ebp
mov edx, esi
call fcn.00454e92
jmp 0x578fc1
mov edi, dword [esp + 0x18]
mov dword [esp + 0x58], 0x80000000
jmp 0x579128
mov eax, dword [esp + 0xc]
movsd xmm0, qword [esp + 4]
movsd qword [esp + 0x58], xmm0
mov dword [esp + 0x60], eax
mov ebx, esp
lea edx, [esp + 0x24]
mov ecx, ebx
call fcn.00575d4c
mov al, byte [ebx]
cmp al, 0x14
jne 0x57916b
cmp byte [esp + 1], 1
jne 0x5791a1
mov ebx, esp
lea edx, [esp + 0x24]
mov ecx, ebx
call fcn.00576109
cmp dword [ebx], 0
je 0x5791ab
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc]
mov dword [esi + 0xc], eax
mov dword [esi + 0x10], ecx
mov dword [esi + 0x14], edx
jmp 0x579189
movzx edx, word [esp + 0xa]
movsd xmm0, qword [esp + 2]
mov cl, byte [esp + 1]
mov word [esi + 0x16], dx
movsd qword [esi + 0xe], xmm0
mov byte [esi + 0xc], al
mov byte [esi + 0xd], cl
mov dword [esi + 8], 0x80000000
mov ebx, dword [esp + 0x10]
mov esi, dword [esp + 0x1c]
mov ebp, dword [esp + 0x14]
jmp 0x579363
mov dword [esp + 0x18], 0x80000000
jmp 0x5791c3
mov eax, dword [esp + 4]
mov edx, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x18], eax
mov dword [esp + 0x40], edx
mov dword [esp + 0x50], ecx
mov ebx, esp
lea edx, [esp + 0x24]
mov ecx, ebx
call fcn.00575fe5
cmp dword [ebx], 0
je 0x5791fe
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x14]
mov dword [esi + 0xc], eax
mov dword [esi + 0x10], ecx
mov dword [esi + 0x14], edx
mov dword [esi + 8], 0x80000000
jmp 0x579352
mov eax, dword [esp + 4]
mov ebx, dword [esp + 0xc]
lea ecx, [esp + 0x24]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 8]
mov dword [esp + 0x3c], eax
push 8
pop edx
call fcn.00575d81
test eax, eax
je 0x579304
cmp edx, 8
jne 0x579304
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x4c], ebx
mov ebx, esp
lea edx, [esp + 0x24]
mov dword [esp + 0x48], ecx
mov ecx, ebx
mov dword [esp + 0x44], eax
call fcn.0057a761
mov dl, byte [ebx]
cmp dl, 0x14
jne 0x579315
mov dword [esi + 0x20], edi
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x54]
mov edi, dword [esp + 0x14]
movsd xmm0, qword [esp + 0x58]
movzx ecx, word [esp + 0x34]
movzx edx, word [esp + 0x36]
cmp byte [esp + 0x23], 1
mov dword [esi + 0x24], eax
mov dword [esi + 0x28], ebx
mov dword [esi + 8], edi
mov ebx, dword [esp + 0x1c]
mov edi, dword [esp + 0x60]
mov dword [esi + 0xc], ebx
mov dword [esi + 0x10], ebp
mov dword [esi + 0x34], edi
mov ebx, dword [esp + 0x18]
mov edi, dword [esp + 0x40]
movsd qword [esi + 0x2c], xmm0
mov dword [esi + 0x38], ebx
mov dword [esi + 0x3c], edi
mov ebx, dword [esp + 0x50]
mov edi, dword [esp + 0x38]
mov dword [esi + 0x40], ebx
mov dword [esi + 0x14], edi
mov ebx, dword [esp + 0x3c]
mov edi, dword [esp + 0x4c]
mov dword [esi + 0x18], ebx
mov ebx, dword [esp + 0x44]
mov dword [esi + 0x1c], edi
mov edi, dword [esp + 0x48]
bswap ebx
bswap edi
mov dword [esi], ebx
mov dword [esi + 4], edi
mov word [esi + 0x44], cx
movzx ecx, word [esp + 0x32]
mov word [esi + 0x46], dx
movzx edx, word [esp + 0x30]
mov word [esi + 0x48], cx
mov ecx, dword [esp + 4]
mov word [esi + 0x4a], dx
mov dword [esi + 0x4c], ecx
sete byte [esi + 0x50]
mov byte [esi + 0x51], 2
jmp 0x578fca
mov dword [esi + 0xc], 0xb
push 3
pop eax
mov ecx, 0x777e54
jmp 0x579330
mov al, byte [esp + 3]
mov ecx, dword [esp + 4]
mov byte [esi + 0xf], al
movzx eax, word [esp + 1]
mov word [esi + 0xd], ax
mov eax, dword [esp + 8]
mov byte [esi + 0xc], dl
mov dword [esi + 0x10], ecx
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x14]
mov dword [esi + 0x14], eax
mov dword [esi + 8], 0x80000000
call fcn.00454e92
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x40]
call fcn.0059e46e
mov esi, dword [esp + 0x1c]
lea ecx, [esp + 0x58]
call fcn.0057a798
jmp 0x5790f8