joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1001951f
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20c
mov eax, dword [0x10207390]
xor eax, ebp
mov dword [ebp - 4], eax
mov al, byte [0x102132e8]
test al, al
jne 0x100195b8
and word [ebp - 0x20c], 0
push 0x206
lea eax, [ebp - 0x20a]
push 0
push eax
call fcn.10085bc0
add esp, 0xc
push 1
push 0x1a
lea eax, [ebp - 0x20c]
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
test eax, eax
je 0x100195b3
lea eax, [ebp - 0x20c]
push eax
call fcn.100867a3
lea eax, [ebp - 0x20c]
mov dword [esp], str.config_systemprofile
push eax
call fcn.100885cc
test eax, eax
pop ecx
pop ecx
jne 0x100195ac
lea eax, [ebp - 0x20c]
push str.cocuments_and_settingslocalService
push eax
call fcn.100885cc
test eax, eax
pop ecx
pop ecx
je 0x100195b3
mov byte [0x102132e8], 1
mov al, byte [0x102132e8]
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1008545e
leave
ret

Function at 0x1001989e
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20c
mov eax, dword [0x10207390]
xor eax, ebp
mov dword [ebp - 4], eax
and word [ebp - 0x20c], 0
push esi
push 0x206
lea eax, [ebp - 0x20a]
push 0
push eax
mov esi, ecx
call fcn.10085bc0
add esp, 0xc
cmp dword [esi + 0x40], 8
jb 0x100198dd
mov esi, dword [esi + 0x2c]
jmp 0x100198e0
add esi, 0x2c
push str.AllSkin
push esi
lea eax, [ebp - 0x20c]
push 0x1018a0a8
push eax
call fcn.10004df5
add esp, 0x10
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
pop esi
jne 0x10019919
lea eax, [ebp - 0x20c]
push eax
call fcn.1001c251
pop ecx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1008545e
leave
ret
Function at 0x1001a65e
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20c
mov eax, dword [0x10207390]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov esi, dword [ebp + 8]
push 0
push 0x1a
lea eax, [ebp - 0x20c]
push eax
push 0
call fcn.100195c4
lea eax, [ebp - 0x20c]
push eax
call fcn.10085b54
test eax, eax
pop ecx
je 0x1001a6f9
push edi
mov edi, 0x101ebeec
lea eax, [ebp - 0x20c]
push edi
push eax
call fcn.100860a3
lea eax, [ebp - 0x20c]
push str.SmartCloudWBIME
push eax
call fcn.100860a3
lea eax, [ebp - 0x20c]
push edi
push eax
call fcn.100860a3
add esp, 0x18
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
pop edi
jne 0x1001a6eb
lea eax, [ebp - 0x20c]
push eax
call fcn.1001c251
pop ecx
lea eax, [ebp - 0x20c]
push eax
mov ecx, esi
call fcn.10003610
mov ecx, dword [ebp - 4]
xor ecx, ebp
pop esi
call fcn.1008545e
leave
ret 4

Function at 0x1001a708
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20c
mov eax, dword [0x10207390]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov esi, dword [ebp + 8]
push 0
push 0x1a
lea eax, [ebp - 0x20c]
push eax
push 0
call fcn.100195c4
lea eax, [ebp - 0x20c]
push eax
call fcn.10085b54
test eax, eax
pop ecx
je 0x1001a7a3
push edi
mov edi, 0x101ebeec
lea eax, [ebp - 0x20c]
push edi
push eax
call fcn.100860a3
lea eax, [ebp - 0x20c]
push str.SmartCloudWBIME.users
push eax
call fcn.100860a3
lea eax, [ebp - 0x20c]
push edi
push eax
call fcn.100860a3
add esp, 0x18
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
pop edi
jne 0x1001a795
lea eax, [ebp - 0x20c]
push eax
call fcn.1001c251
pop ecx
lea eax, [ebp - 0x20c]
push eax
mov ecx, esi
call fcn.10003610
mov ecx, dword [ebp - 4]
xor ecx, ebp
pop esi
call fcn.1008545e
leave
ret 4

