Function at 0x417f38
Capabilities:
Get geographical location

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4813fa
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x1a0
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x14], ecx
call dword [sym.imp.kernel32.dll_GetSystemDefaultLCID]
lea edx, [ebp - 0x1ac]
push 0x80
push edx
push 0x1001
push eax
call dword [sym.imp.kernel32.dll_GetLocaleInfoA]
mov edx, dword [0x4dc0e8]
mov al, byte [edx + 0x10c]
test al, al
jne 0x417f9e
mov eax, dword [ebp - 0x14]
lea esi, [eax + 0x10]
jmp 0x4180aa
add edx, 0x10c
push edx
push 0x6eb21c
call fcn.00406010
mov edi, eax
add esp, 8
xor eax, eax
mov dh, byte [edi]
mov ecx, edi
test dh, dh
je 0x417fc6
inc ecx
inc eax
mov dl, byte [ecx]
test dl, dl
jne 0x417fbe
cmp eax, 0x80
jl 0x417fde
mov eax, 0x7f
mov dword [ebp - 0x12c], 0x7f
jmp 0x417fe4
mov dword [ebp - 0x12c], eax
test eax, eax
je 0x417fff
lea edx, [ebp - 0x128]
push eax
push edi
push edx
call fcn.0046edc0
add esp, 0xc
mov eax, dword [ebp - 0x12c]
mov byte [ebp + eax - 0x128], 0
mov dword [ebp - 4], 0
mov edx, dword [ebp - 0x14]
lea esi, [edx + 0x10]
mov ebx, dword [edx + 0x224]
and ebx, 3
add ebx, ebx
add ebx, ebx
lea eax, [ebx + ebx]
add eax, eax
add eax, eax
add eax, eax
add eax, eax
add eax, ebx
mov dword [ebp - 0x18], eax
lea ebx, [eax + edx + 0x10]
lea edi, [ebp - 0x128]
xor eax, eax
mov dh, byte [edi]
mov ecx, edi
test dh, dh
je 0x41804d
inc ecx
inc eax
mov dl, byte [ecx]
test dl, dl
jne 0x418045
cmp eax, 0x80
jl 0x418069
mov eax, 0x7f
mov edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
mov dword [edx + ecx + 0x10], 0x7f
jmp 0x418073
mov edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
mov dword [edx + ecx + 0x10], eax
test eax, eax
je 0x418095
lea ecx, [ebx + 4]
lea edx, [ebp - 0x128]
push eax
push edx
push ecx
call fcn.0046edc0
add esp, 0xc
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x14]
mov eax, dword [eax + edx + 0x10]
mov byte [eax + ebx + 4], 0
mov eax, dword [ebp - 0x14]
inc dword [eax + 0x224]
mov dword [ebp - 4], 0xffffffff
mov edx, dword [0x4dc0ec]
mov al, byte [edx + 0x10c]
test al, al
je 0x4180c2
add edx, 0x10c
jmp 0x4180c8
lea edx, [ebp - 0x1ac]
push edx
push 0x6eb21c
call fcn.00406010
mov edi, eax
add esp, 8
xor eax, eax
mov dh, byte [edi]
mov ecx, edi
test dh, dh
je 0x4180ea
inc ecx
inc eax
mov dl, byte [ecx]
test dl, dl
jne 0x4180e2
cmp eax, 0x80
jl 0x418102
mov eax, 0x7f
mov dword [ebp - 0xa8], 0x7f
jmp 0x418108
mov dword [ebp - 0xa8], eax
test eax, eax
je 0x418123
lea edx, [ebp - 0xa4]
push eax
push edi
push edx
call fcn.0046edc0
add esp, 0xc
mov eax, dword [ebp - 0xa8]
mov byte [ebp + eax - 0xa4], 0
mov ebx, dword [esi + 0x214]
and ebx, 3
add ebx, ebx
add ebx, ebx
lea eax, [ebx + ebx]
add eax, eax
add eax, eax
add eax, eax
add eax, eax
add eax, ebx
lea ebx, [esi + eax]
lea edx, [esi + eax + 4]
lea edi, [ebp - 0xa4]
mov dword [ebp - 0x18], edx
xor eax, eax
mov dh, byte [edi]
mov ecx, edi
test dh, dh
je 0x418167
inc ecx
inc eax
mov dl, byte [ecx]
test dl, dl
jne 0x41815f
cmp eax, 0x80
jl 0x41817b
mov eax, 0x7f
mov dword [ebx], 0x7f
jmp 0x41817d
mov dword [ebx], eax
test eax, eax
je 0x418197
lea edx, [ebp - 0xa4]
push eax
push edx
mov eax, dword [ebp - 0x18]
push eax
call fcn.0046edc0
add esp, 0xc
mov eax, dword [ebx]
mov byte [eax + ebx + 4], 0
mov edi, dword [ebp - 0x24]
mov ebx, dword [ebp - 0x1c]
inc dword [esi + 0x214]
mov esi, dword [ebp - 0x20]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret