Function at 0x438949
Capabilities:
Get geographical location

Disassembly:
push 0x64
mov eax, 0x4c1f56
call fcn.004943c6
mov dword [ebp - 0x10], ecx
mov ebx, dword [ebp + 8]
push ebx
lea eax, [ebp - 0x38]
push str.in_GeoLookup____url
push eax
call fcn.00472c70
and dword [ebp - 4], 0
push eax
call fcn.00411af0
or dword [ebp - 4], 0xffffffff
add esp, 0x10
lea ecx, [ebp - 0x38]
call fcn.00472320
push str.This_2_character_country_code_overrides_the_geo_lookup_value
lea ecx, [ebp - 0x28]
call fcn.00472340
push str.Override_the_geo_lookup_value
lea ecx, [ebp - 0x20]
mov dword [ebp - 4], 1
call fcn.00472340
mov edi, str.Country
push edi
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 2
call fcn.00472340
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 3
call fcn.0041ab2c
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 5
call fcn.00472320
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 6
call fcn.00472320
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 7
call fcn.00472320
push edi
lea ecx, [ebp - 0x38]
call fcn.00472340
lea eax, [ebp - 0x38]
mov esi, 0x5022bc
push eax
mov ecx, esi
mov byte [ebp - 4], 8
call fcn.0041a826
mov ecx, eax
call fcn.0041a24f
lea ecx, [ebp - 0x38]
mov dword [ebp + 8], eax
mov byte [ebp - 4], 7
call fcn.00472320
cmp dword [ebp + 8], 0
je 0x438a9c
push edi
lea ecx, [ebp - 0x38]
call fcn.00472340
lea eax, [ebp - 0x38]
push eax
mov ecx, esi
mov byte [ebp - 4], 9
call fcn.0041a826
mov ecx, eax
call fcn.0042004f
mov ecx, dword [ebp + 0xc]
push eax
call fcn.00472470
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 7
call fcn.00472320
push dword [ebp + 0xc]
lea eax, [ebp - 0x38]
push str.country_override_
push eax
call fcn.00472c70
push eax
mov byte [ebp - 4], 0xa
call fcn.00411af0
add esp, 0x10
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 7
call fcn.00472320
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x70]
call fcn.0041a2ea
xor eax, eax
jmp 0x438de5
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x70]
call fcn.0041a2ea
push str.Specify_the_URL_for_the_geo_lookup_service._Example:_n_____________n________________http:__yellow.dev.prognet.com_stub_geoloc.py
lea ecx, [ebp - 0x20]
call fcn.00472340
push str.Specify_the_URL_for_the_geo_lookup_service
lea ecx, [ebp - 0x28]
mov dword [ebp - 4], 0xb
call fcn.00472340
mov edi, 0x4d89f0
push edi
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0xc
call fcn.00472340
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x38]
push eax
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 0xd
call fcn.0041ab2c
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0xf
call fcn.00472320
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x10
call fcn.00472320
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 0x11
call fcn.00472320
push edi
lea ecx, [ebp - 0x18]
call fcn.00472340
lea eax, [ebp - 0x18]
push eax
mov ecx, esi
mov byte [ebp - 4], 0x12
call fcn.0041a826
mov ecx, eax
call fcn.0041a24f
lea ecx, [ebp - 0x18]
mov dword [ebp + 8], eax
mov byte [ebp - 4], 0x11
call fcn.00472320
cmp dword [ebp + 8], 0
je 0x438ba6
push edi
lea ecx, [ebp - 0x18]
call fcn.00472340
lea eax, [ebp - 0x18]
push eax
mov ecx, esi
mov byte [ebp - 4], 0x13
call fcn.0041a826
mov ecx, eax
call fcn.0042004f
push eax
mov ecx, ebx
call fcn.00472470
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x11
call fcn.00472320
push ebx
lea eax, [ebp - 0x18]
push str.locale_URL_override_
push eax
call fcn.00472c70
push eax
mov byte [ebp - 4], 0x14
call fcn.00411af0
add esp, 0x10
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x11
call fcn.00472320
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x70]
call fcn.0041a2ea
xor esi, esi
mov ecx, ebx
mov dword [ebp + 8], esi
call fcn.0040d59a
test al, al
jne 0x438da8
lea ecx, [ebp - 0x6c]
call fcn.004232d8
lea ecx, [ebp - 0x30]
mov dword [ebp - 4], 0x15
call fcn.004245ac
cmp byte [ebx + 7], 0xff
mov byte [ebp - 4], 0x16
jne 0x438be9
mov ebx, dword [ebx]
mov edi, dword [ebp - 0x10]
push esi
push 1
push dword [edi + 0xff0]
lea eax, [ebp - 0x30]
push esi
push ebx
push eax
push edi
push edi
lea ecx, [ebp - 0x6c]
call fcn.00423937
lea ecx, [ebp - 0x30]
mov dword [ebp + 8], eax
call fcn.0042463b
test eax, eax
je 0x438c23
push 1
push 0x4d1a50
lea ecx, [ebp - 0x30]
call fcn.0042463f
cmp dword [ebp + 8], esi
jl 0x438cfb
lea ecx, [ebp - 0x30]
call fcn.00424637
mov ebx, dword [ebp + 0xc]
mov ecx, ebx
cmp eax, 2
jae 0x438c48
push 0x4d9480
jmp 0x438d05
push 0x4d1a1a
call fcn.00472470
lea ecx, [ebp - 0x30]
call fcn.0042463b
mov esi, eax
push 0x4d1b1c
push esi
call fcn.00493420
pop ecx
pop ecx
test eax, eax
je 0x438ca0
lea ecx, [ebp - 0x30]
call fcn.0042463b
push eax
mov ecx, edi
call fcn.00437cd6
mov dword [ebp + 8], eax
mov ecx, ebx
test eax, eax
jns 0x438c92
push str.fail
call fcn.00472470
jmp 0x438ce9
lea eax, [edi + 0x1a4]
push eax
call fcn.004723d0
jmp 0x438ce9
mov al, byte [esi]
cmp al, 0x41
jl 0x438cae
cmp al, 0x5a
jg 0x438cae
add al, 0x20
mov byte [esi], al
mov al, byte [esi + 1]
cmp al, 0x41
jl 0x438cbe
cmp al, 0x5a
jg 0x438cbe
add al, 0x20
mov byte [esi + 1], al
mov cl, byte [esi]
cmp cl, 0x61
jl 0x438ce9
cmp cl, 0x7a
jg 0x438ce9
mov al, byte [esi + 1]
cmp al, 0x61
jl 0x438ce9
cmp al, 0x7a
jg 0x438ce9
push ecx
mov ecx, ebx
call fcn.00472820
movzx eax, byte [esi + 1]
push eax
mov ecx, ebx
call fcn.00472820
mov ecx, ebx
call fcn.0040d59a
test al, al
je 0x438d0a
push 0x4d9480
jmp 0x438d03
mov ebx, dword [ebp + 0xc]
push str.fail
mov ecx, ebx
call fcn.00472470
push str.fail
push ebx
call fcn.0040d604
pop ecx
pop ecx
test al, al
jne 0x438d3d
push 0x4d9480
push ebx
call fcn.0040d604
pop ecx
pop ecx
test al, al
jne 0x438d3d
push str.none
push ebx
call fcn.0040d604
pop ecx
pop ecx
test al, al
je 0x438d8e
push str.actionerrorvaluegeolookup_failure
lea ecx, [ebp - 0x38]
call fcn.00472340
mov eax, dword [edi]
push 0
lea ecx, [ebp - 0x38]
push ecx
mov ecx, edi
mov byte [ebp - 4], 0x17
call dword [eax + 0x10]
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0x16
call fcn.00472320
push str.geolookup_failure
lea ecx, [ebp - 0x38]
call fcn.00472340
lea eax, [ebp - 0x38]
push eax
mov byte [ebp - 4], 0x18
call fcn.00411af0
pop ecx
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0x16
call fcn.00472320
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0x15
call fcn.004245dc
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x6c]
call fcn.004235f1
jmp 0x438db7
mov ebx, dword [ebp + 0xc]
push str.none
mov ecx, ebx
call fcn.00472470
push ebx
lea eax, [ebp - 0x40]
push str.Locale_
push eax
call fcn.00472c70
push eax
mov dword [ebp - 4], 0x19
call fcn.00411af0
or dword [ebp - 4], 0xffffffff
add esp, 0x10
lea ecx, [ebp - 0x40]
call fcn.00472320
mov eax, dword [ebp + 8]
call fcn.0049449e
ret 8