Function at 0x1001a7b2
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20c
mov eax, dword [0x10207390]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov esi, ecx
cmp dword [esi + 0x40], 8
jb 0x1001a7d3
mov eax, dword [esi + 0x2c]
jmp 0x1001a7d6
lea eax, [esi + 0x2c]
push str.Config
push eax
lea eax, [ebp - 0x20c]
push 0x1018a0a8
push eax
call fcn.10004df5
add esp, 0x10
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x1001a80e
lea eax, [ebp - 0x20c]
push eax
call fcn.1001c251
pop ecx
lea eax, [ebp - 0x20c]
push str.Related.ini
push eax
call fcn.100860a3
pop ecx
pop ecx
lea eax, [ebp - 0x20c]
push eax
lea ecx, [esi + 0xd0]
call fcn.10003610
mov ecx, dword [ebp - 4]
xor ecx, ebp
pop esi
call fcn.1008545e
leave
ret
Function at 0x1001a901
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20c
mov eax, dword [0x10207390]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov esi, ecx
cmp dword [esi + 0x40], 8
jb 0x1001a922
mov eax, dword [esi + 0x2c]
jmp 0x1001a925
lea eax, [esi + 0x2c]
push str.UseData
push eax
lea eax, [ebp - 0x20c]
push 0x1018a0a8
push eax
call fcn.10004df5
add esp, 0x10
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x1001a95d
lea eax, [ebp - 0x20c]
push eax
call fcn.1001c251
pop ecx
lea eax, [ebp - 0x20c]
push eax
lea ecx, [esi + 0x108]
call fcn.10003610
mov ecx, dword [ebp - 4]
xor ecx, ebp
pop esi
call fcn.1008545e
leave
ret
Function at 0x1001b1ac
Capabilities:
Check if file exists

Disassembly:
push ebp
lea ebp, [esp - 0xbc4]
sub esp, 0xc44
mov eax, dword [0x10207390]
xor eax, ebp
mov dword [ebp + 0xbc0], eax
push ebx
mov ebx, dword [ebp + 0xbcc]
push esi
push edi
xor edi, edi
mov esi, 0x206
push esi
lea eax, [ebp - 0x6e]
push edi
push eax
mov dword [ebp - 0x74], ecx
mov dword [ebp - 0x78], edi
mov dword [ebp - 0x80], edi
mov dword [ebp - 0x7c], edi
mov word [ebp - 0x70], di
call fcn.10085bc0
push esi
lea eax, [ebp + 0x19a]
push edi
push eax
mov word [ebp + 0x198], di
call fcn.10085bc0
push esi
lea eax, [ebp + 0x7b2]
push edi
push eax
mov word [ebp + 0x7b0], di
call fcn.10085bc0
push esi
lea eax, [ebp + 0x3a2]
push edi
push eax
mov word [ebp + 0x3a0], di
call fcn.10085bc0
push esi
lea eax, [ebp + 0x9ba]
push edi
push eax
mov word [ebp + 0x9b8], di
call fcn.10085bc0
push esi
lea eax, [ebp + 0x5aa]
push edi
push eax
mov word [ebp + 0x5a8], di
call fcn.10085bc0
mov ecx, dword [ebp - 0x74]
add esp, 0x48
push edi
push 0x1a
lea eax, [ebp - 0x70]
push eax
push edi
call fcn.100195c4
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp + 0x9b8]
push eax
call fcn.100860cd
lea eax, [ebp + 0x9b8]
push eax
call fcn.10085b54
lea eax, [ebp + 0x9b8]
push 0x5c
push eax
call fcn.10088966
add esp, 0x14
cmp eax, edi
je 0x1001b3b6
mov word [eax], di
lea eax, [ebp + 0x9b8]
push eax
lea eax, [ebp + 0x198]
push eax
call fcn.100860cd
lea eax, [ebp + 0x198]
push str.Local
push eax
call fcn.100860a3
mov esi, dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
add esp, 0x10
lea eax, [ebp + 0x198]
push eax
call esi
test eax, eax
je 0x1001b2e7
mov dword [ebp - 0x78], 1
lea eax, [ebp + 0x9b8]
push eax
lea eax, [ebp + 0x7b0]
push eax
call fcn.100860cd
lea eax, [ebp + 0x7b0]
push str.LocalLow
push eax
call fcn.100860a3
add esp, 0x10
lea eax, [ebp + 0x7b0]
push eax
call esi
test eax, eax
je 0x1001b322
mov dword [ebp - 0x80], 1
lea eax, [ebp + 0x9b8]
push eax
lea eax, [ebp + 0x3a0]
push eax
call fcn.100860cd
lea eax, [ebp + 0x3a0]
push str.Roaming
push eax
call fcn.100860a3
add esp, 0x10
lea eax, [ebp + 0x3a0]
push eax
call esi
test eax, eax
je 0x1001b35d
mov dword [ebp - 0x7c], 1
cmp dword [ebp - 0x78], edi
je 0x1001b3b6
cmp dword [ebp - 0x80], edi
je 0x1001b3b6
cmp dword [ebp - 0x7c], edi
je 0x1001b3b6
push str.SmartCloudWBIME
lea eax, [ebp + 0x7b0]
push eax
lea eax, [ebp + 0x5a8]
push str._s_s_
push eax
call fcn.10004df5
add esp, 0x10
lea eax, [ebp + 0x5a8]
push eax
call esi
test eax, eax
jne 0x1001b3a6
lea eax, [ebp + 0x5a8]
push eax
call fcn.1001c251
pop ecx
lea eax, [ebp + 0x5a8]
push eax
mov ecx, ebx
call fcn.10003610
jmp 0x1001b3bf
mov ecx, dword [ebp - 0x74]
push ebx
call fcn.1001a65e
mov ecx, dword [ebp + 0xbc0]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.1008545e
add ebp, 0xbc4
leave
ret 4
Function at 0x1001b3d9
Capabilities:
Check if file exists

Disassembly:
push ebp
lea ebp, [esp - 0xbc4]
sub esp, 0xc44
mov eax, dword [0x10207390]
xor eax, ebp
mov dword [ebp + 0xbc0], eax
push ebx
mov ebx, dword [ebp + 0xbcc]
push esi
push edi
xor edi, edi
mov esi, 0x206
push esi
lea eax, [ebp - 0x6e]
push edi
push eax
mov dword [ebp - 0x74], ecx
mov dword [ebp - 0x78], edi
mov dword [ebp - 0x80], edi
mov dword [ebp - 0x7c], edi
mov word [ebp - 0x70], di
call fcn.10085bc0
push esi
lea eax, [ebp + 0x19a]
push edi
push eax
mov word [ebp + 0x198], di
call fcn.10085bc0
push esi
lea eax, [ebp + 0x7b2]
push edi
push eax
mov word [ebp + 0x7b0], di
call fcn.10085bc0
push esi
lea eax, [ebp + 0x3a2]
push edi
push eax
mov word [ebp + 0x3a0], di
call fcn.10085bc0
push esi
lea eax, [ebp + 0x9ba]
push edi
push eax
mov word [ebp + 0x9b8], di
call fcn.10085bc0
push esi
lea eax, [ebp + 0x5aa]
push edi
push eax
mov word [ebp + 0x5a8], di
call fcn.10085bc0
mov ecx, dword [ebp - 0x74]
add esp, 0x48
push edi
push 0x1a
lea eax, [ebp - 0x70]
push eax
push edi
call fcn.100195c4
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp + 0x9b8]
push eax
call fcn.100860cd
lea eax, [ebp + 0x9b8]
push eax
call fcn.10085b54
lea eax, [ebp + 0x9b8]
push 0x5c
push eax
call fcn.10088966
add esp, 0x14
cmp eax, edi
je 0x1001b5e3
mov word [eax], di
lea eax, [ebp + 0x9b8]
push eax
lea eax, [ebp + 0x198]
push eax
call fcn.100860cd
lea eax, [ebp + 0x198]
push str.Local
push eax
call fcn.100860a3
mov esi, dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
add esp, 0x10
lea eax, [ebp + 0x198]
push eax
call esi
test eax, eax
je 0x1001b514
mov dword [ebp - 0x78], 1
lea eax, [ebp + 0x9b8]
push eax
lea eax, [ebp + 0x7b0]
push eax
call fcn.100860cd
lea eax, [ebp + 0x7b0]
push str.LocalLow
push eax
call fcn.100860a3
add esp, 0x10
lea eax, [ebp + 0x7b0]
push eax
call esi
test eax, eax
je 0x1001b54f
mov dword [ebp - 0x80], 1
lea eax, [ebp + 0x9b8]
push eax
lea eax, [ebp + 0x3a0]
push eax
call fcn.100860cd
lea eax, [ebp + 0x3a0]
push str.Roaming
push eax
call fcn.100860a3
add esp, 0x10
lea eax, [ebp + 0x3a0]
push eax
call esi
test eax, eax
je 0x1001b58a
mov dword [ebp - 0x7c], 1
cmp dword [ebp - 0x78], edi
je 0x1001b5e3
cmp dword [ebp - 0x80], edi
je 0x1001b5e3
cmp dword [ebp - 0x7c], edi
je 0x1001b5e3
push str.SmartCloudWBIME.users
lea eax, [ebp + 0x7b0]
push eax
lea eax, [ebp + 0x5a8]
push str._s_s_
push eax
call fcn.10004df5
add esp, 0x10
lea eax, [ebp + 0x5a8]
push eax
call esi
test eax, eax
jne 0x1001b5d3
lea eax, [ebp + 0x5a8]
push eax
call fcn.1001c251
pop ecx
lea eax, [ebp + 0x5a8]
push eax
mov ecx, ebx
call fcn.10003610
jmp 0x1001b5ec
mov ecx, dword [ebp - 0x74]
push ebx
call fcn.1001a708
mov ecx, dword [ebp + 0xbc0]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.1008545e
add ebp, 0xbc4
leave
ret 4
Function at 0x1001b606
Capabilities:
Check if file exists

Disassembly:
push esi
push 0xffffffffffffffff
lea esi, [ecx + 0x60]
add ecx, 0x28
push 0
push ecx
mov ecx, esi
call fcn.10001d30
push str.Skin_
mov ecx, esi
call fcn.10003640
cmp dword [esi + 0x18], 8
jb 0x1001b630
mov eax, dword [esi + 4]
jmp 0x1001b633
lea eax, [esi + 4]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x1001b653
cmp dword [esi + 0x18], 8
jb 0x1001b649
mov esi, dword [esi + 4]
jmp 0x1001b64c
add esi, 4
push esi
call fcn.1001c251
pop ecx
pop esi
ret

Function at 0x1001b655
Capabilities:
Check if file exists
Get common file path
Get program files directory

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20c
mov eax, dword [0x10207390]
xor eax, ebp
mov dword [ebp - 4], eax
and word [ebp - 0x20c], 0
push esi
push 0x206
lea eax, [ebp - 0x20a]
push 0
push eax
mov esi, ecx
call fcn.10085bc0
add esp, 0xc
push 0
push 0x26
lea eax, [ebp - 0x20c]
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
lea eax, [ebp - 0x20c]
add esi, 0x178
push eax
mov ecx, esi
call fcn.10003610
push 0x101ebeec
mov ecx, esi
call fcn.10003640
cmp dword [esi + 0x18], 8
jb 0x1001b6c7
mov eax, dword [esi + 4]
jmp 0x1001b6ca
lea eax, [esi + 4]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x1001b6e1
push str.C:Program_Files_
mov ecx, esi
call fcn.10003610
mov ecx, dword [ebp - 4]
xor ecx, ebp
pop esi
call fcn.1008545e
leave
ret

Function at 0x1001b6ee
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20c
mov eax, dword [0x10207390]
xor eax, ebp
mov dword [ebp - 4], eax
and word [ebp - 0x20c], 0
push esi
push 0x206
lea eax, [ebp - 0x20a]
push 0
push eax
mov esi, ecx
call fcn.10085bc0
add esp, 0xc
push 0x104
lea eax, [ebp - 0x20c]
push eax
mov ecx, esi
call fcn.100196fc
test al, al
jne 0x1001b74c
push 0
push 0x1a
lea eax, [ebp - 0x20c]
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
lea eax, [ebp - 0x20c]
add esi, 0x194
push eax
mov ecx, esi
call fcn.10003610
push 0x101ebeec
mov ecx, esi
call fcn.10003640
mov ecx, dword [ebp - 4]
xor ecx, ebp
pop esi
call fcn.1008545e
leave
ret
Function at 0x1001b779
Capabilities:
Read .ini file

