Function at 0x4bdec0
Capabilities:
Get geographical location

Disassembly:
push ebp
xor eax, eax
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x324
mov word [0x7aea80], ax
mov esi, dword [sym.imp.kernel32.dll_EnumTimeFormatsW]
mov dword [esp + 8], 0
mov dword [esp + 4], 0x409
mov dword [esp], 0x4b3e20
call esi
sub esp, 0xc
mov ebx, eax
call fcn.0057d110
mov dword [eax], 0x5d8897
mov edx, dword fs:[0x18]
mov dword [eax + 4], 0x139b
mov eax, dword [edx + 0x34]
mov dword [ebp - 0x310], edx
mov dword [esp + 8], eax
mov dword [esp], ebx
lea ebx, [ebp - 0x20c]
mov dword [esp + 4], str.EnumTimeFormatsW_0__error__ld_n
call fcn.004b46e0
mov eax, dword [sym.imp.kernel32.dll_GetLocaleInfoW]
mov dword [esp + 0xc], 0x100
mov dword [esp + 8], ebx
mov dword [esp + 4], 0x1003
mov dword [esp], 0x409
mov dword [ebp - 0x318], eax
call eax
sub esp, 0x10
mov edi, eax
call fcn.0057d110
mov edx, dword [ebp - 0x310]
mov dword [eax], 0x5d8897
mov dword [eax + 4], 0x139d
mov eax, dword [edx + 0x34]
mov dword [esp + 4], str.GetLocaleInfoW_LOCALE_STIMEFORMAT__error__ld_n
mov dword [esp + 8], eax
mov dword [esp], edi
call fcn.004b46e0
call fcn.0057d110
mov dword [eax], 0x5d8897
mov dword [eax + 4], 0x139e
mov eax, ebx
shr eax, 0x10
mov dword [ebp - 0x314], eax
je 0x4be4e0
mov dword [esp + 4], 0xffffffff
mov edi, 0x5d886c
mov dword [esp], ebx
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
sub esp, 8
test eax, eax
jne 0x4bdfde
mov edx, 0xffffffff
mov eax, ebx
call fcn.004b38c0
mov edi, eax
mov eax, 0x7aea80
shr eax, 0x10
mov dword [ebp - 0x310], eax
je 0x4be4b8
mov dword [esp + 4], 0xffffffff
mov dword [esp], 0x7aea80
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov edx, 0x5d886c
sub esp, 8
test eax, eax
jne 0x4be024
mov edx, 0xffffffff
mov eax, 0x7aea80
call fcn.004b38c0
mov edx, eax
mov eax, dword [sym.imp.kernel32.dll_lstrcmpW]
mov dword [ebp - 0x320], edx
mov dword [esp + 4], ebx
mov dword [esp], 0x7aea80
mov dword [ebp - 0x31c], eax
call eax
sub esp, 8
test eax, eax
sete al
mov dword [esp + 0xc], edi
mov edx, dword [ebp - 0x320]
movzx eax, al
mov dword [esp + 4], str.expected___s__got___s__n
mov dword [esp + 8], edx
mov dword [esp], eax
call fcn.004b46e0
xor eax, eax
mov word [0x7aea80], ax
mov dword [esp + 8], 0x40000000
mov dword [esp + 4], 0x409
mov dword [esp], 0x4b3e20
call esi
sub esp, 0xc
mov edi, eax
call fcn.0057d110
mov dword [eax], 0x5d8897
mov edx, dword fs:[0x18]
mov dword [eax + 4], 0x13a3
mov eax, dword [edx + 0x34]
mov dword [ebp - 0x320], edx
mov dword [esp + 8], eax
mov dword [esp], edi
mov dword [esp + 4], str.EnumTimeFormatsW_LOCALE_USE_CP_ACP__error__ld_n
call fcn.004b46e0
mov dword [esp + 0xc], 0x100
mov dword [esp + 8], ebx
mov dword [esp + 4], 0x1003
mov dword [esp], 0x409
mov eax, dword [ebp - 0x318]
call eax
sub esp, 0x10
mov edi, eax
call fcn.0057d110
mov edx, dword [ebp - 0x320]
mov dword [eax], 0x5d8897
mov dword [eax + 4], 0x13a5
mov eax, dword [edx + 0x34]
mov dword [esp + 4], str.GetLocaleInfoW_LOCALE_STIMEFORMAT__error__ld_n
mov dword [esp + 8], eax
mov dword [esp], edi
call fcn.004b46e0
call fcn.0057d110
mov dword [eax], 0x5d8897
mov dword [eax + 4], 0x13a6
mov eax, dword [ebp - 0x314]
test eax, eax
je 0x4be530
mov dword [esp + 4], 0xffffffff
mov edi, 0x5d886c
mov dword [esp], ebx
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
sub esp, 8
test eax, eax
jne 0x4be169
mov edx, 0xffffffff
mov eax, ebx
call fcn.004b38c0
mov edi, eax
mov eax, dword [ebp - 0x310]
test eax, eax
je 0x4be500
mov dword [esp + 4], 0xffffffff
mov dword [esp], 0x7aea80
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov edx, 0x5d886c
sub esp, 8
test eax, eax
jne 0x4be1a9
mov edx, 0xffffffff
mov eax, 0x7aea80
call fcn.004b38c0
mov edx, eax
mov dword [ebp - 0x320], edx
mov dword [esp + 4], ebx
mov dword [esp], 0x7aea80
mov eax, dword [ebp - 0x31c]
call eax
sub esp, 8
test eax, eax
sete al
mov dword [esp + 0xc], edi
mov edx, dword [ebp - 0x320]
movzx eax, al
mov dword [esp + 4], str.expected___s__got___s__n
mov dword [esp + 8], edx
mov dword [esp], eax
call fcn.004b46e0
xor ecx, ecx
mov word [0x7aea80], cx
mov dword [esp + 8], 2
mov dword [esp + 4], 0x409
mov dword [esp], 0x4b3e20
call esi
sub esp, 0xc
mov esi, eax
test eax, eax
jne 0x4be229
mov eax, dword fs:[0x18]
cmp dword [eax + 0x34], 0x3ec
je 0x4be5a0
call fcn.0057d110
mov dword [eax], 0x5d8897
mov dword [eax + 4], 0x13b1
mov edi, dword fs:[0x18]
mov eax, dword [edi + 0x34]
mov dword [esp], esi
mov dword [esp + 4], str.EnumTimeFormatsW_TIME_NOSECONDS__error__ld_n
mov dword [esp + 8], eax
call fcn.004b46e0
mov dword [esp + 0xc], 0x100
mov dword [esp + 8], ebx
mov dword [esp + 4], 0x79
mov dword [esp], 0x409
mov eax, dword [ebp - 0x318]
call eax
sub esp, 0x10
mov esi, eax
call fcn.0057d110
mov dword [eax], 0x5d8897
mov dword [eax + 4], 0x13b3
mov eax, dword [edi + 0x34]
mov dword [esp + 4], str.GetLocaleInfoW_LOCALE_SSHORTTIME__error__ld_n
mov dword [esp + 8], eax
mov dword [esp], esi
call fcn.004b46e0
call fcn.0057d110
mov edx, dword [ebp - 0x314]
mov dword [eax], 0x5d8897
mov dword [eax + 4], 0x13b4
test edx, edx
je 0x4be580
mov dword [esp + 4], 0xffffffff
mov esi, 0x5d886c
mov dword [esp], ebx
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
sub esp, 8
test eax, eax
jne 0x4be2f5
mov edx, 0xffffffff
mov eax, ebx
call fcn.004b38c0
mov esi, eax
mov eax, dword [ebp - 0x310]
test eax, eax
je 0x4be550
mov dword [esp + 4], 0xffffffff
mov edi, 0x5d886c
mov dword [esp], 0x7aea80
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
sub esp, 8
test eax, eax
jne 0x4be335
mov edx, 0xffffffff
mov eax, 0x7aea80
call fcn.004b38c0
mov edi, eax
mov dword [esp + 4], ebx
mov dword [esp], 0x7aea80
mov eax, dword [ebp - 0x31c]
call eax
sub esp, 8
test eax, eax
sete al
mov dword [esp + 0xc], esi
movzx eax, al
mov dword [esp + 8], edi
mov dword [esp + 4], str.expected___s__got___s__n
mov dword [esp], eax
call fcn.004b46e0
mov dword [esp + 8], 2
mov esi, dword [sym.imp.kernel32.dll_EnumTimeFormatsA]
mov dword [esp + 4], 0x409
mov dword [esp], 0x4b3820
call esi
sub esp, 0xc
mov ebx, eax
call fcn.0057d110
mov dword [eax], 0x5d8897
mov dword [eax + 4], 0x13b9
xor eax, eax
mov edx, dword fs:[0x18]
mov ecx, dword [edx + 0x34]
test ebx, ebx
jne 0x4be3bc
xor eax, eax
cmp ecx, 0x3ec
sete al
mov dword [esp + 0xc], ecx
mov dword [esp + 8], ebx
mov dword [esp + 4], str.EnumTimeFormatsA_TIME_NOSECONDS__ret__d__error__ld_n
mov dword [esp], eax
call fcn.004b46e0
mov dword [esp + 8], 2
mov dword [esp + 4], 0x409
mov dword [esp], 0
call esi
sub esp, 0xc
mov ebx, eax
call fcn.0057d110
mov dword [eax], 0x5d8897
mov dword [eax + 4], 0x13bd
xor eax, eax
mov edx, dword fs:[0x18]
mov ecx, dword [edx + 0x34]
test ebx, ebx
jne 0x4be41f
xor eax, eax
cmp ecx, 0x3ec
sete al
mov dword [esp + 0xc], ecx
mov dword [esp + 8], ebx
mov dword [esp], eax
mov dword [esp + 4], str.EnumTimeFormatsA_TIME_NOSECONDS__ret__d__error__ld_n
call fcn.004b46e0
lea eax, [ebp - 0x30c]
mov dword [esp + 0xc], 0x100
mov dword [esp + 8], eax
mov dword [esp + 4], 0x79
mov dword [esp], 0x409
call dword [sym.imp.kernel32.dll_GetLocaleInfoA]
sub esp, 0x10
mov ebx, eax
call fcn.0057d110
mov dword [eax], 0x5d8897
mov dword [eax + 4], 0x13c2
xor eax, eax
mov edx, dword fs:[0x18]
mov ecx, dword [edx + 0x34]
test ebx, ebx
je 0x4be4a8
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 4], str.GetLocaleInfoA_LOCALE_SSHORTTIME__ret__d__error__ld_n
mov dword [esp], eax
call fcn.004b46e0
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
xor eax, eax
cmp ecx, 0x3ec
sete al
jmp 0x4be485
mov dword [ebp - 0x31c], 0x7aea80
movzx eax, word [ebp - 0x31c]
mov dword [esp], 0x5d8876
mov dword [esp + 4], eax
call fcn.004b35c0
mov edx, eax
jmp 0x4be024
movzx eax, bx
mov dword [esp], 0x5d8876
mov dword [esp + 4], eax
call fcn.004b35c0
mov edi, eax
jmp 0x4bdfde
mov dword [ebp - 0x320], 0x7aea80
movzx eax, word [ebp - 0x320]
mov dword [esp], 0x5d8876
mov dword [esp + 4], eax
call fcn.004b35c0
mov edx, eax
jmp 0x4be1a9
movzx eax, bx
mov dword [esp], 0x5d8876
mov dword [esp + 4], eax
call fcn.004b35c0
mov edi, eax
jmp 0x4be169
mov dword [ebp - 0x310], 0x7aea80
movzx eax, word [ebp - 0x310]
mov dword [esp], 0x5d8876
mov dword [esp + 4], eax
call fcn.004b35c0
mov edi, eax
jmp 0x4be335
movzx eax, bx
mov dword [esp], 0x5d8876
mov dword [esp + 4], eax
call fcn.004b35c0
mov esi, eax
jmp 0x4be2f5
mov eax, 0x13ad
call fcn.004b3be0
mov dword [esp], str.EnumTimeFormatsW_doesnt_support_TIME_NOSECONDS_n
call fcn.004b46b0
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret