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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x48dc0b
mov eax, dword fs:[0]
push eax
sub esp, 0xa8
mov eax, dword [0x4acab8]
xor eax, esp
mov dword [esp + 0xa0], eax
push ebx
push esi
push edi
mov eax, dword [0x4acab8]
xor eax, esp
push eax
lea eax, [esp + 0xb8]
mov dword fs:[0], eax
xor esi, esi
test byte [0x4ae42c], 1
mov edi, 0xf
jne 0x457fe7
or dword [0x4ae42c], 1
push 0x48f100
mov dword [0x4ae428], edi
mov dword [0x4ae424], esi
mov byte [0x4ae414], 0
call fcn.0047115f
add esp, 4
cmp dword [0x4ae424], esi
jne 0x458695
push 0x22
push str.SOFTWAREClientsStartMenuInternet
lea ecx, [esp + 0x78]
mov dword [esp + 0x90], edi
mov dword [esp + 0x8c], esi
mov byte [esp + 0x7c], 0
call fcn.0040b580
lea eax, [esp + 0x70]
push eax
lea ecx, [esp + 0x5c]
push reloc.OLEAUT32.dll_SysReAllocString
push ecx
mov dword [esp + 0xcc], esi
call fcn.0042cba0
add esp, 0xc
cmp dword [esp + 0x88], 0x10
mov byte [esp + 0xc0], 2
jb 0x458053
mov edx, dword [esp + 0x74]
push edx
call fcn.0046fa18
add esp, 4
mov edi, dword [esp + 0x68]
mov esi, dword [esp + 0x64]
mov ecx, edi
sub ecx, esi
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
xor ebx, ebx
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x88], 0xf
mov dword [esp + 0x84], ebx
mov byte [esp + 0x74], bl
mov dword [esp + 0x14], ebx
je 0x458342
push ebx
lea ecx, [esp + 0x5c]
mov edi, 0xf
call fcn.0045d130
mov ecx, dword [eax + 0x14]
push 0xb
push str.OperaStable
push ecx
xor esi, esi
push esi
mov ecx, eax
call fcn.0040a1a0
test eax, eax
jne 0x458312
push esi
push 0x490721
lea ecx, [esp + 0x28]
mov dword [esp + 0x40], edi
mov dword [esp + 0x3c], esi
mov byte [esp + 0x2c], al
call fcn.0040b580
push 0x41
push str.SOFTWAREClientsStartMenuInternetOperaStable_shellopencommand
lea ecx, [esp + 0x44]
mov byte [esp + 0xc8], 3
mov dword [esp + 0x5c], edi
mov dword [esp + 0x58], esi
mov byte [esp + 0x48], 0
call fcn.0040b580
lea edx, [esp + 0x20]
push edx
lea eax, [esp + 0x40]
push eax
lea ecx, [esp + 0x9c]
push reloc.OLEAUT32.dll_SysReAllocString
push ecx
mov byte [esp + 0xd0], 4
call fcn.004296f0
add esp, 0x10
mov ebx, 0x10
cmp dword [esp + 0x54], ebx
jb 0x45813f
mov edx, dword [esp + 0x40]
push edx
call fcn.0046fa18
add esp, 4
mov dword [esp + 0x54], edi
mov dword [esp + 0x50], esi
mov byte [esp + 0x40], 0
mov byte [esp + 0xc0], 7
cmp dword [esp + 0x38], ebx
jb 0x458167
mov eax, dword [esp + 0x24]
push eax
call fcn.0046fa18
add esp, 4
mov edx, dword [esp + 0xac]
mov dword [esp + 0x34], esi
mov esi, dword [esp + 0x98]
mov dword [esp + 0x38], edi
mov byte [esp + 0x24], 0
mov eax, esi
cmp edx, ebx
jae 0x45818f
lea eax, [esp + 0x98]
mov ebx, dword [esp + 0xa8]
lea ecx, [ebx + eax]
mov dword [esp + 0x18], ecx
test ecx, ecx
je 0x4581c7
mov eax, esi
cmp edx, 0x10
jae 0x4581af
lea eax, [esp + 0x98]
cmp eax, ecx
ja 0x4581c7
mov eax, esi
cmp edx, 0x10
jae 0x4581c1
lea eax, [esp + 0x98]
add eax, ebx
cmp ecx, eax
jbe 0x4581e1
call fcn.004707a2
mov edx, dword [esp + 0xac]
mov ebx, dword [esp + 0xa8]
mov esi, dword [esp + 0x98]
mov eax, esi
cmp edx, 0x10
jae 0x4581ef
lea eax, [esp + 0x98]
lea edi, [ebx + eax]
test edi, edi
je 0x45821c
mov eax, esi
cmp edx, 0x10
jae 0x458204
lea eax, [esp + 0x98]
cmp eax, edi
ja 0x45821c
mov eax, esi
cmp edx, 0x10
jae 0x458216
lea eax, [esp + 0x98]
add eax, ebx
cmp edi, eax
jbe 0x45822f
call fcn.004707a2
mov edx, dword [esp + 0xac]
mov esi, dword [esp + 0x98]
mov ecx, dword [esp + 0x98]
lea ebx, [esp + 0x94]
cmp edx, 0x10
jae 0x45824b
lea esi, [esp + 0x98]
jmp 0x45824f
test ecx, ecx
je 0x45827c
mov eax, ecx
cmp edx, 0x10
jae 0x45825d
lea eax, [esp + 0x98]
cmp eax, esi
ja 0x45827c
mov eax, ecx
cmp edx, 0x10
jae 0x45826f
lea eax, [esp + 0x98]
mov ecx, dword [esp + 0xa8]
add eax, ecx
cmp esi, eax
jbe 0x458281
call fcn.004707a2
push 0x455500
push edi
push ebx
lea eax, [esp + 0xa0]
push esi
push eax
lea edx, [esp + 0xa0]
push edx
call fcn.0045c8b0
mov ecx, dword [esp + 0x30]
mov edx, dword [eax + 4]
mov eax, dword [eax]
add esp, 0x18
push ecx
lea ecx, [esp + 0x98]
push ecx
push edx
push eax
lea ecx, [esp + 0x28]
push ecx
lea ecx, [esp + 0xa8]
call fcn.004328d0
lea edx, [esp + 0x94]
push edx
call fcn.004286a0
add esp, 4
test al, al
je 0x4582f0
push 0xffffffffffffffff
push 0
lea eax, [esp + 0x9c]
push eax
mov ecx, 0x4ae410
call fcn.0040b360
cmp dword [esp + 0xac], 0x10
mov byte [esp + 0xc0], 2
jb 0x458312
mov ecx, dword [esp + 0x98]
push ecx
call fcn.0046fa18
add esp, 4
mov edi, dword [esp + 0x68]
mov esi, dword [esp + 0x64]
mov ebx, dword [esp + 0x14]
mov ecx, edi
sub ecx, esi
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
inc ebx
add eax, edx
mov dword [esp + 0x14], ebx
cmp ebx, eax
jb 0x458094
cmp dword [0x4ae424], 0
jne 0x458658
mov ecx, edi
sub ecx, esi
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov ecx, edx
xor ebx, ebx
shr ecx, 0x1f
add ecx, edx
mov dword [esp + 0x14], ebx
je 0x458658
push ebx
lea ecx, [esp + 0x5c]
xor edi, edi
call fcn.0045d130
mov esi, dword [eax + 0x14]
mov ecx, esi
cmp ecx, esi
jae 0x458387
mov ecx, esi
cmp esi, 5
jb 0x458393
mov ecx, 5
mov ebx, 0x10
cmp dword [eax + 0x18], ebx
jb 0x4583a2
mov eax, dword [eax + 4]
jmp 0x4583a5
add eax, 4
push ecx
push str.Opera
push eax
call fcn.00406c90
add esp, 0xc
cmp eax, edi
jne 0x458628
cmp esi, 5
jb 0x458628
xor eax, eax
cmp esi, 5
setne al
cmp eax, edi
jne 0x458628
push edi
mov esi, 0xf
push 0x490721
lea ecx, [esp + 0x44]
mov dword [esp + 0x5c], esi
mov dword [esp + 0x58], edi
mov byte [esp + 0x48], 0
call fcn.0040b580
push 0x3b
push str.SOFTWAREClientsStartMenuInternetOpera_shellopencommand
lea ecx, [esp + 0x28]
mov byte [esp + 0xc8], 8
mov dword [esp + 0x40], esi
mov dword [esp + 0x3c], edi
mov byte [esp + 0x2c], 0
call fcn.0040b580
lea edx, [esp + 0x3c]
push edx
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x9c]
push reloc.OLEAUT32.dll_SysReAllocString
push ecx
mov byte [esp + 0xd0], 9
call fcn.004296f0
add esp, 0x10
cmp dword [esp + 0x38], ebx
jb 0x458455
mov edx, dword [esp + 0x24]
push edx
call fcn.0046fa18
add esp, 4
mov dword [esp + 0x38], esi
mov dword [esp + 0x34], edi
mov byte [esp + 0x24], 0
mov byte [esp + 0xc0], 0xc
cmp dword [esp + 0x54], ebx
jb 0x45847d
mov eax, dword [esp + 0x40]
push eax
call fcn.0046fa18
add esp, 4
mov edx, dword [esp + 0xac]
mov dword [esp + 0x54], esi
mov esi, dword [esp + 0x98]
mov dword [esp + 0x50], edi
mov byte [esp + 0x40], 0
mov eax, esi
cmp edx, ebx
jae 0x4584a5
lea eax, [esp + 0x98]
mov ebx, dword [esp + 0xa8]
lea ecx, [ebx + eax]
mov dword [esp + 0x18], ecx
cmp ecx, edi
je 0x4584dd
mov eax, esi
cmp edx, 0x10
jae 0x4584c5
lea eax, [esp + 0x98]
cmp eax, ecx
ja 0x4584dd
mov eax, esi
cmp edx, 0x10
jae 0x4584d7
lea eax, [esp + 0x98]
add eax, ebx
cmp ecx, eax
jbe 0x4584f7
call fcn.004707a2
mov edx, dword [esp + 0xac]
mov ebx, dword [esp + 0xa8]
mov esi, dword [esp + 0x98]
mov eax, esi
cmp edx, 0x10
jae 0x458505
lea eax, [esp + 0x98]
lea edi, [ebx + eax]
test edi, edi
je 0x458532
mov eax, esi
cmp edx, 0x10
jae 0x45851a
lea eax, [esp + 0x98]
cmp eax, edi
ja 0x458532
mov eax, esi
cmp edx, 0x10
jae 0x45852c
lea eax, [esp + 0x98]
add ebx, eax
cmp edi, ebx
jbe 0x458545
call fcn.004707a2
mov edx, dword [esp + 0xac]
mov esi, dword [esp + 0x98]
mov ecx, dword [esp + 0x98]
lea ebx, [esp + 0x94]
cmp edx, 0x10
jae 0x458561
lea esi, [esp + 0x98]
jmp 0x458565
test ecx, ecx
je 0x458592
mov eax, ecx
cmp edx, 0x10
jae 0x458573
lea eax, [esp + 0x98]
cmp eax, esi
ja 0x458592
mov eax, ecx
cmp edx, 0x10
jae 0x458585
lea eax, [esp + 0x98]
mov ecx, dword [esp + 0xa8]
add ecx, eax
cmp esi, ecx
jbe 0x458597
call fcn.004707a2
push 0x455500
push edi
push ebx
lea eax, [esp + 0xa0]
push esi
push eax
lea edx, [esp + 0xa0]
push edx
call fcn.0045c8b0
mov ecx, dword [esp + 0x30]
mov edx, dword [eax + 4]
mov eax, dword [eax]
add esp, 0x18
push ecx
lea ecx, [esp + 0x98]
push ecx
push edx
push eax
lea ecx, [esp + 0x28]
push ecx
lea ecx, [esp + 0xa8]
call fcn.004328d0
lea edx, [esp + 0x94]
push edx
call fcn.004286a0
add esp, 4
test al, al
je 0x458606
push 0xffffffffffffffff
push 0
lea eax, [esp + 0x9c]
push eax
mov ecx, 0x4ae410
call fcn.0040b360
cmp dword [esp + 0xac], 0x10
mov byte [esp + 0xc0], 2
jb 0x458628
mov ecx, dword [esp + 0x98]
push ecx
call fcn.0046fa18
add esp, 4
mov edi, dword [esp + 0x68]
mov esi, dword [esp + 0x64]
mov ebx, dword [esp + 0x14]
mov ecx, edi
sub ecx, esi
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
inc ebx
add eax, edx
mov dword [esp + 0x14], ebx
cmp ebx, eax
jb 0x458372
xor ebx, ebx
cmp esi, ebx
je 0x45867c
mov ecx, dword [esp + 0x18]
push ecx
lea edx, [esp + 0x64]
push edx
push edi
push esi
call fcn.0042eae0
mov eax, dword [esp + 0x74]
push eax
call fcn.0046fa18
add esp, 0x14
mov ecx, dword [esp + 0x58]
push ecx
mov dword [esp + 0x68], ebx
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x70], ebx
call fcn.0046fa18
add esp, 4
mov eax, 0x4ae410
mov ecx, dword [esp + 0xb8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xa0]
xor ecx, esp
call fcn.00470538
mov esp, ebp
pop ebp
ret