Function at 0x10017790
Capabilities:
Identify system language via api

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1002a6d0
mov eax, dword fs:[0]
push eax
push ecx
push esi
mov eax, dword [0x1005c00c]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x10], esi
call dword [sym.imp.KERNEL32.dll_GetUserDefaultUILanguage]
movzx eax, ax
mov ecx, 0x400
cmp ax, cx
je 0x10017d71
mov ecx, 0x409
cmp ax, cx
je 0x10017d71
mov ecx, 0x404
cmp ax, cx
je 0x10017d3e
mov ecx, 0xc04
cmp ax, cx
je 0x10017d3e
mov ecx, 0x804
cmp ax, cx
jne 0x10017822
push str.CHINESE_SIMPLIFIED
mov ecx, esi
call fcn.10002d10
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov esp, ebp
pop ebp
ret
mov ecx, 0x401
cmp ax, cx
je 0x10017d20
mov ecx, 0x801
cmp ax, cx
je 0x10017d20
mov ecx, 0xc01
cmp ax, cx
je 0x10017d20
mov ecx, 0x407
cmp ax, cx
je 0x10017d02
mov ecx, 0xc07
cmp ax, cx
je 0x10017d02
mov ecx, 0x807
cmp ax, cx
je 0x10017d02
mov ecx, 0x40a
cmp ax, cx
je 0x10017ce4
mov ecx, 0x80a
cmp ax, cx
je 0x10017ce4
mov ecx, 0xc0a
cmp ax, cx
je 0x10017ce4
mov ecx, 0x40c
cmp ax, cx
je 0x10017cc6
mov ecx, 0x80c
cmp ax, cx
je 0x10017cc6
mov ecx, 0xc0c
cmp ax, cx
je 0x10017cc6
mov ecx, 0x410
cmp ax, cx
je 0x10017ca8
mov ecx, 0x810
cmp ax, cx
je 0x10017ca8
mov ecx, 0x411
cmp ax, cx
jne 0x1001790e
push str.JAPANESE
mov ecx, esi
call fcn.10002d10
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov esp, ebp
pop ebp
ret
mov ecx, 0x412
cmp ax, cx
jne 0x10017936
push str.KOREAN
mov ecx, esi
call fcn.10002d10
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov esp, ebp
pop ebp
ret
mov ecx, 0x816
cmp ax, cx
jne 0x1001795e
push str.PORTUGUESE
mov ecx, esi
call fcn.10002d10
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov esp, ebp
pop ebp
ret
mov ecx, 0x419
cmp ax, cx
jne 0x10017986
push str.RUSSIAN
mov ecx, esi
call fcn.10002d10
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov esp, ebp
pop ebp
ret
mov ecx, 0x416
cmp ax, cx
jne 0x100179ae
push str.BRAZILIAN_PORTUGUESE
mov ecx, esi
call fcn.10002d10
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov esp, ebp
pop ebp
ret
mov ecx, 0x405
cmp ax, cx
jne 0x100179d6
push str.CZECH
mov ecx, esi
call fcn.10002d10
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov esp, ebp
pop ebp
ret
mov ecx, 0x406
cmp ax, cx
jne 0x100179fe
push 0x100432bc
mov ecx, esi
call fcn.10002d10
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov esp, ebp
pop ebp
ret
mov ecx, 0x413
cmp ax, cx
je 0x10017c8a
mov ecx, 0x813
cmp ax, cx
je 0x10017c8a
mov ecx, 0x40b
cmp ax, cx
jne 0x10017a42
push str.FINNISH
mov ecx, esi
call fcn.10002d10
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov esp, ebp
pop ebp
ret
mov ecx, 0x40d
cmp ax, cx
jne 0x10017a6a
push str.HEBREW
mov ecx, esi
call fcn.10002d10
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov esp, ebp
pop ebp
ret
mov ecx, 0x40e
cmp ax, cx
jne 0x10017a92
push str.HUNGARIAN
mov ecx, esi
call fcn.10002d10
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov esp, ebp
pop ebp
ret
mov ecx, 0x421
cmp ax, cx
jne 0x10017aba
push str.INDONESIAN
mov ecx, esi
call fcn.10002d10
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov esp, ebp
pop ebp
ret
mov ecx, 0x414
cmp ax, cx
je 0x10017c6c
mov ecx, 0x814
cmp ax, cx
je 0x10017c6c
mov ecx, 0x415
cmp ax, cx
jne 0x10017afe
push str.POLISH
mov ecx, esi
call fcn.10002d10
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov esp, ebp
pop ebp
ret
mov ecx, 0x418
cmp ax, cx
jne 0x10017b26
push str.ROMANIAN
mov ecx, esi
call fcn.10002d10
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov esp, ebp
pop ebp
ret
mov ecx, 0x41b
cmp ax, cx
jne 0x10017b4e
push str.SLOVAK
mov ecx, esi
call fcn.10002d10
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov esp, ebp
pop ebp
ret
mov ecx, 0x81d
cmp ax, cx
je 0x10017c4e
mov ecx, 0x41d
cmp ax, cx
je 0x10017c4e
mov ecx, 0x41e
cmp ax, cx
jne 0x10017b92
push 0x1004f9bc
mov ecx, esi
call fcn.10002d10
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov esp, ebp
pop ebp
ret
mov ecx, 0x41f
cmp ax, cx
jne 0x10017bba
push str.TURKISH
mov ecx, esi
call fcn.10002d10
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov esp, ebp
pop ebp
ret
mov ecx, 0x422
cmp ax, cx
jne 0x10017be2
push str.UKRAINIAN
mov ecx, esi
call fcn.10002d10
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov esp, ebp
pop ebp
ret
mov ecx, 0x42a
cmp ax, cx
jne 0x10017c0a
push str.VIETNAMESE
mov ecx, esi
call fcn.10002d10
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov esp, ebp
pop ebp
ret
mov ecx, 0x408
cmp ax, cx
mov ecx, esi
jne 0x10017c32
push str.GREEK
call fcn.10002d10
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov esp, ebp
pop ebp
ret
push str.ENGLISH
call fcn.10002d10
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov esp, ebp
pop ebp
ret
push str.SWEDISH
mov ecx, esi
call fcn.10002d10
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov esp, ebp
pop ebp
ret
push str.NORWEGIAN
mov ecx, esi
call fcn.10002d10
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov esp, ebp
pop ebp
ret
push str.DUTCH
mov ecx, esi
call fcn.10002d10
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov esp, ebp
pop ebp
ret
push str.ITALIAN
mov ecx, esi
call fcn.10002d10
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov esp, ebp
pop ebp
ret
push str.FRENCH
mov ecx, esi
call fcn.10002d10
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov esp, ebp
pop ebp
ret
push str.SPANISH
mov ecx, esi
call fcn.10002d10
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov esp, ebp
pop ebp
ret
push str.GERMAN
mov ecx, esi
call fcn.10002d10
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov esp, ebp
pop ebp
ret
push str.ARABIC
mov ecx, esi
call fcn.10002d10
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov esp, ebp
pop ebp
ret
call fcn.10002870
mov ecx, eax
test ecx, ecx
je 0x10017dd4
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [esi], eax
mov eax, str.CHINESE_TRADITIONAL
mov dword [ebp - 4], 1
mov ecx, esi
test eax, 0xffff0000
je 0x10017d9b
push 0x13
push eax
jmp 0x10017dbd
call fcn.10002870
mov ecx, eax
test ecx, ecx
je 0x10017dde
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [esi], eax
mov eax, str.ENGLISH
mov dword [ebp - 4], 0
mov ecx, esi
test eax, 0xffff0000
jne 0x10017db6
movzx eax, ax
push eax
call fcn.100029d0
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov esp, ebp
pop ebp
ret
push 7
push str.ENGLISH
call fcn.10002b80
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov esp, ebp
pop ebp
ret
push 0x80004005
call fcn.10001a90
push 0x80004005
call fcn.10001a90
int3