Function at 0x430d27
Capabilities:
Get geographical location

Disassembly:
push 0x100
mov eax, 0x444530
call fcn.0043f801
mov edi, edx
mov esi, ecx
mov dword [ebp - 0x104], esi
mov ebx, dword [ebp + 8]
xor eax, eax
mov dword [ebp - 0x100], ebx
mov dword [ebp - 0xdc], eax
mov dword [ebp - 4], eax
push 0x64
push eax
lea eax, [ebp - 0x74]
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
lea eax, [ebp - 0x74]
push 0x32
push eax
push 0x5c
push 0x400
call dword [sym.imp.api_ms_win_core_localization_l1_2_0.dll_GetLocaleInfoW]
test eax, eax
jne 0x430d98
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov edi, eax
test edi, edi
jle 0x431087
movzx edi, di
or edi, 0x80070000
jmp 0x431087
lea eax, [ebp - 0x74]
push eax
lea ecx, [ebp - 0xfc]
call fcn.00411f31
mov byte [ebp - 4], 1
mov ecx, ebx
push edi
call fcn.00411c6f
lea eax, [ebp - 0xfc]
mov ecx, ebx
push eax
call fcn.00411e1a
push ebx
lea ecx, [ebp - 0xdc]
call fcn.00411e1a
push 0x403600
lea ecx, [ebp - 0xe0]
call fcn.00411f31
push 2
pop eax
mov byte [ebp - 4], al
lea eax, [ebp - 0xe0]
push eax
lea ecx, [ebp - 0xdc]
call fcn.00411e1a
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xe0]
call fcn.00411ea5
push esi
lea ecx, [ebp - 0xe0]
call fcn.00411f31
mov byte [ebp - 4], 3
lea eax, [ebp - 0xe0]
push eax
lea ecx, [ebp - 0xdc]
call fcn.00411e1a
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xe0]
call fcn.00411ea5
mov eax, dword [ebp - 0xdc]
test eax, eax
je 0x430e43
mov eax, dword [eax]
jmp 0x430e45
xor eax, eax
push 0
push 0
push 3
push 0
push 1
push 0
push eax
call dword [sym.imp.api_ms_win_core_file_l1_1_0.dll_CreateFileW]
mov esi, eax
mov dword [ebp - 0x108], esi
mov byte [ebp - 4], 4
cmp esi, 0xffffffff
jne 0x431066
push edi
mov ecx, ebx
call fcn.00411c6f
and dword [ebp - 0xe4], 0
lea eax, [ebp - 0xe4]
push eax
push 0
lea eax, [ebp - 0xe0]
push eax
push 8
call dword [sym.imp.api_ms_win_core_localization_l1_2_0.dll_GetUserPreferredUILanguages]
test eax, eax
je 0x431066
mov eax, dword [ebp - 0xe4]
xor ecx, ecx
push 2
pop edx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0043f15c
mov ebx, eax
pop ecx
test ebx, ebx
jne 0x430ec7
mov edi, 0x80041006
jmp 0x431068
mov dword [ebp - 0xf8], ebx
mov byte [ebp - 4], 5
lea eax, [ebp - 0xe4]
push eax
push ebx
lea eax, [ebp - 0xe0]
push eax
push 8
call dword [sym.imp.api_ms_win_core_localization_l1_2_0.dll_GetUserPreferredUILanguages]
test eax, eax
je 0x431053
push 0x64
lea eax, [ebp - 0xd8]
mov edi, ebx
push 0
push eax
call sub.msvcrt.dll_memset
and dword [ebp - 0xf4], 0
add esp, 0xc
cmp dword [ebp - 0xe0], 0
jbe 0x431053
push edi
call dword [sym.imp.api_ms_win_core_string_obsolete_l1_1_0.dll_lstrlenW]
push edi
lea ecx, [ebp - 0xd8]
mov dword [ebp - 0x10c], eax
lea edx, [eax + 1]
call fcn.00412c1b
test eax, eax
js 0x4310a0
lea eax, [ebp - 0xd8]
push eax
lea ecx, [ebp - 0xe8]
call fcn.00411f31
mov byte [ebp - 4], 6
lea eax, [ebp - 0xe8]
mov esi, dword [ebp - 0x100]
mov ecx, esi
push eax
call fcn.00411e1a
mov byte [ebp - 4], 5
lea ecx, [ebp - 0xe8]
call fcn.00411ea5
mov eax, dword [esi]
test eax, eax
je 0x430f80
lock inc dword [eax + 8]
lea ecx, [ebp - 0xdc]
call fcn.00411ea5
mov eax, dword [esi]
lea ecx, [ebp - 0xec]
push 0x403600
mov dword [ebp - 0xdc], eax
call fcn.00411f31
mov byte [ebp - 4], 7
lea eax, [ebp - 0xec]
push eax
lea ecx, [ebp - 0xdc]
call fcn.00411e1a
mov byte [ebp - 4], 5
lea ecx, [ebp - 0xec]
call fcn.00411ea5
push dword [ebp - 0x104]
lea ecx, [ebp - 0xf0]
call fcn.00411f31
mov byte [ebp - 4], 8
lea eax, [ebp - 0xf0]
push eax
lea ecx, [ebp - 0xdc]
call fcn.00411e1a
mov byte [ebp - 4], 5
lea ecx, [ebp - 0xf0]
call fcn.00411ea5
mov eax, dword [ebp - 0xdc]
test eax, eax
je 0x43100c
mov eax, dword [eax]
jmp 0x43100e
xor eax, eax
push 0
push 0
push 3
push 0
push 1
push 0
push eax
call dword [sym.imp.api_ms_win_core_file_l1_1_0.dll_CreateFileW]
mov esi, eax
mov dword [ebp - 0x108], esi
cmp esi, 0xffffffff
jne 0x4310a0
mov eax, dword [ebp - 0x10c]
lea edi, [edi + eax*2]
mov eax, dword [ebp - 0xf4]
add edi, 2
inc eax
mov dword [ebp - 0xf4], eax
cmp eax, dword [ebp - 0xe0]
jb 0x430f19
mov byte [ebp - 4], 4
push ebx
call dword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void__]
and dword [ebp - 0xf8], 0
pop ecx
xor edi, edi
mov byte [ebp - 4], 1
cmp esi, 0xffffffff
je 0x431078
push esi
call dword [sym.imp.api_ms_win_core_handle_l1_1_0.dll_CloseHandle]
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xfc]
call fcn.00411ea5
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xdc]
call fcn.00411ea5
mov eax, edi
call fcn.0043f7b0
ret 4
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov edi, eax
test edi, edi
jle 0x4310b5
movzx edi, di
or edi, 0x80070000
mov byte [ebp - 4], 4
push ebx
call dword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void__]
and dword [ebp - 0xf8], 0
pop ecx
jmp 0x431068