Function at 0x40124c
Capabilities:
Identify system language via api

Disassembly:
push ebp
mov ebp, esp
push 0x4018c1
pop edx
or esi, edx
push 0x40575c
push 0
pop ebx
and ecx, ebx
push 0x404a8e
push 0x40578e
pop esi
mov dword [0x40bd15], esi
sub edx, esi
add ebx, 0x404dcf
or edi, ebx
jg 0x401282
mov ebx, ecx
mov ecx, ebx
pop ebx
sub esp, 4
sub ecx, dword [ebp]
call dword [sym.imp.kernel32.dll_GetUserDefaultUILanguage]
lea eax, [eax]
jg 0x401295
sub ebx, esp
cmp eax, 0xab
jb 0x4012bc
jne 0x4012db
sub ebx, dword [esp]
sub ecx, edx
push 0x27
pop edi
or edx, edi
lea esi, [esi + 0x56]
xor ebx, ebx
mov dword [0x40bf51], ebx
pop dword [0x40bd51]
pop ecx
xor ebx, eax
xor ebx, ebx
push 0x4028ad
and ebx, esi
call dword [sym.imp.kernel32.dll_Sleep]
mov dword [esp], eax
sub edi, 0x405164
mov dword [0x40bcc2], edx
ret
sub ebx, dword [esp + 8]
add ebx, ebx
mov bl, cl
mov cl, 0xd
mov cl, bl
mov edx, edx
xor eax, eax
neg bh
sbb ebx, eax
add eax, dword fs:[0x30]
xor ebx, esi
or ebx, edx
mov edx, eax
jae 0x401302
add bl, ch
not ebx
not bh
or ebx, 0x8cde4
jbe 0x40130e
add ebx, esi
mov eax, dword [edx + 0x2c]
mov ebx, ebx
mov ebx, dword [esp]
mov cl, byte [eax + 0x7b]
add bl, ch
shr eax, 0x10
add bh, 0x14
lea eax, [eax]
sub cl, ah
je 0x401350
add edx, 0x403537
inc dword [0x40bcba]
lea ecx, [ebp + 8]
push 0x402ebd
and ebx, esp
push esp
push edx
xor ebx, 0xf
mov eax, edx
call dword [sym.imp.advapi32.dll_LookupPrivilegeValueA]
add dword [esp + 4], ecx
leave
ret
or ebx, eax
sub ebx, ecx
lea eax, [eax]
add ebx, ebx
mov eax, dword [edx + 0xc]
jae 0x40135f
add bh, bl
jae 0x401366
xor ebx, edx
xor ebx, 0xf
mov esi, dword [eax + 0x1c]
lea ebx, [ebx]
lodsd eax, dword [esi]
mov bl, cl
mov cl, 0xe
mov cl, bl
mov eax, dword [eax + 8]
mov ebx, edx
and ebx, edi
mov edx, dword [eax + 0x3c]
jg 0x401382
xor ebx, eax
add ebx, ebp
lea ebx, [eax + esi]
neg bl
add edx, 0x104
add eax, dword [eax + edx]
and ebx, ecx
mov ebx, ebp
mov ebx, eax
mov eax, ebx
inc eax
mov ecx, dword [eax]
xor ebx, edi
add bl, ch
and ecx, dword [eax + 4]
mov edx, edx
add ecx, 0x401b8e
jae 0x4013b0
add ebx, edx
xor ebx, esi
cmp ecx, 0x5582bd3
jne 0x401394
ror ebx, 0xb6
jae 0x4013c1
sub ebx, ebp
neg ebx
xchg edx, eax
mov bh, 0x2e
mov ebx, dword [esp]
sub edx, 1
add bh, bl
sbb ebx, esi
mov eax, dword [edx]
dec bh
and eax, 0xffff
jg 0x4013db
sbb ebx, esi
add eax, 0x402bdd
add ebx, edx
sub eax, 0x40b732
jne 0x4013c4
add bh, bh
xor dword [0x40bf73], edx
inc bh
push 0x40bfc5
sbb ebx, ebp
lea ecx, [ecx]
push 0x14
add dword [esp], 0x2c
jg 0x401408
add bh, bl
xor ebx, ebx
lea ebx, [esi]
push 0x1f50
sub ebx, ebp
sar ebx, 4
push 0x40124a
add bh, bh
mov ebx, esi
push 0xfffffffffffffffe
xor ebx, edi
inc dword [esp]
and ebx, eax
sbb ebx, edx
sub ebx, ebp
jg 0x401430
mov bl, al
mov al, bl
mov ebx, dword [0x40bf73]
call ebx
sub ebx, esp
lea ecx, [0x4017f7]
mov bh, 0x5e
lea ebx, [eax + edx]
sub ecx, 0x401761
add bl, ah
mov edx, 0x40151a
and ebx, ebp
lea edi, [0xe2]
xor dword [edx], edi
lea edx, [edx]
mov ebx, eax
mov eax, ebx
or ebx, edx
mov esi, dword [edx]
sbb ebx, esp
and ebx, esi
lea esi, [esi + 0xc]
mov dword [edx], esi
sub ebx, ecx
add edx, 0xffffffff
mov bl, 0x8b
jg 0x40147c
add bl, cl
add ebx, edi
sub ecx, 1
jne 0x401452
sub ebx, eax
add bh, cl
mov esi, 0x16d6ea72
les edx, [esi - 0x46]
adc esi, eax
mov edx, 0xc123f69f
dec esp
and bh, cl
sub al, byte [ebp + 0x2e]
not dword [esi]
pushfd
stosb byte es:[edi], al
cli
sbb bl, byte [esp + 0x9e25457]
and al, 0x9d
pop edx
xchg ebp, eax
push esi
out dx, al
dec ebp
aam 0x49
push ecx
adc ebp, eax
sub al, 0x9f
out dx, al
loope 0x4014d6
cld
inc ebx
shl byte [ecx], 0x7f
push ss
pushfd
pop edx
xchg ebp, eax
push esi
cli
dec ebp
sub eax, 0x9e16d6ea
out dx, al
popfd
invalid
add eax, 0x16e4fe99
dec ecx
fld st(4)
salc
push ss
les esp, [edi + ecx*2]
mov esi, 0x91111118
retf 0x8fe6