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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x61c
push ebx
push esi
lea eax, [ebp - 4]
push edi
xor ebx, ebx
push eax
mov dword [ebp - 4], ebx
call fcn.00418b00
add esp, 4
cmp eax, ebx
mov dword [0x5c7e2c], eax
je 0x419314
mov dx, word [0x4f5820]
mov ecx, 0x81
xor eax, eax
lea edi, [ebp - 0x412]
mov word [ebp - 0x414], dx
mov word [ebp - 0x20c], dx
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov ecx, 0x81
xor eax, eax
lea edi, [ebp - 0x20a]
rep stosd dword es:[edi], eax
lea ecx, [ebp - 0x20c]
push ecx
push 0x103
stosw word es:[edi], ax
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
lea edx, [ebp - 0x414]
push edx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push eax
lea eax, [ebp - 0x20c]
push 0x4e3608
push eax
call dword [sym.imp.KERNEL32.dll_GetTempFileNameW]
mov ecx, 0x563b38
call fcn.00412fb0
mov esi, dword [sym.imp.MSVCRT.dll__snwprintf]
push str.http:__feedback.theworld.cn_collection_
mov ecx, 0x412
xor eax, eax
mov edi, 0x5c0e10
push 0x4e33c0
push 0x824
push 0x5c0e10
rep stosd dword es:[edi], eax
call esi
mov ecx, 0x82
xor eax, eax
mov edi, 0x5c0a00
add esp, 0x10
rep stosd dword es:[edi], eax
lea ecx, [ebp - 0x414]
push ecx
push 0x4e33c0
push 0x104
push 0x5c0a00
call esi
mov dx, word [0x4f5820]
mov ecx, 0x81
xor eax, eax
lea edi, [ebp - 0x61a]
mov word [ebp - 0x61c], dx
add esp, 0x10
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov eax, str.___________________________7d9114302a0cb6
mov dword [0x5661d0], 0x2710
test eax, eax
mov dword [0x5661c8], 0x419330
mov dword [0x5661c4], ebx
je 0x4192b6
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov edi, eax
inc edi
lea eax, [edi + edi]
add eax, 3
and al, 0xfc
call fcn.0049bb40
mov ebx, esp
push edi
push ebx
push 0xffffffffffffffff
push str.___________________________7d9114302a0cb6
push 0
push 0
mov word [ebx], 0
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
push ebx
push str.multipart_form_data__boundary_s
lea ecx, [ebp - 0x61c]
push 0x103
push ecx
call esi
mov eax, dword [ebp - 4]
mov edx, dword [0x5c7e2c]
mov dword [0x565fa8], eax
mov ecx, 0x82
xor eax, eax
mov edi, 0x565fac
mov dword [0x565fa4], edx
add esp, 0x10
rep stosd dword es:[edi], eax
lea ecx, [ebp - 0x61c]
push ecx
push 0x4e33c0
push 0x104
push 0x565fac
call esi
add esp, 0x10
mov ecx, 0x563b38
call fcn.00412f30
lea esp, [ebp - 0x628]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x419370
Capabilities:
Get common file path

Disassembly:
sub esp, 0x214
push ebp
push str.dbghelp.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov ebp, eax
test ebp, ebp
je 0x419467
push ebx
push esi
push str.MiniDumpWriteDump
push ebp
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ebx, eax
test ebx, ebx
je 0x41945e
mov ax, word [0x4f5820]
push edi
mov word [esp + 0x1c], ax
mov ecx, 0x81
xor eax, eax
lea edi, [esp + 0x1e]
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x1c]
push ecx
push 0x103
stosw word es:[edi], ax
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
push 0x5c7c20
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push eax
lea edx, [esp + 0x24]
push 0x4e3608
push edx
call dword [sym.imp.KERNEL32.dll_GetTempFileNameW]
push 0
push 0x80
push 2
push 0
push 2
push 0x40000000
push 0x5c7c20
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov esi, eax
pop edi
cmp esi, 0xffffffff
je 0x41945e
xor eax, eax
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov ecx, dword [esp + 0x224]
push 0
lea edx, [esp + 0x10]
push 0
push edx
push 0
push esi
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call ebx
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push ebp
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
pop esi
pop ebx
pop ebp
add esp, 0x214
ret
Function at 0x41a590
Capabilities:
Copy file
Create process on windows
Get common file path

