Function at 0x443e95
Capabilities:
Get geographical location

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x61fd22
mov eax, dword fs:[0]
push eax
sub esp, 0x9c
mov eax, dword [0x68d9ac]
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 0x443e78
je 0x443dae
cmp ecx, 0x20a
ja 0x443d70
je 0x443d58
mov eax, ecx
sub eax, 0xa1
je 0x443c88
sub eax, 0x72
je 0x443c9c
sub eax, 0xee
jne case.0x443e8e.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.0x443e8e.1029
mov eax, dword [ebp + 0xc]
cmp eax, 0x10e2
jne 0x443ce3
push eax
push dword [edi + 4]
call dword [sym.imp.USER32.dll_KillTimer]
mov ecx, dword [edi + 0x394]
test ecx, ecx
je case.0x443e8e.1029
mov eax, dword [ecx]
push 0x62f1a8
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.0x443e8e.1029
cmp eax, 0x10e3
jne case.0x443e8e.1029
push str.editSearchHotkey
lea ecx, [edi + 0x30]
call fcn.00482ba0
mov dword [edi + 0x35c], eax
test eax, eax
je case.0x443e8e.1029
call fcn.00423940
mov ecx, eax
call fcn.004106c0
push eax
mov ecx, edi
call fcn.00444320
push dword [edi + 0x368]
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je case.0x443e8e.1029
push dword [edi + 0x368]
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je case.0x443e8e.1029
push 0x10e3
push dword [edi + 4]
call dword [sym.imp.USER32.dll_KillTimer]
jmp case.0x443e8e.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.0x443e8e.1029
cmp ecx, 0x2e0
je 0x443d90
cmp ecx, 0x402
jne case.0x443e8e.1029
mov ecx, edi
call fcn.00449da0
jmp case.0x443e8e.1029
push 0
push 0
call fcn.004813c0
push eax
lea ecx, [edi + 0x30]
call fcn.00487410
mov ecx, edi
call fcn.004888b0
jmp case.0x443e8e.1029
xor esi, esi
mov dword [ebp - 0x9c], esi
mov dword [ebp - 4], esi
cmp dword [ebp + 0xc], esi
je 0x443dce
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.00482ba0
mov dword [ebp - 0xa0], eax
push esi
test eax, eax
je 0x443e6c
lea ecx, [ebp - 0xa4]
call fcn.004085f0
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.0043ec80
push eax
call fcn.00442fc0
add esp, 8
mov byte [ebp - 0x95], al
lea ecx, [ebp - 0x94]
call fcn.004086c0
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 0x443e57
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp byte [ebp - 0x95], 0
je 0x443e6b
mov ecx, dword [ebp - 0xa8]
call fcn.00449880
push esi
mov eax, dword [sym.imp.OLEAUT32.dll_SysStringLen]
call eax
jmp case.0x443e8e.1029
add ecx, 0xfffffbfc
cmp ecx, 0x37
ja case.0x443e8e.1029
movzx eax, byte [ecx + 0x444048]
jmp dword [eax*4 + 0x444030]
xor esi, esi
mov dword [ebp - 0xa4], esi
mov dword [ebp - 4], 3
cmp dword [ebp + 0xc], esi
je 0x443eb9
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.00482ba0
mov dword [ebp - 0xa0], eax
push esi
test eax, eax
je 0x443e6c
lea ecx, [ebp - 0x9c]
call fcn.004085f0
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.0043ec80
push eax
call fcn.00442fc0
add esp, 8
mov byte [ebp - 0x95], al
lea ecx, [ebp - 0x94]
call fcn.004086c0
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 0x443f3e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp byte [ebp - 0x95], 0
je 0x443f52
mov ecx, dword [ebp - 0xa8]
call fcn.0044a130
mov eax, dword [sym.imp.OLEAUT32.dll_SysStringLen]
push esi
call eax
jmp case.0x443e8e.1029
push str.checkbox_TimeWidget
lea ecx, [edi + 0x30]
call fcn.00482ba0
test eax, eax
je case.0x443e8e.1029
cmp dword [ebp + 0xc], 0
setne cl
movzx ecx, cl
push ecx
jmp 0x444005
push str.checkbox_ShowCloud
lea ecx, [edi + 0x30]
call fcn.00482ba0
test eax, eax
je case.0x443e8e.1029
cmp dword [ebp + 0xc], 0
setne cl
movzx ecx, cl
push ecx
jmp 0x444005
push str.checkbox_ShowMemorandum
lea ecx, [edi + 0x30]
call fcn.00482ba0
test eax, eax
je case.0x443e8e.1029
cmp dword [ebp + 0xc], 0
setne cl
movzx ecx, cl
push ecx
jmp 0x444005
mov eax, dword [ebp + 0xc]
cmp eax, 7
ja case.0x443fc8.0
jmp dword [eax*4 + 0x444080]
push str.DesktopSort_Nav
jmp 0x443ff7
push str.TimeWidget_Nav
jmp 0x443ff7
push str.Protection_Nav
jmp 0x443ff7
push str.InfoService_Nav
jmp 0x443ff7
push str.AboutUs_Nav
jmp 0x443ff7
push str.BasicSetting_Nav
lea ecx, [edi + 0x30]
call fcn.00482ba0
test eax, eax
je case.0x443e8e.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.004f9a43
mov esp, ebp
pop ebp
ret 0x10