Function at 0x10028ef9
Capabilities:
Identify system language via api

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1006423c
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
sub esp, 0x1a4
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
push 1
lea ecx, [ebp - 0x128]
call fcn.1001a8b6
and dword [ebp - 4], 0
push 3
lea ecx, [ebp - 0x38]
call fcn.1001a8b6
mov byte [ebp - 4], 1
mov dword [ebp - 0x70], 1
mov dword [ebp - 0x50], 0xedda5659
mov dword [ebp - 0x15c], 0x4942beba
mov dword [ebp - 0x1c], 0
jmp 0x10028f65
mov eax, dword [ebp - 0x1c]
inc eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 1
jge 0x10028f81
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x128]
call fcn.1001a954
mov dword [eax], 0x55683450
jmp 0x10028f5e
mov dword [ebp - 0x1c], 0
jmp 0x10028f91
mov eax, dword [ebp - 0x1c]
inc eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 3
jge 0x10028faa
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x38]
call fcn.1001a954
mov dword [eax], 0xde713a47
jmp 0x10028f8a
push 0
lea ecx, [ebp - 0x38]
call fcn.1001a954
and dword [eax], 0
jmp 0x10028fda
push 0
lea ecx, [ebp - 0x38]
call fcn.1001a954
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0xd0]
mov eax, dword [eax]
dec eax
mov ecx, dword [ebp - 0xd0]
mov dword [ecx], eax
push 0
lea ecx, [ebp - 0x38]
call fcn.1001a954
cmp dword [eax], 0
jl 0x100297e5
mov dword [ebp - 0x11c], 0x1bd1
mov dword [ebp - 0x134], 0x10009440
cmp dword [ebp - 0x11c], 0x1c10
jle 0x100290b1
push 0
push 0x1121
call dword [sym.imp.GDI32.dll_SelectObject]
and dword [ebp - 0x48], 0
jmp 0x1002902b
mov eax, dword [ebp - 0x48]
inc eax
mov dword [ebp - 0x48], eax
cmp dword [ebp - 0x48], 0x5ca
jge 0x100290b1
and dword [ebp - 0x6c], 0
jmp 0x10029041
mov eax, dword [ebp - 0x6c]
inc eax
mov dword [ebp - 0x6c], eax
cmp dword [ebp - 0x6c], 0x77c5
jge 0x100290ac
and dword [ebp - 0x58], 0
jmp 0x10029057
mov eax, dword [ebp - 0x58]
inc eax
mov dword [ebp - 0x58], eax
cmp dword [ebp - 0x58], 0x79f0
jge 0x100290aa
and dword [ebp - 0x3c], 0
jmp 0x1002906d
mov eax, dword [ebp - 0x3c]
inc eax
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0x77cb
jge 0x100290a8
mov eax, dword [ebp - 0x6c]
imul eax, dword [ebp - 0x58]
xor eax, dword [ebp - 0x3c]
or eax, dword [ebp - 0x48]
cdq
mov dword [ebp - 0x148], eax
mov dword [ebp - 0x144], edx
push dword [ebp - 0x144]
push dword [ebp - 0x148]
mov ecx, 0x1060d4b8
call fcn.1001a685
jmp 0x10029066
jmp 0x10029050
jmp 0x1002903a
jmp 0x10029024
mov dword [ebp - 0x20], 0xffffffff
mov byte [ebp - 4], 2
cmp dword [ebp - 0x11c], 0x1b29
jge 0x100290d8
mov edx, dword [ebp - 0x134]
mov ecx, 0x1060d4b8
call fcn.1001cb90
jmp 0x100290f4
mov dword [ebp - 4], 1
jmp 0x10029104
mov dword [ebp - 0x68], 0xae8b0121
push 2
lea ecx, [ebp - 0x170]
call fcn.1001a8b6
mov byte [ebp - 4], 4
mov dword [ebp - 0x14], 0
jmp 0x1002912c
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 2
jge 0x10029142
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x130], 0xfffffffe
jmp 0x10029125
mov dword [ebp - 0x14], 0
jmp 0x10029152
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 2
jge 0x1002916e
push dword [ebp - 0x14]
lea ecx, [ebp - 0x170]
call fcn.1001a954
mov dword [eax], 0x3062a4b1
jmp 0x1002914b
mov dword [ebp - 0x14], 0
jmp 0x1002917e
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 4
jge 0x10029194
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x190], 0x7f6a191a
jmp 0x10029177
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x130]
dec eax
push 4
pop ecx
shl ecx, 0
mov dword [ebp + ecx - 0x130], eax
push 4
pop eax
shl eax, 0
cmp dword [ebp + eax - 0x130], 0xfffffffb
jl 0x100291cb
mov dword [ebp - 0x13c], 1
jmp 0x100291d2
and dword [ebp - 0x13c], 0
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x198], eax
push 0
lea ecx, [ebp - 0x38]
call fcn.1001a954
mov esi, dword [ebp - 0x20]
push 0
lea ecx, [ebp - 0x38]
call fcn.1001a954
mov eax, dword [eax]
lea eax, [esi + eax - 1]
cmp eax, 7
jl 0x10029209
mov dword [ebp - 0x108], 1
jmp 0x10029210
and dword [ebp - 0x108], 0
mov eax, dword [ebp - 0x20]
cmp dword [ebp - 0x108], eax
jne 0x10029227
mov dword [ebp - 0xcc], 1
jmp 0x1002922e
and dword [ebp - 0xcc], 0
mov eax, dword [ebp - 0xcc]
mov dword [ebp - 0x68], eax
mov esi, dword [ebp - 0x68]
push 1
lea ecx, [ebp - 0x170]
call fcn.1001a954
imul esi, dword [eax]
mov dword [ebp - 0x70], esi
push 0
lea ecx, [ebp - 0x38]
call fcn.1001a954
push dword [eax]
lea ecx, [ebp - 0x128]
call fcn.1001a954
cmp dword [ebp - 0x20], 0xffff
ja 0x10029279
mov dword [ebp - 0x84], 1
jmp 0x10029280
and dword [ebp - 0x84], 0
cmp dword [ebp - 0x84], 0x4c7b
jg 0x10029298
mov dword [ebp - 0xd4], 1
jmp 0x1002929f
and dword [ebp - 0xd4], 0
push 4
pop eax
shl eax, 0
mov esi, dword [ebp + eax - 0x190]
push 0
lea ecx, [ebp - 0x38]
call fcn.1001a954
mov ecx, dword [ebp - 0xd4]
imul ecx, dword [eax]
imul eax, ecx, 0x7d64
sub eax, esi
je 0x1002930a
mov byte [ebp - 0x21], 0
movzx eax, byte [ebp - 0x21]
test eax, eax
je 0x100292df
push 0
push 0
call dword [sym.imp.USER32.dll_LoadMenuW]
push 1
lea ecx, [ebp - 0x170]
call fcn.1001a954
cmp dword [eax], 0
je 0x10029305
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x170]
call fcn.1001a938
jmp 0x100297e5
jmp 0x100297d1
mov dword [ebp - 0x54], 0xffffffff
mov dword [ebp - 0x28], 1
mov dword [ebp - 0x44], 0
cmp dword [ebp - 0x68], 0
jne 0x1002934a
push 0
lea ecx, [ebp - 0x38]
call fcn.1001a954
push dword [eax]
lea ecx, [ebp - 0x128]
call fcn.1001a954
cmp dword [eax], 0
jne 0x1002934a
and dword [ebp - 0xa4], 0
jmp 0x10029354
mov dword [ebp - 0xa4], 1
cmp dword [ebp - 0x50], 0x5452
jl 0x10029369
mov dword [ebp - 0x8c], 1
jmp 0x10029370
and dword [ebp - 0x8c], 0
mov eax, dword [ebp - 0x20]
cmp dword [ebp - 0x8c], eax
je 0x10029387
mov dword [ebp - 0xdc], 1
jmp 0x1002938e
and dword [ebp - 0xdc], 0
cmp dword [ebp - 0xdc], 0xbe945d4
je 0x100293a9
cmp dword [ebp - 0x68], 0
jne 0x100293a9
and dword [ebp - 0x94], 0
jmp 0x100293b3
mov dword [ebp - 0x94], 1
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x94]
jle 0x100293ca
mov dword [ebp - 0xe4], 1
jmp 0x100293d1
and dword [ebp - 0xe4], 0
push 4
pop eax
imul eax, eax, 3
mov eax, dword [ebp + eax - 0x190]
cmp dword [ebp - 0xe4], eax
jge 0x100293f2
mov dword [ebp - 0x9c], 1
jmp 0x100293f9
and dword [ebp - 0x9c], 0
mov eax, dword [ebp - 0x20]
cmp dword [ebp - 0x9c], eax
jge 0x10029410
mov dword [ebp - 0xec], 1
jmp 0x10029417
and dword [ebp - 0xec], 0
push 4
pop eax
shl eax, 0
mov ecx, dword [ebp - 0xec]
sub ecx, dword [ebp + eax - 0x130]
cmp ecx, 0x84ebf8c3
jae 0x1002943e
mov dword [ebp - 0xfc], 1
jmp 0x10029445
and dword [ebp - 0xfc], 0
mov eax, dword [ebp - 0xa4]
cmp eax, dword [ebp - 0xfc]
jne 0x1002945f
mov dword [ebp - 0xac], 1
jmp 0x10029466
and dword [ebp - 0xac], 0
mov eax, dword [ebp - 0x50]
cmp eax, dword [ebp - 0xac]
jl 0x1002947e
xor eax, eax
jne 0x1002947e
and dword [ebp - 0x104], 0
jmp 0x10029488
mov dword [ebp - 0x104], 1
mov eax, dword [ebp - 0x104]
sub eax, dword [ebp - 0x54]
jne 0x100294ae
push 0
lea ecx, [ebp - 0x38]
call fcn.1001a954
cmp dword [eax], 0
jne 0x100294ae
mov dword [ebp - 0xb4], 1
jmp 0x100294b5
and dword [ebp - 0xb4], 0
mov eax, dword [ebp - 0xb4]
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x70], 0x2b4b20f9
jne 0x100294d3
mov dword [ebp - 0x10c], 1
jmp 0x100294da
and dword [ebp - 0x10c], 0
mov eax, dword [ebp - 0x10c]
add eax, 0xfff9
cmp eax, dword [ebp - 0x54]
je 0x100294f9
cmp dword [ebp - 0x54], 0
jne 0x100294f9
and dword [ebp - 0x114], 0
jmp 0x10029503
mov dword [ebp - 0x114], 1
cmp dword [ebp - 0x114], 0xfffffff9
jg 0x10029518
mov dword [ebp - 0xc0], 1
jmp 0x1002951f
and dword [ebp - 0xc0], 0
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x50]
cmp eax, dword [ebp - 0x44]
jle 0x1002953c
mov dword [ebp - 0xf4], 1
jmp 0x10029543
and dword [ebp - 0xf4], 0
mov eax, dword [ebp - 0x70]
cmp dword [ebp - 0xf4], eax
jge 0x1002955a
mov dword [ebp - 0xc8], 1
jmp 0x10029561
and dword [ebp - 0xc8], 0
mov esi, dword [ebp - 0x28]
sub esi, dword [ebp - 0xc8]
push 0
lea ecx, [ebp - 0x38]
call fcn.1001a954
push dword [eax]
lea ecx, [ebp - 0x128]
call fcn.1001a954
cmp esi, dword [eax]
je 0x10029591
mov dword [ebp - 0x150], 1
jmp 0x10029598
and dword [ebp - 0x150], 0
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x19c], eax
push 4
pop eax
shl eax, 1
mov ecx, dword [ebp - 0x50]
sub ecx, dword [ebp + eax - 0x190]
imul esi, ecx, 0xfffffffd
add esi, 0x5e6b711a
push 1
lea ecx, [ebp - 0x38]
call fcn.1001a954
cmp esi, dword [eax]
jg 0x100295d3
mov dword [ebp - 0xf8], 1
jmp 0x100295da
and dword [ebp - 0xf8], 0
mov eax, dword [ebp - 0x28]
add eax, dword [ebp - 0xf8]
je 0x100296fd
mov dword [ebp - 0x74], 0xbf2dcfcb
mov dword [ebp - 0x160], 0xffffffff
mov dword [ebp - 0x138], 8
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x1a4], eax
cmp dword [ebp - 0x74], 0
jne 0x10029622
cmp dword [ebp - 0x74], 0
jne 0x10029622
and dword [ebp - 0x158], 0
jmp 0x1002962c
mov dword [ebp - 0x158], 1
mov esi, dword [ebp - 0x160]
push 4
pop eax
shl eax, 0
mov edi, dword [ebp + eax - 0x190]
push 2
lea ecx, [ebp - 0x38]
call fcn.1001a954
mov ebx, dword [eax]
add ebx, edi
push 0
lea ecx, [ebp - 0x38]
call fcn.1001a954
push dword [eax]
lea ecx, [ebp - 0x128]
call fcn.1001a954
imul ebx, dword [eax]
sub ebx, esi
cmp ebx, 0xffffffff
jg 0x10029677
mov dword [ebp - 0x78], 1
jmp 0x1002967b
and dword [ebp - 0x78], 0
mov eax, dword [ebp - 0x74]
cmp eax, dword [ebp - 0x78]
jne 0x1002968f
mov dword [ebp - 0x118], 1
jmp 0x10029696
and dword [ebp - 0x118], 0
mov eax, dword [ebp - 0x54]
neg eax
add eax, dword [ebp - 0x118]
je 0x100296b6
push 7
pop eax
test eax, eax
je 0x100296b6
mov dword [ebp - 0xd8], 1
jmp 0x100296bd
and dword [ebp - 0xd8], 0
push 0
lea ecx, [ebp - 0x128]
call fcn.1001a954
mov ecx, dword [ebp - 0xd8]
cmp ecx, dword [eax]
jne 0x100296e0
mov dword [ebp - 0x100], 1
jmp 0x100296e7
and dword [ebp - 0x100], 0
mov eax, dword [ebp - 0x100]
add eax, 0x1a1ccc58
mov dword [ebp - 0x138], eax
jmp 0x100297d1
mov dword [ebp - 0x40], 0
jmp 0x1002970d
mov eax, dword [ebp - 0x40]
inc eax
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 1
jge 0x10029723
mov eax, dword [ebp - 0x40]
mov dword [ebp + eax*4 - 0x140], 0x400d43e6
jmp 0x10029706
push 4
pop eax
imul eax, eax, 0
cmp dword [ebp + eax - 0x190], 0
jne 0x10029743
push 0xfffffffffffffffe
pop eax
test eax, eax
jne 0x10029743
and dword [ebp - 0xe0], 0
jmp 0x1002974d
mov dword [ebp - 0xe0], 1
mov eax, dword [ebp - 0x44]
cmp eax, dword [ebp - 0xe0]
jg 0x10029764
mov dword [ebp - 0x110], 1
jmp 0x1002976b
and dword [ebp - 0x110], 0
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x140]
neg eax
cmp eax, dword [ebp - 0x110]
je 0x1002979d
push 1
lea ecx, [ebp - 0x38]
call fcn.1001a954
cmp dword [eax], 0
je 0x1002979d
mov dword [ebp - 0xe8], 1
jmp 0x100297a4
and dword [ebp - 0xe8], 0
mov eax, dword [ebp - 0xe8]
sub eax, dword [ebp - 0x15c]
cmp eax, 1
jb 0x100297c1
mov dword [ebp - 0xf0], 1
jmp 0x100297c8
and dword [ebp - 0xf0], 0
mov eax, dword [ebp - 0xf0]
mov dword [ebp - 0x28], eax
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x170]
call fcn.1001a938
jmp 0x10028fb9
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x38]
call fcn.1001a938
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x128]
call fcn.1001a938
mov eax, dword [ebp + 8]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x154], eax
push 4
lea ecx, [ebp - 0x64]
call fcn.1001a8b6
mov dword [ebp - 4], 5
mov dword [ebp - 0xbc], 0xfffffffe
mov dword [ebp - 0x98], 1
mov dword [ebp - 0x164], 0x305aba9a
mov dword [ebp - 0x18], 0
jmp 0x1002984e
mov eax, dword [ebp - 0x18]
inc eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 4
jge 0x10029864
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x180], 0xffffffff
jmp 0x10029847
mov dword [ebp - 0x18], 0
jmp 0x10029874
mov eax, dword [ebp - 0x18]
inc eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 4
jge 0x1002988d
push dword [ebp - 0x18]
lea ecx, [ebp - 0x64]
call fcn.1001a954
mov dword [eax], 5
jmp 0x1002986d
push 2
lea ecx, [ebp - 0x64]
call fcn.1001a954
mov dword [eax], 3
jmp 0x100298c0
push 2
lea ecx, [ebp - 0x64]
call fcn.1001a954
mov dword [ebp - 0xb8], eax
mov eax, dword [ebp - 0xb8]
mov eax, dword [eax]
dec eax
mov ecx, dword [ebp - 0xb8]
mov dword [ecx], eax
push 2
lea ecx, [ebp - 0x64]
call fcn.1001a954
cmp dword [eax], 0
jl 0x10029adb
mov dword [ebp - 0x4c], 0
jmp 0x100298e3
mov eax, dword [ebp - 0x4c]
inc eax
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 0x4c], 4
jge 0x100298f9
mov eax, dword [ebp - 0x4c]
mov dword [ebp + eax*4 - 0x1b4], 9
jmp 0x100298dc
mov byte [ebp - 0x22], 0
movzx eax, byte [ebp - 0x22]
test eax, eax
je 0x1002990b
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLangID]
mov dword [ebp - 0xbc], 1
push 2
lea ecx, [ebp - 0x64]
call fcn.1001a954
mov eax, dword [eax]
mov dword [ebp - 0xbc], eax
push 2
lea ecx, [ebp - 0x64]
call fcn.1001a954
cmp dword [eax], 9
jne 0x10029942
mov dword [ebp - 0xc4], 1
jmp 0x10029949
and dword [ebp - 0xc4], 0
mov esi, dword [ebp - 0x98]
push 2
lea ecx, [ebp - 0x64]
call fcn.1001a954
mov ecx, dword [ebp - 0xc4]
imul ecx, dword [eax]
cmp ecx, esi
jne 0x1002996f
mov dword [ebp - 0x7c], 1
jmp 0x10029973
and dword [ebp - 0x7c], 0
cmp dword [ebp - 0x7c], 8
jle 0x10029982
mov dword [ebp - 0x80], 1
jmp 0x10029986
and dword [ebp - 0x80], 0
cmp dword [ebp - 0x80], 0xcea445a8
ja 0x1002999b
mov dword [ebp - 0x14c], 1
jmp 0x100299a2
and dword [ebp - 0x14c], 0
push 2
lea ecx, [ebp - 0x64]
call fcn.1001a954
mov eax, dword [eax]
mov eax, dword [ebp + eax*4 - 0x180]
mov dword [ebp - 0x194], eax
push 2
lea ecx, [ebp - 0x64]
call fcn.1001a954
mov eax, dword [eax]
mov eax, dword [ebp + eax*4 - 0x180]
mov dword [ebp - 0x1a0], eax
push 4
pop eax
shl eax, 1
mov esi, dword [ebp + eax - 0x180]
push 2
lea ecx, [ebp - 0x64]
call fcn.1001a954
mov eax, dword [eax]
cmp dword [ebp + eax*4 - 0x180], esi
jl 0x10029a01
mov dword [ebp - 0x88], 1
jmp 0x10029a08
and dword [ebp - 0x88], 0
push 2
lea ecx, [ebp - 0x64]
call fcn.1001a954
mov eax, dword [eax]
mov ecx, dword [ebp - 0x88]
sub ecx, dword [ebp + eax*4 - 0x180]
mov dword [ebp - 0x90], ecx
push 4
pop eax
shl eax, 1
mov ecx, dword [ebp - 0x90]
mov dword [ebp + eax - 0x180], ecx
push 4
pop eax
imul eax, eax, 0
mov esi, dword [ebp + eax - 0x1b4]
push 2
lea ecx, [ebp - 0x64]
call fcn.1001a954
mov ecx, dword [ebp - 0x90]
imul ecx, dword [eax]
cmp ecx, esi
jg 0x10029a69
mov dword [ebp - 0xa0], 1
jmp 0x10029a70
and dword [ebp - 0xa0], 0
mov eax, dword [ebp - 0x98]
cmp dword [ebp - 0xa0], eax
jne 0x10029a8c
xor eax, eax
inc eax
jne 0x10029a8c
and dword [ebp - 0xa8], 0
jmp 0x10029a96
mov dword [ebp - 0xa8], 1
push 4
pop eax
imul eax, eax, 3
mov eax, dword [ebp + eax - 0x1b4]
cmp dword [ebp - 0xa8], eax
jne 0x10029ab7
mov dword [ebp - 0xb0], 1
jmp 0x10029abe
and dword [ebp - 0xb0], 0
push 3
lea ecx, [ebp - 0x64]
call fcn.1001a954
mov ecx, dword [ebp - 0xb0]
add ecx, dword [eax]
mov dword [ebp - 0x164], ecx
jmp 0x1002989f
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x64]
call fcn.1001a938
mov eax, dword [ebp - 0x2c]
mov dword [eax], 0
jmp 0x10029afd
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax]
inc eax
mov ecx, dword [ebp - 0x2c]
mov dword [ecx], eax
mov eax, dword [ebp - 0x2c]
cmp dword [eax], 1
jge 0x10029b1d
mov eax, dword [ebp - 0x2c]
push dword [eax]
mov ecx, dword [ebp - 0x154]
call fcn.1001a954
mov dword [eax], 0x55683450
jmp 0x10029af2
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret