Function at 0xfcc487
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
push ebx
sub esp, 0xa4
mov eax, dword [ebp + 0x10]
mov word [ebp - 0x8c], ax
mov eax, dword [ebp + 8]
movzx eax, word [eax + 0x166]
test ax, ax
je 0xfcc68b
mov eax, dword [ebp + 8]
movzx eax, word [eax + 0x162]
test ax, ax
je 0xfcc68b
mov eax, dword [ebp + 8]
movzx eax, word [eax + 0x15c]
add eax, 1
mov word [ebp - 0x10], ax
cmp word [ebp - 0x10], 8
jne 0xfcc4df
mov word [ebp - 0x10], 0
mov eax, dword [ebp + 8]
add eax, 0x4c
mov edx, eax
mov eax, dword [ebp + 8]
movzx eax, word [eax + 0x15c]
cwde
shl eax, 5
add edx, eax
mov eax, dword [ebp + 8]
lea ecx, [eax + 0x4c]
movsx eax, word [ebp - 0x10]
shl eax, 5
add eax, ecx
mov ecx, dword [edx]
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
mov ecx, dword [edx + 8]
mov dword [eax + 8], ecx
mov ecx, dword [edx + 0xc]
mov dword [eax + 0xc], ecx
mov ecx, dword [edx + 0x10]
mov dword [eax + 0x10], ecx
mov ecx, dword [edx + 0x14]
mov dword [eax + 0x14], ecx
mov ecx, dword [edx + 0x18]
mov dword [eax + 0x18], ecx
mov edx, dword [edx + 0x1c]
mov dword [eax + 0x1c], edx
movsx ecx, word [ebp - 0x10]
mov eax, dword [ebp + 8]
movzx eax, word [eax + 0x15c]
movsx edx, ax
mov eax, dword [ebp + 8]
add edx, 0xa0
movzx edx, word [eax + edx*2 + 0xc]
mov eax, dword [ebp + 8]
add ecx, 0xa0
mov word [eax + ecx*2 + 0xc], dx
mov eax, dword [ebp + 8]
mov word [eax + 4], 0
mov word [ebp - 0xa], 0
jmp 0xfcc583
movsx eax, word [ebp - 0xa]
mov dword [ebp + eax*4 - 0x74], 0
add word [ebp - 0xa], 1
cmp word [ebp - 0xa], 0xf
jle 0xfcc572
mov word [ebp - 0xa], 0
jmp 0xfcc617
movsx edx, word [ebp - 0xa]
mov eax, dword [ebp + 8]
add edx, 0xa0
movzx eax, word [eax + edx*2 + 0xc]
movsx edx, ax
mov eax, dword [ebp + 8]
movzx eax, word [eax + 4]
cwde
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00fcc0d1
mov edx, dword [ebp + 8]
mov word [edx + 4], ax
mov word [ebp - 0xc], 0
jmp 0xfcc60b
movsx ebx, word [ebp - 0xc]
movsx eax, word [ebp - 0xa]
mov edx, eax
shl edx, 4
movsx eax, word [ebp - 0xc]
add edx, eax
mov eax, dword [ebp + 8]
add edx, 0x20
movzx eax, word [eax + edx*2 + 0xc]
movsx edx, ax
movsx eax, word [ebp - 0xc]
mov eax, dword [ebp + eax*4 - 0x74]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00fcc1ab
mov dword [ebp + ebx*4 - 0x74], eax
add word [ebp - 0xc], 1
cmp word [ebp - 0xc], 0xf
jle 0xfcc5cd
add word [ebp - 0xa], 1
cmp word [ebp - 0xa], 7
jle 0xfcc595
mov eax, dword [ebp + 8]
movzx eax, word [eax + 4]
mov edx, eax
sar dx, 1
mov eax, dword [ebp + 8]
mov word [eax + 4], dx
mov eax, dword [ebp + 8]
movzx eax, word [eax + 4]
add ax, 0x400
mov edx, eax
mov eax, dword [ebp + 8]
mov word [eax + 4], dx
mov eax, dword [ebp + 8]
movzx eax, word [eax + 4]
test ax, ax
jns 0xfcc65e
mov eax, dword [ebp + 8]
mov word [eax + 4], 0
mov word [ebp - 0xc], 0
jmp 0xfcc684
movsx edx, word [ebp - 0xc]
movsx eax, word [ebp - 0xc]
mov eax, dword [ebp + eax*4 - 0x74]
sar eax, 3
mov ecx, eax
mov eax, dword [ebp + 8]
mov word [eax + edx*2 + 0xa], cx
add word [ebp - 0xc], 1
cmp word [ebp - 0xc], 0xf
jle 0xfcc666
mov eax, dword [ebp + 8]
movzx eax, word [eax + 0x162]
test ax, ax
je 0xfcc8a2
mov eax, dword [ebp + 8]
add eax, 0xa
mov edx, dword [ebp + 8]
add edx, 0x2a
mov ecx, dword [eax]
mov dword [edx], ecx
mov ecx, dword [eax + 4]
mov dword [edx + 4], ecx
mov ecx, dword [eax + 8]
mov dword [edx + 8], ecx
mov ecx, dword [eax + 0xc]
mov dword [edx + 0xc], ecx
mov ecx, dword [eax + 0x10]
mov dword [edx + 0x10], ecx
mov ecx, dword [eax + 0x14]
mov dword [edx + 0x14], ecx
mov ecx, dword [eax + 0x18]
mov dword [edx + 0x18], ecx
mov eax, dword [eax + 0x1c]
mov dword [edx + 0x1c], eax
mov eax, dword [ebp + 8]
movzx edx, word [eax + 4]
mov eax, dword [ebp + 8]
mov word [eax + 6], dx
mov eax, dword [ebp + 8]
movzx eax, word [eax + 0x164]
test ax, ax
je 0xfcc8a2
mov eax, dword [ebp + 8]
movzx eax, word [eax]
mov word [ebp - 0x12], ax
cmp word [ebp - 0x12], 0x20
jle 0xfcc710
mov word [ebp - 0x12], 0x20
cmp word [ebp - 0x12], 1
jle 0xfcc745
movsx eax, word [ebp - 0x12]
mov dword [esp + 4], 0xa
mov dword [esp], eax
call fcn.00fcbfd8
cwde
mov dword [esp + 4], eax
mov dword [esp], 0x400
call fcn.00fd4ddd
mov edx, dword [ebp + 8]
mov word [edx + 2], ax
jmp 0xfcc74e
mov eax, dword [ebp + 8]
mov word [eax + 2], 0x4000
mov eax, dword [ebp + 0x18]
mov dword [esp + 4], eax
mov dword [esp], 6
call fcn.00fd0724
mov word [ebp - 0x32], ax
mov eax, dword [ebp + 0x18]
mov dword [esp + 4], eax
mov dword [esp], 6
call fcn.00fd0724
mov word [ebp - 0x30], ax
mov eax, dword [ebp + 0x18]
mov dword [esp + 4], eax
mov dword [esp], 6
call fcn.00fd0724
mov word [ebp - 0x2e], ax
mov eax, dword [ebp + 0x18]
mov dword [esp + 4], eax
mov dword [esp], 5
call fcn.00fd0724
mov word [ebp - 0x2c], ax
mov eax, dword [ebp + 0x18]
mov dword [esp + 4], eax
mov dword [esp], 5
call fcn.00fd0724
mov word [ebp - 0x2a], ax
mov eax, dword [ebp + 8]
add eax, 0xa
mov dword [esp + 4], eax
lea eax, [ebp - 0x32]
mov dword [esp], eax
call fcn.00fd550e
mov eax, dword [ebp + 0x18]
mov dword [esp + 4], eax
mov dword [esp], 6
call fcn.00fd0724
mov word [ebp - 0x14], ax
mov eax, dword [ebp + 0x18]
mov dword [esp], eax
call fcn.00fd07d6
mov edx, dword [ebp + 8]
mov word [edx + 0x16e], ax
movsx eax, word [ebp - 0x14]
mov dword [esp + 4], 9
mov dword [esp], eax
call fcn.00fcbfd8
mov edx, dword [ebp + 8]
mov word [edx + 4], ax
mov eax, dword [ebp + 8]
movzx eax, word [eax + 4]
cwde
mov dword [esp + 4], 0x30c3
mov dword [esp], eax
call fcn.00fcc161
mov edx, dword [ebp + 8]
mov word [edx + 4], ax
mov eax, dword [ebp + 8]
movzx eax, word [eax + 0x16a]
test ax, ax
je 0xfcc85a
mov eax, dword [ebp + 8]
movzx eax, word [eax + 0x168]
test ax, ax
jne 0xfcc8a2
mov eax, dword [ebp + 8]
add eax, 0xa
mov edx, dword [ebp + 8]
add edx, 0x2a
mov ecx, dword [eax]
mov dword [edx], ecx
mov ecx, dword [eax + 4]
mov dword [edx + 4], ecx
mov ecx, dword [eax + 8]
mov dword [edx + 8], ecx
mov ecx, dword [eax + 0xc]
mov dword [edx + 0xc], ecx
mov ecx, dword [eax + 0x10]
mov dword [edx + 0x10], ecx
mov ecx, dword [eax + 0x14]
mov dword [edx + 0x14], ecx
mov ecx, dword [eax + 0x18]
mov dword [edx + 0x18], ecx
mov eax, dword [eax + 0x1c]
mov dword [edx + 0x1c], eax
mov eax, dword [ebp + 8]
movzx edx, word [eax + 4]
mov eax, dword [ebp + 8]
mov word [eax + 6], dx
mov eax, dword [ebp + 8]
movzx eax, word [eax + 0x162]
test ax, ax
je 0xfcc8c8
mov eax, dword [ebp + 8]
movzx eax, word [eax + 0x164]
test ax, ax
je 0xfcc8c8
mov eax, dword [ebp + 8]
mov word [eax], 0
mov eax, dword [ebp + 8]
movzx eax, word [eax]
cwde
mov dword [esp + 4], 0xa
mov dword [esp], eax
call fcn.00fcbfd8
mov word [ebp - 0xe], ax
mov eax, dword [ebp + 8]
movzx eax, word [eax + 2]
movsx edx, ax
movsx eax, word [ebp - 0xe]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00fcc161
mov word [ebp - 0xe], ax
cmp word [ebp - 0xe], 0x400
jle 0xfcc90f
mov word [ebp - 0xe], 0x400
movsx eax, word [ebp - 0xe]
mov dword [esp + 4], 4
mov dword [esp], eax
call fcn.00fcbfd8
mov word [ebp - 0xe], ax
mov eax, dword [ebp + 8]
movzx eax, word [eax + 4]
movsx edx, ax
movsx eax, word [ebp - 0xe]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00fcc294
mov dword [ebp - 0x78], eax
mov word [ebp - 0xa], 0
jmp 0xfcc97e
movsx eax, word [ebp - 0xa]
add eax, eax
mov ebx, eax
add ebx, dword [ebp + 0x14]
movsx edx, word [ebp - 0xa]
mov eax, dword [ebp + 8]
movzx eax, word [eax + edx*2 + 0xa]
movsx edx, ax
movsx eax, word [ebp - 0xe]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00fcc161
mov word [ebx], ax
add word [ebp - 0xa], 1
cmp word [ebp - 0xa], 0xf
jle 0xfcc94c
movzx eax, word [ebp - 0xe]
mov edx, 0x4000
mov ecx, edx
sub cx, ax
mov eax, ecx
mov word [ebp - 0xe], ax
mov eax, dword [ebp + 8]
movzx eax, word [eax + 6]
movsx ecx, ax
movsx edx, word [ebp - 0xe]
mov eax, dword [ebp - 0x78]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00fcc227
mov dword [ebp - 0x78], eax
mov word [ebp - 0xa], 0
jmp 0xfcca41
movsx eax, word [ebp - 0xa]
add eax, eax
mov ebx, eax
add ebx, dword [ebp + 0x14]
movsx edx, word [ebp - 0xa]
mov eax, dword [ebp + 8]
add edx, 0x10
movzx eax, word [eax + edx*2 + 0xa]
movsx edx, ax
movsx eax, word [ebp - 0xe]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00fcc161
movsx edx, ax
movsx eax, word [ebp - 0xa]
add eax, eax
add eax, dword [ebp + 0x14]
movzx eax, word [eax]
cwde
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00fcc0d1
mov word [ebx], ax
movsx eax, word [ebp - 0xa]
add eax, eax
mov ebx, eax
add ebx, dword [ebp + 0x14]
movsx eax, word [ebp - 0xa]
add eax, eax
add eax, dword [ebp + 0x14]
movzx eax, word [eax]
cwde
mov dword [esp + 4], 1
mov dword [esp], eax
call fcn.00fcbfd8
mov word [ebx], ax
add word [ebp - 0xa], 1
cmp word [ebp - 0xa], 0xf
jle 0xfcc9c5
mov eax, dword [ebp + 8]
movzx eax, word [eax + 0x16e]
test ax, ax
je 0xfcca79
mov eax, dword [ebp + 8]
add eax, 0x16c
mov dword [esp + 8], eax
lea eax, [ebp - 0x78]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x14]
mov dword [esp], eax
call fcn.00fcd796
mov eax, dword [ebp - 0x78]
sar eax, 9
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x78]
sar eax, 0x10
mov word [ebp - 0x16], ax
movsx eax, word [ebp - 0x16]
mov edx, eax
shl edx, 0x10
mov eax, dword [ebp - 0x78]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00fcc1e7
sar eax, 1
mov word [ebp - 0x18], ax
movzx eax, word [ebp - 0x16]
add eax, 0xf
mov word [ebp - 0x16], ax
movsx edx, word [ebp - 0x18]
movsx eax, word [ebp - 0x16]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00fd5024
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
mov dword [esp], eax
call fcn.00fd41ac
mov word [ebp - 0x1e], ax
movsx eax, word [ebp - 0x1e]
mov ecx, eax
shl dword [ebp - 0x1c], cl
movzx eax, word [ebp - 0x1e]
mov edx, 0xf
mov ecx, edx
sub cx, ax
mov eax, ecx
mov word [ebp - 0x1e], ax
mov eax, dword [ebp - 0x1c]
sar eax, 0x10
mov word [ebp - 0x20], ax
mov word [ebp - 0xa], 0
jmp 0xfccb2f
movsx eax, word [ebp - 0xa]
add eax, eax
mov ebx, eax
add ebx, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
add eax, 0x4a
mov dword [esp], eax
call fcn.00fd334b
sar ax, 4
mov word [ebx], ax
add word [ebp - 0xa], 1
cmp word [ebp - 0xa], 0xff
jle 0xfccb0a
lea eax, [ebp - 0x7e]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x100
mov eax, dword [ebp + 0xc]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call fcn.00fd50f2
mov dword [ebp - 0x7c], eax
lea eax, [ebp - 0x7e]
mov dword [esp + 4], eax
lea eax, [ebp - 0x7c]
mov dword [esp], eax
call fcn.00fd4f21
mov eax, dword [ebp - 0x7c]
sar eax, 0x10
mov word [ebp - 0x22], ax
movsx edx, word [ebp - 0x22]
movsx eax, word [ebp - 0x20]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00fcc161
mov word [ebp - 0x22], ax
movzx eax, word [ebp - 0x7e]
mov edx, eax
movzx eax, word [ebp - 0x1e]
add eax, edx
mov word [ebp - 0x7e], ax
movzx eax, word [ebp - 0x7e]
add eax, 4
mov word [ebp - 0x7e], ax
mov word [ebp - 0xa], 0
jmp 0xfccbfd
movsx edx, word [ebp - 0x22]
movsx eax, word [ebp - 0xa]
add eax, eax
add eax, dword [ebp + 0xc]
movzx eax, word [eax]
cwde
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00fcc161
mov word [ebp - 0x24], ax
movsx eax, word [ebp - 0xa]
add eax, eax
mov ebx, eax
add ebx, dword [ebp + 0xc]
movzx eax, word [ebp - 0x7e]
movsx edx, ax
movsx eax, word [ebp - 0x24]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00fcbfd8
mov word [ebx], ax
add word [ebp - 0xa], 1
cmp word [ebp - 0xa], 0xff
jle 0xfccbb2
cmp word [ebp - 0x8c], 2
jne 0xfccc7b
mov eax, dword [ebp + 8]
movzx eax, word [eax]
mov word [ebp - 0x12], ax
cmp word [ebp - 0x12], 0x20
jle 0xfccc26
mov word [ebp - 0x12], 0x20
movsx eax, word [ebp - 0x12]
mov dword [esp + 4], 0xa
mov dword [esp], eax
call fcn.00fcbfd8
cwde
mov dword [esp + 4], eax
mov dword [esp], 0x400
call fcn.00fd4ddd
mov edx, dword [ebp + 8]
mov word [edx + 2], ax
mov eax, dword [ebp + 8]
mov word [eax], 0
mov eax, dword [ebp + 8]
movzx edx, word [eax + 4]
mov eax, dword [ebp + 8]
mov word [eax + 6], dx
mov eax, dword [ebp + 8]
movzx eax, word [eax + 4]
sub eax, 0x40
mov edx, eax
mov eax, dword [ebp + 8]
mov word [eax + 4], dx
mov eax, dword [ebp + 8]
movzx eax, word [eax + 0x162]
test ax, ax
je 0xfccccb
mov eax, dword [ebp + 8]
movzx eax, word [eax + 0x164]
test ax, ax
jne 0xfcccb7
mov eax, dword [ebp + 8]
movzx eax, word [eax + 0x164]
test ax, ax
jne 0xfccccb
mov eax, dword [ebp + 8]
movzx eax, word [eax + 0x166]
test ax, ax
je 0xfccccb
mov eax, dword [ebp + 8]
mov word [eax], 0
mov eax, dword [ebp + 8]
mov word [eax + 0x16a], 1
mov eax, 0
add esp, 0xa4
pop ebx
pop ebp
ret