Disassembly:
mov eax, 0x18a8
call fcn.0049bb40
mov eax, dword [0x5ccd14]
push ebx
xor ebx, ebx
push esi
cmp eax, ebx
mov esi, ecx
je 0x41a796
lea eax, [esp + 8]
mov dword [esp + 8], ebx
push eax
push str.Count
push str.UpdateExt
call fcn.004072f0
mov eax, dword [esp + 0x14]
add esp, 0xc
cmp eax, ebx
jbe 0x41a79d
push edi
mov ecx, esi
call fcn.0041b000
mov ecx, 0x411
xor eax, eax
lea edi, [esp + 0x86e]
mov word [esp + 0x86c], bx
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov ecx, 0x81
xor eax, eax
lea edi, [esp + 0x256]
mov word [esp + 0x254], bx
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov ecx, 0x81
xor eax, eax
lea edi, [esp + 0x4e]
mov word [esp + 0x4c], bx
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov ecx, 0x81
xor eax, eax
lea edi, [esp + 0x666]
mov word [esp + 0x664], bx
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov ecx, 0x81
xor eax, eax
lea edi, [esp + 0x45e]
mov word [esp + 0x45c], bx
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x664]
push ecx
push 0x103
stosw word es:[edi], ax
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
mov esi, dword [sym.imp.MSVCRT.dll__snwprintf]
lea edx, [esp + 0x664]
push edx
push str._sTheWorld_
lea eax, [esp + 0x464]
push 0x103
push eax
call esi
lea ecx, [esp + 0x46c]
push ecx
call fcn.00425580
add esp, 0x14
lea edx, [esp + 0x45c]
lea eax, [esp + 0x254]
push edx
push str._sUpdateExt.ini
push 0x103
push eax
call esi
add esp, 0x10
call fcn.00407060
push eax
lea ecx, [esp + 0x50]
push 0x103
push ecx
call esi
lea edx, [esp + 0x58]
push ebx
push edx
call fcn.004251c0
add esp, 0x14
test eax, eax
je 0x41a6f5
lea eax, [esp + 0x254]
push 1
lea ecx, [esp + 0x50]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_CopyFileW]
lea edx, [esp + 0x254]
lea eax, [esp + 0x86c]
push edx
push 0x4e35f4
push 7
push str._tp:
push str._s_d__s_s
push 0x823
push eax
call esi
mov ecx, 0xe
xor eax, eax
lea edi, [esp + 0x30]
add esp, 0x1c
rep stosd dword es:[edi], eax
lea edx, [esp + 0x10]
lea ecx, [esp + 0x86c]
push edx
mov dword [esp + 0x14], 0x3c
mov dword [esp + 0x18], 0x40
mov dword [esp + 0x24], 0x4f5874
mov dword [esp + 0x28], ecx
mov dword [esp + 0x20], str.runas
call dword [sym.imp.SHELL32.dll_ShellExecuteExW]
test eax, eax
pop edi
je 0x41a780
mov eax, dword [esp + 0x44]
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov ecx, dword [esp + 0x44]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push str.UpdateExt
call fcn.00406f20
add esp, 4
pop esi
pop ebx
add esp, 0x18a8
ret
mov ecx, esi
call fcn.0041a7b0
pop esi
pop ebx
add esp, 0x18a8
ret
Function at 0x41ae00
Capabilities:
Delete file
Get common file path

