Function at 0x49ec10
Capabilities:
Get geographical location

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x54
push ebx
push esi
mov dword [ebp - 8], 0x2e91a04
mov ebx, edx
push edi
mov dword [ebp - 0xc], 6
mov edi, ecx
mov dword [ebp - 8], 0x19
cmp dword [ebp - 8], 0x14
push 1
pop esi
jl 0x49ecda
push 2
lea ecx, [ebp - 0x30]
call fcn.0043557d
push 2
mov dword [ebp - 0xc], 0
pop edx
jmp 0x49ec61
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x30]
mov dword [eax + ecx*4], edx
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], edx
jl 0x49ec55
mov dword [ebp - 0xc], 0
jmp 0x49ec7d
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x14], 0x5cc25bfc
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], esi
jl 0x49ec6f
cmp dword [ebp - 0x14], 0
jne 0x49ec95
cmp dword [ebp - 0x14], 0xef5d
jg 0x49ec95
xor ecx, ecx
jmp 0x49ec97
mov ecx, esi
mov esi, dword [ebp - 8]
neg ecx
mov eax, dword [ebp - 0x30]
mov dword [eax], esi
mov eax, dword [ebp - 0x14]
sub eax, ecx
neg eax
sbb eax, eax
xor edx, edx
inc eax
cmp eax, 0xfffffff6
mov eax, dword [ebp - 0x14]
setne dl
xor ecx, ecx
cmp edx, eax
setg cl
add ecx, esi
mov dword [ebp - 0xc], ecx
lea ecx, [ebp - 0x30]
call fcn.0043564f
dec dword [ebp - 8]
cmp dword [ebp - 8], 0x14
push 1
pop esi
jge 0x49ec3f
mov dword [ebp - 0xc], 0xfffffff3
jmp 0x49edd1
mov dword [ebp - 0x10], 0x23e5
mov dword [ebp - 0x18], 0x8f5063f3
mov dword [ebp - 8], 0
jmp 0x49ed0b
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x24], 0xe80c
inc dword [ebp - 8]
cmp dword [ebp - 8], 2
jl 0x49ecfd
mov eax, dword [ebp - 0x10]
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0xc]
neg eax
je 0x49ed21
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x10]
xor edx, edx
mov eax, dword [ebp - 0xc]
cmp ecx, eax
setne dl
cmp edx, 0x4e785c2f
jle 0x49ed40
cmp dword [ebp - 8], 0
je 0x49ed40
mov edx, esi
jmp 0x49ed42
xor edx, edx
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0xc]
add eax, edx
xor edx, edx
add ecx, eax
mov eax, dword [ebp - 0x10]
cmp eax, ecx
mov eax, dword [ebp - 8]
setl dl
xor ecx, ecx
cmp edx, eax
setle cl
xor edx, edx
inc ecx
jne 0x49ed6c
mov ecx, edx
cmp dword [ebp - 8], edx
je 0x49ed6e
mov ecx, esi
mov eax, dword [ebp - 0x18]
sub ecx, eax
je 0x49edb7
mov dword [ebp - 0x10], 0xfffffff3
jmp 0x49ed93
mov byte [ebp - 1], dl
cmp byte [ebp - 1], 0
je 0x49ed90
push edx
call dword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
xor edx, edx
dec dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xffffffe6
jge 0x49ed7e
mov dword [ebp - 8], 9
jmp 0x49edaf
mov dword [ebp - 0x10], 4
dec dword [ebp - 0x10]
dec dword [ebp - 8]
cmp dword [ebp - 8], 0xfffffff4
jle 0x49eda2
jmp 0x49edce
mov byte [ebp - 1], dl
cmp byte [ebp - 1], 0
je 0x49edce
push 0x47f
push edx
push edx
push edx
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 7
je 0x49ece6
push 2
lea ecx, [ebp - 0x54]
call fcn.0043557d
push 4
lea ecx, [ebp - 0x3c]
call fcn.0043557d
mov dword [ebp - 0x18], 0xfffffffe
lea ecx, [ebp - 0x48]
mov dword [ebp - 0x18], 0x164caf14
push 3
call fcn.0043557d
xor edx, edx
mov dword [ebp - 8], edx
jmp 0x49ee1e
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 0x54]
mov dword [eax + ecx*4], 0xeac8
inc dword [ebp - 8]
cmp dword [ebp - 8], 2
jl 0x49ee0e
mov dword [ebp - 8], edx
jmp 0x49ee39
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 0x3c]
mov dword [eax + ecx*4], 0x833fcb50
inc dword [ebp - 8]
cmp dword [ebp - 8], 4
jl 0x49ee29
mov dword [ebp - 8], edx
jmp 0x49ee54
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 0x48]
mov dword [eax + ecx*4], 0x729cf308
inc dword [ebp - 8]
cmp dword [ebp - 8], 3
jl 0x49ee44
mov dword [ebp - 8], edx
jmp 0x49ee6d
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x1c], 5
inc dword [ebp - 8]
cmp dword [ebp - 8], esi
jl 0x49ee5f
mov byte [ebp - 1], dl
cmp byte [ebp - 1], dl
je 0x49ee83
push edx
call dword [sym.imp.USER32.dll_SetKeyboardState]
xor edx, edx
mov eax, dword [ebp - 0x3c]
mov dword [eax + 0xc], edx
mov dword [ebp - 0x18], 0x8ef6b8f3
mov dword [ebp - 0x10], 0x947597a6
dec dword [ebp - 0x10]
inc dword [eax + 0xc]
cmp dword [eax + 0xc], esi
jle 0x49ee89
lea ecx, [ebp - 0x48]
call fcn.0043564f
lea ecx, [ebp - 0x3c]
call fcn.0043564f
lea ecx, [ebp - 0x54]
call fcn.0043564f
mov dword [edi], 0
jmp 0x49eecc
mov ecx, dword [edi]
mov eax, dword [ebx]
and dword [eax + ecx*4], 0
inc dword [edi]
cmp dword [edi], esi
jl 0x49eec2
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret