Function at 0x405cc0
Capabilities:
Identify system language via api

Disassembly:
push ebp
mov ebp, dword [esp + 8]
test ebp, ebp
jne 0x405ccd
xor eax, eax
pop ebp
ret
push ebx
push esi
push edi
mov byte [ebp], 0
xor bl, bl
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLangID]
and eax, 0xffff
cmp eax, 0x425
jg 0x405d4f
je 0x405d45
add eax, 0xfffffbfc
cmp eax, 0x1a
ja case.0x405e04.4104
jmp dword [eax*4 + 0x4060f0]
mov eax, 0x166
jmp 0x405f15
mov eax, 0x2d
jmp 0x405f15
mov eax, 0x1a4
jmp 0x405f15
mov eax, 0x30
jmp 0x405f15
mov eax, 0x376
jmp 0x405f15
mov eax, 0x24
jmp 0x405f15
mov eax, 0x42
jmp 0x405f15
mov eax, 0x174
jmp 0x405f15
cmp eax, 0x1407
jg 0x405e21
je case.0x405e04.4103
cmp eax, 0x81d
jg 0x405dc2
je case.0x405cf8.1053
add eax, 0xfffff7fc
cmp eax, 0x12
ja case.0x405e04.4104
xor ecx, ecx
mov cl, byte [eax + 0x406184]
jmp dword [ecx*4 + 0x40615c]
mov eax, 0x1f
jmp 0x405f15
mov eax, 0x2f
jmp 0x405f15
mov eax, 0x27
jmp 0x405f15
mov eax, 0x15f
jmp 0x405f15
mov eax, 0x52
jmp 0x405f15
mov eax, 0x2e
jmp 0x405f15
cmp eax, 0x1004
jg 0x405df6
je case.0x405dd9.3076
add eax, 0xfffff3fc
cmp eax, 8
ja case.0x405e04.4104
jmp dword [eax*4 + 0x406198]
mov bl, 1
mov eax, 0x21
jmp 0x405f15
mov eax, 0x56
jmp 0x405f15
add eax, 0xffffeff9
cmp eax, 5
ja case.0x405e04.4104
jmp dword [eax*4 + 0x4061bc]
mov eax, 1
mov bl, al
jmp 0x405f15
mov eax, 0x31
jmp 0x405f15
cmp eax, 0x2c0a
jg 0x405ead
je case.0x405e04.4106
cmp eax, 0x2009
jg 0x405e7b
je case.0x405cf8.1033
cmp eax, 0x180a
jg 0x405e66
je case.0x405e04.4106
sub eax, 0x140a
je case.0x405e04.4106
sub eax, 2
jne case.0x405e04.4104
mov eax, 0x21
jmp 0x405f15
cmp eax, 0x1c0a
je case.0x405e04.4106
mov eax, 1
jmp 0x405f15
cmp eax, 0x240a
jg 0x405e9f
je case.0x405e04.4106
cmp eax, 0x200a
je case.0x405e04.4106
cmp eax, 0x2409
jne case.0x405e04.4104
mov bl, 1
mov eax, 1
jmp 0x405f15
cmp eax, 0x280a
je case.0x405e04.4106
mov eax, 1
jmp 0x405f15
cmp eax, 0x400a
jg 0x405ee2
je case.0x405e04.4106
cmp eax, 0x380a
jg 0x405ed4
je case.0x405e04.4106
cmp eax, 0x300a
je case.0x405e04.4106
cmp eax, 0x340a
je case.0x405e04.4106
mov eax, 1
jmp 0x405f15
cmp eax, 0x3c0a
je case.0x405e04.4106
mov eax, 1
jmp 0x405f15
cmp eax, 0x4c0a
jg 0x405f00
je case.0x405e04.4106
cmp eax, 0x440a
je case.0x405e04.4106
cmp eax, 0x480a
je case.0x405e04.4106
mov eax, 1
jmp 0x405f15
cmp eax, 0x500a
je case.0x405e04.4106
mov eax, 1
jmp 0x405f15
mov bl, 1
mov eax, 0x22
mov ecx, dword [esp + 0x18]
test ecx, ecx
je 0x405f1f
mov byte [ecx], bl
cmp eax, 0x31
jg 0x40600b
je 0x405fe2
add eax, 0xffffffdf
cmp eax, 0xf
ja case.0x405f42.39
xor edx, edx
mov dl, byte [eax + 0x4061f0]
jmp dword [edx*4 + 0x4061d4]
mov edi, 0x40b614
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, ebp
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, ebp
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
pop ebx
pop ebp
ret
mov edi, 0x40b610
jmp 0x4060cb
mov edi, 0x40b60c
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, ebp
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, ebp
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
pop ebx
pop ebp
ret
mov edi, 0x40b608
jmp 0x4060cb
mov edi, 0x40b604
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, ebp
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, ebp
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
pop ebx
pop ebp
ret
mov edi, 0x40b600
jmp 0x4060cb
mov edi, 0x40b5fc
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, ebp
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, ebp
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
pop ebx
pop ebp
ret
cmp eax, 0x174
jg 0x406088
je 0x40605f
sub eax, 0x56
je 0x406058
sub eax, 0x109
je 0x40602f
sub eax, 7
jne case.0x405f42.39
mov edi, 0x40b5f8
jmp 0x4060cb
mov edi, 0x40b5f4
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, ebp
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, ebp
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
pop ebx
pop ebp
ret
mov edi, 0x40b5f0
jmp 0x4060cb
mov edi, 0x40b5ec
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, ebp
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, ebp
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
pop ebx
pop ebp
ret
cmp eax, 0x1a4
je 0x4060c6
cmp eax, 0x376
je 0x40609d
mov edi, 0x40a1c4
jmp 0x4060cb
mov edi, 0x40b5e8
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, ebp
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, ebp
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
pop ebx
pop ebp
ret
mov edi, 0x40b5e4
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ebp
mov edx, ecx
mov esi, edi
mov edi, ebp
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
pop ebx
pop ebp
ret