Function at 0x10060660
Capabilities:
Get geographical location

Disassembly:
push 0xffffffffffffffff
push 0x10187c55
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x43c
push ebx
push ebp
push esi
push edi
mov eax, dword [esp + 0x45c]
xor ebp, ebp
mov dword [esp + 0x454], ebp
cmp dword [eax - 8], ebp
je 0x10060fd6
push 0xd
lea ecx, [esp + 0x460]
call fcn.1017046e
mov ecx, 0x81
xor eax, eax
lea edi, [esp + 0x246]
mov word [esp + 0x244], bp
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov ecx, 0x81
xor eax, eax
lea edi, [esp + 0x3e]
mov esi, dword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
mov word [esp + 0x3c], bp
push 0x104
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x248]
push ecx
push 0x1003
push 0x400
stosw word es:[edi], ax
call esi
lea edx, [esp + 0x3c]
push 0x104
push edx
push 0x1f
push 0x400
call esi
lea eax, [esp + 0x244]
lea ecx, [esp + 0x18]
push eax
call fcn.101732db
mov edi, dword [esp + 0x460]
mov byte [esp + 0x454], 1
cmp edi, ebp
je 0x1006074b
push 0x73
lea ecx, [esp + 0x1c]
call fcn.101737a3
cmp eax, 0xffffffff
je 0x1006074b
cmp eax, ebp
je 0x1006074b
dec eax
push 1
push eax
lea ecx, [esp + 0x20]
call fcn.101700f6
push 0x74
lea ecx, [esp + 0x1c]
call fcn.1017046e
push 0x48
lea ecx, [esp + 0x1c]
call fcn.1017046e
push 0x68
lea ecx, [esp + 0x1c]
call fcn.1017046e
push 0x6d
lea ecx, [esp + 0x1c]
call fcn.1017046e
push 0x73
lea ecx, [esp + 0x1c]
call fcn.1017046e
lea ecx, [esp + 0x244]
push ecx
lea ecx, [esp + 0x14]
call fcn.101732db
mov edx, dword [esp + 0x10]
mov byte [esp + 0x454], 2
mov eax, dword [edx - 8]
lea esi, [eax - 1]
cmp esi, ebp
jl 0x100607f7
mov bl, 3
push 0x101ced30
lea ecx, [esp + 0x24]
call fcn.101732db
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x20]
mov byte [esp + 0x454], bl
mov ax, word [eax + esi*2]
push eax
call fcn.101737a3
cmp eax, 0xffffffff
jne 0x100607e3
push 1
push esi
lea ecx, [esp + 0x18]
call fcn.101700f6
lea ecx, [esp + 0x20]
mov byte [esp + 0x454], 2
call fcn.10173267
dec esi
jns 0x100607ab
cmp edi, ebp
je 0x10060806
push 0x73
lea ecx, [esp + 0x14]
call fcn.1017046e
push 0x101ced2c
push 0x101ced24
lea ecx, [esp + 0x18]
call fcn.101702fd
push 0x101ced20
push 0x101ced18
lea ecx, [esp + 0x18]
call fcn.101702fd
push 0x68
push 0x48
lea ecx, [esp + 0x18]
call fcn.101702b9
push 0x101ced20
push 0x101ced10
lea ecx, [esp + 0x18]
call fcn.101702fd
push 0x101ced0c
push 0x101ced04
lea ecx, [esp + 0x18]
call fcn.101702fd
push 0x101ced00
push 0x101cecf8
lea ecx, [esp + 0x18]
call fcn.101702fd
lea ecx, [esp + 0x3c]
push ecx
lea ecx, [esp + 0x28]
call fcn.101732db
push 0x79
lea ecx, [esp + 0x28]
mov byte [esp + 0x458], 4
call fcn.1017046e
push 0x4d
lea ecx, [esp + 0x28]
call fcn.1017046e
push 0x64
lea ecx, [esp + 0x28]
call fcn.1017046e
lea edx, [esp + 0x3c]
lea ecx, [esp + 0x14]
push edx
call fcn.101732db
mov eax, dword [esp + 0x14]
mov byte [esp + 0x454], 5
mov eax, dword [eax - 8]
lea esi, [eax - 1]
cmp esi, ebp
jl 0x1006091b
mov bl, 6
push 0x101cecf0
lea ecx, [esp + 0x24]
call fcn.101732db
mov ecx, dword [esp + 0x14]
mov byte [esp + 0x454], bl
mov ax, word [ecx + esi*2]
lea ecx, [esp + 0x20]
push eax
call fcn.101737a3
cmp eax, 0xffffffff
jne 0x10060907
push 1
push esi
lea ecx, [esp + 0x1c]
call fcn.101700f6
lea ecx, [esp + 0x20]
mov byte [esp + 0x454], 5
call fcn.10173267
dec esi
jns 0x100608cf
push 0x101cecec
push str.yyyy
lea ecx, [esp + 0x1c]
call fcn.101702fd
push 0x101cecec
push 0x101cecd8
lea ecx, [esp + 0x1c]
call fcn.101702fd
push 0x101cecd4
push 0x101ceccc
lea ecx, [esp + 0x1c]
call fcn.101702fd
push 0x101cecc8
push 0x101cecc0
lea ecx, [esp + 0x1c]
call fcn.101702fd
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
mov eax, dword [edx - 8]
mov edx, dword [esp + 0x24]
mov ecx, dword [ecx - 8]
mov ebp, dword [edx - 8]
mov edx, dword [esp + 0x14]
dec ecx
mov dword [esp + 0x1c], ebp
mov edx, dword [edx - 8]
cmp eax, ecx
jne 0x10060f92
dec edx
cmp ebp, edx
jne 0x10060f92
lea edi, [eax - 1]
test edi, edi
jl 0x10060b42
mov ebx, dword [esp + 0x47c]
mov ebp, dword [esp + 0x478]
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x45c]
mov ax, word [eax + edi*2]
push eax
call fcn.101706ab
mov esi, eax
cmp esi, 0xffffffff
je 0x10060b37
mov ecx, dword [esp + 0x10]
mov ax, word [ecx + edi*2 + 2]
and eax, 0xffff
add eax, 0xffffff98
cmp eax, 0xc
ja case.0x100609f4.108
xor edx, edx
mov dl, byte [eax + 0x1006101c]
jmp dword [edx*4 + 0x10061008]
mov eax, dword [esp + 0x45c]
lea ecx, [esp + 0x20]
mov eax, dword [eax - 8]
sub eax, esi
dec eax
push eax
push ecx
lea ecx, [esp + 0x464]
call fcn.10170563
mov ecx, dword [esp + 0x470]
push eax
mov byte [esp + 0x458], 7
call fcn.101733ae
mov byte [esp + 0x454], 5
lea ecx, [esp + 0x20]
jmp 0x10060afa
mov edx, dword [esp + 0x45c]
lea ecx, [esp + 0x45c]
mov eax, dword [edx - 8]
sub eax, esi
dec eax
push eax
lea eax, [esp + 0x3c]
push eax
call fcn.10170563
mov ecx, dword [esp + 0x474]
push eax
mov byte [esp + 0x458], 8
call fcn.101733ae
mov byte [esp + 0x454], 5
lea ecx, [esp + 0x38]
jmp 0x10060afa
mov ecx, dword [esp + 0x45c]
lea edx, [esp + 0x34]
mov eax, dword [ecx - 8]
lea ecx, [esp + 0x45c]
sub eax, esi
dec eax
push eax
push edx
call fcn.10170563
push eax
mov ecx, ebp
mov byte [esp + 0x458], 9
call fcn.101733ae
mov byte [esp + 0x454], 5
lea ecx, [esp + 0x34]
jmp 0x10060afa
mov eax, dword [esp + 0x45c]
lea ecx, [esp + 0x30]
mov eax, dword [eax - 8]
sub eax, esi
dec eax
push eax
push ecx
lea ecx, [esp + 0x464]
call fcn.10170563
push eax
mov ecx, ebx
mov byte [esp + 0x458], 0xa
call fcn.101733ae
mov byte [esp + 0x454], 5
lea ecx, [esp + 0x30]
call fcn.10173267
lea edx, [esp + 0x28]
push esi
push edx
lea ecx, [esp + 0x464]
call fcn.101705df
push eax
lea ecx, [esp + 0x460]
mov byte [esp + 0x458], 0xb
call fcn.101733ae
lea ecx, [esp + 0x28]
mov byte [esp + 0x454], 5
call fcn.10173267
dec edi
jns 0x100609b2
mov ebp, dword [esp + 0x1c]
push 0x20
lea ecx, [esp + 0x460]
call fcn.101706ab
mov esi, eax
cmp esi, 0xffffffff
je 0x10060c34
mov eax, dword [esp + 0x10]
mov ax, word [eax]
and eax, 0xffff
cmp eax, 0x68
je 0x10060bb7
cmp eax, 0x74
jne 0x10060bfc
mov ecx, dword [esp + 0x45c]
lea edx, [esp + 0x1c]
mov eax, dword [ecx - 8]
lea ecx, [esp + 0x45c]
sub eax, esi
dec eax
push eax
push edx
call fcn.10170563
mov ecx, dword [esp + 0x470]
push eax
mov byte [esp + 0x458], 0xd
call fcn.101733ae
mov byte [esp + 0x454], 5
lea ecx, [esp + 0x1c]
jmp 0x10060bf7
mov eax, dword [esp + 0x45c]
lea ecx, [esp + 0x28]
mov eax, dword [eax - 8]
sub eax, esi
dec eax
push eax
push ecx
lea ecx, [esp + 0x464]
call fcn.10170563
mov ecx, dword [esp + 0x474]
push eax
mov byte [esp + 0x458], 0xc
call fcn.101733ae
mov byte [esp + 0x454], 5
lea ecx, [esp + 0x28]
call fcn.10173267
lea edx, [esp + 0x1c]
push esi
push edx
lea ecx, [esp + 0x464]
call fcn.101705df
push eax
lea ecx, [esp + 0x460]
mov byte [esp + 0x458], 0xe
call fcn.101733ae
lea ecx, [esp + 0x1c]
mov byte [esp + 0x454], 5
call fcn.10173267
lea eax, [esp + 0x3c]
lea ecx, [esp + 0x2c]
push eax
call fcn.101732db
mov bl, 0xf
push 0x2a
push 0x79
lea ecx, [esp + 0x34]
mov byte [esp + 0x45c], bl
call fcn.101702b9
push 0x2a
push 0x4d
lea ecx, [esp + 0x34]
call fcn.101702b9
push 0x2a
push 0x64
lea ecx, [esp + 0x34]
call fcn.101702b9
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x45c]
push ecx
push edx
call fcn.10014590
add esp, 8
test eax, eax
jne 0x10060cf7
lea eax, [esp + 0x20]
push eax
call fcn.101224e0
lea ecx, [esp + 0x20]
call fcn.101220d0
mov ecx, dword [esp + 0x464]
push eax
push 0x101bf9fc
push ecx
call fcn.10170a41
add esp, 0xc
lea ecx, [esp + 0x20]
call fcn.101220f0
mov edx, dword [esp + 0x468]
push eax
push 0x101bf9fc
push edx
call fcn.10170a41
add esp, 0xc
lea ecx, [esp + 0x20]
call fcn.10122110
push eax
mov eax, dword [esp + 0x470]
push 0x101bf9fc
push eax
call fcn.10170a41
add esp, 0xc
jmp 0x10060f81
lea edi, [ebp - 1]
mov ebp, dword [esp + 0x468]
test edi, edi
jl 0x10060e4d
mov ecx, dword [esp + 0x24]
mov ax, word [ecx + edi*2]
lea ecx, [esp + 0x45c]
push eax
call fcn.101706ab
mov esi, eax
cmp esi, 0xffffffff
je 0x10060e0f
mov edx, dword [esp + 0x14]
mov ax, word [edx + edi*2 + 2]
and eax, 0xffff
cmp eax, 0x4d
je 0x10060dd0
cmp eax, 0x64
je 0x10060d8f
cmp eax, 0x79
jne 0x10060e0f
mov eax, dword [esp + 0x45c]
lea ecx, [esp + 0x1c]
mov eax, dword [eax - 8]
sub eax, esi
dec eax
push eax
push ecx
lea ecx, [esp + 0x464]
call fcn.10170563
mov ecx, dword [esp + 0x464]
push eax
mov byte [esp + 0x458], 0x10
call fcn.101733ae
mov byte [esp + 0x454], bl
lea ecx, [esp + 0x1c]
jmp 0x10060e0a
mov edx, dword [esp + 0x45c]
lea ecx, [esp + 0x45c]
mov eax, dword [edx - 8]
sub eax, esi
dec eax
push eax
lea eax, [esp + 0x2c]
push eax
call fcn.10170563
mov ecx, dword [esp + 0x46c]
push eax
mov byte [esp + 0x458], 0x12
call fcn.101733ae
mov byte [esp + 0x454], bl
lea ecx, [esp + 0x28]
jmp 0x10060e0a
mov ecx, dword [esp + 0x45c]
lea edx, [esp + 0x30]
mov eax, dword [ecx - 8]
lea ecx, [esp + 0x45c]
sub eax, esi
dec eax
push eax
push edx
call fcn.10170563
push eax
mov ecx, ebp
mov byte [esp + 0x458], 0x11
call fcn.101733ae
mov byte [esp + 0x454], bl
lea ecx, [esp + 0x30]
call fcn.10173267
lea eax, [esp + 0x34]
push esi
push eax
lea ecx, [esp + 0x464]
call fcn.101705df
push eax
lea ecx, [esp + 0x460]
mov byte [esp + 0x458], 0x13
call fcn.101733ae
lea ecx, [esp + 0x34]
mov byte [esp + 0x454], bl
call fcn.10173267
dec edi
jns 0x10060d09
push 0x20
lea ecx, [esp + 0x460]
call fcn.101706ab
mov esi, eax
cmp esi, 0xffffffff
je 0x10060f81
mov ecx, dword [esp + 0x14]
mov ax, word [ecx]
and eax, 0xffff
cmp eax, 0x4d
je 0x10060f0b
cmp eax, 0x64
je 0x10060eca
cmp eax, 0x79
jne 0x10060f4a
mov edx, dword [esp + 0x45c]
lea ecx, [esp + 0x45c]
mov eax, dword [edx - 8]
sub eax, esi
dec eax
push eax
lea eax, [esp + 0x20]
push eax
call fcn.10170563
mov ecx, dword [esp + 0x464]
push eax
mov byte [esp + 0x458], 0x14
call fcn.101733ae
mov byte [esp + 0x454], bl
lea ecx, [esp + 0x1c]
jmp 0x10060f45
mov ecx, dword [esp + 0x45c]
lea edx, [esp + 0x28]
mov eax, dword [ecx - 8]
lea ecx, [esp + 0x45c]
sub eax, esi
dec eax
push eax
push edx
call fcn.10170563
mov ecx, dword [esp + 0x46c]
push eax
mov byte [esp + 0x458], 0x16
call fcn.101733ae
mov byte [esp + 0x454], bl
lea ecx, [esp + 0x28]
jmp 0x10060f45
mov eax, dword [esp + 0x45c]
lea ecx, [esp + 0x30]
mov eax, dword [eax - 8]
sub eax, esi
dec eax
push eax
push ecx
lea ecx, [esp + 0x464]
call fcn.10170563
push eax
mov ecx, ebp
mov byte [esp + 0x458], 0x15
call fcn.101733ae
mov byte [esp + 0x454], bl
lea ecx, [esp + 0x30]
call fcn.10173267
lea edx, [esp + 0x1c]
push esi
push edx
lea ecx, [esp + 0x464]
call fcn.101705df
push eax
lea ecx, [esp + 0x460]
mov byte [esp + 0x458], 0x17
call fcn.101733ae
lea ecx, [esp + 0x1c]
mov byte [esp + 0x454], bl
call fcn.10173267
lea ecx, [esp + 0x2c]
mov byte [esp + 0x454], 5
call fcn.10173267
lea ecx, [esp + 0x14]
mov byte [esp + 0x454], 4
call fcn.10173267
lea ecx, [esp + 0x24]
mov byte [esp + 0x454], 2
call fcn.10173267
lea ecx, [esp + 0x10]
mov byte [esp + 0x454], 1
call fcn.10173267
lea ecx, [esp + 0x18]
mov byte [esp + 0x454], 0
call fcn.10173267
lea ecx, [esp + 0x45c]
mov dword [esp + 0x454], 0xffffffff
call fcn.10173267
mov ecx, dword [esp + 0x44c]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x448
ret 0x24