Disassembly:
push ebp
sub esp, 0x208
lea ebp, [esp - 4]
mov eax, dword [0x10207390]
xor eax, ebp
mov dword [ebp + 0x208], eax
push 0x1c
mov eax, 0x1017c2df
call fcn.1008546d
mov edi, ecx
call fcn.10019925
lea ebx, [edi + 0x124]
push eax
mov ecx, ebx
call fcn.10003610
push str.SmartCloudInfo.ini
mov ecx, ebx
call fcn.10003640
mov esi, 0x10186d40
push esi
push str.Spreader
push str.AppInfo
lea eax, [ebp - 0x28]
push eax
mov ecx, edi
call fcn.10019c69
and dword [ebp - 4], 0
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0x28]
add edi, 0x140
push eax
mov ecx, edi
call fcn.10001d30
push esi
mov ecx, edi
call fcn.100059c8
test eax, eax
jne 0x1001b848
and word [ebp], ax
push 0x206
push eax
lea eax, [ebp + 2]
push eax
call fcn.10085bc0
add esp, 0xc
cmp dword [ebx + 0x18], 8
jb 0x1001b81f
mov ebx, dword [ebx + 4]
jmp 0x1001b822
add ebx, 4
push ebx
push 0x104
lea eax, [ebp]
push eax
push esi
push str.Spreader
push str.AppInfo
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea eax, [ebp]
push eax
mov ecx, edi
call fcn.10003610
push 0
push 1
lea ecx, [ebp - 0x28]
call fcn.100017c0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x208]
xor ecx, ebp
call fcn.1008545e
add ebp, 0x20c
leave
ret

Function at 0x1001b954
Capabilities:
Write clipboard data

Disassembly:
push esi
mov esi, dword [esp + 8]
mov eax, dword [esi + 0x14]
push edi
inc eax
push eax
push 0x2002
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov edi, eax
test edi, edi
je 0x1001b9a9
push edi
call dword [sym.imp.KERNEL32.dll_GlobalLock]
test eax, eax
je 0x1001b9a2
cmp dword [esi + 0x18], 0x10
jb 0x1001b986
mov esi, dword [esi + 4]
jmp 0x1001b989
add esi, 4
push esi
push eax
call fcn.10086120
pop ecx
pop ecx
push edi
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
push edi
push 7
call dword [sym.imp.USER32.dll_SetClipboardData]
push edi
call dword [sym.imp.KERNEL32.dll_GlobalFree]
pop edi
pop esi
ret 4

Function at 0x1001b9ae
Capabilities:
Write clipboard data

Disassembly:
push esi
mov esi, dword [esp + 8]
mov eax, dword [esi + 0x14]
push edi
inc eax
push eax
push 0x2042
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov edi, eax
test edi, edi
je 0x1001ba03
push edi
call dword [sym.imp.KERNEL32.dll_GlobalLock]
test eax, eax
je 0x1001b9fc
cmp dword [esi + 0x18], 0x10
jb 0x1001b9e0
mov esi, dword [esi + 4]
jmp 0x1001b9e3
add esi, 4
push esi
push eax
call fcn.10086120
pop ecx
pop ecx
push edi
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
push edi
push 1
call dword [sym.imp.USER32.dll_SetClipboardData]
push edi
call dword [sym.imp.KERNEL32.dll_GlobalFree]
pop edi
pop esi
ret 4
Function at 0x1001ba08
Capabilities:
Write clipboard data

