Function at 0x76b5018c
Capabilities:
Get geographical location

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
push ebx
push esi
push edi
call fcn.76b58023
mov ebx, dword [ebp + 8]
lea esi, [eax + 0x9c]
test ebx, ebx
jne 0x76b501b4
lea edi, [esi + 8]
or dword [edi], 0x104
jmp 0x76b5027e
lea ecx, [ebx + 0x40]
mov dword [esi], ebx
lea eax, [esi + 4]
mov dword [eax], ecx
test ecx, ecx
je 0x76b501da
cmp byte [ecx], 0
je 0x76b501da
push eax
push 0x16
push 0x76af1568
call fcn.76b50122
add esp, 0xc
lea eax, [esi + 4]
mov ecx, dword [esi]
lea edi, [esi + 8]
and dword [edi], 0
test ecx, ecx
je 0x76b5023f
cmp byte [ecx], 0
je 0x76b5023f
mov eax, dword [eax]
test eax, eax
je 0x76b501fe
cmp byte [eax], 0
je 0x76b501fe
push esi
call fcn.76b4fb7e
jmp 0x76b50204
push esi
call fcn.76b4fc0c
cmp dword [edi], 0
pop ecx
jne 0x76b50293
push esi
push 0x41
push 0x76af1358
call fcn.76b50122
add esp, 0xc
test eax, eax
je 0x76b5028a
mov eax, dword [esi + 4]
test eax, eax
je 0x76b50236
cmp byte [eax], 0
je 0x76b50236
push esi
call fcn.76b4fb7e
jmp 0x76b5023c
push esi
call fcn.76b4fc0c
pop ecx
jmp 0x76b5028a
mov ecx, dword [eax]
test ecx, ecx
je 0x76b50278
cmp byte [ecx], 0
je 0x76b50278
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x76b5024d
xor eax, eax
sub ecx, edx
cmp ecx, 3
push 1
sete al
push 0x76b4fae0
mov dword [esi + 0x14], eax
call dword [sym.imp.api_ms_win_core_localization_l1_2_0.dll_EnumSystemLocalesA]
test byte [edi], 4
jne 0x76b5028a
and dword [edi], 0
jmp 0x76b5028a
mov dword [edi], 0x104
call dword [sym.imp.api_ms_win_core_localization_l1_2_0.dll_GetUserDefaultLCID]
mov dword [esi + 0x18], eax
mov dword [esi + 0x1c], eax
cmp dword [edi], 0
je 0x76b50390
lea eax, [ebx + 0x80]
neg ebx
push esi
sbb ebx, ebx
and ebx, eax
push ebx
call fcn.76b4ffb7
mov ebx, eax
pop ecx
pop ecx
test ebx, ebx
je 0x76b50390
cmp ebx, 0xfde8
je 0x76b50390
mov edi, 0xfde9
cmp ebx, edi
jne 0x76b502d5
call dword [sym.imp.api_ms_win_core_localization_l1_2_0.dll_GetACP]
cmp eax, edi
jne 0x76b50390
movzx edi, bx
push edi
call dword [sym.imp.api_ms_win_core_localization_l1_2_0.dll_IsValidCodePage]
test eax, eax
je 0x76b50390
push 1
push dword [esi + 0x18]
call dword [sym.imp.api_ms_win_core_localization_l1_2_0.dll_IsValidLocale]
test eax, eax
je 0x76b50390
mov ecx, dword [ebp + 0xc]
test ecx, ecx
je 0x76b50314
mov ax, word [esi + 0x18]
mov word [ecx], ax
mov ax, word [esi + 0x1c]
mov word [ecx + 2], ax
mov word [ecx + 4], di
mov edi, dword [ebp + 0x10]
test edi, edi
je 0x76b5038b
mov eax, 0x814
cmp word [ecx], ax
jne 0x76b5034a
push 0x76af68a0
push 0x40
push edi
call sym.msvcrt.dll_strcpy_s
add esp, 0xc
test eax, eax
je 0x76b5035f
xor eax, eax
push eax
push eax
push eax
push eax
push eax
call fcn.76b4977b
add esp, 0x14
jmp 0x76b5035f
push 0x40
push edi
push 0x1001
push dword [esi + 0x18]
call dword [sym.imp.api_ms_win_core_localization_l1_2_0.dll_GetLocaleInfoA]
test eax, eax
je 0x76b50390
push 0x40
lea eax, [edi + 0x40]
push eax
push 0x1002
push dword [esi + 0x1c]
call dword [sym.imp.api_ms_win_core_localization_l1_2_0.dll_GetLocaleInfoA]
test eax, eax
je 0x76b50390
push 0xa
push 0x10
lea ecx, [edi + 0x80]
push ecx
push ebx
call sym.msvcrt.dll__itoa_s
add esp, 0x10
xor eax, eax
inc eax
jmp 0x76b50392
xor eax, eax
pop edi
pop esi
pop ebx
pop ebp
ret