Function at 0x808fa7
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
push ebx
sub esp, 0xd4
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x38], 0
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov dword [ebp - 0x54], eax
push dword [ebp + 8]
call fcn.007c59d3
add esp, 4
mov dword [ebp - 0x58], eax
push dword [ebp + 8]
call fcn.007c59d3
add esp, 4
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp + 0xc]
movzx eax, byte [eax + 4]
movzx eax, al
mov dword [ebp - 0x60], eax
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x34]
mov dword [ebp - 0x64], eax
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x30]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
mov eax, dword [eax]
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x60], 0x83
je 0x809115
mov dword [ebp - 0xc], 1
jmp 0x8090fa
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x40]
add eax, 4
mov dword [ebp - 0x48], eax
jmp 0x809055
mov eax, dword [ebp - 0x48]
movzx eax, word [eax + 0x14]
movzx eax, ax
cmp dword [ebp - 0xc], eax
je 0x80905f
add dword [ebp - 0x10], 1
add dword [ebp - 0x48], 0x18
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x44]
jl 0x80903e
jmp 0x809060
nop
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x44]
jne 0x8090f6
sub esp, 4
push 0
push 0x96
push dword [ebp - 0x50]
call fcn.007df73a
add esp, 0x10
mov dword [ebp - 0x68], eax
cmp dword [ebp - 0x68], 0
jne 0x809094
mov eax, 7
jmp 0x8098f8
mov eax, dword [ebp - 0x68]
mov eax, dword [eax + 4]
or ah, 4
mov edx, eax
mov eax, dword [ebp - 0x68]
mov dword [eax + 4], edx
mov eax, dword [ebp - 0x68]
mov edx, dword [ebp - 0xc]
mov dword [eax + 8], edx
sub esp, 4
push dword [ebp - 0x68]
push dword [ebp - 0x40]
push dword [ebp + 8]
call fcn.007e0bb0
add esp, 0x10
mov dword [ebp - 0x40], eax
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp - 0x40]
mov dword [eax + 0x30], edx
cmp dword [ebp - 0x40], 0
je 0x8090f6
mov edx, dword [ebp - 0x44]
lea eax, [edx + 1]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0xc]
mov ebx, eax
mov ecx, dword [ebp - 0x40]
mov eax, edx
add eax, eax
add eax, edx
shl eax, 3
add eax, ecx
add eax, 0x18
mov word [eax], bx
add dword [ebp - 0xc], 1
mov eax, dword [ebp - 0x50]
movzx eax, byte [eax + 0x51]
test al, al
jne 0x809115
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
mov eax, dword [eax]
cmp dword [ebp - 0xc], eax
jle 0x80902c
mov eax, dword [ebp - 0x44]
add eax, 1
shl eax, 2
mov edx, 0
sub esp, 4
push edx
push eax
push dword [ebp - 0x50]
call fcn.0079c081
add esp, 0x10
mov dword [ebp - 0x6c], eax
cmp dword [ebp - 0x6c], 0
je 0x80919c
mov eax, dword [ebp - 0x6c]
mov edx, dword [ebp - 0x44]
mov dword [eax], edx
mov dword [ebp - 0xc], 1
mov eax, dword [ebp - 0x40]
add eax, 4
mov dword [ebp - 0x4c], eax
jmp 0x80917c
mov eax, dword [ebp - 0x4c]
movzx eax, word [eax + 0x14]
movzx edx, ax
mov eax, dword [ebp - 0xc]
lea ecx, [eax*4]
mov eax, dword [ebp - 0x6c]
add eax, ecx
sub edx, 1
mov dword [eax], edx
add dword [ebp - 0xc], 1
add dword [ebp - 0x4c], 0x18
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 0x44]
jle 0x809156
sub esp, 4
push 1
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00807b1b
add esp, 0x10
mov dword [ebp - 0x3c], eax
jmp 0x8091a3
mov dword [ebp - 0x3c], 0
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp - 0x40]
mov dword [eax + 0x30], edx
mov eax, dword [ebp + 8]
mov eax, dword [eax]
sub esp, 4
push 0
push dword [ebp - 0x40]
push eax
call fcn.007e0457
add esp, 0x10
mov edx, eax
mov eax, dword [ebp - 0x64]
mov dword [eax + 0x30], edx
cmp dword [ebp - 0x60], 0x83
jne 0x8091df
mov dword [ebp - 0x34], 0
jmp 0x80927d
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
mov eax, dword [eax]
mov dword [ebp - 0x70], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x2c]
add eax, 1
mov dword [ebp - 0x34], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x2c]
mov edx, dword [ebp - 0x70]
add edx, 1
add edx, eax
mov eax, dword [ebp + 8]
mov dword [eax + 0x2c], edx
push dword [ebp - 0x34]
push 0
push 0x46
push dword [ebp - 0x54]
call fcn.007c5649
add esp, 0x10
sub esp, 4
push 1
push dword [ebp - 0x70]
push dword [ebp - 0x50]
call fcn.008065f8
add esp, 0x10
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0
je 0x80927d
mov dword [ebp - 0xc], 0
jmp 0x809275
sub esp, 4
push dword [ebp - 0xc]
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00807aa6
add esp, 0x10
mov ecx, eax
mov eax, dword [ebp - 0x38]
mov edx, dword [ebp - 0xc]
add edx, 4
mov dword [eax + edx*4 + 4], ecx
mov eax, dword [ebp - 0x38]
mov edx, dword [eax + 0x10]
mov eax, dword [ebp - 0xc]
add eax, edx
mov byte [eax], 0
add dword [ebp - 0xc], 1
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 0x70]
jl 0x809240
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x34], 0
mov eax, dword [ebp - 0x64]
mov dword [eax + 0x38], 0
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x30]
push str.ORDER
push eax
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.007ddd51
add esp, 0x10
mov eax, dword [ebp - 0x64]
mov eax, dword [eax + 0x34]
test eax, eax
jne 0x8092cf
mov eax, dword [ebp - 0x64]
mov eax, dword [eax + 0x30]
push str.ORDER
push eax
push dword [ebp - 0x64]
push dword [ebp + 8]
call fcn.007ddd51
add esp, 0x10
sub esp, 4
push dword [ebp - 0x58]
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.008078cf
add esp, 0x10
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x809367
cmp dword [ebp - 0x60], 0x83
jne 0x809367
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x2c]
lea edx, [eax + 1]
mov eax, dword [ebp + 8]
mov dword [eax + 0x2c], edx
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x2c]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x2c]
lea edx, [eax + 1]
mov eax, dword [ebp + 8]
mov dword [eax + 0x2c], edx
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x2c]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x10]
test eax, eax
je 0x80933b
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x10]
add eax, 1
jmp 0x809341
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0xc]
push dword [ebp - 0x2c]
push eax
push 0x4e
push dword [ebp - 0x54]
call fcn.007c5649
add esp, 0x10
push dword [ebp - 0x30]
push dword [ebp - 0x2c]
push 0x4e
push dword [ebp - 0x54]
call fcn.007c5649
add esp, 0x10
jmp 0x809374
mov dword [ebp - 0x30], 0
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x3c]
sub esp, 8
push eax
push dword [ebp - 0x50]
call fcn.007dfd85
add esp, 0x10
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x3c], 0
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x2c]
lea edx, [eax + 1]
mov eax, dword [ebp + 8]
mov dword [eax + 0x2c], edx
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x2c]
mov dword [ebp - 0x74], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x2c]
lea edx, [eax + 1]
mov eax, dword [ebp + 8]
mov dword [eax + 0x2c], edx
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x2c]
mov dword [ebp - 0x78], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x2c]
lea edx, [eax + 1]
mov eax, dword [ebp + 8]
mov dword [eax + 0x2c], edx
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x2c]
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x2c]
lea edx, [eax + 1]
mov eax, dword [ebp + 8]
mov dword [eax + 0x2c], edx
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x2c]
mov dword [ebp - 0x80], eax
sub esp, 4
push dword [ebp - 0x74]
push 0xd
lea eax, [ebp - 0xb4]
push eax
call fcn.00804daa
add esp, 0x10
sub esp, 4
push dword [ebp - 0x78]
push 0xd
lea eax, [ebp - 0xcc]
push eax
call fcn.00804daa
add esp, 0x10
mov eax, dword [ebp + 0xc]
movzx eax, byte [eax + 4]
movzx eax, al
sub esp, 0xc
push eax
call fcn.008067c9
add esp, 0x10
push eax
push str.MERGE___s_
push 1
push dword [ebp + 8]
call fcn.007c5845
add esp, 0x10
sub esp, 0xc
push dword [ebp - 0x54]
call fcn.007c5cb5
add esp, 0x10
add eax, 1
mov dword [ebp - 0x84], eax
sub esp, 0xc
push dword [ebp - 0x84]
push 0
push dword [ebp - 0x74]
push 0xd
push dword [ebp - 0x54]
call fcn.007c5569
add esp, 0x20
mov dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x64]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0xc], edx
sub esp, 4
push str.LEFT
push 1
push dword [ebp + 8]
call fcn.007c5845
add esp, 0x10
sub esp, 4
lea eax, [ebp - 0xb4]
push eax
push dword [ebp - 0x64]
push dword [ebp + 8]
call fcn.0080c9c2
add esp, 0x10
sub esp, 8
push dword [ebp - 0x74]
push dword [ebp - 0x54]
call fcn.007c59a0
add esp, 0x10
sub esp, 8
push dword [ebp - 0x88]
push dword [ebp - 0x54]
call fcn.007c5eec
add esp, 0x10
sub esp, 0xc
push dword [ebp - 0x54]
call fcn.007c5cb5
add esp, 0x10
add eax, 1
mov dword [ebp - 0x8c], eax
sub esp, 0xc
push dword [ebp - 0x8c]
push 0
push dword [ebp - 0x78]
push 0xd
push dword [ebp - 0x54]
call fcn.007c5569
add esp, 0x20
mov dword [ebp - 0x88], eax
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x90], eax
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x94], eax
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp - 0x30]
mov dword [eax + 0xc], edx
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x10], 0
sub esp, 4
push str.RIGHT
push 1
push dword [ebp + 8]
call fcn.007c5845
add esp, 0x10
sub esp, 4
lea eax, [ebp - 0xcc]
push eax
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0080c9c2
add esp, 0x10
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp - 0x90]
mov dword [eax + 0xc], edx
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp - 0x94]
mov dword [eax + 0x10], edx
sub esp, 8
push dword [ebp - 0x78]
push dword [ebp - 0x54]
call fcn.007c59a0
add esp, 0x10
push dword [ebp - 0x58]
push dword [ebp - 0x38]
push dword [ebp - 0x34]
push dword [ebp - 0x7c]
push dword [ebp + 0x10]
lea eax, [ebp - 0xb4]
push eax
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00808c14
add esp, 0x20
mov dword [ebp - 0x98], eax
cmp dword [ebp - 0x60], 0x83
je 0x8095d2
cmp dword [ebp - 0x60], 0x82
jne 0x8095f9
push dword [ebp - 0x58]
push dword [ebp - 0x38]
push dword [ebp - 0x34]
push dword [ebp - 0x80]
push dword [ebp + 0x10]
lea eax, [ebp - 0xcc]
push eax
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00808c14
add esp, 0x20
mov dword [ebp - 0x14], eax
sub esp, 0xc
push dword [ebp - 0x38]
call fcn.008066c2
add esp, 0x10
cmp dword [ebp - 0x60], 0x84
je 0x809619
cmp dword [ebp - 0x60], 0x85
jne 0x809627
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x1c], eax
jmp 0x80968c
push dword [ebp - 0x14]
push dword [ebp - 0x80]
push 0xc
push dword [ebp - 0x54]
call fcn.007c5649
add esp, 0x10
mov dword [ebp - 0x18], eax
push dword [ebp - 0x58]
push dword [ebp - 0x78]
push 0xe
push dword [ebp - 0x54]
call fcn.007c5649
add esp, 0x10
mov dword [ebp - 0x1c], eax
sub esp, 8
push dword [ebp - 0x18]
push dword [ebp - 0x54]
call fcn.007c566a
add esp, 0x10
mov eax, dword [ebp - 0x64]
movzx eax, word [eax + 6]
movsx edx, ax
mov eax, dword [ebp + 0xc]
movzx eax, word [eax + 6]
cwde
sub esp, 8
push edx
push eax
call fcn.007a1871
add esp, 0x10
mov edx, eax
mov eax, dword [ebp + 0xc]
mov word [eax + 6], dx
cmp dword [ebp - 0x60], 0x85
jne 0x8096be
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp + 0xc]
movzx edx, word [eax + 6]
mov eax, dword [ebp - 0x64]
movzx eax, word [eax + 6]
cmp dx, ax
jle 0x8096fb
mov eax, dword [ebp - 0x64]
movzx edx, word [eax + 6]
mov eax, dword [ebp + 0xc]
mov word [eax + 6], dx
jmp 0x8096fb
push dword [ebp - 0x98]
push dword [ebp - 0x7c]
push 0xc
push dword [ebp - 0x54]
call fcn.007c5649
add esp, 0x10
mov dword [ebp - 0x20], eax
push dword [ebp - 0x58]
push dword [ebp - 0x74]
push 0xe
push dword [ebp - 0x54]
call fcn.007c5649
add esp, 0x10
sub esp, 8
push dword [ebp - 0x20]
push dword [ebp - 0x54]
call fcn.007c566a
add esp, 0x10
push dword [ebp - 0x98]
push dword [ebp - 0x7c]
push 0xc
push dword [ebp - 0x54]
call fcn.007c5649
add esp, 0x10
mov dword [ebp - 0x24], eax
push dword [ebp - 0x18]
push dword [ebp - 0x74]
push 0xe
push dword [ebp - 0x54]
call fcn.007c5649
add esp, 0x10
sub esp, 8
push dword [ebp - 0x5c]
push dword [ebp - 0x54]
call fcn.007c566a
add esp, 0x10
cmp dword [ebp - 0x60], 0x83
jne 0x809749
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x28], eax
jmp 0x809785
cmp dword [ebp - 0x60], 0x85
jne 0x80975e
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x28], eax
add dword [ebp - 0x24], 1
jmp 0x809785
push dword [ebp - 0x18]
push dword [ebp - 0x74]
push 0xe
push dword [ebp - 0x54]
call fcn.007c5649
add esp, 0x10
mov dword [ebp - 0x28], eax
sub esp, 8
push dword [ebp - 0x5c]
push dword [ebp - 0x54]
call fcn.007c566a
add esp, 0x10
sub esp, 0xc
push dword [ebp - 0x54]
call fcn.007c5cb5
add esp, 0x10
mov dword [ebp - 0x9c], eax
cmp dword [ebp - 0x60], 0x83
je 0x8097ab
cmp dword [ebp - 0x60], 0x82
jne 0x8097be
push dword [ebp - 0x14]
push dword [ebp - 0x80]
push 0xc
push dword [ebp - 0x54]
call fcn.007c5649
add esp, 0x10
push dword [ebp - 0x20]
push dword [ebp - 0x78]
push 0xe
push dword [ebp - 0x54]
call fcn.007c5649
add esp, 0x10
sub esp, 8
push dword [ebp - 0x5c]
push dword [ebp - 0x54]
call fcn.007c566a
add esp, 0x10
sub esp, 8
push dword [ebp - 0x88]
push dword [ebp - 0x54]
call fcn.007c5eec
add esp, 0x10
push dword [ebp - 0x1c]
push dword [ebp - 0x74]
push 0xe
push dword [ebp - 0x54]
call fcn.007c5649
add esp, 0x10
push dword [ebp - 0x20]
push dword [ebp - 0x78]
push 0xe
push dword [ebp - 0x54]
call fcn.007c5649
add esp, 0x10
sub esp, 8
push dword [ebp - 0x5c]
push dword [ebp - 0x54]
call fcn.007c5a6b
add esp, 0x10
sub esp, 4
push 0xfffffffffffffff1
push dword [ebp - 0x6c]
push 0
push 0
push 0
push 0x56
push dword [ebp - 0x54]
call fcn.007c5769
add esp, 0x20
mov edx, dword [ebp - 0xc4]
mov eax, dword [ebp - 0xac]
sub esp, 4
push 0xfffffffffffffff7
push dword [ebp - 0x3c]
push dword [ebp - 0x44]
push edx
push eax
push 0x57
push dword [ebp - 0x54]
call fcn.007c5769
add esp, 0x20
sub esp, 8
push 1
push dword [ebp - 0x54]
call fcn.007c5ead
add esp, 0x10
sub esp, 0xc
push dword [ebp - 0x9c]
push dword [ebp - 0x28]
push dword [ebp - 0x24]
push 0x10
push dword [ebp - 0x54]
call fcn.007c5569
add esp, 0x20
sub esp, 8
push dword [ebp - 0x58]
push dword [ebp - 0x54]
call fcn.007c5a6b
add esp, 0x10
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x34]
test eax, eax
je 0x8098ca
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x34]
sub esp, 8
push eax
push dword [ebp - 0x50]
call fcn.00804f63
add esp, 0x10
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp - 0x64]
mov dword [eax + 0x34], edx
mov eax, dword [ebp - 0x64]
mov edx, dword [ebp + 0xc]
mov dword [eax + 0x38], edx
sub esp, 0xc
push dword [ebp + 8]
call fcn.007c58ce
add esp, 0x10
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x24]
test eax, eax
setne al
movzx eax, al
mov ebx, dword [ebp - 4]
leave
ret