Function at 0x4a07b4
Capabilities:
Identify system language via api

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffedc
push ebx
push esi
push edi
xor edx, edx
mov dword [ebp - 0x124], edx
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x4a0d70
push dword fs:[eax]
mov dword fs:[eax], esp
call sub.kernel32.dll_GetUserDefaultLangID
mov esi, eax
push pe_nt_image_headers32
lea eax, [ebp - 0x105]
push eax
movzx eax, si
push eax
call sub.kernel32.dll_VerLanguageNameA
mov ebx, esi
and bx, 0x3ff
cmp bx, 4
je 0x4a0830
cmp bx, 1
je 0x4a0830
cmp bx, 0x29
je 0x4a0830
cmp bx, 0x21
je 0x4a0830
cmp bx, 0x2a
je 0x4a0830
cmp bx, 0x1f
je 0x4a0830
cmp bx, 0x3e
je 0x4a0830
cmp bx, 0x4c
je 0x4a0830
xor eax, eax
jmp 0x4a0832
mov al, 1
mov byte [0x5c7c54], al
mov edi, ebx
movzx eax, di
add eax, 0xfffffff6
cmp eax, 0xc
ja case.0x4a084e.10
mov al, byte [eax + 0x4a0855]
jmp dword [eax*4 + 0x4a0862]
mov eax, 0x5c2c44
mov edx, dword [0x5c2c5c]
call fcn.00403a64
mov eax, 0x5c2c48
mov edx, dword [0x5c2c60]
call fcn.00403a64
mov eax, 0x5c2c4c
mov edx, dword [0x5c2c64]
call fcn.00403a64
mov eax, 0x5c2c50
mov edx, dword [0x5c2c68]
call fcn.00403a64
mov eax, 0x5c2c54
mov edx, dword [0x5c2c6c]
call fcn.00403a64
mov ax, word [0x5c2c70]
mov word [0x5c2c58], ax
jmp 0x4a0b1d
mov eax, 0x5c2c44
mov edx, dword [0x5c2c8c]
call fcn.00403a64
mov eax, 0x5c2c48
mov edx, dword [0x5c2c90]
call fcn.00403a64
mov eax, 0x5c2c4c
mov edx, dword [0x5c2c94]
call fcn.00403a64
mov eax, 0x5c2c50
mov edx, dword [0x5c2c98]
call fcn.00403a64
mov eax, 0x5c2c54
mov edx, dword [0x5c2c9c]
call fcn.00403a64
mov ax, word [0x5c2ca0]
mov word [0x5c2c58], ax
jmp 0x4a0b1d
mov eax, 0x5c2c44
mov edx, dword [0x5c2ca4]
call fcn.00403a64
mov eax, 0x5c2c48
mov edx, dword [0x5c2ca8]
call fcn.00403a64
mov eax, 0x5c2c4c
mov edx, dword [0x5c2cac]
call fcn.00403a64
mov eax, 0x5c2c50
mov edx, dword [0x5c2cb0]
call fcn.00403a64
mov eax, 0x5c2c54
mov edx, dword [0x5c2cb4]
call fcn.00403a64
mov ax, word [0x5c2cb8]
mov word [0x5c2c58], ax
jmp 0x4a0b1d
mov eax, 0x5c2c44
mov edx, dword [0x5c2cbc]
call fcn.00403a64
mov eax, 0x5c2c48
mov edx, dword [0x5c2cc0]
call fcn.00403a64
mov eax, 0x5c2c4c
mov edx, dword [0x5c2cc4]
call fcn.00403a64
mov eax, 0x5c2c50
mov edx, dword [0x5c2cc8]
call fcn.00403a64
mov eax, 0x5c2c54
mov edx, dword [0x5c2ccc]
call fcn.00403a64
mov ax, word [0x5c2cd0]
mov word [0x5c2c58], ax
jmp 0x4a0b1d
mov eax, 0x5c2c44
mov edx, dword [0x5c2cd4]
call fcn.00403a64
mov eax, 0x5c2c48
mov edx, dword [0x5c2cd8]
call fcn.00403a64
mov eax, 0x5c2c4c
mov edx, dword [0x5c2cdc]
call fcn.00403a64
mov eax, 0x5c2c50
mov edx, dword [0x5c2ce0]
call fcn.00403a64
mov eax, 0x5c2c54
mov edx, dword [0x5c2ce4]
call fcn.00403a64
mov ax, word [0x5c2ce8]
mov word [0x5c2c58], ax
jmp 0x4a0b1d
mov eax, 0x5c2c44
mov edx, dword [0x5c2cec]
call fcn.00403a64
mov eax, 0x5c2c48
mov edx, dword [0x5c2cf0]
call fcn.00403a64
mov eax, 0x5c2c4c
mov edx, dword [0x5c2cf4]
call fcn.00403a64
mov eax, 0x5c2c50
mov edx, dword [0x5c2cf8]
call fcn.00403a64
mov eax, 0x5c2c54
mov edx, dword [0x5c2cfc]
call fcn.00403a64
mov ax, word [0x5c2d00]
mov word [0x5c2c58], ax
jmp 0x4a0b1d
mov eax, 0x5c2c44
mov edx, dword [0x5c2c74]
call fcn.00403a64
mov eax, 0x5c2c48
mov edx, dword [0x5c2c78]
call fcn.00403a64
mov eax, 0x5c2c4c
mov edx, dword [0x5c2c7c]
call fcn.00403a64
mov eax, 0x5c2c50
mov edx, dword [0x5c2c80]
call fcn.00403a64
mov eax, 0x5c2c54
mov edx, dword [0x5c2c84]
call fcn.00403a64
mov ax, word [0x5c2c88]
mov word [0x5c2c58], ax
sub di, 7
je 0x4a0b32
sub di, 0x12
je 0x4a0bc7
jmp 0x4a0c5c
mov eax, 0x5c2bac
mov edx, dword [0x5c2bd8]
call fcn.00403a64
mov eax, 0x5c2bb0
mov edx, dword [0x5c2bdc]
call fcn.00403a64
mov eax, 0x5c2bb4
mov edx, dword [0x5c2c04]
call fcn.00403a64
mov eax, 0x5c2bb8
mov edx, dword [0x5c2c08]
call fcn.00403a64
mov eax, 0x5c2bbc
mov edx, dword [0x5c2c0c]
call fcn.00403a64
mov eax, 0x5c2bc0
mov edx, dword [0x5c2c10]
call fcn.00403a64
mov eax, 0x5c2bc4
mov edx, dword [0x5c2c14]
call fcn.00403a64
mov eax, 0x5c2bc8
mov edx, dword [0x5c2c18]
call fcn.00403a64
mov eax, 0x5c2bcc
mov edx, dword [0x5c2c1c]
call fcn.00403a64
jmp 0x4a0cec
mov eax, 0x5c2bac
mov edx, dword [0x5c2be0]
call fcn.00403a64
mov eax, 0x5c2bb0
mov edx, dword [0x5c2be4]
call fcn.00403a64
mov eax, 0x5c2bb4
mov edx, dword [0x5c2c20]
call fcn.00403a64
mov eax, 0x5c2bb8
mov edx, dword [0x5c2c24]
call fcn.00403a64
mov eax, 0x5c2bbc
mov edx, dword [0x5c2c28]
call fcn.00403a64
mov eax, 0x5c2bc0
mov edx, dword [0x5c2c2c]
call fcn.00403a64
mov eax, 0x5c2bc4
mov edx, dword [0x5c2c30]
call fcn.00403a64
mov eax, 0x5c2bc8
mov edx, dword [0x5c2c34]
call fcn.00403a64
mov eax, 0x5c2bcc
mov edx, dword [0x5c2c38]
call fcn.00403a64
jmp 0x4a0cec
mov eax, 0x5c2bac
mov edx, dword [0x5c2bd0]
call fcn.00403a64
mov eax, 0x5c2bb0
mov edx, dword [0x5c2bd4]
call fcn.00403a64
mov eax, 0x5c2bb4
mov edx, dword [0x5c2be8]
call fcn.00403a64
mov eax, 0x5c2bb8
mov edx, dword [0x5c2bec]
call fcn.00403a64
mov eax, 0x5c2bbc
mov edx, dword [0x5c2bf0]
call fcn.00403a64
mov eax, 0x5c2bc0
mov edx, dword [0x5c2bf4]
call fcn.00403a64
mov eax, 0x5c2bc4
mov edx, dword [0x5c2bf8]
call fcn.00403a64
mov eax, 0x5c2bc8
mov edx, dword [0x5c2bfc]
call fcn.00403a64
mov eax, 0x5c2bcc
mov edx, dword [0x5c2c00]
call fcn.00403a64
mov eax, dword [ebp - 4]
push eax
lea eax, [ebp - 0x124]
lea edx, [ebp - 0x105]
mov ecx, 0x101
call fcn.00403c3c
mov eax, dword [ebp - 0x124]
mov dword [ebp - 0x120], eax
mov byte [ebp - 0x11c], 0xb
mov eax, esi
and ax, 0x3ff
movzx eax, ax
mov dword [ebp - 0x118], eax
mov byte [ebp - 0x114], 0
movzx eax, si
shr eax, 0xa
mov dword [ebp - 0x110], eax
mov byte [ebp - 0x10c], 0
lea edx, [ebp - 0x120]
mov ecx, 2
mov eax, 0x4a0d88
call fcn.004081b0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4a0d77
lea eax, [ebp - 0x124]
call fcn.00403a10
ret