Function at 0x4445b5
Capabilities:
Get geographical location

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x623fe2
mov eax, dword fs:[0]
push eax
sub esp, 0x9c
mov eax, dword [0x690a1c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0xa8], edi
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 0x14]
cmp ecx, 0x403
ja 0x444598
je 0x4444ce
cmp ecx, 0x20a
ja 0x444490
je 0x444478
mov eax, ecx
sub eax, 0xa1
je 0x4443a8
sub eax, 0x72
je 0x4443bc
sub eax, 0xee
jne case.0x4445ae.1029
mov eax, dword [edi]
push edx
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push ecx
mov ecx, edi
call dword [eax + 0x70]
jmp case.0x4445ae.1029
mov eax, dword [ebp + 0xc]
cmp eax, 0x10e2
jne 0x444403
push eax
push dword [edi + 4]
call dword [sym.imp.USER32.dll_KillTimer]
mov ecx, dword [edi + 0x394]
test ecx, ecx
je case.0x4445ae.1029
mov eax, dword [ecx]
push 0x6331a8
call dword [eax + 0x30]
mov ecx, dword [edi + 0x394]
sub esp, 0x10
mov eax, esp
xorps xmm0, xmm0
mov edx, dword [ecx]
movups xmmword [eax], xmm0
call dword [edx + 0x38]
jmp case.0x4445ae.1029
cmp eax, 0x10e3
jne case.0x4445ae.1029
push str.editSearchHotkey
lea ecx, [edi + 0x30]
call fcn.00483280
mov dword [edi + 0x35c], eax
test eax, eax
je case.0x4445ae.1029
call fcn.00423a70
mov ecx, eax
call fcn.00410790
push eax
mov ecx, edi
call fcn.00444a40
push dword [edi + 0x368]
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je case.0x4445ae.1029
push dword [edi + 0x368]
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je case.0x4445ae.1029
push 0x10e3
push dword [edi + 4]
call dword [sym.imp.USER32.dll_KillTimer]
jmp case.0x4445ae.1029
mov eax, dword [edi]
mov ecx, edi
push edx
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push 0x20a
call dword [eax + 0x4c]
jmp case.0x4445ae.1029
cmp ecx, 0x2e0
je 0x4444b0
cmp ecx, 0x402
jne case.0x4445ae.1029
mov ecx, edi
call fcn.0044a4c0
jmp case.0x4445ae.1029
push 0
push 0
call fcn.00481aa0
push eax
lea ecx, [edi + 0x30]
call fcn.00487ad0
mov ecx, edi
call fcn.00488f70
jmp case.0x4445ae.1029
xor esi, esi
mov dword [ebp - 0x9c], esi
mov dword [ebp - 4], esi
cmp dword [ebp + 0xc], esi
je 0x4444ee
push esi
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov esi, dword [ebp + 0xc]
mov dword [ebp - 0x9c], esi
push str.provincelist
lea ecx, [edi + 0x30]
call fcn.00483280
mov dword [ebp - 0xa0], eax
push esi
test eax, eax
je 0x44458c
lea ecx, [ebp - 0xa4]
call fcn.004086e0
mov edi, eax
mov ecx, dword [ebp - 0xa0]
lea eax, [ebp - 0x94]
push eax
mov byte [ebp - 4], 1
mov edx, dword [ecx]
mov edx, dword [edx + 0x2c]
call edx
push edi
mov ecx, eax
mov byte [ebp - 4], 2
call fcn.0043f3b0
push eax
call fcn.004436e0
add esp, 8
mov byte [ebp - 0x95], al
lea ecx, [ebp - 0x94]
call fcn.004087b0
mov edx, dword [ebp - 0xa4]
or ecx, 0xffffffff
mov byte [ebp - 4], 0
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], ecx
dec ecx
test ecx, ecx
jg 0x444577
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp byte [ebp - 0x95], 0
je 0x44458b
mov ecx, dword [ebp - 0xa8]
call fcn.00449fa0
push esi
mov eax, dword [sym.imp.OLEAUT32.dll_SysStringLen]
call eax
jmp case.0x4445ae.1029
add ecx, 0xfffffbfc
cmp ecx, 0x37
ja case.0x4445ae.1029
movzx eax, byte [ecx + 0x444768]
jmp dword [eax*4 + 0x444750]
xor esi, esi
mov dword [ebp - 0xa4], esi
mov dword [ebp - 4], 3
cmp dword [ebp + 0xc], esi
je 0x4445d9
push esi
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov esi, dword [ebp + 0xc]
mov dword [ebp - 0xa4], esi
push str.citylist
lea ecx, [edi + 0x30]
call fcn.00483280
mov dword [ebp - 0xa0], eax
push esi
test eax, eax
je 0x44458c
lea ecx, [ebp - 0x9c]
call fcn.004086e0
mov edi, eax
mov ecx, dword [ebp - 0xa0]
lea eax, [ebp - 0x94]
push eax
mov byte [ebp - 4], 4
mov edx, dword [ecx]
mov edx, dword [edx + 0x2c]
call edx
push edi
mov ecx, eax
mov byte [ebp - 4], 5
call fcn.0043f3b0
push eax
call fcn.004436e0
add esp, 8
mov byte [ebp - 0x95], al
lea ecx, [ebp - 0x94]
call fcn.004087b0
mov edx, dword [ebp - 0x9c]
or ecx, 0xffffffff
mov byte [ebp - 4], 3
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], ecx
dec ecx
test ecx, ecx
jg 0x44465e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp byte [ebp - 0x95], 0
je 0x444672
mov ecx, dword [ebp - 0xa8]
call fcn.0044a850
mov eax, dword [sym.imp.OLEAUT32.dll_SysStringLen]
push esi
call eax
jmp case.0x4445ae.1029
push str.checkbox_TimeWidget
lea ecx, [edi + 0x30]
call fcn.00483280
test eax, eax
je case.0x4445ae.1029
cmp dword [ebp + 0xc], 0
setne cl
movzx ecx, cl
push ecx
jmp 0x444725
push str.checkbox_ShowCloud
lea ecx, [edi + 0x30]
call fcn.00483280
test eax, eax
je case.0x4445ae.1029
cmp dword [ebp + 0xc], 0
setne cl
movzx ecx, cl
push ecx
jmp 0x444725
push str.checkbox_ShowMemorandum
lea ecx, [edi + 0x30]
call fcn.00483280
test eax, eax
je case.0x4445ae.1029
cmp dword [ebp + 0xc], 0
setne cl
movzx ecx, cl
push ecx
jmp 0x444725
mov eax, dword [ebp + 0xc]
cmp eax, 7
ja case.0x4446e8.0
jmp dword [eax*4 + 0x4447a0]
push str.DesktopSort_Nav
jmp 0x444717
push str.TimeWidget_Nav
jmp 0x444717
push str.Protection_Nav
jmp 0x444717
push str.InfoService_Nav
jmp 0x444717
push str.AboutUs_Nav
jmp 0x444717
push str.BasicSetting_Nav
lea ecx, [edi + 0x30]
call fcn.00483280
test eax, eax
je case.0x4445ae.1029
push 1
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x198]
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004fa103
mov esp, ebp
pop ebp
ret 0x10