Function at 0x4cd150
Capabilities:
Query or enumerate registry value
Set registry value

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x3c
push ebx
push esi
push edi
lea eax, [esp + 0x10]
mov dword [esp + 0x24], ecx
push eax
push str.SoftWareSogouWBInput
push 0x80000001
mov dword [esp + 0x1c], 0
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyW]
test eax, eax
jne 0x4cd1eb
mov dword [esp + 0x14], eax
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x18]
mov dword [esp + 0x20], 4
push eax
lea eax, [esp + 0x24]
mov dword [esp + 0x20], 4
push eax
push 0
push str.CheckCrash
push dword [esp + 0x24]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x4cd1e1
cmp dword [esp + 0x14], eax
je 0x4cd1e1
push 4
lea eax, [esp + 0x24]
mov dword [esp + 0x24], 1
push eax
push 4
push 0
push str.CheckCrashRes
push dword [esp + 0x24]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
push dword [esp + 0x10]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push 0x4ccc60
call dword [sym.imp.KERNEL32.dll_SetUnhandledExceptionFilter]
push 0x4cb760
mov dword [0x51b164], eax
call fcn.004593e7
add esp, 4
push 0x4cb770
call fcn.0044db8b
add esp, 4
xor eax, eax
mov word [0x51b168], ax
push 0x103
push 0x51b168
push eax
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
push 0x5c
push 0x51b168
call fcn.0044f834
add esp, 8
test eax, eax
je 0x4cd246
xor ecx, ecx
mov word [eax], cx
add eax, 2
push eax
push 0x51b780
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
push 4
mov dword [esp + 0x3c], vtable.t_str.0
call fcn.0046c3ce
add esp, 4
mov dword [esp + 0x40], eax
lea ecx, [esp + 0x38]
mov dword [esp + 0x44], 0
mov dword [eax], 0
call fcn.004a60e0
mov ecx, 0x51b168
lea edx, [ecx + 2]
nop word [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4cd290
mov ebx, dword [esp + 0x40]
sub ecx, edx
sar ecx, 1
mov esi, dword [ebx]
lea edi, [ecx + 1]
cmp edi, esi
jbe 0x4cd2d3
lea esi, [esi*2 + 0x10]
and esi, 0xfff0
cmp edi, esi
cmovae esi, edi
lea eax, [esi*2 + 4]
push eax
push ebx
call fcn.00478579
mov ebx, eax
add esp, 8
mov dword [ebx], esi
lea ecx, [edi + edi]
push ecx
lea esi, [ebx + 4]
push 0x51b168
push esi
call fcn.0044e3e0
add esp, 0xc
mov dword [esp + 0x28], vtable.t_str.0
push 4
call fcn.0046c3ce
add esp, 4
mov dword [esp + 0x30], eax
lea ecx, [esp + 0x28]
mov dword [esp + 0x34], 0
mov dword [eax], 0
call fcn.004a60e0
push esi
lea ecx, [esp + 0x2c]
call fcn.004a5ed0
push 4
mov dword [esp + 0x3c], vtable.t_str.0
call fcn.0046c3ce
add esp, 4
mov dword [esp + 0x40], eax
lea ecx, [esp + 0x38]
mov dword [esp + 0x44], 0
mov dword [eax], 0
call fcn.004a60e0
push 0x4f47bc
lea ecx, [esp + 0x3c]
call fcn.004a5ed0
lea eax, [esp + 0x38]
push eax
lea ecx, [esp + 0x2c]
call fcn.004b6e40
mov eax, dword [esp + 0x40]
test eax, eax
je 0x4cd379
push eax
call fcn.00459651
add esp, 4
lea ecx, [esp + 0x28]
call fcn.004b7370
mov edi, dword [esp + 0x30]
test al, al
je 0x4cd38d
lea esi, [edi + 4]
push esi
push 0x104
push 0x51b578
call fcn.004785e4
mov esi, dword [sym.imp.KERNEL32.dll_lstrcatW]
add esp, 0xc
push 0x4f47b8
push 0x51b578
call esi
push 0x51b780
push 0x51b578
call esi
push 0x51b578
push 0x104
push 0x51b370
call fcn.004785e4
add esp, 0xc
push 0x51b370
push 0x104
push 0x51ad50
call fcn.004785e4
add esp, 0xc
push 0x51b578
push 0x104
push 0x51af58
call fcn.004785e4
add esp, 0xc
mov ecx, 0x51b370
push 0x4f47d0
call fcn.004cd5f0
add esp, 4
mov ecx, 0x51ad50
push 0x4f47c8
call fcn.004cd5f0
add esp, 4
push 0x2e
push 0x51b578
call fcn.0044f834
add esp, 8
test eax, eax
je 0x4cd44c
push 0x4f47e0
add eax, 2
push 4
push eax
call fcn.004785e4
jmp 0x4cd477
push 0x4f47b0
push 0x104
push 0x51b578
call fcn.004788b9
add esp, 0xc
push 0x4f47e0
push 0x104
push 0x51b578
call fcn.004788b9
add esp, 0xc
push 0x2e
push 0x51af58
call fcn.0044f834
add esp, 8
test eax, eax
je 0x4cd49f
push 0x4f47d8
add eax, 2
push 4
push eax
call fcn.004785e4
jmp 0x4cd4ca
push 0x4f47b0
push 0x104
push 0x51af58
call fcn.004788b9
add esp, 0xc
push 0x4f47d8
push 0x104
push 0x51af58
call fcn.004788b9
add esp, 0xc
push 0x2e
push 0x51b370
call fcn.0044f834
add esp, 8
test eax, eax
je 0x4cd4f2
push 0x4f47f0
add eax, 2
push 4
push eax
call fcn.004785e4
jmp 0x4cd51d
push 0x4f47b0
push 0x104
push 0x51b370
call fcn.004788b9
add esp, 0xc
push 0x4f47f0
push 0x104
push 0x51b370
call fcn.004788b9
add esp, 0xc
push 0x2e
push 0x51ad50
call fcn.0044f834
add esp, 8
test eax, eax
je 0x4cd545
push 0x4f47e8
add eax, 2
push 4
push eax
call fcn.004785e4
jmp 0x4cd570
push 0x4f47b0
push 0x104
push 0x51ad50
call fcn.004788b9
add esp, 0xc
push 0x4f47e8
push 0x104
push 0x51ad50
call fcn.004788b9
add esp, 0xc
mov dword [0x51ad44], 0
test edi, edi
je 0x4cd58a
push edi
call fcn.00459651
add esp, 4
push ebx
call fcn.00459651
mov eax, dword [esp + 0x28]
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret