Function at 0x6602b4
Capabilities:
Identify system language via api

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffd54
push ebx
push esi
push edi
xor eax, eax
mov dword [ebp - 0x2ac], eax
mov dword [ebp - 0x2a8], eax
mov dword [ebp - 0x2a0], eax
mov dword [ebp - 0x29c], eax
mov dword [ebp - 0x298], eax
mov dword [ebp - 0x290], eax
mov dword [ebp - 0x294], eax
mov dword [ebp - 0x28c], eax
mov dword [ebp - 0x288], eax
mov dword [ebp - 4], eax
lea eax, [ebp - 0x278]
mov edx, dword [0x41f4b4]
call fcn.0040c8d8
xor eax, eax
push ebp
push 0x6608a3
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x68b1c4]
mov eax, dword [eax + 0x418]
mov eax, dword [eax + 0x2c0]
mov edx, dword [eax]
call dword [edx + 0x48]
lea eax, [ebp - 0x288]
mov ecx, 0x6608c0
mov edx, dword [0x68b230]
call fcn.0040c38c
mov eax, dword [ebp - 0x288]
lea ecx, [ebp - 0x278]
mov edx, 0x1ff
call fcn.00429074
test eax, eax
jne 0x6603b8
mov eax, dword [ebp - 0x264]
mov ebx, eax
test ebx, ebx
je 0x660371
sub ebx, 4
mov ebx, dword [ebx]
lea eax, [ebp - 0x28c]
push eax
mov ecx, ebx
sub ecx, 6
mov edx, 1
mov eax, dword [ebp - 0x264]
call fcn.0040c4fc
mov edx, dword [ebp - 0x28c]
mov eax, dword [0x68b1c4]
mov eax, dword [eax + 0x418]
mov eax, dword [eax + 0x2c0]
mov ecx, dword [eax]
call dword [ecx + 0x3c]
lea eax, [ebp - 0x278]
call fcn.004290c4
test eax, eax
je 0x660360
lea eax, [ebp - 0x278]
call fcn.004290e8
mov eax, dword [0x68b1c4]
mov eax, dword [eax + 0x418]
mov eax, dword [eax + 0x2c0]
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
jne 0x6603f1
mov eax, dword [0x68b1f8]
call fcn.004097a0
mov eax, 4
call fcn.0065ed3c
mov eax, dword [0x68b1c4]
mov eax, dword [eax + 0x418]
mov eax, dword [eax + 0x2c0]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
je 0x660844
mov byte [ebp - 0x27d], 0
push 0
mov ecx, 0x6608e0
mov edx, 0x660914
mov eax, dword [0x68b1f8]
mov ebx, dword [eax]
call dword [ebx + 0x20]
test al, al
je 0x6605f0
push 0
mov ecx, 0x66092c
mov edx, 0x660914
mov eax, dword [0x68b1f8]
mov ebx, dword [eax]
call dword [ebx + 0x10]
sub eax, 1
jb 0x660458
je 0x660466
dec eax
je 0x660474
dec eax
je 0x660482
jmp 0x66048e
call sub.kernel32.dll_GetUserDefaultUILanguage
mov word [ebp - 0x280], ax
jmp 0x66048e
call sub.kernel32.dll_GetSystemDefaultLangID
mov word [ebp - 0x280], ax
jmp 0x66048e
call sub.kernel32.dll_GetSystemDefaultUILanguage
mov word [ebp - 0x280], ax
jmp 0x66048e
call sub.kernel32.dll_GetUserDefaultLangID
mov word [ebp - 0x280], ax
mov eax, dword [0x68b1c4]
mov eax, dword [eax + 0x418]
mov eax, dword [eax + 0x2c0]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
test eax, eax
jl 0x6605c9
inc eax
mov dword [ebp - 0x284], eax
mov dword [ebp - 0x27c], 0
xor eax, eax
push ebp
push 0x6605ad
push dword fs:[eax]
mov dword fs:[eax], esp
push dword [0x68b230]
push 0x660954
lea ecx, [ebp - 0x294]
mov eax, dword [0x68b1c4]
mov eax, dword [eax + 0x418]
mov eax, dword [eax + 0x2c0]
mov edx, dword [ebp - 0x27c]
mov ebx, dword [eax]
call dword [ebx + 0xc]
push dword [ebp - 0x294]
push 0x660964
lea eax, [ebp - 0x290]
mov edx, 4
call fcn.0040c414
mov ecx, dword [ebp - 0x290]
mov dl, 1
mov eax, dword [0x50f328]
call fcn.00512e38
mov dword [0x68b1fc], eax
push 0
mov ecx, 0x660980
mov edx, 0x660994
mov eax, dword [0x68b1fc]
mov ebx, dword [eax]
call dword [ebx + 0x10]
movzx edx, word [ebp - 0x280]
cmp eax, edx
jne 0x660599
lea ecx, [ebp - 0x298]
mov eax, dword [0x68b1c4]
mov eax, dword [eax + 0x418]
mov eax, dword [eax + 0x2c0]
mov edx, dword [ebp - 0x27c]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov edx, dword [ebp - 0x298]
mov eax, 0x68b270
call fcn.0040b980
mov byte [ebp - 0x27d], 1
mov eax, dword [0x68b1fc]
call fcn.004097a0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x6605c9
mov eax, dword [0x68b1fc]
call fcn.004097a0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x6605b7
inc dword [ebp - 0x27c]
dec dword [ebp - 0x284]
jne 0x6604be
cmp byte [ebp - 0x27d], 0
je 0x6605f0
push 0
mov ecx, 0x6609ac
mov edx, 0x660914
mov eax, dword [0x68b1f8]
mov ebx, dword [eax]
call dword [ebx + 0x20]
test al, al
jne 0x660844
mov eax, 0x6609e0
call fcn.00644d20
test ax, ax
jbe 0x6606c0
mov eax, 0x6609e0
call fcn.00644d20
movzx eax, ax
inc eax
lea edx, [ebp - 0x29c]
call fcn.00407540
mov eax, dword [ebp - 0x29c]
lea edx, [ebp - 4]
call fcn.00427584
cmp dword [ebp - 4], 0
je 0x6606c0
mov eax, dword [0x68b1c4]
mov eax, dword [eax + 0x418]
mov eax, dword [eax + 0x2c0]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
test eax, eax
jl 0x6606c0
inc eax
mov dword [ebp - 0x284], eax
mov dword [ebp - 0x27c], 0
lea ecx, [ebp - 0x2a0]
mov eax, dword [0x68b1c4]
mov eax, dword [eax + 0x418]
mov eax, dword [eax + 0x2c0]
mov edx, dword [ebp - 0x27c]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov ebx, dword [ebp - 0x2a0]
mov dword [ebp - 0x2a4], ebx
mov edx, dword [ebp - 0x2a4]
mov eax, dword [ebp - 4]
call fcn.0042731c
test eax, eax
sete al
test al, al
je 0x6606b2
mov eax, 0x68b270
mov edx, dword [ebp - 4]
call fcn.0040b980
inc dword [ebp - 0x27c]
dec dword [ebp - 0x284]
jne 0x660660
mov eax, 0x6609f8
call fcn.00644f14
test al, al
jne 0x660844
push 0
mov ecx, 0x660a18
mov edx, 0x660914
mov eax, dword [0x68b1f8]
mov ebx, dword [eax]
call dword [ebx + 0x20]
test al, al
jne 0x660844
mov eax, 0x660a40
call fcn.00644d20
test ax, ax
ja 0x660844
mov eax, dword [0x68b1c4]
mov eax, dword [eax + 0x400]
call fcn.00551ca0
mov eax, dword [0x68b1c4]
cmp dword [eax + 0x7c], 0xffffff
je 0x660733
mov eax, dword [0x68b1c4]
mov eax, dword [eax + 0x400]
xor edx, edx
call fcn.0062cd10
mov eax, dword [0x68b1c4]
mov eax, dword [eax + 0x418]
mov eax, dword [eax + 0x2c0]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
test eax, eax
jl 0x660844
inc eax
mov dword [ebp - 0x284], eax
mov dword [ebp - 0x27c], 0
xor eax, eax
push ebp
push 0x660828
push dword fs:[eax]
mov dword fs:[eax], esp
push 1
mov eax, dword [0x68b1c4]
push eax
push 0x660248
push 0
push 0x660a54
lea ecx, [ebp - 0x2a8]
mov eax, dword [0x68b1c4]
mov eax, dword [eax + 0x418]
mov eax, dword [eax + 0x2c0]
mov edx, dword [ebp - 0x27c]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x2a8]
xor ecx, ecx
xor edx, edx
call fcn.005f3c04
mov edx, eax
mov eax, dword [0x68b1c4]
mov eax, dword [eax + 0x3fc]
mov eax, dword [eax + 0x44]
call fcn.005f0a24
lea ecx, [ebp - 0x2ac]
mov eax, dword [0x68b1c4]
mov eax, dword [eax + 0x418]
mov eax, dword [eax + 0x2c0]
mov edx, dword [ebp - 0x27c]
mov esi, dword [eax]
call dword [esi + 0xc]
mov eax, dword [ebp - 0x2ac]
call fcn.006460e8
push eax
mov eax, dword [0x68b1c4]
mov eax, dword [eax + 0x3fc]
mov ebx, dword [eax + 0x44]
mov eax, ebx
call fcn.005f05b0
mov edx, eax
dec edx
mov eax, ebx
call fcn.005f05c0
pop edx
call fcn.005f0608
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x660832
inc dword [ebp - 0x27c]
dec dword [ebp - 0x284]
jne 0x660763
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x6608aa
lea eax, [ebp - 0x2ac]
mov edx, 2
call fcn.0040b5f0
lea eax, [ebp - 0x2a0]
mov edx, 5
call fcn.0040b5f0
lea eax, [ebp - 0x28c]
call fcn.0040b590
lea eax, [ebp - 0x288]
call fcn.0040b590
lea eax, [ebp - 0x278]
mov edx, dword [0x41f4b4]
call fcn.0040cca4
lea eax, [ebp - 4]
call fcn.0040b590
pop eax
jmp eax