Function at 0x4b52a0
Capabilities:
Get geographical location

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x298
mov eax, dword [0x58f860]
xor eax, ebp
mov dword [ebp - 0x30], eax
push esi
mov dword [ebp - 0x284], ecx
mov dword [ebp - 8], 0
jmp 0x4b52cc
mov eax, dword [ebp - 8]
add eax, 1
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x284]
add ecx, 0x8c
call fcn.004b15c0
cmp dword [ebp - 8], eax
jae 0x4b5435
mov ecx, dword [ebp - 0x284]
add ecx, 0x1c
push ecx
mov edx, dword [ebp - 8]
push edx
mov ecx, dword [ebp - 0x284]
add ecx, 0x8c
call fcn.004b15e0
push eax
call fcn.0047e690
add esp, 8
movzx eax, al
test eax, eax
je 0x4b5430
mov ecx, dword [ebp - 0x284]
add ecx, 0x1c
push ecx
mov edx, dword [ebp - 8]
push edx
mov ecx, dword [ebp - 0x284]
add ecx, 0x8c
call fcn.004b15e0
mov ecx, eax
call fcn.0041c8e0
mov eax, dword [ebp - 0x284]
add eax, 0x6c
push eax
mov ecx, dword [ebp - 8]
push ecx
mov ecx, dword [ebp - 0x284]
add ecx, 0x8c
call fcn.004b15e0
add eax, 4
mov ecx, eax
call fcn.0041c8e0
push 0x591388
mov edx, dword [ebp - 8]
push edx
mov ecx, dword [ebp - 0x284]
add ecx, 0x8c
call fcn.004b15e0
add eax, 8
mov ecx, eax
call fcn.0041c8e0
push 0x591380
mov eax, dword [ebp - 8]
push eax
mov ecx, dword [ebp - 0x284]
add ecx, 0x8c
call fcn.004b15e0
add eax, 0x10
mov ecx, eax
call fcn.0041c8e0
push 0x591384
mov ecx, dword [ebp - 8]
push ecx
mov ecx, dword [ebp - 0x284]
add ecx, 0x8c
call fcn.004b15e0
add eax, 0xc
mov ecx, eax
call fcn.0041c8e0
push 0x59138c
mov edx, dword [ebp - 8]
push edx
mov ecx, dword [ebp - 0x284]
add ecx, 0x8c
call fcn.004b15e0
add eax, 0x14
mov ecx, eax
call fcn.0041c8e0
lea eax, [ebp - 0x258]
push eax
call fcn.00441850
mov esi, eax
mov ecx, dword [ebp - 8]
push ecx
mov ecx, dword [ebp - 0x284]
add ecx, 0x8c
call fcn.004b15e0
add eax, 0x18
mov edx, dword [esi]
mov dword [eax], edx
mov ecx, dword [esi + 4]
mov dword [eax + 4], ecx
mov edx, dword [esi + 8]
mov dword [eax + 8], edx
jmp 0x4b5435
jmp 0x4b52c3
mov eax, dword [ebp - 0x284]
mov ecx, dword [eax + 0x80]
mov edx, dword [ebp - 0x284]
mov eax, dword [edx + 0x80]
mov edx, dword [ecx]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
mov dword [ebp - 4], eax
mov dword [ebp - 0xc], 0
jmp 0x4b546b
mov ecx, dword [ebp - 0xc]
add ecx, 1
mov dword [ebp - 0xc], ecx
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 4]
jge 0x4b5873
mov eax, dword [ebp - 0xc]
push eax
mov ecx, dword [ebp - 0x284]
mov edx, dword [ecx + 0x80]
mov eax, dword [ebp - 0x284]
mov ecx, dword [eax + 0x80]
mov edx, dword [edx]
mov eax, dword [edx]
call eax
mov dword [ebp - 0x288], eax
cmp dword [ebp - 0x288], 0
je 0x4b54b9
mov ecx, dword [ebp - 0x288]
sub ecx, 8
mov dword [ebp - 0x28c], ecx
jmp 0x4b54c3
mov dword [ebp - 0x28c], 0
mov edx, dword [ebp - 0x28c]
mov dword [ebp - 0x14], edx
mov ecx, dword [ebp - 0x14]
add ecx, 8
mov eax, dword [ebp - 0x14]
mov edx, dword [eax + 8]
mov eax, dword [edx + 0x16c]
call eax
push eax
lea ecx, [ebp - 0x10]
call fcn.0041c880
lea ecx, [ebp - 0x20]
call fcn.0048b020
push ecx
mov ecx, esp
push 0x5656ec
call fcn.0041c8a0
push ecx
mov ecx, esp
lea edx, [ebp - 0x10]
push edx
call fcn.0041c880
lea eax, [ebp - 0x26c]
push eax
call fcn.004291d0
add esp, 0xc
push eax
lea ecx, [ebp - 0x20]
call fcn.0048b0f0
lea ecx, [ebp - 0x26c]
call fcn.004bf0e0
mov ecx, dword [ebp - 0x284]
add ecx, 0x1c
push ecx
push 0
lea ecx, [ebp - 0x20]
call fcn.0048b2e0
push eax
call fcn.0047e690
add esp, 8
movzx edx, al
test edx, edx
je 0x4b585e
mov dword [ebp - 0x24], 0
jmp 0x4b5567
mov eax, dword [ebp - 0x24]
add eax, 1
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x14]
mov eax, dword [edx + 0xc]
call eax
cmp dword [ebp - 0x24], eax
jge 0x4b584c
mov ecx, dword [ebp - 0x24]
push ecx
mov edx, dword [ebp - 0x14]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x14]
mov edx, dword [eax]
call edx
mov dword [ebp - 0x290], eax
cmp dword [ebp - 0x290], 0
je 0x4b55ad
mov eax, dword [ebp - 0x290]
sub eax, 8
mov dword [ebp - 0x294], eax
jmp 0x4b55b7
mov dword [ebp - 0x294], 0
mov ecx, dword [ebp - 0x294]
mov dword [ebp - 0x28], ecx
mov ecx, dword [ebp - 0x28]
add ecx, 8
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 8]
mov edx, dword [eax + 0x30]
call edx
push eax
lea ecx, [ebp - 0x2c]
call fcn.0041c8a0
push str.cityitem_weathericon
lea ecx, [ebp - 0x2c]
call fcn.00430140
test eax, eax
jne 0x4b56c6
lea ecx, [ebp - 0x240]
call fcn.0041adb0
push 0
push 0x5914fc
push 0x55d44c
push 0x591308
lea eax, [ebp - 0x270]
push eax
call fcn.0041ca60
add esp, 0xc
push eax
lea ecx, [ebp - 0x274]
push ecx
call fcn.0041ca00
add esp, 0xc
mov ecx, eax
call fcn.0041cb20
push eax
lea ecx, [ebp - 0x240]
call fcn.0041b090
lea ecx, [ebp - 0x274]
call fcn.0040f740
lea ecx, [ebp - 0x270]
call fcn.0040f740
cmp dword [ebp - 0x28], 0
je 0x4b5667
mov edx, dword [ebp - 0x28]
add edx, 8
mov dword [ebp - 0x298], edx
jmp 0x4b5671
mov dword [ebp - 0x298], 0
mov eax, dword [ebp - 0x298]
push eax
mov ecx, dword [ebp - 0xc]
push ecx
mov ecx, dword [ebp - 0x284]
add ecx, 0x8c
call fcn.004b15e0
add eax, 8
push ecx
mov ecx, esp
push eax
call fcn.0041c880
lea edx, [ebp - 0x240]
push edx
mov ecx, dword [ebp - 0x284]
call fcn.004b5a20
lea ecx, [ebp - 0x240]
call fcn.0041b520
lea ecx, [ebp - 0x240]
call fcn.0041adf0
jmp 0x4b583f
push str.cityitem_ver
lea ecx, [ebp - 0x2c]
call fcn.00430140
test eax, eax
jne 0x4b583f
mov dword [ebp - 0x244], 0
jmp 0x4b56f6
mov eax, dword [ebp - 0x244]
add eax, 1
mov dword [ebp - 0x244], eax
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x28]
mov eax, dword [edx + 0xc]
call eax
cmp dword [ebp - 0x244], eax
jge 0x4b583f
mov ecx, dword [ebp - 0x244]
push ecx
mov edx, dword [ebp - 0x28]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x28]
mov edx, dword [eax]
call edx
mov dword [ebp - 0x24c], eax
mov eax, dword [ebp - 0x24c]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x24c]
mov eax, dword [edx + 0x30]
call eax
push eax
lea ecx, [ebp - 0x248]
call fcn.0041c8a0
push str.cityitem_weather
lea ecx, [ebp - 0x248]
call fcn.00430140
test eax, eax
jne 0x4b57e8
mov ecx, dword [ebp - 0xc]
push ecx
mov ecx, dword [ebp - 0x284]
add ecx, 0x8c
call fcn.004b15e0
add eax, 0xc
push eax
push 0x565bec
mov edx, dword [ebp - 0xc]
push edx
mov ecx, dword [ebp - 0x284]
add ecx, 0x8c
call fcn.004b15e0
add eax, 0x10
push eax
lea eax, [ebp - 0x27c]
push eax
call fcn.0041ca60
add esp, 0xc
push eax
lea ecx, [ebp - 0x280]
push ecx
call fcn.0041ca00
add esp, 0xc
mov ecx, eax
call fcn.0041cb20
push eax
mov edx, dword [ebp - 0x24c]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x24c]
mov edx, dword [eax + 0x3c]
call edx
lea ecx, [ebp - 0x280]
call fcn.0040f740
lea ecx, [ebp - 0x27c]
call fcn.0040f740
jmp 0x4b582f
push str.cityitem_wind
lea ecx, [ebp - 0x248]
call fcn.00430140
test eax, eax
jne 0x4b582f
mov eax, dword [ebp - 0xc]
push eax
mov ecx, dword [ebp - 0x284]
add ecx, 0x8c
call fcn.004b15e0
add eax, 0x14
mov ecx, eax
call fcn.0041cb20
push eax
mov ecx, dword [ebp - 0x24c]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x24c]
mov eax, dword [edx + 0x3c]
call eax
lea ecx, [ebp - 0x248]
call fcn.0040f740
jmp 0x4b56e7
lea ecx, [ebp - 0x2c]
call fcn.0040f740
jmp 0x4b555e
lea ecx, [ebp - 0x20]
call fcn.004bf0e0
lea ecx, [ebp - 0x10]
call fcn.0040f740
jmp 0x4b5873
lea ecx, [ebp - 0x20]
call fcn.004bf0e0
lea ecx, [ebp - 0x10]
call fcn.0040f740
jmp 0x4b5462
pop esi
mov ecx, dword [ebp - 0x30]
xor ecx, ebp
call fcn.00512610
mov esp, ebp
pop ebp
ret