Function at 0x451d20
Capabilities:
Get geographical location
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x54f32b
mov eax, dword fs:[0]
push eax
sub esp, 0xc74
mov eax, dword [0x5be094]
xor eax, ebp
mov dword [ebp - 0x18], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0xc34], ecx
mov eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 0x510]
call fcn.004024d0
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x510]
push ecx
lea edx, [ebp - 0x4bc]
push edx
call fcn.004101e0
add esp, 8
mov byte [ebp - 4], 1
push 0x20
call fcn.00466e37
add esp, 4
mov dword [ebp - 0xa34], eax
mov byte [ebp - 4], 2
cmp dword [ebp - 0xa34], 0
je 0x451db3
mov ecx, dword [ebp - 0xa34]
call fcn.00448090
mov dword [ebp - 0xc38], eax
jmp 0x451dbd
mov dword [ebp - 0xc38], 0
mov eax, dword [ebp - 0xc38]
mov dword [ebp - 0xa30], eax
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0xa30]
mov dword [ebp - 0x518], ecx
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x5f0], 1
jmp 0x451dfb
mov edx, dword [ebp - 0x5f0]
add edx, 1
mov dword [ebp - 0x5f0], edx
cmp dword [ebp - 0x5f0], 3
jg 0x451e5c
cmp dword [ebp - 0x14], 0
jne 0x451e58
lea ecx, [ebp - 0x4bc]
call fcn.00407680
push eax
mov ecx, dword [ebp - 0x518]
call fcn.00448230
mov ecx, dword [ebp - 0x518]
call fcn.00448490
mov dword [ebp - 0x5f4], eax
mov ecx, dword [ebp - 0x5f4]
call fcn.0042e010
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x10]
call fcn.0042e110
mov dword [ebp - 0x14], eax
push 0x1f4
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x451e5a
jmp 0x451e5c
jmp 0x451dec
cmp dword [ebp - 0x14], 0
jne 0x451e69
mov dword [ebp - 0x14], 1
mov eax, dword [ebp - 0x14]
push eax
call fcn.00466e66
add esp, 4
mov dword [ebp - 0xa38], eax
mov ecx, dword [ebp - 0xa38]
mov dword [ebp - 0x480], ecx
mov edx, dword [ebp - 0x14]
push edx
push 0
mov eax, dword [ebp - 0x480]
push eax
call fcn.00488f20
add esp, 0xc
mov dword [ebp - 0x4a0], 0
mov byte [ebp - 0x5ad], 0
mov dword [ebp - 0x5f8], 0
jmp 0x451ec8
mov ecx, dword [ebp - 0x5f8]
add ecx, 1
mov dword [ebp - 0x5f8], ecx
mov ecx, dword [ebp - 0x10]
call fcn.0042e110
cmp dword [ebp - 0x5f8], eax
jae 0x451f05
mov edx, dword [ebp - 0x5f8]
push edx
mov ecx, dword [ebp - 0x10]
call fcn.0042e130
mov al, byte [eax]
mov byte [ebp - 0x5f9], al
mov ecx, dword [ebp - 0x480]
add ecx, dword [ebp - 0x5f8]
mov dl, byte [ebp - 0x5f9]
mov byte [ecx], dl
jmp 0x451eb9
mov eax, dword [ebp - 0x480]
push eax
call fcn.0040f960
add esp, 4
mov dword [ebp - 0x460], eax
lea ecx, [ebp - 0x5ec]
call fcn.004216a0
lea ecx, [ebp - 0x5ec]
push ecx
lea ecx, [ebp - 0x5ac]
call fcn.00421790
mov byte [ebp - 4], 3
push 0
lea ecx, [ebp - 0x45c]
call fcn.00417980
mov byte [ebp - 4], 4
mov edx, dword [ebp - 0x460]
push edx
lea ecx, [ebp - 0xa54]
call fcn.004075e0
mov byte [ebp - 4], 5
push 1
lea eax, [ebp - 0x45c]
push eax
lea ecx, [ebp - 0xa54]
push ecx
lea ecx, [ebp - 0x5ac]
call fcn.00421820
mov byte [ebp - 0x511], al
mov byte [ebp - 4], 4
lea ecx, [ebp - 0xa54]
call fcn.00407660
movzx edx, byte [ebp - 0x511]
test edx, edx
jne 0x452124
cmp dword [ebp - 0x480], 0
je 0x451fcf
mov eax, dword [ebp - 0x480]
mov dword [ebp - 0xa58], eax
mov ecx, dword [ebp - 0xa58]
push ecx
call fcn.00466e71
add esp, 4
mov dword [ebp - 0x480], 0
push 0x562fe8
mov ecx, dword [ebp - 0xc34]
add ecx, 0x6b8
call fcn.00402530
xor edx, edx
mov word [ebp - 0x804], dx
push 0x206
push 0
lea eax, [ebp - 0x802]
push eax
call fcn.00488f20
add esp, 0xc
xor ecx, ecx
mov word [ebp - 0xa0c], cx
push 0x206
push 0
lea edx, [ebp - 0xa0a]
push edx
call fcn.00488f20
add esp, 0xc
lea eax, [ebp - 0xadc]
push eax
call dword [0x5880b0]
add esp, 4
mov dword [ebp - 0xc3c], eax
mov ecx, dword [ebp - 0xc3c]
mov dword [ebp - 0xc40], ecx
mov byte [ebp - 4], 6
mov esi, dword [ebp - 0xc40]
sub esp, 0x84
mov ecx, 0x21
mov edi, esp
rep movsd dword es:[edi], dword [esi]
push 0x562ff0
lea edx, [ebp - 0x804]
push edx
call fcn.00410850
add esp, 0x8c
mov byte [ebp - 4], 4
lea ecx, [ebp - 0xadc]
call dword [0x5880a4]
lea eax, [ebp - 0x804]
push eax
push 0x104
lea ecx, [ebp - 0xa0c]
push ecx
push 0x56300c
push 0x563010
push 0x563030
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea edx, [ebp - 0xa0c]
push edx
mov ecx, dword [ebp - 0xc34]
add ecx, 0x680
call fcn.00402530
mov ecx, dword [ebp - 0xc34]
call fcn.00452a90
mov dword [ebp - 0xae0], 0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x45c]
call fcn.00417fe0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x5ac]
call fcn.0040b640
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x4bc]
call fcn.00407660
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x510]
call fcn.00402510
mov eax, dword [ebp - 0xae0]
jmp 0x452a6e
push 0x562d3b
lea ecx, [ebp - 0x4f4]
call fcn.004075e0
mov byte [ebp - 4], 7
push 0x562d66
lea ecx, [ebp - 0x47c]
call fcn.004075e0
mov byte [ebp - 4], 8
push 0x562d67
lea ecx, [ebp - 0x5e8]
call fcn.004075e0
mov byte [ebp - 4], 9
push 0x562d77
lea ecx, [ebp - 0x44c]
call fcn.004075e0
mov byte [ebp - 4], 0xa
mov dword [ebp - 0x430], 0
lea ecx, [ebp - 0x49c]
call fcn.00411d90
mov byte [ebp - 4], 0xb
push 0x562dd2
lea ecx, [ebp - 0x4d8]
call fcn.004075e0
mov byte [ebp - 4], 0xc
push 0x562dd3
lea ecx, [ebp - 0x5cc]
call fcn.004075e0
mov byte [ebp - 4], 0xd
push 0x563040
lea ecx, [ebp - 0x45c]
call fcn.00419fe0
mov ecx, eax
call fcn.0041a830
movzx eax, al
test eax, eax
jne 0x452668
push 0
lea ecx, [ebp - 0xa1c]
call fcn.00417980
mov byte [ebp - 4], 0xe
push 0x56304c
lea ecx, [ebp - 0x45c]
call fcn.00419fe0
push eax
lea ecx, [ebp - 0xa1c]
call fcn.004180d0
push 0x563058
lea ecx, [ebp - 0xa1c]
call fcn.00419fe0
mov ecx, eax
call fcn.0041a830
movzx ecx, al
test ecx, ecx
jne 0x452295
push 0x563060
lea ecx, [ebp - 0xa1c]
call fcn.00419fe0
mov ecx, eax
call fcn.0041a980
movzx edx, al
test edx, edx
je 0x452295
lea eax, [ebp - 0xafc]
push eax
push str.city
lea ecx, [ebp - 0xa1c]
call fcn.00419fe0
mov ecx, eax
call fcn.00418740
mov dword [ebp - 0xc44], eax
mov ecx, dword [ebp - 0xc44]
mov dword [ebp - 0xc48], ecx
mov byte [ebp - 4], 0xf
mov edx, dword [ebp - 0xc48]
push edx
lea ecx, [ebp - 0x4f4]
call fcn.00420ac0
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0xafc]
call fcn.00407660
push 0x563070
lea ecx, [ebp - 0xa1c]
call fcn.00419fe0
mov ecx, eax
call fcn.0041a830
movzx eax, al
test eax, eax
jne 0x452326
push 0x563078
lea ecx, [ebp - 0xa1c]
call fcn.00419fe0
mov ecx, eax
call fcn.0041a980
movzx ecx, al
test ecx, ecx
je 0x452326
lea edx, [ebp - 0xb18]
push edx
push str.img1
lea ecx, [ebp - 0xa1c]
call fcn.00419fe0
mov ecx, eax
call fcn.00418740
mov dword [ebp - 0xc4c], eax
mov eax, dword [ebp - 0xc4c]
mov dword [ebp - 0xc50], eax
mov byte [ebp - 4], 0x10
mov ecx, dword [ebp - 0xc50]
push ecx
lea ecx, [ebp - 0x47c]
call fcn.00420ac0
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0xb18]
call fcn.00407660
push 0x563088
lea ecx, [ebp - 0xa1c]
call fcn.00419fe0
mov ecx, eax
call fcn.0041a830
movzx edx, al
test edx, edx
jne 0x4523b7
push 0x563090
lea ecx, [ebp - 0xa1c]
call fcn.00419fe0
mov ecx, eax
call fcn.0041a980
movzx eax, al
test eax, eax
je 0x4523b7
lea ecx, [ebp - 0xb34]
push ecx
push 0x563098
lea ecx, [ebp - 0xa1c]
call fcn.00419fe0
mov ecx, eax
call fcn.00418740
mov dword [ebp - 0xc54], eax
mov edx, dword [ebp - 0xc54]
mov dword [ebp - 0xc58], edx
mov byte [ebp - 4], 0x11
mov eax, dword [ebp - 0xc58]
push eax
lea ecx, [ebp - 0x5e8]
call fcn.00420ac0
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0xb34]
call fcn.00407660
push 0x5630a0
lea ecx, [ebp - 0xa1c]
call fcn.00419fe0
mov ecx, eax
call fcn.0041a830
movzx ecx, al
test ecx, ecx
jne 0x452448
push 0x5630ac
lea ecx, [ebp - 0xa1c]
call fcn.00419fe0
mov ecx, eax
call fcn.0041a980
movzx edx, al
test edx, edx
je 0x452448
lea eax, [ebp - 0xb50]
push eax
push str.weather1
lea ecx, [ebp - 0xa1c]
call fcn.00419fe0
mov ecx, eax
call fcn.00418740
mov dword [ebp - 0xc5c], eax
mov ecx, dword [ebp - 0xc5c]
mov dword [ebp - 0xc60], ecx
mov byte [ebp - 4], 0x12
mov edx, dword [ebp - 0xc60]
push edx
lea ecx, [ebp - 0x5cc]
call fcn.00420ac0
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0xb50]
call fcn.00407660
push 0x5630c4
lea ecx, [ebp - 0xa1c]
call fcn.00419fe0
mov ecx, eax
call fcn.0041a830
movzx eax, al
test eax, eax
jne 0x4524d9
push 0x5630cc
lea ecx, [ebp - 0xa1c]
call fcn.00419fe0
mov ecx, eax
call fcn.0041a980
movzx ecx, al
test ecx, ecx
je 0x4524d9
lea edx, [ebp - 0xb6c]
push edx
push str.temp1
lea ecx, [ebp - 0xa1c]
call fcn.00419fe0
mov ecx, eax
call fcn.00418740
mov dword [ebp - 0xc64], eax
mov eax, dword [ebp - 0xc64]
mov dword [ebp - 0xc68], eax
mov byte [ebp - 4], 0x13
mov ecx, dword [ebp - 0xc68]
push ecx
lea ecx, [ebp - 0x44c]
call fcn.00420ac0
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0xb6c]
call fcn.00407660
push 0x5630dc
lea ecx, [ebp - 0xa1c]
call fcn.00419fe0
mov ecx, eax
call fcn.0041a830
movzx edx, al
test edx, edx
jne 0x452659
push 0
lea ecx, [ebp - 0xa2c]
call fcn.00417980
mov byte [ebp - 4], 0x14
push str.pm25
lea ecx, [ebp - 0xa1c]
call fcn.00419fe0
push eax
lea ecx, [ebp - 0xa2c]
call fcn.004180d0
push 0x5630ec
lea ecx, [ebp - 0xa2c]
call fcn.00419fe0
mov ecx, eax
call fcn.0041a830
movzx eax, al
test eax, eax
jne 0x4525b9
push 0x5630f4
lea ecx, [ebp - 0xa2c]
call fcn.00419fe0
mov ecx, eax
call fcn.0041a980
movzx ecx, al
test ecx, ecx
je 0x4525b9
lea edx, [ebp - 0xb88]
push edx
push 0x5630fc
lea ecx, [ebp - 0xa2c]
call fcn.00419fe0
mov ecx, eax
call fcn.00418740
mov dword [ebp - 0xc6c], eax
mov eax, dword [ebp - 0xc6c]
mov dword [ebp - 0xc70], eax
mov byte [ebp - 4], 0x15
mov ecx, dword [ebp - 0xc70]
push ecx
lea ecx, [ebp - 0x49c]
call fcn.00420ac0
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0xb88]
call fcn.00407660
push 0x563104
lea ecx, [ebp - 0xa2c]
call fcn.00419fe0
mov ecx, eax
call fcn.0041a830
movzx edx, al
test edx, edx
jne 0x45264a
push 0x56310c
lea ecx, [ebp - 0xa2c]
call fcn.00419fe0
mov ecx, eax
call fcn.0041a980
movzx eax, al
test eax, eax
je 0x45264a
lea ecx, [ebp - 0xba4]
push ecx
push str.desc
lea ecx, [ebp - 0xa2c]
call fcn.00419fe0
mov ecx, eax
call fcn.00418740
mov dword [ebp - 0xc74], eax
mov edx, dword [ebp - 0xc74]
mov dword [ebp - 0xc78], edx
mov byte [ebp - 4], 0x16
mov eax, dword [ebp - 0xc78]
push eax
lea ecx, [ebp - 0x4d8]
call fcn.00420ac0
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0xba4]
call fcn.00407660
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0xa2c]
call fcn.00417fe0
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0xa1c]
call fcn.00417fe0
xor ecx, ecx
mov word [ebp - 0x42c], cx
push 0x206
push 0
lea edx, [ebp - 0x42a]
push edx
call fcn.00488f20
add esp, 0xc
push 0x208
push 0
lea eax, [ebp - 0x42c]
push eax
call fcn.00488f20
add esp, 0xc
lea ecx, [ebp - 0x42c]
push ecx
lea ecx, [ebp - 0x4f4]
call fcn.00407680
push eax
call fcn.0040cf70
add esp, 8
lea edx, [ebp - 0x42c]
push edx
mov ecx, dword [ebp - 0xc34]
add ecx, 0x680
call fcn.00402530
xor eax, eax
mov word [ebp - 0x224], ax
push 0x206
push 0
lea ecx, [ebp - 0x222]
push ecx
call fcn.00488f20
add esp, 0xc
lea edx, [ebp - 0xc28]
push edx
call dword [0x5880b0]
add esp, 4
mov dword [ebp - 0xc7c], eax
mov eax, dword [ebp - 0xc7c]
mov dword [ebp - 0xc80], eax
mov byte [ebp - 4], 0x17
mov esi, dword [ebp - 0xc80]
sub esp, 0x84
mov ecx, 0x21
mov edi, esp
rep movsd dword es:[edi], dword [esi]
push 0x56311c
lea ecx, [ebp - 0x224]
push ecx
call fcn.00410850
add esp, 0x8c
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0xc28]
call dword [0x5880a4]
lea edx, [ebp - 0x224]
push edx
lea eax, [ebp - 0x42c]
push eax
push str.CurrentDistrict
push 0x563158
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
push 0x208
push 0
lea ecx, [ebp - 0x42c]
push ecx
call fcn.00488f20
add esp, 0xc
lea edx, [ebp - 0x42c]
push edx
lea ecx, [ebp - 0x47c]
call fcn.00407680
push eax
call fcn.0040cf70
add esp, 8
lea eax, [ebp - 0x42c]
push eax
mov ecx, dword [ebp - 0xc34]
add ecx, 0x6b8
call fcn.00402530
push 0x208
push 0
lea ecx, [ebp - 0x42c]
push ecx
call fcn.00488f20
add esp, 0xc
lea edx, [ebp - 0x42c]
push edx
lea ecx, [ebp - 0x5e8]
call fcn.00407680
push eax
call fcn.0040cf70
add esp, 8
lea eax, [ebp - 0x42c]
push eax
mov ecx, dword [ebp - 0xc34]
add ecx, 0x69c
call fcn.00402530
push 0x563168
mov ecx, dword [ebp - 0xc34]
add ecx, 0x69c
call fcn.00411610
push 0x208
push 0
lea ecx, [ebp - 0x42c]
push ecx
call fcn.00488f20
add esp, 0xc
lea edx, [ebp - 0x42c]
push edx
lea ecx, [ebp - 0x5cc]
call fcn.00407680
push eax
call fcn.0040cf70
add esp, 8
lea eax, [ebp - 0x42c]
push eax
mov ecx, dword [ebp - 0xc34]
add ecx, 0x648
call fcn.00402530
push 0x56316c
mov ecx, dword [ebp - 0xc34]
add ecx, 0x648
call fcn.00411610
push 0x208
push 0
lea ecx, [ebp - 0x42c]
push ecx
call fcn.00488f20
add esp, 0xc
lea edx, [ebp - 0x42c]
push edx
lea ecx, [ebp - 0x44c]
call fcn.00407680
push eax
call fcn.0040cf70
add esp, 8
lea eax, [ebp - 0x42c]
push eax
mov ecx, dword [ebp - 0xc34]
add ecx, 0x648
call fcn.00411610
push 0x208
push 0
lea ecx, [ebp - 0x42c]
push ecx
call fcn.00488f20
add esp, 0xc
lea edx, [ebp - 0x42c]
push edx
lea ecx, [ebp - 0x49c]
call fcn.00407680
push eax
call fcn.0040cf70
add esp, 8
push 0x563170
mov ecx, dword [ebp - 0xc34]
add ecx, 0x664
call fcn.00402530
lea eax, [ebp - 0x42c]
push eax
mov ecx, dword [ebp - 0xc34]
add ecx, 0x664
call fcn.00411610
push 0x563180
mov ecx, dword [ebp - 0xc34]
add ecx, 0x664
call fcn.00411610
push 0x208
push 0
lea ecx, [ebp - 0x42c]
push ecx
call fcn.00488f20
add esp, 0xc
lea edx, [ebp - 0x42c]
push edx
lea ecx, [ebp - 0x4d8]
call fcn.00407680
push eax
call fcn.0040cf70
add esp, 8
lea eax, [ebp - 0x42c]
push eax
mov ecx, dword [ebp - 0xc34]
add ecx, 0x664
call fcn.00411610
cmp dword [ebp - 0x480], 0
je 0x4529ab
mov ecx, dword [ebp - 0x480]
mov dword [ebp - 0xc2c], ecx
mov edx, dword [ebp - 0xc2c]
push edx
call fcn.00466e71
add esp, 4
mov dword [ebp - 0x480], 0
mov ecx, dword [ebp - 0xc34]
call fcn.00452a90
mov dword [ebp - 0xc30], 1
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x5cc]
call fcn.00407660
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x4d8]
call fcn.00407660
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x49c]
call fcn.00407660
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x44c]
call fcn.00407660
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x5e8]
call fcn.00407660
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x47c]
call fcn.00407660
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x4f4]
call fcn.00407660
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x45c]
call fcn.00417fe0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x5ac]
call fcn.0040b640
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x4bc]
call fcn.00407660
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x510]
call fcn.00402510
mov eax, dword [ebp - 0xc30]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x18]
xor ecx, ebp
call fcn.00488ec3
mov esp, ebp
pop ebp
ret 4