Function at 0x51e193c4
Capabilities:
Identify system language via api

Disassembly:
cmp ebx, 0x28
jbe 0x51e2ba02
jmp case.default.0x51e2bbe5
push ebp
mov ebp, esp
sub esp, 0x48
mov ecx, dword [ebp + 0xc]
push ebx
push esi
push edi
mov dword [ebp - 0x14], ecx
and dword [ebp - 0x14], 4
push 0
pop esi
je 0x51e19e18
mov dword [ebp - 0xc], 1
mov eax, dword [0x51e8c348]
cmp dword [eax + 0x15c], esi
mov ebx, dword [ebp + 8]
mov dword [ebp - 0x1c], esi
jne 0x51e2b985
cmp ebx, 0x21
jae 0x51e07a89
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret
mov eax, dword [0x51e8b69c]
cmp dword [eax + 0x7c], esi
mov dword [ebp - 0xc], esi
jne 0x51e193e0
jmp 0x51e193e7
cmp ebx, 0x23
je 0x51e2b98f
cmp ebx, 0x24
jne 0x51e2b996
or dword [eax + 0x140], 0xffffffff
cmp ebx, 0x27
je 0x51e2b9c3
cmp ebx, 0x25
je 0x51e2b9c3
cmp ebx, 0x28
je 0x51e2b9c3
cmp ebx, 0x26
je 0x51e2b9c3
cmp dword [ebp - 0xc], esi
jne 0x51e193fe
test cl, 8
jne 0x51e193fe
or dword [eax + 0x140], 0xffffffff
cmp dword [ebp - 0xc], esi
jne 0x51e193fe
test cl, 8
jne 0x51e193fe
mov ecx, dword [eax + 0x140]
cmp ecx, 0xffffffff
jne 0x51e2b9f1
mov dword [eax + 0x148], esi
mov dword [eax + 0x144], esi
jmp 0x51e193fe
mov dword [eax + 0x148], ecx
mov dword [eax + 0x144], ecx
jmp 0x51e193fe
push 0x807
call fcn.51e168d4
mov eax, dword [0x51e8c348]
cmp byte [eax + 0x118], 0
pop ecx
je 0x51e2ba3d
mov ecx, ebx
sub ecx, 0x25
je 0x51e2ba37
dec ecx
je 0x51e2ba33
dec ecx
je 0x51e2ba2f
dec ecx
jne 0x51e2ba3d
push 0x27
jmp 0x51e2ba39
push 0x26
jmp 0x51e2ba39
push 0x25
jmp 0x51e2ba39
push 0x28
pop ebx
mov dword [ebp + 8], ebx
mov esi, dword [sym.imp.KERNEL32.dll_GetUserDefaultLangID]
mov ecx, dword [0x51e8b69c]
mov edi, 0x2000
test dword [eax + 8], edi
jne 0x51e2ba60
cmp byte [ecx + 0xa4], 0
je 0x51e2baea
test ecx, ecx
jne 0x51e2ba8b
call esi
cmp ax, 0x411
je 0x51e2ba96
call esi
cmp ax, 0x404
je 0x51e2ba96
call esi
cmp ax, 0x412
je 0x51e2ba96
call esi
cmp ax, 0x804
mov eax, dword [0x51e8c348]
jne 0x51e2baa4
jmp 0x51e2ba9b
cmp dword [ecx + 0x53b8], 0
je 0x51e2baa4
jmp 0x51e2ba9b
mov eax, dword [0x51e8c348]
test byte [eax + 0x11c], 0x10
jne 0x51e2baea
mov ecx, dword [eax + 0x5c]
sub ecx, dword [eax + 0x58]
cmp ecx, 1
jne 0x51e2baea
cmp ebx, 0x27
je 0x51e2baea
cmp ebx, 0x25
je 0x51e2baea
call fcn.51e16841
cmp ebx, 0x24
mov dword [ebp - 4], eax
je 0x51e2bad4
cmp ebx, 0x26
je 0x51e2bad4
cmp ebx, 0x21
je 0x51e2bad4
xor ecx, ecx
jmp 0x51e2bad7
xor ecx, ecx
inc ecx
mov eax, dword [0x51e8c348]
mov ebx, dword [eax + 0x58]
add ebx, ecx
mov dword [ebp - 0x1c], 1
jmp 0x51e2bb0b
call fcn.51e16841
cmp dword [ebp - 0xc], 0
mov dword [ebp - 4], eax
mov eax, dword [0x51e8c348]
je 0x51e2bb08
mov ebx, dword [eax + 0x5c]
add ebx, dword [eax + 0x58]
sub ebx, dword [ebp - 4]
jmp 0x51e2bb0b
mov ebx, dword [ebp - 4]
cmp dword [ebp + 8], 0x23
mov ecx, dword [eax + 0x54]
mov dword [ebp - 0x10], ebx
mov dword [ebp - 8], ecx
je 0x51e2bb20
cmp dword [ebp + 8], 0x27
jne 0x51e2bb94
cmp dword [ebp - 0xc], 0
je 0x51e2bb94
test dword [eax + 8], edi
mov ecx, dword [0x51e8b69c]
jne 0x51e2bb3a
cmp byte [ecx + 0xa4], 0
je 0x51e2bb94
test ecx, ecx
jne 0x51e2bb65
call esi
cmp ax, 0x411
je 0x51e2bb70
call esi
cmp ax, 0x404
je 0x51e2bb70
call esi
cmp ax, 0x412
je 0x51e2bb70
call esi
cmp ax, 0x804
mov eax, dword [0x51e8c348]
jne 0x51e2bb7e
jmp 0x51e2bb75
cmp dword [ecx + 0x53b8], 0
je 0x51e2bb7e
jmp 0x51e2bb75
mov eax, dword [0x51e8c348]
test byte [eax + 0x11c], 0x10
jne 0x51e2bb94
mov ecx, dword [eax + 0x5c]
sub ecx, dword [eax + 0x58]
cmp ecx, 1
jne 0x51e2bb94
mov edx, dword [ebp - 4]
mov ecx, ebx
mov dword [ebp - 0x10], edx
mov dword [ebp - 4], ecx
mov ecx, dword [ebp + 8]
sub ecx, 0x21
je 0x51e2bbbc
dec ecx
je 0x51e2bba8
sub ecx, 4
je 0x51e2bbbc
dec ecx
dec ecx
jne 0x51e2bbd6
call fcn.51e16d81
cmp dword [ebp - 4], eax
mov eax, dword [0x51e8c348]
jne 0x51e2bbd6
jmp 0x51e2c0b1
cmp dword [ebp - 4], 0
je 0x51e2c0b1
cmp dword [ebp - 0x1c], 0
je 0x51e2bbd6
cmp dword [ebp - 4], 1
je 0x51e2c0b1
mov edi, dword [ebp + 8]
lea ecx, [edi - 0x21]
cmp ecx, 7
ja case.default.0x51e2bbe5
jmp dword [ecx*4 + 0x51e675c1]
or dword [eax + 0x48], 0xffffffff
test byte [ebp + 0xc], 8
je 0x51e2bbfe
mov ecx, dword [eax + 0x28]
mov dword [ebp - 4], ecx
jmp 0x51e2bc55
mov esi, dword [ebp - 4]
cmp esi, dword [eax + 0x28]
jne 0x51e2bc14
push esi
push 0
call fcn.51e0e265
cmp esi, eax
pop ecx
pop ecx
jne 0x51e2bc50
xor ebx, ebx
push ebx
push dword [ebp - 8]
push esi
call fcn.51e0e490
xor edi, edi
push ebx
inc edi
mov esi, eax
push edi
push esi
call fcn.51e0e477
add esp, 0x18
cmp esi, eax
jne 0x51e2bc3c
mov eax, dword [0x51e8c348]
mov eax, dword [eax + 0x28]
lea ecx, [ebp - 8]
push ecx
push eax
push ebx
mov dword [ebp - 8], edi
call fcn.51e0e226
add esp, 0xc
mov dword [ebp - 4], eax
mov eax, dword [0x51e8c348]
cmp dword [eax + 0x15c], 0
je 0x51e2c063
mov dword [0x51eb71a4], 1
jmp 0x51e2c063
or dword [eax + 0x48], 0xffffffff
xor esi, esi
test byte [ebp + 0xc], 8
je 0x51e2bc82
mov dword [ebp - 4], esi
jmp 0x51e2bc99
push esi
push dword [ebp - 8]
push dword [ebp - 4]
call fcn.51e0e490
mov dword [ebp - 4], eax
mov eax, dword [0x51e8c348]
add esp, 0xc
mov dword [ebp - 8], esi
cmp dword [eax + 0x15c], esi
je 0x51e2c063
or dword [eax + 0x140], 0xffffffff
mov dword [0x51eb71a4], esi
jmp 0x51e2c063
xor ebx, ebx
cmp dword [eax + 0x15c], ebx
je 0x51e2bd11
mov cl, byte [eax + 0x135]
test cl, cl
mov dword [0x51eb71a4], 1
jne 0x51e2bce1
cmp edi, 0x27
je 0x51e2bce6
test cl, cl
je 0x51e2bd11
cmp edi, 0x25
jne 0x51e2bcec
mov dword [0x51eb71a4], ebx
test cl, cl
je 0x51e2bd11
mov ecx, dword [0x51e8b69c]
cmp dword [ecx + 0x5380], ebx
je 0x51e2bd03
cmp dword [ebp - 0xc], ebx
je 0x51e2bd11
xor ecx, ecx
cmp edi, 0x25
sete cl
lea ecx, [ecx + ecx + 0x25]
mov edi, ecx
or dword [eax + 0x48], 0xffffffff
test byte [ebp + 0xc], 8
mov dword [ebp - 8], ebx
je 0x51e2bd4a
cmp dword [eax + 0x15c], ebx
je 0x51e2bd2d
or dword [eax + 0x140], 0xffffffff
cmp edi, 0x25
jne 0x51e2bd3c
push dword [ebp - 4]
call fcn.51e665ff
jmp 0x51e2bd47
push 1
push dword [ebp - 4]
call fcn.51e66b7c
pop ecx
pop ecx
jmp 0x51e2bdb4
cmp dword [eax + 0x15c], ebx
mov esi, dword [ebp - 4]
je 0x51e2bd75
mov eax, dword [0x51e8b69c]
cmp dword [eax + 0x5380], ebx
je 0x51e2bd75
push dword [ebp - 0xc]
lea eax, [ebp - 8]
push eax
push edi
push esi
call fcn.51e59505
add esp, 0x10
jmp 0x51e2bd88
cmp edi, 0x25
push esi
jne 0x51e2bd82
call fcn.51e13230
jmp 0x51e2bd87
call fcn.51e66695
pop ecx
cmp dword [ebp - 0x14], ebx
mov dword [ebp - 4], eax
jne 0x51e2bdb7
mov ecx, dword [0x51e8c348]
mov eax, dword [ecx + 0x114]
cmp eax, ebx
je 0x51e2bdb7
xor edx, edx
cmp edi, 0x27
sete dl
push edx
push dword [ebp - 4]
push esi
push dword [ecx]
call eax
add esp, 0x10
mov dword [ebp - 4], eax
mov eax, dword [0x51e8c348]
cmp dword [eax + 0x15c], ebx
je 0x51e2c063
cmp dword [0x51e8c26c], ebx
je 0x51e2c063
mov byte [eax + 0x152], 0x63
jmp 0x51e2c063
xor ebx, ebx
inc ebx
cmp dword [ebp + 8], 0x26
jne 0x51e2be1c
jmp 0x51e2bdfd
test byte [eax + 8], 1
jne 0x51e2be0e
cmp edi, 0x21
jne 0x51e2be02
mov dword [ebp + 8], 0x26
or ebx, 0xffffffff
jmp 0x51e2be1c
xor ebx, ebx
mov dword [ebp + 8], 0x28
inc ebx
jmp 0x51e2be1c
cmp dword [ebp + 8], 0x21
mov ebx, dword [eax + 0xe4]
jne 0x51e2be1c
neg ebx
mov esi, dword [ebp - 4]
lea eax, [ebp - 0x18]
push eax
push dword [ebp - 8]
push esi
call fcn.51e6732c
add esp, 0xc
test esi, esi
mov edi, eax
jne 0x51e2be3a
cmp ebx, 1
je 0x51e2be49
mov eax, dword [0x51e8c348]
cmp esi, dword [eax + 0x28]
jne 0x51e2bebc
cmp ebx, 0xffffffff
jne 0x51e2bebc
test ebx, ebx
mov esi, edi
jge 0x51e2be63
cmp edi, dword [ebp - 4]
jne 0x51e2be63
push 0
push 0
push edi
call fcn.51e0e477
add esp, 0xc
mov esi, eax
lea eax, [ebp - 8]
push eax
push 0xffffffffffffffff
push dword [ebp - 0x18]
push esi
call fcn.51e6678f
mov ecx, dword [0x51e8c348]
add esp, 0x10
cmp dword [ecx + 0x15c], 0
je 0x51e2bea1
cmp dword [ebp - 0xc], 0
jne 0x51e2bea1
mov edx, dword [ecx + 0x140]
cmp edx, 0xffffffff
je 0x51e2bea1
mov dword [ecx + 0x148], edx
mov dword [ecx + 0x144], edx
lea ecx, [ebp - 8]
push ecx
push eax
push esi
call fcn.51e0e226
add esp, 0xc
cmp eax, dword [ebp - 4]
je 0x51e2bebc
mov dword [ebp - 4], eax
jmp 0x51e2c063
xor eax, eax
cmp ebx, eax
jle 0x51e2bec8
cmp dword [ebp - 0xc], eax
je 0x51e2bec8
inc eax
lea ecx, [ebp - 4]
push ecx
push eax
push 0
push ebx
push edi
call fcn.51e18077
mov esi, eax
mov eax, dword [0x51e8c348]
add esp, 0x14
mov dword [eax + 0x48], esi
cmp dword [eax + 0x15c], 0
lea eax, [ebp - 8]
push eax
push 0xffffffffffffffff
push dword [ebp - 0x18]
push esi
je 0x51e2bf71
call fcn.51e6678f
mov edi, eax
mov eax, dword [0x51e8c348]
add esp, 0x10
cmp dword [ebp - 0xc], 0
mov dword [ebp - 4], edi
jne 0x51e2bf2b
mov ecx, dword [eax + 0x140]
cmp ecx, 0xffffffff
je 0x51e2bf2b
mov dword [eax + 0x148], ecx
mov dword [eax + 0x144], ecx
mov dword [eax + 0x14c], esi
cmp dword [eax + 0x15c], 0
je 0x51e2bf7e
cmp dword [0x51e8c26c], 0
je 0x51e2bf54
mov byte [eax + 0x152], 0x63
jmp 0x51e2bf54
mov eax, dword [0x51e8c348]
cmp edi, dword [eax + 0x28]
ja 0x51e2bf7e
inc edi
mov dword [ebp - 4], edi
mov eax, dword [0x51e8c344]
push dword [eax]
call fcn.51e1637c
lea eax, [eax + edi*2]
push eax
call fcn.51e6a173
test eax, eax
pop ecx
pop ecx
jne 0x51e2bf46
jmp 0x51e2bf7e
call fcn.51e6678f
add esp, 0x10
mov dword [ebp - 4], eax
mov edi, eax
cmp dword [ebp - 8], 0
je 0x51e2bfaf
cmp dword [ebp - 0xc], 0
je 0x51e2bf9c
cmp dword [ebp + 8], 0x26
je 0x51e2bf9c
cmp dword [ebp + 8], 0x24
je 0x51e2bf9c
cmp dword [ebp + 8], 0x21
jne 0x51e2bfaf
lea eax, [ebp - 8]
push eax
push edi
push esi
call fcn.51e0e226
mov edi, eax
add esp, 0xc
mov dword [ebp - 4], edi
cmp dword [ebp - 0x14], 0
jne 0x51e2bfbb
test byte [ebp + 0xc], 8
je 0x51e2c029
call fcn.51e16841
cmp edi, eax
je 0x51e2bfd4
cmp dword [ebp - 0x1c], 0
je 0x51e2c029
call fcn.51e16841
inc eax
cmp edi, eax
jne 0x51e2c029
call fcn.51e16841
mov esi, eax
lea eax, [ebp + 0xc]
push eax
mov eax, dword [0x51e8c348]
push dword [eax + 0x54]
push esi
call fcn.51e0e490
mov edi, eax
lea eax, [ebp + 0xc]
push eax
push 1
push edi
call fcn.51e0e477
add esp, 0x18
cmp esi, edi
je 0x51e2c006
cmp esi, eax
jne 0x51e2c013
mov eax, dword [0x51e8c348]
mov ecx, dword [ebp - 8]
cmp ecx, dword [eax + 0x54]
jne 0x51e2c029
test ebx, ebx
jge 0x51e2c021
and dword [ebp - 8], 0
and dword [ebp - 4], 0
jmp 0x51e2c029
call fcn.51e16d81
mov dword [ebp - 4], eax
cmp dword [ebp + 8], 0x21
je 0x51e2c035
cmp dword [ebp + 8], 0x22
jne 0x51e2c063
push 0
lea eax, [ebp - 0x48]
push eax
push dword [ebp - 8]
push dword [ebp - 4]
call fcn.51e16fc9
add esp, 0x10
cmp eax, 0xffffffff
je 0x51e2c05c
mov ecx, dword [0x51e8c348]
cmp eax, dword [ecx + 0xe4]
jb 0x51e2c063
push ebx
call fcn.51e672dc
pop ecx
xor esi, esi
cmp dword [ebp - 0xc], esi
jne 0x51e2c070
mov eax, dword [ebp - 4]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 4]
push dword [ebp - 8]
sbb ecx, ecx
neg ecx
push ecx
push dword [ebp - 4]
push eax
call fcn.51e1828b
add esp, 0x10
call fcn.51e181ce
call fcn.51e671c5
mov eax, dword [0x51e8c348]
push esi
push esi
push dword [eax + 0x54]
call fcn.51e16841
push eax
call fcn.51e17032
mov eax, dword [0x51e8c348]
add esp, 0x10
and dword [eax + 8], 0xffffffef
xor eax, eax
inc eax
jmp 0x51e19409