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

Disassembly:
push 0xffffffffffffffff
push 0x4492d4
mov eax, dword fs:[0]
push eax
mov eax, 0x50a0
call fcn.00434bf0
mov eax, dword [0x460cd0]
xor eax, esp
mov dword [esp + 0x5098], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x460cd0]
xor eax, esp
push eax
lea eax, [esp + 0x50b4]
mov dword fs:[0], eax
mov eax, dword [esp + 0x50c4]
mov esi, ecx
mov edi, edx
push str.__searchLiteSub___is_started
mov ecx, 0x466338
mov dword [esp + 0x68], esi
mov dword [esp + 0x64], eax
mov dword [esp + 0x20], edi
call fcn.0041a690
add esp, 4
lea ecx, [esp + 0x8c]
push ecx
xor ebp, ebp
mov byte [esp + 0x1b], 0
call fcn.00416720
mov dword [esp + 0x50bc], ebp
mov dword [esp + 0x48], ebp
mov dword [esp + 0x28], ebp
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x30], ebp
mov byte [esp + 0x50bc], 1
cmp esi, ebp
je 0x413185
mov esi, dword [edi + 4]
cmp esi, dword [edi + 8]
jbe 0x412930
call fcn.0042f9ef
mov ebx, esi
mov esi, dword [edi + 8]
cmp dword [edi + 4], esi
mov dword [esp + 0x5c], ebx
jbe 0x412943
call fcn.0042f9ef
cmp ebx, esi
je 0x413185
push 0x381c
lea edx, [esp + 0x90]
push 0
push edx
call fcn.00430500
mov edi, dword [esp + 0x38]
mov esi, dword [esp + 0x34]
add esp, 0xc
cmp esi, edi
mov dword [esp + 0x18], 0
mov ebp, edi
jbe 0x412992
call fcn.0042f9ef
mov edi, dword [esp + 0x2c]
mov esi, dword [esp + 0x28]
cmp esi, edi
jbe 0x412992
call fcn.0042f9ef
mov edi, dword [esp + 0x2c]
cmp esi, ebp
je 0x4129cf
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x34]
mov byte [esp + 0x6c], 0
mov eax, dword [esp + 0x6c]
push eax
push ecx
push edx
mov eax, esi
mov ecx, ebp
call fcn.0040a2d0
mov edi, dword [esp + 0x38]
mov esi, eax
mov eax, dword [esp + 0x40]
add esp, 0xc
push eax
mov eax, esi
call fcn.00409db0
add esp, 4
mov dword [esp + 0x2c], esi
mov ecx, dword [esp + 0x1c]
cmp ebx, dword [ecx + 8]
jb 0x4129dd
call fcn.0042f9ef
cmp dword [ebx + 0x18], 8
jb 0x4129ef
mov eax, dword [ebx + 4]
lea ebp, [ebx + 4]
mov dword [esp + 0x20], ebp
jmp 0x4129f8
lea eax, [ebx + 4]
mov dword [esp + 0x20], eax
mov ebp, eax
lea edx, [esp + 0x18]
push edx
push eax
mov eax, dword [esp + 0x6c]
push eax
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyW]
test eax, eax
je 0x412a24
push str.__s__dont_have_registry_file...
mov ecx, 0x466338
call fcn.0041a690
add esp, 4
jmp 0x413165
lea ecx, [esp + 0x24]
push ecx
mov ecx, dword [esp + 0x1c]
mov edx, str.SEINst_InstallComponents
call fcn.00416500
add esp, 4
test eax, eax
jne 0x412a57
mov ecx, dword [esp + 0x18]
mov edx, str.SEINst_InstallComponentsInstallOrder
call fcn.0041b370
test al, al
je 0x412a57
mov byte [esp + 0x17], 1
jmp 0x412a5e
cmp byte [esp + 0x17], 0
je 0x412a8b
mov eax, dword [esp + 0x28]
test eax, eax
jne 0x412a6d
mov eax, 0xffffffff
jmp 0x412aac
mov ecx, dword [esp + 0x2c]
sub ecx, eax
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
add eax, 0xffffffff
jmp 0x412aac
mov eax, dword [esp + 0x28]
test eax, eax
je 0x412ab4
mov ecx, dword [esp + 0x2c]
sub ecx, eax
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
test eax, eax
jle 0x412ab4
mov bl, 1
jmp 0x412ab6
xor bl, bl
mov eax, dword [esp + 0x18]
push 1
push 0x800
lea edx, [esp + 0x1094]
push edx
push str.Dest_Dir
push eax
mov edx, str.SEINst_InstallSetup
call fcn.0041ad70
add esp, 0x14
test eax, eax
je 0x412b57
mov edx, dword [esp + 0x18]
push 1
push 0x800
lea ecx, [esp + 0x1094]
push ecx
push str.Dest_Dir
push edx
mov edx, str.SEINst_InstallSetupProgram
call fcn.0041ad70
add esp, 0x14
test eax, eax
je 0x412b3e
mov esi, dword [esp + 0x5c]
mov eax, dword [esp + 0x1c]
cmp esi, dword [eax + 8]
jb 0x412b1c
call fcn.0042f9ef
cmp dword [esi + 0x18], 8
jb 0x412b27
mov eax, dword [ebp]
jmp 0x412b29
mov eax, ebp
push eax
push str._LiteUninstaller___s__dont_have_Dest_Dir
mov ecx, 0x466338
call fcn.0041a690
add esp, 8
jmp 0x412b76
push 0x3ff
push str.SEInstallSetup.exe__s_D
push 0x400
lea ecx, [esp + 0x1098]
push ecx
jmp 0x412b6e
push 0x3ff
push str.SEInstallSetup.exe__s_D
push 0x400
lea edx, [esp + 0x1098]
push edx
call fcn.0042f0da
add esp, 0x10
mov eax, dword [esp + 0x18]
test eax, eax
je 0x412b85
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
test bl, bl
mov dword [esp + 0x18], 0
je 0x413165
lea eax, [esp + 0x108c]
call fcn.00405910
test al, al
je 0x413165
mov ecx, dword [esp + 0x18]
push 1
push 0x800
lea eax, [esp + 0x1894]
push eax
push str.Dest_Dir
push ecx
mov edx, str.SEINst_InstallSetupProgram
call fcn.0041ad70
add esp, 0x14
test eax, eax
je 0x412bea
push 0x800
lea edx, [esp + 0x1890]
push 0
push edx
call fcn.00430500
add esp, 0xc
mov ebx, dword [esp + 0x5c]
mov esi, dword [esp + 0x1c]
cmp ebx, dword [esi + 8]
jb 0x412bfc
call fcn.0042f9ef
mov edi, 8
cmp dword [ebx + 0x18], edi
jb 0x412c0b
mov eax, dword [ebp]
jmp 0x412c0d
mov eax, ebp
push 0x3ff
push eax
lea eax, [esp + 0x94]
push 0x400
push eax
call fcn.0042f011
add esp, 0x10
cmp ebx, dword [esi + 8]
jb 0x412c32
call fcn.0042f9ef
cmp dword [ebx + 0x18], edi
jb 0x412c3c
mov edx, dword [ebp]
jmp 0x412c3e
mov edx, ebp
mov ebp, dword [esp + 0x60]
push 1
push 0x800
lea ecx, [esp + 0x2094]
push ecx
push str.DisplayIcon
push ebp
call fcn.0041ad70
add esp, 0x14
test eax, eax
je 0x412c7a
push 0x800
lea edx, [esp + 0x2090]
push 0
push edx
call fcn.00430500
add esp, 0xc
lea edi, [esp + 0x208c]
lea esi, [esp + 0x3894]
call fcn.00414560
mov eax, dword [esp + 0x1c]
cmp ebx, dword [eax + 8]
jb 0x412c9b
call fcn.0042f9ef
mov esi, dword [esp + 0x20]
mov edi, 8
cmp dword [ebx + 0x18], edi
jb 0x412cad
mov edx, dword [esi]
jmp 0x412caf
mov edx, esi
push 1
push 0x800
lea ecx, [esp + 0x894]
push ecx
push str.DisplayName
push ebp
call fcn.0041ad70
add esp, 0x14
test eax, eax
je 0x412d04
mov edx, dword [esp + 0x1c]
cmp ebx, dword [edx + 8]
jb 0x412cde
call fcn.0042f9ef
cmp dword [ebx + 0x18], edi
jb 0x412ce7
mov eax, dword [esi]
jmp 0x412ce9
mov eax, esi
push 0x3ff
push eax
lea eax, [esp + 0x894]
push 0x400
push eax
call fcn.0042f011
add esp, 0x10
mov ecx, dword [esp + 0x1c]
xor edi, edi
cmp ebx, dword [ecx + 8]
mov dword [esp + 0x50], edi
jb 0x412d18
call fcn.0042f9ef
cmp dword [ebx + 0x18], 8
jb 0x412d22
mov edx, dword [esi]
jmp 0x412d24
mov edx, esi
push 4
push 4
lea eax, [esp + 0x58]
push eax
push str.Description_ID
push ebp
call fcn.0041ad70
add esp, 0x14
test eax, eax
jne 0x412d8c
mov edx, dword [esp + 0x50]
lea ecx, [esp + 0x88c]
push ecx
push edx
lea eax, [esp + 0x70]
push eax
call fcn.00418df0
add esp, 0xc
mov byte [esp + 0x50bc], 2
mov eax, dword [eax]
push 0x3ff
push eax
lea ecx, [esp + 0x2894]
push 0x400
push ecx
call fcn.0042f011
add esp, 0x10
mov byte [esp + 0x50bc], 1
lea ecx, [esp + 0x68]
jmp 0x412dd7
lea edx, [esp + 0x88c]
push edx
lea eax, [esp + 0x38]
push 0xc7
push eax
call fcn.00418df0
add esp, 0xc
mov byte [esp + 0x50bc], 3
mov eax, dword [eax]
push 0x3ff
push eax
lea ecx, [esp + 0x2894]
push 0x400
push ecx
call fcn.0042f011
add esp, 0x10
mov byte [esp + 0x50bc], 1
lea ecx, [esp + 0x34]
call fcn.004036b0
mov edx, dword [esp + 0x1c]
cmp ebx, dword [edx + 8]
jb 0x412dea
call fcn.0042f9ef
cmp dword [ebx + 0x18], 8
jb 0x412df4
mov edx, dword [esi]
jmp 0x412df6
mov edx, esi
push 1
push 0x800
lea eax, [esp + 0x3094]
push eax
push str.DisplayVersion
push ebp
call fcn.0041ad70
add esp, 0x14
test eax, eax
je 0x412e2d
push 0x800
lea ecx, [esp + 0x3090]
push edi
push ecx
call fcn.00430500
add esp, 0xc
mov eax, dword [esp + 0x18]
lea edx, [esp + 0x48]
push edx
push str.SEINst_InstallComponents
push eax
mov byte [esp + 0x3898], 0
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyW]
test eax, eax
jne 0x413122
mov esi, dword [esp + 0x48]
mov dword [esp + 0x20], esi
mov dword [esp + 0x3c], edi
mov dword [esp + 0x40], edi
mov dword [esp + 0x44], edi
mov byte [esp + 0x50bc], 4
push 0x3ff
push str.Driver
lea ecx, [esp + 0x48b4]
push 0x400
push ecx
mov dword [esp + 0x64], 0xd
mov byte [esp + 0x26], al
call fcn.0042f011
lea edx, [esp + 0x48]
push edx
xor edx, edx
mov ecx, esi
call fcn.00416500
add esp, 0x14
test eax, eax
jne 0x4130d7
mov edi, dword [esp + 0x3c]
mov esi, dword [esp + 0x40]
cmp edi, esi
jbe 0x412ec4
call fcn.0042f9ef
mov esi, dword [esp + 0x40]
mov ebp, edi
cmp dword [esp + 0x3c], esi
mov edi, esi
jbe 0x412ed7
call fcn.0042f9ef
mov esi, dword [esp + 0x40]
cmp ebp, edi
je 0x4130d7
push 0x800
xor edi, edi
lea eax, [esp + 0x40b0]
push edi
push eax
call fcn.00430500
add esp, 0xc
push 0x800
lea ecx, [esp + 0x38b0]
push edi
push ecx
call fcn.00430500
add esp, 0xc
cmp ebp, esi
jb 0x412f16
call fcn.0042f9ef
mov ebx, 8
cmp dword [ebp + 0x18], ebx
lea esi, [ebp + 4]
jb 0x412f27
mov eax, dword [esi]
jmp 0x412f29
mov eax, esi
push 0x3ff
push eax
lea edx, [esp + 0x40b4]
push 0x400
push edx
call fcn.0042f011
mov edx, dword [esp + 0x30]
push 1
push 0x800
lea eax, [esp + 0x38c4]
push eax
lea ecx, [esp + 0x48c8]
push ecx
push edx
lea edx, [esp + 0x40d0]
call fcn.0041ad70
add esp, 0x24
test eax, eax
jne 0x413095
lea eax, [esp + 0x38ac]
lea edx, [eax + 2]
mov edi, edi
mov cx, word [eax]
add eax, 2
cmp cx, di
jne 0x412f80
sub eax, edx
sar eax, 1
je 0x4130be
mov ecx, dword [esp + 0x20]
push 4
push 4
lea eax, [esp + 0x5c]
push eax
push str.InstallStatus
push ecx
lea edx, [esp + 0x40c0]
call fcn.0041ad70
add esp, 0x14
test eax, eax
jne 0x412fc9
cmp dword [esp + 0x54], 1
jne 0x412fc9
mov byte [esp + 0x16], 1
jmp 0x412fd4
cmp byte [esp + 0x16], 0
je 0x4130be
cmp ebp, dword [esp + 0x40]
jb 0x412fdf
call fcn.0042f9ef
cmp dword [ebp + 0x18], ebx
jb 0x412fe8
mov eax, dword [esi]
jmp 0x412fea
mov eax, esi
lea edx, [esp + 0x38ac]
push edx
push eax
push str.__s___have___s_driver
mov ecx, 0x466338
call fcn.0041a690
lea eax, [esp + 0x38b8]
add esp, 0xc
mov dword [esp + 0x88], 7
mov dword [esp + 0x84], edi
mov word [esp + 0x74], di
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, di
jne 0x413026
sub eax, edx
sar eax, 1
push eax
lea eax, [esp + 0x38b0]
push eax
lea esi, [esp + 0x78]
call fcn.0040b1d0
mov byte [esp + 0x50bc], 5
mov ecx, esi
push ecx
lea esi, [esp + 0x389c]
call fcn.00415fb0
mov byte [esp + 0x50bc], 4
cmp dword [esp + 0x88], ebx
jb 0x41307c
mov edx, dword [esp + 0x74]
push edx
call fcn.0041e7a3
add esp, 4
mov dword [esp + 0x88], 7
mov dword [esp + 0x84], edi
mov word [esp + 0x74], di
jmp 0x4130be
cmp ebp, dword [esp + 0x40]
jb 0x4130a0
call fcn.0042f9ef
cmp dword [ebp + 0x18], ebx
jb 0x4130a9
mov eax, dword [esi]
jmp 0x4130ab
mov eax, esi
push eax
push str.__s___dont_have_Driver_Name..
mov ecx, 0x466338
call fcn.0041a690
add esp, 8
mov esi, dword [esp + 0x40]
cmp ebp, esi
jb 0x4130cf
call fcn.0042f9ef
mov esi, dword [esp + 0x40]
add ebp, 0x1c
jmp 0x412ec6
mov byte [esp + 0x50bc], 1
mov eax, dword [esp + 0x3c]
xor esi, esi
cmp eax, esi
je 0x413107
mov ecx, dword [esp + 0x4c]
mov edi, dword [esp + 0x40]
push ecx
call fcn.00409db0
mov edx, dword [esp + 0x40]
add esp, 4
push edx
call fcn.0041e7a3
add esp, 4
mov eax, dword [esp + 0x18]
push eax
mov dword [esp + 0x40], esi
mov dword [esp + 0x44], esi
mov dword [esp + 0x48], esi
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [esp + 0x18], esi
lea eax, [esp + 0x108c]
mov dword [esp + 0x3890], 3
call fcn.00405910
test al, al
je 0x41314b
lea eax, [esp + 0x8c]
call fcn.0040f770
jmp 0x413165
lea ecx, [esp + 0x108c]
push ecx
push str.__s__is_invalid_command...
mov ecx, 0x466338
call fcn.0041a690
add esp, 8
mov ebx, dword [esp + 0x5c]
mov edx, dword [esp + 0x1c]
cmp ebx, dword [edx + 8]
jb 0x413177
call fcn.0042f9ef
mov edi, dword [esp + 0x1c]
add ebx, 0x1c
xor ebp, ebp
jmp 0x412932
mov byte [esp + 0x50bc], 0
mov eax, dword [esp + 0x28]
cmp eax, ebp
je 0x4131b3
mov ecx, dword [esp + 0x4c]
mov edi, dword [esp + 0x2c]
push ecx
call fcn.00409db0
mov edx, dword [esp + 0x2c]
add esp, 4
push edx
call fcn.0041e7a3
add esp, 4
mov dword [esp + 0x28], ebp
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x30], ebp
mov dword [esp + 0x50bc], 0xffffffff
lea eax, [esp + 0x8c]
push eax
call fcn.004099e0
mov ecx, dword [esp + 0x50b4]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x5098]
xor ecx, esp
call fcn.0042f002
add esp, 0x50ac
ret 4