Function at 0x10062de0
Capabilities:
Get geographical location

Disassembly:
push 0xffffffffffffffff
push 0x101aad95
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 0x10063756
push 0xd
lea ecx, [esp + 0x460]
call fcn.10193c3c
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.10196aa9
mov edi, dword [esp + 0x460]
mov byte [esp + 0x454], 1
cmp edi, ebp
je 0x10062ecb
push 0x73
lea ecx, [esp + 0x1c]
call fcn.10196f71
cmp eax, 0xffffffff
je 0x10062ecb
cmp eax, ebp
je 0x10062ecb
dec eax
push 1
push eax
lea ecx, [esp + 0x20]
call fcn.101938c4
push 0x74
lea ecx, [esp + 0x1c]
call fcn.10193c3c
push 0x48
lea ecx, [esp + 0x1c]
call fcn.10193c3c
push 0x68
lea ecx, [esp + 0x1c]
call fcn.10193c3c
push 0x6d
lea ecx, [esp + 0x1c]
call fcn.10193c3c
push 0x73
lea ecx, [esp + 0x1c]
call fcn.10193c3c
lea ecx, [esp + 0x244]
push ecx
lea ecx, [esp + 0x14]
call fcn.10196aa9
mov edx, dword [esp + 0x10]
mov byte [esp + 0x454], 2
mov eax, dword [edx - 8]
lea esi, [eax - 1]
cmp esi, ebp
jl 0x10062f77
mov bl, 3
push 0x101ff964
lea ecx, [esp + 0x24]
call fcn.10196aa9
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x20]
mov byte [esp + 0x454], bl
mov ax, word [eax + esi*2]
push eax
call fcn.10196f71
cmp eax, 0xffffffff
jne 0x10062f63
push 1
push esi
lea ecx, [esp + 0x18]
call fcn.101938c4
lea ecx, [esp + 0x20]
mov byte [esp + 0x454], 2
call fcn.10196a35
dec esi
jns 0x10062f2b
cmp edi, ebp
je 0x10062f86
push 0x73
lea ecx, [esp + 0x14]
call fcn.10193c3c
push 0x101ff960
push 0x101ff958
lea ecx, [esp + 0x18]
call fcn.10193acb
push 0x101ff954
push 0x101ff94c
lea ecx, [esp + 0x18]
call fcn.10193acb
push 0x68
push 0x48
lea ecx, [esp + 0x18]
call fcn.10193a87
push 0x101ff954
push 0x101ff944
lea ecx, [esp + 0x18]
call fcn.10193acb
push 0x101ff940
push 0x101ff938
lea ecx, [esp + 0x18]
call fcn.10193acb
push 0x101ff934
push 0x101ff92c
lea ecx, [esp + 0x18]
call fcn.10193acb
lea ecx, [esp + 0x3c]
push ecx
lea ecx, [esp + 0x28]
call fcn.10196aa9
push 0x79
lea ecx, [esp + 0x28]
mov byte [esp + 0x458], 4
call fcn.10193c3c
push 0x4d
lea ecx, [esp + 0x28]
call fcn.10193c3c
push 0x64
lea ecx, [esp + 0x28]
call fcn.10193c3c
lea edx, [esp + 0x3c]
lea ecx, [esp + 0x14]
push edx
call fcn.10196aa9
mov eax, dword [esp + 0x14]
mov byte [esp + 0x454], 5
mov eax, dword [eax - 8]
lea esi, [eax - 1]
cmp esi, ebp
jl 0x1006309b
mov bl, 6
push 0x101ff924
lea ecx, [esp + 0x24]
call fcn.10196aa9
mov ecx, dword [esp + 0x14]
mov byte [esp + 0x454], bl
mov ax, word [ecx + esi*2]
lea ecx, [esp + 0x20]
push eax
call fcn.10196f71
cmp eax, 0xffffffff
jne 0x10063087
push 1
push esi
lea ecx, [esp + 0x1c]
call fcn.101938c4
lea ecx, [esp + 0x20]
mov byte [esp + 0x454], 5
call fcn.10196a35
dec esi
jns 0x1006304f
push 0x101ff920
push str.yyyy
lea ecx, [esp + 0x1c]
call fcn.10193acb
push 0x101ff920
push 0x101ff90c
lea ecx, [esp + 0x1c]
call fcn.10193acb
push 0x101ff908
push 0x101ff900
lea ecx, [esp + 0x1c]
call fcn.10193acb
push 0x101ff8fc
push 0x101ff8f4
lea ecx, [esp + 0x1c]
call fcn.10193acb
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 0x10063712
dec edx
cmp ebp, edx
jne 0x10063712
lea edi, [eax - 1]
test edi, edi
jl 0x100632c2
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.10193e79
mov esi, eax
cmp esi, 0xffffffff
je 0x100632b7
mov ecx, dword [esp + 0x10]
mov ax, word [ecx + edi*2 + 2]
and eax, 0xffff
add eax, 0xffffff98
cmp eax, 0xc
ja case.0x10063174.108
xor edx, edx
mov dl, byte [eax + 0x1006379c]
jmp dword [edx*4 + 0x10063788]
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.10193d31
mov ecx, dword [esp + 0x470]
push eax
mov byte [esp + 0x458], 7
call fcn.10196b7c
mov byte [esp + 0x454], 5
lea ecx, [esp + 0x20]
jmp 0x1006327a
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.10193d31
mov ecx, dword [esp + 0x474]
push eax
mov byte [esp + 0x458], 8
call fcn.10196b7c
mov byte [esp + 0x454], 5
lea ecx, [esp + 0x38]
jmp 0x1006327a
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.10193d31
push eax
mov ecx, ebp
mov byte [esp + 0x458], 9
call fcn.10196b7c
mov byte [esp + 0x454], 5
lea ecx, [esp + 0x34]
jmp 0x1006327a
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.10193d31
push eax
mov ecx, ebx
mov byte [esp + 0x458], 0xa
call fcn.10196b7c
mov byte [esp + 0x454], 5
lea ecx, [esp + 0x30]
call fcn.10196a35
lea edx, [esp + 0x28]
push esi
push edx
lea ecx, [esp + 0x464]
call fcn.10193dad
push eax
lea ecx, [esp + 0x460]
mov byte [esp + 0x458], 0xb
call fcn.10196b7c
lea ecx, [esp + 0x28]
mov byte [esp + 0x454], 5
call fcn.10196a35
dec edi
jns 0x10063132
mov ebp, dword [esp + 0x1c]
push 0x20
lea ecx, [esp + 0x460]
call fcn.10193e79
mov esi, eax
cmp esi, 0xffffffff
je 0x100633b4
mov eax, dword [esp + 0x10]
mov ax, word [eax]
and eax, 0xffff
cmp eax, 0x68
je 0x10063337
cmp eax, 0x74
jne 0x1006337c
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.10193d31
mov ecx, dword [esp + 0x470]
push eax
mov byte [esp + 0x458], 0xd
call fcn.10196b7c
mov byte [esp + 0x454], 5
lea ecx, [esp + 0x1c]
jmp 0x10063377
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.10193d31
mov ecx, dword [esp + 0x474]
push eax
mov byte [esp + 0x458], 0xc
call fcn.10196b7c
mov byte [esp + 0x454], 5
lea ecx, [esp + 0x28]
call fcn.10196a35
lea edx, [esp + 0x1c]
push esi
push edx
lea ecx, [esp + 0x464]
call fcn.10193dad
push eax
lea ecx, [esp + 0x460]
mov byte [esp + 0x458], 0xe
call fcn.10196b7c
lea ecx, [esp + 0x1c]
mov byte [esp + 0x454], 5
call fcn.10196a35
lea eax, [esp + 0x3c]
lea ecx, [esp + 0x2c]
push eax
call fcn.10196aa9
mov bl, 0xf
push 0x2a
push 0x79
lea ecx, [esp + 0x34]
mov byte [esp + 0x45c], bl
call fcn.10193a87
push 0x2a
push 0x4d
lea ecx, [esp + 0x34]
call fcn.10193a87
push 0x2a
push 0x64
lea ecx, [esp + 0x34]
call fcn.10193a87
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x45c]
push ecx
push edx
call fcn.10014e90
add esp, 8
test eax, eax
jne 0x10063477
lea eax, [esp + 0x20]
push eax
call fcn.10143e00
lea ecx, [esp + 0x20]
call fcn.101439f0
mov ecx, dword [esp + 0x464]
push eax
push 0x101f1560
push ecx
call fcn.1019420f
add esp, 0xc
lea ecx, [esp + 0x20]
call fcn.10143a10
mov edx, dword [esp + 0x468]
push eax
push 0x101f1560
push edx
call fcn.1019420f
add esp, 0xc
lea ecx, [esp + 0x20]
call fcn.10143a30
push eax
mov eax, dword [esp + 0x470]
push 0x101f1560
push eax
call fcn.1019420f
add esp, 0xc
jmp 0x10063701
lea edi, [ebp - 1]
mov ebp, dword [esp + 0x468]
test edi, edi
jl 0x100635cd
mov ecx, dword [esp + 0x24]
mov ax, word [ecx + edi*2]
lea ecx, [esp + 0x45c]
push eax
call fcn.10193e79
mov esi, eax
cmp esi, 0xffffffff
je 0x1006358f
mov edx, dword [esp + 0x14]
mov ax, word [edx + edi*2 + 2]
and eax, 0xffff
cmp eax, 0x4d
je 0x10063550
cmp eax, 0x64
je 0x1006350f
cmp eax, 0x79
jne 0x1006358f
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.10193d31
mov ecx, dword [esp + 0x464]
push eax
mov byte [esp + 0x458], 0x10
call fcn.10196b7c
mov byte [esp + 0x454], bl
lea ecx, [esp + 0x1c]
jmp 0x1006358a
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.10193d31
mov ecx, dword [esp + 0x46c]
push eax
mov byte [esp + 0x458], 0x12
call fcn.10196b7c
mov byte [esp + 0x454], bl
lea ecx, [esp + 0x28]
jmp 0x1006358a
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.10193d31
push eax
mov ecx, ebp
mov byte [esp + 0x458], 0x11
call fcn.10196b7c
mov byte [esp + 0x454], bl
lea ecx, [esp + 0x30]
call fcn.10196a35
lea eax, [esp + 0x34]
push esi
push eax
lea ecx, [esp + 0x464]
call fcn.10193dad
push eax
lea ecx, [esp + 0x460]
mov byte [esp + 0x458], 0x13
call fcn.10196b7c
lea ecx, [esp + 0x34]
mov byte [esp + 0x454], bl
call fcn.10196a35
dec edi
jns 0x10063489
push 0x20
lea ecx, [esp + 0x460]
call fcn.10193e79
mov esi, eax
cmp esi, 0xffffffff
je 0x10063701
mov ecx, dword [esp + 0x14]
mov ax, word [ecx]
and eax, 0xffff
cmp eax, 0x4d
je 0x1006368b
cmp eax, 0x64
je 0x1006364a
cmp eax, 0x79
jne 0x100636ca
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.10193d31
mov ecx, dword [esp + 0x464]
push eax
mov byte [esp + 0x458], 0x14
call fcn.10196b7c
mov byte [esp + 0x454], bl
lea ecx, [esp + 0x1c]
jmp 0x100636c5
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.10193d31
mov ecx, dword [esp + 0x46c]
push eax
mov byte [esp + 0x458], 0x16
call fcn.10196b7c
mov byte [esp + 0x454], bl
lea ecx, [esp + 0x28]
jmp 0x100636c5
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.10193d31
push eax
mov ecx, ebp
mov byte [esp + 0x458], 0x15
call fcn.10196b7c
mov byte [esp + 0x454], bl
lea ecx, [esp + 0x30]
call fcn.10196a35
lea edx, [esp + 0x1c]
push esi
push edx
lea ecx, [esp + 0x464]
call fcn.10193dad
push eax
lea ecx, [esp + 0x460]
mov byte [esp + 0x458], 0x17
call fcn.10196b7c
lea ecx, [esp + 0x1c]
mov byte [esp + 0x454], bl
call fcn.10196a35
lea ecx, [esp + 0x2c]
mov byte [esp + 0x454], 5
call fcn.10196a35
lea ecx, [esp + 0x14]
mov byte [esp + 0x454], 4
call fcn.10196a35
lea ecx, [esp + 0x24]
mov byte [esp + 0x454], 2
call fcn.10196a35
lea ecx, [esp + 0x10]
mov byte [esp + 0x454], 1
call fcn.10196a35
lea ecx, [esp + 0x18]
mov byte [esp + 0x454], 0
call fcn.10196a35
lea ecx, [esp + 0x45c]
mov dword [esp + 0x454], 0xffffffff
call fcn.10196a35
mov ecx, dword [esp + 0x44c]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x448
ret 0x24