Disassembly:
sub esp, 0xa28
push ebx
push ebp
push esi
push edi
xor ebp, ebp
mov ebx, dword [esp + 0xa3c]
mov ecx, 0x81
xor eax, eax
lea edi, [esp + 0x21a]
mov word [esp + 0x218], bp
rep stosd dword es:[edi], eax
mov esi, dword [sym.imp.MSVCRT.dll__snwprintf]
push ebx
stosw word es:[edi], ax
push 0x4e33c0
lea eax, [esp + 0x220]
push 0x103
push eax
call esi
mov edi, dword [sym.imp.MSVCRT.dll_wcsrchr]
lea ecx, [esp + 0x228]
push 0x5c
push ecx
call edi
add esp, 0x18
test eax, eax
je 0x41ae76
add eax, 2
lea edx, [esp + 0x218]
push eax
push edx
call dword [sym.imp.MSVCRT.dll_wcscpy]
add esp, 8
lea eax, [esp + 0x218]
push 0x2e
push eax
call edi
xor edx, edx
add esp, 8
cmp eax, edx
je 0x41ae8e
mov word [eax], dx
mov ecx, 0x81
xor eax, eax
lea edi, [esp + 0x62a]
mov word [esp + 0x628], dx
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov ecx, 0x81
xor eax, eax
lea edi, [esp + 0x12]
mov word [esp + 0x10], dx
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x628]
push ecx
push 0x103
stosw word es:[edi], ax
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
lea edx, [esp + 0x218]
lea eax, [esp + 0x628]
push edx
push eax
push str._sTheWorld_skin_s_
lea ecx, [esp + 0x1c]
push 0x103
push ecx
call esi
lea edx, [esp + 0x24]
push edx
call fcn.00425580
lea eax, [esp + 0x28]
push eax
push ebx
call fcn.0049aa00
mov cx, word [0x4f5820]
xor eax, eax
mov word [esp + 0x440], cx
mov ecx, 0x81
lea edi, [esp + 0x442]
add esp, 0x20
rep stosd dword es:[edi], eax
push str.Skin
push 0x4f5a7c
push 0x4e5198
lea edx, [esp + 0x42c]
push 0x103
push edx
stosw word es:[edi], ax
call esi
lea eax, [esp + 0x434]
push eax
call fcn.00425580
mov cx, word [0x4f5820]
xor eax, eax
mov word [esp + 0x848], cx
mov ecx, 0x81
lea edi, [esp + 0x84a]
add esp, 0x18
rep stosd dword es:[edi], eax
lea edx, [esp + 0x10]
stosw word es:[edi], ax
push edx
push str._sskin.ini
lea eax, [esp + 0x838]
push 0x103
push eax
call esi
lea ecx, [esp + 0x840]
push 0
push ecx
call fcn.004251c0
add esp, 0x18
test eax, eax
je 0x41afc3
lea edx, [esp + 0x420]
push 1
lea eax, [esp + 0x14]
push edx
push eax
call fcn.00425de0
add esp, 0xc
mov ebp, 1
lea ecx, [esp + 0x10]
push ecx
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov esi, dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
lea edx, [esp + 0x10]
push edx
call esi
push 0
push ebx
call fcn.00425c30
add esp, 8
push ebx
call esi
pop edi
mov eax, ebp
pop esi
pop ebp
pop ebx
add esp, 0xa28
ret 4
Function at 0x41b090
Capabilities:
Enumerate files on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4ce910
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x668
push ebx
push esi
mov dword [ebp - 0x14], ecx
push edi
xor ebx, ebx
mov ecx, 0x81
xor eax, eax
lea edi, [ebp - 0x672]
mov word [ebp - 0x674], bx
mov dword [ebp - 0x10], esp
rep stosd dword es:[edi], eax
mov ecx, dword [0x5d00a4]
push ebx
stosw word es:[edi], ax
lea eax, [ebp - 0x674]
push 0x103
push eax
push ecx
call fcn.004251d0
mov ecx, 0x81
xor eax, eax
lea edi, [ebp - 0x46a]
mov word [ebp - 0x46c], bx
mov edx, dword [ebp + 8]
add esp, 0x10
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
push 0x4e51d8
lea eax, [ebp - 0x674]
push edx
push eax
push 0x4e37c4
lea ecx, [ebp - 0x46c]
push 0x103
push ecx
call dword [sym.imp.MSVCRT.dll__snwprintf]
add esp, 0x18
lea edx, [ebp - 0x264]
lea eax, [ebp - 0x46c]
mov word [ebp - 0x266], bx
push edx
push eax
mov dword [ebp - 4], ebx
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov edi, eax
cmp edi, 0xffffffff
mov dword [ebp + 8], edi
je 0x41b1b9
mov esi, dword [sym.imp.MSVCRT.dll_wcscmp]
lea ecx, [ebp - 0x238]
push 0x4e51d4
push ecx
call esi
add esp, 8
test eax, eax
je 0x41b1a0
lea edx, [ebp - 0x238]
push 0x4e51cc
push edx
call esi
add esp, 8
test eax, eax
je 0x41b1a0
test byte [ebp - 0x264], 0x10
je 0x41b1a0
mov ecx, dword [ebp - 0x14]
lea eax, [ebp - 0x238]
push eax
push ebx
call fcn.00419e50
lea ecx, [ebp - 0x264]
push ecx
push edi
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x41b15d
push edi
call dword [sym.imp.KERNEL32.dll_FindClose]
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 4
Function at 0x41b1f0
Capabilities:
Copy file
Create process on windows
Get common file path

