Function at 0x50d808
Capabilities:
Get geographical location

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x4c
mov edi, dword [esp + 0x64]
mov ebx, dword [esp + 0x60]
push 0
push dword [edi]
push 0x1d
push ebx
call sub.KERNEL32.DLL_GetLocaleInfoA
mov esi, eax
inc esi
sub esp, 0xc
push esi
call fcn.00507010
add esp, 0x10
mov dword [edi], eax
test edi, edi
je 0x50d84f
push esi
push eax
push 0x1d
push ebx
call sub.KERNEL32.DLL_GetLocaleInfoA
xor ecx, ecx
test eax, eax
setne cl
mov dword [esp + 8], ecx
jmp 0x50d864
sub esp, 0xc
push 0xe
call sub.KERNEL32.DLL_SetLastError
add esp, 0xc
mov dword [esp + 8], 0
push 0
push dword [edi + 4]
push 0x1e
push ebx
call sub.KERNEL32.DLL_GetLocaleInfoA
mov esi, eax
inc esi
sub esp, 0xc
push esi
call fcn.00507010
add esp, 0x10
mov dword [edi + 4], eax
push esi
push eax
push 0x1e
push ebx
call sub.KERNEL32.DLL_GetLocaleInfoA
xor ecx, ecx
test eax, eax
setne cl
mov ebp, ecx
push 0
push dword [edi + 8]
push 0x1003
push ebx
call sub.KERNEL32.DLL_GetLocaleInfoA
mov esi, eax
inc esi
sub esp, 0xc
push esi
call fcn.00507010
add esp, 0x10
mov dword [edi + 8], eax
push esi
push eax
push 0x1003
push ebx
call sub.KERNEL32.DLL_GetLocaleInfoA
mov ecx, ebx
xor ebx, ebx
test eax, eax
setne bl
and ebx, ebp
push 0
push dword [edi + 0xc]
push 0x1f
push ecx
mov ebp, ecx
call sub.KERNEL32.DLL_GetLocaleInfoA
mov esi, eax
inc esi
sub esp, 0xc
push esi
call fcn.00507010
add esp, 0x10
mov dword [edi + 0xc], eax
push esi
push eax
push 0x1f
mov edi, ebp
push edi
call sub.KERNEL32.DLL_GetLocaleInfoA
xor ecx, ecx
test eax, eax
setne cl
and ecx, ebx
mov ebp, ecx
push 0
mov eax, dword [esp + 0x68]
push dword [eax + 0x10]
push 0x20
push edi
call sub.KERNEL32.DLL_GetLocaleInfoA
mov esi, eax
inc esi
sub esp, 0xc
push esi
call fcn.00507010
add esp, 0x10
mov ecx, dword [esp + 0x64]
mov dword [ecx + 0x10], eax
push esi
push eax
push 0x20
push edi
call sub.KERNEL32.DLL_GetLocaleInfoA
xor ebx, ebx
test eax, eax
setne bl
and ebx, ebp
mov eax, edi
mov ebp, dword [esp + 0x64]
push 0
push dword [ebp + 0x14]
push 0x28
push eax
call sub.KERNEL32.DLL_GetLocaleInfoA
mov esi, eax
inc esi
sub esp, 0xc
push esi
call fcn.00507010
add esp, 0x10
mov dword [ebp + 0x14], eax
push esi
push eax
push 0x28
mov esi, edi
push esi
call sub.KERNEL32.DLL_GetLocaleInfoA
xor ecx, ecx
test eax, eax
setne cl
and ecx, ebx
mov edi, ecx
push 0
push dword [ebp + 0x18]
push 0x29
push esi
mov ebx, esi
call sub.KERNEL32.DLL_GetLocaleInfoA
mov esi, eax
inc esi
sub esp, 0xc
push esi
call fcn.00507010
add esp, 0x10
mov dword [ebp + 0x18], eax
push esi
push eax
push 0x29
mov esi, ebx
push esi
call sub.KERNEL32.DLL_GetLocaleInfoA
xor ebx, ebx
test eax, eax
setne bl
and ebx, edi
mov eax, esi
push 0
push dword [ebp + 0x2a]
push 0x2a
push eax
mov edi, eax
call sub.KERNEL32.DLL_GetLocaleInfoA
mov esi, eax
inc esi
sub esp, 0xc
push esi
call fcn.00507010
add esp, 0x10
mov dword [ebp + 0x2a], eax
push esi
push eax
push 0x2a
mov esi, edi
push esi
call sub.KERNEL32.DLL_GetLocaleInfoA
xor ecx, ecx
test eax, eax
setne cl
and ecx, ebx
mov edi, ecx
push 0
push dword [ebp + 0x2e]
push 0x2b
push esi
mov ebx, esi
call sub.KERNEL32.DLL_GetLocaleInfoA
mov esi, eax
inc esi
sub esp, 0xc
push esi
call fcn.00507010
add esp, 0x10
mov dword [ebp + 0x2e], eax
push esi
push eax
push 0x2b
mov esi, ebx
push esi
call sub.KERNEL32.DLL_GetLocaleInfoA
xor ebx, ebx
test eax, eax
setne bl
and ebx, edi
push 0
push dword [ebp + 0x32]
push 0x2c
push esi
mov edi, esi
call sub.KERNEL32.DLL_GetLocaleInfoA
mov esi, eax
inc esi
sub esp, 0xc
push esi
call fcn.00507010
add esp, 0x10
mov dword [ebp + 0x32], eax
push esi
push eax
push 0x2c
mov esi, edi
push esi
call sub.KERNEL32.DLL_GetLocaleInfoA
xor ecx, ecx
test eax, eax
setne cl
and ecx, ebx
mov edi, ecx
push 0
push dword [ebp + 0x36]
push 0x2d
push esi
mov ebx, esi
call sub.KERNEL32.DLL_GetLocaleInfoA
mov esi, eax
inc esi
sub esp, 0xc
push esi
call fcn.00507010
add esp, 0x10
mov dword [ebp + 0x36], eax
push esi
push eax
push 0x2d
mov esi, ebx
push esi
call sub.KERNEL32.DLL_GetLocaleInfoA
xor ebx, ebx
test eax, eax
setne bl
and ebx, edi
push 0
push dword [ebp + 0x3a]
push 0x2e
push esi
mov edi, esi
call sub.KERNEL32.DLL_GetLocaleInfoA
mov esi, eax
inc esi
sub esp, 0xc
push esi
call fcn.00507010
add esp, 0x10
mov dword [ebp + 0x3a], eax
push esi
push eax
push 0x2e
mov esi, edi
push esi
call sub.KERNEL32.DLL_GetLocaleInfoA
xor ecx, ecx
test eax, eax
setne cl
and ecx, ebx
mov edi, ecx
push 0
push dword [ebp + 0x3e]
push 0x2f
push esi
mov ebx, esi
call sub.KERNEL32.DLL_GetLocaleInfoA
mov esi, eax
inc esi
sub esp, 0xc
push esi
call fcn.00507010
add esp, 0x10
mov dword [ebp + 0x3e], eax
push esi
push eax
push 0x2f
mov esi, ebx
push esi
call sub.KERNEL32.DLL_GetLocaleInfoA
xor ebx, ebx
test eax, eax
setne bl
and ebx, edi
push 0
push dword [ebp + 0x42]
push 0x30
push esi
mov edi, esi
call sub.KERNEL32.DLL_GetLocaleInfoA
mov esi, eax
inc esi
sub esp, 0xc
push esi
call fcn.00507010
add esp, 0x10
mov dword [ebp + 0x42], eax
push esi
push eax
push 0x30
mov esi, edi
push esi
call sub.KERNEL32.DLL_GetLocaleInfoA
xor ecx, ecx
test eax, eax
setne cl
and ecx, ebx
mov edi, ecx
push 0
push dword [ebp + 0x46]
push 0x31
push esi
mov ebx, esi
call sub.KERNEL32.DLL_GetLocaleInfoA
mov esi, eax
inc esi
sub esp, 0xc
push esi
call fcn.00507010
add esp, 0x10
mov dword [ebp + 0x46], eax
push esi
push eax
push 0x31
mov esi, ebx
push esi
call sub.KERNEL32.DLL_GetLocaleInfoA
xor ebx, ebx
test eax, eax
setne bl
and ebx, edi
push 0
push dword [ebp + 0x4a]
push 0x32
push esi
mov edi, esi
call sub.KERNEL32.DLL_GetLocaleInfoA
mov esi, eax
inc esi
sub esp, 0xc
push esi
call fcn.00507010
add esp, 0x10
les edx, [eax]