Function at 0x4277f8
Capabilities:
Check if file exists

Disassembly:
push 0x548
mov eax, 0x509835
call fcn.0044e637
mov ebx, ecx
mov eax, dword [ebp + 0x20]
mov dword [ebp - 0x550], eax
and dword [ebp - 4], 0
lea eax, [ebp + 8]
push eax
lea eax, [ebp - 0x340]
push eax
call fcn.0042339b
xor eax, eax
inc eax
cmp dword [ebp - 0x32c], 8
mov byte [ebp - 4], al
lea eax, [ebp - 0x340]
cmovae eax, dword [ebp - 0x340]
push eax
push str._____LoadMemDll_RunDll______url_:__s
call fcn.00426886
mov esi, dword [ebx + 0x4c]
add esp, 0x10
xor edi, edi
cmp esi, dword [ebx + 0x50]
je 0x427eb7
cmp dword [esi + 0x14], 0x10
jb 0x427866
mov eax, dword [esi]
jmp 0x427868
mov eax, esi
push eax
lea ecx, [ebp - 0x370]
call fcn.00417060
push dword [ebp - 0x360]
cmp dword [ebp - 0x35c], 0x10
lea eax, [ebp - 0x370]
push 0
cmovae eax, dword [ebp - 0x370]
lea ecx, [ebp + 8]
push eax
call fcn.00424079
push 1
cmp eax, 0xffffffff
lea ecx, [ebp - 0x370]
pop eax
push 0
push eax
cmovne edi, eax
call fcn.00417280
add esi, 0x18
cmp esi, dword [ebx + 0x50]
jne 0x42785c
test edi, edi
je 0x427eb7
push 0x208
lea eax, [ebp - 0x328]
push 0
push eax
call fcn.0042ce60
push 8
pop esi
cmp dword [ebp - 0x32c], esi
lea ecx, [ebp - 0x328]
lea eax, [ebp - 0x340]
cmovae eax, dword [ebp - 0x340]
push ecx
push eax
call fcn.00422683
add esp, 0x14
lea eax, [ebp + 8]
lea ecx, [ebp - 0x43c]
push eax
call fcn.00425b5e
lea eax, [ebp - 0x3d0]
push eax
lea ecx, [ebp - 0x43c]
call fcn.004260cb
lea eax, [ebp - 0x3d0]
mov byte [ebp - 4], 2
push eax
lea eax, [ebp - 0x388]
push eax
call fcn.0042339b
pop ecx
pop ecx
cmp dword [ebp - 0x374], esi
lea eax, [ebp - 0x388]
push 0x5561a8
cmovae eax, dword [ebp - 0x388]
mov ecx, ebx
push eax
push str.DownLoadFile
lea eax, [ebp - 0x358]
mov byte [ebp - 4], 3
push eax
call fcn.004276d0
cmp dword [ebp - 0x344], esi
lea eax, [ebp - 0x358]
mov edi, dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
cmovae eax, dword [ebp - 0x358]
push eax
mov byte [ebp - 4], 4
call edi
test eax, eax
jne 0x4279e8
lea eax, [ebx + 0x1c]
lea ecx, [ebp - 0x358]
cmp ecx, eax
je 0x42799e
push 0xffffffffffffffff
push 0
push eax
call fcn.004189e0
mov esi, str.Config_
push esi
call fcn.00432c45
pop ecx
push eax
push esi
lea ecx, [ebp - 0x358]
call fcn.00418d20
cmp word [ebp - 0x328], 0
jne 0x4279c5
xor eax, eax
jmp 0x4279d2
lea eax, [ebp - 0x328]
push eax
call fcn.00432c45
pop ecx
push eax
lea eax, [ebp - 0x328]
push eax
lea ecx, [ebp - 0x358]
call fcn.00418d20
push 8
pop esi
sub esp, 0x18
lea eax, [ebp - 0x358]
mov ecx, esp
push eax
call fcn.004187e0
lea eax, [ebp - 0x3a0]
mov ecx, ebx
push eax
call fcn.00427465
cmp dword [ebp - 0x374], esi
lea eax, [ebp - 0x388]
push 0x5561a8
cmovae eax, dword [ebp - 0x388]
mov ecx, ebx
push eax
push str.FileMD5
lea eax, [ebp - 0x3b8]
mov byte [ebp - 4], 5
push eax
call fcn.004276d0
cmp dword [ebp - 0x3a4], esi
lea ecx, [ebp - 0x3b8]
lea eax, [ebp - 0x3a0]
mov byte [ebp - 4], 6
cmovae ecx, dword [ebp - 0x3b8]
cmp dword [ebp - 0x38c], esi
push ecx
cmovae eax, dword [ebp - 0x3a0]
push eax
call fcn.0043686c
pop ecx
pop ecx
test eax, eax
jne 0x427a86
push 0x5561a8
lea ecx, [ebp - 0x3a0]
call fcn.004212d0
test eax, eax
jne 0x427bd4
push 0x98967f
push 0xf4240
call fcn.004228dd
push 0x104
mov esi, eax
lea eax, [ebp - 0x120]
push 0
push eax
call fcn.0042ce60
push esi
lea eax, [ebp - 0x120]
push 0x50b118
push eax
call fcn.00424fca
mov esi, 0x50b11c
push esi
call fcn.0042f6a0
add esp, 0x24
lea ecx, [ebp + 8]
push eax
push esi
call fcn.00417490
cmp byte [ebp - 0x120], 0
jne 0x427ae1
xor eax, eax
jmp 0x427aee
lea eax, [ebp - 0x120]
push eax
call fcn.0042f6a0
pop ecx
push eax
lea eax, [ebp - 0x120]
push eax
lea ecx, [ebp + 8]
call fcn.00417490
sub esp, 0x18
lea eax, [ebp - 0x328]
mov ecx, esp
mov dword [ebp - 0x548], esp
push eax
call fcn.00418720
sub esp, 0x18
mov byte [ebp - 4], 7
mov eax, esp
lea ecx, [ebp + 8]
push ecx
push eax
call fcn.0042339b
pop ecx
pop ecx
lea eax, [ebp - 0x370]
mov byte [ebp - 4], 6
push eax
mov ecx, ebx
call fcn.00427011
cmp dword [ebp - 0x344], 8
lea eax, [ebp - 0x358]
mov byte [ebp - 4], 8
cmovae eax, dword [ebp - 0x358]
push eax
call fcn.0042222e
push 8
pop esi
cmp dword [ebp - 0x344], esi
lea ecx, [ebp - 0x358]
lea eax, [ebp - 0x370]
cmovae ecx, dword [ebp - 0x358]
cmp dword [ebp - 0x35c], esi
push ecx
cmovae eax, dword [ebp - 0x370]
push eax
call fcn.00423094
add esp, 0xc
lea ecx, [ebp - 0x358]
cmp dword [ebp - 0x344], esi
lea eax, [ebp - 0x388]
cmovae ecx, dword [ebp - 0x358]
cmp dword [ebp - 0x374], esi
push ecx
cmovae eax, dword [ebp - 0x388]
mov ecx, ebx
push eax
push str.DownLoadFile
call fcn.00427f00
push 0
push 1
lea ecx, [ebp - 0x370]
mov byte [ebp - 4], 6
call fcn.00418870
cmp dword [ebp - 0x344], esi
lea eax, [ebp - 0x358]
cmovae eax, dword [ebp - 0x358]
push eax
call edi
test eax, eax
jne 0x427c12
sub esp, 0x18
lea eax, [ebp + 8]
mov ecx, esp
push eax
call fcn.004170d0
mov ecx, ebx
call fcn.00426eab
mov esi, eax
xor edi, edi
mov dword [ebp - 0x548], esi
jmp 0x427cac
cmp dword [ebp - 0x344], esi
lea eax, [ebp - 0x358]
push 1
cmovae eax, dword [ebp - 0x358]
lea ecx, [ebp - 0xd4]
push 0x40
push 0x25
push eax
call fcn.00426a9f
lea eax, [ebp - 0x370]
mov byte [ebp - 4], 9
push eax
lea ecx, [ebp - 0xd4]
call fcn.0042810b
mov esi, dword [eax + 8]
add esi, dword [eax]
mov dword [ebp - 0x548], esi
lea eax, [esi + 0xa]
push eax
call fcn.0044e7c4
lea ecx, [esi + 1]
mov dword [ebx + 0x58], eax
push ecx
xor edi, edi
push edi
push eax
call fcn.0042ce60
add esp, 0x10
lea ecx, [ebp - 0xd4]
push edi
push edi
push edi
call fcn.00428032
push edi
push esi
push dword [ebx + 0x58]
lea ecx, [ebp - 0xd4]
call fcn.00425ec8
lea ecx, [ebp - 0xd4]
call fcn.00425d49
lea ecx, [ebp - 0xd4]
mov byte [ebp - 4], 6
call fcn.00426d70
test esi, esi
jne 0x427ccf
cmp dword [ebp - 0x32c], 8
lea eax, [ebp - 0x340]
cmovae eax, dword [ebp - 0x340]
push eax
push 0x50b120
jmp 0x427e68
mov esi, 0x50b18c
lea edi, [ebp - 0x1c]
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x544]
movsd dword es:[edi], dword [esi]
push eax
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
call fcn.0042a7de
push 8
xor edi, edi
lea eax, [ebp - 0x444]
push edi
push eax
call fcn.0042ce60
mov esi, dword [ebp - 0x548]
lea eax, [ebp - 0x544]
push esi
push dword [ebx + 0x58]
push dword [ebx + 0x58]
push eax
call fcn.0042a738
add esp, 0x24
lea eax, [ebp - 0x54c]
push eax
lea eax, [esi - 0xc]
push eax
mov eax, dword [ebx + 0x58]
add eax, 0xc
push eax
call fcn.0047ba90
test eax, eax
je 0x427e4e
cmp byte [eax], 0x4d
je 0x427d45
cmp byte [eax + 1], 0x5a
jne 0x427e4e
push dword [ebp - 0x54c]
push eax
call fcn.004296f1
mov edi, eax
pop ecx
pop ecx
test edi, edi
je 0x427e23
push str.run_lib
push edi
call fcn.0042964d
mov esi, eax
pop ecx
pop ecx
test esi, esi
jne 0x427dbf
push 0x50ac2c
push edi
call fcn.0042964d
cmp dword [ebp - 0x32c], 8
mov esi, eax
lea eax, [ebp - 0x340]
cmovae eax, dword [ebp - 0x340]
push eax
push str._____LoadMemDll_RunDll______memory__run_lib__is_NULL_:__s
call fcn.00426886
add esp, 0x10
test esi, esi
jne 0x427dbf
cmp dword [ebp - 0x32c], 8
lea eax, [ebp - 0x340]
cmovae eax, dword [ebp - 0x340]
push eax
push str._____LoadMemDll_RunDll______memory__Run__is_NULL_:__s
jmp 0x427e3d
push 0x104
lea eax, [ebp - 0x120]
push 0
push eax
call fcn.0042ce60
lea eax, [ebp - 0x120]
push eax
push dword [ebp - 0x550]
call fcn.004234bf
lea eax, [ebp - 0x120]
push eax
call esi
cmp dword [ebp - 0x32c], 8
lea ecx, [ebp - 0x340]
mov esi, eax
cmovae ecx, dword [ebp - 0x340]
push ecx
push esi
push str._____LoadMemDll_RunDll______memory_run_code_:__d_url_:__s
call fcn.00426886
add esp, 0x24
test esi, esi
je 0x427e44
push edi
call fcn.004295d1
xor esi, esi
inc esi
xor edi, edi
jmp 0x427e70
cmp dword [ebp - 0x32c], 8
lea eax, [ebp - 0x340]
cmovae eax, dword [ebp - 0x340]
push eax
push str._____LoadMemDll_RunDll______memory_load_library_is_NULL_:__s
call fcn.00426886
pop ecx
pop ecx
push edi
call fcn.004295d1
xor edi, edi
jmp 0x427e6e
cmp dword [ebp - 0x32c], 8
lea eax, [ebp - 0x340]
cmovae eax, dword [ebp - 0x340]
push eax
push str._____LoadMemDll_RunDll______dcrypt_error._url_:__s
call fcn.00426886
pop ecx
mov esi, edi
pop ecx
xor ebx, ebx
lea ecx, [ebp - 0x3b8]
push edi
inc ebx
push ebx
call fcn.00418870
push edi
push ebx
lea ecx, [ebp - 0x3a0]
call fcn.00418870
push edi
push ebx
lea ecx, [ebp - 0x358]
call fcn.00418870
push edi
push ebx
lea ecx, [ebp - 0x388]
call fcn.00418870
push edi
push ebx
lea ecx, [ebp - 0x3d0]
call fcn.00417280
jmp 0x427edf
cmp dword [ebp - 0x32c], 8
lea eax, [ebp - 0x340]
cmovae eax, dword [ebp - 0x340]
push eax
push str._____LoadMemDll_RunDll______not_base_web_url_:__s
call fcn.00426886
xor edi, edi
xor ebx, ebx
pop ecx
pop ecx
mov esi, edi
inc ebx
push edi
push ebx
lea ecx, [ebp - 0x340]
call fcn.00418870
push edi
push ebx
lea ecx, [ebp + 8]
call fcn.00417280
mov eax, esi
call fcn.0044e5f2
ret 0x1c