Disassembly:
mov eax, 0x18a8
call fcn.0049bb40
mov eax, dword [0x5ccd14]
push esi
xor esi, esi
push edi
cmp eax, esi
mov edi, ecx
je 0x41b3ee
lea eax, [esp + 8]
mov dword [esp + 8], esi
push eax
push str.Count
push str.UnInstallExt
call fcn.004072f0
mov eax, dword [esp + 0x14]
add esp, 0xc
cmp eax, esi
ja 0x41b23b
pop edi
xor eax, eax
pop esi
add esp, 0x18a8
ret
mov ecx, edi
call fcn.0041b000
mov ecx, 0x411
xor eax, eax
lea edi, [esp + 0x86a]
mov word [esp + 0x868], si
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov ecx, 0x81
xor eax, eax
lea edi, [esp + 0x4a]
mov word [esp + 0x48], si
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov ecx, 0x81
xor eax, eax
lea edi, [esp + 0x662]
mov word [esp + 0x660], si
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov ecx, 0x81
xor eax, eax
lea edi, [esp + 0x45a]
mov word [esp + 0x458], si
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov ecx, 0x81
xor eax, eax
lea edi, [esp + 0x252]
mov word [esp + 0x250], si
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x458]
push ecx
push 0x103
stosw word es:[edi], ax
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
mov esi, dword [sym.imp.MSVCRT.dll__snwprintf]
lea edx, [esp + 0x458]
push edx
push str._sTheWorld_
lea eax, [esp + 0x258]
push 0x103
push eax
call esi
lea ecx, [esp + 0x260]
push ecx
call fcn.00425580
add esp, 0x14
lea edx, [esp + 0x250]
lea eax, [esp + 0x48]
push edx
push 0x4e51e0
push 0x103
push eax
call esi
add esp, 0x10
call fcn.00407060
push eax
lea ecx, [esp + 0x664]
push 0x103
push ecx
call esi
add esp, 0xc
lea edx, [esp + 0x48]
lea eax, [esp + 0x660]
push 1
push edx
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileW]
lea ecx, [esp + 0x48]
lea edx, [esp + 0x868]
push ecx
push 0x4e35f4
push 9
push str._tp:
push str._s_d__s_s
push 0x823
push edx
call esi
add esp, 0x1c
mov ecx, 0xe
xor eax, eax
lea edi, [esp + 0x10]
rep stosd dword es:[edi], eax
lea ecx, [esp + 0xc]
lea eax, [esp + 0x868]
push ecx
mov dword [esp + 0x10], 0x3c
mov dword [esp + 0x14], 0x40
mov dword [esp + 0x20], 0x4f5874
mov dword [esp + 0x24], eax
mov dword [esp + 0x1c], str.runas
call dword [sym.imp.SHELL32.dll_ShellExecuteExW]
test eax, eax
je 0x41b3d3
mov edx, dword [esp + 0x44]
push 0xffffffffffffffff
push edx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov eax, dword [esp + 0x44]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push str.UnInstallExt
call fcn.00406f20
add esp, 4
mov eax, 1
pop edi
pop esi
add esp, 0x18a8
ret
mov ecx, edi
call fcn.0041f4b0
pop edi
mov eax, 1
pop esi
add esp, 0x18a8
ret
Function at 0x41e380
Capabilities:
Read .ini file

