Function at 0x41e8b0
Capabilities:
Identify system language via api

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20c
mov eax, dword [0x429004]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push edi
mov esi, ecx
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLangID]
movzx edi, ax
test esi, esi
je 0x41eca4
mov edx, 0x429d2c
mov eax, esi
nop
mov cx, word [eax]
cmp cx, word [edx]
jne 0x41e906
test cx, cx
je 0x41e902
mov cx, word [eax + 2]
cmp cx, word [edx + 2]
jne 0x41e906
add eax, 4
add edx, 4
test cx, cx
jne 0x41e8e0
xor eax, eax
jmp 0x41e90b
sbb eax, eax
or eax, 1
test eax, eax
je case.0x41efa3.2057
mov ecx, 0x429d24
mov eax, esi
nop word [eax + eax]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x41e946
test dx, dx
je 0x41e942
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x41e946
add eax, 4
add ecx, 4
test dx, dx
jne 0x41e920
xor eax, eax
jmp 0x41e94b
sbb eax, eax
or eax, 1
test eax, eax
je case.0x41ef47.1049
mov ecx, 0x429d1c
mov eax, esi
nop word [eax + eax]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x41e986
test dx, dx
je 0x41e982
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x41e986
add eax, 4
add ecx, 4
test dx, dx
jne 0x41e960
xor eax, eax
jmp 0x41e98b
sbb eax, eax
or eax, 1
test eax, eax
je case.0x41ef47.1055
mov ecx, 0x429d14
mov eax, esi
nop word [eax + eax]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x41e9c6
test dx, dx
je 0x41e9c2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x41e9c6
add eax, 4
add ecx, 4
test dx, dx
jne 0x41e9a0
xor eax, eax
jmp 0x41e9cb
sbb eax, eax
or eax, 1
test eax, eax
je case.0x41efa3.2070
mov ecx, 0x429d0c
mov eax, esi
nop word [eax + eax]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x41ea06
test dx, dx
je 0x41ea02
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x41ea06
add eax, 4
add ecx, 4
test dx, dx
jne 0x41e9e0
xor eax, eax
jmp 0x41ea0b
sbb eax, eax
or eax, 1
test eax, eax
je case.0x41ef47.1066
mov ecx, 0x429d04
mov eax, esi
nop word [eax + eax]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x41ea46
test dx, dx
je 0x41ea42
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x41ea46
add eax, 4
add ecx, 4
test dx, dx
jne 0x41ea20
xor eax, eax
jmp 0x41ea4b
sbb eax, eax
or eax, 1
test eax, eax
je case.0x41efa3.2058
mov ecx, 0x429cfc
mov eax, esi
nop word [eax + eax]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x41ea86
test dx, dx
je 0x41ea82
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x41ea86
add eax, 4
add ecx, 4
test dx, dx
jne 0x41ea60
xor eax, eax
jmp 0x41ea8b
sbb eax, eax
or eax, 1
test eax, eax
jne 0x41eaa4
pop edi
mov eax, 0xb
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00401c37
mov esp, ebp
pop ebp
ret
mov ecx, 0x429cf4
mov eax, esi
nop dword [eax + eax]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x41ead6
test dx, dx
je 0x41ead2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x41ead6
add eax, 4
add ecx, 4
test dx, dx
jne 0x41eab0
xor eax, eax
jmp 0x41eadb
sbb eax, eax
or eax, 1
test eax, eax
jne 0x41eaf4
pop edi
mov eax, 0xc
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00401c37
mov esp, ebp
pop ebp
ret
mov ecx, 0x429cec
mov eax, esi
nop dword [eax + eax]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x41eb26
test dx, dx
je 0x41eb22
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x41eb26
add eax, 4
add ecx, 4
test dx, dx
jne 0x41eb00
xor eax, eax
jmp 0x41eb2b
sbb eax, eax
or eax, 1
test eax, eax
je case.0x41ef47.1034
mov ecx, 0x429ce4
mov eax, esi
nop word [eax + eax]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x41eb66
test dx, dx
je 0x41eb62
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x41eb66
add eax, 4
add ecx, 4
test dx, dx
jne 0x41eb40
xor eax, eax
jmp 0x41eb6b
sbb eax, eax
or eax, 1
test eax, eax
jne 0x41eb84
pop edi
mov eax, 9
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00401c37
mov esp, ebp
pop ebp
ret
mov ecx, 0x429cdc
mov eax, esi
nop dword [eax + eax]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x41ebb6
test dx, dx
je 0x41ebb2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x41ebb6
add eax, 4
add ecx, 4
test dx, dx
jne 0x41eb90
xor eax, eax
jmp 0x41ebbb
sbb eax, eax
or eax, 1
test eax, eax
je case.0x41efa3.2066
mov ecx, 0x429cd4
mov eax, esi
nop word [eax + eax]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x41ebf6
test dx, dx
je 0x41ebf2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x41ebf6
add eax, 4
add ecx, 4
test dx, dx
jne 0x41ebd0
xor eax, eax
jmp 0x41ebfb
sbb eax, eax
or eax, 1
test eax, eax
je case.0x41ef47.1041
mov ecx, 0x429ccc
mov eax, esi
nop word [eax + eax]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x41ec36
test dx, dx
je 0x41ec32
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x41ec36
add eax, 4
add ecx, 4
test dx, dx
jne 0x41ec10
xor eax, eax
jmp 0x41ec3b
sbb eax, eax
or eax, 1
test eax, eax
jne 0x41ec54
pop edi
mov eax, 3
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00401c37
mov esp, ebp
pop ebp
ret
mov eax, 0x429cc4
nop dword [eax]
mov cx, word [esi]
cmp cx, word [eax]
jne 0x41ec86
test cx, cx
je 0x41ec82
mov cx, word [esi + 2]
cmp cx, word [eax + 2]
jne 0x41ec86
add esi, 4
add eax, 4
test cx, cx
jne 0x41ec60
xor eax, eax
jmp 0x41ec8b
sbb eax, eax
or eax, 1
test eax, eax
jne 0x41eca4
pop edi
mov eax, 4
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00401c37
mov esp, ebp
pop ebp
ret
push str.DefaultLang
mov edx, 0x208
lea ecx, [ebp - 0x20c]
call fcn.0041a710
add esp, 4
test eax, eax
je 0x41ed03
mov ecx, 0x429af4
lea eax, [ebp - 0x20c]
nop dword [eax + eax]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x41ecf6
test dx, dx
je 0x41ecf2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x41ecf6
add eax, 4
add ecx, 4
test dx, dx
jne 0x41ecd0
xor eax, eax
jmp 0x41ecfb
sbb eax, eax
or eax, 1
test eax, eax
je case.0x41efa3.2057
call fcn.0041a680
test eax, eax
js case.0x41efa3.2057
push 0x429adc
mov edx, 0x208
lea ecx, [ebp - 0x20c]
call fcn.0041a710
add esp, 4
test eax, eax
je 0x41ed7b
mov ecx, 0x429ad4
lea eax, [ebp - 0x20c]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x41ed5d
test dx, dx
je 0x41ed59
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x41ed5d
add eax, 4
add ecx, 4
test dx, dx
jne 0x41ed37
xor eax, eax
jmp 0x41ed62
sbb eax, eax
or eax, 1
test eax, eax
jne 0x41ed7b
pop edi
mov eax, 5
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00401c37
mov esp, ebp
pop ebp
ret
push 0x429abc
mov edx, 0x208
lea ecx, [ebp - 0x20c]
call fcn.0041a710
add esp, 4
test eax, eax
je 0x41ede6
mov ecx, 0x429ab4
lea eax, [ebp - 0x20c]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x41edc8
test dx, dx
je 0x41edc4
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x41edc8
add eax, 4
add ecx, 4
test dx, dx
jne 0x41eda2
xor eax, eax
jmp 0x41edcd
sbb eax, eax
or eax, 1
test eax, eax
jne 0x41ede6
pop edi
mov eax, 6
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00401c37
mov esp, ebp
pop ebp
ret
push 0x429a9c
mov edx, 0x208
lea ecx, [ebp - 0x20c]
call fcn.0041a710
add esp, 4
test eax, eax
je 0x41ee54
mov ecx, 0x429a94
lea eax, [ebp - 0x20c]
nop dword [eax]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x41ee36
test dx, dx
je 0x41ee32
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x41ee36
add eax, 4
add ecx, 4
test dx, dx
jne 0x41ee10
xor eax, eax
jmp 0x41ee3b
sbb eax, eax
or eax, 1
test eax, eax
jne 0x41ee54
pop edi
mov eax, 0xd
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00401c37
mov esp, ebp
pop ebp
ret
push 0x429a7c
mov edx, 0x208
lea ecx, [ebp - 0x20c]
call fcn.0041a710
add esp, 4
test eax, eax
je 0x41eec4
mov ecx, 0x429a74
lea eax, [ebp - 0x20c]
nop dword [eax + eax]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x41eea6
test dx, dx
je 0x41eea2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x41eea6
add eax, 4
add ecx, 4
test dx, dx
jne 0x41ee80
xor eax, eax
jmp 0x41eeab
sbb eax, eax
or eax, 1
test eax, eax
jne 0x41eec4
pop edi
mov eax, 7
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00401c37
mov esp, ebp
pop ebp
ret
push 0x429a5c
mov edx, 0x208
lea ecx, [ebp - 0x20c]
call fcn.0041a710
add esp, 4
test eax, eax
je 0x41ef23
mov ecx, 0x429a54
lea eax, [ebp - 0x20c]
nop dword [eax + eax]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x41ef16
test dx, dx
je 0x41ef12
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x41ef16
add eax, 4
add ecx, 4
test dx, dx
jne 0x41eef0
xor eax, eax
jmp 0x41ef1b
sbb eax, eax
or eax, 1
test eax, eax
je case.0x41efa3.2058
mov eax, edi
cmp eax, 0x804
ja 0x41ef63
je 0x41ec3f
sub eax, 0x404
cmp eax, 0x26
ja case.0x41efa3.2057
movzx eax, byte [eax + 0x41f0fc]
jmp dword [eax*4 + 0x41f0c8]
pop edi
mov eax, 1
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00401c37
mov esp, ebp
pop ebp
ret
cmp eax, 0x2409
ja 0x41f02a
je case.0x41efa3.2057
cmp eax, 0x100a
ja 0x41efee
je case.0x41efa3.2058
cmp eax, 0xc04
ja 0x41efbc
je case.0x41ef47.1028
sub eax, 0x809
cmp eax, 0xd
ja case.0x41efa3.2057
movzx eax, byte [eax + 0x41f138]
jmp dword [eax*4 + 0x41f124]
pop edi
xor eax, eax
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00401c37
mov esp, ebp
pop ebp
ret
cmp eax, 0x1004
ja case.0x41efa3.2057
je case.0x41ef47.1028
sub eax, 0xc09
je case.0x41efa3.2057
sub eax, 1
jne case.0x41efa3.2057
pop edi
mov eax, 0xa
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00401c37
mov esp, ebp
pop ebp
ret
cmp eax, 0x1c09
ja 0x41f013
je case.0x41efa3.2057
cmp eax, 0x1809
ja 0x41f00c
je case.0x41efa3.2057
sub eax, 0x1409
je case.0x41efa3.2057
sub eax, 1
jmp 0x41f04a
cmp eax, 0x180a
jmp 0x41f04a
sub eax, 0x1c0a
je case.0x41efa3.2058
sub eax, 0x3ff
je case.0x41efa3.2057
sub eax, 1
jmp 0x41f04a
cmp eax, 0x3c0a
ja 0x41f076
je case.0x41efa3.2058
cmp eax, 0x2c0a
ja 0x41f061
je case.0x41efa3.2058
cmp eax, 0x280a
ja case.0x41efa3.2057
je case.0x41efa3.2058
cmp eax, 0x240a
je case.0x41efa3.2058
pop edi
mov eax, 2
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00401c37
mov esp, ebp
pop ebp
ret
cmp eax, 0x300a
je case.0x41efa3.2058
cmp eax, 0x340a
je case.0x41efa3.2058
cmp eax, 0x380a
jmp 0x41f04a
cmp eax, 0x500a
ja 0x41f09d
je case.0x41efa3.2058
cmp eax, 0x480a
ja 0x41f096
je case.0x41efa3.2058
cmp eax, 0x400a
je case.0x41efa3.2058
cmp eax, 0x440a
jmp 0x41f04a
cmp eax, 0x4c0a
jmp 0x41f04a
cmp eax, 0x540a
je case.0x41efa3.2058
cmp eax, 0x580a
je case.0x41efa3.2058
cmp eax, 0x5c0a
jmp 0x41f04a
mov ecx, dword [ebp - 4]
mov eax, 8
pop edi
xor ecx, ebp
pop esi
call fcn.00401c37
mov esp, ebp
pop ebp
ret