Function at 0x4de860
Capabilities:
Check if file exists
Delete file
Get geographical location
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x178
mov eax, dword [0x542af0]
xor eax, ebp
mov dword [ebp - 4], eax
push str.http:__iplocation.geo.qiyi.com_cityjson
lea ecx, [ebp - 0x30]
call fcn.00403870
lea ecx, [ebp - 0x2c]
call fcn.00402e80
mov eax, dword [0x547dbc]
push eax
push str._scity.json
lea ecx, [ebp - 0x2c]
push ecx
call fcn.004061c0
add esp, 0xc
lea ecx, [ebp - 0x2c]
call sym.QiyiInstaller.exe_public:_enum_eScriptType___thiscall_CScriptModule::Type_void_
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x4de8c1
lea ecx, [ebp - 0x2c]
call sym.QiyiInstaller.exe_public:_enum_eScriptType___thiscall_CScriptModule::Type_void_
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
push 0xbb8
push ecx
mov ecx, esp
mov dword [ebp - 0x150], esp
lea edx, [ebp - 0x2c]
push edx
call fcn.004020d0
push ecx
mov ecx, esp
mov dword [ebp - 0x154], esp
lea eax, [ebp - 0x30]
push eax
call fcn.004020d0
call fcn.004de000
add esp, 0xc
test eax, eax
jne 0x4de913
lea ecx, [ebp - 0x2c]
call fcn.00402ea0
lea ecx, [ebp - 0x30]
call fcn.00402ea0
lea ecx, [ebp + 8]
call fcn.00402ea0
jmp 0x4dec0a
lea ecx, [ebp - 0x2c]
call sym.QiyiInstaller.exe_public:_enum_eScriptType___thiscall_CScriptModule::Type_void_
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x4de943
lea ecx, [ebp - 0x2c]
call fcn.00402ea0
lea ecx, [ebp - 0x30]
call fcn.00402ea0
lea ecx, [ebp + 8]
call fcn.00402ea0
jmp 0x4dec0a
lea ecx, [ebp - 0x28]
call fcn.00402e80
push 0x513178
lea ecx, [ebp - 0x2c]
call sym.QiyiInstaller.exe_public:_enum_eScriptType___thiscall_CScriptModule::Type_void_
push eax
call fcn.004b8740
add esp, 8
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
jne 0x4de98f
lea ecx, [ebp - 0x28]
call fcn.00402ea0
lea ecx, [ebp - 0x2c]
call fcn.00402ea0
lea ecx, [ebp - 0x30]
call fcn.00402ea0
lea ecx, [ebp + 8]
call fcn.00402ea0
jmp 0x4dec0a
push 2
push 0
mov ecx, dword [ebp - 0x24]
push ecx
call fcn.004b8f8c
add esp, 0xc
mov edx, dword [ebp - 0x24]
push edx
call fcn.004b91ae
add esp, 4
mov dword [ebp - 0xf4], eax
mov eax, dword [ebp - 0xf4]
push eax
call fcn.00496d02
add esp, 4
mov dword [ebp - 0x158], eax
mov ecx, dword [ebp - 0x158]
mov dword [ebp - 0xf8], ecx
push 0
push 0
mov edx, dword [ebp - 0x24]
push edx
call fcn.004b8f8c
add esp, 0xc
mov eax, dword [ebp - 0x24]
push eax
mov ecx, dword [ebp - 0xf4]
push ecx
push 1
mov edx, dword [ebp - 0xf8]
push edx
call fcn.004b94bc
add esp, 0x10
lea ecx, [ebp - 0x20]
call fcn.00407be0
mov eax, dword [ebp - 0xf4]
push eax
mov ecx, dword [ebp - 0xf8]
push ecx
lea ecx, [ebp - 0x20]
call fcn.004022d0
mov edx, dword [ebp - 0xf8]
mov dword [ebp - 0x15c], edx
mov eax, dword [ebp - 0x15c]
push eax
call fcn.00496cf7
add esp, 4
mov ecx, dword [ebp - 0x24]
push ecx
call fcn.004b8821
add esp, 4
lea ecx, [ebp - 0xf0]
call fcn.0041f230
push 0
lea ecx, [ebp - 0x60]
call fcn.00426110
lea ecx, [ebp - 0x4c]
call fcn.00407be0
lea edx, [ebp - 0x20]
push edx
lea eax, [ebp - 0x178]
push eax
call fcn.00416440
add esp, 8
push eax
lea ecx, [ebp - 0x4c]
call fcn.00408460
lea ecx, [ebp - 0x178]
call fcn.00402bb0
push 1
lea ecx, [ebp - 0x60]
push ecx
lea edx, [ebp - 0x4c]
push edx
lea ecx, [ebp - 0xf0]
call fcn.0041f350
movzx eax, al
test eax, eax
je 0x4deb9f
lea ecx, [ebp - 0x114]
push ecx
push str.code
lea ecx, [ebp - 0x60]
call fcn.00427e00
mov ecx, eax
call fcn.00426e30
push str.A00000
lea ecx, [ebp - 0x114]
call fcn.0040cbb0
test eax, eax
jne 0x4deb94
push str.data
lea ecx, [ebp - 0x60]
call fcn.00427e00
push eax
lea ecx, [ebp - 0x128]
call fcn.00426530
lea ecx, [ebp - 0x128]
call fcn.004279c0
movzx edx, al
test edx, edx
jne 0x4deb89
xor eax, eax
mov word [ebp - 0x14c], ax
xor ecx, ecx
mov dword [ebp - 0x14a], ecx
mov dword [ebp - 0x146], ecx
mov dword [ebp - 0x142], ecx
mov dword [ebp - 0x13e], ecx
mov dword [ebp - 0x13a], ecx
mov dword [ebp - 0x136], ecx
mov dword [ebp - 0x132], ecx
mov word [ebp - 0x12e], cx
push str.city_id
lea ecx, [ebp - 0x128]
call fcn.00427e00
mov ecx, eax
call fcn.00426f40
mov dword [ebp - 0x12c], eax
push 0xa
lea edx, [ebp - 0x14c]
push edx
mov eax, dword [ebp - 0x12c]
push eax
call fcn.004babad
add esp, 0xc
lea ecx, [ebp - 0x14c]
push ecx
lea ecx, [ebp - 0x28]
call fcn.00403850
lea ecx, [ebp - 0x128]
call fcn.00426740
lea ecx, [ebp - 0x114]
call fcn.00402bb0
mov ecx, 0x547da0
call sym.QiyiInstaller.exe_public:_enum_eScriptType___thiscall_CScriptModule::Type_void_
push eax
lea ecx, [ebp - 0x28]
call sym.QiyiInstaller.exe_public:_enum_eScriptType___thiscall_CScriptModule::Type_void_
push eax
lea ecx, [ebp + 8]
call sym.QiyiInstaller.exe_public:_enum_eScriptType___thiscall_CScriptModule::Type_void_
push eax
push 0x5131a0
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
lea ecx, [ebp - 0x4c]
call fcn.00402bb0
lea ecx, [ebp - 0x60]
call fcn.00426740
lea ecx, [ebp - 0xf0]
call fcn.00408130
lea ecx, [ebp - 0x20]
call fcn.00402bb0
lea ecx, [ebp - 0x28]
call fcn.00402ea0
lea ecx, [ebp - 0x2c]
call fcn.00402ea0
lea ecx, [ebp - 0x30]
call fcn.00402ea0
lea ecx, [ebp + 8]
call fcn.00402ea0
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004b5b83
mov esp, ebp
pop ebp
ret