Disassembly:
sub esp, 0x208
push esi
mov esi, ecx
push edi
mov eax, dword [esi + 0xc8]
test eax, eax
jne 0x41e477
mov eax, dword [esi + 0xd4]
dec eax
je 0x41e42b
dec eax
jne 0x41e487
mov ecx, dword [esi + 0xd20]
lea eax, [esi + 0xb14]
push 0x4e5050
push eax
call fcn.0041b480
mov edx, eax
test edx, edx
je 0x41e487
mov ecx, 0x81
xor eax, eax
lea edi, [esp + 0xa]
mov word [esp + 8], 0
rep stosd dword es:[edi], eax
push edx
lea ecx, [esp + 0xc]
push 0x103
push ecx
push 0x4f5820
push str.Type
push str.Global
stosw word es:[edi], ax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
cmp word [esp + 8], 0
je 0x41e487
mov ecx, dword [esi + 0xd20]
lea edx, [esi + 0xc4]
lea eax, [esp + 8]
push edx
push eax
call fcn.0041e270
pop edi
pop esi
add esp, 0x208
ret
mov edi, dword [esi + 0xd1c]
test edi, edi
jne 0x41e442
mov ecx, esi
call fcn.0041e2a0
mov edi, eax
test edi, edi
je 0x41e487
push str.Ext_GetExtensionType
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
mov dword [0x5c7e44], eax
je 0x41e45f
call eax
mov dword [esi + 0xc4], eax
cmp edi, dword [esi + 0xd1c]
je 0x41e487
push edi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
pop edi
pop esi
add esp, 0x208
ret
cmp eax, 1
jne 0x41e487
call fcn.0049d090
mov dword [esi + 0xc4], eax
pop edi
pop esi
add esp, 0x208
ret
Function at 0x41e8f0
Capabilities:
Read .ini file

Disassembly:
mov eax, dword [ecx + 0xc4]
sub esp, 0xa2c
cmp eax, 0x2000
push ebp
push esi
jne 0x41eaa3
lea eax, [ecx + 0xb14]
mov ecx, dword [ecx + 0xd20]
push 0x4e5050
push eax
mov dword [esp + 0x10], eax
call fcn.0041b480
mov esi, eax
xor ebp, ebp
cmp esi, ebp
je 0x41eaa3
push ebx
push edi
mov ecx, 0x81
xor eax, eax
lea edi, [esp + 0x836]
mov word [esp + 0x834], bp
rep stosd dword es:[edi], eax
mov ebx, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
push esi
stosw word es:[edi], ax
lea eax, [esp + 0x838]
push 0x103
push eax
push 0x4f5820
push str.Text
push str.SideWeb
call ebx
mov ecx, 0x81
xor eax, eax
lea edi, [esp + 0x62e]
mov word [esp + 0x62c], bp
rep stosd dword es:[edi], eax
push esi
lea ecx, [esp + 0x630]
push 0x103
push ecx
push 0x4f5820
push 0x4e52fc
push str.SideWeb
stosw word es:[edi], ax
call ebx
mov ecx, 0x81
xor eax, eax
lea edi, [esp + 0x21e]
mov word [esp + 0x21c], bp
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov ecx, 0x81
xor eax, eax
lea edi, [esp + 0x16]
mov word [esp + 0x14], bp
rep stosd dword es:[edi], eax
push esi
lea edx, [esp + 0x220]
push 0x103
push edx
push 0x4f5820
push str.Icon
push str.SideWeb
stosw word es:[edi], ax
call ebx
mov ecx, 0x81
xor eax, eax
lea edi, [esp + 0x426]
mov word [esp + 0x424], bp
rep stosd dword es:[edi], eax
push 0x5c
push esi
stosw word es:[edi], ax
call dword [sym.imp.MSVCRT.dll_wcsrchr]
add esp, 8
cmp eax, ebp
pop edi
pop ebx
je 0x41ea63
sub eax, esi
sar eax, 1
cmp eax, 0x103
jbe 0x41ea33
mov eax, 0x103
push eax
lea eax, [esp + 0x420]
push esi
push eax
call dword [sym.imp.MSVCRT.dll_wcsncpy]
add esp, 0xc
lea ecx, [esp + 0x214]
lea edx, [esp + 0x41c]
lea eax, [esp + 0xc]
push ecx
push edx
push eax
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
jmp 0x41ea79
lea ecx, [esp + 0x214]
lea edx, [esp + 0xc]
push ecx
push edx
call dword [sym.imp.MSVCRT.dll_wcscpy]
add esp, 8
lea eax, [esp + 0xc]
lea ecx, [esp + 0x624]
push eax
mov eax, dword [esp + 0xc]
lea edx, [esp + 0x830]
push ecx
mov ecx, dword [esp + 0xa40]
push edx
push eax
push ecx
call fcn.004647f0
add esp, 0x14
pop esi
pop ebp
add esp, 0xa2c
ret 4
Function at 0x41f4b0
Capabilities:
Delete directory
Delete file

