joyce8/EMBER2024-capa huggingface dataset:
Function at 0x418e40
Capabilities:
Copy file
Create process on windows
Get common file path

Disassembly:
mov eax, 0x18a8
call fcn.00495c50
mov eax, dword [0x5c79bc]
push ebx
xor ebx, ebx
push esi
cmp eax, ebx
mov esi, ecx
je 0x419046
lea eax, [esp + 8]
mov dword [esp + 8], ebx
push eax
push str.Count
push str.UpdateExt
call fcn.004072e0
mov eax, dword [esp + 0x14]
add esp, 0xc
cmp eax, ebx
jbe 0x41904d
push edi
mov ecx, esi
call fcn.004198b0
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.00422b10
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.00407050
push eax
lea ecx, [esp + 0x50]
push 0x103
push ecx
call esi
lea edx, [esp + 0x58]
push ebx
push edx
call fcn.00422750
add esp, 0x14
test eax, eax
je 0x418fa5
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 0x4de5e0
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], 0x4f0530
mov dword [esp + 0x28], ecx
mov dword [esp + 0x20], str.runas
call dword [sym.imp.SHELL32.dll_ShellExecuteExW]
test eax, eax
pop edi
je 0x419030
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.00406f10
add esp, 4
pop esi
pop ebx
add esp, 0x18a8
ret
mov ecx, esi
call fcn.00419060
pop esi
pop ebx
add esp, 0x18a8
ret
Function at 0x4196b0
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 0x4de3ac
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 0x419726
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 0x41973e
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.00422b10
lea eax, [esp + 0x28]
push eax
push ebx
call fcn.00494b30
mov cx, word [0x4f04e0]
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 0x4f0738
push 0x4dff74
lea edx, [esp + 0x42c]
push 0x103
push edx
stosw word es:[edi], ax
call esi
lea eax, [esp + 0x434]
push eax
call fcn.00422b10
mov cx, word [0x4f04e0]
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.00422750
add esp, 0x18
test eax, eax
je 0x419873
lea edx, [esp + 0x420]
push 1
lea eax, [esp + 0x14]
push edx
push eax
call fcn.00423370
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.004231c0
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 0x419940
Capabilities:
Enumerate files on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4c9b00
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 [0x5cad44]
push ebx
stosw word es:[edi], ax
lea eax, [ebp - 0x674]
push 0x103
push eax
push ecx
call fcn.00422760
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 0x4dffb4
lea eax, [ebp - 0x674]
push edx
push eax
push 0x4de7c0
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 0x419a69
mov esi, dword [sym.imp.MSVCRT.dll_wcscmp]
lea ecx, [ebp - 0x238]
push 0x4dffb0
push ecx
call esi
add esp, 8
test eax, eax
je 0x419a50
lea edx, [ebp - 0x238]
push 0x4dffa8
push edx
call esi
add esp, 8
test eax, eax
je 0x419a50
test byte [ebp - 0x264], 0x10
je 0x419a50
mov ecx, dword [ebp - 0x14]
lea eax, [ebp - 0x238]
push eax
push ebx
call fcn.00418710
lea ecx, [ebp - 0x264]
push ecx
push edi
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x419a0d
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 0x419aa0
Capabilities:
Copy file
Create process on windows
Get common file path

Disassembly:
mov eax, 0x18a8
call fcn.00495c50
mov eax, dword [0x5c79bc]
push esi
xor esi, esi
push edi
cmp eax, esi
mov edi, ecx
je 0x419c9e
lea eax, [esp + 8]
mov dword [esp + 8], esi
push eax
push str.Count
push str.UnInstallExt
call fcn.004072e0
mov eax, dword [esp + 0x14]
add esp, 0xc
cmp eax, esi
ja 0x419aeb
pop edi
xor eax, eax
pop esi
add esp, 0x18a8
ret
mov ecx, edi
call fcn.004198b0
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.00422b10
add esp, 0x14
lea edx, [esp + 0x250]
lea eax, [esp + 0x48]
push edx
push 0x4dffbc
push 0x103
push eax
call esi
add esp, 0x10
call fcn.00407050
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 0x4de5e0
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], 0x4f0530
mov dword [esp + 0x24], eax
mov dword [esp + 0x1c], str.runas
call dword [sym.imp.SHELL32.dll_ShellExecuteExW]
test eax, eax
je 0x419c83
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.00406f10
add esp, 4
mov eax, 1
pop edi
pop esi
add esp, 0x18a8
ret
mov ecx, edi
call fcn.0041d550
pop edi
mov eax, 1
pop esi
add esp, 0x18a8
ret
Function at 0x41c550
Capabilities:
Read .ini file

