Function at 0x430616
Capabilities:
Get geographical location

Disassembly:
push 0x100
mov eax, 0x43edfd
call fcn.0043a071
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 0x430687
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov edi, eax
test edi, edi
jle 0x430976
movzx edi, di
or edi, 0x80070000
jmp 0x430976
lea eax, [ebp - 0x74]
push eax
lea ecx, [ebp - 0xfc]
call fcn.004117f0
mov byte [ebp - 4], 1
mov ecx, ebx
push edi
call fcn.0041152e
lea eax, [ebp - 0xfc]
mov ecx, ebx
push eax
call fcn.004116d9
push ebx
lea ecx, [ebp - 0xdc]
call fcn.004116d9
push 0x403530
lea ecx, [ebp - 0xe0]
call fcn.004117f0
push 2
pop eax
mov byte [ebp - 4], al
lea eax, [ebp - 0xe0]
push eax
lea ecx, [ebp - 0xdc]
call fcn.004116d9
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xe0]
call fcn.00411764
push esi
lea ecx, [ebp - 0xe0]
call fcn.004117f0
mov byte [ebp - 4], 3
lea eax, [ebp - 0xe0]
push eax
lea ecx, [ebp - 0xdc]
call fcn.004116d9
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xe0]
call fcn.00411764
mov eax, dword [ebp - 0xdc]
test eax, eax
je 0x430732
mov eax, dword [eax]
jmp 0x430734
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 0x430955
push edi
mov ecx, ebx
call fcn.0041152e
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 0x430955
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.004399fc
mov ebx, eax
pop ecx
test ebx, ebx
jne 0x4307b6
mov edi, 0x80041006
jmp 0x430957
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 0x430942
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 0x430942
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.004124db
test eax, eax
js 0x43098f
lea eax, [ebp - 0xd8]
push eax
lea ecx, [ebp - 0xe8]
call fcn.004117f0
mov byte [ebp - 4], 6
lea eax, [ebp - 0xe8]
mov esi, dword [ebp - 0x100]
mov ecx, esi
push eax
call fcn.004116d9
mov byte [ebp - 4], 5
lea ecx, [ebp - 0xe8]
call fcn.00411764
mov eax, dword [esi]
test eax, eax
je 0x43086f
lock inc dword [eax + 8]
lea ecx, [ebp - 0xdc]
call fcn.00411764
mov eax, dword [esi]
lea ecx, [ebp - 0xec]
push 0x403530
mov dword [ebp - 0xdc], eax
call fcn.004117f0
mov byte [ebp - 4], 7
lea eax, [ebp - 0xec]
push eax
lea ecx, [ebp - 0xdc]
call fcn.004116d9
mov byte [ebp - 4], 5
lea ecx, [ebp - 0xec]
call fcn.00411764
push dword [ebp - 0x104]
lea ecx, [ebp - 0xf0]
call fcn.004117f0
mov byte [ebp - 4], 8
lea eax, [ebp - 0xf0]
push eax
lea ecx, [ebp - 0xdc]
call fcn.004116d9
mov byte [ebp - 4], 5
lea ecx, [ebp - 0xf0]
call fcn.00411764
mov eax, dword [ebp - 0xdc]
test eax, eax
je 0x4308fb
mov eax, dword [eax]
jmp 0x4308fd
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 0x43098f
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 0x430808
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 0x430967
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.00411764
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xdc]
call fcn.00411764
mov eax, edi
call fcn.0043a020
ret 4
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov edi, eax
test edi, edi
jle 0x4309a4
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 0x430957