Disassembly:
sub esp, 0x414
push ebx
lea eax, [esp + 4]
push edi
push eax
xor ebx, ebx
push str.Count
push str.UnInstallExt
mov dword [esp + 0x14], ebx
call fcn.004072f0
mov ecx, 0x81
xor eax, eax
lea edi, [esp + 0x222]
mov word [esp + 0x220], bx
rep stosd dword es:[edi], eax
mov cx, word [0x4f5820]
add esp, 0xc
stosw word es:[edi], ax
mov word [esp + 0xc], cx
mov ecx, 0x81
xor eax, eax
lea edi, [esp + 0xe]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
cmp dword [esp + 8], ebx
jbe 0x41f5ca
push ebp
mov ebp, dword [sym.imp.MSVCRT.dll__snwprintf]
push esi
mov ecx, 0x82
xor eax, eax
lea edi, [esp + 0x14]
push ebx
rep stosd dword es:[edi], eax
mov ecx, 0x82
lea edi, [esp + 0x220]
push str.ext_d
lea edx, [esp + 0x1c]
push 0x103
push edx
rep stosd dword es:[edi], eax
call ebp
lea eax, [esp + 0x22c]
push 0x104
lea ecx, [esp + 0x28]
push eax
push ecx
push str.UnInstallExt
call fcn.00407230
add esp, 0x20
lea edx, [esp + 0x21c]
push 0x4e5058
push edx
call fcn.00419470
mov ecx, eax
call fcn.0041b480
mov esi, eax
push 0
push esi
call fcn.004251c0
add esp, 8
test eax, eax
je 0x41f5bb
xor edi, edi
push esi
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x41f5ad
push 0xa
call dword [sym.imp.KERNEL32.dll_Sleep]
inc edi
cmp edi, 0x64
jl 0x41f594
push esi
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
push esi
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
mov eax, dword [esp + 0x10]
inc ebx
cmp ebx, eax
jb 0x41f51c
pop esi
pop ebp
push str.UnInstallExt
call fcn.00406f20
add esp, 4
pop edi
pop ebx
add esp, 0x414
ret
Function at 0x41f5e0
Capabilities:
Delete directory
Delete file

