Function at 0x100172b0
Capabilities:
Get geographical location

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10092a37
mov eax, dword fs:[0]
push eax
sub esp, 0x80
mov eax, dword [0x100b70e8]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
xorps xmm0, xmm0
mov dword [ebp - 0x78], 0xf
push 0x1e
push str.SoftwarePhotoViewerCityCheck
lea ecx, [ebp - 0x8c]
movq qword [ebp - 0x38], xmm0
movups xmmword [ebp - 0x58], xmm0
mov dword [ebp - 0x7c], 0
movups xmmword [ebp - 0x48], xmm0
mov byte [ebp - 0x8c], 0
call fcn.10005c10
push 0
push 0
lea eax, [ebp - 0x8c]
mov dword [ebp - 4], 0
push eax
push reloc.WS2_32.dll_accept
lea ecx, [ebp - 0x58]
call fcn.10007f00
mov eax, dword [ebp - 0x78]
mov byte [ebp - 4], 2
cmp eax, 0x10
jb 0x10017354
inc eax
lea ecx, [ebp - 0x8c]
push eax
push dword [ebp - 0x8c]
call fcn.10005ac0
push 4
push str.city
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x78], 0xf
mov dword [ebp - 0x7c], 0
mov byte [ebp - 0x8c], 0
mov dword [ebp - 0x14], 0xf
mov dword [ebp - 0x18], 0
mov byte [ebp - 0x28], 0
call fcn.10005c10
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 3
push eax
lea eax, [ebp - 0x74]
push eax
lea ecx, [ebp - 0x58]
call fcn.10007fd0
mov edi, eax
cmp esi, edi
je 0x100173dc
mov eax, dword [esi + 0x14]
cmp eax, 0x10
jb 0x100173b7
inc eax
mov ecx, esi
push eax
push dword [esi]
call fcn.10005ac0
mov dword [esi + 0x14], 0xf
cmp dword [esi + 0x14], 0x10
mov dword [esi + 0x10], 0
jb 0x100173cf
mov eax, dword [esi]
jmp 0x100173d1
mov eax, esi
push edi
mov ecx, esi
mov byte [eax], 0
call fcn.10005360
mov eax, dword [ebp - 0x60]
cmp eax, 0x10
jb 0x100173f1
inc eax
lea ecx, [ebp - 0x74]
push eax
push dword [ebp - 0x74]
call fcn.10005ac0
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x60], 0xf
mov dword [ebp - 0x64], 0
mov byte [ebp - 0x74], 0
mov byte [ebp - 4], 2
cmp eax, 0x10
jb 0x1001741c
inc eax
lea ecx, [ebp - 0x28]
push eax
push dword [ebp - 0x28]
call fcn.10005ac0
cmp dword [esi + 0x10], 0
mov byte [ebp - 0x59], 1
je 0x10017534
xorps xmm0, xmm0
mov dword [ebp - 0x14], 0
push 4
push str.time
lea ecx, [ebp - 0x74]
movlpd qword [ebp - 0x30], xmm0
movq qword [ebp - 0x1c], xmm0
mov dword [ebp - 0x60], 0xf
mov dword [ebp - 0x64], 0
mov byte [ebp - 0x74], 0
call fcn.10005c10
lea eax, [ebp - 0x74]
mov byte [ebp - 4], 5
push eax
lea eax, [ebp - 0x1c]
push eax
lea ecx, [ebp - 0x58]
call fcn.10008120
mov eax, dword [ebp - 0x60]
mov byte [ebp - 4], 2
cmp eax, 0x10
jb 0x1001748c
inc eax
lea ecx, [ebp - 0x74]
push eax
push dword [ebp - 0x74]
call fcn.10005ac0
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
cmp ecx, eax
je 0x100174a6
sub eax, ecx
push eax
push ecx
lea eax, [ebp - 0x30]
push eax
call fcn.1006af90
add esp, 0xc
push 0
call fcn.1006d28e
add esp, 4
sub eax, dword [ebp - 0x30]
sbb edx, dword [ebp - 0x2c]
push 0
push 0x15180
push edx
push eax
call fcn.10052730
mov ecx, eax
mov eax, edx
cdq
xor eax, edx
xor ecx, edx
sub ecx, edx
sbb eax, edx
test eax, eax
jg 0x100174e0
jl 0x100174dc
cmp ecx, 5
jae 0x100174e0
mov byte [ebp - 0x59], 0
mov ecx, dword [ebp - 0x1c]
test ecx, ecx
je 0x1001752a
mov eax, dword [ebp - 0x14]
sub eax, ecx
cmp eax, 0x1000
jb 0x10017521
test cl, 0x1f
je 0x100174fd
call fcn.1006cec3
mov eax, dword [ecx - 4]
cmp eax, ecx
jb 0x10017509
call fcn.1006cec3
sub ecx, eax
cmp ecx, 4
jae 0x10017515
call fcn.1006cec3
cmp ecx, 0x23
jbe 0x1001751f
call fcn.1006cec3
mov ecx, eax
push ecx
call fcn.1005205a
add esp, 4
cmp byte [ebp - 0x59], 0
je 0x1001769d
lea eax, [ebp - 0x74]
mov ecx, esi
push eax
call fcn.10016f30
mov edi, eax
cmp esi, edi
je 0x1001757d
mov eax, dword [esi + 0x14]
cmp eax, 0x10
jb 0x10017558
inc eax
mov ecx, esi
push eax
push dword [esi]
call fcn.10005ac0
mov dword [esi + 0x14], 0xf
cmp dword [esi + 0x14], 0x10
mov dword [esi + 0x10], 0
jb 0x10017570
mov eax, dword [esi]
jmp 0x10017572
mov eax, esi
push edi
mov ecx, esi
mov byte [eax], 0
call fcn.10005360
mov eax, dword [ebp - 0x60]
mov byte [ebp - 4], 2
cmp eax, 0x10
jb 0x100175cb
mov ecx, dword [ebp - 0x74]
inc eax
cmp eax, 0x1000
jb 0x100175c2
test cl, 0x1f
je 0x1001759e
call fcn.1006cec3
mov eax, dword [ecx - 4]
cmp eax, ecx
jb 0x100175aa
call fcn.1006cec3
sub ecx, eax
cmp ecx, 4
jae 0x100175b6
call fcn.1006cec3
cmp ecx, 0x23
jbe 0x100175c0
call fcn.1006cec3
mov ecx, eax
push ecx
call fcn.1005205a
add esp, 4
push str.city
lea ecx, [ebp - 0x74]
call fcn.10005d10
push esi
lea eax, [ebp - 0x74]
mov byte [ebp - 4], 7
push eax
lea ecx, [ebp - 0x58]
call fcn.10007f80
mov eax, dword [ebp - 0x60]
cmp eax, 0x10
jb 0x100175fe
inc eax
lea ecx, [ebp - 0x74]
push eax
push dword [ebp - 0x74]
call fcn.10005ac0
push 0
call fcn.1006d28e
xorps xmm0, xmm0
mov dword [ebp - 0x14], 0
movq qword [ebp - 0x1c], xmm0
lea esi, [ebp - 0x30]
add esp, 4
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0
mov byte [ebp - 4], 8
mov edi, 8
nop
push esi
lea ecx, [ebp - 0x1c]
call fcn.100176c0
inc esi
sub edi, 1
jne 0x10017640
push 4
push str.time
lea ecx, [ebp - 0x74]
mov dword [ebp - 0x60], 0xf
mov dword [ebp - 0x64], edi
mov byte [ebp - 0x74], 0
call fcn.10005c10
lea eax, [ebp - 0x1c]
mov byte [ebp - 4], 9
push eax
lea eax, [ebp - 0x74]
push eax
lea ecx, [ebp - 0x58]
call fcn.100080d0
mov eax, dword [ebp - 0x60]
cmp eax, 0x10
jb 0x10017695
inc eax
lea ecx, [ebp - 0x74]
push eax
push dword [ebp - 0x74]
call fcn.10005ac0
lea ecx, [ebp - 0x1c]
call fcn.100084e0
lea ecx, [ebp - 0x58]
call fcn.10007f50
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.100524d2
mov esp, ebp
pop ebp
ret