Function at 0x405138
Capabilities:
Get geographical location

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10c
and dword [ebp - 4], 0
push ebx
push esi
mov esi, dword [sym.imp.KERNEL32.dll_lstrcpyA]
push edi
mov edi, 0x420540
lea eax, [ebp - 0x10c]
push edi
mov dword [ebp - 0xc], edx
mov ebx, ecx
push eax
mov dword [ebp - 8], 1
call esi
lea eax, [ebp - 0x8c]
push edi
push eax
call esi
mov edi, dword [sym.imp.KERNEL32.dll_lstrcmpiA]
push str.Auto
push ebx
call edi
test eax, eax
jne 0x4051bb
call dword [sym.imp.KERNEL32.dll_GetSystemDefaultLCID]
mov dword [0x4205c8], eax
mov edi, eax
call fcn.00405880
test eax, eax
je 0x4051a3
call dword [0x420754]
mov edi, eax
mov eax, edi
and ax, 0x3ff
shr di, 0xa
mov word [0x4206d0], ax
mov dword [ebp - 8], edi
jmp 0x40544d
push str.Traditional_Chinese
push ebx
call edi
test eax, eax
jne 0x4051dc
mov word [0x4206d0], 4
mov dword [ebp - 8], 1
jmp 0x40544d
push str.Simplified_Chinese
push ebx
call edi
test eax, eax
jne 0x4051fd
mov word [0x4206d0], 4
mov dword [ebp - 8], 2
jmp 0x40544d
push str.Danish
push ebx
call edi
test eax, eax
jne 0x405217
mov word [0x4206d0], 6
jmp 0x40544d
push str.Dutch
push ebx
call edi
test eax, eax
jne 0x405231
mov word [0x4206d0], 0x13
jmp 0x40544d
push str.English
push ebx
call edi
test eax, eax
jne 0x405259
lea eax, [ebp - 0x10c]
push 0x41b8c0
push eax
mov word [0x4206d0], 9
call esi
jmp 0x40544d
push str.Finnish
push ebx
call edi
test eax, eax
jne 0x405273
mov word [0x4206d0], 0xb
jmp 0x40544d
push str.French
push ebx
call edi
test eax, eax
jne 0x40528d
mov word [0x4206d0], 0xc
jmp 0x40544d
push str.German
push ebx
call edi
test eax, eax
jne 0x4052a7
mov word [0x4206d0], 7
jmp 0x40544d
push str.Italian
push ebx
call edi
test eax, eax
jne 0x4052c1
mov word [0x4206d0], 0x10
jmp 0x40544d
push str.Japanese
push ebx
call edi
test eax, eax
jne 0x4052db
mov word [0x4206d0], 0x11
jmp 0x40544d
push str.Korean
push ebx
call edi
test eax, eax
jne 0x4052f5
mov word [0x4206d0], 0x12
jmp 0x40544d
push str.Norwegian
push ebx
call edi
test eax, eax
jne 0x40530f
mov word [0x4206d0], 0x14
jmp 0x40544d
push str.Portuguese_Brazilian
push ebx
call edi
test eax, eax
jne 0x405329
mov word [0x4206d0], 0x16
jmp 0x4051d0
push str.Portuguese_Standard
push ebx
call edi
test eax, eax
jne 0x405343
mov word [0x4206d0], 0x16
jmp 0x4051f1
push str.Russian
push ebx
call edi
test eax, eax
jne 0x40535d
mov word [0x4206d0], 0x19
jmp 0x40544d
push str.Spanish
push ebx
call edi
test eax, eax
jne 0x405377
mov word [0x4206d0], 0xa
jmp 0x40544d
push str.Swedish
push ebx
call edi
test eax, eax
jne 0x405391
mov word [0x4206d0], 0x1d
jmp 0x40544d
push str.Thai
push ebx
call edi
test eax, eax
jne 0x4053ab
mov word [0x4206d0], 0x1e
jmp 0x40544d
push str.Czech
push ebx
call edi
test eax, eax
jne 0x4053c5
mov word [0x4206d0], 5
jmp 0x40544d
push str.Greek
push ebx
call edi
test eax, eax
jne 0x4053dc
mov word [0x4206d0], 8
jmp 0x40544d
push str.Hungarian
push ebx
call edi
test eax, eax
jne 0x4053f3
mov word [0x4206d0], 0xe
jmp 0x40544d
push str.Polish
push ebx
call edi
test eax, eax
jne 0x40540a
mov word [0x4206d0], 0x15
jmp 0x40544d
push str.Slovenian
push ebx
call edi
test eax, eax
jne 0x405421
mov word [0x4206d0], 0x24
jmp 0x40544d
push str.Slovak
push ebx
call edi
test eax, eax
jne 0x405438
mov word [0x4206d0], 0x1b
jmp 0x40544d
push str.Turkish
push ebx
call edi
test eax, eax
jne 0x40544d
mov word [0x4206d0], 0x1f
movzx eax, word [0x4206d0]
cmp eax, 0x11
jg 0x405668
je 0x405656
add eax, 0xfffffffc
cmp eax, 0xc
ja case.0x40546f.13
jmp dword [eax*4 + 0x40584c]
cmp word [ebp - 8], 1
jne 0x40548f
push str.Traditional_Chinese
push ebx
call esi
push 0x41b938
jmp 0x4057e8
push str.Simplified_Chinese
push ebx
call esi
push 0x41b934
jmp 0x4057e8
lea eax, [ebp - 0x10c]
push 0x41b8c0
push eax
call esi
push 0x41b930
jmp 0x4057e8
push str.Danish
push ebx
call esi
lea eax, [ebp - 0x8c]
push 0x41b92c
push eax
call esi
mov dword [ebp - 4], 0x7d0
push 0x41b8c0
lea eax, [ebp - 0x10c]
push eax
call esi
mov eax, dword [ebp - 8]
movzx ecx, word [0x4206d0]
shl eax, 0xa
movzx eax, ax
or eax, ecx
mov dword [0x4205c8], eax
lea eax, [ebp - 0x10c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
test eax, eax
jne 0x405529
lea eax, [ebp - 0x10c]
push 0x80
push eax
push 0x40000003
push dword [0x4205c8]
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoA]
lea eax, [ebp - 0x10c]
push eax
push dword [ebp - 0xc]
call esi
lea eax, [ebp - 0x8c]
push eax
push dword [ebp + 8]
call esi
mov ax, word [ebp - 4]
pop edi
pop esi
pop ebx
leave
ret 0xc
push str.Finnish
push ebx
call esi
lea eax, [ebp - 0x8c]
push 0x41b928
push eax
call esi
mov dword [ebp - 4], 0x1770
jmp 0x4054d6
push str.French
push ebx
call esi
lea eax, [ebp - 0x8c]
push 0x41b924
push eax
call esi
mov dword [ebp - 4], 0x1f40
jmp 0x4054d6
push str.German
push ebx
call esi
lea eax, [ebp - 0x8c]
push 0x41b920
push eax
call esi
mov dword [ebp - 4], 0x2710
jmp 0x4054d6
push str.Italian
push ebx
call esi
lea eax, [ebp - 0x8c]
push 0x41b91c
push eax
call esi
mov dword [ebp - 4], 0x2ee0
jmp 0x4054d6
push str.Spanish
push ebx
call esi
lea eax, [ebp - 0x8c]
push 0x41b918
push eax
call esi
mov dword [ebp - 4], 0x4650
jmp 0x4054d6
push str.Czech
push ebx
call esi
lea eax, [ebp - 0x8c]
push 0x41b914
push eax
call esi
mov edi, 0x5dc0
jmp 0x405830
push str.Greek
push ebx
call esi
lea eax, [ebp - 0x8c]
push 0x41b910
push eax
call esi
mov edi, 0x6590
jmp 0x405830
push str.Hungarian
push ebx
call esi
lea eax, [ebp - 0x8c]
push 0x41b90c
push eax
call esi
mov edi, 0x6d60
jmp 0x405830
push str.Japanese
push ebx
call esi
push 0x41b908
jmp 0x4057e8
cmp eax, 0x19
jg 0x405775
je 0x405753
sub eax, 0x12
je 0x405741
dec eax
je 0x40571f
dec eax
je 0x4056fd
dec eax
je 0x4056dd
dec eax
jne case.0x40546f.13
cmp word [ebp - 8], 1
jne 0x4056bd
push str.Portuguese_Brazilian
push ebx
call esi
lea eax, [ebp - 0x8c]
push 0x41b904
push eax
call esi
mov dword [ebp - 4], 0x3e80
jmp 0x4054d6
push str.Portuguese_Standard
push ebx
call esi
lea eax, [ebp - 0x8c]
push 0x41b900
push eax
call esi
mov edi, 0x7d00
jmp 0x405830
push str.Polish
push ebx
call esi
lea eax, [ebp - 0x8c]
push 0x41b8fc
push eax
call esi
mov edi, 0x7530
jmp 0x405830
push str.Norwegian
push ebx
call esi
lea eax, [ebp - 0x8c]
push 0x41b8f8
push eax
call esi
mov dword [ebp - 4], 0x36b0
jmp 0x4054d6
push str.Dutch
push ebx
call esi
lea eax, [ebp - 0x8c]
push 0x41b8f4
push eax
call esi
mov dword [ebp - 4], 0xfa0
jmp 0x4054d6
push str.Korean
push ebx
call esi
push 0x41b8f0
jmp 0x4057e8
push str.Russian
push ebx
call esi
lea eax, [ebp - 0x8c]
push 0x41b8ec
push eax
call esi
mov dword [ebp - 4], 0x55f0
jmp 0x4054d6
sub eax, 0x1b
je 0x405815
dec eax
dec eax
je 0x4057f3
dec eax
je 0x4057db
dec eax
je 0x4057be
sub eax, 5
je 0x4057a1
push str.English
mov word [0x4206d0], 9
push ebx
jmp 0x4054ad
push str.Slovenian
push ebx
call esi
lea eax, [ebp - 0x8c]
push 0x41b8e8
push eax
call esi
mov edi, 0x84d0
jmp 0x405830
push str.Turkish
push ebx
call esi
lea eax, [ebp - 0x8c]
push 0x41b8e4
push eax
call esi
mov edi, 0x9470
jmp 0x405830
push str.Thai
push ebx
call esi
push 0x41b8e0
lea eax, [ebp - 0x8c]
jmp 0x4054e1
push str.Swedish
push ebx
call esi
lea eax, [ebp - 0x8c]
push 0x41b8dc
push eax
call esi
mov dword [ebp - 4], 0x4e20
jmp 0x4054d6
push str.Slovak
push ebx
call esi
lea eax, [ebp - 0x8c]
push 0x41b8d8
push eax
call esi
mov edi, 0x8ca0
lea eax, [ebp - 0x10c]
push 0x41b8d4
push eax
call esi
add edi, 0xa240
mov dword [ebp - 4], edi
jmp 0x4054e4