Function at 0x5f74bc
Capabilities:
Get keyboard layout

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff74
push ebx
xor ecx, ecx
mov dword [ebp - 0x8c], ecx
mov dword [ebp - 0x88], ecx
mov byte [ebp - 9], dl
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x5f7b07
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
mov byte [eax + 0x4c0], 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x408]
mov eax, dword [eax + 0x2b4]
call fcn.004c6aa4
xor eax, eax
call fcn.00638538
xor eax, eax
push ebp
push 0x5f7ada
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x408]
mov eax, dword [eax + 0x2b4]
call fcn.004c65d8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40c]
call fcn.0047b788
mov eax, dword [0x65a7a8]
mov eax, dword [eax]
mov edx, dword [eax + 0xa0]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40c]
call fcn.0047bedc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40c]
call fcn.0047b38c
push eax
mov eax, dword [ebp - 4]
add eax, 0x4c4
mov ecx, 1
mov edx, dword [0x5f4014]
call fcn.00407050
add esp, 4
push ebp
mov al, 8
call fcn.005f7198
pop ecx
push ebp
push 3
push 1
push 0
push 0
mov cl, 8
mov edx, 0x80
mov al, 0x2d
call fcn.005f7204
pop ecx
push ebp
push 4
push 1
push 0
push 0
mov cl, 8
mov edx, 0x40
mov al, 0x2d
call fcn.005f7204
pop ecx
push ebp
push 8
push 1
push 0
push 0
call fcn.00639a98
mov ecx, 0x80
mov edx, 0x10
call fcn.0042fe70
mov edx, eax
mov cl, 8
mov al, 0x20
call fcn.005f7204
pop ecx
call fcn.00639a90
test al, al
jne 0x5f7605
push ebp
push 0xe
push 1
push 0
push 0
mov cl, 8
mov edx, 0x40
mov al, 9
call fcn.005f7204
pop ecx
push ebp
push 0
push 1
push 0
push 0
mov cl, 8
mov edx, 0x80
mov al, 0x14
call fcn.005f7204
pop ecx
push ebp
push 0xa
push 1
push 0
push 0
mov cl, 8
xor edx, edx
mov al, 0x5d
call fcn.005f7204
pop ecx
push ebp
push 0xf
push 1
push 0
push 0
mov cl, 8
xor edx, edx
mov al, 0x90
call fcn.005f7204
pop ecx
push ebp
push 1
push 1
push 0
push 0
mov cl, 8
mov edx, 0x80
mov al, 0x4f
call fcn.005f7204
pop ecx
push 2
push 0
push 0
push 0
mov cl, 8
xor edx, edx
mov al, 0xb
call fcn.00633754
push 0xb
push 0
push 0
push 0
mov cl, 8
xor edx, edx
mov al, 0xa
call fcn.00633754
push ebp
mov al, 0xb
call fcn.005f7198
pop ecx
push ebp
push 0
push 1
push 0
push 0
call fcn.005f7180
mov edx, eax
mov cl, 0xb
mov al, 0x27
call fcn.005f7204
pop ecx
push ebp
push 1
push 1
push 0
push 0
call fcn.005f7180
mov edx, eax
mov cl, 0xb
mov al, 0x25
call fcn.005f7204
pop ecx
push ebp
push 2
push 1
push 0
push 0
mov cl, 0xb
mov edx, 0x80
mov al, 0x56
call fcn.005f7204
pop ecx
call fcn.00639aa0
test al, al
jne 0x5f7771
push ebp
mov al, 0xa
call fcn.005f7198
pop ecx
call fcn.00639a98
test al, al
jne 0x5f7741
push ebp
push 0
push 1
push 0
push 0
mov cl, 0xa
mov edx, 0x80
mov al, 0x28
call fcn.005f7204
pop ecx
push ebp
push 1
push 1
push 0
push 0
mov cl, 0xa
mov edx, 0x80
mov al, 0x26
call fcn.005f7204
pop ecx
push ebp
push 2
push 1
push 0
push 0
mov cl, 0xa
mov edx, 0x80
mov al, 0x58
call fcn.005f7204
pop ecx
push ebp
push 3
push 1
push 0
push 0
mov cl, 0xa
mov edx, 0x80
mov al, 0x48
call fcn.005f7204
pop ecx
push ebp
push 4
push 1
push 0
push 0
mov cl, 0xa
mov edx, 0x80
mov al, 0x53
call fcn.005f7204
pop ecx
lea eax, [ebp - 0x84]
push eax
push 0x1e
call sub.user32.dll_GetKeyboardLayoutList
mov ebx, eax
cmp ebx, 1
ja 0x5f7793
call fcn.00639aa0
test al, al
jne 0x5f783f
push ebp
mov al, 9
call fcn.005f7198
pop ecx
cmp ebx, 1
jbe 0x5f7806
call fcn.00639a90
test al, al
je 0x5f77c1
push ebp
push 0
push 1
push 0
push 0
mov cl, 9
xor edx, edx
mov al, 0x13
call fcn.005f7204
pop ecx
jmp 0x5f77d9
push ebp
push 0
push 1
push 0
push 0
mov cl, 9
mov edx, 0x90
xor eax, eax
call fcn.005f7204
pop ecx
push ebp
push 1
push 1
push 0
push 0
mov cl, 9
mov edx, 0xa0
xor eax, eax
call fcn.005f7204
pop ecx
push ebp
push 2
push 1
push 0
push 0
mov cl, 9
xor edx, edx
mov al, 0xa3
call fcn.005f7204
pop ecx
call fcn.00639aa0
test al, al
jne 0x5f783f
push ebp
push 4
push 1
push 0
push 0
mov cl, 9
mov edx, 0x80
mov al, 0xbe
call fcn.005f7204
pop ecx
push ebp
push 5
push 1
push 0
push 0
mov cl, 9
mov edx, 0x80
mov al, 0xbc
call fcn.005f7204
pop ecx
call fcn.00639aa0
test al, al
jne 0x5f78a3
push ebp
mov al, 5
call fcn.005f7198
pop ecx
push ebp
push 0
push 1
push 0
lea eax, [ebp - 0x88]
call fcn.0063224c
mov eax, dword [ebp - 0x88]
push eax
mov cl, 5
mov edx, 0x80
mov al, 0x51
call fcn.005f7204
pop ecx
push ebp
push 0
push 1
push 0
lea edx, [ebp - 0x8c]
xor eax, eax
call fcn.00494bdc
mov eax, dword [ebp - 0x8c]
push eax
mov cl, 5
mov edx, 0x80
mov al, 0x57
call fcn.005f7204
pop ecx
push ebp
mov al, 0xd
call fcn.005f7198
pop ecx
push ebp
push 0
push 1
push 0
push 0
call fcn.005f7180
mov edx, eax
mov cl, 0xd
mov al, 0x31
call fcn.005f7204
pop ecx
push ebp
push 1
push 1
push 0
push 0
call fcn.005f7180
mov edx, eax
mov cl, 0xd
mov al, 0x32
call fcn.005f7204
pop ecx
push ebp
push 2
push 1
push 0
push 0
call fcn.005f7180
mov edx, eax
mov cl, 0xd
mov al, 0x33
call fcn.005f7204
pop ecx
push ebp
push 3
push 1
push 0
push 0
call fcn.005f7180
mov edx, eax
mov cl, 0xd
mov al, 0x34
call fcn.005f7204
pop ecx
push ebp
push 4
push 1
push 0
push 0
call fcn.005f7180
mov edx, eax
mov cl, 0xd
mov al, 0x35
call fcn.005f7204
pop ecx
push ebp
push 5
push 1
push 0
push 0
call fcn.005f7180
mov edx, eax
mov cl, 0xd
mov al, 0x36
call fcn.005f7204
pop ecx
push ebp
push 6
push 1
push 0
push 0
call fcn.005f7180
mov edx, eax
mov cl, 0xd
mov al, 0x37
call fcn.005f7204
pop ecx
push ebp
mov al, 0xc
call fcn.005f7198
pop ecx
push ebp
push 0
push 1
push 0
push 0
mov cl, 0xc
mov edx, 0xa0
mov al, 0x31
call fcn.005f7204
pop ecx
push ebp
push 1
push 1
push 0
push 0
mov cl, 0xc
mov edx, 0xa0
mov al, 0x32
call fcn.005f7204
pop ecx
push ebp
push 2
push 1
push 0
push 0
mov cl, 0xc
mov edx, 0xa0
mov al, 0x33
call fcn.005f7204
pop ecx
push ebp
push 3
push 1
push 0
push 0
mov cl, 0xc
mov edx, 0xa0
mov al, 0x34
call fcn.005f7204
pop ecx
push ebp
mov al, 0xe
call fcn.005f7198
pop ecx
push ebp
push 0
push 1
push 0
push 0
mov cl, 0xe
mov edx, 0xa0
mov al, 0x35
call fcn.005f7204
pop ecx
push ebp
push 1
push 1
push 0
push 0
mov cl, 0xe
mov edx, 0xa0
mov al, 0x36
call fcn.005f7204
pop ecx
push ebp
push 2
push 1
push 0
push 0
mov cl, 0xe
mov edx, 0xa0
mov al, 0x37
call fcn.005f7204
pop ecx
push ebp
push 3
push 1
push 0
push 0
mov cl, 0xe
mov edx, 0xa0
mov al, 0x38
call fcn.005f7204
pop ecx
push ebp
push 4
push 1
push 0
push 0
mov cl, 0xe
mov edx, 0xa0
mov al, 0x39
call fcn.005f7204
pop ecx
push ebp
push 5
push 1
push 0
push 0
mov cl, 0xe
mov edx, 0xa0
mov al, 0x30
call fcn.005f7204
pop ecx
push ebp
push 6
push 1
push 0
push 0
mov cl, 0xe
mov edx, 0xa0
mov al, 0xbd
call fcn.005f7204
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x5f7ae1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x408]
call fcn.004c7e7c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x408]
mov eax, dword [eax + 0x2b4]
call fcn.004c6af0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x408]
mov eax, dword [eax + 0x2b4]
xor edx, edx
call fcn.004c6984
mov dl, 1
call fcn.004c56f4
mov eax, dword [ebp - 4]
mov byte [eax + 0x4c0], 0
xor eax, eax
call fcn.00638560
ret