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

Disassembly:
push 0xffffffffffffffff
push 0x10278fe1
mov eax, dword fs:[0]
push eax
sub esp, 0xb8
push ebx
push ebp
push esi
push edi
mov eax, dword [0x1037c990]
xor eax, esp
push eax
lea eax, [esp + 0xcc]
mov dword fs:[0], eax
xor ebx, ebx
cmp ecx, ebx
jne 0x100b8c08
push ebx
push 0xdb
push 0x102c3e5c
push 0x80070057
call fcn.100048f0
mov eax, dword [esp + 0xe0]
mov edx, dword [eax + 0x18]
cmp dword [edx - 0xc], ebx
jne 0x100b8c2c
push ebx
push 0xdc
push 0x102c3e5c
push 0x80070057
call fcn.100048f0
lea eax, [esp + 0x94]
push eax
call fcn.100bf190
mov dword [esp + 0xd4], 1
mov edi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov ebp, dword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
lea ecx, [esp + 0x9c]
push ecx
call edi
mov eax, dword [esp + 0x94]
mov dword [esp + 0x30], ebx
cmp eax, ebx
je 0x100b8c88
mov edx, dword [eax]
mov edx, dword [edx + 0xc]
lea ecx, [esp + 0x30]
push ecx
lea ecx, [esp + 0xa0]
push ecx
push 1
push eax
call edx
cmp eax, ebx
jl 0x100b9140
cmp dword [esp + 0x30], ebx
seta al
cmp al, bl
je 0x100b91c3
lea eax, [esp + 0x1c]
push eax
lea esi, [esp + 0x98]
call fcn.100b98d0
mov byte [esp + 0xd4], 2
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x14], ebx
mov byte [esp + 0xd4], 4
cmp eax, ebx
je 0x100b8cd5
mov ecx, dword [eax]
lea edx, [esp + 0x14]
push edx
push 0x102c4468
push eax
mov eax, dword [ecx]
call eax
mov byte [esp + 0xd4], 5
mov eax, dword [esp + 0x14]
cmp eax, ebx
jne 0x100b8d1e
mov byte [esp + 0xd4], 2
mov eax, dword [esp + 0x14]
cmp eax, ebx
je 0x100b8cfd
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0xd4], 1
mov eax, dword [esp + 0x1c]
cmp eax, ebx
je 0x100b8c50
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
jmp 0x100b8c50
lea edx, [esp + 0x24]
mov dword [esp + 0x24], ebx
mov ecx, dword [eax]
push edx
push eax
mov eax, dword [ecx + 0x1c]
call eax
cmp eax, ebx
jl 0x100b914d
mov eax, dword [esp + 0xe4]
cmp eax, 8
je 0x100b8d83
cmp eax, 0xb
jne 0x100b915e
mov eax, dword [esp + 0x24]
cmp eax, 3
je 0x100b8dba
cmp eax, 2
je 0x100b8dba
mov byte [esp + 0xd4], 2
lea ecx, [esp + 0x14]
push ecx
call fcn.1005b8c0
mov byte [esp + 0xd4], 1
lea edx, [esp + 0x1c]
push edx
call fcn.100409e0
jmp 0x100b8c50
mov eax, dword [esp + 0x24]
cmp eax, 3
je 0x100b8dba
cmp eax, 1
je 0x100b8dba
mov byte [esp + 0xd4], 2
lea eax, [esp + 0x14]
push eax
call fcn.100409e0
mov byte [esp + 0xd4], 1
lea ecx, [esp + 0x1c]
push ecx
call fcn.100409e0
jmp 0x100b8c50
mov dword [esp + 0x28], ebx
mov byte [esp + 0xd4], 0xd
mov eax, dword [esp + 0x14]
mov edx, dword [eax]
mov edx, dword [edx + 0x5c]
lea ecx, [esp + 0x28]
push ecx
push eax
call edx
cmp eax, ebx
jl 0x100b9177
mov ecx, dword [esp + 0x28]
lea eax, [esp + 0x7c]
push eax
call fcn.100bf190
mov byte [esp + 0xd4], 0xf
lea ecx, [esp + 0x84]
push ecx
call edi
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x2c], ebx
cmp eax, ebx
je 0x100b8e2a
mov edx, dword [eax]
mov edx, dword [edx + 0xc]
lea ecx, [esp + 0x2c]
push ecx
lea ecx, [esp + 0x88]
push ecx
push 1
push eax
call edx
cmp eax, ebx
jl 0x100b9140
cmp dword [esp + 0x2c], ebx
seta al
cmp al, bl
je 0x100b90f9
lea eax, [esp + 0x20]
push eax
lea esi, [esp + 0x80]
call fcn.100b9a10
mov byte [esp + 0xd4], 0x10
mov eax, dword [esp + 0x20]
mov dword [esp + 0x18], ebx
mov byte [esp + 0xd4], 0x12
cmp eax, ebx
je 0x100b8e77
mov ecx, dword [eax]
lea edx, [esp + 0x18]
push edx
push 0x102c3d18
push eax
mov eax, dword [ecx]
call eax
mov byte [esp + 0xd4], 0x13
mov eax, dword [esp + 0x18]
cmp eax, ebx
jne 0x100b8ec0
mov byte [esp + 0xd4], 0x10
mov eax, dword [esp + 0x18]
cmp eax, ebx
je 0x100b8e9f
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0xd4], 0xf
mov eax, dword [esp + 0x20]
cmp eax, ebx
je 0x100b8df5
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
jmp 0x100b8df5
push ebx
push 0x10393704
push 0x103936e8
push ebx
push eax
call fcn.1022f4a1
add esp, 0x14
lea edx, [esp + 0x34]
mov dword [esp + 0x34], ebx
mov ecx, dword [eax]
push edx
push eax
mov eax, dword [ecx + 0x14]
call eax
cmp eax, ebx
jl 0x100b9188
cmp word [esp + 0x34], bx
jne 0x100b8f0f
mov byte [esp + 0xd4], 0x10
mov eax, dword [esp + 0x18]
cmp eax, ebx
je 0x100b8f0d
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
jmp 0x100b8e9f
lea ecx, [esp + 0x3c]
call fcn.10002dd0
mov byte [esp + 0xd4], 0x1a
mov esi, dword [esp + 0x18]
lea ecx, [esp + 0x3c]
mov dword [esp + 0x54], ebx
call fcn.100041b0
lea eax, [esp + 0x44]
push eax
call edi
cmp eax, ebx
jl 0x100b9140
mov ecx, 8
mov word [esp + 0x44], cx
lea eax, [esp + 0x4c]
mov dword [esp + 0x54], 2
mov dword [esp + 0x4c], ebx
mov edx, dword [esi]
mov ecx, dword [edx + 0x38]
push eax
push esi
call ecx
cmp eax, ebx
jl 0x100b9199
lea ecx, [esp + 0x60]
call fcn.10056c80
mov byte [esp + 0xd4], 0x1b
lea ecx, [esp + 0x3c]
call fcn.10003840
mov eax, dword [eax]
sub eax, 0x10
lea edx, [esp + 0x78]
push eax
mov dword [esp + 0x3c], edx
call fcn.10004780
add eax, 0x10
add esp, 4
mov dword [esp + 0x78], eax
mov byte [esp + 0xd4], 0x1e
lea ecx, [esp + 0x60]
call fcn.101da560
test al, al
je 0x100b9033
mov ecx, dword [esp + 0xe0]
mov eax, dword [ecx + 0x18]
cmp dword [eax - 0xc], ebx
je 0x100b91aa
lea edx, [esp + 0x60]
push edx
lea eax, [esp + 0xb0]
push eax
call fcn.10055900
mov byte [esp + 0xd4], 0x1f
mov esi, dword [esp + 0xdc]
mov ecx, dword [esi + 0x6c]
add esi, 0x68
push ebx
push ecx
push eax
mov ecx, esi
call fcn.10055450
mov ecx, dword [esi + 4]
cmp ecx, ebx
je 0x100b9006
mov dword [ecx], eax
jmp 0x100b9008
mov dword [esi], eax
mov dword [esi + 4], eax
mov byte [esp + 0xd4], 0x20
lea ecx, [esp + 0xc4]
call fcn.10004720
mov byte [esp + 0xd4], 0x1e
lea edx, [esp + 0xac]
push edx
call ebp
jmp 0x100b905e
mov esi, dword [esp + 0xdc]
mov eax, dword [esi + 0x6c]
add esi, 0x68
push ebx
push eax
lea ecx, [esp + 0x68]
push ecx
mov ecx, esi
call fcn.10055450
mov ecx, dword [esi + 4]
cmp ecx, ebx
je 0x100b9059
mov dword [ecx], eax
jmp 0x100b905b
mov dword [esi], eax
mov dword [esi + 4], eax
mov byte [esp + 0xd4], 0x23
lea edx, [esp + 0x78]
mov dword [esp + 0x38], edx
mov byte [esp + 0xd4], 0x23
mov eax, dword [esp + 0x78]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x100b9096
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0xd4], 0x1a
lea ecx, [esp + 0x60]
push ecx
call ebp
mov byte [esp + 0xd4], 0x27
lea edx, [esp + 0x44]
push edx
call edi
mov byte [esp + 0xd4], 0x13
mov eax, dword [esp + 0x3c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x100b90dc
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0xd4], 0x10
mov eax, dword [esp + 0x18]
cmp eax, ebx
je 0x100b90f4
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
jmp 0x100b8e9f
mov byte [esp + 0xd4], 0xd
lea eax, [esp + 0x7c]
push eax
call fcn.10040980
mov byte [esp + 0xd4], 5
mov eax, dword [esp + 0x28]
cmp eax, ebx
je 0x100b9123
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0xd4], 2
mov eax, dword [esp + 0x14]
cmp eax, ebx
je 0x100b913b
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
jmp 0x100b8cfd
push ebx
push ebx
push 0x102b274a
push eax
call fcn.100048f0
push ebx
push 0xec
push 0x102c3e5c
push eax
call fcn.100048f0
push str.Unsupported_install_mode.
push 0xfd
push 0x102c3e5c
push 0x80004001
call fcn.100048f0
push ebx
push 0x101
push 0x102c3e5c
push eax
call fcn.100048f0
push ebx
push 0x111
push 0x102c3e5c
push eax
call fcn.100048f0
push ebx
push 0x11e
push 0x102c3e5c
push eax
call fcn.100048f0
push str.Install_location_cannot_be_empty
push 0x12b
push 0x102c3e5c
push 0xe0e00093
call fcn.100048f0
mov dword [esp + 0xd4], 0xffffffff
lea eax, [esp + 0x94]
push eax
call fcn.10085de0
mov ecx, dword [esp + 0xcc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc4
ret 0xc