Function at 0x10034090
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x18c
push ebx
push ebp
push esi
push edi
xor ebx, ebx
mov esi, 0x10031d00
mov edi, 1
mov eax, 0x10032920
mov edx, 0x10033240
mov ecx, 0x100325d0
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], esi
mov dword [esp + 0x28], str._AddRemovePrograms
mov dword [esp + 0x2c], 0x1004b78c
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], edi
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], str._Bios
mov dword [esp + 0x40], 0x1004b7a8
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], 2
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], str._BiosDate
mov dword [esp + 0x54], 0x1004b7d0
mov dword [esp + 0x58], ebx
mov dword [esp + 0x5c], 3
mov dword [esp + 0x60], 0x10033b80
mov dword [esp + 0x64], 0x1004b7e0
mov dword [esp + 0x68], ebx
mov dword [esp + 0x6c], 0x1004b7f8
mov dword [esp + 0x70], 4
mov dword [esp + 0x74], edx
mov dword [esp + 0x78], str._Driver
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x80], str.ServiceName
mov dword [esp + 0x84], 5
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], str._EmbeddedControllerVersion
mov dword [esp + 0x90], ebx
mov dword [esp + 0x94], 0x1004b8b4
mov dword [esp + 0x98], 6
mov dword [esp + 0x9c], 0x10033c60
mov dword [esp + 0xa0], str._ExternalDetection
mov dword [esp + 0xa4], ebx
mov dword [esp + 0xa8], ebx
mov dword [esp + 0xac], 7
mov dword [esp + 0xb0], ecx
mov dword [esp + 0xb4], str._FileVersion
mov dword [esp + 0xb8], 0x1004b918
mov dword [esp + 0xbc], 0x1004b930
mov dword [esp + 0xc0], 8
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xc8], str._FileDate
mov dword [esp + 0xcc], str.File
mov dword [esp + 0xd0], ebx
mov dword [esp + 0xd4], 9
mov dword [esp + 0xd8], ecx
mov dword [esp + 0xdc], str._FileExists
mov dword [esp + 0xe0], ebx
mov dword [esp + 0xe4], ebx
mov dword [esp + 0xe8], 0xa
mov dword [esp + 0xec], edx
mov dword [esp + 0xf0], str._HDD
mov dword [esp + 0xf4], str.Model
mov dword [esp + 0xf8], 0x1004b9b8
mov dword [esp + 0xfc], 0xb
mov dword [esp + 0x100], eax
mov dword [esp + 0x104], 0x1004b9cc
mov dword [esp + 0x108], 0x1004b9d4
mov dword [esp + 0x10c], ebx
mov dword [esp + 0x110], 0xc
mov dword [esp + 0x114], eax
mov dword [esp + 0x118], str._OSLang
mov dword [esp + 0x11c], str.Lang
mov dword [esp + 0x120], ebx
mov dword [esp + 0x124], 0xd
mov dword [esp + 0x128], edx
mov dword [esp + 0x12c], str._PnPID
mov dword [esp + 0x130], str.__CDATA
mov dword [esp + 0x134], ebx
mov dword [esp + 0x138], 0xe
mov dword [esp + 0x164], eax
mov dword [esp + 0x178], eax
mov dword [esp + 0x18c], eax
mov eax, dword [esp + 0x1a8]
mov dword [esp + 0x13c], esi
mov dword [esp + 0x140], str._RegistryKey
mov ecx, dword [eax]
mov dword [esp + 0x144], 0x1004ba48
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x148], ebx
mov dword [esp + 0x14c], 0xf
mov dword [esp + 0x150], esi
mov dword [esp + 0x154], str._RegistryKeyValue
mov dword [esp + 0x158], 0x1004ba88
mov dword [esp + 0x15c], str.KeyValue
mov dword [esp + 0x160], 0x10
mov dword [esp + 0x168], str._SupportedSystems
mov dword [esp + 0x16c], str.System
mov dword [esp + 0x170], ebx
mov dword [esp + 0x174], 0x11
mov dword [esp + 0x17c], str._SystemVendor
mov dword [esp + 0x180], str.Name
mov dword [esp + 0x184], ebx
mov dword [esp + 0x188], 0x12
mov dword [esp + 0x190], str._CPUAddressWidth
mov dword [esp + 0x194], str.AddressWidth
mov dword [esp + 0x198], ebx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], edi
xor ebp, ebp
lea ecx, [esp + 0x28]
mov edi, dword [ecx]
mov esi, dword [esp + 0x1c]
mov dl, byte [esi]
mov al, dl
cmp dl, byte [edi]
jne 0x10034437
cmp al, bl
je 0x10034433
mov dl, byte [esi + 1]
mov al, dl
cmp dl, byte [edi + 1]
jne 0x10034437
add esi, 2
add edi, 2
cmp al, bl
jne 0x10034413
xor eax, eax
jmp 0x1003443c
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x10034449
inc ebp
add ecx, 0x14
cmp ebp, 0x13
jb 0x1003440d
cmp ebp, 0x13
jne 0x1003445b
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x18c
ret
lea esi, [ebp + ebp*4]
mov ecx, dword [esp + 0x1a8]
shl esi, 2
mov ebp, dword [esp + esi + 0x2c]
cmp ebp, ebx
je 0x1003448a
mov eax, dword [ecx + 0x10]
cmp eax, ebx
je 0x1003447d
cmp dword [eax + 4], ebx
jne 0x1003448a
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x18c
ret
cmp ebp, ebx
je 0x100344af
push ebx
push ebp
push ecx
call fcn.1002e0d0
add esp, 0xc
xor ecx, ecx
cmp eax, ebx
mov dword [esp + 0x10], eax
setne cl
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x1a8]
mov edi, dword [esp + esi + 0x30]
cmp edi, ebx
je 0x100344da
mov eax, dword [ecx + 0x10]
cmp eax, ebx
je 0x100344da
cmp dword [eax + 4], ebx
jbe 0x100344da
push 1
push edi
push ecx
call fcn.1002e0d0
mov ecx, dword [esp + 0x1b4]
add esp, 0xc
mov dword [esp + 0x14], eax
cmp dword [esp + 0x18], ebx
je 0x10034524
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
mov edx, dword [esp + 0x1b4]
push edi
push eax
mov eax, dword [esp + 0x1b8]
push ebp
push edx
mov edx, dword [esp + esi + 0x34]
push eax
mov eax, dword [esp + 0x1b8]
push ecx
mov ecx, dword [esp + 0x1c0]
push ecx
push edx
push eax
call dword [esp + esi + 0x4c]
add esp, 0x28
test eax, eax
je 0x10034524
mov edi, 1
jmp 0x10034526
xor edi, edi
mov eax, dword [esp + 0x10]
mov esi, dword [sym.imp.KERNEL32.dll_LocalFree]
cmp eax, ebx
je 0x10034537
push eax
call esi
mov eax, dword [esp + 0x14]
cmp eax, ebx
je 0x10034542
push eax
call esi
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18c
ret