Function at 0x40dcb0
Capabilities:
Query or enumerate registry value
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x5a7c5d
mov eax, dword fs:[0]
push eax
sub esp, 0x684
mov eax, dword [0x5f13cc]
xor eax, esp
mov dword [esp + 0x680], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x5f13cc]
xor eax, esp
push eax
lea eax, [esp + 0x698]
mov dword fs:[0], eax
xor ebx, ebx
xor ebp, ebp
mov dword [esp + 0x20], ebx
mov dword [esp + 0x6a0], ebx
call fcn.00472c20
test eax, eax
jne 0x40dd64
call fcn.00472cc0
test eax, eax
jne 0x40dd64
lea eax, [esp + 0x14]
push eax
push 0x20019
push ebx
push str.SOFTWARETencentQQPinyin
push closesocket
mov dword [esp + 0x28], ebx
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
cmp eax, ebx
jne 0x40dd3e
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x20], ecx
mov ebp, ecx
jmp 0x40de63
push str.SOFTWARETencentQQPinyin
push closesocket
xor edx, edx
lea esi, [esp + 0x28]
call fcn.0040cb60
test eax, eax
jne 0x40de67
mov ebp, dword [esp + 0x20]
jmp 0x40de63
mov dword [esp + 0x5c], 7
mov dword [esp + 0x58], ebx
mov word [esp + 0x48], bx
lea ecx, [esp + 0x28]
mov byte [esp + 0x6a0], 1
call fcn.00472d40
push 0xffffffffffffffff
push ebx
lea ecx, [esp + 0x4c]
mov byte [esp + 0x6a8], 2
call fcn.0040b6f0
mov edi, 8
mov byte [esp + 0x6a0], 1
cmp dword [esp + 0x40], edi
jb 0x40ddba
mov edx, dword [esp + 0x2c]
push edx
call fcn.00578327
add esp, 4
push 1
push 0x5bd0e8
lea ecx, [esp + 0x4c]
call fcn.0040f950
push 0x19
push str.SOFTWARETencentQQPinyin
lea ecx, [esp + 0x4c]
call fcn.0040f950
cmp dword [esp + 0x5c], edi
mov eax, dword [esp + 0x48]
jae 0x40dde8
lea eax, [esp + 0x48]
lea ecx, [esp + 0x14]
push ecx
push 0x20019
push ebx
push eax
push reloc.WS2_32.dll_closesocket
mov dword [esp + 0x28], ebx
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
cmp eax, ebx
jne 0x40de11
mov edx, dword [esp + 0x14]
mov dword [esp + 0x20], edx
jmp 0x40de34
cmp dword [esp + 0x5c], edi
mov eax, dword [esp + 0x48]
jae 0x40de1f
lea eax, [esp + 0x48]
push eax
push reloc.WS2_32.dll_closesocket
xor edx, edx
lea esi, [esp + 0x28]
call fcn.0040cb60
test eax, eax
jne 0x40de38
mov ebp, dword [esp + 0x20]
mov byte [esp + 0x6a0], bl
cmp dword [esp + 0x5c], edi
jb 0x40de52
mov eax, dword [esp + 0x48]
push eax
call fcn.00578327
add esp, 4
mov dword [esp + 0x5c], 7
mov dword [esp + 0x58], ebx
mov word [esp + 0x48], bx
cmp ebp, ebx
jne 0x40de72
mov eax, dword [esp + 0x20]
cmp eax, ebx
jmp 0x40f88b
mov esi, dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x1c]
push eax
push ebx
push str.QQPyRape
mov edi, 4
push ebp
mov dword [esp + 0x30], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x34], edi
call esi
cmp dword [esp + 0x14], edi
jne 0x40debb
cmp eax, ebx
jne 0x40debb
mov ecx, dword [esp + 0x18]
mov edx, dword [0x5fe584]
mov dword [edx + 0x988], ecx
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x1c]
push edx
push ebx
push 0x5bd0ec
push ebp
mov dword [esp + 0x30], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x34], edi
call esi
cmp dword [esp + 0x14], edi
jne 0x40df03
cmp eax, ebx
jne 0x40df03
cmp dword [esp + 0x18], ebx
mov eax, dword [0x5fe584]
je 0x40df00
mov dword [eax + 4], 1
mov dword [eax + 8], ebx
jmp 0x40df03
mov dword [eax + 4], ebx
push 0x206
lea ecx, [esp + 0x82]
push ebx
push ecx
mov word [esp + 0x88], bx
call fcn.00580260
push ebp
lea ebx, [esp + 0x8c]
mov ecx, str.ShuangpinFile
call fcn.00473120
add esp, 0x10
mov ecx, 0x5bcc3c
mov eax, ebx
lea ebx, [ebx]
mov dx, word [eax]
xor edi, edi
cmp dx, word [ecx]
jne 0x40df68
cmp dx, di
je 0x40df64
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x40df68
add eax, 4
add ecx, 4
cmp dx, di
jne 0x40df40
xor eax, eax
jmp 0x40df6d
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, edi
je 0x40e235
lea eax, [esp + 0x7c]
mov dword [esp + 0x78], 7
mov dword [esp + 0x74], edi
mov word [esp + 0x64], di
lea edx, [eax + 2]
lea ecx, [ecx]
mov cx, word [eax]
add eax, 2
cmp cx, di
jne 0x40df90
sub eax, edx
sar eax, 1
push eax
lea edx, [esp + 0x80]
push edx
lea esi, [esp + 0x68]
call fcn.0040bce0
push 0x5bd000
mov ebx, 1
mov eax, esi
mov byte [esp + 0x6a4], 3
call fcn.0040b7e0
mov edi, eax
mov eax, dword [0x5fe584]
push 0x208
xor ebx, ebx
add eax, 0x14
push ebx
push eax
call fcn.00580260
add esp, 0xc
mov ecx, esi
push edi
push ecx
xor ecx, ecx
lea esi, [esp + 0x30]
call fcn.0040b390
cmp dword [eax + 0x18], 8
jb 0x40dfff
mov eax, dword [eax + 4]
jmp 0x40e002
add eax, 4
mov edx, dword [0x5fe584]
push 0x103
push eax
add edx, 0x14
push edx
call fcn.0057a8a1
add esp, 0xc
cmp dword [esp + 0x40], 8
jb 0x40e02e
mov eax, dword [esp + 0x2c]
push eax
call fcn.00578327
add esp, 4
mov ecx, dword [0x5fe584]
push 0x208
add ecx, 0x21c
push ebx
push ecx
call fcn.00580260
add esp, 0xc
push 0xffffffffffffffff
lea edx, [esp + 0x64]
lea ecx, [edi + 1]
push edx
lea esi, [esp + 0x30]
call fcn.0040b390
cmp dword [eax + 0x18], 8
jb 0x40e067
mov eax, dword [eax + 4]
jmp 0x40e06a
add eax, 4
push 0x103
push eax
mov eax, dword [0x5fe584]
add eax, 0x21c
push eax
call fcn.0057a8a1
mov edi, 8
add esp, 0xc
cmp dword [esp + 0x40], edi
jb 0x40e09b
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.00578327
add esp, 4
mov esi, dword [0x5fe584]
add esi, 0x21c
mov dword [esp + 0x40], 7
mov dword [esp + 0x3c], ebx
mov word [esp + 0x2c], bx
mov ecx, 0x5bd8a8
mov eax, esi
nop
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x40e0e6
cmp dx, bx
je 0x40e0e2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x40e0e6
add eax, 4
add ecx, 4
cmp dx, bx
jne 0x40e0c0
xor eax, eax
jmp 0x40e0eb
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x40e0fe
push 0x103
push str.abc.dat
jmp 0x40e210
mov ecx, 0x5bd8cc
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x40e12b
cmp dx, bx
je 0x40e127
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x40e12b
add eax, 4
add ecx, 4
cmp dx, bx
jne 0x40e105
xor eax, eax
jmp 0x40e130
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x40e143
push 0x103
push str.pyjj.dat
jmp 0x40e210
mov ecx, 0x5bd8f4
mov eax, esi
lea ebx, [ebx]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x40e176
cmp dx, bx
je 0x40e172
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x40e176
add eax, 4
add ecx, 4
cmp dx, bx
jne 0x40e150
xor eax, eax
jmp 0x40e17b
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x40e18e
push 0x103
push str.mspy2003.dat
jmp 0x40e210
mov ecx, 0x5bd910
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x40e1bb
cmp dx, bx
je 0x40e1b7
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x40e1bb
add eax, 4
add ecx, 4
cmp dx, bx
jne 0x40e195
xor eax, eax
jmp 0x40e1c0
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x40e1d0
push 0x103
push str.ziranma.dat
jmp 0x40e210
mov ecx, 0x5bd938
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x40e1fd
cmp dx, bx
je 0x40e1f9
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x40e1fd
add eax, 4
add ecx, 4
cmp dx, bx
jne 0x40e1d7
xor eax, eax
jmp 0x40e202
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x40e219
push 0x103
push str.unispim.dat
push esi
call fcn.0057a8a1
add esp, 0xc
mov byte [esp + 0x6a0], bl
cmp dword [esp + 0x78], edi
jb 0x40e233
mov edx, dword [esp + 0x64]
push edx
call fcn.00578327
add esp, 4
xor edi, edi
mov esi, dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x1c]
push edx
push edi
push str.CommonSet
mov ebx, 4
push ebp
mov dword [esp + 0x2c], edi
mov dword [esp + 0x34], ebx
call esi
cmp dword [esp + 0x14], ebx
jne 0x40e36b
cmp eax, edi
jne 0x40e36b
mov eax, dword [esp + 0x18]
mov esi, dword [0x5fe584]
and eax, 0x800
xor ecx, ecx
cmp ecx, eax
sbb edx, edx
neg edx
mov dword [esi + 8], edx
mov eax, dword [esp + 0x18]
and al, 2
xor cl, cl
cmp cl, al
sbb edx, edx
neg edx
mov dword [esi + 0xc], edx
mov eax, dword [esp + 0x18]
and al, bl
cmp cl, al
sbb edx, edx
neg edx
mov dword [esi + 0x424], edx
mov eax, dword [esp + 0x18]
and al, 8
cmp cl, al
sbb edx, edx
neg edx
mov dword [esi + 0x42c], edx
mov eax, dword [esp + 0x18]
and al, 0x10
cmp cl, al
sbb edx, edx
neg edx
mov dword [esi + 0x428], edx
mov eax, dword [esp + 0x18]
and al, 0x40
cmp cl, al
sbb edx, edx
neg edx
mov dword [esi + 0x44c], edx
mov eax, dword [esp + 0x18]
and eax, 0x80
xor ecx, ecx
cmp ecx, eax
sbb edx, edx
neg edx
mov dword [esi + 0x970], edx
mov eax, dword [esp + 0x18]
and al, 0x20
xor cl, cl
cmp cl, al
sbb edx, edx
neg edx
mov dword [esi + 0x448], edx
mov eax, dword [esp + 0x18]
and eax, 0x100
xor ecx, ecx
cmp ecx, eax
sbb edx, edx
neg edx
mov dword [esi + 0x458], edx
mov eax, dword [esp + 0x18]
and eax, 0x200
cmp ecx, eax
sbb edx, edx
neg edx
mov dword [esi + 0x90c], edx
mov eax, dword [esp + 0x18]
and eax, 0x400
cmp ecx, eax
sbb edx, edx
neg edx
mov dword [esi + 0x45c], edx
mov eax, dword [esp + 0x18]
and al, 1
xor cl, cl
cmp cl, al
sbb edx, edx
neg edx
mov dword [esi + 0x460], edx
mov esi, dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x1c]
push edx
push edi
push str.EnlishSymbol
push ebp
mov dword [esp + 0x2c], edi
mov dword [esp + 0x34], ebx
call esi
cmp dword [esp + 0x14], ebx
jne 0x40e3a7
cmp eax, edi
jne 0x40e3a7
mov eax, dword [esp + 0x18]
mov ecx, dword [0x5fe584]
mov dword [ecx + 0x430], eax
jmp 0x40e3ce
mov eax, dword [0x5fe584]
cmp dword [eax + 0x424], edi
je 0x40e3c8
cmp dword [eax + 0x42c], edi
jne 0x40e3c8
mov dword [eax + 0x430], 1
jmp 0x40e3ce
mov dword [eax + 0x430], edi
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x1c]
push ecx
push edi
push str.ColorSat
push ebp
mov dword [esp + 0x2c], edi
mov dword [esp + 0x34], ebx
call esi
cmp dword [esp + 0x14], ebx
jne 0x40e407
cmp eax, edi
jne 0x40e407
mov edx, dword [esp + 0x18]
mov eax, dword [0x5fe584]
mov dword [eax + 0x900], edx
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x1c]
push eax
push edi
push str.ColorHue
push ebp
mov dword [esp + 0x2c], edi
mov dword [esp + 0x34], ebx
call esi
cmp dword [esp + 0x14], ebx
jne 0x40e441
cmp eax, edi
jne 0x40e441
mov ecx, dword [esp + 0x18]
mov edx, dword [0x5fe584]
mov dword [edx + 0x8fc], ecx
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x1c]
push edx
push edi
push str.ColorLight
push ebp
mov dword [esp + 0x2c], edi
mov dword [esp + 0x34], ebx
call esi
cmp dword [esp + 0x14], ebx
jne 0x40e47b
cmp eax, edi
jne 0x40e47b
mov eax, dword [esp + 0x18]
mov ecx, dword [0x5fe584]
mov dword [ecx + 0x904], eax
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x1c]
push ecx
push edi
push str.FuzzySet
push ebp
mov dword [esp + 0x2c], edi
mov dword [esp + 0x34], ebx
call esi
cmp dword [esp + 0x14], ebx
jne 0x40e4b4
cmp eax, edi
jne 0x40e4b4
mov edx, dword [esp + 0x18]
mov eax, dword [0x5fe584]
mov dword [eax + 0x454], edx
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x1c]
push eax
push edi
push str.AutocheckSet
push ebp
mov dword [esp + 0x2c], edi
mov dword [esp + 0x34], ebx
call esi
cmp dword [esp + 0x14], ebx
jne 0x40e4ee
cmp eax, edi
jne 0x40e4ee
mov ecx, dword [esp + 0x18]
mov edx, dword [0x5fe584]
mov dword [edx + 0x974], ecx
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x1c]
push edx
push edi
push str.KeySet
push ebp
mov dword [esp + 0x2c], edi
mov dword [esp + 0x34], ebx
call esi
cmp dword [esp + 0x14], ebx
jne 0x40e5c6
cmp eax, edi
jne 0x40e5c6
mov eax, dword [esp + 0x18]
mov esi, dword [0x5fe584]
and al, 1
xor cl, cl
cmp cl, al
sbb edx, edx
neg edx
mov dword [esi + 0x87c], edx
mov eax, dword [esp + 0x18]
and al, 2
cmp cl, al
sbb edx, edx
neg edx
mov dword [esi + 0x880], edx
mov eax, dword [esp + 0x18]
and al, bl
cmp cl, al
sbb edx, edx
neg edx
mov dword [esi + 0x884], edx
mov eax, dword [esp + 0x18]
and al, 8
cmp cl, al
sbb edx, edx
neg edx
mov dword [esi + 0x888], edx
mov eax, dword [esp + 0x18]
and al, 0x20
cmp cl, al
sbb edx, edx
neg edx
mov dword [esi + 0x890], edx
mov eax, dword [esp + 0x18]
and al, 0x40
cmp cl, al
sbb edx, edx
neg edx
mov dword [esi + 0x894], edx
mov eax, dword [esp + 0x18]
and eax, 0x80
xor ecx, ecx
cmp ecx, eax
sbb edx, edx
neg edx
mov dword [esi + 0x898], edx
mov eax, dword [esp + 0x18]
and eax, 0x100
cmp ecx, eax
sbb edx, edx
neg edx
mov dword [esi + 0x89c], edx
mov esi, dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x1c]
push edx
push edi
push str.TwoThreeCand
push ebp
mov dword [esp + 0x2c], edi
mov dword [esp + 0x34], ebx
call esi
cmp dword [esp + 0x14], ebx
jne 0x40e600
cmp eax, edi
jne 0x40e600
mov eax, dword [esp + 0x18]
mov ecx, dword [0x5fe584]
mov dword [ecx + 0x88c], eax
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x1c]
push ecx
push edi
push str.ChangeLanguage
push ebp
mov dword [esp + 0x2c], edi
mov dword [esp + 0x34], ebx
call esi
cmp dword [esp + 0x14], ebx
jne 0x40e639
cmp eax, edi
jne 0x40e639
mov edx, dword [esp + 0x18]
mov eax, dword [0x5fe584]
mov dword [eax + 0x878], edx
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x1c]
push eax
push edi
push str.EnableCellDict
push ebp
mov dword [esp + 0x2c], edi
mov dword [esp + 0x34], ebx
call esi
cmp dword [esp + 0x14], ebx
jne 0x40e673
cmp eax, edi
jne 0x40e673
mov ecx, dword [esp + 0x18]
mov edx, dword [0x5fe584]
mov dword [edx + 0x910], ecx
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x1c]
push edx
push edi
push str.EnableCellDictUpdate
push ebp
mov dword [esp + 0x2c], edi
mov dword [esp + 0x34], ebx
call esi
cmp dword [esp + 0x14], ebx
jne 0x40e6ad
cmp eax, edi
jne 0x40e6ad
mov eax, dword [esp + 0x18]
mov ecx, dword [0x5fe584]
mov dword [ecx + 0x914], eax
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x1c]
push ecx
push edi
push str.AdvanceSet
push ebp
mov dword [esp + 0x2c], edi
mov dword [esp + 0x34], ebx
call esi
cmp dword [esp + 0x14], ebx
jne 0x40e7ac
cmp eax, edi
jne 0x40e7ac
mov edx, dword [esp + 0x18]
mov esi, dword [0x5fe584]
and edx, 0x200
xor eax, eax
cmp eax, edx
sbb ecx, ecx
neg ecx
mov dword [esi + 0x97c], ecx
mov edx, dword [esp + 0x18]
and dl, 1
xor al, al
cmp al, dl
sbb ecx, ecx
neg ecx
mov dword [esi + 0x980], ecx
mov edx, dword [esp + 0x18]
and dl, 8
cmp al, dl
sbb ecx, ecx
neg ecx
mov dword [esi + 0x948], ecx
mov edx, dword [esp + 0x18]
and dl, 0x10
cmp al, dl
sbb ecx, ecx
neg ecx
mov dword [esi + 0x908], ecx
mov edx, dword [esp + 0x18]
and dl, 0x40
cmp al, dl
sbb ecx, ecx
neg ecx
mov dword [esi + 0x438], ecx
mov edx, dword [esp + 0x18]
and edx, 0x80
xor eax, eax
cmp eax, edx
sbb ecx, ecx
neg ecx
mov dword [esi + 0x43c], ecx
mov edx, dword [esp + 0x18]
and edx, 0x100
cmp eax, edx
sbb ecx, ecx
neg ecx
mov dword [esi + 0x8dc], ecx
mov edx, dword [esp + 0x18]
and dl, 0x20
xor al, al
cmp al, dl
sbb ecx, ecx
neg ecx
mov dword [esi + 0x950], ecx
mov edx, dword [esp + 0x18]
and edx, 0x400
xor eax, eax
cmp eax, edx
sbb ecx, ecx
neg ecx
mov dword [esi + 0x94c], ecx
mov esi, dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x1c]
push ecx
push edi
push str.ABCStrokeMod
push ebp
mov dword [esp + 0x2c], edi
mov dword [esp + 0x34], ebx
call esi
cmp dword [esp + 0x14], ebx
jne 0x40e7e5
cmp eax, edi
jne 0x40e7e5
mov edx, dword [esp + 0x18]
mov eax, dword [0x5fe584]
mov dword [eax + 0x440], edx
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x1c]
push eax
push edi
push str.StatusBarKey
push ebp
mov dword [esp + 0x2c], edi
mov dword [esp + 0x34], ebx
call esi
cmp dword [esp + 0x14], ebx
jne 0x40e821
cmp eax, edi
jne 0x40e821
mov cx, word [esp + 0x18]
mov edx, dword [0x5fe584]
mov word [edx + 0x8a4], cx
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x1c]
push edx
push edi
push str.SoftBoardKey
push ebp
mov dword [esp + 0x2c], edi
mov dword [esp + 0x34], ebx
call esi
cmp dword [esp + 0x14], ebx
jne 0x40e85d
cmp eax, edi
jne 0x40e85d
mov ax, word [esp + 0x18]
mov ecx, dword [0x5fe584]
mov word [ecx + 0x8aa], ax
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x1c]
push ecx
push edi
push str.BIG5Key
push ebp
mov dword [esp + 0x2c], edi
mov dword [esp + 0x34], ebx
call esi
cmp dword [esp + 0x14], ebx
jne 0x40e898
cmp eax, edi
jne 0x40e898
mov dx, word [esp + 0x18]
mov eax, dword [0x5fe584]
mov word [eax + 0x8a6], dx
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x1c]
push eax
push edi
push str.QuanShuang
push ebp
mov dword [esp + 0x2c], edi
mov dword [esp + 0x34], ebx
call esi
cmp dword [esp + 0x14], ebx
jne 0x40e8d4
cmp eax, edi
jne 0x40e8d4
mov cx, word [esp + 0x18]
mov edx, dword [0x5fe584]
mov word [edx + 0x8a8], cx
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x1c]
push edx
push edi
push str.EngKey
push ebp
mov dword [esp + 0x2c], edi
mov dword [esp + 0x34], ebx
call esi
cmp dword [esp + 0x14], ebx
jne 0x40e910
cmp eax, edi
jne 0x40e910
mov ax, word [esp + 0x18]
mov ecx, dword [0x5fe584]
mov word [ecx + 0x8ac], ax
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x1c]
push ecx
push edi
push str.ConfigKey
push ebp
mov dword [esp + 0x2c], edi
mov dword [esp + 0x34], ebx
call esi
cmp dword [esp + 0x14], ebx
jne 0x40e94b
cmp eax, edi
jne 0x40e94b
mov dx, word [esp + 0x18]
mov eax, dword [0x5fe584]
mov word [eax + 0x8ae], dx
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x1c]
push eax
push edi
push str.StatusPosX
push ebp
mov dword [esp + 0x2c], edi
mov dword [esp + 0x34], ebx
call esi
cmp dword [esp + 0x14], ebx
jne 0x40e985
cmp eax, edi
jne 0x40e985
mov ecx, dword [esp + 0x18]
mov edx, dword [0x5fe584]
mov dword [edx + 0x8e4], ecx
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x1c]
push edx
push edi
push str.StatusPosY
push ebp
mov dword [esp + 0x2c], edi
mov dword [esp + 0x34], ebx
call esi
cmp dword [esp + 0x14], ebx
jne 0x40e9bf
cmp eax, edi
jne 0x40e9bf
mov eax, dword [esp + 0x18]
mov ecx, dword [0x5fe584]
mov dword [ecx + 0x8e8], eax
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x1c]
push ecx
push edi
push str.CompPositionXY
push ebp
mov dword [esp + 0x2c], edi
mov dword [esp + 0x34], ebx
call esi
cmp dword [esp + 0x14], ebx
jne 0x40ea06
cmp eax, edi
jne 0x40ea06
mov edx, dword [esp + 0x18]
mov eax, dword [0x5fe584]
shr edx, 0x10
mov dword [eax + 0x8ec], edx
movzx ecx, word [esp + 0x18]
mov dword [eax + 0x8f0], ecx
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x1c]
push ecx
push edi
push str.NetSet
push ebp
mov dword [esp + 0x2c], edi
mov dword [esp + 0x34], ebx
call esi
cmp dword [esp + 0x14], ebx
jne 0x40ea3f
cmp eax, edi
jne 0x40ea3f
mov edx, dword [esp + 0x18]
mov eax, dword [0x5fe584]
mov dword [eax + 0x944], edx
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x1c]
push eax
push edi
push str.CandNum
push ebp
mov dword [esp + 0x2c], edi
mov dword [esp + 0x34], ebx
call esi
cmp dword [esp + 0x14], ebx
jne 0x40eaa6
cmp eax, edi
jne 0x40eaa6
mov eax, dword [esp + 0x18]
cmp eax, edi
jbe 0x40eaa6
lea ecx, [eax - 2]
cmp ecx, 7
ja 0x40ea87
mov edx, dword [0x5fe584]
mov dword [edx + 0x444], eax
jmp 0x40eaa6
mov ecx, dword [0x5fe584]
mov eax, 5
push ebp
mov edx, str.CandNum
mov dword [ecx + 0x444], eax
call fcn.00473e70
add esp, 4
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x1c]
push ecx
push edi
push str.UpdateIME
push ebp
mov dword [esp + 0x2c], edi
mov dword [esp + 0x34], ebx
call esi
cmp dword [esp + 0x14], ebx
jne 0x40eaf8
cmp eax, edi
jne 0x40eaf8
mov eax, dword [esp + 0x18]
cmp eax, 1
mov edx, dword [0x5fe584]
jne 0x40eae7
mov dword [edx + 0x918], eax
jmp 0x40eaf8
xor ecx, ecx
cmp eax, 2
setne cl
add ecx, 2
mov dword [edx + 0x918], ecx
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x1c]
push edx
push edi
push str.UpdateDict
push ebp
mov dword [esp + 0x2c], edi
mov dword [esp + 0x34], ebx
call esi
cmp dword [esp + 0x14], ebx
jne 0x40eb3b
cmp eax, edi
jne 0x40eb3b
mov ecx, dword [0x5fe584]
xor eax, eax
cmp dword [esp + 0x18], 1
setne al
add eax, 1
mov dword [ecx + 0x91c], eax
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x1c]
push ecx
push edi
push str.SpaceConvert
push ebp
mov dword [esp + 0x2c], edi
mov dword [esp + 0x34], ebx
call esi
cmp dword [esp + 0x14], ebx
jne 0x40eb74
cmp eax, edi
jne 0x40eb74
mov edx, dword [esp + 0x18]
mov eax, dword [0x5fe584]
mov dword [eax + 0x438], edx
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x1c]
push eax
push edi
push str.LetterSelect
push ebp
mov dword [esp + 0x2c], edi
mov dword [esp + 0x34], ebx
call esi
cmp dword [esp + 0x14], ebx
jne 0x40ebae
cmp eax, edi
jne 0x40ebae
mov ecx, dword [esp + 0x18]
mov edx, dword [0x5fe584]
mov dword [edx + 0x43c], ecx
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x1c]
push edx
push edi
push str.InputStyle
push ebp
mov dword [esp + 0x2c], edi
mov dword [esp + 0x34], ebx
call esi
cmp dword [esp + 0x14], ebx
jne 0x40ebe8
cmp eax, edi
jne 0x40ebe8
mov eax, dword [esp + 0x18]
mov ecx, dword [0x5fe584]
mov dword [ecx + 0x434], eax
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x1c]
push ecx
push edi
push str.CandWndVertical
push ebp
mov dword [esp + 0x2c], edi
mov dword [esp + 0x34], ebx
call esi
cmp dword [esp + 0x14], ebx
jne 0x40ec21
cmp eax, edi
jne 0x40ec21
mov edx, dword [esp + 0x18]
mov eax, dword [0x5fe584]
mov dword [eax + 0x8dc], edx
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x1c]
push eax
push edi
push str.CandHRelate
push ebp
mov dword [esp + 0x2c], edi
mov dword [esp + 0x34], ebx
call esi
cmp dword [esp + 0x14], ebx
jne 0x40ec5b
cmp eax, edi
jne 0x40ec5b
mov ecx, dword [esp + 0x18]
mov edx, dword [0x5fe584]
mov dword [edx + 0x8e0], ecx
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x1c]
push edx
push edi
push str.UISet
push ebp
mov dword [esp + 0x2c], edi
mov dword [esp + 0x34], ebx
call esi
cmp dword [esp + 0x14], ebx
jne 0x40ecdc
cmp eax, edi
jne 0x40ecdc
mov eax, dword [esp + 0x18]
xor cl, cl
and al, 1
cmp cl, al
mov eax, dword [0x5fe584]
sbb edx, edx
neg edx
mov dword [eax + 0x8d4], edx
mov ecx, dword [esp + 0x18]
and cl, 2
xor dl, dl
cmp dl, cl
sbb ecx, ecx
neg ecx
mov dword [eax + 0x8c8], ecx
mov edx, dword [esp + 0x18]
and dl, bl
xor cl, cl
cmp cl, dl
sbb edx, edx
neg edx
mov dword [eax + 0x8cc], edx
mov ecx, dword [esp + 0x18]
and cl, 8
xor dl, dl
cmp dl, cl
sbb ecx, ecx
neg ecx
mov dword [eax + 0x8d0], ecx
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x1c]
push ecx
push edi
push str.WordImage
push ebp
mov dword [esp + 0x2c], edi
mov dword [esp + 0x34], ebx
call esi
cmp dword [esp + 0x14], ebx
jne 0x40ed15
cmp eax, edi
jne 0x40ed15
mov edx, dword [esp + 0x18]
mov eax, dword [0x5fe584]
mov dword [eax + 0x954], edx
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x1c]
push eax
push edi
push str.ImaginationLocation
push ebp
mov dword [esp + 0x2c], edi
mov dword [esp + 0x34], ebx
call esi
cmp dword [esp + 0x14], ebx
jne 0x40ed4f
cmp eax, edi
jne 0x40ed4f
mov ecx, dword [esp + 0x18]
mov edx, dword [0x5fe584]
mov dword [edx + 0x958], ecx
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x1c]
push edx
push edi
push str.ImaginationLength
push ebp
mov dword [esp + 0x2c], edi
mov dword [esp + 0x34], ebx
call esi
cmp dword [esp + 0x14], ebx
jne 0x40ed89
cmp eax, edi
jne 0x40ed89
mov eax, dword [esp + 0x18]
mov ecx, dword [0x5fe584]
mov dword [ecx + 0x95c], eax
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x1c]
push ecx
push edi
push str.ImaginationNumber
push ebp
mov dword [esp + 0x2c], edi
mov dword [esp + 0x34], ebx
call esi
cmp dword [esp + 0x14], ebx
jne 0x40edc2
cmp eax, edi
jne 0x40edc2
mov edx, dword [esp + 0x18]
mov eax, dword [0x5fe584]
mov dword [eax + 0x960], edx
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x1c]
push eax
push edi
push str.EnablePhrase
push ebp
mov dword [esp + 0x2c], edi
mov dword [esp + 0x34], ebx
call esi
cmp dword [esp + 0x14], ebx
jne 0x40edfc
cmp eax, edi
jne 0x40edfc
mov ecx, dword [esp + 0x18]
mov edx, dword [0x5fe584]
mov dword [edx + 0x964], ecx
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x1c]
push edx
push edi
push str.NotSingleNumber
push ebp
mov dword [esp + 0x2c], edi
mov dword [esp + 0x34], ebx
call esi
cmp dword [esp + 0x14], ebx
jne 0x40ee36
cmp eax, edi
jne 0x40ee36
mov eax, dword [esp + 0x18]
mov ecx, dword [0x5fe584]
mov dword [ecx + 0x968], eax
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x1c]
push ecx
push edi
push str.ZeroJump
push ebp
mov dword [esp + 0x2c], edi
mov dword [esp + 0x34], ebx
call esi
cmp dword [esp + 0x14], ebx
jne 0x40ee6f
cmp eax, edi
jne 0x40ee6f
mov edx, dword [esp + 0x18]
mov eax, dword [0x5fe584]
mov dword [eax + 0x96c], edx
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x1c]
push eax
push edi
push str.Seperator
push ebp
mov dword [esp + 0x2c], edi
mov dword [esp + 0x34], ebx
call esi
cmp dword [esp + 0x14], ebx
jne 0x40eeab
cmp eax, edi
jne 0x40eeab
mov cx, word [esp + 0x18]
mov edx, dword [0x5fe584]
mov word [edx + 0x978], cx
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x1c]
push edx
push edi
push str.UserWordDeleteShortCut
push ebp
mov dword [esp + 0x2c], edi
mov dword [esp + 0x34], ebx
call esi
cmp dword [esp + 0x14], ebx
jne 0x40eee5
cmp eax, edi
jne 0x40eee5
mov eax, dword [esp + 0x18]
mov ecx, dword [0x5fe584]
mov dword [ecx + 0x8a0], eax
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x1c]
push ecx
push edi
push str.GlobalState
push ebp
mov dword [esp + 0x2c], edi
mov dword [esp + 0x34], ebx
call esi
cmp dword [esp + 0x14], ebx
jne 0x40ef1e
cmp eax, edi
jne 0x40ef1e
mov edx, dword [esp + 0x18]
mov eax, dword [0x5fe584]
mov dword [eax + 0x984], edx
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x1c]
push eax
push edi
push str.EnablePreferredWord
push ebp
mov dword [esp + 0x2c], edi
mov dword [esp + 0x34], ebx
call esi
cmp dword [esp + 0x14], ebx
jne 0x40ef58
cmp eax, edi
jne 0x40ef58
mov ecx, dword [esp + 0x18]
mov edx, dword [0x5fe584]
mov dword [edx + 0x9c0], ecx
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x1c]
push edx
push edi
push str.SyncInterval
push ebp
mov dword [esp + 0x2c], edi
mov dword [esp + 0x34], ebx
call esi
cmp dword [esp + 0x14], ebx
jne 0x40ef92
cmp eax, edi
jne 0x40ef92
mov eax, dword [esp + 0x18]
mov ecx, dword [0x5fe584]
mov dword [ecx + 0x92c], eax
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x1c]
push ecx
push edi
push str.ImeSyncTime
push ebp
mov dword [esp + 0x2c], edi
mov dword [esp + 0x34], ebx
call esi
cmp dword [esp + 0x14], ebx
jne 0x40efcb
cmp eax, edi
jne 0x40efcb
mov edx, dword [esp + 0x18]
mov eax, dword [0x5fe584]
mov dword [eax + 0x928], edx
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x1c]
push eax
push edi
push str.NumpadSelect
push ebp
mov dword [esp + 0x2c], edi
mov dword [esp + 0x34], ebx
call esi
cmp dword [esp + 0x14], ebx
jne 0x40f005
cmp eax, edi
jne 0x40f005
mov ecx, dword [esp + 0x18]
mov edx, dword [0x5fe584]
mov dword [edx + 0x8c0], ecx
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x1c]
push edx
push edi
push str.NumKeySelect
push ebp
mov dword [esp + 0x2c], edi
mov dword [esp + 0x34], ebx
call esi
cmp dword [esp + 0x14], ebx
jne 0x40f03f
cmp eax, edi
jne 0x40f03f
mov eax, dword [esp + 0x18]
mov ecx, dword [0x5fe584]
mov dword [ecx + 0x8c4], eax
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x1c]
push ecx
push edi
push str.Lookup
push ebp
mov dword [esp + 0x2c], edi
mov dword [esp + 0x34], ebx
call esi
cmp dword [esp + 0x14], ebx
jne 0x40f078
cmp eax, edi
jne 0x40f078
mov edx, dword [esp + 0x18]
mov eax, dword [0x5fe584]
mov dword [eax + 0x98c], edx
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x1c]
push eax
push edi
push str.EnableHotKey
push ebp
mov dword [esp + 0x2c], edi
mov dword [esp + 0x34], ebx
call esi
cmp dword [esp + 0x14], ebx
jne 0x40f0b2
cmp eax, edi
jne 0x40f0b2
mov ecx, dword [esp + 0x18]
mov edx, dword [0x5fe584]
mov dword [edx + 0x8b4], ecx
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x1c]
push edx
push edi
push str.Modifier
push ebp
mov dword [esp + 0x2c], edi
mov dword [esp + 0x34], ebx
call esi
cmp dword [esp + 0x14], ebx
jne 0x40f0ec
cmp eax, edi
jne 0x40f0ec
mov eax, dword [esp + 0x18]
mov ecx, dword [0x5fe584]
mov dword [ecx + 0x8b8], eax
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x1c]
push ecx
push edi
push str.VirtualKey
push ebp
mov dword [esp + 0x2c], edi
mov dword [esp + 0x34], ebx
call esi
cmp dword [esp + 0x14], ebx
jne 0x40f125
cmp eax, edi
jne 0x40f125
mov edx, dword [esp + 0x18]
mov eax, dword [0x5fe584]
mov dword [eax + 0x8bc], edx
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x1c]
push eax
push edi
push str.ContextImagine
push ebp
mov dword [esp + 0x2c], edi
mov dword [esp + 0x34], ebx
call esi
cmp dword [esp + 0x14], ebx
jne 0x40f15f
cmp eax, edi
jne 0x40f15f
mov ecx, dword [esp + 0x18]
mov edx, dword [0x5fe584]
mov dword [edx + 0x93c], ecx
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x1c]
push edx
push edi
push str.FixOrder
push ebp
mov dword [esp + 0x2c], edi
mov dword [esp + 0x34], ebx
call esi
cmp dword [esp + 0x14], ebx
jne 0x40f199
cmp eax, edi
jne 0x40f199
mov eax, dword [esp + 0x18]
mov ecx, dword [0x5fe584]
mov dword [ecx + 0x464], eax
push 0x206
lea edx, [esp + 0x28a]
push edi
push edx
mov word [esp + 0x290], di
call fcn.00580260
push ebp
lea ebx, [esp + 0x294]
mov ecx, str.FixOrderFileName
call fcn.00473120
add esp, 0x10
mov ecx, 0x5bcc3c
mov eax, ebx
mov dx, word [eax]
xor edi, edi
cmp dx, word [ecx]
jne 0x40f1f8
cmp dx, di
je 0x40f1f4
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x40f1f8
add eax, 4
add ecx, 4
cmp dx, di
jne 0x40f1d0
xor eax, eax
jmp 0x40f1fd
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, edi
je 0x40f366
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x288]
call fcn.00404460
mov ebx, 4
mov byte [esp + 0x6a0], bl
mov eax, dword [esp + 0x1c]
cmp dword [eax - 0xc], edi
jle 0x40f32b
push 0x20
push eax
call fcn.00578331
add esp, 8
cmp eax, edi
je 0x40f35e
sub eax, dword [esp + 0x1c]
sar eax, 1
mov edi, eax
cmp edi, 0xffffffff
je 0x40f329
mov ecx, dword [0x5fe584]
push 0x208
add ecx, 0x468
push 0
push ecx
call fcn.00580260
add esp, 0xc
lea edx, [esp + 0x1c]
push edx
mov eax, edi
xor ecx, ecx
lea edx, [esp + 0x18]
call fcn.00403eb0
mov eax, dword [eax]
push 0x103
push eax
mov eax, dword [0x5fe584]
add eax, 0x468
push eax
call fcn.0057a8a1
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
add esp, 0xc
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40f2bc
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [0x5fe584]
push 0x208
add ecx, 0x670
push 0
push ecx
call fcn.00580260
add esp, 0xc
lea ecx, [edi + 1]
lea esi, [esp + 0x14]
lea edx, [esp + 0x1c]
call fcn.00403540
mov edx, dword [0x5fe584]
mov esi, dword [esp + 0x14]
push 0x103
add edx, 0x670
push esi
push edx
call fcn.0057a8a1
lea eax, [esi - 0x10]
add esp, 0xc
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40f35c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov esi, dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
xor edi, edi
mov byte [esp + 0x6a0], 0
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40f554
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
jmp 0x40f554
xor edi, edi
mov esi, dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
jmp 0x40f32b
push 0x206
lea ecx, [esp + 0x492]
push edi
push ecx
mov word [esp + 0x498], di
call fcn.00580260
push ebp
lea ebx, [esp + 0x49c]
mov ecx, str.FixOrderFile
call fcn.00473120
add esp, 0x10
mov ecx, 0x5bcc3c
mov eax, ebx
lea ecx, [ecx]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x40f3c6
test dx, dx
je 0x40f3c2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x40f3c6
add eax, 4
add ecx, 4
test dx, dx
jne 0x40f3a0
xor eax, eax
jmp 0x40f3cb
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x40f54d
lea edx, [esp + 0x14]
push edx
lea ecx, [esp + 0x490]
call fcn.00404460
mov byte [esp + 0x6a0], 5
mov eax, dword [esp + 0x14]
cmp dword [eax - 0xc], 0
jle 0x40f51f
push 0x20
push eax
call fcn.00578331
add esp, 8
test eax, eax
je 0x40f51f
sub eax, dword [esp + 0x14]
sar eax, 1
mov esi, eax
cmp esi, 0xffffffff
je 0x40f51f
mov eax, dword [0x5fe584]
push 0x208
add eax, 0x468
push 0
push eax
call fcn.00580260
add esp, 0xc
lea ecx, [esp + 0x14]
push ecx
mov eax, esi
xor ecx, ecx
lea edx, [esp + 0x20]
call fcn.00403eb0
mov eax, dword [eax]
mov edx, dword [0x5fe584]
push 0x103
push eax
add edx, 0x468
push edx
call fcn.0057a8a1
add esp, 0xc
lea ecx, [esp + 0x1c]
call fcn.00404510
mov eax, dword [0x5fe584]
push 0x208
add eax, 0x670
push 0
push eax
call fcn.00580260
lea ecx, [esi + 1]
add esp, 0xc
lea esi, [esp + 0x1c]
lea edx, [esp + 0x14]
call fcn.00403540
mov byte [esp + 0x6a0], 6
mov esi, dword [esp + 0x1c]
cmp dword [esi - 0xc], 0
jl 0x40f4fb
push str.abcorder
push esi
call fcn.0057880c
add esp, 8
test eax, eax
je 0x40f4cb
sub eax, esi
sar eax, 1
jne 0x40f4cb
mov edx, str.fixorder_abc.dat
jmp 0x40f4ee
cmp dword [esi - 0xc], 0
jl 0x40f4fb
push str.defaultorder
push esi
call fcn.0057880c
add esp, 8
test eax, eax
je 0x40f4fb
sub eax, esi
sar eax, 1
jne 0x40f4fb
mov edx, str.fixorder_default.dat
lea edi, [esp + 0x1c]
call fcn.004040f0
mov esi, dword [esp + 0x1c]
mov ecx, dword [0x5fe584]
push 0x103
add ecx, 0x670
push esi
push ecx
call fcn.0057a8a1
add esp, 0xc
lea ecx, [esp + 0x1c]
call fcn.00404510
mov byte [esp + 0x6a0], 0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x40f547
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov esi, dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
xor edi, edi
mov ebx, 4
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x1c]
push eax
push edi
push str.AutoSynch
push ebp
mov dword [esp + 0x2c], edi
mov dword [esp + 0x34], ebx
call esi
cmp dword [esp + 0x14], ebx
jne 0x40f58e
cmp eax, edi
jne 0x40f58e
mov ecx, dword [esp + 0x18]
mov edx, dword [0x5fe584]
mov dword [edx + 0x8b0], ecx
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x1c]
push edx
push edi
push str.AutoSyncCfgSet
push ebp
mov dword [esp + 0x2c], edi
mov dword [esp + 0x34], ebx
call esi
cmp dword [esp + 0x14], ebx
jne 0x40f5c8
cmp eax, edi
jne 0x40f5c8
mov eax, dword [esp + 0x18]
mov ecx, dword [0x5fe584]
mov dword [ecx + 0x934], eax
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x1c]
push ecx
push edi
push str.FuzzyTips
push ebp
mov dword [esp + 0x2c], edi
mov dword [esp + 0x34], ebx
call esi
cmp dword [esp + 0x14], ebx
jne 0x40f601
cmp eax, edi
jne 0x40f601
mov edx, dword [esp + 0x18]
mov eax, dword [0x5fe584]
mov dword [eax + 0x450], edx
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x1c]
push eax
push edi
push str.NoticeTipsWnd
push ebp
mov dword [esp + 0x2c], edi
mov dword [esp + 0x34], ebx
call esi
cmp dword [esp + 0x14], ebx
jne 0x40f63b
cmp eax, edi
jne 0x40f63b
mov ecx, dword [esp + 0x18]
mov edx, dword [0x5fe584]
mov dword [edx + 0x8d8], ecx
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x1c]
push edx
push edi
push str.EnglishMixMode
push ebp
mov dword [esp + 0x2c], edi
mov dword [esp + 0x34], ebx
call esi
cmp dword [esp + 0x14], ebx
jne 0x40f675
cmp eax, edi
jne 0x40f675
mov eax, dword [esp + 0x18]
mov ecx, dword [0x5fe584]
mov dword [ecx + 0x9c4], eax
push str.EnglishCapsMode
push ebp
lea ecx, [esp + 0x20]
call fcn.00473bc0
add esp, 8
test eax, eax
je 0x40f69a
mov edx, dword [esp + 0x18]
mov eax, dword [0x5fe584]
mov dword [eax + 0x9c8], edx
push str.EnglishVMode
push ebp
lea ecx, [esp + 0x20]
call fcn.00473bc0
add esp, 8
test eax, eax
je 0x40f6c0
mov ecx, dword [esp + 0x18]
mov edx, dword [0x5fe584]
mov dword [edx + 0x9cc], ecx
push str.EnablePicFace
push ebp
lea ecx, [esp + 0x20]
call fcn.00473bc0
mov ecx, dword [0x5fe584]
add esp, 8
test eax, eax
je 0x40f6e8
mov eax, dword [esp + 0x18]
mov dword [ecx + 0xbe8], eax
jmp 0x40f709
mov eax, dword [ecx + 0x434]
cmp eax, 1
je 0x40f6ff
cmp eax, edi
je 0x40f6ff
mov dword [ecx + 0xbe8], edi
jmp 0x40f709
mov dword [ecx + 0xbe8], 1
push str.EnableAllPicFaceInCmpWnd
push ebp
lea ecx, [esp + 0x20]
call fcn.00473bc0
add esp, 8
test eax, eax
je 0x40f72e
mov edx, dword [esp + 0x18]
mov eax, dword [0x5fe584]
mov dword [eax + 0xbec], edx
push str.EnableCharFace
push ebp
lea ecx, [esp + 0x20]
call fcn.00473bc0
add esp, 8
test eax, eax
je 0x40f756
mov ecx, dword [esp + 0x18]
mov edx, dword [0x5fe584]
mov dword [edx + 0xbf0], ecx
jmp 0x40f77d
mov ecx, dword [0x5fe584]
mov eax, dword [ecx + 0x434]
cmp eax, 1
je 0x40f773
cmp eax, edi
je 0x40f773
mov dword [ecx + 0xbf0], edi
jmp 0x40f77d
mov dword [ecx + 0xbf0], 1
push str.EnbaleAllCharFaceInCmpWnd
push ebp
lea ecx, [esp + 0x20]
call fcn.00473bc0
add esp, 8
test eax, eax
je 0x40f7a3
mov eax, dword [esp + 0x18]
mov ecx, dword [0x5fe584]
mov dword [ecx + 0xbf4], eax
push str.PicFaceEnableAllProc
push ebp
lea ecx, [esp + 0x20]
call fcn.00473bc0
add esp, 8
test eax, eax
je 0x40f7c8
mov edx, dword [esp + 0x18]
mov eax, dword [0x5fe584]
mov dword [eax + 0xc00], edx
push str.SupportUrlGuide
push ebp
lea ecx, [esp + 0x20]
call fcn.00473bc0
add esp, 8
test eax, eax
je 0x40f7ee
mov ecx, dword [esp + 0x18]
mov edx, dword [0x5fe584]
mov dword [edx + 0x990], ecx
push str.SupportSplitWord
push ebp
lea ecx, [esp + 0x20]
call fcn.00473bc0
add esp, 8
test eax, eax
je 0x40f814
mov eax, dword [esp + 0x18]
mov ecx, dword [0x5fe584]
mov dword [ecx + 0x994], eax
push str.SupportNameStyle
push ebp
lea ecx, [esp + 0x20]
call fcn.00473bc0
add esp, 8
test eax, eax
je 0x40f839
mov edx, dword [esp + 0x18]
mov eax, dword [0x5fe584]
mov dword [eax + 0x998], edx
push str.EnableNewWordUpDateTips
push ebp
lea ecx, [esp + 0x20]
call fcn.00473bc0
add esp, 8
test eax, eax
je 0x40f85f
mov ecx, dword [esp + 0x18]
mov edx, dword [0x5fe584]
mov dword [edx + 0xc08], ecx
push str.SupportFixtopTips
push ebp
lea ecx, [esp + 0x20]
call fcn.00473bc0
add esp, 8
test eax, eax
je 0x40f885
mov eax, dword [esp + 0x18]
mov ecx, dword [0x5fe584]
mov dword [ecx + 0xc0c], eax
mov eax, dword [esp + 0x20]
cmp eax, edi
je 0x40f894
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, dword [esp + 0x698]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x680]
xor ecx, esp
call fcn.005787fd
add esp, 0x690
ret