Function at 0x579110
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x44
mov eax, dword [0x680f10]
xor eax, esp
mov dword [esp + 0x40], eax
push edi
xor edi, edi
push 0x6d667432
mov ecx, ebx
mov word [esp + 0x14], di
mov word [esp + 0x16], 0xffff
call fcn.00578260
add esp, 4
test eax, eax
jne 0x579150
pop edi
mov ecx, dword [esp + 0x40]
xor ecx, esp
call fcn.0044abb9
add esp, 0x44
ret
mov cl, byte [esi + 0x28]
mov al, byte [esi + 0x38]
mov dl, byte [esi + 0x2c]
mov byte [esp + 0x14], cl
mov ecx, dword [esi]
test cl, 2
mov byte [esp + 0x16], al
mov byte [esp + 0x15], dl
je 0x579171
mov eax, dword [esi + 0x30]
jmp 0x579176
mov eax, 2
test cl, 8
movzx edx, ax
mov dword [esp + 4], edx
mov byte [esp + 4], ah
mov byte [esp + 5], al
mov ax, word [esp + 4]
mov word [esp + 0x3c], ax
je 0x579199
mov eax, dword [esi + 0x34]
jmp 0x57919e
mov eax, 2
test cl, 1
movzx edx, ax
mov dword [esp + 4], edx
mov byte [esp + 4], ah
mov byte [esp + 5], al
mov ax, word [esp + 4]
mov word [esp + 0x3e], ax
je 0x57935e
mov ecx, dword [esi + 4]
mov dword [esp + 4], ecx
movzx edx, byte [esp + 6]
mov al, cl
mov cl, byte [esp + 5]
mov byte [esp + 6], cl
movzx ecx, byte [esp + 7]
mov byte [esp + 4], cl
mov byte [esp + 5], dl
mov byte [esp + 7], al
mov edx, dword [esp + 4]
mov eax, dword [esi + 8]
mov dword [esp + 4], eax
mov cl, byte [esp + 5]
mov dword [esp + 0x18], edx
movzx edx, byte [esp + 6]
mov byte [esp + 6], cl
movzx ecx, byte [esp + 7]
mov byte [esp + 4], cl
mov byte [esp + 5], dl
mov byte [esp + 7], al
mov edx, dword [esp + 4]
mov eax, dword [esi + 0xc]
mov dword [esp + 4], eax
mov cl, byte [esp + 5]
mov dword [esp + 0x1c], edx
movzx edx, byte [esp + 6]
mov byte [esp + 6], cl
movzx ecx, byte [esp + 7]
mov byte [esp + 4], cl
mov byte [esp + 5], dl
mov byte [esp + 7], al
mov edx, dword [esp + 4]
mov eax, dword [esi + 0x10]
mov dword [esp + 4], eax
mov cl, byte [esp + 5]
mov dword [esp + 0x20], edx
movzx edx, byte [esp + 6]
mov byte [esp + 6], cl
movzx ecx, byte [esp + 7]
mov byte [esp + 4], cl
mov byte [esp + 5], dl
mov byte [esp + 7], al
mov edx, dword [esp + 4]
mov eax, dword [esi + 0x14]
mov dword [esp + 4], eax
mov cl, byte [esp + 5]
mov dword [esp + 0x24], edx
movzx edx, byte [esp + 6]
mov byte [esp + 6], cl
movzx ecx, byte [esp + 7]
mov byte [esp + 4], cl
mov byte [esp + 5], dl
mov byte [esp + 7], al
mov edx, dword [esp + 4]
mov eax, dword [esi + 0x18]
mov dword [esp + 4], eax
mov cl, byte [esp + 5]
mov dword [esp + 0x28], edx
movzx edx, byte [esp + 6]
mov byte [esp + 6], cl
movzx ecx, byte [esp + 7]
mov byte [esp + 4], cl
mov byte [esp + 7], al
mov eax, dword [esi + 0x1c]
mov byte [esp + 5], dl
mov edx, dword [esp + 4]
mov dword [esp + 4], eax
mov cl, byte [esp + 5]
mov dword [esp + 0x2c], edx
movzx edx, byte [esp + 6]
mov byte [esp + 6], cl
movzx ecx, byte [esp + 7]
mov byte [esp + 7], al
mov eax, dword [esi + 0x20]
mov byte [esp + 4], cl
mov byte [esp + 5], dl
mov edx, dword [esp + 4]
mov dword [esp + 4], eax
mov cl, byte [esp + 5]
mov dword [esp + 0x30], edx
movzx edx, byte [esp + 6]
mov byte [esp + 6], cl
movzx ecx, byte [esp + 7]
mov byte [esp + 5], dl
mov byte [esp + 4], cl
mov byte [esp + 7], al
mov edx, dword [esp + 4]
mov eax, dword [esi + 0x24]
mov dword [esp + 4], eax
mov cl, byte [esp + 5]
mov dword [esp + 0x34], edx
movzx edx, byte [esp + 6]
mov byte [esp + 6], cl
movzx ecx, byte [esp + 7]
mov byte [esp + 5], dl
mov byte [esp + 4], cl
mov byte [esp + 7], al
mov edx, dword [esp + 4]
mov dword [esp + 0x38], edx
xor edi, edi
jmp 0x5794a6
mov eax, 0x10000
mov dword [esp + 4], eax
movzx ecx, byte [esp + 7]
mov byte [esp + 4], cl
mov byte [esp + 5], 1
mov byte [esp + 6], 0
mov byte [esp + 7], 0
mov edx, dword [esp + 4]
mov dword [esp + 4], edi
movzx ecx, byte [esp + 7]
mov byte [esp + 4], cl
mov dword [esp + 0x18], edx
mov byte [esp + 5], 0
mov byte [esp + 6], 0
mov byte [esp + 7], 0
mov edx, dword [esp + 4]
mov dword [esp + 4], edi
movzx ecx, byte [esp + 7]
mov byte [esp + 4], cl
mov dword [esp + 0x1c], edx
mov byte [esp + 5], 0
mov byte [esp + 6], 0
mov byte [esp + 7], 0
mov edx, dword [esp + 4]
mov dword [esp + 4], edi
movzx ecx, byte [esp + 7]
mov byte [esp + 4], cl
mov dword [esp + 0x20], edx
mov byte [esp + 5], 0
mov byte [esp + 6], 0
mov byte [esp + 7], 0
mov edx, dword [esp + 4]
mov dword [esp + 4], eax
movzx ecx, byte [esp + 7]
mov byte [esp + 4], cl
mov dword [esp + 0x24], edx
mov byte [esp + 5], 1
mov byte [esp + 6], 0
mov byte [esp + 7], 0
mov edx, dword [esp + 4]
mov dword [esp + 4], edi
movzx ecx, byte [esp + 7]
mov byte [esp + 4], cl
mov dword [esp + 0x28], edx
mov byte [esp + 5], 0
mov byte [esp + 6], 0
mov byte [esp + 7], 0
mov edx, dword [esp + 4]
mov dword [esp + 4], edi
movzx ecx, byte [esp + 7]
mov byte [esp + 4], cl
mov dword [esp + 0x2c], edx
mov byte [esp + 5], 0
mov byte [esp + 6], 0
mov byte [esp + 7], 0
mov edx, dword [esp + 4]
mov dword [esp + 4], edi
movzx ecx, byte [esp + 7]
mov byte [esp + 4], cl
mov byte [esp + 5], 0
mov byte [esp + 6], 0
mov byte [esp + 7], 0
mov dword [esp + 0x30], edx
mov edx, dword [esp + 4]
mov dword [esp + 4], eax
mov al, byte [esp + 7]
mov byte [esp + 5], 1
mov byte [esp + 6], 0
mov byte [esp + 4], al
mov byte [esp + 7], 0
mov ecx, dword [esp + 4]
mov dword [esp + 0x34], edx
mov dword [esp + 0x38], ecx
mov eax, dword [ebx + 0x84c]
push ebp
lea edx, [esp + 0x18]
push edx
push 0x2c
push ebx
call eax
add esp, 0xc
cmp dword [esi + 0x28], edi
mov dword [esp + 8], edi
jbe 0x579566
lea ecx, [esi + 0x3c]
mov dword [esp + 0xc], ecx
mov edi, edi
test byte [esi], 2
je 0x57953a
mov edx, dword [esp + 0xc]
mov eax, dword [edx]
mov dword [esp + 0x10], eax
mov eax, dword [esi + 0x30]
lea ebp, [eax + eax]
cmp ebp, 0x1f400000
ja 0x57965a
push ebp
call fcn.0044bd23
mov edi, eax
add esp, 4
test edi, edi
je 0x57965a
mov ecx, dword [esp + 0x10]
push ebp
push ecx
push edi
call fcn.00450150
push ebp
push edi
push edi
call fcn.005ba0ec
mov edx, dword [ebx + 0x84c]
push edi
push ebp
push ebx
call edx
push edi
mov ebp, eax
call fcn.0044bde6
add esp, 0x28
test ebp, ebp
je 0x57965a
xor edi, edi
jmp 0x57954d
mov ecx, dword [ebx + 0x84c]
lea eax, [esp + 0x14]
push eax
push 4
push ebx
call ecx
add esp, 0xc
mov eax, dword [esp + 8]
add dword [esp + 0xc], 4
add eax, 1
cmp eax, dword [esi + 0x28]
mov dword [esp + 8], eax
jb 0x5794d0
mov ecx, dword [esi + 0x28]
cmp ecx, edi
mov eax, 1
jbe 0x57957f
mov edx, dword [esi + 0x38]
mov ebp, edx
imul eax, ebp
sub ecx, 1
jne 0x579575
mov ecx, dword [esi + 0x2c]
imul ecx, eax
cmp ecx, edi
jbe 0x5795e5
mov edx, dword [esi + 0xbc]
lea ebp, [ecx + ecx]
cmp ebp, 0x1f400000
mov dword [esp + 0x10], edx
ja 0x57965a
push ebp
call fcn.0044bd23
mov edi, eax
add esp, 4
test edi, edi
je 0x57965a
mov eax, dword [esp + 0x10]
push ebp
push eax
push edi
call fcn.00450150
push ebp
push edi
push edi
call fcn.005ba0ec
mov ecx, dword [ebx + 0x84c]
push edi
push ebp
push ebx
call ecx
push edi
mov ebp, eax
call fcn.0044bde6
add esp, 0x28
test ebp, ebp
je 0x57965a
xor edi, edi
cmp dword [esi + 0x2c], edi
mov dword [esp + 8], edi
jbe 0x579699
lea edx, [esi + 0x7c]
mov dword [esp + 0xc], edx
lea esp, [esp]
test byte [esi], 8
je 0x57966d
mov eax, dword [esp + 0xc]
mov ecx, dword [eax]
mov eax, dword [esi + 0x34]
lea ebp, [eax + eax]
cmp ebp, 0x1f400000
mov dword [esp + 0x10], ecx
ja 0x57965a
push ebp
call fcn.0044bd23
mov edi, eax
add esp, 4
test edi, edi
je 0x57965a
mov edx, dword [esp + 0x10]
push ebp
push edx
push edi
call fcn.00450150
push ebp
push edi
push edi
call fcn.005ba0ec
mov eax, dword [ebx + 0x84c]
push edi
push ebp
push ebx
call eax
push edi
mov ebp, eax
call fcn.0044bde6
add esp, 0x28
test ebp, ebp
jne 0x579680
pop ebp
xor eax, eax
pop edi
mov ecx, dword [esp + 0x40]
xor ecx, esp
call fcn.0044abb9
add esp, 0x44
ret
mov edx, dword [ebx + 0x84c]
lea ecx, [esp + 0x14]
push ecx
push 4
push ebx
call edx
add esp, 0xc
mov eax, dword [esp + 8]
add dword [esp + 0xc], 4
add eax, 1
cmp eax, dword [esi + 0x2c]
mov dword [esp + 8], eax
jb 0x579600
mov ecx, dword [esp + 0x48]
pop ebp
pop edi
xor ecx, esp
mov eax, 1
call fcn.0044abb9
add esp, 0x44
ret