Disassembly:
push ebx
push esi
push edi
mov edi, dword [esp + 0x10]
mov ebx, dword [edi + 0x14]
lea ebx, [ebx + ebx + 2]
push ebx
push 0x2042
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov esi, eax
test esi, esi
je 0x1001ba63
push esi
call dword [sym.imp.KERNEL32.dll_GlobalLock]
test eax, eax
je 0x1001ba5c
cmp dword [edi + 0x18], 8
jb 0x1001ba3e
mov edi, dword [edi + 4]
jmp 0x1001ba41
add edi, 4
push ebx
push edi
push eax
call fcn.10088150
add esp, 0xc
push esi
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
push esi
push 0xd
call dword [sym.imp.USER32.dll_SetClipboardData]
push esi
call dword [sym.imp.KERNEL32.dll_GlobalFree]
pop edi
pop esi
pop ebx
ret 4

Function at 0x1001ba69
Capabilities:
Write clipboard data

Disassembly:
push ebx
push esi
push edi
push str.QQ_RichEdit_Format
call dword [sym.imp.USER32.dll_RegisterClipboardFormatW]
mov edi, dword [esp + 0x10]
mov ebx, eax
mov eax, dword [edi + 0x14]
inc eax
push eax
push 0x2002
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov esi, eax
test esi, esi
je 0x1001bacb
push esi
call dword [sym.imp.KERNEL32.dll_GlobalLock]
test eax, eax
je 0x1001bac4
cmp dword [edi + 0x18], 0x10
jb 0x1001baa9
mov edi, dword [edi + 4]
jmp 0x1001baac
add edi, 4
push edi
push eax
call fcn.10086120
pop ecx
pop ecx
push esi
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
push esi
push ebx
call dword [sym.imp.USER32.dll_SetClipboardData]
push esi
call dword [sym.imp.KERNEL32.dll_GlobalFree]
pop edi
pop esi
pop ebx
ret 4
Function at 0x1001c0ca
Capabilities:
Open clipboard

Disassembly:
push 0xb0
mov eax, 0x1017c891
call fcn.100854d6
mov ebx, ecx
mov eax, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
push eax
lea eax, [ebp - 0x80]
push eax
mov dword [ebp - 0xbc], edi
call fcn.1001bb63
lea eax, [ebp - 0x64]
push edi
xor esi, esi
push eax
mov dword [ebp - 4], esi
call fcn.1001bb63
add esp, 0x10
push esi
mov byte [ebp - 4], 1
call dword [sym.imp.USER32.dll_OpenClipboard]
test eax, eax
je 0x1001c233
push 0xf
pop edi
push esi
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x14], edi
call fcn.10001980
push str._QQRichEditFormat__Info_version_1001____Info__EditElement_type_1__filepath_
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 2
call fcn.10001580
push str.__shortcut_______EditElement___QQRichEditFormat_
lea ecx, [ebp - 0x9c]
mov byte [ebp - 4], 3
call fcn.10001580
push 0xffffffffffffffff
push esi
lea eax, [ebp - 0xb8]
push eax
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 4
call fcn.10017d8b
push 0xffffffffffffffff
push esi
lea eax, [ebp - 0x80]
push eax
lea ecx, [ebp - 0x2c]
call fcn.10017d8b
push 0xffffffffffffffff
push esi
lea eax, [ebp - 0x9c]
push eax
lea ecx, [ebp - 0x2c]
call fcn.10017d8b
push esi
lea ecx, [ebp - 0x48]
mov dword [ebp - 0x30], edi
call fcn.10001980
push str._IMG_src_file:___
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 5
call fcn.10017f5b
push 0xffffffffffffffff
push esi
lea eax, [ebp - 0x80]
push eax
lea ecx, [ebp - 0x48]
call fcn.10017d8b
push 0x1018a508
lea ecx, [ebp - 0x48]
call fcn.10017f5b
call dword [sym.imp.USER32.dll_EmptyClipboard]
lea eax, [ebp - 0x64]
push eax
mov ecx, ebx
call fcn.1001b9ae
push dword [ebp - 0xbc]
mov ecx, ebx
call fcn.1001ba08
lea eax, [ebp - 0x64]
push eax
mov ecx, ebx
call fcn.1001b954
lea eax, [ebp - 0x2c]
push eax
mov ecx, ebx
call fcn.1001ba69
lea eax, [ebp - 0x48]
push eax
mov ecx, ebx
call fcn.1001bbed
call dword [sym.imp.USER32.dll_CloseClipboard]
xor edi, edi
push esi
inc edi
push edi
lea ecx, [ebp - 0x48]
call fcn.10001770
push esi
push edi
lea ecx, [ebp - 0x9c]
call fcn.10001770
push esi
push edi
lea ecx, [ebp - 0xb8]
call fcn.10001770
push esi
push edi
lea ecx, [ebp - 0x2c]
call fcn.10001770
push esi
push 1
lea ecx, [ebp - 0x64]
call fcn.10001770
push esi
push 1
lea ecx, [ebp - 0x80]
call fcn.10001770
call fcn.10085559
ret 8

