Function at 0x43b89f
Capabilities:
Get geographical location

Disassembly:
push 0x14c
mov eax, 0x5b9087
call fcn.0056bee1
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.0047efb8
test al, al
jne 0x43b921
push str.ParseSugar:_parsing_XML
push 3
pop ecx
call fcn.0047feaf
and dword [ebp - 0x128], 0
pop ecx
and dword [ebp - 4], 0
mov eax, esi
mov byte [ebp - 4], 1
call fcn.00482487
xor esi, esi
cmp eax, esi
je 0x43b8fe
mov dword [ebp - 0x128], eax
push esi
mov eax, ebx
mov dword [ebp - 4], esi
call fcn.0047efb8
test al, al
je 0x43b929
or dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x128]
cmp ecx, esi
je 0x43b921
mov eax, dword [ecx]
push 1
call dword [eax]
xor al, al
call fcn.0056bf3d
ret
push esi
mov eax, edi
mov byte [ebp - 0x122], 1
call fcn.0043a57f
test al, al
je 0x43b9ca
push str.ParseSugar:_parsing_software_updates
push 3
pop ecx
call fcn.0047feaf
lea esi, [ebp - 0x30]
mov dword [esp], str.software_updates_list
call fcn.004037ae
mov eax, esi
mov byte [ebp - 4], 5
mov ebx, dword [ebp - 0x128]
push eax
call fcn.00481458
push 1
xor edi, edi
mov ebx, eax
mov byte [ebp - 4], 0
call fcn.00404589
test ebx, ebx
je 0x43b9c4
mov ecx, dword [ebp - 0x120]
push ebx
call fcn.0043c1e8
test al, al
je 0x43b9a7
push str.ParseSugar:_software_updates_parsed
push 3
pop ecx
call fcn.0047feaf
mov byte [ebp - 0x122], 1
jmp 0x43b9bb
xor ecx, ecx
push str.ParseSugar:_error_parsing_software_updates
inc ecx
call fcn.0047feaf
mov byte [ebp - 0x122], 0
mov edi, dword [ebp - 0x120]
pop ecx
jmp 0x43b9cf
mov edi, dword [ebp - 0x120]
call fcn.0043a957
mov eax, dword [ebp - 0x130]
push 0
call fcn.0047efb8
test al, al
je 0x43b9f1
or dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x128]
test ecx, ecx
jmp 0x43b919
cmp dword [edi + 0xc8], 0
mov byte [ebp - 0x12a], 1
mov byte [ebp - 0x129], 1
je 0x43bbba
push 5
mov eax, edi
call fcn.0043a57f
test al, al
je 0x43bae3
push str.ParseSugar:_parsing_OPS.
push 3
pop ecx
call fcn.0047feaf
pop ecx
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x128]
push 1
push dword [edi + 0xc8]
call fcn.0041ebdf
push str.ParseSugar:_OPS_parsed
push 3
pop ecx
call fcn.0047feaf
and dword [ebp - 4], 0
pop ecx
jmp 0x43bae3
push 7
mov eax, edi
call fcn.0043a57f
test al, al
je 0x43bbba
push str.ParseSugar:_parsing_SOPS.
push 3
pop ecx
call fcn.0047feaf
pop ecx
mov byte [ebp - 4], 0xa
mov ecx, dword [ebp - 0x128]
push 2
push dword [edi + 0xc8]
call fcn.0041ebdf
push str.ParseSugar:_SOPS_parsed
push 3
pop ecx
call fcn.0047feaf
and dword [ebp - 4], 0
pop ecx
jmp 0x43bbba
lea eax, [edi + 8]
push 0
mov dword [ebp - 0x130], eax
call fcn.0047efb8
test al, al
jne 0x43b9e0
push str.packages
lea esi, [ebp - 0x4c]
mov byte [ebp - 0x121], al
call fcn.004037ae
mov eax, esi
mov byte [ebp - 4], 0xe
mov ebx, dword [ebp - 0x128]
push eax
call fcn.00481458
push 1
xor edi, edi
mov ebx, eax
mov byte [ebp - 4], 0
call fcn.00404589
test ebx, ebx
je 0x43be98
push str.ParseSugar:_parsing_and_installing_packages
push 3
pop ecx
call fcn.0047feaf
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.004545fe
pop ecx
mov edi, eax
lea eax, [ebp - 0x140]
cmp eax, edi
je 0x43bc75
mov esi, eax
call fcn.00440180
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.00440180
push 0xf
pop ebx
lea eax, [ebp - 0xe8]
push eax
mov byte [ebp - 0x121], 1
mov dword [ebp - 4], ebx
call fcn.00403aba
mov esi, eax
push str.Package_metadata_parsed.
push esi
mov byte [ebp - 4], 0x17
call fcn.0040635f
pop ecx
pop ecx
lea eax, [ebp - 0x30]
push eax
mov eax, esi
call fcn.00403b24
mov byte [ebp - 4], 0x18
cmp dword [ebp - 0x1c], 8
mov eax, dword [ebp - 0x30]
jae 0x43bcc4
lea eax, [ebp - 0x30]
push eax
push 3
pop ecx
call fcn.0047feaf
pop ecx
push 1
xor edi, edi
lea esi, [ebp - 0x30]
call fcn.00404589
lea eax, [ebp - 0xe8]
mov byte [ebp - 4], bl
call fcn.004027ed
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.00403aba
mov esi, eax
push str.Package_metadata_updated._Trying_to_install_mandatory_packages...
push esi
mov byte [ebp - 4], 0x1a
call fcn.0040635f
pop ecx
pop ecx
lea eax, [ebp - 0x30]
push eax
mov eax, esi
call fcn.00403b24
mov byte [ebp - 4], 0x1b
cmp dword [ebp - 0x1c], 8
mov eax, dword [ebp - 0x30]
jae 0x43bd3e
lea eax, [ebp - 0x30]
push eax
push 3
pop ecx
call fcn.0047feaf
pop ecx
push 1
xor edi, edi
lea esi, [ebp - 0x30]
call fcn.00404589
lea eax, [ebp - 0xe8]
mov byte [ebp - 4], 0x19
call fcn.004027ed
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.00440180
jmp 0x43be9f
mov byte [ebp - 0x121], 1
mov esi, dword [ebp - 0x120]
lea eax, [esi + 8]
push 0
mov dword [ebp - 0x130], eax
call fcn.0047efb8
test al, al
jne 0x43b9e0
mov edi, dword [esi + 0xac]
push 4
call fcn.0042f5f5
test al, al
je 0x43bfaf
push str.ParseSugar:_parsing_benchmarks
push 3
pop ecx
call fcn.0047feaf
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.004037ae
mov eax, esi
mov byte [ebp - 4], 0x20
mov ebx, dword [ebp - 0x128]
push eax
call fcn.00481458
push 1
xor edi, edi
mov ebx, eax
mov byte [ebp - 4], 0x1f
call fcn.00404589
test ebx, ebx
je 0x43bf69
push str.ParseSugar:_parsing_benchmarks
push 4
pop ecx
call fcn.0047feaf
pop ecx
push ebx
lea ecx, [ebp - 0x140]
call fcn.0043c8a8
mov byte [ebp - 0x119], al
test al, al
je 0x43bf59
push str.ParseSugar:_benchmarks_parsed
push 3
pop ecx
jmp 0x43bf61
xor ecx, ecx
push str.ParseSugar:_benchmarks_parse_error
inc ecx
call fcn.0047feaf
pop ecx
jmp 0x43bf70
mov byte [ebp - 0x119], 1
cmp byte [ebp - 0x119], 0
je 0x43bf9e
mov eax, dword [ebp - 0x13c]
cmp dword [ebp - 0x140], eax
je 0x43bf9e
mov eax, dword [ebp - 0x120]
push dword [eax + 0xac]
lea ecx, [ebp - 0x140]
call fcn.0042f7ad
lea esi, [ebp - 0x140]
mov byte [ebp - 4], 0
call fcn.0040f046
jmp 0x43bfb6
mov byte [ebp - 0x119], 1
mov eax, dword [ebp - 0x130]
push 0
call fcn.0047efb8
test al, al
jne 0x43b9e0
mov byte [ebp - 0x12b], al
mov eax, dword [ebp - 0x120]
mov edi, dword [eax + 0xac]
push 4
call fcn.0042f5f5
test al, al
je 0x43c05a
push str.ParseSugar:_parsing_geolocation
push 3
pop ecx
call fcn.0047feaf
lea esi, [ebp - 0x4c]
mov dword [esp], str.Geolocation
call fcn.004037ae
mov eax, esi
mov byte [ebp - 4], 0x21
mov ebx, dword [ebp - 0x128]
push eax
call fcn.00481458
push 1
xor edi, edi
mov ebx, eax
mov byte [ebp - 4], 0
call fcn.00404589
test ebx, ebx
je 0x43c156
push ebx
lea ebx, [ebp - 0x118]
mov byte [ebp - 4], 0x22
call fcn.0043c9c4
mov ecx, dword [ebp - 0x120]
add ecx, 0xb8
push ecx
mov ecx, eax
mov byte [ebp - 4], 0x23
call fcn.004367f1
call fcn.00436707
mov bl, 1
cmp byte [ebp - 0x122], 0
je 0x43b9e0
cmp byte [ebp - 0x121], 0
je 0x43b9e0
cmp byte [ebp - 0x12a], 0
je 0x43b9e0
cmp byte [ebp - 0x129], 0
je 0x43b9e0
cmp byte [ebp - 0x119], 0
je 0x43b9e0
test bl, bl
je 0x43b9e0
or dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x128]
test ecx, ecx
je 0x43c0b9
mov eax, dword [ecx]
push 1
call dword [eax]
mov al, 1
jmp 0x43b923
mov eax, dword [ebp - 0x120]
add eax, 0xb8
push eax
mov bl, 1
call fcn.00436c94
jmp 0x43c05c