Function at 0x4b4e60
Capabilities:
Get geographical location

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
mov esi, dword fs:[0x18]
sub esp, 0xbc
call dword [sym.imp.kernel32.dll_GetUserDefaultLCID]
mov dword [esi + 0x34], 0xdeadbeef
mov dword [ebp - 0xb0], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0x1f
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_SetLocaleInfoA]
sub esp, 0xc
mov ebx, eax
call fcn.0057d110
mov dword [eax], 0x5d8897
mov dword [eax + 4], 0x128c
xor eax, eax
mov edx, dword [esi + 0x34]
test ebx, ebx
jne 0x4b4ec7
xor eax, eax
cmp edx, 0x57
sete al
mov dword [esp + 8], edx
mov dword [esp], eax
mov dword [esp + 4], 0x5d8c1c
mov esi, dword fs:[0x18]
call fcn.004b46e0
mov dword [esi + 0x34], 0xdeadbeef
mov dword [esp + 8], 0
mov dword [esp + 4], 0x1f
mov eax, dword [ebp - 0xb0]
mov dword [esp], eax
mov eax, dword [sym.imp.kernel32.dll_SetLocaleInfoW]
mov dword [ebp - 0xb4], eax
call eax
sub esp, 0xc
mov ebx, eax
call fcn.0057d110
mov dword [eax], 0x5d8897
mov dword [eax + 4], 0x1291
xor eax, eax
mov edx, dword [esi + 0x34]
test ebx, ebx
jne 0x4b4f37
xor eax, eax
cmp edx, 0x57
sete al
mov dword [esp + 8], edx
mov dword [esp], eax
mov dword [esp + 4], 0x5d8c1c
mov esi, dword fs:[0x18]
call fcn.004b46e0
mov dword [esi + 0x34], 0xdeadbeef
mov dword [esp + 8], 0
mov dword [esp + 4], 0x2a
mov eax, dword [ebp - 0xb0]
mov dword [esp], eax
mov eax, dword [ebp - 0xb4]
call eax
sub esp, 0xc
mov ebx, eax
call fcn.0057d110
mov dword [eax], 0x5d8897
mov dword [eax + 4], 0x1296
xor eax, eax
mov edx, dword [esi + 0x34]
test ebx, ebx
jne 0x4b4fa2
xor eax, eax
cmp edx, 0x57
sete al
mov dword [esp + 8], edx
xor ebx, ebx
lea esi, [ebp - 0xac]
mov dword [esp + 4], 0x5d8c1c
mov dword [esp], eax
mov edi, dword fs:[0x18]
call fcn.004b46e0
jmp 0x4b5033
lea ecx, [ebx - 0xc]
mov eax, 1
shl eax, cl
test eax, 0x309fbdff
je 0x4b5170
mov dword [ebp - 0xb8], edx
call fcn.0057d110
mov dword [eax], 0x5d8897
mov dword [eax + 4], 0x12c2
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x34]
mov dword [esp + 8], ebx
mov dword [esp + 4], str._04x:_failed_err__lu_n
mov dword [esp + 0xc], eax
mov edx, dword [ebp - 0xb8]
mov dword [esp], edx
call fcn.004b46e0
add ebx, 1
cmp ebx, 0x1015
je 0x4b5111
mov dword [esp + 0xc], 0x50
mov dword [esp + 8], esi
mov dword [esp + 4], ebx
mov dword [esp], 0x400
call dword [sym.imp.kernel32.dll_GetLocaleInfoW]
sub esp, 0x10
test eax, eax
je 0x4b5024
mov dword [edi + 0x34], 0xdeadbeef
mov dword [esp + 8], esi
mov dword [esp + 4], ebx
mov eax, dword [ebp - 0xb0]
mov dword [esp], eax
mov eax, dword [ebp - 0xb4]
call eax
sub esp, 0xc
mov edx, eax
cmp ebx, 0x29
ja 0x4b5120
cmp ebx, 0xb
ja 0x4b4fd0
nop
mov dword [ebp - 0xb8], edx
call fcn.0057d110
mov dword [eax], 0x5d8897
mov dword [eax + 4], 0x12c9
xor eax, eax
mov dword [esp + 8], ebx
mov dword [esp + 4], str._04x:_succeeded_n
mov edx, dword [ebp - 0xb8]
test edx, edx
sete al
mov dword [esp], eax
call fcn.004b46e0
call fcn.0057d110
mov dword [eax], 0x5d8897
mov dword [eax + 4], 0x12ca
mov eax, dword [edi + 0x34]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
xor eax, eax
mov dword [esp + 4], str._04x:_wrong_error__lu_n
cmp dword [edi + 0x34], 0x3ec
sete al
add ebx, 1
mov dword [esp], eax
call fcn.004b46e0
cmp ebx, 0x1015
jne 0x4b5033
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
cmp ebx, 0x1002
jbe 0x4b5148
lea eax, [ebx - 0x1003]
mov ecx, 0x226c9
bt ecx, eax
jae 0x4b5090
jmp 0x4b4fe5
cmp ebx, 0x51
ja 0x4b5160
cmp ebx, 0x4f
jbe 0x4b5090
jmp 0x4b4fe5
cmp ebx, 0x79
jne 0x4b5090
jmp 0x4b4fe5
cmp ebx, 0x15
jne 0x4b5090
mov dword [ebp - 0xb8], edx
call fcn.0057d110
mov edx, dword [ebp - 0xb8]
mov dword [eax], 0x5d8897
mov dword [eax + 4], 0x12c5
mov eax, 1
mov ecx, dword [edi + 0x34]
test edx, edx
jne 0x4b51b0
mov edx, dword [0x8f0770]
xor eax, eax
test edx, edx
sete al
mov dword [esp + 0xc], ecx
mov ebx, 0x16
mov dword [esp + 8], 0x15
mov dword [esp + 4], str._04x:_failed_err__lu_n
mov dword [esp], eax
call fcn.004b46e0
jmp 0x4b5033