Function at 0x44539a
Capabilities:
Get geographical location

Disassembly:
push 0x14c
mov eax, 0x5745ac
call fcn.00523ccd
mov edi, ecx
lea ebx, [edi + 8]
push 0
mov eax, ebx
mov dword [ebp - 0x120], edi
mov esi, edx
mov dword [ebp - 0x130], ebx
call fcn.00491c88
test al, al
jne 0x44542d
push str.ParseSugar:_parsing_XML
push 3
pop ecx
call fcn.00492b4d
and dword [ebp - 0x128], 0
pop ecx
and dword [ebp - 4], 0
mov byte [ebp - 4], 1
cmp dword [esi + 0x14], 8
mov eax, dword [esi + 0x10]
jb 0x4453f3
mov ecx, dword [esi]
jmp 0x4453f5
mov ecx, esi
add eax, eax
push eax
call fcn.00494825
xor esi, esi
pop ecx
cmp eax, esi
je 0x44540a
mov dword [ebp - 0x128], eax
push esi
mov eax, ebx
mov dword [ebp - 4], esi
call fcn.00491c88
test al, al
je 0x445435
or dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x128]
cmp ecx, esi
je 0x44542d
mov eax, dword [ecx]
push 1
call dword [eax]
xor al, al
call fcn.00523d29
ret
push esi
mov eax, edi
mov byte [ebp - 0x122], 1
call fcn.0044423b
test al, al
je 0x4454d6
push str.ParseSugar:_parsing_software_updates
push 3
pop ecx
call fcn.00492b4d
lea esi, [ebp - 0x30]
mov dword [esp], str.software_updates_list
call fcn.0040338f
mov eax, esi
mov byte [ebp - 4], 5
mov ebx, dword [ebp - 0x128]
push eax
call fcn.00493a73
push 1
xor edi, edi
mov ebx, eax
mov byte [ebp - 4], 0
call fcn.00404145
test ebx, ebx
je 0x4454d0
mov ecx, dword [ebp - 0x120]
push ebx
call fcn.00445cf4
test al, al
je 0x4454b3
push str.ParseSugar:_software_updates_parsed
push 3
pop ecx
call fcn.00492b4d
mov byte [ebp - 0x122], 1
jmp 0x4454c7
xor ecx, ecx
push str.ParseSugar:_error_parsing_software_updates
inc ecx
call fcn.00492b4d
mov byte [ebp - 0x122], 0
mov edi, dword [ebp - 0x120]
pop ecx
jmp 0x4454db
mov edi, dword [ebp - 0x120]
call fcn.00444618
mov eax, dword [ebp - 0x130]
push 0
call fcn.00491c88
test al, al
je 0x4454fd
or dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x128]
test ecx, ecx
jmp 0x445425
cmp dword [edi + 0xc8], 0
mov byte [ebp - 0x12a], 1
mov byte [ebp - 0x129], 1
je 0x4456c6
push 5
mov eax, edi
call fcn.0044423b
test al, al
je 0x4455ef
push str.ParseSugar:_parsing_OPS.
push 3
pop ecx
call fcn.00492b4d
pop ecx
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x128]
push 1
push dword [edi + 0xc8]
call fcn.0041ebe6
push str.ParseSugar:_OPS_parsed
push 3
pop ecx
call fcn.00492b4d
and dword [ebp - 4], 0
pop ecx
jmp 0x4455ef
push 7
mov eax, edi
call fcn.0044423b
test al, al
je 0x4456c6
push str.ParseSugar:_parsing_SOPS.
push 3
pop ecx
call fcn.00492b4d
pop ecx
mov byte [ebp - 4], 0xa
mov ecx, dword [ebp - 0x128]
push 2
push dword [edi + 0xc8]
call fcn.0041ebe6
push str.ParseSugar:_SOPS_parsed
push 3
pop ecx
call fcn.00492b4d
and dword [ebp - 4], 0
pop ecx
jmp 0x4456c6
lea eax, [edi + 8]
push 0
mov dword [ebp - 0x130], eax
call fcn.00491c88
test al, al
jne 0x4454ec
push str.packages
lea esi, [ebp - 0x4c]
mov byte [ebp - 0x121], al
call fcn.0040338f
mov eax, esi
mov byte [ebp - 4], 0xe
mov ebx, dword [ebp - 0x128]
push eax
call fcn.00493a73
push 1
xor edi, edi
mov ebx, eax
mov byte [ebp - 4], 0
call fcn.00404145
test ebx, ebx
je 0x4459a4
push str.ParseSugar:_parsing_and_installing_packages
push 3
pop ecx
call fcn.00492b4d
xor eax, eax
pop ecx
mov dword [ebp - 0x140], eax
mov dword [ebp - 0x13c], eax
mov dword [ebp - 0x138], eax
push ebx
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0x10
call fcn.0045d9f2
pop ecx
mov edi, eax
lea eax, [ebp - 0x140]
cmp eax, edi
je 0x445781
mov esi, eax
call fcn.004491b3
mov eax, dword [edi]
mov dword [ebp - 0x140], eax
mov eax, dword [edi + 4]
mov dword [ebp - 0x13c], eax
mov eax, dword [edi + 8]
mov dword [ebp - 0x138], eax
xor eax, eax
mov dword [edi], eax
mov dword [edi + 4], eax
mov dword [edi + 8], eax
lea esi, [ebp - 0x24]
call fcn.004491b3
push 0xf
pop ebx
lea eax, [ebp - 0xe8]
push eax
mov byte [ebp - 0x121], 1
mov dword [ebp - 4], ebx
call fcn.004036c8
mov esi, eax
push str.Package_metadata_parsed.
push esi
mov byte [ebp - 4], 0x17
call fcn.00405d7d
pop ecx
pop ecx
lea eax, [ebp - 0x30]
push eax
mov eax, esi
call fcn.00403732
mov byte [ebp - 4], 0x18
cmp dword [ebp - 0x1c], 8
mov eax, dword [ebp - 0x30]
jae 0x4457d0
lea eax, [ebp - 0x30]
push eax
push 3
pop ecx
call fcn.00492b4d
pop ecx
push 1
xor edi, edi
lea esi, [ebp - 0x30]
call fcn.00404145
lea eax, [ebp - 0xe8]
mov byte [ebp - 4], bl
call fcn.00402669
mov eax, dword [ebp - 0x120]
mov byte [ebp - 4], 0x19
mov ecx, dword [eax + 0xc0]
mov eax, dword [ecx]
lea edx, [ebp - 0x140]
push edx
call dword [eax + 4]
lea eax, [ebp - 0xe8]
push eax
call fcn.004036c8
mov esi, eax
push str.Package_metadata_updated._Trying_to_install_mandatory_packages...
push esi
mov byte [ebp - 4], 0x1a
call fcn.00405d7d
pop ecx
pop ecx
lea eax, [ebp - 0x30]
push eax
mov eax, esi
call fcn.00403732
mov byte [ebp - 4], 0x1b
cmp dword [ebp - 0x1c], 8
mov eax, dword [ebp - 0x30]
jae 0x44584a
lea eax, [ebp - 0x30]
push eax
push 3
pop ecx
call fcn.00492b4d
pop ecx
push 1
xor edi, edi
lea esi, [ebp - 0x30]
call fcn.00404145
lea eax, [ebp - 0xe8]
mov byte [ebp - 4], 0x19
call fcn.00402669
mov eax, dword [ebp - 0x120]
mov ecx, dword [eax + 0xc0]
push dword [ebp - 0x130]
mov eax, dword [ecx]
call dword [eax + 8]
mov dword [ebp - 4], ebx
lea esi, [ebp - 0x140]
mov byte [ebp - 4], 0
call fcn.004491b3
jmp 0x4459ab
mov byte [ebp - 0x121], 1
mov esi, dword [ebp - 0x120]
lea eax, [esi + 8]
push 0
mov dword [ebp - 0x130], eax
call fcn.00491c88
test al, al
jne 0x4454ec
mov edi, dword [esi + 0xac]
push 4
call fcn.00430b9d
test al, al
je 0x445abb
push str.ParseSugar:_parsing_benchmarks
push 3
pop ecx
call fcn.00492b4d
xor eax, eax
mov dword [ebp - 0x140], eax
mov dword [ebp - 0x13c], eax
mov dword [ebp - 0x138], eax
mov byte [ebp - 4], 0x1f
lea esi, [ebp - 0x4c]
mov dword [esp], str.Benchmarks
call fcn.0040338f
mov eax, esi
mov byte [ebp - 4], 0x20
mov ebx, dword [ebp - 0x128]
push eax
call fcn.00493a73
push 1
xor edi, edi
mov ebx, eax
mov byte [ebp - 4], 0x1f
call fcn.00404145
test ebx, ebx
je 0x445a75
push str.ParseSugar:_parsing_benchmarks
push 4
pop ecx
call fcn.00492b4d
pop ecx
push ebx
lea ecx, [ebp - 0x140]
call fcn.004463b4
mov byte [ebp - 0x119], al
test al, al
je 0x445a65
push str.ParseSugar:_benchmarks_parsed
push 3
pop ecx
jmp 0x445a6d
xor ecx, ecx
push str.ParseSugar:_benchmarks_parse_error
inc ecx
call fcn.00492b4d
pop ecx
jmp 0x445a7c
mov byte [ebp - 0x119], 1
cmp byte [ebp - 0x119], 0
je 0x445aaa
mov eax, dword [ebp - 0x13c]
cmp dword [ebp - 0x140], eax
je 0x445aaa
mov eax, dword [ebp - 0x120]
push dword [eax + 0xac]
lea ecx, [ebp - 0x140]
call fcn.00430f64
lea esi, [ebp - 0x140]
mov byte [ebp - 4], 0
call fcn.0040f00f
jmp 0x445ac2
mov byte [ebp - 0x119], 1
mov eax, dword [ebp - 0x130]
push 0
call fcn.00491c88
test al, al
jne 0x4454ec
mov byte [ebp - 0x12b], al
mov eax, dword [ebp - 0x120]
mov edi, dword [eax + 0xac]
push 4
call fcn.00430b9d
test al, al
je 0x445b66
push str.ParseSugar:_parsing_geolocation
push 3
pop ecx
call fcn.00492b4d
lea esi, [ebp - 0x4c]
mov dword [esp], str.Geolocation
call fcn.0040338f
mov eax, esi
mov byte [ebp - 4], 0x21
mov ebx, dword [ebp - 0x128]
push eax
call fcn.00493a73
push 1
xor edi, edi
mov ebx, eax
mov byte [ebp - 4], 0
call fcn.00404145
test ebx, ebx
je 0x445c62
push ebx
lea ebx, [ebp - 0x118]
mov byte [ebp - 4], 0x22
call fcn.004464d0
mov ecx, dword [ebp - 0x120]
add ecx, 0xb8
push ecx
mov ecx, eax
mov byte [ebp - 4], 0x23
call fcn.0043ff58
call fcn.0043fe6e
mov bl, 1
cmp byte [ebp - 0x122], 0
je 0x4454ec
cmp byte [ebp - 0x121], 0
je 0x4454ec
cmp byte [ebp - 0x12a], 0
je 0x4454ec
cmp byte [ebp - 0x129], 0
je 0x4454ec
cmp byte [ebp - 0x119], 0
je 0x4454ec
test bl, bl
je 0x4454ec
or dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x128]
test ecx, ecx
je 0x445bc5
mov eax, dword [ecx]
push 1
call dword [eax]
mov al, 1
jmp 0x44542f
mov eax, dword [ebp - 0x120]
add eax, 0xb8
push eax
mov bl, 1
call fcn.004403fb
jmp 0x445b68