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

Disassembly:
push 0x48
mov eax, 0x501831
call fcn.004d67b7
mov ebx, ecx
mov dword [ebp - 0x44], ebx
mov edi, dword [ebp + 8]
lea eax, [ebx - 0x88]
neg ecx
sbb ecx, ecx
mov esi, dword [edi + 4]
and ecx, eax
mov edi, dword [edi]
mov dword [ebp - 0x48], ecx
jmp 0x42ab5a
add esi, 0xfffffffc
mov ecx, dword [esi]
mov dword [ebp - 0x34], ecx
mov eax, dword [ecx]
call dword [eax + 0x34]
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 4]
cmp byte [ebx + 0xd], 0
mov dword [ebp - 0x30], eax
jne 0x42aa6d
push str.Next
mov ecx, eax
call fcn.00415bcf
test al, al
jne 0x42aa45
mov ecx, dword [ebp - 0x30]
push str.Back
call fcn.00415bcf
test al, al
jne 0x42aa45
mov ecx, dword [ebp - 0x30]
push str.Cancel
call fcn.00415bcf
test al, al
jne 0x42aa45
mov ecx, dword [ebp - 0x30]
push str.Install
call fcn.00415bcf
test al, al
jne 0x42aa45
mov ecx, dword [ebp - 0x30]
push str.Finish
call fcn.00415bcf
test al, al
je 0x42aa6d
mov ecx, dword [ebp - 0x34]
mov eax, dword [ecx]
call dword [eax + 0xc]
lea ecx, [ebx + 0x58]
mov dword [ebp - 0x38], eax
mov edx, dword [ecx + 4]
cmp dword [ecx + 8], edx
je 0x42aa63
mov dword [edx], eax
add dword [ecx + 4], 4
jmp 0x42aa6d
lea eax, [ebp - 0x38]
push eax
push edx
call fcn.00420110
mov ecx, dword [ebp - 0x34]
mov eax, dword [ecx]
call dword [eax + 0xd4]
test al, al
je 0x42ab5a
push 0x84
call fcn.004d5b94
mov dword [ebp - 0x4c], eax
and dword [ebp - 4], 0
sub esp, 0x10
mov ecx, eax
push ebx
call fcn.0040f3dc
mov ecx, eax
mov dword [ebp - 0x38], ecx
or dword [ebp - 4], 0xffffffff
xor eax, eax
mov byte [ecx + 0x70], al
xor ecx, ecx
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], 7
mov word [ebp - 0x2c], cx
mov dword [ebp - 4], 1
mov dword [ebp - 0x14], eax
mov dword [ebp - 4], 2
lea ecx, [ebp - 0x2c]
push dword [ebp - 0x30]
call fcn.00405726
mov eax, dword [ebp - 0x38]
lea edx, [ebp - 0x2c]
mov dword [ebp - 0x14], eax
mov eax, dword [ebx + 0x3c]
push edx
mov eax, dword [eax]
mov dword [ebp - 0x30], eax
mov ecx, dword [eax + 4]
push ecx
push eax
mov dword [ebp - 0x40], ecx
call fcn.0042dbbb
mov dword [ebp - 0x3c], eax
mov ecx, 0x71c71c6
mov eax, dword [ebx + 0x40]
sub ecx, eax
cmp ecx, 1
jb 0x42abf3
lea ecx, [eax + 1]
mov eax, dword [ebp - 0x30]
mov dword [ebx + 0x40], ecx
mov ecx, dword [ebp - 0x3c]
mov dword [eax + 4], ecx
mov eax, dword [ebp - 0x40]
mov dword [eax], ecx
lea ecx, [ebx + 0x38]
mov eax, dword [ebx + 0x3c]
mov eax, dword [eax]
push eax
add eax, 8
push eax
lea eax, [ebp - 0x54]
push eax
call fcn.0042d822
push ecx
push ecx
mov ecx, dword [ebp - 0x34]
mov eax, dword [ecx]
call dword [eax + 8]
mov ecx, dword [ebp - 0x38]
push eax
call fcn.0040f5b5
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2c]
call fcn.0040569b
cmp esi, edi
jne 0x42a9d4
mov edi, dword [ebx + 0x3c]
mov eax, dword [ebx + 0x40]
mov dword [ebx + 0x78], eax
mov esi, dword [edi]
cmp esi, edi
je 0x42abda
mov ebx, dword [esi + 0x20]
mov dword [ebp - 0x34], ebx
cmp byte [ebx + 0x2c], 0
jne 0x42ab8d
mov ecx, dword [ebx + 0x34]
test ecx, ecx
je 0x42ab8d
mov eax, dword [ecx]
call dword [eax + 0x1c]
test eax, eax
jle 0x42ab94
mov ecx, ebx
call fcn.0040ff3c
mov ecx, dword [ebx + 0x34]
test ecx, ecx
je 0x42abc4
cmp byte [ebx + 0x2c], 0
je 0x42abc4
xor eax, eax
cmp dword [ebx + 0x44], eax
jle 0x42abc4
mov ebx, dword [ecx]
mov ecx, dword [ebp - 0x34]
push eax
add ecx, 0x40
call fcn.004104a1
push dword [eax]
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax + 0x34]
call dword [ebx + 0x24]
mov ebx, dword [ebp - 0x34]
mov ecx, dword [ebx + 0x30]
mov eax, dword [ecx]
call dword [eax + 0x14]
and al, 1
mov byte [ebx + 0x71], al
mov esi, dword [esi]
cmp esi, edi
jne 0x42ab71
mov ebx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
test eax, eax
je 0x42abe6
add eax, 0x28
jmp 0x42abe8
xor eax, eax
mov dword [ebx + 0x18], eax
call fcn.004d6761
ret 4
push str.list_T__too_long
call fcn.004d3a57
int3