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

Disassembly:
push 0xffffffffffffffff
push 0x605898
mov eax, dword fs:[0]
push eax
sub esp, 0xaa8
mov eax, dword [0x6687b8]
xor eax, esp
mov dword [esp + 0xaa4], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x6687b8]
xor eax, esp
push eax
lea eax, [esp + 0xabc]
mov dword fs:[0], eax
xor ebx, ebx
xor ebp, ebp
mov dword [esp + 0x20], ebx
mov dword [esp + 0xac4], ebx
call fcn.00478e90
test eax, eax
jne 0x4078a4
call fcn.00478f30
test eax, eax
jne 0x4078a4
lea eax, [esp + 0x18]
push eax
push 0x20019
push ebx
push str.SOFTWARETencentQQPinyin
push SysReAllocStringLen
mov dword [esp + 0x2c], ebx
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
cmp eax, ebx
jne 0x40787e
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x20], ecx
mov ebp, ecx
jmp 0x4079a3
push str.SOFTWARETencentQQPinyin
push SysReAllocStringLen
xor edx, edx
lea esi, [esp + 0x28]
call fcn.00406220
test eax, eax
jne 0x4079a7
mov ebp, dword [esp + 0x20]
jmp 0x4079a3
mov dword [esp + 0x5c], 7
mov dword [esp + 0x58], ebx
mov word [esp + 0x48], bx
lea ecx, [esp + 0x28]
mov byte [esp + 0xac4], 1
call fcn.00478fb0
push 0xffffffffffffffff
push ebx
lea ecx, [esp + 0x4c]
mov byte [esp + 0xacc], 2
call fcn.00404ae0
mov edi, 8
mov byte [esp + 0xac4], 1
cmp dword [esp + 0x40], edi
jb 0x4078fa
mov edx, dword [esp + 0x2c]
push edx
call fcn.005d2367
add esp, 4
push 1
push 0x62454c
lea ecx, [esp + 0x4c]
call fcn.0040a070
push 0x19
push str.SOFTWARETencentQQPinyin
lea ecx, [esp + 0x4c]
call fcn.0040a070
cmp dword [esp + 0x5c], edi
mov eax, dword [esp + 0x48]
jae 0x407928
lea eax, [esp + 0x48]
lea ecx, [esp + 0x18]
push ecx
push 0x20019
push ebx
push eax
push reloc.WS2_32.dll_closesocket
mov dword [esp + 0x2c], ebx
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
cmp eax, ebx
jne 0x407951
mov edx, dword [esp + 0x18]
mov dword [esp + 0x20], edx
jmp 0x407974
cmp dword [esp + 0x5c], edi
mov eax, dword [esp + 0x48]
jae 0x40795f
lea eax, [esp + 0x48]
push eax
push reloc.WS2_32.dll_closesocket
xor edx, edx
lea esi, [esp + 0x28]
call fcn.00406220
test eax, eax
jne 0x407978
mov ebp, dword [esp + 0x20]
mov byte [esp + 0xac4], bl
cmp dword [esp + 0x5c], edi
jb 0x407992
mov eax, dword [esp + 0x48]
push eax
call fcn.005d2367
add esp, 4
mov dword [esp + 0x5c], 7
mov dword [esp + 0x58], ebx
mov word [esp + 0x48], bx
cmp ebp, ebx
jne 0x4079bf
mov eax, dword [esp + 0x20]
cmp eax, ebx
je 0x409bc4
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x409bc4
mov edi, dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x18]
push edx
lea eax, [esp + 0x20]
push eax
push ebx
push str.QQPyRape
mov esi, 4
push ebp
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], esi
call edi
cmp dword [esp + 0x18], esi
jne 0x407a08
cmp eax, ebx
jne 0x407a08
mov ecx, dword [esp + 0x14]
mov edx, dword [0x678ec4]
mov dword [edx + 0x998], ecx
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x20]
push edx
push ebx
push 0x624550
push ebp
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], esi
call edi
cmp dword [esp + 0x18], esi
jne 0x407a50
cmp eax, ebx
jne 0x407a50
cmp dword [esp + 0x14], ebx
mov eax, dword [0x678ec4]
je 0x407a4d
mov dword [eax + 4], 1
mov dword [eax + 8], ebx
jmp 0x407a50
mov dword [eax + 4], ebx
push 0x20a
lea ecx, [esp + 0x82]
push ebx
push ecx
mov word [esp + 0x88], bx
call fcn.005da970
push ebp
lea ebx, [esp + 0x8c]
mov ecx, str.ShuangpinFile
call fcn.00479360
add esp, 0x10
mov ecx, 0x6244e0
mov eax, ebx
mov dx, word [eax]
xor esi, esi
cmp dx, word [ecx]
jne 0x407aaf
cmp dx, si
je 0x407aab
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x407aaf
add eax, 4
add ecx, 4
cmp dx, si
jne 0x407a87
xor eax, eax
jmp 0x407ab4
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, esi
je 0x407d77
lea eax, [esp + 0x7c]
mov dword [esp + 0x78], 7
mov dword [esp + 0x74], esi
mov word [esp + 0x64], si
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, si
jne 0x407ad4
sub eax, edx
sar eax, 1
push eax
lea edx, [esp + 0x80]
push edx
lea esi, [esp + 0x68]
call fcn.00405040
push 0x6198d8
mov ebx, 1
mov eax, esi
mov byte [esp + 0xac8], 3
call fcn.00404b90
mov ebx, eax
mov eax, dword [0x678ec4]
push 0x208
add eax, 0x14
push 0
push eax
call fcn.005da970
add esp, 0xc
mov ecx, esi
push ebx
push ecx
xor ecx, ecx
lea esi, [esp + 0x30]
call fcn.00404780
cmp dword [eax + 0x18], 8
jb 0x407b42
mov eax, dword [eax + 4]
jmp 0x407b45
add eax, 4
mov edx, dword [0x678ec4]
push 0x103
push eax
add edx, 0x14
push edx
call fcn.005d31ba
add esp, 0xc
cmp dword [esp + 0x40], 8
jb 0x407b71
mov eax, dword [esp + 0x2c]
push eax
call fcn.005d2367
add esp, 4
mov ecx, dword [0x678ec4]
push 0x208
add ecx, 0x21c
push 0
push ecx
call fcn.005da970
add esp, 0xc
push 0xffffffffffffffff
lea edx, [esp + 0x64]
lea ecx, [ebx + 1]
push edx
lea esi, [esp + 0x30]
call fcn.00404780
cmp dword [eax + 0x18], 8
jb 0x407bab
mov eax, dword [eax + 4]
jmp 0x407bae
add eax, 4
push 0x103
push eax
mov eax, dword [0x678ec4]
add eax, 0x21c
push eax
call fcn.005d31ba
add esp, 0xc
cmp dword [esp + 0x40], 8
jb 0x407bdb
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.005d2367
add esp, 4
mov ebx, dword [0x678ec4]
xor esi, esi
add ebx, 0x21c
mov dword [esp + 0x40], 7
mov dword [esp + 0x3c], esi
mov word [esp + 0x2c], si
mov ecx, 0x625320
mov eax, ebx
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x407c27
cmp dx, si
je 0x407c23
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x407c27
add eax, 4
add ecx, 4
cmp dx, si
jne 0x407c01
xor eax, eax
jmp 0x407c2c
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, esi
jne 0x407c3f
push 0x103
push str.abc.dat
jmp 0x407d50
mov ecx, 0x625344
mov eax, ebx
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x407c6c
cmp dx, si
je 0x407c68
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x407c6c
add eax, 4
add ecx, 4
cmp dx, si
jne 0x407c46
xor eax, eax
jmp 0x407c71
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, esi
jne 0x407c84
push 0x103
push str.pyjj.dat
jmp 0x407d50
mov ecx, 0x62536c
mov eax, ebx
jmp 0x407c90
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x407cb6
cmp dx, si
je 0x407cb2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x407cb6
add eax, 4
add ecx, 4
cmp dx, si
jne 0x407c90
xor eax, eax
jmp 0x407cbb
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, esi
jne 0x407cce
push 0x103
push str.mspy2003.dat
jmp 0x407d50
mov ecx, 0x625388
mov eax, ebx
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x407cfb
cmp dx, si
je 0x407cf7
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x407cfb
add eax, 4
add ecx, 4
cmp dx, si
jne 0x407cd5
xor eax, eax
jmp 0x407d00
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, esi
jne 0x407d10
push 0x103
push str.ziranma.dat
jmp 0x407d50
mov ecx, 0x6253b0
mov eax, ebx
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x407d3d
cmp dx, si
je 0x407d39
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x407d3d
add eax, 4
add ecx, 4
cmp dx, si
jne 0x407d17
xor eax, eax
jmp 0x407d42
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, esi
jne 0x407d59
push 0x103
push str.unispim.dat
push ebx
call fcn.005d31ba
add esp, 0xc
mov byte [esp + 0xac4], 0
cmp dword [esp + 0x78], 8
jb 0x407d75
mov edx, dword [esp + 0x64]
push edx
call fcn.005d2367
add esp, 4
xor esi, esi
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x20]
push edx
push esi
push str.CommonSet
mov ebx, 4
push ebp
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], ebx
call edi
cmp dword [esp + 0x18], ebx
jne 0x407e92
cmp eax, esi
jne 0x407e92
mov eax, dword [esp + 0x14]
mov edi, dword [0x678ec4]
and eax, 0x800
xor ecx, ecx
cmp ecx, eax
sbb edx, edx
neg edx
mov dword [edi + 8], edx
mov eax, dword [esp + 0x14]
and al, 2
xor cl, cl
cmp cl, al
sbb edx, edx
neg edx
mov dword [edi + 0xc], edx
mov eax, dword [esp + 0x14]
and al, bl
cmp cl, al
sbb edx, edx
neg edx
mov dword [edi + 0x424], edx
mov eax, dword [esp + 0x14]
and al, 8
cmp cl, al
sbb edx, edx
neg edx
mov dword [edi + 0x42c], edx
mov eax, dword [esp + 0x14]
and al, 0x10
cmp cl, al
sbb edx, edx
neg edx
mov dword [edi + 0x428], edx
mov eax, dword [esp + 0x14]
and al, 0x40
cmp cl, al
sbb edx, edx
neg edx
mov dword [edi + 0x44c], edx
mov eax, dword [esp + 0x14]
and eax, 0x80
xor ecx, ecx
cmp ecx, eax
sbb edx, edx
neg edx
mov dword [edi + 0x980], edx
mov eax, dword [esp + 0x14]
and al, 0x20
xor cl, cl
cmp cl, al
sbb edx, edx
neg edx
mov dword [edi + 0x448], edx
mov eax, dword [esp + 0x14]
and eax, 0x100
xor ecx, ecx
cmp ecx, eax
sbb edx, edx
neg edx
mov dword [edi + 0x458], edx
mov eax, dword [esp + 0x14]
and eax, 0x400
cmp ecx, eax
sbb edx, edx
neg edx
mov dword [edi + 0x45c], edx
mov eax, dword [esp + 0x14]
and al, 1
xor cl, cl
cmp cl, al
sbb edx, edx
neg edx
mov dword [edi + 0x460], edx
mov edi, dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x20]
push edx
push esi
push str.EnlishSymbol
push ebp
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], ebx
call edi
cmp dword [esp + 0x18], ebx
jne 0x407ece
cmp eax, esi
jne 0x407ece
mov eax, dword [esp + 0x14]
mov ecx, dword [0x678ec4]
mov dword [ecx + 0x430], eax
jmp 0x407ef5
mov eax, dword [0x678ec4]
cmp dword [eax + 0x424], esi
je 0x407eef
cmp dword [eax + 0x42c], esi
jne 0x407eef
mov dword [eax + 0x430], 1
jmp 0x407ef5
mov dword [eax + 0x430], esi
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x20]
push ecx
push esi
push str.ColorSat
push ebp
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], ebx
call edi
cmp dword [esp + 0x18], ebx
jne 0x407f2e
cmp eax, esi
jne 0x407f2e
mov edx, dword [esp + 0x14]
mov eax, dword [0x678ec4]
mov dword [eax + 0x910], edx
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x18]
push edx
lea eax, [esp + 0x20]
push eax
push esi
push str.ColorHue
push ebp
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], ebx
call edi
cmp dword [esp + 0x18], ebx
jne 0x407f68
cmp eax, esi
jne 0x407f68
mov ecx, dword [esp + 0x14]
mov edx, dword [0x678ec4]
mov dword [edx + 0x90c], ecx
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x20]
push edx
push esi
push str.ColorLight
push ebp
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], ebx
call edi
cmp dword [esp + 0x18], ebx
jne 0x407fa2
cmp eax, esi
jne 0x407fa2
mov eax, dword [esp + 0x14]
mov ecx, dword [0x678ec4]
mov dword [ecx + 0x914], eax
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x20]
push ecx
push esi
push str.FuzzySet
push ebp
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], ebx
call edi
cmp dword [esp + 0x18], ebx
jne 0x407fdb
cmp eax, esi
jne 0x407fdb
mov edx, dword [esp + 0x14]
mov eax, dword [0x678ec4]
mov dword [eax + 0x454], edx
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x18]
push edx
lea eax, [esp + 0x20]
push eax
push esi
push str.AutocheckSet
push ebp
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], ebx
call edi
cmp dword [esp + 0x18], ebx
jne 0x408015
cmp eax, esi
jne 0x408015
mov ecx, dword [esp + 0x14]
mov edx, dword [0x678ec4]
mov dword [edx + 0x984], ecx
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x20]
push edx
push esi
push str.KeySet
push ebp
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], ebx
call edi
cmp dword [esp + 0x18], ebx
jne 0x4080f8
cmp eax, esi
jne 0x4080f8
mov eax, dword [esp + 0x14]
xor cl, cl
and al, 1
cmp cl, al
sbb edx, edx
mov eax, dword [0x678ec4]
neg edx
mov dword [eax + 0x884], edx
mov ecx, dword [esp + 0x14]
and cl, 2
xor dl, dl
cmp dl, cl
sbb ecx, ecx
neg ecx
mov dword [eax + 0x888], ecx
mov edx, dword [esp + 0x14]
and dl, bl
xor cl, cl
cmp cl, dl
sbb edx, edx
neg edx
mov dword [eax + 0x88c], edx
mov ecx, dword [esp + 0x14]
and cl, 8
xor dl, dl
cmp dl, cl
sbb ecx, ecx
neg ecx
mov dword [eax + 0x890], ecx
mov edx, dword [esp + 0x14]
and dl, 0x20
xor cl, cl
cmp cl, dl
sbb edx, edx
neg edx
mov dword [eax + 0x898], edx
mov ecx, dword [esp + 0x14]
and cl, 0x40
xor dl, dl
cmp dl, cl
sbb ecx, ecx
neg ecx
mov dword [eax + 0x89c], ecx
mov edx, dword [esp + 0x14]
and edx, 0x80
xor ecx, ecx
cmp ecx, edx
sbb edx, edx
neg edx
mov dword [eax + 0x8a0], edx
mov ecx, dword [esp + 0x14]
and ecx, 0x100
xor edx, edx
cmp edx, ecx
sbb ecx, ecx
neg ecx
mov dword [eax + 0x8a4], ecx
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x20]
push ecx
push esi
push str.TwoThreeCand
push ebp
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], ebx
call edi
cmp dword [esp + 0x18], ebx
jne 0x408131
cmp eax, esi
jne 0x408131
mov edx, dword [esp + 0x14]
mov eax, dword [0x678ec4]
mov dword [eax + 0x894], edx
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x18]
push edx
lea eax, [esp + 0x20]
push eax
push esi
push str.ChangeLanguage
push ebp
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], ebx
call edi
cmp dword [esp + 0x18], ebx
jne 0x40816b
cmp eax, esi
jne 0x40816b
mov ecx, dword [esp + 0x14]
mov edx, dword [0x678ec4]
mov dword [edx + 0x880], ecx
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x20]
push edx
push esi
push str.EnableCellDict
push ebp
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], ebx
call edi
cmp dword [esp + 0x18], ebx
jne 0x4081a5
cmp eax, esi
jne 0x4081a5
mov eax, dword [esp + 0x14]
mov ecx, dword [0x678ec4]
mov dword [ecx + 0x920], eax
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x20]
push ecx
push esi
push str.EnableCellDictUpdate
push ebp
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], ebx
call edi
cmp dword [esp + 0x18], ebx
jne 0x4081de
cmp eax, esi
jne 0x4081de
mov edx, dword [esp + 0x14]
mov eax, dword [0x678ec4]
mov dword [eax + 0x924], edx
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x18]
push edx
lea eax, [esp + 0x20]
push eax
push esi
push str.EnableCloud
push ebp
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], ebx
call edi
cmp dword [esp + 0x18], ebx
jne 0x408218
cmp eax, esi
jne 0x408218
mov ecx, dword [esp + 0x14]
mov edx, dword [0x678ec4]
mov dword [edx + 0x99c], ecx
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x20]
push edx
push esi
push str.EnableCloudAddonPos
push ebp
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], ebx
call edi
cmp dword [esp + 0x18], ebx
jne 0x408252
cmp eax, esi
jne 0x408252
mov eax, dword [esp + 0x14]
mov ecx, dword [0x678ec4]
mov dword [ecx + 0xd1c], eax
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x20]
push ecx
push esi
push str.AdvanceSet
push ebp
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], ebx
call edi
cmp dword [esp + 0x18], ebx
jne 0x408344
cmp eax, esi
jne 0x408344
mov edx, dword [esp + 0x14]
mov edi, dword [0x678ec4]
and edx, 0x200
xor eax, eax
cmp eax, edx
sbb ecx, ecx
neg ecx
mov dword [edi + 0x98c], ecx
mov edx, dword [esp + 0x14]
and dl, 1
xor al, al
cmp al, dl
sbb ecx, ecx
neg ecx
mov dword [edi + 0x990], ecx
mov edx, dword [esp + 0x14]
and dl, 8
cmp al, dl
sbb ecx, ecx
neg ecx
mov dword [edi + 0x95c], ecx
mov dword [edi + 0x918], esi
mov edx, dword [esp + 0x14]
and dl, 0x40
cmp al, dl
sbb ecx, ecx
neg ecx
mov dword [edi + 0x438], ecx
mov edx, dword [esp + 0x14]
and edx, 0x80
xor eax, eax
cmp eax, edx
sbb ecx, ecx
neg ecx
mov dword [edi + 0x43c], ecx
mov edx, dword [esp + 0x14]
and edx, 0x100
cmp eax, edx
sbb ecx, ecx
neg ecx
mov dword [edi + 0x8ec], ecx
mov edx, dword [esp + 0x14]
and dl, 0x20
xor al, al
cmp al, dl
sbb ecx, ecx
neg ecx
mov dword [edi + 0x964], ecx
mov edx, dword [esp + 0x14]
and edx, 0x400
xor eax, eax
cmp eax, edx
sbb ecx, ecx
neg ecx
mov dword [edi + 0x960], ecx
mov edi, dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x20]
push ecx
push esi
push str.ABCStrokeMod
push ebp
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], ebx
call edi
cmp dword [esp + 0x18], ebx
jne 0x40837d
cmp eax, esi
jne 0x40837d
mov edx, dword [esp + 0x14]
mov eax, dword [0x678ec4]
mov dword [eax + 0x440], edx
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x18]
push edx
lea eax, [esp + 0x20]
push eax
push esi
push str.StatusBarKey
push ebp
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], ebx
call edi
cmp dword [esp + 0x18], ebx
jne 0x4083b9
cmp eax, esi
jne 0x4083b9
mov cx, word [esp + 0x14]
mov edx, dword [0x678ec4]
mov word [edx + 0x8ac], cx
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x20]
push edx
push esi
push str.SoftBoardKey
push ebp
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], ebx
call edi
cmp dword [esp + 0x18], ebx
jne 0x4083f5
cmp eax, esi
jne 0x4083f5
mov ax, word [esp + 0x14]
mov ecx, dword [0x678ec4]
mov word [ecx + 0x8b2], ax
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x20]
push ecx
push esi
push str.BIG5Key
push ebp
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], ebx
call edi
cmp dword [esp + 0x18], ebx
jne 0x408430
cmp eax, esi
jne 0x408430
mov dx, word [esp + 0x14]
mov eax, dword [0x678ec4]
mov word [eax + 0x8ae], dx
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x18]
push edx
lea eax, [esp + 0x20]
push eax
push esi
push str.QuanShuang
push ebp
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], ebx
call edi
cmp dword [esp + 0x18], ebx
jne 0x40846c
cmp eax, esi
jne 0x40846c
mov cx, word [esp + 0x14]
mov edx, dword [0x678ec4]
mov word [edx + 0x8b0], cx
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x20]
push edx
push esi
push str.EngKey
push ebp
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], ebx
call edi
cmp dword [esp + 0x18], ebx
jne 0x4084a8
cmp eax, esi
jne 0x4084a8
mov ax, word [esp + 0x14]
mov ecx, dword [0x678ec4]
mov word [ecx + 0x8b4], ax
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x20]
push ecx
push esi
push str.ConfigKey
push ebp
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], ebx
call edi
cmp dword [esp + 0x18], ebx
jne 0x4084e3
cmp eax, esi
jne 0x4084e3
mov dx, word [esp + 0x14]
mov eax, dword [0x678ec4]
mov word [eax + 0x8b6], dx
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x18]
push edx
lea eax, [esp + 0x20]
push eax
push esi
push str.CameraKey
push ebp
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], ebx
call edi
cmp dword [esp + 0x18], ebx
jne 0x40851d
cmp eax, esi
jne 0x40851d
mov ecx, dword [esp + 0x14]
mov edx, dword [0x678ec4]
mov dword [edx + 0x8b8], ecx
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x20]
push edx
push esi
push str.MakeWordKey
push ebp
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], ebx
call edi
cmp dword [esp + 0x18], ebx
jne 0x408557
cmp eax, esi
jne 0x408557
mov eax, dword [esp + 0x14]
mov ecx, dword [0x678ec4]
mov dword [ecx + 0x8bc], eax
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x20]
push ecx
push esi
push str.StatusPosX
push ebp
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], ebx
call edi
cmp dword [esp + 0x18], ebx
jne 0x408590
cmp eax, esi
jne 0x408590
mov edx, dword [esp + 0x14]
mov eax, dword [0x678ec4]
mov dword [eax + 0x8f4], edx
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x18]
push edx
lea eax, [esp + 0x20]
push eax
push esi
push str.StatusPosY
push ebp
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], ebx
call edi
cmp dword [esp + 0x18], ebx
jne 0x4085ca
cmp eax, esi
jne 0x4085ca
mov ecx, dword [esp + 0x14]
mov edx, dword [0x678ec4]
mov dword [edx + 0x8f8], ecx
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x20]
push edx
push esi
push str.CompPositionXY
push ebp
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], ebx
call edi
cmp dword [esp + 0x18], ebx
jne 0x408611
cmp eax, esi
jne 0x408611
mov ecx, dword [esp + 0x14]
mov eax, dword [0x678ec4]
shr ecx, 0x10
mov dword [eax + 0x8fc], ecx
movzx edx, word [esp + 0x14]
mov dword [eax + 0x900], edx
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x20]
push edx
push esi
push str.NetSet
push ebp
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], ebx
call edi
cmp dword [esp + 0x18], ebx
jne 0x40864b
cmp eax, esi
jne 0x40864b
mov eax, dword [esp + 0x14]
mov ecx, dword [0x678ec4]
mov dword [ecx + 0x958], eax
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x20]
push ecx
push esi
push str.CandNum
push ebp
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], ebx
call edi
cmp dword [esp + 0x18], ebx
jne 0x4086b2
cmp eax, esi
jne 0x4086b2
mov eax, dword [esp + 0x14]
cmp eax, esi
jbe 0x4086b2
lea edx, [eax - 2]
cmp edx, 7
ja 0x408693
mov ecx, dword [0x678ec4]
mov dword [ecx + 0x444], eax
jmp 0x4086b2
mov edx, dword [0x678ec4]
mov eax, 5
mov dword [edx + 0x444], eax
push ebp
mov edx, str.CandNum
call fcn.00479fe0
add esp, 4
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x20]
push edx
push esi
push str.LimitUserWord
push ebp
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], ebx
call edi
cmp dword [esp + 0x18], ebx
jne 0x4086ec
cmp eax, esi
jne 0x4086ec
mov eax, dword [esp + 0x14]
mov ecx, dword [0x678ec4]
mov dword [ecx + 0x468], eax
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x20]
push ecx
push esi
push str.MaxUserWordNum
push ebp
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], ebx
call edi
cmp dword [esp + 0x18], ebx
jne 0x408770
cmp eax, esi
jne 0x408770
mov eax, dword [esp + 0x14]
cmp eax, esi
jbe 0x408770
cmp eax, 1
jb 0x408736
cmp eax, 0x14
ja 0x40873b
mov edx, dword [0x678ec4]
mov dword [edx + 0x46c], eax
jmp 0x408770
cmp eax, 0x14
jbe 0x408751
mov eax, dword [0x678ec4]
mov dword [eax + 0x46c], 0x14
mov eax, 0x14
jmp 0x408762
mov ecx, dword [0x678ec4]
mov eax, 1
mov dword [ecx + 0x46c], eax
push ebp
mov edx, str.MaxUserWordNum
call fcn.00479fe0
add esp, 4
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x20]
push ecx
push esi
push str.UpdateIME2
push ebp
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], ebx
call edi
cmp dword [esp + 0x18], ebx
jne 0x4087c2
cmp eax, esi
jne 0x4087c2
mov eax, dword [esp + 0x14]
cmp eax, 1
mov edx, dword [0x678ec4]
jne 0x4087b1
mov dword [edx + 0x92c], eax
jmp 0x4087c2
xor ecx, ecx
cmp eax, 2
setne cl
add ecx, 2
mov dword [edx + 0x92c], ecx
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x20]
push edx
push esi
push str.UpdateDict
push ebp
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], ebx
call edi
cmp dword [esp + 0x18], ebx
jne 0x408805
cmp eax, esi
jne 0x408805
mov ecx, dword [0x678ec4]
xor eax, eax
cmp dword [esp + 0x14], 1
setne al
add eax, 1
mov dword [ecx + 0x930], eax
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x20]
push ecx
push esi
push str.SpaceConvert
push ebp
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], ebx
call edi
cmp dword [esp + 0x18], ebx
jne 0x40883e
cmp eax, esi
jne 0x40883e
mov edx, dword [esp + 0x14]
mov eax, dword [0x678ec4]
mov dword [eax + 0x438], edx
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x18]
push edx
lea eax, [esp + 0x20]
push eax
push esi
push str.LetterSelect
push ebp
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], ebx
call edi
cmp dword [esp + 0x18], ebx
jne 0x408878
cmp eax, esi
jne 0x408878
mov ecx, dword [esp + 0x14]
mov edx, dword [0x678ec4]
mov dword [edx + 0x43c], ecx
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x20]
push edx
push esi
push str.InputStyle
push ebp
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], ebx
call edi
cmp dword [esp + 0x18], ebx
jne 0x4088b2
cmp eax, esi
jne 0x4088b2
mov eax, dword [esp + 0x14]
mov ecx, dword [0x678ec4]
mov dword [ecx + 0x434], eax
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x20]
push ecx
push esi
push str.CandWndVertical
push ebp
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], ebx
call edi
cmp dword [esp + 0x18], ebx
jne 0x4088eb
cmp eax, esi
jne 0x4088eb
mov edx, dword [esp + 0x14]
mov eax, dword [0x678ec4]
mov dword [eax + 0x8ec], edx
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x18]
push edx
lea eax, [esp + 0x20]
push eax
push esi
push str.CandHRelate
push ebp
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], ebx
call edi
cmp dword [esp + 0x18], ebx
jne 0x408925
cmp eax, esi
jne 0x408925
mov ecx, dword [esp + 0x14]
mov edx, dword [0x678ec4]
mov dword [edx + 0x8f0], ecx
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x20]
push edx
push esi
push str.UISet
push ebp
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], ebx
call edi
cmp dword [esp + 0x18], ebx
jne 0x4089a6
cmp eax, esi
jne 0x4089a6
mov eax, dword [esp + 0x14]
xor cl, cl
and al, 1
cmp cl, al
mov eax, dword [0x678ec4]
sbb edx, edx
neg edx
mov dword [eax + 0x8e4], edx
mov ecx, dword [esp + 0x14]
and cl, 2
xor dl, dl
cmp dl, cl
sbb ecx, ecx
neg ecx
mov dword [eax + 0x8d8], ecx
mov edx, dword [esp + 0x14]
and dl, bl
xor cl, cl
cmp cl, dl
sbb edx, edx
neg edx
mov dword [eax + 0x8dc], edx
mov ecx, dword [esp + 0x14]
and cl, 8
xor dl, dl
cmp dl, cl
sbb ecx, ecx
neg ecx
mov dword [eax + 0x8e0], ecx
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x20]
push ecx
push esi
push str.WordImage
push ebp
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], ebx
call edi
cmp dword [esp + 0x18], ebx
jne 0x4089df
cmp eax, esi
jne 0x4089df
mov edx, dword [esp + 0x14]
mov eax, dword [0x678ec4]
mov dword [eax + 0x968], edx
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x18]
push edx
lea eax, [esp + 0x20]
push eax
push esi
push str.ImaginationLocation
push ebp
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], ebx
call edi
cmp dword [esp + 0x18], ebx
jne 0x408a19
cmp eax, esi
jne 0x408a19
mov ecx, dword [esp + 0x14]
mov edx, dword [0x678ec4]
mov dword [edx + 0x96c], ecx
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x20]
push edx
push esi
push str.ImaginationLength
push ebp
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], ebx
call edi
cmp dword [esp + 0x18], ebx
jne 0x408a53
cmp eax, esi
jne 0x408a53
mov eax, dword [esp + 0x14]
mov ecx, dword [0x678ec4]
mov dword [ecx + 0x970], eax
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x20]
push ecx
push esi
push str.ImaginationNumber
push ebp
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], ebx
call edi
cmp dword [esp + 0x18], ebx
jne 0x408a8c
cmp eax, esi
jne 0x408a8c
mov edx, dword [esp + 0x14]
mov eax, dword [0x678ec4]
mov dword [eax + 0x974], edx
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x18]
push edx
lea eax, [esp + 0x20]
push eax
push esi
push str.EnablePhrase
push ebp
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], ebx
call edi
cmp dword [esp + 0x18], ebx
jne 0x408ac6
cmp eax, esi
jne 0x408ac6
mov ecx, dword [esp + 0x14]
mov edx, dword [0x678ec4]
mov dword [edx + 0x978], ecx
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x20]
push edx
push esi
push str.NotSingleNumber
push ebp
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], ebx
call edi
cmp dword [esp + 0x18], ebx
jne 0x408b00
cmp eax, esi
jne 0x408b00
mov eax, dword [esp + 0x14]
mov ecx, dword [0x678ec4]
mov dword [ecx + 0x97c], eax
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x20]
push ecx
push esi
push str.Seperator
push ebp
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], ebx
call edi
cmp dword [esp + 0x18], ebx
jne 0x408b3b
cmp eax, esi
jne 0x408b3b
mov dx, word [esp + 0x14]
mov eax, dword [0x678ec4]
mov word [eax + 0x988], dx
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x18]
push edx
lea eax, [esp + 0x20]
push eax
push esi
push str.UserWordDeleteShortCut
push ebp
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], ebx
call edi
cmp dword [esp + 0x18], ebx
jne 0x408b75
cmp eax, esi
jne 0x408b75
mov ecx, dword [esp + 0x14]
mov edx, dword [0x678ec4]
mov dword [edx + 0x8a8], ecx
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x20]
push edx
push esi
push str.GlobalState
push ebp
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], ebx
call edi
cmp dword [esp + 0x18], ebx
jne 0x408baf
cmp eax, esi
jne 0x408baf
mov eax, dword [esp + 0x14]
mov ecx, dword [0x678ec4]
mov dword [ecx + 0x994], eax
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x20]
push ecx
push esi
push str.EnablePreferredWord
push ebp
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], ebx
call edi
cmp dword [esp + 0x18], ebx
jne 0x408be8
cmp eax, esi
jne 0x408be8
mov edx, dword [esp + 0x14]
mov eax, dword [0x678ec4]
mov dword [eax + 0x9f0], edx
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x18]
push edx
lea eax, [esp + 0x20]
push eax
push esi
push str.SyncInterval
push ebp
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], ebx
call edi
cmp dword [esp + 0x18], ebx
jne 0x408c22
cmp eax, esi
jne 0x408c22
mov ecx, dword [esp + 0x14]
mov edx, dword [0x678ec4]
mov dword [edx + 0x940], ecx
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x20]
push edx
push esi
push str.ImeSyncTime
push ebp
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], ebx
call edi
cmp dword [esp + 0x18], ebx
jne 0x408c5c
cmp eax, esi
jne 0x408c5c
mov eax, dword [esp + 0x14]
mov ecx, dword [0x678ec4]
mov dword [ecx + 0x93c], eax
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x20]
push ecx
push esi
push str.NumpadSelect
push ebp
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], ebx
call edi
cmp dword [esp + 0x18], ebx
jne 0x408c95
cmp eax, esi
jne 0x408c95
mov edx, dword [esp + 0x14]
mov eax, dword [0x678ec4]
mov dword [eax + 0x8d0], edx
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x18]
push edx
lea eax, [esp + 0x20]
push eax
push esi
push str.NumKeySelect
push ebp
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], ebx
call edi
cmp dword [esp + 0x18], ebx
jne 0x408ccf
cmp eax, esi
jne 0x408ccf
mov ecx, dword [esp + 0x14]
mov edx, dword [0x678ec4]
mov dword [edx + 0x8d4], ecx
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x20]
push edx
push esi
push str.SwithUserStyle
push ebp
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], ebx
call edi
cmp dword [esp + 0x18], ebx
jne 0x408d0b
cmp eax, esi
jne 0x408d0b
mov eax, dword [esp + 0x14]
mov ecx, dword [0x678ec4]
mov dword [ecx + 0x928], eax
jmp 0x408d36
push ebx
lea edx, [esp + 0x1c]
push edx
push ebx
push esi
push str.SwithUserStyle
push ebp
mov dword [esp + 0x30], 1
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov eax, dword [0x678ec4]
mov dword [eax + 0x928], 1
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x18]
push edx
lea eax, [esp + 0x20]
push eax
push esi
push str.Lookup2
push ebp
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], ebx
call edi
cmp dword [esp + 0x18], ebx
jne 0x408d70
cmp eax, esi
jne 0x408d70
mov ecx, dword [esp + 0x14]
mov edx, dword [0x678ec4]
mov dword [edx + 0x9a0], ecx
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x20]
push edx
push esi
push str.EnableHotKey
push ebp
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], ebx
call edi
cmp dword [esp + 0x18], ebx
jne 0x408daa
cmp eax, esi
jne 0x408daa
mov eax, dword [esp + 0x14]
mov ecx, dword [0x678ec4]
mov dword [ecx + 0x8c4], eax
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x20]
push ecx
push esi
push str.Modifier
push ebp
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], ebx
call edi
cmp dword [esp + 0x18], ebx
jne 0x408de3
cmp eax, esi
jne 0x408de3
mov edx, dword [esp + 0x14]
mov eax, dword [0x678ec4]
mov dword [eax + 0x8c8], edx
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x18]
push edx
lea eax, [esp + 0x20]
push eax
push esi
push str.VirtualKey
push ebp
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], ebx
call edi
cmp dword [esp + 0x18], ebx
jne 0x408e1d
cmp eax, esi
jne 0x408e1d
mov ecx, dword [esp + 0x14]
mov edx, dword [0x678ec4]
mov dword [edx + 0x8cc], ecx
push str.ContextImagine
push ebp
lea ecx, [esp + 0x1c]
call fcn.00479d30
add esp, 8
test eax, eax
je 0x408e43
mov eax, dword [esp + 0x14]
mov ecx, dword [0x678ec4]
mov dword [ecx + 0x950], eax
push str.FixOrder
push ebp
lea ecx, [esp + 0x1c]
call fcn.00479d30
add esp, 8
test eax, eax
je 0x408e68
mov edx, dword [esp + 0x14]
mov eax, dword [0x678ec4]
mov dword [eax + 0x464], edx
push 0x20a
lea ecx, [esp + 0x49a]
push esi
push ecx
mov word [esp + 0x4a0], si
call fcn.005da970
push ebp
lea ebx, [esp + 0x4a4]
mov ecx, str.FixOrderFileName
call fcn.00479360
add esp, 0x10
mov ecx, 0x6244e0
mov eax, ebx
nop
mov dx, word [eax]
xor ebx, ebx
cmp dx, word [ecx]
jne 0x408ec8
cmp dx, bx
je 0x408ec4
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x408ec8
add eax, 4
add ecx, 4
cmp dx, bx
jne 0x408ea0
xor eax, eax
jmp 0x408ecd
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x408fef
lea edx, [esp + 0x1c]
push edx
lea ecx, [esp + 0x498]
call fcn.00409dd0
mov byte [esp + 0xac4], 4
mov eax, dword [esp + 0x1c]
cmp dword [eax - 0xc], ebx
jle 0x408fbf
push 0x20
push eax
call fcn.005d33c4
add esp, 8
cmp eax, ebx
je 0x408fbf
sub eax, dword [esp + 0x1c]
sar eax, 1
mov esi, eax
cmp esi, 0xffffffff
je 0x408fbf
mov eax, dword [0x678ec4]
push 0x208
add eax, 0x470
push ebx
push eax
call fcn.005da970
add esp, 0xc
lea ecx, [esp + 0x1c]
push ecx
mov eax, esi
xor ecx, ecx
lea edx, [esp + 0x1c]
call fcn.00409f60
mov eax, dword [eax]
mov edx, dword [0x678ec4]
push 0x103
push eax
add edx, 0x470
push edx
call fcn.005d31ba
add esp, 0xc
lea ecx, [esp + 0x18]
call fcn.00403870
mov eax, dword [0x678ec4]
push 0x208
add eax, 0x678
push ebx
push eax
call fcn.005da970
lea ecx, [esi + 1]
add esp, 0xc
lea esi, [esp + 0x18]
lea edx, [esp + 0x1c]
call fcn.00409f40
mov ecx, dword [esp + 0x18]
mov edx, dword [0x678ec4]
push 0x103
push ecx
add edx, 0x678
push edx
call fcn.005d31ba
add esp, 0xc
mov ecx, esi
call fcn.00403870
mov byte [esp + 0xac4], bl
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 0x4091b8
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
jmp 0x4091b8
push 0x20a
lea ecx, [esp + 0x28e]
push ebx
push ecx
mov word [esp + 0x294], bx
call fcn.005da970
push ebp
lea ebx, [esp + 0x298]
mov ecx, str.FixOrderFile
call fcn.00479360
add esp, 0x10
mov ecx, 0x6244e0
mov eax, ebx
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x40904c
test dx, dx
je 0x409048
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x40904c
add eax, 4
add ecx, 4
test dx, dx
jne 0x409026
xor eax, eax
jmp 0x409051
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x4091b6
lea edx, [esp + 0x18]
push edx
lea ecx, [esp + 0x28c]
call fcn.00409dd0
mov byte [esp + 0xac4], 5
mov eax, dword [esp + 0x18]
cmp dword [eax - 0xc], 0
jle 0x4091a5
push 0x20
push eax
call fcn.005d33c4
add esp, 8
test eax, eax
je 0x4091a5
sub eax, dword [esp + 0x18]
sar eax, 1
mov esi, eax
cmp esi, 0xffffffff
je 0x4091a5
mov eax, dword [0x678ec4]
push 0x208
add eax, 0x470
push 0
push eax
call fcn.005da970
add esp, 0xc
lea ecx, [esp + 0x18]
push ecx
mov eax, esi
xor ecx, ecx
lea edx, [esp + 0x20]
call fcn.00409f60
mov eax, dword [eax]
mov edx, dword [0x678ec4]
push 0x103
push eax
add edx, 0x470
push edx
call fcn.005d31ba
add esp, 0xc
lea ecx, [esp + 0x1c]
call fcn.00403870
mov eax, dword [0x678ec4]
push 0x208
add eax, 0x678
push 0
push eax
call fcn.005da970
lea ecx, [esi + 1]
add esp, 0xc
lea esi, [esp + 0x1c]
lea edx, [esp + 0x18]
call fcn.00409f40
mov byte [esp + 0xac4], 6
mov esi, dword [esp + 0x1c]
cmp dword [esi - 0xc], 0
jl 0x409181
push str.abcorder
push esi
call fcn.005d2e73
add esp, 8
test eax, eax
je 0x409151
sub eax, esi
sar eax, 1
jne 0x409151
mov edx, str.fixorder_abc.dat
jmp 0x409174
cmp dword [esi - 0xc], 0
jl 0x409181
push str.defaultorder
push esi
call fcn.005d2e73
add esp, 8
test eax, eax
je 0x409181
sub eax, esi
sar eax, 1
jne 0x409181
mov edx, str.fixorder_default.dat
lea edi, [esp + 0x1c]
call fcn.00403760
mov esi, dword [esp + 0x1c]
mov ecx, dword [0x678ec4]
push 0x103
add ecx, 0x678
push esi
push ecx
call fcn.005d31ba
add esp, 0xc
lea ecx, [esp + 0x1c]
call fcn.00403870
lea ecx, [esp + 0x18]
mov byte [esp + 0xac4], 0
call fcn.00403870
xor ebx, ebx
push str.AutoSynch
push ebp
lea ecx, [esp + 0x1c]
call fcn.00479d30
add esp, 8
test eax, eax
je 0x4091dd
mov edx, dword [esp + 0x14]
mov eax, dword [0x678ec4]
mov dword [eax + 0x8c0], edx
push str.AutoSyncCfgSet
push ebp
lea ecx, [esp + 0x1c]
call fcn.00479d30
add esp, 8
test eax, eax
je 0x409203
mov ecx, dword [esp + 0x14]
mov edx, dword [0x678ec4]
mov dword [edx + 0x948], ecx
push str.FuzzyTips
push ebp
lea ecx, [esp + 0x1c]
call fcn.00479d30
add esp, 8
test eax, eax
je 0x409229
mov eax, dword [esp + 0x14]
mov ecx, dword [0x678ec4]
mov dword [ecx + 0x450], eax
push str.NoticeTipsWnd
push ebp
lea ecx, [esp + 0x1c]
call fcn.00479d30
add esp, 8
test eax, eax
je 0x40924e
mov edx, dword [esp + 0x14]
mov eax, dword [0x678ec4]
mov dword [eax + 0x8e8], edx
push str.EnglishMixMode
push ebp
lea ecx, [esp + 0x1c]
call fcn.00479d30
add esp, 8
test eax, eax
je 0x409274
mov ecx, dword [esp + 0x14]
mov edx, dword [0x678ec4]
mov dword [edx + 0x9f4], ecx
push str.EnglishCapsMode
push ebp
lea ecx, [esp + 0x1c]
call fcn.00479d30
add esp, 8
test eax, eax
je 0x40929a
mov eax, dword [esp + 0x14]
mov ecx, dword [0x678ec4]
mov dword [ecx + 0x9f8], eax
push str.EnglishVMode
push ebp
lea ecx, [esp + 0x1c]
call fcn.00479d30
add esp, 8
test eax, eax
je 0x4092bf
mov edx, dword [esp + 0x14]
mov eax, dword [0x678ec4]
mov dword [eax + 0x9fc], edx
push str.EnglishAutoSpaceMode
push ebp
lea ecx, [esp + 0x1c]
call fcn.00479d30
add esp, 8
test eax, eax
je 0x4092e5
mov ecx, dword [esp + 0x14]
mov edx, dword [0x678ec4]
mov dword [edx + 0xa00], ecx
push str.EnablePicFace
push ebp
lea ecx, [esp + 0x1c]
call fcn.00479d30
mov ecx, dword [0x678ec4]
add esp, 8
test eax, eax
je 0x40930d
mov eax, dword [esp + 0x14]
mov dword [ecx + 0xc18], eax
jmp 0x40932e
mov eax, dword [ecx + 0x434]
cmp eax, 1
je 0x409324
cmp eax, ebx
je 0x409324
mov dword [ecx + 0xc18], ebx
jmp 0x40932e
mov dword [ecx + 0xc18], 1
push str.EnableAllPicFaceInCmpWnd
push ebp
lea ecx, [esp + 0x1c]
call fcn.00479d30
add esp, 8
test eax, eax
je 0x409353
mov edx, dword [esp + 0x14]
mov eax, dword [0x678ec4]
mov dword [eax + 0xc1c], edx
push str.EnableCharFace
push ebp
lea ecx, [esp + 0x1c]
call fcn.00479d30
add esp, 8
test eax, eax
je 0x40937b
mov ecx, dword [esp + 0x14]
mov edx, dword [0x678ec4]
mov dword [edx + 0xc20], ecx
jmp 0x4093a2
mov ecx, dword [0x678ec4]
mov eax, dword [ecx + 0x434]
cmp eax, 1
je 0x409398
cmp eax, ebx
je 0x409398
mov dword [ecx + 0xc20], ebx
jmp 0x4093a2
mov dword [ecx + 0xc20], 1
push str.EnbaleAllCharFaceInCmpWnd
push ebp
lea ecx, [esp + 0x1c]
call fcn.00479d30
add esp, 8
test eax, eax
je 0x4093c8
mov eax, dword [esp + 0x14]
mov ecx, dword [0x678ec4]
mov dword [ecx + 0xc24], eax
push str.PicFaceEnableAllProc
push ebp
lea ecx, [esp + 0x1c]
call fcn.00479d30
add esp, 8
test eax, eax
je 0x4093ed
mov edx, dword [esp + 0x14]
mov eax, dword [0x678ec4]
mov dword [eax + 0xc30], edx
push str.SupportUrlGuide
push ebp
lea ecx, [esp + 0x1c]
call fcn.00479d30
add esp, 8
test eax, eax
je 0x409413
mov ecx, dword [esp + 0x14]
mov edx, dword [0x678ec4]
mov dword [edx + 0x9a4], ecx
push str.SupportSplitWord
push ebp
lea ecx, [esp + 0x1c]
call fcn.00479d30
add esp, 8
test eax, eax
je 0x409439
mov eax, dword [esp + 0x14]
mov ecx, dword [0x678ec4]
mov dword [ecx + 0x9a8], eax
push str.SupportNameStyle
push ebp
lea ecx, [esp + 0x1c]
call fcn.00479d30
add esp, 8
test eax, eax
je 0x40945e
mov edx, dword [esp + 0x14]
mov eax, dword [0x678ec4]
mov dword [eax + 0x9ac], edx
push str.ShowJianFanTipTimes
push ebp
lea ecx, [esp + 0x1c]
call fcn.00479d30
add esp, 8
test eax, eax
je 0x409484
mov ecx, dword [esp + 0x14]
mov edx, dword [0x678ec4]
mov dword [edx + 0xc38], ecx
push str.EnableNewWordUpDateTips
push ebp
lea ecx, [esp + 0x1c]
call fcn.00479d30
add esp, 8
test eax, eax
je 0x4094aa
mov eax, dword [esp + 0x14]
mov ecx, dword [0x678ec4]
mov dword [ecx + 0xc3c], eax
push str.SupportFixtopTips
push ebp
lea ecx, [esp + 0x1c]
call fcn.00479d30
add esp, 8
test eax, eax
je 0x4094cf
mov edx, dword [esp + 0x14]
mov eax, dword [0x678ec4]
mov dword [eax + 0xc40], edx
push str.EnableClipMonitor
push ebp
lea ecx, [esp + 0x1c]
call fcn.00479d30
add esp, 8
test eax, eax
je 0x4094f5
mov ecx, dword [esp + 0x14]
mov edx, dword [0x678ec4]
mov dword [edx + 0xc44], ecx
push str.EnableClipMonTips
push ebp
lea ecx, [esp + 0x1c]
call fcn.00479d30
add esp, 8
test eax, eax
je 0x40951b
mov eax, dword [esp + 0x14]
mov ecx, dword [0x678ec4]
mov dword [ecx + 0xc48], eax
push str.SaveClipMonXContent
push ebp
lea ecx, [esp + 0x1c]
call fcn.00479d30
add esp, 8
test eax, eax
je 0x409540
mov edx, dword [esp + 0x14]
mov eax, dword [0x678ec4]
mov dword [eax + 0xc4c], edx
push str.ClipMonOnlyCollectChar
push ebp
lea ecx, [esp + 0x1c]
call fcn.00479d30
add esp, 8
test eax, eax
je 0x409566
mov ecx, dword [esp + 0x14]
mov edx, dword [0x678ec4]
mov dword [edx + 0xc50], ecx
push str.EnableSupperJianpin
push ebp
lea ecx, [esp + 0x1c]
call fcn.00479d30
add esp, 8
test eax, eax
je 0x40958c
mov eax, dword [esp + 0x14]
mov ecx, dword [0x678ec4]
mov dword [ecx + 0xc54], eax
push str.Full2Half
push ebp
lea ecx, [esp + 0x1c]
call fcn.00479d30
add esp, 8
test eax, eax
je 0x4095b1
mov edx, dword [esp + 0x14]
mov eax, dword [0x678ec4]
mov dword [eax + 0x9b0], edx
push str.ToComment
push ebp
lea ecx, [esp + 0x1c]
call fcn.00479d30
add esp, 8
test eax, eax
je 0x4095d7
mov ecx, dword [esp + 0x14]
mov edx, dword [0x678ec4]
mov dword [edx + 0x9b4], ecx
push str.AutoCouplePunct
push ebp
lea ecx, [esp + 0x1c]
call fcn.00479d30
add esp, 8
test eax, eax
je 0x4095fd
mov eax, dword [esp + 0x14]
mov ecx, dword [0x678ec4]
mov dword [ecx + 0x9b8], eax
push str.ShowCoPunctBalloonTimes
push ebp
lea ecx, [esp + 0x1c]
call fcn.00479d30
add esp, 8
test eax, eax
je 0x409622
mov edx, dword [esp + 0x14]
mov eax, dword [0x678ec4]
mov dword [eax + 0x9bc], edx
push str.CloseMakeWordTool
push ebp
lea ecx, [esp + 0x1c]
call fcn.00479d30
add esp, 8
test eax, eax
je 0x409648
mov ecx, dword [esp + 0x14]
mov edx, dword [0x678ec4]
mov dword [edx + 0xc70], ecx
push str.OpenStatusTransparent
push ebp
lea ecx, [esp + 0x1c]
call fcn.00479d30
add esp, 8
test eax, eax
je 0x40966e
mov eax, dword [esp + 0x14]
mov ecx, dword [0x678ec4]
mov dword [ecx + 0xc74], eax
push str.StarIndex
push ebp
lea ecx, [esp + 0x1c]
call fcn.00479d30
add esp, 8
test eax, eax
je 0x409693
mov edx, dword [esp + 0x14]
mov eax, dword [0x678ec4]
mov dword [eax + 0xc78], edx
push str.EnableIState
push ebp
lea ecx, [esp + 0x1c]
call fcn.00479d30
add esp, 8
test eax, eax
je 0x4096b9
mov ecx, dword [esp + 0x14]
mov edx, dword [0x678ec4]
mov dword [edx + 0xd00], ecx
push 0x20a
lea eax, [esp + 0x6a6]
push ebx
push eax
mov word [esp + 0x6ac], bx
call fcn.005da970
push ebp
lea ebx, [esp + 0x6b0]
mov ecx, str.StarText
call fcn.00479360
add esp, 0x10
test eax, eax
je 0x409707
mov edx, dword [0x678ec4]
push 9
mov ecx, ebx
push ecx
add edx, 0xc7c
push edx
call fcn.005d31ba
add esp, 0xc
push str.BlogHotkey
push ebp
lea ecx, [esp + 0x1c]
call fcn.00479d30
add esp, 8
test eax, eax
je 0x40972d
mov eax, dword [esp + 0x14]
mov ecx, dword [0x678ec4]
mov dword [ecx + 0xcc4], eax
push str.BlogLockTime
push ebp
lea ecx, [esp + 0x1c]
call fcn.00479d30
add esp, 8
test eax, eax
je 0x409752
mov edx, dword [esp + 0x14]
mov eax, dword [0x678ec4]
mov dword [eax + 0xcc8], edx
push str.BlogAutoClose
push ebp
lea ecx, [esp + 0x1c]
call fcn.00479d30
add esp, 8
test eax, eax
je 0x409778
mov ecx, dword [esp + 0x14]
mov edx, dword [0x678ec4]
mov dword [edx + 0xccc], ecx
push str.HandInputHotkey
push ebp
lea ecx, [esp + 0x1c]
call fcn.00479d30
add esp, 8
test eax, eax
je 0x40979e
mov eax, dword [esp + 0x14]
mov ecx, dword [0x678ec4]
mov dword [ecx + 0xcd0], eax
push str.HandInputAlpha
push ebp
lea ecx, [esp + 0x1c]
call fcn.00479d30
add esp, 8
test eax, eax
je 0x4097c3
mov edx, dword [esp + 0x14]
mov eax, dword [0x678ec4]
mov dword [eax + 0xcd4], edx
push str.HandInputNumber
push ebp
lea ecx, [esp + 0x1c]
call fcn.00479d30
add esp, 8
test eax, eax
je 0x4097e9
mov ecx, dword [esp + 0x14]
mov edx, dword [0x678ec4]
mov dword [edx + 0xcd8], ecx
push str.HandInputAutoToScr
push ebp
lea ecx, [esp + 0x1c]
call fcn.00479d30
add esp, 8
test eax, eax
je 0x40980f
mov eax, dword [esp + 0x14]
mov ecx, dword [0x678ec4]
mov dword [ecx + 0xcdc], eax
push str.HandInputAutoUpdate
push ebp
lea ecx, [esp + 0x1c]
call fcn.00479d30
add esp, 8
test eax, eax
je 0x409834
mov edx, dword [esp + 0x14]
mov eax, dword [0x678ec4]
mov dword [eax + 0xce0], edx
push str.HandInputExpandPunct
push ebp
lea ecx, [esp + 0x1c]
call fcn.00479d30
add esp, 8
test eax, eax
je 0x40985a
mov ecx, dword [esp + 0x14]
mov edx, dword [0x678ec4]
mov dword [edx + 0xce4], ecx
push str.StrokerExpandPunct
push ebp
lea ecx, [esp + 0x1c]
call fcn.00479d30
add esp, 8
test eax, eax
je 0x409880
mov eax, dword [esp + 0x14]
mov ecx, dword [0x678ec4]
mov dword [ecx + 0xce8], eax
push str.EndUserDefinedCharaters
push ebp
lea ecx, [esp + 0x1c]
call fcn.00479d30
add esp, 8
test eax, eax
je 0x4098a5
mov edx, dword [esp + 0x14]
mov eax, dword [0x678ec4]
mov dword [eax + 0xcec], edx
push str.EnableDictAI
push ebp
lea ecx, [esp + 0x1c]
call fcn.00479d30
add esp, 8
test eax, eax
je 0x4098cf
cmp dword [esp + 0x14], 0
mov edx, dword [0x678ec4]
setne cl
mov byte [edx + 0xcfc], cl
push str.EudcTipTimes
push ebp
lea ecx, [esp + 0x1c]
call fcn.00479d30
add esp, 8
test eax, eax
je 0x4098f5
mov eax, dword [esp + 0x14]
mov ecx, dword [0x678ec4]
mov dword [ecx + 0xcf8], eax
push str.UpDownConfigModules
push ebp
lea ecx, [esp + 0x1c]
call fcn.00479d30
add esp, 8
test eax, eax
je 0x40991a
mov edx, dword [esp + 0x14]
mov eax, dword [0x678ec4]
mov dword [eax + 0xd04], edx
push str.SyncDictModules
push ebp
lea ecx, [esp + 0x1c]
call fcn.00479d30
add esp, 8
test eax, eax
je 0x409940
mov ecx, dword [esp + 0x14]
mov edx, dword [0x678ec4]
mov dword [edx + 0xd08], ecx
push str.ClearDictModules
push ebp
lea ecx, [esp + 0x1c]
call fcn.00479d30
add esp, 8
test eax, eax
je 0x409966
mov eax, dword [esp + 0x14]
mov ecx, dword [0x678ec4]
mov dword [ecx + 0xd0c], eax
push str.InitSimpleCharSet
push ebp
lea ecx, [esp + 0x1c]
call fcn.00479d30
add esp, 8
test eax, eax
mov eax, dword [0x678ec4]
je 0x40998b
mov ecx, dword [esp + 0xabc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0xaa4]
xor ecx, esp
call fcn.005d28b3
add esp, 0xab4
ret