Function at 0x508c20
Capabilities:
Get geographical location
Get process heap flags
Get process heap force flags

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x5a6893
mov eax, dword fs:[0]
push eax
sub esp, 0x1c
push esi
push edi
mov eax, dword [0x60f520]
xor eax, esp
push eax
lea eax, [esp + 0x28]
mov dword fs:[0], eax
mov edi, ecx
mov eax, dword [esp + 0x1c]
and eax, 0xfffffe07
mov dword [esp + 0x20], 0
or eax, 7
push 8
mov dword [esp + 0x20], eax
call fcn.00551c81
mov esi, eax
add esp, 4
mov dword [esp + 0x10], esi
mov dword [esp + 0x30], 0
test esi, esi
je 0x508c97
mov dword [esi], 0
mov dword [esi + 4], 0
call fcn.004e7880
mov dword [esi], eax
jmp 0x508c99
xor esi, esi
mov dword [esp + 0x14], esi
mov esi, dword [ebp + 8]
lea eax, [esp + 0x14]
push eax
mov ecx, esi
mov dword [esp + 0x34], 1
call fcn.004e64d0
lea ecx, [esp + 0x14]
mov dword [esp + 0x30], 0xffffffff
call fcn.004e6420
push ecx
push str.update_ratio
mov ecx, esi
call fcn.004e6b80
mov ecx, dword [esp + 0x1c]
mov edx, dword [edi + 0x20]
and ecx, 0xffffff02
or ecx, 2
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x14], edx
lea ecx, [esp + 0x14]
mov dword [esp + 0x30], 2
push ecx
mov ecx, eax
call fcn.004e64d0
lea ecx, [esp + 0x14]
mov dword [esp + 0x30], 0xffffffff
call fcn.004e6420
push ecx
push str.update_type
mov ecx, esi
call fcn.004e6b80
mov ecx, dword [esp + 0x1c]
mov edx, dword [edi + 0x24]
and ecx, 0xffffff01
or ecx, 1
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x14], edx
lea ecx, [esp + 0x14]
mov dword [esp + 0x30], 3
push ecx
mov ecx, eax
call fcn.004e64d0
lea ecx, [esp + 0x14]
mov dword [esp + 0x30], 0xffffffff
call fcn.004e6420
push ecx
push str.update_brief
mov ecx, esi
call fcn.004e6b80
lea ecx, [edi + 0x1c]
mov edx, eax
call fcn.0050c4f0
push ecx
push str.new_version
mov ecx, esi
call fcn.004e6b80
lea ecx, [edi + 0x10]
mov edx, eax
call fcn.0050c4f0
push ecx
push str.package_url
mov ecx, esi
call fcn.004e6b80
lea ecx, [edi + 0x14]
mov edx, eax
call fcn.0050c4f0
push ecx
push str.package_md5
mov ecx, esi
call fcn.004e6b80
lea ecx, [edi + 0x18]
mov edx, eax
call fcn.0050c4f0
push ecx
push str.file_list
mov ecx, esi
call fcn.004e6b80
lea ecx, [edi + 4]
mov edx, eax
call fcn.005091a0
push ecx
push str.qd_include
mov ecx, esi
call fcn.004e6b80
lea ecx, [edi + 0x30]
mov edx, eax
call fcn.00509410
push ecx
push str.qd_exclude
mov ecx, esi
call fcn.004e6b80
lea ecx, [edi + 0x38]
mov edx, eax
call fcn.00509410
push ecx
push str.city_include
mov ecx, esi
call fcn.004e6b80
lea ecx, [edi + 0x40]
mov edx, eax
call fcn.00509700
push ecx
push str.city_exclude
mov ecx, esi
call fcn.004e6b80
lea ecx, [edi + 0x48]
mov edx, eax
call fcn.00509700
push ecx
push str.inst_days_range
mov ecx, esi
call fcn.004e6b80
lea ecx, [edi + 0x50]
mov edx, eax
call fcn.005099a0
push ecx
push str.version_range
mov ecx, esi
call fcn.004e6b80
lea ecx, [edi + 0x28]
mov edx, eax
call fcn.00509b60
push ecx
push 0x5cdaf0
mov ecx, esi
call fcn.004e6b80
mov ecx, dword [esp + 0x1c]
mov edx, dword [edi + 0x58]
and ecx, 0xffffff02
or ecx, 2
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x14], edx
lea ecx, [esp + 0x14]
mov dword [esp + 0x30], 4
push ecx
mov ecx, eax
call fcn.004e64d0
lea ecx, [esp + 0x14]
mov dword [esp + 0x30], 0xffffffff
call fcn.004e6420
push ecx
push str.avoid_ss
mov ecx, esi
call fcn.004e6b80
mov ecx, dword [esp + 0x1c]
mov edx, dword [edi + 0x5c]
and ecx, 0xffffff02
or ecx, 2
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x14], edx
mov dword [esp + 0x30], 5
lea ecx, [esp + 0x14]
push ecx
mov ecx, eax
call fcn.004e64d0
lea ecx, [esp + 0x14]
mov dword [esp + 0x30], 0xffffffff
call fcn.004e6420
mov eax, 1
mov ecx, dword [esp + 0x28]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret 8