Function at 0x4b10f0
Capabilities:
Get geographical location

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x30
mov eax, dword [0x50c004]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push edi
mov ax, word [0x590e6c]
mov word [ebp - 0x30], ax
mov cl, byte [0x590e6e]
mov byte [ebp - 0x2e], cl
mov ecx, 9
mov esi, str.__s__s_______s__s____s__s____s__s
lea edi, [ebp - 0x2c]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov edx, 1
imul eax, edx, 0
mov ecx, dword [ebp + 8]
movsx edx, byte [ecx + eax + 0xbc71]
cmp edx, 0x4e
jne 0x4b1143
jmp 0x4b1956
mov eax, dword [ebp + 8]
add eax, 0xbda0
push eax
mov ecx, dword [ebp + 8]
add ecx, 0xbda0
push ecx
call fcn.004a0a10
add esp, 8
mov edx, dword [ebp + 8]
add edx, 0xbda0
push edx
call fcn.0040cf90
add esp, 4
test eax, eax
je 0x4b1193
push 0x590e40
mov eax, dword [ebp + 8]
add eax, 0xbda0
push eax
call fcn.0040d309
add esp, 8
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x745b8], eax
mov edx, dword [ebp + 8]
cmp dword [edx + 0x745b8], 0
jne 0x4b11bc
mov eax, 1
imul ecx, eax, 0
mov edx, dword [ebp + 8]
movsx eax, byte [edx + ecx + 0xbc0c]
cmp eax, 0x4e
jne 0x4b11bc
jmp 0x4b1956
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x745b8], 0
je 0x4b11e9
mov edx, dword [ebp + 8]
add edx, 0x21f94
push edx
push 0x590e3c
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x745b8]
push ecx
call fcn.00401040
add esp, 0xc
mov edx, 1
imul eax, edx, 0
mov ecx, dword [ebp + 8]
movsx edx, byte [ecx + eax + 0xbc0c]
cmp edx, 0x4e
je 0x4b1217
mov eax, dword [ebp + 8]
add eax, 0x21f94
push eax
push 0x590e38
call fcn.004bb740
add esp, 8
mov ecx, dword [ebp + 8]
add ecx, 0xede2
push ecx
push str.KeyLength
mov edx, dword [ebp + 8]
add edx, 0xedd7
push edx
push str.KeyOffset
mov eax, dword [ebp + 8]
add eax, 0xeded
push eax
push str.KeyPosition
mov ecx, dword [ebp + 8]
add ecx, 0x7288
push ecx
push str.KeyData
lea edx, [ebp - 0x2c]
push edx
mov eax, dword [ebp + 8]
add eax, 0x11b93
push eax
call fcn.004010f0
add esp, 0x28
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x745b8], 0
je 0x4b1294
mov edx, dword [ebp + 8]
add edx, 0x11b93
push edx
push 0x590e08
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x745b8]
push ecx
call fcn.00401040
add esp, 0xc
mov edx, 1
imul eax, edx, 0
mov ecx, dword [ebp + 8]
movsx edx, byte [ecx + eax + 0xbc0c]
cmp edx, 0x4e
je 0x4b12c2
mov eax, dword [ebp + 8]
add eax, 0x11b93
push eax
push 0x590e04
call fcn.004bb740
add esp, 8
mov ecx, dword [ebp + 8]
add ecx, 0xeeee
push ecx
push str.RecipientLength
mov edx, dword [ebp + 8]
add edx, 0xeee3
push edx
push str.RecipientOffset
mov eax, dword [ebp + 8]
add eax, 0xeef9
push eax
push str.RecipientPosition
mov ecx, dword [ebp + 8]
add ecx, 0x72a0
push ecx
push str.RecipientData
lea edx, [ebp - 0x2c]
push edx
mov eax, dword [ebp + 8]
add eax, 0x11b93
push eax
call fcn.004010f0
add esp, 0x28
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x745b8], 0
je 0x4b133f
mov edx, dword [ebp + 8]
add edx, 0x11b93
push edx
push 0x590dbc
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x745b8]
push ecx
call fcn.00401040
add esp, 0xc
mov edx, 1
imul eax, edx, 0
mov ecx, dword [ebp + 8]
movsx edx, byte [ecx + eax + 0xbc0c]
cmp edx, 0x4e
je 0x4b136d
mov eax, dword [ebp + 8]
add eax, 0x11b93
push eax
push 0x590db8
call fcn.004bb740
add esp, 8
mov ecx, dword [ebp + 8]
add ecx, 0xef74
push ecx
push str.StreetNumberLength
mov edx, dword [ebp + 8]
add edx, 0xef69
push edx
push str.StreetNumberOffset
mov eax, dword [ebp + 8]
add eax, 0xef7f
push eax
push str.StreetNumberPosition
mov ecx, dword [ebp + 8]
add ecx, 0x72e2
push ecx
push str.StreetNumberData
lea edx, [ebp - 0x2c]
push edx
mov eax, dword [ebp + 8]
add eax, 0x11b93
push eax
call fcn.004010f0
add esp, 0x28
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x745b8], 0
je 0x4b13ea
mov edx, dword [ebp + 8]
add edx, 0x11b93
push edx
push 0x590d60
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x745b8]
push ecx
call fcn.00401040
add esp, 0xc
mov edx, 1
imul eax, edx, 0
mov ecx, dword [ebp + 8]
movsx edx, byte [ecx + eax + 0xbc0c]
cmp edx, 0x4e
je 0x4b1418
mov eax, dword [ebp + 8]
add eax, 0x11b93
push eax
push 0x590d5c
call fcn.004bb740
add esp, 8
mov ecx, dword [ebp + 8]
add ecx, 0xeffa
push ecx
push str.StreetNameLength
mov edx, dword [ebp + 8]
add edx, 0xefef
push edx
push str.StreetNameOffset
mov eax, dword [ebp + 8]
add eax, 0xf005
push eax
push str.StreetNamePosition
mov ecx, dword [ebp + 8]
add ecx, 0x72ed
push ecx
push str.StreetNameData
lea edx, [ebp - 0x2c]
push edx
mov eax, dword [ebp + 8]
add eax, 0x11b93
push eax
call fcn.004010f0
add esp, 0x28
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x745b8], 0
je 0x4b1495
mov edx, dword [ebp + 8]
add edx, 0x11b93
push edx
push 0x590d0c
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x745b8]
push ecx
call fcn.00401040
add esp, 0xc
mov edx, 1
imul eax, edx, 0
mov ecx, dword [ebp + 8]
movsx edx, byte [ecx + eax + 0xbc0c]
cmp edx, 0x4e
je 0x4b14c3
mov eax, dword [ebp + 8]
add eax, 0x11b93
push eax
push 0x590d08
call fcn.004bb740
add esp, 8
mov ecx, dword [ebp + 8]
add ecx, 0xf080
push ecx
push str.UnitNumberLength
mov edx, dword [ebp + 8]
add edx, 0xf075
push edx
push str.UnitNumberOffset
mov eax, dword [ebp + 8]
add eax, 0xf08b
push eax
push str.UnitNumberPosition
mov ecx, dword [ebp + 8]
add ecx, 0x7352
push ecx
push str.UnitNumberData
lea edx, [ebp - 0x2c]
push edx
mov eax, dword [ebp + 8]
add eax, 0x11b93
push eax
call fcn.004010f0
add esp, 0x28
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x745b8], 0
je 0x4b1540
mov edx, dword [ebp + 8]
add edx, 0x11b93
push edx
push 0x590cb8
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x745b8]
push ecx
call fcn.00401040
add esp, 0xc
mov edx, 1
imul eax, edx, 0
mov ecx, dword [ebp + 8]
movsx edx, byte [ecx + eax + 0xbc0c]
cmp edx, 0x4e
je 0x4b156e
mov eax, dword [ebp + 8]
add eax, 0x11b93
push eax
push 0x590cb4
call fcn.004bb740
add esp, 8
mov ecx, dword [ebp + 8]
add ecx, 0xf106
push ecx
push 0x590ca0
mov edx, dword [ebp + 8]
add edx, 0xf0fb
push edx
push 0x590c8c
mov eax, dword [ebp + 8]
add eax, 0xf111
push eax
push str.AddressLinePosition
mov ecx, dword [ebp + 8]
add ecx, 0x735d
push ecx
push str.AddressLineData
lea edx, [ebp - 0x2c]
push edx
mov eax, dword [ebp + 8]
add eax, 0x11b93
push eax
call fcn.004010f0
add esp, 0x28
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x745b8], 0
je 0x4b15eb
mov edx, dword [ebp + 8]
add edx, 0x11b93
push edx
push 0x590c64
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x745b8]
push ecx
call fcn.00401040
add esp, 0xc
mov edx, 1
imul eax, edx, 0
mov ecx, dword [ebp + 8]
movsx edx, byte [ecx + eax + 0xbc0c]
cmp edx, 0x4e
je 0x4b1619
mov eax, dword [ebp + 8]
add eax, 0x11b93
push eax
push 0x590c60
call fcn.004bb740
add esp, 8
mov ecx, dword [ebp + 8]
add ecx, 0xf18c
push ecx
push str.CityLength
mov edx, dword [ebp + 8]
add edx, 0xf181
push edx
push str.CityOffset
mov eax, dword [ebp + 8]
add eax, 0xf197
push eax
push str.CityPosition
mov ecx, dword [ebp + 8]
add ecx, 0x7446
push ecx
push str.CityData
lea edx, [ebp - 0x2c]
push edx
mov eax, dword [ebp + 8]
add eax, 0x11b93
push eax
call fcn.004010f0
add esp, 0x28
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x745b8], 0
je 0x4b1696
mov edx, dword [ebp + 8]
add edx, 0x11b93
push edx
push 0x590c28
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x745b8]
push ecx
call fcn.00401040
add esp, 0xc
mov edx, 1
imul eax, edx, 0
mov ecx, dword [ebp + 8]
movsx edx, byte [ecx + eax + 0xbc0c]
cmp edx, 0x4e
je 0x4b16c4
mov eax, dword [ebp + 8]
add eax, 0x11b93
push eax
push 0x590c24
call fcn.004bb740
add esp, 8
mov ecx, dword [ebp + 8]
add ecx, 0xf212
push ecx
push str.ProvinceLength
mov edx, dword [ebp + 8]
add edx, 0xf207
push edx
push str.ProvinceOffset
mov eax, dword [ebp + 8]
add eax, 0xf21d
push eax
push str.ProvincePosition
mov ecx, dword [ebp + 8]
add ecx, 0x7465
push ecx
push str.ProvinceData
lea edx, [ebp - 0x2c]
push edx
mov eax, dword [ebp + 8]
add eax, 0x11b93
push eax
call fcn.004010f0
add esp, 0x28
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x745b8], 0
je 0x4b1741
mov edx, dword [ebp + 8]
add edx, 0x11b93
push edx
push 0x590bdc
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x745b8]
push ecx
call fcn.00401040
add esp, 0xc
mov edx, 1
imul eax, edx, 0
mov ecx, dword [ebp + 8]
movsx edx, byte [ecx + eax + 0xbc0c]
cmp edx, 0x4e
je 0x4b176f
mov eax, dword [ebp + 8]
add eax, 0x11b93
push eax
push 0x590bd8
call fcn.004bb740
add esp, 8
mov ecx, dword [ebp + 8]
add ecx, 0xf298
push ecx
push str.PostalCodeLength
mov edx, dword [ebp + 8]
add edx, 0xf28d
push edx
push str.PostalCodeOffset
mov eax, dword [ebp + 8]
add eax, 0xf2a3
push eax
push str.PostalCodePosition
mov ecx, dword [ebp + 8]
add ecx, 0x749e
push ecx
push str.PostalCodeData
lea edx, [ebp - 0x2c]
push edx
mov eax, dword [ebp + 8]
add eax, 0x11b93
push eax
call fcn.004010f0
add esp, 0x28
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x745b8], 0
je 0x4b17ec
mov edx, dword [ebp + 8]
add edx, 0x11b93
push edx
push 0x590b88
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x745b8]
push ecx
call fcn.00401040
add esp, 0xc
mov edx, 1
imul eax, edx, 0
mov ecx, dword [ebp + 8]
movsx edx, byte [ecx + eax + 0xbc0c]
cmp edx, 0x4e
je 0x4b181a
mov eax, dword [ebp + 8]
add eax, 0x11b93
push eax
push 0x590b84
call fcn.004bb740
add esp, 8
mov ecx, dword [ebp + 8]
add ecx, 0x11af7
push ecx
push str.CountryLength
mov edx, dword [ebp + 8]
add edx, 0x11aec
push edx
push str.CountryOffset
mov eax, dword [ebp + 8]
add eax, 0x11b02
push eax
push str.CountryPosition
mov ecx, dword [ebp + 8]
add ecx, 0x747f
push ecx
push str.CountryData
lea edx, [ebp - 0x2c]
push edx
mov eax, dword [ebp + 8]
add eax, 0x11b93
push eax
call fcn.004010f0
add esp, 0x28
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x745b8], 0
je 0x4b1897
mov edx, dword [ebp + 8]
add edx, 0x11b93
push edx
push 0x590b44
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x745b8]
push ecx
call fcn.00401040
add esp, 0xc
mov edx, 1
imul eax, edx, 0
mov ecx, dword [ebp + 8]
movsx edx, byte [ecx + eax + 0xbc0c]
cmp edx, 0x4e
je 0x4b18c5
mov eax, dword [ebp + 8]
add eax, 0x11b93
push eax
push 0x590b40
call fcn.004bb740
add esp, 8
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x745b8], 0
je 0x4b18e8
push 0x590b3c
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x745b8]
push eax
call fcn.00401040
add esp, 8
mov ecx, 1
imul edx, ecx, 0
mov eax, dword [ebp + 8]
movsx ecx, byte [eax + edx + 0xbc0c]
cmp ecx, 0x4e
je 0x4b1912
push 0x5a108f
push 0x590b38
call fcn.004bb740
add esp, 8
mov edx, dword [ebp + 8]
cmp dword [edx + 0x745b8], 0
je 0x4b1956
mov eax, dword [ebp + 8]
cmp dword [eax + 0x745b8], 0
je 0x4b1949
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x745b8]
push edx
call fcn.0040d693
add esp, 4
mov eax, dword [ebp + 8]
mov dword [eax + 0x745b8], 0
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x745b8], 0
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004014c7
mov esp, ebp
pop ebp
ret