Function at 0x40f292
Capabilities:
Identify system language via api

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
push ebx
push esi
push edi
xor ebx, ebx
push 0x8ad3
mov dword [ebp - 4], ebx
call dword [sym.imp.MSVCRT.dll_srand]
movsx eax, word [0x43ac88]
push eax
push 0x1445ffff
call fcn.0040af32
mov word [0x43ac82], ax
push 0x3d25ffff
movsx eax, byte [0x43ac7e]
push eax
call fcn.0040b0f0
push dword [0x43aca0]
mov dword [0x43acb4], eax
push 0xfa2bffff
call fcn.0040b037
add word [0x43ac88], ax
push dword [0x43acb0]
movsx eax, word [0x43ac82]
push eax
call fcn.0040b0f0
mov edi, dword [sym.imp.USER32.dll_GetForegroundWindow]
add esp, 0x24
mov dword [0x43acac], eax
call edi
push dword [0x43ac9c]
mov word [0x43ac8a], ax
movsx eax, word [0x43ac8c]
push eax
call fcn.0040af32
cmp dword [0x43532c], ebx
pop ecx
pop ecx
mov dword [0x43aca0], eax
mov dword [ebp - 0xc], ebx
jle 0x40f568
mov dword [ebp - 8], 0x43a970
mov al, byte [0x43ac8c]
imul byte [0x43aca0]
add byte [0x43ac7b], al
movsx eax, word [0x43ac82]
imul eax, eax, 0x9153ffff
mov dword [0x43acb4], eax
movsx ax, byte [0x43ac80]
neg eax
mov word [0x43ac8e], ax
mov eax, dword [ebp - 8]
mov esi, dword [eax]
mov al, byte [esi]
add al, 0x76
movzx eax, al
add eax, 3
and al, 0xfc
call fcn.00430730
mov eax, esp
push esi
push eax
call fcn.0042d836
pop ecx
pop ecx
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [ebp - 0x10], eax
mov al, byte [0x43ac7d]
push eax
call dword [sym.imp.USER32.dll_IsCharAlphaA]
mov byte [0x43ac79], al
lea esi, [ebx*8 + 0x43a5e0]
cmp dword [esi], 0
je 0x40f506
movsx eax, byte [0x43ac7b]
imul eax, eax, 0xf25fffff
push 0x2ad7ffff
mov dword [0x43acb0], eax
push dword [0x43aca8]
call fcn.0040b087
add dword [0x43aca8], eax
push 0xbe5fffff
push 0x3edfffff
call fcn.0040b087
mov dword [0x43aca8], eax
movsx eax, byte [0x43ac7b]
push eax
push 0xe63dffff
call fcn.0040afcb
add byte [0x43ac7c], al
movsx eax, byte [0x43ac78]
push eax
push 0x9787ffff
call fcn.0040b002
mov dword [0x43aca0], eax
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x1c], eax
mov eax, dword [esi]
push 0xdd1bffff
push 0x583ffff
mov dword [ebp - 0x18], eax
inc ebx
add esi, 8
call fcn.0040b002
push dword [0x43acac]
add word [0x43ac94], ax
push 0x9ffffff
call fcn.0040b037
add esp, 0x30
mov word [0x43ac8c], ax
call edi
mov byte [0x43ac79], al
mov eax, dword [ebp - 4]
inc dword [ebp - 4]
mov dword [ebp - 0x14], eax
movsx eax, byte [0x43ac7a]
push 0x8b97ffff
push eax
call fcn.0040b002
add word [0x43ac8c], ax
push 0x7583ffff
push 0xefe9ffff
call fcn.0040af94
add dword [0x43ac9c], eax
mov al, byte [0x43acbc]
or al, byte [0x43ac7d]
add esp, 0x10
mov ecx, 0x43a428
mov byte [0x43ac7c], al
lea eax, [ebp - 0x1c]
push eax
call fcn.0040f64d
push dword [0x43aca8]
push 0x9199ffff
call fcn.0040b0f0
add byte [0x43ac7c], al
push 0x9989ffff
movsx eax, byte [0x43ac7b]
push eax
call fcn.0040b002
add esp, 0x10
mov dword [0x43acb0], eax
jmp 0x40f3c0
movsx eax, byte [0x43ac7e]
push eax
push 0x6c1ffff
call fcn.0040af32
add dword [0x43aca4], eax
mov al, byte [0x43ac92]
sub byte [0x43ac7b], al
pop ecx
pop ecx
inc ebx
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLangID]
push dword [0x43aca8]
movzx eax, ax
push 0x7c9ffff
mov dword [0x43ac9c], eax
call fcn.0040b087
inc dword [ebp - 0xc]
add dword [ebp - 8], 4
mov word [0x43ac8e], ax
mov eax, dword [ebp - 0xc]
cmp eax, dword [0x43532c]
pop ecx
pop ecx
jl 0x40f34a
mov eax, dword [0x435328]
shl eax, 2
push eax
push 0
push 0x43a43c
call sub.MSVCRT.dll_memset
add esp, 0xc
lea esp, [ebp - 0x28]
pop edi
pop esi
pop ebx
leave
ret