Function at 0x1001c251
Capabilities:
Check if file exists
Create directory

Disassembly:
push ebx
push ebp
push esi
push edi
push dword [esp + 0x14]
call fcn.10085b54
mov edi, eax
xor ecx, ecx
push 2
pop edx
lea eax, [edi + 1]
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.100621c1
push dword [esp + 0x1c]
mov esi, eax
push esi
call fcn.100860cd
add esp, 0x10
xor ebp, ebp
test edi, edi
mov bl, 1
jl 0x1001c2c0
cmp word [esi + ebp*2], 0x5c
jne 0x1001c2b7
and word [esi + ebp*2], 0
push esi
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x1001c2b1
push eax
push esi
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
je 0x1001c2be
mov word [esi + ebp*2], 0x5c
inc ebp
cmp ebp, edi
jle 0x1001c28e
jmp 0x1001c2c0
xor bl, bl
push esi
call fcn.100621bc
pop ecx
pop edi
pop esi
pop ebp
movzx eax, bl
pop ebx
ret
Function at 0x1001c596
Capabilities:
Check if file exists
Get common file path
Get program files directory
Query or enumerate registry value

Disassembly:
push ebp
lea ebp, [esp - 0x3a4]
sub esp, 0x424
mov eax, dword [0x10207390]
xor eax, ebp
mov dword [ebp + 0x3a0], eax
mov eax, dword [ebp + 0x3ac]
push ebx
mov dword [ebp - 0x78], eax
lea eax, [ebp - 0x74]
push eax
push 0x20019
xor ebx, ebx
push ebx
push str.SOFTWAREMicrosoftWindowsCurrentVersionApp_PathsIEXPLORE.EXE
push reloc.OLEAUT32.dll_SysReAllocString
mov dword [ebp - 0x74], ebx
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
je 0x1001c5e5
xor eax, eax
jmp 0x1001c6b8
push esi
push edi
mov edi, 0x206
push edi
lea eax, [ebp - 0x6e]
push ebx
push eax
mov word [ebp - 0x70], bx
call fcn.10085bc0
add esp, 0xc
lea eax, [ebp - 0x7c]
push eax
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp - 0x80]
push eax
push ebx
push 0x101ebf0c
push dword [ebp - 0x74]
mov dword [ebp - 0x7c], 0x104
mov dword [ebp - 0x80], 1
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov esi, dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
lea eax, [ebp - 0x70]
push eax
call esi
test eax, eax
jne 0x1001c69c
push dword [ebp - 0x74]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push edi
lea eax, [ebp + 0x19a]
push ebx
push eax
mov word [ebp + 0x198], bx
call fcn.10085bc0
add esp, 0xc
push ebx
push 0x26
lea eax, [ebp + 0x198]
push eax
push ebx
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
lea eax, [ebp + 0x198]
push str.Internet_Exploreriexplore.exe
push eax
call fcn.100860a3
pop ecx
pop ecx
lea eax, [ebp + 0x198]
push eax
call esi
test eax, eax
je 0x1001c6b6
lea eax, [ebp + 0x198]
push eax
push dword [ebp - 0x78]
call fcn.100860cd
pop ecx
pop ecx
jmp 0x1001c6b3
lea eax, [ebp - 0x70]
push eax
push dword [ebp - 0x78]
call fcn.100860cd
pop ecx
pop ecx
push dword [ebp - 0x74]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor eax, eax
inc eax
pop edi
pop esi
mov ecx, dword [ebp + 0x3a0]
xor ecx, ebp
pop ebx
call fcn.1008545e
add ebp, 0x3a4
leave
ret