Disassembly:
sub esp, 0x208
push esi
mov esi, ecx
push edi
mov eax, dword [esi + 0xa4]
test eax, eax
jne 0x41c647
mov eax, dword [esi + 0xb0]
dec eax
je 0x41c5fb
dec eax
jne 0x41c657
mov ecx, dword [esi + 0xcfc]
lea eax, [esi + 0xaf0]
push 0x4dfe2c
push eax
call fcn.00419d30
mov edx, eax
test edx, edx
je 0x41c657
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 0x4f04e0
push str.Type
push str.Global
stosw word es:[edi], ax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
cmp word [esp + 8], 0
je 0x41c657
mov ecx, dword [esi + 0xcfc]
lea edx, [esi + 0xa0]
lea eax, [esp + 8]
push edx
push eax
call fcn.0041c440
pop edi
pop esi
add esp, 0x208
ret
mov edi, dword [esi + 0xcf8]
test edi, edi
jne 0x41c612
mov ecx, esi
call fcn.0041c470
mov edi, eax
test edi, edi
je 0x41c657
push str.Ext_GetExtensionType
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
mov dword [0x5c2b04], eax
je 0x41c62f
call eax
mov dword [esi + 0xa0], eax
cmp edi, dword [esi + 0xcf8]
je 0x41c657
push edi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
pop edi
pop esi
add esp, 0x208
ret
cmp eax, 1
jne 0x41c657
call fcn.004971a0
mov dword [esi + 0xa0], eax
pop edi
pop esi
add esp, 0x208
ret
Function at 0x41cac0
Capabilities:
Read .ini file

Disassembly:
mov eax, dword [ecx + 0xa0]
sub esp, 0xa2c
cmp eax, 0x2000
push ebp
push esi
jne 0x41cc73
lea eax, [ecx + 0xaf0]
mov ecx, dword [ecx + 0xcfc]
push 0x4dfe2c
push eax
mov dword [esp + 0x10], eax
call fcn.00419d30
mov esi, eax
xor ebp, ebp
cmp esi, ebp
je 0x41cc73
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 0x4f04e0
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 0x4f04e0
push 0x4e00d8
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 0x4f04e0
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 0x41cc33
sub eax, esi
sar eax, 1
cmp eax, 0x103
jbe 0x41cc03
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 0x41cc49
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.0045f0c0
add esp, 0x14
pop esi
pop ebp
add esp, 0xa2c
ret 4
Function at 0x41d550
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.004072e0
mov ecx, 0x81
xor eax, eax
lea edi, [esp + 0x222]
mov word [esp + 0x220], bx
rep stosd dword es:[edi], eax
mov cx, word [0x4f04e0]
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 0x41d66a
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.00407220
add esp, 0x20
lea edx, [esp + 0x21c]
push 0x4dfe34
push edx
call fcn.00417d90
mov ecx, eax
call fcn.00419d30
mov esi, eax
push 0
push esi
call fcn.00422750
add esp, 8
test eax, eax
je 0x41d65b
xor edi, edi
push esi
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x41d64d
push 0xa
call dword [sym.imp.KERNEL32.dll_Sleep]
inc edi
cmp edi, 0x64
jl 0x41d634
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 0x41d5bc
pop esi
pop ebp
push str.UnInstallExt
call fcn.00406f10
add esp, 4
pop edi
pop ebx
add esp, 0x414
ret
Function at 0x41d680
Capabilities:
Delete directory
Delete file

Disassembly:
sub esp, 0xa30
push ebp
push esi
mov esi, dword [esp + 0xa3c]
push 1
push esi
call fcn.00422750
add esp, 8
test eax, eax
je 0x41d8bd
xor ebp, ebp
lea eax, [esp + 8]
push ebp
push esi
push eax
call fcn.00454720
add esp, 0xc
cmp eax, 1
je 0x41d8bd
mov eax, dword [esp + 8]
cmp eax, ebp
je 0x41d8bd
push ebx
push edi
push ebp
push str.Count
push str.UnInstallExt
push eax
call fcn.00454d20
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 0x4de804
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 [0x4f04e0]
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 0x41d89e
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.00454bd0
mov dx, word [0x4f04e0]
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 [0x5cad44]
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.00422760
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 [0x5c3f74]
add esp, 0x1c
test eax, eax
jne 0x41d870
xor esi, esi
lea ecx, [esp + 0x18]
push ecx
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x41d864
push 0xa
call dword [sym.imp.KERNEL32.dll_Sleep]
inc esi
cmp esi, 0x64
jl 0x41d845
jmp 0x41d87b
mov dword [0x5c3f74], 1
jmp 0x41d87b
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 0x41d75f
lea edx, [esp + 0x10]
push 0
push edx
call fcn.00454920
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 0x421380
Capabilities:
Get common file path

