Function at 0x65f238
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 [0x41f398]
call fcn.0040c7ac
xor eax, eax
push ebp
push 0x65f725
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x68a1c4]
mov eax, dword [eax + 0x418]
mov eax, dword [eax + 0x2c0]
mov edx, dword [eax]
call dword [edx + 0x48]
lea eax, [ebp - 0x280]
mov ecx, 0x65f740
mov edx, dword [0x68a228]
call fcn.0040c260
mov eax, dword [ebp - 0x280]
lea ecx, [ebp - 0x270]
mov edx, 0x1ff
call fcn.00428f58
test eax, eax
jne 0x65f32d
mov eax, dword [ebp - 0x25c]
mov ebx, eax
test ebx, ebx
je 0x65f2e6
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.0040c3d0
mov edx, dword [ebp - 0x284]
mov eax, dword [0x68a1c4]
mov eax, dword [eax + 0x418]
mov eax, dword [eax + 0x2c0]
mov ecx, dword [eax]
call dword [ecx + 0x3c]
lea eax, [ebp - 0x270]
call fcn.00428fa8
test eax, eax
je 0x65f2d5
lea eax, [ebp - 0x270]
call fcn.00428fcc
mov eax, dword [0x68a1c4]
mov eax, dword [eax + 0x418]
mov eax, dword [eax + 0x2c0]
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
jne 0x65f37a
mov eax, dword [0x68a1f8]
call fcn.00409674
mov eax, dword [0x68a284]
call fcn.00409674
mov eax, dword [0x68a28c]
call fcn.00409674
mov eax, 4
call fcn.0065dddc
mov eax, dword [0x68a1c4]
mov eax, dword [eax + 0x418]
mov eax, dword [eax + 0x2c0]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
je 0x65f6de
mov byte [ebp - 0x275], 0
push 0
mov ecx, 0x65f760
mov edx, 0x65f794
mov eax, dword [0x68a1f8]
mov ebx, dword [eax]
call dword [ebx + 0x20]
test al, al
je 0x65f579
push 0
mov ecx, 0x65f7ac
mov edx, 0x65f794
mov eax, dword [0x68a1f8]
mov ebx, dword [eax]
call dword [ebx + 0x10]
sub eax, 1
jb 0x65f3e1
je 0x65f3ef
dec eax
je 0x65f3fd
dec eax
je 0x65f40b
jmp 0x65f417
call sub.kernel32.dll_GetUserDefaultUILanguage
mov word [ebp - 0x278], ax
jmp 0x65f417
call sub.kernel32.dll_GetSystemDefaultLangID
mov word [ebp - 0x278], ax
jmp 0x65f417
call sub.kernel32.dll_GetSystemDefaultUILanguage
mov word [ebp - 0x278], ax
jmp 0x65f417
call sub.kernel32.dll_GetUserDefaultLangID
mov word [ebp - 0x278], ax
mov eax, dword [0x68a1c4]
mov eax, dword [eax + 0x418]
mov eax, dword [eax + 0x2c0]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
test eax, eax
jl 0x65f552
inc eax
mov dword [ebp - 0x27c], eax
mov dword [ebp - 0x274], 0
xor eax, eax
push ebp
push 0x65f536
push dword fs:[eax]
mov dword fs:[eax], esp
push dword [0x68a228]
push 0x65f7d4
lea ecx, [ebp - 0x28c]
mov eax, dword [0x68a1c4]
mov eax, dword [eax + 0x418]
mov eax, dword [eax + 0x2c0]
mov edx, dword [ebp - 0x274]
mov ebx, dword [eax]
call dword [ebx + 0xc]
push dword [ebp - 0x28c]
push 0x65f7e4
lea eax, [ebp - 0x288]
mov edx, 4
call fcn.0040c2e8
mov ecx, dword [ebp - 0x288]
mov dl, 1
mov eax, dword [0x50f024]
call fcn.00512b34
mov dword [0x68a1fc], eax
push 0
mov ecx, 0x65f800
mov edx, 0x65f814
mov eax, dword [0x68a1fc]
mov ebx, dword [eax]
call dword [ebx + 0x10]
movzx edx, word [ebp - 0x278]
cmp eax, edx
jne 0x65f522
lea ecx, [ebp - 0x290]
mov eax, dword [0x68a1c4]
mov eax, dword [eax + 0x418]
mov eax, dword [eax + 0x2c0]
mov edx, dword [ebp - 0x274]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov edx, dword [ebp - 0x290]
mov eax, 0x68a264
call fcn.0040b854
mov byte [ebp - 0x275], 1
mov eax, dword [0x68a1fc]
call fcn.00409674
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x65f552
mov eax, dword [0x68a1fc]
call fcn.00409674
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x65f540
inc dword [ebp - 0x274]
dec dword [ebp - 0x27c]
jne 0x65f447
cmp byte [ebp - 0x275], 0
je 0x65f579
push 0
mov ecx, 0x65f82c
mov edx, 0x65f794
mov eax, dword [0x68a1f8]
mov ebx, dword [eax]
call dword [ebx + 0x20]
test al, al
jne 0x65f6de
cmp byte [0x68a206], 0
jne 0x65f6de
mov eax, 0x65f860
call fcn.00644e7c
test al, al
jne 0x65f6de
mov eax, dword [0x68a1c4]
mov eax, dword [eax + 0x400]
call fcn.0055199c
call fcn.00645fb0
mov eax, dword [0x68a1c4]
cmp dword [eax + 0x7c], 0xffffff
je 0x65f5cd
mov eax, dword [0x68a1c4]
mov eax, dword [eax + 0x400]
xor edx, edx
call fcn.0062ca0c
mov eax, dword [0x68a1c4]
mov eax, dword [eax + 0x418]
mov eax, dword [eax + 0x2c0]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
test eax, eax
jl 0x65f6de
inc eax
mov dword [ebp - 0x27c], eax
mov dword [ebp - 0x274], 0
xor eax, eax
push ebp
push 0x65f6c2
push dword fs:[eax]
mov dword fs:[eax], esp
push 1
mov eax, dword [0x68a1c4]
push eax
push 0x65e130
push 0
push 0x65f880
lea ecx, [ebp - 0x294]
mov eax, dword [0x68a1c4]
mov eax, dword [eax + 0x418]
mov eax, dword [eax + 0x2c0]
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.005f3900
mov edx, eax
mov eax, dword [0x68a1c4]
mov eax, dword [eax + 0x3fc]
mov eax, dword [eax + 0x44]
call fcn.005f0720
lea ecx, [ebp - 0x298]
mov eax, dword [0x68a1c4]
mov eax, dword [eax + 0x418]
mov eax, dword [eax + 0x2c0]
mov edx, dword [ebp - 0x274]
mov esi, dword [eax]
call dword [esi + 0xc]
mov eax, dword [ebp - 0x298]
call fcn.00645a84
push eax
mov eax, dword [0x68a1c4]
mov eax, dword [eax + 0x3fc]
mov ebx, dword [eax + 0x44]
mov eax, ebx
call fcn.005f02ac
mov edx, eax
dec edx
mov eax, ebx
call fcn.005f02bc
pop edx
call fcn.005f0304
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x65f6cc
inc dword [ebp - 0x274]
dec dword [ebp - 0x27c]
jne 0x65f5fd
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x65f72c
lea eax, [ebp - 0x298]
mov edx, 5
call fcn.0040b4c4
lea eax, [ebp - 0x284]
call fcn.0040b464
lea eax, [ebp - 0x280]
call fcn.0040b464
lea eax, [ebp - 0x270]
mov edx, dword [0x41f398]
call fcn.0040cb78
pop eax
jmp eax