Function at 0x102f9d41
Capabilities:
Get keyboard layout

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x918
mov eax, dword [0x1065e7ec]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov esi, 0xaa
lea eax, [ebp - 0xb0]
push esi
xor ebx, ebx
push ebx
push eax
call fcn.1027bff1
push esi
lea eax, [ebp - 0x15c]
push ebx
push eax
call fcn.1027bff1
add esp, 0x18
mov dword [ebp - 0x918], ebx
call fcn.101641f5
push 0x55
pop edi
mov esi, eax
lea eax, [ebp - 0xb0]
push edi
push eax
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLocaleName]
push edi
lea eax, [ebp - 0x15c]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDefaultLocaleName]
cmp esi, 1
jne 0x102f9dc4
cmp byte [ebp + 8], bl
je 0x102f9dbd
push 0x106696a8
call fcn.102f9654
push 2
call fcn.102f817d
cmp esi, 3
je 0x102f9fb4
call dword [sym.imp.KERNEL32.dll_GetACP]
mov esi, eax
lea eax, [ebp - 0x15c]
push eax
call fcn.10160079
pop ecx
test al, al
je 0x102f9e10
lea eax, [ebp - 0x15c]
push eax
call fcn.101600a7
pop ecx
test al, al
lea eax, [ebp - 0x15c]
push edi
push eax
je 0x102f9e06
push str.zh_CN
jmp 0x102f9e0b
push 0x103aa0b4
call fcn.10114d42
lea eax, [ebp - 0xb0]
push eax
call fcn.10160079
pop ecx
test al, al
je 0x102f9e4b
lea eax, [ebp - 0xb0]
push eax
call fcn.101600a7
pop ecx
test al, al
lea eax, [ebp - 0xb0]
push edi
push eax
je 0x102f9e41
push str.zh_CN
jmp 0x102f9e46
push 0x103aa0b4
call fcn.10114d42
push 1
push ebx
push 0x106696a8
call fcn.102fa250
push ebx
lea eax, [ebp - 0xb0]
push ebx
push eax
call fcn.102fa250
push ebx
lea eax, [ebp - 0x15c]
push ebx
push eax
call fcn.102fa250
add esp, 0x24
cmp esi, 0x4ea
jne 0x102f9e8e
push ebx
push ebx
push str.fr_FR
call fcn.102fa250
add esp, 0xc
push ebx
push ebx
mov ebx, dword [sym.imp.USER32.dll_GetKeyboardLayoutList]
lea esi, [ebp - 0x2d4]
call ebx
mov edi, eax
cmp edi, 8
jbe 0x102f9ebe
mov ecx, edi
shl ecx, 2
push 0
push ecx
call fcn.100dc747
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x102f9f58
push esi
push edi
call ebx
xor ebx, ebx
test edi, edi
je 0x102f9f47
movzx eax, word [esi + ebx*4]
lea ecx, [ebp - 0x208]
push 0
push 0x55
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_LCIDToLocaleName]
test eax, eax
je 0x102f9f42
push 0
lea eax, [ebp - 0x208]
push 0
push eax
call fcn.102fa250
push 0x55
lea eax, [ebp - 0x2b4]
push eax
lea eax, [ebp - 0x208]
push eax
call fcn.10163f93
add esp, 0x18
test eax, eax
js 0x102f9f42
cmp word [ebp - 0x2b4], 0
je 0x102f9f42
lea eax, [ebp - 0x2b4]
push 0x10371374
push eax
call fcn.102dea28
pop ecx
pop ecx
test eax, eax
je 0x102f9f42
push 0
lea eax, [ebp - 0x2b4]
push 0
push eax
call fcn.102fa250
add esp, 0xc
inc ebx
cmp ebx, edi
jb 0x102f9ec8
lea eax, [ebp - 0x2d4]
cmp esi, eax
je 0x102f9f58
push esi
call fcn.102a9552
pop ecx
push 0x190
lea eax, [ebp - 0x914]
push eax
call fcn.102f8a2a
mov edi, eax
xor ebx, ebx
mov esi, ebx
test edi, edi
je 0x102f9fb4
push ebx
push 0x55
lea eax, [ebp - 0x208]
push eax
push dword [ebp + esi*4 - 0x914]
call dword [sym.imp.KERNEL32.dll_LCIDToLocaleName]
test eax, eax
je 0x102f9faf
lea eax, [ebp - 0x208]
push eax
call fcn.102f8beb
test al, al
je 0x102f9faf
push ebx
lea eax, [ebp - 0x208]
push ebx
push eax
call fcn.102fa250
add esp, 0xc
inc esi
cmp esi, edi
jb 0x102f9f73
mov esi, 0x10669a18
push esi
call fcn.102f8beb
test al, al
jne 0x102f9fce
push ebx
push ebx
push esi
call fcn.102fa250
add esp, 0xc
mov dword [0x10669b08], ebx
mov esi, ebx
mov dword [0x10669b04], ebx
mov dword [0x10669b00], ebx
call fcn.101642f3
test eax, eax
je 0x102fa066
mov edi, ebx
mov eax, dword [0x10669ac4]
lea ecx, [ebp - 0x918]
add eax, edi
mov dword [ebp - 0x918], ebx
push ecx
push eax
call fcn.1014b2b4
test eax, eax
js 0x102fa056
cmp dword [0x10669b00], 0
jne 0x102fa024
push dword [ebp - 0x918]
call fcn.1015f968
mov dword [0x10669b00], eax
cmp dword [0x10669b04], 0
jne 0x102fa03d
push dword [ebp - 0x918]
call fcn.1015f995
mov dword [0x10669b04], eax
cmp dword [0x10669b08], 0
jne 0x102fa056
push dword [ebp - 0x918]
call fcn.1015f8e1
mov dword [0x10669b08], eax
inc esi
add edi, 0xac
call fcn.101642f3
cmp esi, eax
jb 0x102f9fed
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.102790a9
mov esp, ebp
pop ebp
ret 4