Disassembly:
sub esp, 0x208
push ebx
push ebp
push esi
push edi
mov esi, ecx
push 0
call fcn.004211a0
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.00412c30
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 0x4de3ac
push 0x824
push edx
call dword [sym.imp.MSVCRT.dll__snwprintf]
mov dx, word [0x4f04e0]
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 0x4de5f4
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 0x4de3ac
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], 0x421550
mov dword [ebx + 0x268c], esi
call fcn.00412bb0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x208
ret
Function at 0x421ca0
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4c9c30
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x74
push ebx
push esi
push edi
mov edi, ecx
xor ebx, ebx
mov dword [ebp - 0x10], esp
cmp word [edi + 4], bx
lea eax, [edi + 4]
mov dword [ebp - 0x18], edi
jne 0x421ce4
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0x4e89fc
push eax
mov dword [ebp - 4], ebx
call dword [sym.imp.MSVCRT.dll__wfopen]
mov esi, eax
add esp, 8
cmp esi, ebx
mov dword [ebp - 0x1c], esi
jne 0x421d12
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push esi
mov ecx, edi
call fcn.004220b0
cmp eax, ebx
jne 0x421d3b
push esi
call dword [sym.imp.MSVCRT.dll_fclose]
add esp, 4
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, 0x18
xor eax, eax
lea edi, [ebp - 0x7f]
mov byte [ebp - 0x80], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov edi, dword [sym.imp.MSVCRT.dll_fread]
push esi
push 0x64
lea eax, [ebp - 0x80]
push 1
push eax
call edi
add esp, 0x10
cmp eax, 0x64
jae 0x421d84
push esi
call dword [sym.imp.MSVCRT.dll_fclose]
add esp, 4
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push esi
push 1
lea ecx, [ebp - 0x14]
push 4
push ecx
mov dword [ebp - 0x14], ebx
call edi
add esp, 0x10
cmp eax, 1
jae 0x421db7
push esi
call dword [sym.imp.MSVCRT.dll_fclose]
add esp, 4
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp - 0x14]
push edx
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov ebx, eax
mov eax, dword [ebp - 0x14]
push esi
push eax
push 1
push ebx
call edi
mov ecx, dword [ebp - 0x14]
add esp, 0x10
cmp eax, ecx
jae 0x421dec
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edi, dword [ebp - 0x18]
push ecx
push ebx
mov ecx, edi
call fcn.00422180
test eax, eax
push ebx
jne 0x421e1f
call fcn.00495c27
push esi
call dword [sym.imp.MSVCRT.dll_fclose]
add esp, 8
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.00495c27
add esp, 4
mov ecx, edi
push esi
call fcn.004221f0
push esi
call dword [sym.imp.MSVCRT.dll_fclose]
add esp, 4
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov eax, 1
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x4220b0
Capabilities:
Read file on windows

Disassembly:
sub esp, 0x14
push ebx
mov ebx, dword [sym.imp.MSVCRT.dll_fread]
xor eax, eax
push ebp
mov ebp, dword [esp + 0x20]
push esi
mov dword [esp + 0x15], eax
push edi
mov dword [esp + 0x1d], eax
push ebp
push 1
lea ecx, [esp + 0x20]
mov word [esp + 0x29], ax
push 0xc
push ecx
mov byte [esp + 0x28], 0
mov byte [esp + 0x33], al
call ebx
add esp, 0x10
mov ecx, 0xc
mov edi, str.TW.3_TAIHANG
lea esi, [esp + 0x18]
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x422101
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x42211b
push ebp
call dword [sym.imp.MSVCRT.dll_fclose]
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret 4
xor edx, edx
push ebp
mov dword [esp + 0x15], edx
push 1
lea eax, [esp + 0x18]
mov word [esp + 0x1d], dx
push 7
push eax
mov byte [esp + 0x20], 0
mov byte [esp + 0x27], dl
call ebx
add esp, 0x10
mov ecx, 7
mov edi, str.3.0.0.1
lea esi, [esp + 0x10]
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x422157
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x422171
push ebp
call dword [sym.imp.MSVCRT.dll_fclose]
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret 4
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x14
ret 4

Function at 0x4221f0
Capabilities:
Read file on windows

Disassembly:
sub esp, 8
mov edx, dword [ecx + 0x210]
push edi
xor edi, edi
mov dword [esp + 8], ecx
cmp edx, edi
jne 0x42220a
mov dword [esp + 4], edi
jmp 0x422219
mov eax, dword [ecx + 0x214]
sub eax, edx
sar eax, 2
mov dword [esp + 4], eax
cmp dword [esp + 4], edi
jle 0x422263
push ebx
push ebp
push esi
jmp 0x422228
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + 0x210]
mov ebx, dword [eax + edi*4]
mov esi, dword [ebx + 0x18]
push esi
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
mov ecx, dword [esp + 0x20]
mov ebp, eax
push ecx
push 1
push esi
push ebp
call dword [sym.imp.MSVCRT.dll_fread]
add esp, 0x14
mov ecx, ebx
push esi
push ebp
call fcn.00421be0
mov eax, dword [esp + 0x10]
inc edi
cmp edi, eax
jl 0x422224
pop esi
pop ebp
pop ebx
pop edi
add esp, 8
ret 4