Function at 0x662e78
Capabilities:
Identify system language via api

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffd68
push ebx
push esi
push edi
xor eax, eax
mov dword [ebp - 0x298], eax
mov dword [ebp - 0x294], eax
mov dword [ebp - 0x290], eax
mov dword [ebp - 0x288], eax
mov dword [ebp - 0x28c], eax
mov dword [ebp - 0x284], eax
mov dword [ebp - 0x280], eax
lea eax, [ebp - 0x270]
mov edx, dword [0x41b148]
call fcn.0040a96c
xor eax, eax
push ebp
push 0x6632fd
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x68b898]
mov eax, dword [eax + 0x3e0]
mov eax, dword [eax + 0x2a0]
mov edx, dword [eax]
call dword [edx + 0x48]
lea eax, [ebp - 0x280]
mov ecx, 0x663318
mov edx, dword [0x68b900]
call fcn.0040a390
mov eax, dword [ebp - 0x280]
lea ecx, [ebp - 0x270]
mov edx, 0x1ff
call fcn.004247f4
test eax, eax
jne 0x662f6d
mov eax, dword [ebp - 0x25c]
mov ebx, eax
test ebx, ebx
je 0x662f26
sub ebx, 4
mov ebx, dword [ebx]
lea eax, [ebp - 0x284]
push eax
mov ecx, ebx
sub ecx, 6
mov edx, 1
mov eax, dword [ebp - 0x25c]
call fcn.0040a500
mov edx, dword [ebp - 0x284]
mov eax, dword [0x68b898]
mov eax, dword [eax + 0x3e0]
mov eax, dword [eax + 0x2a0]
mov ecx, dword [eax]
call dword [ecx + 0x3c]
lea eax, [ebp - 0x270]
call fcn.00424844
test eax, eax
je 0x662f15
lea eax, [ebp - 0x270]
call fcn.00424868
mov eax, dword [0x68b898]
mov eax, dword [eax + 0x3e0]
mov eax, dword [eax + 0x2a0]
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
jne 0x662fba
mov eax, dword [0x68b8d0]
call fcn.004078f0
mov eax, dword [0x68b950]
call fcn.004078f0
mov eax, dword [0x68b958]
call fcn.004078f0
mov eax, 4
call fcn.00661440
mov eax, dword [0x68b898]
mov eax, dword [eax + 0x3e0]
mov eax, dword [eax + 0x2a0]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
je 0x6632b8
push 0
mov ecx, 0x663338
mov edx, 0x66336c
mov eax, dword [0x68b8d0]
mov ebx, dword [eax]
call dword [ebx + 0x14]
test al, al
je 0x663173
push 0
mov ecx, 0x663384
mov edx, 0x6633ac
mov eax, dword [0x68b8d0]
mov ebx, dword [eax]
call dword [ebx + 0xc]
sub eax, 1
jb 0x663017
je 0x663025
dec eax
je 0x663033
jmp 0x66303f
call sub.kernel32.dll_GetUserDefaultUILanguage_1
mov word [ebp - 0x276], ax
jmp 0x66303f
call sub.kernel32.dll_GetSystemDefaultLangID
mov word [ebp - 0x276], ax
jmp 0x66303f
call sub.kernel32.dll_GetSystemDefaultUILanguage_1
mov word [ebp - 0x276], ax
mov eax, dword [0x68b898]
mov eax, dword [eax + 0x3e0]
mov eax, dword [eax + 0x2a0]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
test eax, eax
jl 0x663173
inc eax
mov dword [ebp - 0x27c], eax
mov dword [ebp - 0x274], 0
xor eax, eax
push ebp
push 0x663157
push dword fs:[eax]
mov dword fs:[eax], esp
push dword [0x68b900]
push 0x6633c4
lea ecx, [ebp - 0x28c]
mov eax, dword [0x68b898]
mov eax, dword [eax + 0x3e0]
mov eax, dword [eax + 0x2a0]
mov edx, dword [ebp - 0x274]
mov ebx, dword [eax]
call dword [ebx + 0xc]
push dword [ebp - 0x28c]
push 0x6633d4
lea eax, [ebp - 0x288]
mov edx, 4
call fcn.0040a418
mov ecx, dword [ebp - 0x288]
mov dl, 1
mov eax, dword [0x507730]
call fcn.0050a8dc
mov dword [0x68b8d4], eax
push 0
mov ecx, 0x6633f0
mov edx, 0x663404
mov eax, dword [0x68b8d4]
mov ebx, dword [eax]
call dword [ebx + 0xc]
movzx edx, word [ebp - 0x276]
cmp eax, edx
jne 0x663143
lea ecx, [ebp - 0x290]
mov eax, dword [0x68b898]
mov eax, dword [eax + 0x3e0]
mov eax, dword [eax + 0x2a0]
mov edx, dword [ebp - 0x274]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov edx, dword [ebp - 0x290]
mov eax, 0x68b934
call fcn.0040994c
mov eax, dword [0x68b8d4]
call fcn.004078f0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x663173
mov eax, dword [0x68b8d4]
call fcn.004078f0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x663161
inc dword [ebp - 0x274]
dec dword [ebp - 0x27c]
jne 0x66306f
cmp byte [0x68b8de], 0
jne 0x6632b8
mov eax, 0x66341c
call fcn.00646680
test al, al
jne 0x6632b8
mov eax, dword [0x68b898]
mov eax, dword [eax + 0x3c8]
call fcn.00541f34
call fcn.006467c4
mov eax, dword [0x68b898]
mov eax, dword [eax + 0x3e0]
mov eax, dword [eax + 0x2a0]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
test eax, eax
jl 0x6632b8
inc eax
mov dword [ebp - 0x27c], eax
mov dword [ebp - 0x274], 0
xor eax, eax
push ebp
push 0x66329c
push dword fs:[eax]
mov dword fs:[eax], esp
push 1
mov eax, dword [0x68b898]
push eax
push 0x661804
push 0
push 0x66343c
lea ecx, [ebp - 0x294]
mov eax, dword [0x68b898]
mov eax, dword [eax + 0x3e0]
mov eax, dword [eax + 0x2a0]
mov edx, dword [ebp - 0x274]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x294]
xor ecx, ecx
xor edx, edx
call fcn.005fc544
mov edx, eax
mov eax, dword [0x68b898]
mov eax, dword [eax + 0x3c4]
mov eax, dword [eax + 0x44]
call fcn.005f9474
lea ecx, [ebp - 0x298]
mov eax, dword [0x68b898]
mov eax, dword [eax + 0x3e0]
mov eax, dword [eax + 0x2a0]
mov edx, dword [ebp - 0x274]
mov esi, dword [eax]
call dword [esi + 0xc]
mov eax, dword [ebp - 0x298]
call fcn.00646078
push eax
mov eax, dword [0x68b898]
mov eax, dword [eax + 0x3c4]
mov ebx, dword [eax + 0x44]
mov eax, ebx
call fcn.005f90d4
mov edx, eax
dec edx
mov eax, ebx
call fcn.005f90e4
pop edx
call fcn.005f9138
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x6632a6
inc dword [ebp - 0x274]
dec dword [ebp - 0x27c]
jne 0x6631d7
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x663304
lea eax, [ebp - 0x298]
mov edx, 5
call fcn.004095cc
lea eax, [ebp - 0x284]
call fcn.0040956c
lea eax, [ebp - 0x280]
call fcn.0040956c
lea eax, [ebp - 0x270]
mov edx, dword [0x41b148]
call fcn.0040aa44
ret