Function at 0x6d7b015b
Capabilities:
Get common file path

Disassembly:
push ebp
lea ebp, [esp - 0xa104]
mov eax, 0xa104
call fcn.6d7b89f0
push 0xffffffffffffffff
push 0x6d7e0efb
mov eax, dword fs:[0]
push eax
sub esp, 0x3c
mov eax, dword [0x6d7f05c8]
xor eax, ebp
mov dword [ebp + 0xa100], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 0xa10c]
mov edi, dword [ebp + 0xa110]
mov dword [ebp - 0x20], eax
mov eax, dword [0x6d7f7214]
xor ebx, ebx
mov esi, 0x7ff
push esi
mov dword [ebp - 0x14], eax
lea eax, [ebp + 0x7101]
push ebx
push eax
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x24], ebx
mov byte [ebp + 0x7100], bl
call fcn.6d7b8a20
add esp, 0xc
cmp edi, ebx
je 0x6d7b01e9
push edi
call dword [sym.imp.kernel32.dll_lstrlenA]
lea edi, [eax + 1]
cmp edi, 0x3fffffff
jle 0x6d7b01ed
xor eax, eax
jmp 0x6d7b0203
lea eax, [edi + edi]
call fcn.6d7b99c0
mov eax, esp
push 3
push edi
push dword [ebp - 0x1c]
push eax
call fcn.6d7c9aaf
push ebx
push eax
push ebx
call sub.urlmon.dll_IsValidURL
neg eax
sbb eax, eax
inc eax
je 0x6d7b0831
call fcn.6d7b6182
test eax, eax
jne 0x6d7b022b
call fcn.6d7c9aaf
mov byte [ebp - 0xd], bl
test eax, eax
je 0x6d7b022f
mov byte [ebp - 0xd], 1
call fcn.6d7b61f6
mov byte [ebp - 0x15], al
cmp byte [ebp - 0xd], bl
je 0x6d7b0755
cmp al, bl
je 0x6d7b0755
push esi
lea eax, [ebp + 0x5901]
push ebx
push eax
mov byte [ebp + 0x5900], bl
call fcn.6d7b8a20
add esp, 0xc
call fcn.6d7c9aaf
mov edi, 0x800
cmp al, bl
jne 0x6d7b02d0
push edi
lea eax, [ebp + 0x7900]
push eax
push 0x7e1
push dword [ebp - 0x14]
call dword [sym.imp.USER32.dll_LoadStringA]
lea eax, [ebp + 0x7900]
push eax
lea eax, [ebp + 0x5900]
push eax
call dword [sym.imp.kernel32.dll_lstrcatA]
push edi
lea eax, [ebp + 0x9900]
push eax
push 0x7d6
push dword [ebp - 0x14]
call dword [sym.imp.USER32.dll_LoadStringA]
push 0x130
lea eax, [ebp + 0x9900]
push eax
lea eax, [ebp + 0x5900]
push eax
push ebx
call dword [sym.imp.USER32.dll_MessageBoxA]
cmp eax, 7
je 0x6d7b0831
lea eax, [ebp + 0x7100]
push eax
call fcn.6d7aef1a
pop ecx
test eax, eax
js 0x6d7b0831
lea ecx, [ebp + 0x1060]
call fcn.6d7b2f57
push esi
lea eax, [ebp + 0x4101]
push ebx
push eax
mov dword [ebp - 4], ebx
mov byte [ebp + 0x4100], bl
call fcn.6d7b8a20
push esi
lea eax, [ebp + 0x6901]
push ebx
push eax
mov byte [ebp + 0x6900], bl
call fcn.6d7b8a20
add esp, 0x18
lea eax, [ebp + 0x4100]
push eax
push edi
call dword [sym.imp.kernel32.dll_GetTempPathA]
lea eax, [ebp + 0x6900]
push eax
push ebx
push 0x6d7e3d68
lea eax, [ebp + 0x4100]
push eax
call dword [sym.imp.kernel32.dll_GetTempFileNameA]
lea eax, [ebp + 0x6900]
push eax
push dword [ebp - 0x1c]
lea ecx, [ebp + 0x1060]
call fcn.6d7c9aaf
cmp eax, ebx
jge 0x6d7b0373
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0x1060]
call fcn.6d7b2c17
jmp 0x6d7b0831
push 0x4000
push ebx
push 0x6d7f2360
call fcn.6d7b8a20
push esi
lea eax, [ebp + 0x8901]
push ebx
push eax
mov byte [ebp + 0x8900], bl
call fcn.6d7b8a20
push esi
lea eax, [ebp + 0x8101]
push ebx
push eax
mov byte [ebp + 0x8100], bl
call fcn.6d7b8a20
push esi
lea eax, [ebp + 0x4901]
push ebx
push eax
mov byte [ebp + 0x4900], bl
call fcn.6d7b8a20
lea eax, [ebp + 0x4900]
push eax
lea eax, [ebp + 0x8100]
push eax
lea eax, [ebp + 0x8900]
push eax
push dword [ebp - 0x20]
lea eax, [ebp + 0x6900]
push eax
call fcn.6d7a8253
add esp, 0x44
cmp dword [ebp + 0xa114], ebx
jne 0x6d7b0433
cmp eax, ebx
je 0x6d7b0433
cmp eax, 1
jne 0x6d7b035f
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x44], vtable.ATL::CSimpleDialog_107__1_.0
call dword [sym.imp.USER32.dll_GetActiveWindow]
push eax
lea ecx, [ebp - 0x44]
call fcn.6d7a9bfc
cmp dword [ebp - 0x30], ebx
je 0x6d7b035f
push dword [ebp - 0x30]
call fcn.6d7c9aaf
jmp 0x6d7b035f
mov cl, byte [ebp + 0x8900]
lea eax, [ebp + 0x8900]
cmp cl, bl
je 0x6d7b044b
inc eax
mov cl, byte [eax]
cmp cl, 0x2d
jne 0x6d7b043f
push esi
mov byte [eax], bl
lea eax, [ebp + 0x9101]
push ebx
push eax
mov dword [ebp - 0x14], ebx
mov byte [ebp + 0x9100], bl
call fcn.6d7b8a20
push esi
lea eax, [ebp + 0x6101]
push ebx
push eax
mov byte [ebp + 0x6100], bl
call fcn.6d7b8a20
push esi
lea eax, [ebp + 0x5101]
push ebx
push eax
mov byte [ebp + 0x5100], bl
call fcn.6d7b8a20
push 0x6d7e3d6c
lea eax, [ebp + 0x5100]
push str._s.0
push eax
call fcn.6d7a8e6c
add esp, 0x30
call fcn.6d7c9aaf
test eax, eax
jne 0x6d7b0563
push esi
lea eax, [ebp + 0x9901]
push ebx
push eax
mov byte [ebp + 0x9900], bl
call fcn.6d7b8a20
lea eax, [ebp + 0x9900]
push edi
push eax
call fcn.6d7a76ae
lea eax, [ebp + 0x6100]
push eax
lea eax, [ebp + 0x9100]
push eax
lea eax, [ebp + 0x5100]
push eax
call fcn.6d7a8080
add esp, 0x20
cmp byte [ebp + 0x9900], bl
je 0x6d7b0535
cmp byte [ebp + 0x9100], bl
je 0x6d7b0563
lea esi, [ebp + 0x9100]
lea eax, [ebp + 0x9900]
mov cl, byte [eax]
cmp cl, byte [esi]
jne 0x6d7b052c
cmp cl, bl
je 0x6d7b0528
mov cl, byte [eax + 1]
cmp cl, byte [esi + 1]
jne 0x6d7b052c
add eax, 2
add esi, 2
cmp cl, bl
jne 0x6d7b050c
xor eax, eax
jmp 0x6d7b0531
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jge 0x6d7b0563
lea eax, [ebp + 0x6100]
push eax
push str.http:__java.sun.com_webapps_download_AutoDL
lea eax, [ebp + 0x8100]
push str._s_BundleId_s
push eax
mov byte [ebp + 0x8100], bl
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
mov dword [ebp - 0x14], 1
mov dword [ebp - 0x1c], ebx
cmp dword [ebp - 0x14], ebx
jne 0x6d7b05e1
lea eax, [ebp + 0x6100]
push eax
lea eax, [ebp + 0x9100]
push eax
lea eax, [ebp + 0x8900]
push eax
mov byte [ebp + 0x9100], bl
mov byte [ebp + 0x6100], bl
call fcn.6d7a8080
add esp, 0xc
cmp byte [ebp + 0x9100], bl
je 0x6d7b05e1
lea esi, [ebp + 0x9100]
lea eax, [ebp + 0x8900]
mov cl, byte [eax]
cmp cl, byte [esi]
jne 0x6d7b05c8
cmp cl, bl
je 0x6d7b05c4
mov cl, byte [eax + 1]
cmp cl, byte [esi + 1]
jne 0x6d7b05c8
add eax, 2
add esi, 2
cmp cl, bl
jne 0x6d7b05a8
xor eax, eax
jmp 0x6d7b05cd
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jge 0x6d7b05e1
call fcn.6d7c9aaf
test eax, eax
jne 0x6d7b05e1
mov dword [ebp - 0x1c], 1
mov esi, dword [sym.imp.USER32.dll_GetActiveWindow]
mov dword [ebp - 0x20], 1
cmp dword [ebp - 0x1c], ebx
je 0x6d7b0667
lea ecx, [ebp]
call fcn.6d7b5576
lea eax, [ebp + 0x8900]
push eax
lea eax, [ebp + 0x28]
push edi
push eax
mov byte [ebp - 4], 1
mov dword [ebp + 0x1028], 0x1388
mov dword [ebp + 0x102c], 0x1389
call fcn.6d7c9aaf
lea eax, [ebp + 0x9100]
push eax
lea eax, [ebp + 0x828]
push edi
push eax
call fcn.6d7c9aaf
add esp, 0x18
push ebx
call esi
push eax
lea ecx, [ebp]
call fcn.6d7b0104
cmp eax, 1
je 0x6d7b064f
mov dword [ebp - 0x20], ebx
lea ecx, [ebp]
mov byte [ebp - 4], bl
call fcn.6d7b543e
cmp dword [ebp - 0x20], ebx
jne 0x6d7b0667
mov dword [ebp - 0x24], ebx
jmp 0x6d7b035f
cmp dword [ebp + 0xa114], ebx
je 0x6d7b0695
lea eax, [ebp + 0x7100]
push eax
lea eax, [ebp + 0x8100]
push eax
lea ecx, [ebp + 0x1060]
call fcn.6d7c9aaf
cmp eax, ebx
jge 0x6d7b0727
jmp 0x6d7b035f
lea eax, [ebp + 0x8100]
mov dword [ebp + 0x108c], eax
lea eax, [ebp + 0x7100]
push edi
mov dword [ebp + 0x1088], eax
lea eax, [ebp + 0x9900]
push eax
push 0xfac
push dword [0x6d7f7214]
call dword [sym.imp.USER32.dll_LoadStringA]
cmp dword [ebp - 0x14], ebx
jne 0x6d7b06e0
lea eax, [ebp + 0x8900]
push eax
lea eax, [ebp + 0x9900]
push eax
push 0x6d7e3db4
jmp 0x6d7b06f3
lea eax, [ebp + 0x9100]
push eax
lea eax, [ebp + 0x9900]
push eax
push 0x6d7e3dbc
lea eax, [ebp + 0x7900]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
lea eax, [ebp + 0x7900]
push ebx
mov dword [ebp + 0x10d4], eax
call esi
push eax
lea ecx, [ebp + 0x1060]
call fcn.6d7b0059
cmp eax, 1
jne 0x6d7b035f
lea eax, [ebp + 0x4900]
push eax
lea eax, [ebp + 0x7100]
push eax
call fcn.6d7af430
pop ecx
pop ecx
test eax, eax
je 0x6d7b035f
mov dword [ebp - 0x24], 1
call fcn.6d7a7d86
jmp 0x6d7b035f
mov esi, dword [sym.imp.USER32.dll_LoadStringA]
mov edi, 0x800
push edi
lea eax, [ebp + 0x7900]
push eax
push 0x7e5
push dword [ebp - 0x14]
call esi
lea eax, [ebp + 0x7900]
push eax
lea eax, [ebp + 0x9900]
push eax
mov byte [ebp + 0x9900], bl
call dword [sym.imp.kernel32.dll_lstrcatA]
cmp byte [ebp - 0xd], bl
jne 0x6d7b07b7
push edi
lea eax, [ebp + 0x3900]
push eax
push 0x7df
push dword [ebp - 0x14]
call esi
lea eax, [ebp + 0x3900]
push eax
lea eax, [ebp + 0x9900]
push eax
call dword [sym.imp.kernel32.dll_lstrcatA]
cmp byte [ebp - 0x15], bl
jne 0x6d7b07e2
push edi
lea eax, [ebp + 0x3100]
push eax
push 0x7e0
push dword [ebp - 0x14]
call esi
lea eax, [ebp + 0x3100]
push eax
lea eax, [ebp + 0x9900]
push eax
call dword [sym.imp.kernel32.dll_lstrcatA]
push edi
lea eax, [ebp + 0x2900]
push eax
push 0x7e7
push dword [ebp - 0x14]
call esi
lea eax, [ebp + 0x2900]
push eax
lea eax, [ebp + 0x9900]
push eax
call dword [sym.imp.kernel32.dll_lstrcatA]
push edi
lea eax, [ebp + 0x2100]
push eax
push 0x7d4
push dword [ebp - 0x14]
call esi
push 0x10
lea eax, [ebp + 0x2100]
push eax
lea eax, [ebp + 0x9900]
push eax
push ebx
call dword [sym.imp.USER32.dll_MessageBoxA]
mov eax, dword [ebp - 0x24]
lea esp, [ebp - 0x58]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0xa100]
xor ecx, ebp
call fcn.6d7b886c
add ebp, 0xa104
leave
ret