Disassembly:
sub esp, 0xa30
push ebp
push esi
mov esi, dword [esp + 0xa3c]
push 1
push esi
call fcn.004251c0
add esp, 8
test eax, eax
je 0x41f81d
xor ebp, ebp
lea eax, [esp + 8]
push ebp
push esi
push eax
call fcn.0045a420
add esp, 0xc
cmp eax, 1
je 0x41f81d
mov eax, dword [esp + 8]
cmp eax, ebp
je 0x41f81d
push ebx
push edi
push ebp
push str.Count
push str.UnInstallExt
push eax
call fcn.0045aa20
mov esi, eax
mov ecx, 0x81
xor eax, eax
lea edi, [esp + 0x84a]
mov ebx, dword [sym.imp.MSVCRT.dll__snwprintf]
mov word [esp + 0x848], bp
add esp, 0x10
mov dword [esp + 0x14], esi
rep stosd dword es:[edi], eax
push esi
push 0x4e3808
lea ecx, [esp + 0x840]
push 0x104
push ecx
stosw word es:[edi], ax
call ebx
mov ecx, 0x81
xor eax, eax
lea edi, [esp + 0x232]
mov word [esp + 0x230], bp
rep stosd dword es:[edi], eax
mov dx, word [0x4f5820]
mov ecx, 0x81
stosw word es:[edi], ax
xor eax, eax
lea edi, [esp + 0x43a]
mov word [esp + 0x438], dx
add esp, 0x10
rep stosd dword es:[edi], eax
test esi, esi
stosw word es:[edi], ax
jbe 0x41f7fe
mov ecx, 0x82
xor eax, eax
lea edi, [esp + 0x428]
push ebp
rep stosd dword es:[edi], eax
mov ecx, 0x82
lea edi, [esp + 0x224]
rep stosd dword es:[edi], eax
push str.ext_d
lea eax, [esp + 0x430]
push 0x103
push eax
call ebx
mov eax, dword [esp + 0x20]
lea ecx, [esp + 0x230]
push 0x103
lea edx, [esp + 0x43c]
push ecx
push edx
push str.UnInstallExt
push eax
call fcn.0045a8d0
mov dx, word [0x4f5820]
mov ecx, 0x81
xor eax, eax
lea edi, [esp + 0x3e]
mov word [esp + 0x3c], dx
mov word [esp + 0x654], dx
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov edx, dword [0x5d00a4]
mov ecx, 0x81
xor eax, eax
lea edi, [esp + 0x656]
rep stosd dword es:[edi], eax
push 0
lea ecx, [esp + 0x658]
push 0x104
push ecx
push edx
stosw word es:[edi], ax
call fcn.004251d0
add esp, 0x34
lea eax, [esp + 0x220]
lea ecx, [esp + 0x220]
lea edx, [esp + 0x630]
push eax
push ecx
push str.Extensions
push edx
push str._s_s_s_s.dll
lea eax, [esp + 0x2c]
push 0x103
push eax
call ebx
mov eax, dword [0x5c92b4]
add esp, 0x1c
test eax, eax
jne 0x41f7d0
xor esi, esi
lea ecx, [esp + 0x18]
push ecx
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x41f7c4
push 0xa
call dword [sym.imp.KERNEL32.dll_Sleep]
inc esi
cmp esi, 0x64
jl 0x41f7a5
jmp 0x41f7db
mov dword [0x5c92b4], 1
jmp 0x41f7db
lea edx, [esp + 0x18]
push edx
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
lea eax, [esp + 0x18]
push eax
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
lea ecx, [esp + 0x18]
push ecx
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
mov eax, dword [esp + 0x14]
inc ebp
cmp ebp, eax
jb 0x41f6bf
lea edx, [esp + 0x10]
push 0
push edx
call fcn.0045a620
mov eax, dword [esp + 0xa4c]
add esp, 8
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
pop edi
pop ebx
pop esi
pop ebp
add esp, 0xa30
ret 4
Function at 0x423de0
Capabilities:
Get common file path

Disassembly:
sub esp, 0x208
push ebx
push ebp
push esi
push edi
mov esi, ecx
push 0
call fcn.00423c00
mov eax, dword [esi + 4]
push 0x3f0
push eax
call dword [sym.imp.USER32.dll_GetDlgItem]
push 0
push 0
push 0x402
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
lea ebx, [esi + 0x1874]
mov ecx, ebx
call fcn.00412fb0
lea edx, [ebx + 0x5d2d8]
mov ecx, 0x412
xor eax, eax
mov edi, edx
rep stosd dword es:[edi], eax
lea ecx, [esi + 0x214]
push ecx
push 0x4e33c0
push 0x824
push edx
call dword [sym.imp.MSVCRT.dll__snwprintf]
mov dx, word [0x4f5820]
mov ecx, 0x81
xor eax, eax
lea edi, [esp + 0x22]
mov word [esp + 0x20], dx
add esp, 0x10
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea eax, [esp + 0x10]
push eax
push 0x103
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
lea ebp, [esi + 0xc]
push ebp
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push eax
lea ecx, [esp + 0x18]
push 0x4e3608
push ecx
call dword [sym.imp.KERNEL32.dll_GetTempFileNameW]
lea edx, [ebx + 0x5cec8]
push ebp
mov ecx, 0x82
xor eax, eax
mov edi, edx
push 0x4e33c0
push 0x104
push edx
rep stosd dword es:[edi], eax
call dword [sym.imp.MSVCRT.dll__snwprintf]
mov esi, dword [esi + 4]
add esp, 0x10
mov ecx, ebx
mov dword [ebx + 0x2690], 0x423fb0
mov dword [ebx + 0x268c], esi
call fcn.00412f30
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x208
ret