Function at 0x4023bd
Capabilities:
Get common file path
Parse url

Disassembly:
mov eax, 0x40e9b7
call sub.MSVCRT.dll__EH_prolog
mov eax, 0x1190
call fcn.0040e730
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
lea edi, [esi + 8]
mov ecx, edi
call fcn.0040860d
push eax
mov ecx, edi
call fcn.004085f8
push eax
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
call fcn.0040a9c3
push 1
lea eax, [ebp + 8]
pop edi
xor ebx, ebx
push eax
push 0x412300
mov dword [ebp + 8], edi
mov dword [ebp - 0x14], ebx
call fcn.004094b8
lea eax, [ebp - 0x14]
push eax
push 0x412310
call fcn.004094b8
add esp, 0x28
cmp dword [ebp + 8], ebx
je 0x40243c
cmp dword [ebp - 0x14], ebx
je 0x40243c
push ebx
push 0x412320
call fcn.004095a5
pop ecx
pop ecx
cmp dword [ebp + 8], edi
jne 0x402580
mov dword [ebp + 0x10], edi
call fcn.0040a079
mov dword [esi + 0x50], edi
cmp dword [esi + 0x264], ebx
mov dword [ebp - 0x10], eax
jne 0x402468
call fcn.0040cb99
test eax, eax
je 0x402468
mov eax, edi
jmp 0x40246a
xor eax, eax
mov dword [esi + 0x58], eax
mov ecx, dword [esi + 8]
lea eax, [esi + 8]
push eax
call dword [ecx + 0x28]
test eax, eax
je 0x402579
push ebx
push dword [ebp - 0x10]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x402579
cmp dword [ebp + 0x10], ebx
je 0x4024b8
push 0x412330
call fcn.0040d032
lea eax, [esi + 8]
pop ecx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x30]
mov ecx, 0x80070204
cmp eax, ecx
je 0x40252d
mov dword [ebp + 0x10], ebx
jmp 0x40246d
lea ecx, [ebp - 0x119c]
mov dword [esi + 0x4c], ebx
call fcn.0040df43
push dword [ebp + 0x18]
lea ecx, [ebp - 0x119c]
mov dword [ebp - 4], ebx
push dword [ebp + 0x14]
call fcn.00404a68
lea eax, [ebp - 0x119c]
push eax
lea eax, [ebp - 0x1194]
push eax
push 0x4149a0
call fcn.0040441a
mov eax, dword [0x4149a8]
push ebx
push 0x407747
push ebx
push 0x96
push eax
call fcn.00404454
cmp eax, edi
mov dword [esi + 0x4c], edi
je 0x402544
mov ecx, dword [esi + 8]
lea eax, [esi + 8]
push eax
call dword [ecx + 0x34]
cmp eax, 0x80070204
je 0x402561
or dword [ebp - 4], 0xffffffff
mov dword [ebp + 0x10], ebx
jmp 0x40246d
mov esi, ecx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
call fcn.0040a9c3
add esp, 0x18
mov eax, esi
jmp 0x402726
push dword [ebp - 0x10]
or dword [ebp - 4], 0xffffffff
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0x412334
mov dword [esi + 0x50], ebx
call fcn.0040d3b1
pop ecx
jmp 0x402580
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
call fcn.0040a9c3
add esp, 0x18
mov eax, 0x80070204
jmp 0x402726
mov esi, 0x80004005
jmp 0x40252f
push ebx
push 0x412338
call fcn.004090e6
mov edi, dword [sym.imp.KERNEL32.dll_lstrlenA]
pop ecx
pop ecx
push dword [ebp + 0xc]
call edi
cmp eax, 4
jle 0x4025c2
push 0x412348
push dword [ebp + 0xc]
call edi
mov edi, dword [ebp + 0xc]
lea eax, [eax + edi - 4]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x4025c2
mov eax, dword [esi]
push ebx
push edi
jmp 0x40271b
push 0xf
xor eax, eax
pop ecx
lea edi, [ebp - 0x50]
rep stosd dword es:[edi], eax
lea eax, [ebp - 0xc50]
mov dword [ebp - 0x50], 0x3c
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x50]
push eax
push ebx
push dword [ebp + 0xc]
mov dword [ebp - 0x20], 0x400
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
push dword [ebp + 0xc]
call dword [sym.imp.WININET.dll_InternetCrackUrlA]
mov edi, dword [sym.imp.USER32.dll_wsprintfA]
cmp eax, ebx
je 0x402659
lea eax, [ebp - 0x450]
push ebx
push eax
push ebx
lea eax, [ebp - 0xc50]
push ebx
push eax
call dword [sym.imp.MSVCRT.dll__splitpath]
lea eax, [ebp - 0xc50]
push 1
push eax
call fcn.00402386
push eax
lea eax, [ebp - 0x450]
push eax
lea eax, [ebp - 0x850]
push str._s__x
push eax
call edi
lea eax, [ebp - 0x850]
push 0x412358
push eax
call dword [sym.imp.MSVCRT.dll_strstr]
add esp, 0x34
test eax, eax
je 0x402675
push 1
push dword [ebp + 0xc]
call fcn.00402386
push eax
lea eax, [ebp - 0x850]
push str.jupdate__x
push eax
call edi
add esp, 0x14
lea eax, [ebp - 0x450]
push eax
push 0x400
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
mov edi, dword [sym.imp.KERNEL32.dll_lstrcatA]
lea eax, [ebp - 0x850]
push eax
lea eax, [ebp - 0x450]
push eax
call edi
lea eax, [ebp - 0x450]
push str..exe
push eax
call edi
call fcn.00409805
cmp eax, ebx
je 0x4026da
push str.Using_Async_download
call fcn.0040bf74
pop ecx
mov eax, dword [esi]
lea ecx, [ebp - 0x450]
push ecx
push dword [ebp + 0xc]
push esi
call dword [eax + 0x18]
cmp eax, ebx
jge 0x402726
cmp eax, 0x80070200
jne 0x402726
push str.Using_Sync_download
call fcn.0040bf74
pop ecx
mov eax, dword [esi]
push 1
lea ecx, [ebp - 0x450]
push 1
push ecx
push dword [ebp + 0xc]
push esi
call dword [eax + 0x20]
test eax, eax
jl 0x402721
lea eax, [ebp - 0x450]
push eax
push 0x41239c
call fcn.004090e6
mov eax, dword [esi]
pop ecx
pop ecx
lea ecx, [ebp - 0x450]
push 1
push ecx
push esi
call dword [eax + 0x28]
jmp 0x402726
mov eax, 0x80004005
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret 0x14