Function at 0x10078bc0
Capabilities:
Enumerate pe sections

Disassembly:
push 0xffffffffffffffff
push 0x10174764
mov eax, dword fs:[0]
push eax
sub esp, 0x30
push ebx
push ebp
push esi
push edi
mov eax, dword [0x10206870]
xor eax, esp
push eax
lea eax, [esp + 0x44]
mov dword fs:[0], eax
call fcn.1013c470
mov eax, dword [eax + 0x3c]
test eax, eax
je 0x10078fc0
call fcn.1013c470
mov eax, dword [eax + 0x3c]
push 0
push 0x10
push 0
mov ecx, eax
call fcn.10074980
mov esi, eax
test esi, esi
je 0x10078fc0
mov eax, dword [esi + 0x18]
movzx ecx, word [eax + 4]
movzx edx, cx
mov edi, 0x8086
cmp dx, di
jne 0x10078c38
movzx edx, word [eax + 6]
mov edi, 0x4030
cmp dx, di
je 0x10078c76
movzx edx, cx
mov edi, 0x8086
cmp dx, di
jne 0x10078c53
movzx edx, word [eax + 6]
mov edi, 0x25f0
cmp dx, di
je 0x10078c76
movzx ecx, cx
mov edx, 0x8086
cmp cx, dx
jne 0x10078fc0
movzx eax, word [eax + 6]
mov ecx, 0x360c
cmp ax, cx
jne 0x10078fc0
or ebx, 0xffffffff
mov dword [esp + 0x14], ebx
mov ecx, dword [esi + 8]
xor ebp, ebp
cmp ecx, ebp
je 0x10078ca3
mov edx, dword [ecx]
mov edx, dword [edx + 0x18]
lea eax, [esp + 0x14]
push eax
movzx eax, byte [esi + 0x16]
push 0x56
push eax
movzx eax, byte [esi + 0x15]
push eax
movzx eax, byte [esi + 0x14]
push eax
call edx
mov dword [esp + 0x14], ebx
mov ecx, dword [esi + 8]
cmp ecx, ebp
je 0x10078ccb
mov eax, dword [ecx]
mov eax, dword [eax + 0x18]
lea edx, [esp + 0x14]
push edx
movzx edx, byte [esi + 0x16]
push 0x57
push edx
movzx edx, byte [esi + 0x15]
push edx
movzx edx, byte [esi + 0x14]
push edx
call eax
mov edi, 4
mov dword [esp + 0x24], 2
mov dword [esp + 0x1c], edi
call fcn.1013c470
mov eax, dword [eax + 0x3c]
push ebp
push ebp
push ebp
mov ecx, eax
call fcn.10074980
cmp eax, ebp
je 0x10078d10
mov ecx, dword [eax + 0x18]
movzx eax, word [ecx + 6]
sub eax, 0x25d0
je 0x10078d08
sub eax, edi
mov dword [esp + 0x24], edi
jne 0x10078d10
mov dword [esp + 0x24], 2
mov edx, dword [esi + 0x18]
movzx eax, word [edx + 6]
cmp eax, 0x25f0
je 0x10078d30
cmp eax, 0x360c
je 0x10078e27
cmp eax, 0x4030
jne 0x10078d34
mov dword [esp + 0x1c], edi
mov dword [esp + 0x14], ebx
mov ecx, dword [esi + 8]
cmp ecx, ebp
je 0x10078d68
mov eax, dword [ecx]
mov eax, dword [eax + 0x18]
lea edx, [esp + 0x14]
push edx
movzx edx, byte [esi + 0x16]
push 0x50
push edx
movzx edx, byte [esi + 0x15]
push edx
movzx edx, byte [esi + 0x14]
push edx
call eax
cmp dword [esp + 0x14], ebp
je 0x10078fc0
xor ebp, ebp
mov dword [esp + 0x18], ebx
mov ecx, dword [esi + 8]
cmp ecx, ebp
je 0x10078d90
mov edx, dword [ecx]
mov edx, dword [edx + 0x18]
lea eax, [esp + 0x18]
push eax
movzx eax, byte [esi + 0x16]
push 0x48
push eax
movzx eax, byte [esi + 0x15]
push eax
movzx eax, byte [esi + 0x14]
push eax
call edx
and dword [esp + 0x18], 0xfffe0000
mov eax, ebx
mov dword [esp + 0x20], eax
mov ecx, dword [esi + 8]
cmp ecx, ebp
je 0x10078dc6
mov eax, dword [ecx]
mov eax, dword [eax + 0x18]
lea edx, [esp + 0x20]
push edx
movzx edx, byte [esi + 0x16]
push 0x4c
push edx
movzx edx, byte [esi + 0x15]
push edx
movzx edx, byte [esi + 0x14]
push edx
call eax
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x18]
and eax, 0xff
mov dword [esp + 0x20], eax
cmp ecx, ebp
jne 0x10078ddf
cmp eax, ebp
je 0x10078fc0
push 0x2000000
push ecx
push eax
call fcn.1013c470
mov ecx, eax
call fcn.1013ccb0
mov ebp, eax
test ebp, ebp
jne 0x10078f2b
push 0x14
call fcn.1003ddbb
add esp, 4
test eax, eax
je 0x10078f13
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x20]
push ebx
push ecx
push edx
mov ecx, eax
call fcn.1006aaa0
mov ebp, eax
jmp 0x10078f15
mov dword [esp + 0x34], vtable.CTList_class_CDevice_.0
mov dword [esp + 0x38], ebp
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x1c], 8
call fcn.1013c470
mov eax, dword [eax + 0x3c]
lea ecx, [esp + 0x34]
push ecx
push 0x360f
push 0x8086
mov ecx, eax
call fcn.10074900
test eax, eax
jle 0x10078ea2
lea edx, [esp + 0x34]
lea ecx, [esp + 0x2c]
mov dword [esp + 0x2c], edx
mov dword [esp + 0x30], ebp
call fcn.10001180
mov dword [esp + 0x14], ebx
mov ecx, dword [eax + 8]
cmp ecx, ebp
je 0x10078ea2
mov edx, dword [ecx]
mov edx, dword [edx + 0x18]
lea edi, [esp + 0x14]
push edi
movzx edi, byte [eax + 0x16]
push 0x64
push edi
movzx edi, byte [eax + 0x15]
movzx eax, byte [eax + 0x14]
push edi
push eax
call edx
call fcn.1013c470
mov eax, dword [eax + 0x3c]
lea ecx, [esp + 0x34]
push ecx
push 0x3610
push 0x8086
mov ecx, eax
call fcn.10074900
test eax, eax
jle 0x10078f01
lea edx, [esp + 0x34]
lea ecx, [esp + 0x2c]
mov dword [esp + 0x2c], edx
mov dword [esp + 0x30], ebp
call fcn.10001180
mov dword [esp + 0x14], ebx
mov ecx, dword [eax + 8]
cmp ecx, ebp
je 0x10078f01
mov edx, dword [ecx]
mov edx, dword [edx + 0x18]
lea edi, [esp + 0x14]
push edi
movzx edi, byte [eax + 0x16]
push 0x64
push edi
movzx edi, byte [eax + 0x15]
movzx eax, byte [eax + 0x14]
push edi
push eax
call edx
lea ecx, [esp + 0x34]
mov dword [esp + 0x4c], ebx
call fcn.100014a0
jmp 0x10078d34
xor ebp, ebp
call fcn.1013c470
mov ecx, dword [eax + 0x24]
push ebp
call fcn.10002150
test ebp, ebp
je 0x10078fc0
xor edi, edi
cmp dword [esp + 0x24], edi
mov dword [esp + 0x2c], edi
jle 0x10078fc0
xor ebx, ebx
cmp dword [esp + 0x1c], ebx
jle 0x10078fb1
mov esi, edi
shl esi, 0xf
mov dword [esp + 0x28], esi
lea esp, [esp]
mov eax, dword [ebp]
mov edx, dword [eax + 0x18]
lea ecx, [esp + 0x14]
push ecx
push esi
mov ecx, ebp
call edx
cmp dword [esp + 0x14], 0xffffffff
je 0x10078fa0
push 0x194
call fcn.1003ddbb
add esp, 4
test eax, eax
je 0x10078f89
push ebx
push edi
push ebp
push str.FB_DIMM
mov esi, eax
call fcn.100a81f0
jmp 0x10078f8b
xor eax, eax
push eax
mov eax, dword [esp + 0x58]
mov edi, dword [eax + 0xc]
call fcn.10006560
mov edi, dword [esp + 0x2c]
mov esi, dword [esp + 0x28]
inc ebx
add esi, 0x800
cmp ebx, dword [esp + 0x1c]
mov dword [esp + 0x28], esi
jl 0x10078f50
inc edi
cmp edi, dword [esp + 0x24]
mov dword [esp + 0x2c], edi
jl 0x10078f3b
call fcn.1013c470
mov eax, dword [eax + 0x30]
test eax, eax
je 0x1007905a
mov ebp, dword [eax + 4]
test ebp, ebp
je 0x1007905a
mov edi, dword [ebp + 4]
test edi, edi
je 0x1007905a
test dword [edi + 4], 0x800
je 0x10079046
cmp dword [edi + 0x114], 0
je 0x10079046
push 0x194
call fcn.1003ddbb
add esp, 4
test eax, eax
je 0x1007901b
push 0
push 0
push 0
push 0x101a4e3c
mov esi, eax
call fcn.100a81f0
mov esi, eax
jmp 0x1007901d
xor esi, esi
mov ecx, dword [edi + 0x114]
mov edx, dword [esi]
mov edx, dword [edx + 0x38]
mov dword [esi + 0x184], ecx
mov eax, dword [edi + 0x114]
push eax
mov ecx, esi
call edx
mov eax, dword [esp + 0x54]
mov edi, dword [eax + 0xc]
push esi
call fcn.10006560
test ebp, ebp
je 0x1007905a
mov eax, dword [ebp + 8]
test eax, eax
je 0x1007905a
mov edi, dword [eax + 4]
mov ebp, eax
test edi, edi
jne 0x10078fe2
mov eax, 1
mov ecx, dword [esp + 0x44]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x3c
ret 4