Function at 0x4833e0
Capabilities:
Delete file
Enumerate files on windows
Get common file path
Set file attributes

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x57f5f9
mov eax, dword fs:[0]
push eax
mov eax, 0x1514
call fcn.00536300
mov eax, dword [0x5fb61c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
push 0x10
mov esi, ecx
xor ebx, ebx
push 1
mov ecx, 0x5ffb58
mov dword [ebp - 0x14ec], ebx
call fcn.00496ba0
mov eax, dword [esi + 0x54]
cmp eax, ebx
je 0x48343e
mov ecx, dword [esi + 0x28]
push ecx
push 0x10
push 1
call eax
add esp, 0xc
mov eax, dword [esi + 0x18]
cmp dword [eax - 0xc], ebx
je 0x483467
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x14e8], esp
mov edi, esp
push eax
call fcn.00421e00
add eax, 0x10
add esp, 4
mov ecx, esi
mov dword [edi], eax
call fcn.004790d0
push 0x10
push 2
mov ecx, 0x5ffb58
call fcn.00496ba0
mov eax, dword [esi + 0x54]
cmp eax, ebx
je 0x483489
mov edx, dword [esi + 0x28]
push edx
push 0x10
push 2
call eax
add esp, 0xc
mov eax, dword [esi + 0x18]
cmp dword [eax - 0xc], ebx
je 0x4834b2
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x14e8], esp
mov edi, esp
push eax
call fcn.00421e00
add eax, 0x10
add esp, 4
mov ecx, esi
mov dword [edi], eax
call fcn.00478a50
push 0x10
push 3
mov ecx, 0x5ffb58
call fcn.00496ba0
mov eax, dword [esi + 0x54]
cmp eax, ebx
je 0x4834d4
mov ecx, dword [esi + 0x28]
push ecx
push 0x10
push 3
call eax
add esp, 0xc
mov eax, dword [esi + 0x1c]
cmp dword [eax - 0xc], ebx
je 0x4834fd
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x14e8], esp
mov edi, esp
push eax
call fcn.00421e00
add eax, 0x10
add esp, 4
mov ecx, esi
mov dword [edi], eax
call fcn.00478e20
push 0x10
push 4
mov ecx, 0x5ffb58
call fcn.00496ba0
mov eax, dword [esi + 0x54]
cmp eax, ebx
je 0x48351f
mov edx, dword [esi + 0x28]
push edx
push 0x10
push 4
call eax
add esp, 0xc
mov ecx, esi
call fcn.004783a0
push 0x10
push 5
mov ecx, 0x5ffb58
call fcn.00496ba0
mov eax, dword [esi + 0x54]
cmp eax, ebx
je 0x483548
mov ecx, dword [esi + 0x28]
push ecx
push 0x10
push 5
call eax
add esp, 0xc
mov ecx, esi
call fcn.00477f90
push 0x10
push 6
mov ecx, 0x5ffb58
call fcn.00496ba0
mov eax, dword [esi + 0x54]
cmp eax, ebx
je 0x483571
mov edx, dword [esi + 0x28]
push edx
push 0x10
push 6
call eax
add esp, 0xc
push 0x206
lea ecx, [ebp - 0x82e]
xor eax, eax
push ebx
push ecx
mov word [ebp - 0x830], ax
call fcn.005336c0
mov eax, dword [esi + 0x10]
lea edx, [ebp - 0x830]
add esp, 0xc
sub edx, eax
lea ebx, [ebx]
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
cmp cx, bx
jne 0x4835a0
push str.office6cfgsoeminfo
lea edx, [ebp - 0x830]
push 0xffffffffffffffff
push edx
call fcn.00534500
mov edi, 1
push edi
lea eax, [ebp - 0x830]
push edi
push eax
call fcn.00470610
add esp, 0x18
test eax, eax
jne 0x4835e2
mov dword [ebp - 0x14ec], edi
push 0x10
push 7
mov ecx, 0x5ffb58
call fcn.00496ba0
mov eax, dword [esi + 0x54]
cmp eax, ebx
je 0x483604
mov ecx, dword [esi + 0x28]
push ecx
push 0x10
push 7
call eax
add esp, 0xc
push 0x206
lea eax, [ebp - 0xe46]
xor edx, edx
push ebx
push eax
mov word [ebp - 0xe48], dx
call fcn.005336c0
mov eax, dword [esi + 0x10]
lea edx, [ebp - 0xe48]
add esp, 0xc
sub edx, eax
lea ecx, [ecx]
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
cmp cx, bx
jne 0x483630
push 0x599f34
lea ecx, [ebp - 0xe48]
push 0xffffffffffffffff
push ecx
call fcn.00534500
push edi
lea edx, [ebp - 0xe48]
push edi
push edx
call fcn.00470610
add esp, 0x18
test eax, eax
jne 0x48366d
add dword [ebp - 0x14ec], edi
push 0x10
push 8
mov ecx, 0x5ffb58
call fcn.00496ba0
mov eax, dword [esi + 0x54]
cmp eax, ebx
je 0x48368f
mov ecx, dword [esi + 0x28]
push ecx
push 0x10
push 8
call eax
add esp, 0xc
push 0x206
lea eax, [ebp - 0x41e]
xor edx, edx
push ebx
push eax
mov word [ebp - 0x420], dx
call fcn.005336c0
add esp, 0xc
push 0x104
lea ecx, [ebp - 0x420]
push ecx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
push str.ShellNew
lea edx, [ebp - 0x420]
push 0xffffffffffffffff
push edx
call fcn.00534500
push 0x206
lea ecx, [ebp - 0xa36]
xor eax, eax
push ebx
push ecx
mov word [ebp - 0xa38], ax
call fcn.005336c0
push 0x206
lea eax, [ebp - 0xc3e]
xor edx, edx
push ebx
push eax
mov word [ebp - 0xc40], dx
call fcn.005336c0
push 0x206
lea edx, [ebp - 0x104e]
xor ecx, ecx
push ebx
push edx
mov word [ebp - 0x1050], cx
call fcn.005336c0
push 0x206
lea ecx, [ebp - 0x1256]
xor eax, eax
push ebx
push ecx
mov word [ebp - 0x1258], ax
call fcn.005336c0
push 0x206
lea eax, [ebp - 0x216]
xor edx, edx
push ebx
push eax
mov word [ebp - 0x218], dx
call fcn.005336c0
add esp, 0x48
xor eax, eax
mov edi, edi
movzx ecx, word [ebp + eax - 0x420]
mov word [ebp + eax - 0xa38], cx
add eax, 2
cmp cx, bx
jne 0x483760
push str._newfile.wps
lea ecx, [ebp - 0xa38]
push 0xffffffffffffffff
push ecx
call fcn.00534500
add esp, 0xc
xor eax, eax
movzx ecx, word [ebp + eax - 0x420]
mov word [ebp + eax - 0xc40], cx
add eax, 2
cmp cx, bx
jne 0x483790
push str._newfile.et
lea edx, [ebp - 0xc40]
push 0xffffffffffffffff
push edx
call fcn.00534500
add esp, 0xc
xor eax, eax
movzx ecx, word [ebp + eax - 0x420]
mov word [ebp + eax - 0x1050], cx
add eax, 2
cmp cx, bx
jne 0x4837c0
push str._newfile.dps
lea eax, [ebp - 0x1050]
push 0xffffffffffffffff
push eax
call fcn.00534500
add esp, 0xc
xor eax, eax
movzx ecx, word [ebp + eax - 0x420]
mov word [ebp + eax - 0x1258], cx
add eax, 2
cmp cx, bx
jne 0x4837f0
push str._newfile.xlsx
lea ecx, [ebp - 0x1258]
push 0xffffffffffffffff
push ecx
call fcn.00534500
add esp, 0xc
xor eax, eax
movzx ecx, word [ebp + eax - 0x420]
mov word [ebp + eax - 0x218], cx
add eax, 2
cmp cx, bx
jne 0x483820
push 0x5a09a4
lea edx, [ebp - 0x218]
push 0xffffffffffffffff
push edx
call fcn.00534500
mov edi, dword [sym.imp.KERNEL32.dll_DeleteFileW]
add esp, 0xc
lea eax, [ebp - 0xa38]
push eax
call edi
test eax, eax
jne 0x483867
inc dword [ebp - 0x14ec]
lea ecx, [ebp - 0xc40]
push ecx
call edi
test eax, eax
jne 0x48387a
inc dword [ebp - 0x14ec]
lea edx, [ebp - 0x1050]
push edx
call edi
cmp eax, ebx
jne 0x48388d
inc dword [ebp - 0x14ec]
lea eax, [ebp - 0x1258]
push eax
call edi
lea ecx, [ebp - 0x218]
push ecx
call edi
push 1
lea edx, [ebp - 0x420]
push ebx
push edx
call fcn.00470930
add esp, 0xc
push 0x10
push 9
mov ecx, 0x5ffb58
call fcn.00496ba0
mov eax, dword [esi + 0x54]
cmp eax, ebx
je 0x4838d3
mov ecx, dword [esi + 0x28]
push ecx
push 0x10
push 9
call eax
add esp, 0xc
cmp dword [esi + 0x20], ebx
jne 0x483a09
push 0x206
lea eax, [ebp - 0x216]
xor edx, edx
push ebx
push eax
mov word [ebp - 0x218], dx
call fcn.005336c0
add esp, 0xc
lea ecx, [ebp - 0x14f8]
push ecx
mov ecx, esi
call fcn.0047dee0
mov ecx, dword [eax]
lea edx, [ebp - 0x218]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bx
jne 0x483910
mov eax, dword [ebp - 0x14f8]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x483943
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push str.kingsoftKRM
lea ecx, [ebp - 0x218]
push 0xffffffffffffffff
push ecx
call fcn.00534500
push 1
lea edx, [ebp - 0x218]
push 1
push edx
call fcn.00470610
add esp, 0x18
cmp eax, ebx
jne 0x483973
inc dword [ebp - 0x14ec]
cmp dword [esi + 0x20], ebx
jne 0x483a09
push 0x206
lea ecx, [ebp - 0x216]
xor eax, eax
push ebx
push ecx
mov word [ebp - 0x218], ax
call fcn.005336c0
add esp, 0xc
lea edx, [ebp - 0x14f8]
push edx
mov ecx, esi
call fcn.0047dee0
mov ecx, dword [eax]
lea edx, [ebp - 0x218]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bx
jne 0x4839b0
mov eax, dword [ebp - 0x14f8]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4839e3
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push str.Kingsoftwps_addonsdatawin_i386promeappscacheLocal_Storage
lea ecx, [ebp - 0x218]
push 0xffffffffffffffff
push ecx
call fcn.00534500
push 1
lea edx, [ebp - 0x218]
push 1
push edx
call fcn.00470610
add esp, 0x18
push 0x10
push 0xa
mov ecx, 0x5ffb58
call fcn.00496ba0
mov eax, dword [esi + 0x54]
cmp eax, ebx
je 0x483a2b
mov ecx, dword [esi + 0x28]
push ecx
push 0x10
push 0xa
call eax
add esp, 0xc
lea edx, [ebp - 0x14f8]
push edx
mov ecx, esi
call fcn.0047dee0
push 0x2f
push str.Kingsoftwps_addonsdatawin_i386promebrowser
lea ecx, [ebp - 0x14f8]
mov dword [ebp - 4], ebx
call fcn.00422060
push str.History
lea eax, [ebp - 0x14f8]
push eax
lea ecx, [ebp - 0x14e4]
push ecx
call fcn.004221d0
push 1
push eax
mov byte [ebp - 4], 1
call fcn.00443290
mov eax, dword [ebp - 0x14e4]
add eax, 0xfffffff0
add esp, 0x14
mov byte [ebp - 4], 0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x483a9b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp dword [esi + 0x20], ebx
jne 0x483aed
push str.Preferences
lea ecx, [ebp - 0x14f8]
push ecx
lea edx, [ebp - 0x14e4]
push edx
call fcn.004221d0
push 1
push eax
mov byte [ebp - 4], 2
call fcn.00443290
mov eax, dword [ebp - 0x14e4]
add eax, 0xfffffff0
add esp, 0x14
mov byte [ebp - 4], 0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x483aed
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x10
push 0xb
mov ecx, 0x5ffb58
call fcn.00496ba0
mov eax, dword [esi + 0x54]
cmp eax, ebx
je 0x483b0f
mov ecx, dword [esi + 0x28]
push ecx
push 0x10
push 0xb
call eax
add esp, 0xc
cmp dword [esi + 0x20], ebx
jne 0x483bb3
push 0x206
lea eax, [ebp - 0x216]
xor edx, edx
push ebx
push eax
mov word [ebp - 0x218], dx
call fcn.005336c0
add esp, 0xc
lea ecx, [ebp - 0x14e4]
push ecx
mov ecx, esi
call fcn.0047dee0
mov ecx, dword [eax]
lea edx, [ebp - 0x218]
lea esp, [esp]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bx
jne 0x483b50
mov eax, dword [ebp - 0x14e4]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x483b83
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push str.kingsoftwpslive
lea ecx, [ebp - 0x218]
push 0xffffffffffffffff
push ecx
call fcn.00534500
push 1
lea edx, [ebp - 0x218]
push 1
push edx
call fcn.00470610
add esp, 0x18
cmp eax, ebx
jne 0x483bb3
inc dword [ebp - 0x14ec]
push 0x10
push 0xc
mov ecx, 0x5ffb58
call fcn.00496ba0
mov eax, dword [esi + 0x54]
cmp eax, ebx
je 0x483bd5
mov ecx, dword [esi + 0x28]
push ecx
push 0x10
push 0xc
call eax
add esp, 0xc
cmp dword [esi + 0x20], ebx
jne 0x483d37
cmp dword [esi + 0xe4], ebx
jne 0x483d37
lea edx, [ebp - 0x14e4]
push edx
mov ecx, esi
call fcn.0047dee0
push 0x18
push 0x5a2a98
lea ecx, [ebp - 0x14e4]
mov byte [ebp - 4], 3
call fcn.00422060
mov ebx, dword [ebp - 0x14e4]
push 1
push 0
push ebx
call fcn.00470610
add esp, 0xc
test eax, eax
jne 0x483c2b
inc dword [ebp - 0x14ec]
cmp dword [esi + 0xe8], 0
jne 0x483d17
push 0x5a2a94
lea ecx, [ebp - 0x14f0]
call fcn.00422540
push 0
lea eax, [ebp - 0x14f0]
push eax
mov eax, dword [esi + 0xd4]
push ecx
sub eax, 0x10
mov dword [ebp - 0x14f4], esp
mov edi, esp
push eax
mov byte [ebp - 4], 4
call fcn.00421e00
lea ecx, [ebp - 0x1268]
add esp, 4
add eax, 0x10
push ecx
mov dword [edi], eax
call fcn.004750a0
add esp, 0x10
mov eax, dword [ebp - 0x14f0]
add eax, 0xfffffff0
mov byte [ebp - 4], 6
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x483caa
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esi + 0xd0]
push ecx
lea ecx, [ebp - 0x1268]
call fcn.00444060
mov edi, dword [ebp - 0x1268]
mov eax, dword [ebp - 0x1264]
cmp edi, eax
je 0x483cf3
lea esp, [esp]
mov edx, dword [edi]
cmp dword [edx - 0xc], 0
je 0x483ce6
push edi
mov ecx, esi
call fcn.0047e280
mov eax, dword [ebp - 0x1264]
add edi, 4
cmp edi, eax
jne 0x483cd0
mov edi, dword [ebp - 0x1268]
mov byte [ebp - 4], 3
test edi, edi
je 0x483d17
push eax
push edi
lea ecx, [ebp - 0x1268]
call fcn.004225f0
mov eax, dword [ebp - 0x1268]
push eax
call int.0042bfd0
add esp, 4
lea eax, [ebx - 0x10]
mov byte [ebp - 4], 0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x483d37
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x10
push 0xd
mov ecx, 0x5ffb58
call fcn.00496ba0
mov eax, dword [esi + 0x54]
test eax, eax
je 0x483d59
mov ecx, dword [esi + 0x28]
push ecx
push 0x10
push 0xd
call eax
add esp, 0xc
cmp dword [esi + 0x20], 0
jne 0x484168
xor edx, edx
push 0x206
push edx
lea eax, [ebp - 0x41e]
push eax
mov word [ebp - 0x420], dx
call fcn.005336c0
add esp, 0xc
lea ecx, [ebp - 0x14e4]
push ecx
mov ecx, esi
call fcn.0047dee0
mov ecx, dword [eax]
lea edx, [ebp - 0x420]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
test ax, ax
jne 0x483d97
mov eax, dword [ebp - 0x14e4]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x483dca
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push str.kingsoftoffice6
lea ecx, [ebp - 0x420]
push 0xffffffffffffffff
push ecx
call fcn.00534500
xor edx, edx
push 0x206
push edx
lea eax, [ebp - 0x216]
push eax
mov word [ebp - 0x218], dx
call fcn.005336c0
add esp, 0x18
xor eax, eax
lea ecx, [ecx]
movzx ecx, word [ebp + eax - 0x420]
mov word [ebp + eax - 0x218], cx
add eax, 2
test cx, cx
jne 0x483e00
push 0x5989d8
lea ecx, [ebp - 0x218]
push 0xffffffffffffffff
push ecx
call fcn.00534500
add esp, 0xc
lea edx, [ebp - 0x14e0]
push edx
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov dword [ebp - 0x14e8], eax
cmp eax, 0xffffffff
je 0x484168
xor ebx, ebx
test byte [ebp - 0x14e0], 0x10
je 0x484089
mov dword [ebp - 0x14f0], ebx
xor edi, edi
jmp 0x483e70
mov ecx, dword [edi + 0x5f2fb0]
push ecx
lea edx, [ebp - 0x14b4]
push edx
call fcn.005347c1
add esp, 8
test eax, eax
je 0x483e94
add edi, 4
cmp edi, 0x10
jb 0x483e70
jmp 0x483e9e
mov dword [ebp - 0x14f0], 1
push 0x23
xor eax, eax
push str.Setup_EnableSavingAdditionalFolders
lea ecx, [ebp - 0x1290]
mov dword [ebp - 0x127c], 7
mov dword [ebp - 0x1280], ebx
mov word [ebp - 0x1290], ax
call fcn.00437a20
lea ecx, [ebp - 0x1290]
push ecx
mov ecx, dword [esi + 0x100]
lea edx, [ebp - 0x1274]
push edx
mov byte [ebp - 4], 7
call fcn.00441910
cmp dword [eax + 0x14], 8
jb 0x483eee
mov eax, dword [eax]
push str.true
push eax
call fcn.005347c1
add esp, 8
test eax, eax
mov edi, 8
sete bl
cmp dword [ebp - 0x1260], edi
jb 0x483f1d
mov eax, dword [ebp - 0x1274]
push eax
call int.0042bfd0
add esp, 4
xor ecx, ecx
mov dword [ebp - 0x1260], 7
mov dword [ebp - 0x1264], 0
mov word [ebp - 0x1274], cx
mov byte [ebp - 4], cl
cmp dword [ebp - 0x127c], edi
jb 0x483f54
mov edx, dword [ebp - 0x1290]
push edx
call int.0042bfd0
add esp, 4
test bl, bl
je 0x483f86
xor edi, edi
lea ebx, [ebx]
mov eax, dword [edi + 0x5f2fac]
push eax
lea ecx, [ebp - 0x14b4]
push ecx
call fcn.005347c1
add esp, 8
test eax, eax
je 0x484143
add edi, 4
cmp edi, 4
jb 0x483f60
cmp dword [ebp - 0x14f0], 0
jne 0x484143
mov edx, dword [0x5fcb00]
mov eax, dword [edx + 0xc]
mov ecx, 0x5fcb00
call eax
add eax, 0x10
mov dword [ebp - 0x14f0], eax
lea ecx, [ebp - 0x420]
mov byte [ebp - 4], 8
test ecx, 0xffff0000
jne 0x483fe1
mov edx, ecx
movzx edi, dx
push 0
push edi
call fcn.004219f0
add esp, 8
test eax, eax
je 0x484012
push edi
push eax
lea ecx, [ebp - 0x14f0]
call fcn.00421f40
jmp 0x484012
lea eax, [ebp - 0x420]
lea edx, [eax + 2]
lea ebx, [ebx]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x483ff0
sub eax, edx
sar eax, 1
push eax
lea eax, [ebp - 0x420]
push eax
lea ecx, [ebp - 0x14f0]
call fcn.00422120
push 1
push 0x592324
lea ecx, [ebp - 0x14f0]
mov byte [ebp - 4], 9
call fcn.00422060
lea eax, [ebp - 0x14b4]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x484031
sub eax, edx
sar eax, 1
push eax
lea ecx, [ebp - 0x14b4]
push ecx
lea ecx, [ebp - 0x14f0]
call fcn.00422060
mov edi, dword [ebp - 0x14f0]
push 1
push 1
push edi
call fcn.00470610
add esp, 0xc
test eax, eax
jne 0x484070
inc dword [ebp - 0x14ec]
lea eax, [edi - 0x10]
mov byte [ebp - 4], 0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jmp 0x484137
lea ecx, [ebp - 0x14b4]
push str.CUSTOM.DIC
push ecx
call fcn.005347c1
add esp, 8
test eax, eax
je 0x484143
lea edx, [ebp - 0x420]
push edx
lea ecx, [ebp - 0x14e4]
call fcn.00422540
push 1
push 0x592324
lea ecx, [ebp - 0x14e4]
mov byte [ebp - 4], 0xa
call fcn.00422060
lea eax, [ebp - 0x14b4]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x4840d6
sub eax, edx
sar eax, 1
push eax
lea eax, [ebp - 0x14b4]
push eax
lea ecx, [ebp - 0x14e4]
call fcn.00422060
mov ecx, dword [ebp - 0x14e4]
push ebx
push ecx
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
mov edx, dword [ebp - 0x14e4]
push edx
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
cmp eax, ebx
jne 0x48411d
inc dword [ebp - 0x14ec]
mov eax, dword [ebp - 0x14e4]
add eax, 0xfffffff0
mov byte [ebp - 4], 0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x484143
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edi, dword [ebp - 0x14e8]
lea ecx, [ebp - 0x14e0]
push ecx
push edi
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
xor ebx, ebx
cmp eax, ebx
jne 0x483e53
push edi
call dword [sym.imp.KERNEL32.dll_FindClose]
push 0x10
mov ebx, 0xe
push ebx
mov ecx, 0x5ffb58
call fcn.00496ba0
mov eax, dword [esi + 0x54]
xor edi, edi
cmp eax, edi
je 0x48418f
mov edx, dword [esi + 0x28]
push edx
push 0x10
push ebx
call eax
add esp, 0xc
cmp dword [esi + 0x20], edi
jne 0x484a17
mov dword [ebp - 0x1508], edi
mov dword [ebp - 0x1504], edi
mov dword [ebp - 0x1500], edi
lea eax, [ebp - 0x14e4]
push eax
mov ecx, esi
mov byte [ebp - 4], 0xb
call fcn.0047dee0
push str.Kingsoftdocsecurity
push eax
lea ecx, [ebp - 0x14e8]
push ecx
mov byte [ebp - 4], 0xc
call fcn.004221d0
add esp, 0xc
push eax
lea ecx, [ebp - 0x1508]
mov byte [ebp - 4], 0xd
call fcn.00444060
mov eax, dword [ebp - 0x14e8]
add eax, 0xfffffff0
mov byte [ebp - 4], 0xc
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x48420b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x14e4]
add eax, 0xfffffff0
mov byte [ebp - 4], 0xb
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x484231
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [ebp - 0x14e4]
push ecx
mov ecx, esi
call fcn.0047dee0
push str.Kingsoftkyunkit
push eax
lea edx, [ebp - 0x14e8]
push edx
mov byte [ebp - 4], bl
call fcn.004221d0
add esp, 0xc
push eax
lea ecx, [ebp - 0x1508]
mov byte [ebp - 4], 0xf
call fcn.00444060
mov eax, dword [ebp - 0x14e8]
add eax, 0xfffffff0
mov byte [ebp - 4], bl
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x48428c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x14e4]
add eax, 0xfffffff0
mov byte [ebp - 4], 0xb
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4842b2
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [ebp - 0x14e4]
push ecx
mov ecx, esi
call fcn.0047dee0
push str.Kingsoft_nse
push eax
lea edx, [ebp - 0x14e8]
push edx
mov byte [ebp - 4], 0x10
call fcn.004221d0
add esp, 0xc
push eax
lea ecx, [ebp - 0x1508]
mov byte [ebp - 4], 0x11
call fcn.00444060
mov eax, dword [ebp - 0x14e8]
add eax, 0xfffffff0
mov byte [ebp - 4], 0x10
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x48430f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x14e4]
add eax, 0xfffffff0
mov byte [ebp - 4], 0xb
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x484335
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [ebp - 0x14e4]
push ecx
mov ecx, esi
call fcn.0047dee0
push str.Kingsoftwpspdf
push eax
lea edx, [ebp - 0x14e8]
mov bl, 0x12
push edx
mov byte [ebp - 4], bl
call fcn.004221d0
add esp, 0xc
push eax
lea ecx, [ebp - 0x1508]
mov byte [ebp - 4], 0x13
call fcn.00444060
mov eax, dword [ebp - 0x14e8]
add eax, 0xfffffff0
mov byte [ebp - 4], bl
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x484392
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x14e4]
add eax, 0xfffffff0
mov byte [ebp - 4], 0xb
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4843b8
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [ebp - 0x14e4]
push ecx
mov ecx, esi
call fcn.0047dee0
push str.Kingsoftpersonalofflinecache
push eax
lea edx, [ebp - 0x14e8]
mov bl, 0x14
push edx
mov byte [ebp - 4], bl
call fcn.004221d0
add esp, 0xc
push eax
lea ecx, [ebp - 0x1508]
mov byte [ebp - 4], 0x15
call fcn.00444060
mov eax, dword [ebp - 0x14e8]
add eax, 0xfffffff0
mov byte [ebp - 4], bl
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x484415
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x14e4]
add eax, 0xfffffff0
mov byte [ebp - 4], 0xb
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x48443b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [ebp - 0x14e4]
push ecx
mov ecx, esi
call fcn.0047dee0
push str.Kingsoft_startmenu
push eax
lea edx, [ebp - 0x14e8]
mov bl, 0x16
push edx
mov byte [ebp - 4], bl
call fcn.004221d0
add esp, 0xc
push eax
lea ecx, [ebp - 0x1508]
mov byte [ebp - 4], 0x17
call fcn.00444060
mov eax, dword [ebp - 0x14e8]
add eax, 0xfffffff0
mov byte [ebp - 4], bl
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x484498
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x14e4]
add eax, 0xfffffff0
mov byte [ebp - 4], 0xb
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4844be
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [ebp - 0x14e4]
push ecx
mov ecx, esi
call fcn.0047dee0
push str.Kingsoft_taskbar
push eax
lea edx, [ebp - 0x14e8]
push edx
mov byte [ebp - 4], 0x18
call fcn.004221d0
add esp, 0xc
push eax
lea ecx, [ebp - 0x1508]
mov byte [ebp - 4], 0x19
call fcn.00444060
mov eax, dword [ebp - 0x14e8]
add eax, 0xfffffff0
mov byte [ebp - 4], 0x18
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x48451b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x14e4]
add eax, 0xfffffff0
mov byte [ebp - 4], 0xb
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x484541
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [ebp - 0x14e4]
push ecx
mov ecx, esi
call fcn.0047dee0
push str.KingsoftWPS_Cloud_Files
push eax
lea edx, [ebp - 0x14e8]
mov bl, 0x1a
push edx
mov byte [ebp - 4], bl
call fcn.004221d0
add esp, 0xc
push eax
lea ecx, [ebp - 0x1508]
mov byte [ebp - 4], 0x1b
call fcn.00444060
mov eax, dword [ebp - 0x14e8]
add eax, 0xfffffff0
mov byte [ebp - 4], bl
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x48459e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x14e4]
add eax, 0xfffffff0
mov byte [ebp - 4], 0xb
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4845c4
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [ebp - 0x14e4]
push ecx
mov ecx, esi
call fcn.0047c790
push str.KingsoftWPS_Cloud_Files
push eax
lea edx, [ebp - 0x14e8]
push edx
mov byte [ebp - 4], 0x1c
call fcn.004221d0
add esp, 0xc
push eax
lea ecx, [ebp - 0x1508]
mov byte [ebp - 4], 0x1d
call fcn.00444060
mov eax, dword [ebp - 0x14e8]
add eax, 0xfffffff0
mov byte [ebp - 4], 0x1c
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x484621
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x14e4]
add eax, 0xfffffff0
mov byte [ebp - 4], 0xb
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x484647
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edi, dword [ebp - 0x1508]
mov ebx, dword [ebp - 0x1504]
cmp edi, ebx
je 0x48466d
mov eax, dword [edi]
push 1
push 0
push eax
call fcn.00470610
add edi, 4
add esp, 0xc
cmp edi, ebx
jne 0x484657
xor ebx, ebx
push 0x1c
mov dword [ebp - 0x1510], ebx
call fcn.0042bfa0
mov edi, eax
add esp, 4
cmp edi, ebx
je 0x484a90
mov dword [edi], edi
mov dword [ebp - 0x1514], edi
mov dword [edi + 4], edi
mov dword [ebp - 0x1268], ebx
mov dword [ebp - 0x1264], ebx
mov dword [ebp - 0x1260], ebx
mov edx, dword [0x5fcb00]
mov eax, dword [edx + 0xc]
mov ecx, 0x5fcb00
mov byte [ebp - 4], 0x1f
call eax
add eax, 0x10
mov dword [ebp - 0x14e4], eax
mov ecx, str.XLSTART
mov byte [ebp - 4], 0x20
test ecx, 0xffff0000
jne 0x484790
mov edx, ecx
movzx ebx, dx
push 0
push ebx
call fcn.004219f0
add esp, 8
test eax, eax
je 0x4846f9
push ebx
push eax
lea ecx, [ebp - 0x14e4]
call fcn.00421f40
xor ebx, ebx
lea eax, [ebp - 0x14e4]
push eax
lea ecx, [ebp - 0x1268]
mov byte [ebp - 4], 0x21
call fcn.00444060
mov eax, dword [ebp - 0x14e4]
add eax, 0xfffffff0
mov byte [ebp - 4], 0x1f
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x484737
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp dword [esi + 0xec], ebx
je 0x4847f5
mov edx, dword [0x5fcb00]
mov eax, dword [edx + 0xc]
mov ecx, 0x5fcb00
call eax
add eax, 0x10
mov dword [ebp - 0x14e4], eax
mov ecx, str.addons
mov byte [ebp - 4], 0x22
test ecx, 0xffff0000
jne 0x4847a7
mov edx, ecx
movzx ebx, dx
push 0
push ebx
call fcn.004219f0
add esp, 8
test eax, eax
je 0x4847b9
push ebx
push eax
lea ecx, [ebp - 0x14e4]
call fcn.00421f40
jmp 0x4847b9
push 7
push str.XLSTART
lea ecx, [ebp - 0x14e4]
call fcn.00422120
jmp 0x4846fb
push 6
push str.addons
lea ecx, [ebp - 0x14e4]
call fcn.00422120
lea eax, [ebp - 0x14e4]
push eax
lea ecx, [ebp - 0x1268]
mov byte [ebp - 4], 0x23
call fcn.00444060
mov eax, dword [ebp - 0x14e4]
add eax, 0xfffffff0
mov byte [ebp - 4], 0x1f
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4847f5
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [ebp - 0x14f0]
push ecx
mov ecx, esi
call fcn.0047dee0
push str.Kingsoftwps
push eax
lea edx, [ebp - 0x14e4]
push edx
mov byte [ebp - 4], 0x24
call fcn.004221d0
lea ecx, [ebp - 0x1268]
push ecx
push eax
lea edx, [ebp - 0x1288]
push edx
mov byte [ebp - 4], 0x25
call fcn.0047f960
add esp, 0x18
push eax
mov eax, dword [edi + 4]
push eax
push edi
lea ecx, [ebp - 0x1514]
mov byte [ebp - 4], 0x26
call fcn.004832d0
mov dword [edi + 4], eax
mov ecx, dword [eax + 4]
mov dword [ebp - 0x1510], 1
mov dword [ecx], eax
mov eax, dword [ebp - 0x1284]
xor ecx, ecx
mov byte [ebp - 4], 0x27
cmp eax, ecx
je 0x4848ba
mov ecx, dword [ebp - 0x1280]
mov dword [ebp - 0x14e8], ecx
mov ebx, eax
cmp eax, ecx
je 0x4848af
lea ecx, [ecx]
mov eax, dword [ebx]
sub eax, 0x10
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x48489e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
add ebx, 4
cmp ebx, dword [ebp - 0x14e8]
jne 0x484880
mov eax, dword [ebp - 0x1284]
push eax
call int.0042bfd0
add esp, 4
xor ecx, ecx
mov eax, dword [ebp - 0x1288]
add eax, 0xfffffff0
mov dword [ebp - 0x1284], ecx
mov dword [ebp - 0x1280], ecx
mov dword [ebp - 0x127c], ecx
mov byte [ebp - 4], 0x25
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4848f2
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x14e4]
add eax, 0xfffffff0
mov byte [ebp - 4], 0x24
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x484918
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x14f0]
add eax, 0xfffffff0
mov byte [ebp - 4], 0x1f
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x48493e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ebx, dword [edi]
cmp ebx, edi
je 0x48495c
mov eax, dword [ebx + 8]
lea ecx, [ebx + 0xc]
push ecx
push 1
push eax
call fcn.00472150
mov ebx, dword [ebx]
add esp, 0xc
cmp ebx, edi
jne 0x484944
mov edi, dword [ebp - 0x1268]
mov byte [ebp - 4], 0x1e
test edi, edi
je 0x4849a8
mov ebx, dword [ebp - 0x1264]
cmp edi, ebx
je 0x48499f
mov eax, dword [edi]
sub eax, 0x10
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x484992
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
add edi, 4
cmp edi, ebx
jne 0x484974
mov edi, dword [ebp - 0x1268]
push edi
call int.0042bfd0
add esp, 4
lea ecx, [ebp - 0x1514]
mov byte [ebp - 4], 0x28
call fcn.004831c0
mov ecx, dword [ebp - 0x1514]
push ecx
call int.0042bfd0
add esp, 4
cmp dword [ebp - 0x1508], 0
mov byte [ebp - 4], 0
je 0x484a17
mov edi, dword [ebp - 0x1508]
mov ebx, dword [ebp - 0x1504]
cmp edi, ebx
je 0x484a0e
mov eax, dword [edi]
sub eax, 0x10
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x484a01
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
add edi, 4
cmp edi, ebx
jne 0x4849e3
mov edi, dword [ebp - 0x1508]
push edi
call int.0042bfd0
add esp, 4
push 0x10
push 0xf
mov ecx, 0x5ffb58
call fcn.00496ba0
mov eax, dword [esi + 0x54]
test eax, eax
je 0x484a39
mov ecx, dword [esi + 0x28]
push ecx
push 0x10
push 0xf
call eax
add esp, 0xc
mov edx, dword [esi + 0x20]
push edx
mov ecx, esi
call fcn.0047ddf0
mov ecx, esi
call fcn.004784a0
push 0x10
push 0x10
mov ecx, 0x5ffb58
call fcn.00496ba0
mov eax, dword [esi + 0x54]
test eax, eax
je 0x484a6d
mov ecx, dword [esi + 0x28]
push ecx
push 0x10
push 0x10
call eax
add esp, 0xc
cmp dword [esi + 0xd8], 0
push ecx
mov dword [ebp - 0x14f4], esp
mov ecx, esi
je 0x484ac3
mov edx, esp
push edx
call fcn.0047b2b0
mov ecx, esi
call fcn.00479a50
jmp 0x484ad3
lea ecx, [ebp - 0x14f4]
push ecx
lea ecx, [ebp - 0x1520]
mov dword [ebp - 0x14f4], ebx
call fcn.005348e5
push 0x5d65a8
lea edx, [ebp - 0x1520]
push edx
mov dword [ebp - method.std::bad_alloc.virtual_0], vtable.std::bad_alloc.0
call fcn.00533e7f
mov eax, esp
push eax
call fcn.0047b2b0
call fcn.0048ccd0
add esp, 4
mov ecx, esi
call fcn.0047e120
call fcn.0043f570
test eax, eax
je 0x484b04
mov eax, dword [esi + 0xa0]
mov edi, dword [esi + 0xd8]
push eax
push 0
call dword [sym.imp.USER32.dll_FindWindowW]
push eax
push edi
push 0x67
call fcn.0043c340
add esp, 0xc
cmp dword [esi + 0x20], 0
jne 0x484cbd
xor ecx, ecx
push 0x206
push ecx
lea edx, [ebp - 0x1496]
push edx
mov word [ebp - 0x1498], cx
call fcn.005336c0
add esp, 0xc
lea eax, [ebp - 0x14f4]
push eax
mov ecx, esi
call fcn.0047dee0
mov ecx, dword [eax]
lea edx, [ebp - 0x1498]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
test ax, ax
jne 0x484b42
mov eax, dword [ebp - 0x14f4]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x484b75
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push str.kingsoft
lea ecx, [ebp - 0x1498]
push 0xffffffffffffffff
push ecx
call fcn.00534500
push 1
lea edx, [ebp - 0x1498]
push 0
push edx
call fcn.00470930
xor eax, eax
push 0x206
push eax
lea ecx, [ebp - 0x626]
push ecx
mov word [ebp - 0x628], ax
call fcn.005336c0
add esp, 0x24
push 0
push 0x23
lea edx, [ebp - 0x628]
push edx
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
mov eax, dword [0x5fcb00]
mov edx, dword [eax + 0xc]
mov ecx, 0x5fcb00
call edx
add eax, 0x10
mov dword [ebp - 0x14e4], eax
lea eax, [ebp - 0x628]
mov byte [ebp - 4], 0x29
test eax, 0xffff0000
jne 0x484c15
mov ecx, eax
movzx esi, cx
push 0
push esi
call fcn.004219f0
add esp, 8
test eax, eax
je 0x484c42
push esi
push eax
lea ecx, [ebp - 0x14e4]
call fcn.00421f40
jmp 0x484c42
lea eax, [ebp - 0x628]
lea edx, [eax + 2]
mov edi, edi
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x484c20
sub eax, edx
sar eax, 1
push eax
lea edx, [ebp - 0x628]
push edx
lea ecx, [ebp - 0x14e4]
call fcn.00422120
push str.kingsoft
lea eax, [ebp - 0x14e4]
push eax
lea ecx, [ebp - 0x14f4]
mov bl, 0x2a
push ecx
mov byte [ebp - 4], bl
call fcn.004221d0
mov eax, dword [eax]
push 1
push 1
push eax
mov byte [ebp - 4], 0x2b
call fcn.00470930
mov eax, dword [ebp - 0x14f4]
add eax, 0xfffffff0
add esp, 0x18
mov byte [ebp - 4], bl
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x484c97
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x14e4]
add eax, 0xfffffff0
mov byte [ebp - 4], 0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x484cbd
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x14f8]
xor ecx, ecx
cmp dword [ebp - 0x14ec], ecx
mov dword [ebp - 4], 0xffffffff
sete cl
add eax, 0xfffffff0
lea edx, [eax + 0xc]
mov esi, ecx
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x484cf3
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.005332ca
mov esp, ebp
pop ebp
ret