joyce8/EMBER2024-capa huggingface dataset:
Function at 0x44a740
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x8c
mov eax, dword [0x67e4d0]
xor eax, ebp
mov dword [ebp - 4], eax
xor eax, eax
mov dword [ebp - 0x8c], 0x4f0053
push ebx
push esi
mov word [ebp - 8], ax
lea esi, [ebp - 0x8c]
mov eax, 0x685e30
mov dword [ebp - 0x88], 0x540046
push edi
mov dword [ebp - 0x84], 0x410057
mov edx, 0x43
mov dword [ebp - 0x80], 0x450052
sub esi, eax
mov dword [ebp - 0x7c], 0x4d005c
mov dword [ebp - 0x78], 0x630069
mov dword [ebp - 0x74], 0x6f0072
mov dword [ebp - 0x70], 0x6f0073
mov dword [ebp - 0x6c], 0x740066
mov dword [ebp - 0x68], 0x57005c
mov dword [ebp - 0x64], 0x6e0069
mov dword [ebp - 0x60], 0x6f0064
mov dword [ebp - 0x5c], 0x730077
mov dword [ebp - 0x58], 0x43005c
mov dword [ebp - 0x54], 0x720075
mov dword [ebp - 0x50], 0x650072
mov dword [ebp - 0x4c], 0x74006e
mov dword [ebp - 0x48], 0x650056
mov dword [ebp - 0x44], 0x730072
mov dword [ebp - 0x40], 0x6f0069
mov dword [ebp - 0x3c], 0x5c006e
mov dword [ebp - 0x38], 0x6e0055
mov dword [ebp - 0x34], 0x6e0069
mov dword [ebp - 0x30], 0x740073
mov dword [ebp - 0x2c], 0x6c0061
mov dword [ebp - 0x28], 0x5c006c
mov dword [ebp - 0x24], 0x650047
mov dword [ebp - 0x20], 0x6b0065
mov dword [ebp - 0x1c], 0x550073
mov dword [ebp - 0x18], str.9_2s0tvo
mov dword [ebp - 0x14], 0x73006e
mov dword [ebp - 0x10], 0x500074
mov dword [ebp - 0xc], 0x6f0072
nop
lea ecx, [edx + 0x7fffffbb]
test ecx, ecx
je 0x44a87e
movzx ecx, word [esi + eax]
test cx, cx
je 0x44a87e
mov word [eax], cx
add eax, 2
sub edx, 1
jne 0x44a860
test edx, edx
lea ecx, [eax - 2]
pop edi
cmovne ecx, eax
xor eax, eax
pop esi
pop ebx
mov word [ecx], ax
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00536569
mov esp, ebp
pop ebp
ret

Function at 0x44aa60
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1008
call fcn.005373d0
mov eax, dword [0x67e4d0]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push 0x800
lea eax, [ebp - 0x804]
mov ebx, ecx
push 0
push eax
call fcn.0058a9f0
add esp, 0xc
lea eax, [ebp - 0x804]
push 1
push 0x17
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
push 0x800
lea eax, [ebp - 0x1004]
push 0
push eax
call fcn.0058a9f0
add esp, 0xc
lea ecx, [ebp - 0x1005]
call fcn.0044a980
push eax
lea eax, [ebp - 0x804]
push eax
lea eax, [ebp - 0x1004]
push eax
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
lea eax, [ebp - 0x1004]
push eax
call fcn.0043eb90
push 0x800
lea eax, [ebp - 0x1004]
push 0
push eax
call fcn.0058a9f0
add esp, 0x10
lea eax, [ebp - 0x1004]
push 1
push 2
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
push 0x800
lea eax, [ebp - 0x804]
push 0
push eax
call fcn.0058a9f0
add esp, 0xc
lea ecx, [ebp - 0x1005]
call fcn.00449e80
push eax
lea eax, [ebp - 0x1004]
push eax
lea eax, [ebp - 0x804]
push eax
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
lea eax, [ebp - 0x804]
push eax
call fcn.0043eb90
add esp, 4
mov ecx, ebx
call fcn.0044b190
mov ecx, ebx
call fcn.0044ab80
mov ecx, ebx
call fcn.0044b3a0
mov ecx, dword [ebp - 4]
xor ecx, ebp
pop ebx
call fcn.00536569
mov esp, ebp
pop ebp
ret
Function at 0x44b190
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x2008
call fcn.005373d0
mov eax, dword [0x67e4d0]
xor eax, ebp
mov dword [ebp - 4], eax
push 0x800
lea eax, [ebp - 0x804]
push 0
push eax
call fcn.0058a9f0
add esp, 0xc
lea eax, [ebp - 0x804]
push 1
push 0x19
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
push 0x800
lea eax, [ebp - 0x1004]
push 0
push eax
call fcn.0058a9f0
add esp, 0xc
lea ecx, [ebp - 0x2005]
call fcn.0044a580
push eax
lea eax, [ebp - 0x804]
push eax
lea eax, [ebp - 0x1004]
push eax
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
lea eax, [ebp - 0x1004]
push eax
call fcn.0043eb20
push 0x800
lea eax, [ebp - 0x1804]
push 0
push eax
call fcn.0058a9f0
add esp, 0x10
lea eax, [ebp - 0x1804]
push 1
push 0x10
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
push 0x800
lea eax, [ebp - 0x2004]
push 0
push eax
call fcn.0058a9f0
add esp, 0xc
lea ecx, [ebp - 0x2005]
call fcn.0044a040
push eax
lea eax, [ebp - 0x1804]
push eax
lea eax, [ebp - 0x2004]
push eax
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
lea eax, [ebp - 0x2004]
push eax
call fcn.0043eb20
mov ecx, dword [ebp - 4]
add esp, 4
xor ecx, ebp
call fcn.00536569
mov esp, ebp
pop ebp
ret
Function at 0x44c1c0
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x606478
mov eax, dword fs:[0]
push eax
sub esp, 0x10
push ebx
push esi
push edi
mov eax, dword [0x67e4d0]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x18], 7
xor ebx, ebx
mov dword [ebp - 0x10], 0x80000
nop dword [eax + eax]
call fcn.00407c70
mov ecx, eax
test ecx, ecx
je 0x44c36d
mov eax, dword [ecx]
call dword [eax + 0xc]
lea esi, [eax + 0x10]
mov dword [ebp - 0x14], esi
mov edi, dword [ebp - 0x10]
mov dword [ebp - 4], 0
test edi, edi
js 0x44c377
mov eax, dword [esi - 8]
mov ecx, 1
sub ecx, dword [esi - 4]
sub eax, edi
or eax, ecx
jge 0x44c249
push edi
lea ecx, [ebp - 0x14]
call fcn.0040b5e0
mov esi, dword [ebp - 0x14]
cmp edi, dword [esi - 8]
jg 0x44c377
xor eax, eax
mov dword [esi - 0xc], edi
mov word [esi + edi*2], ax
lea eax, [ebp - 0x10]
push eax
push esi
lea eax, [ebp - 0x18]
push eax
push str.PendingFileRenameOperations
push 0x61e7a0
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.SHLWAPI.dll_SHGetValueW]
push dword [esi - 8]
mov edi, eax
push esi
call fcn.005a7662
add esp, 8
test eax, eax
js 0x44c377
cmp eax, dword [esi - 8]
jg 0x44c377
xor ecx, ecx
mov dword [esi - 0xc], eax
mov word [esi + eax*2], cx
test edi, edi
je 0x44c322
add esi, 0xfffffff0
mov dword [ebp - 4], 0xffffffff
cmp edi, 0xea
jne 0x44c2f7
mov eax, dword [ebp - 0x10]
add eax, eax
mov dword [ebp - 0x10], eax
or eax, 0xffffffff
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x44c2d4
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
inc ebx
cmp ebx, 0xa
jl 0x44c200
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
or eax, 0xffffffff
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x44c30c
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov ecx, dword [ebp - 0x1c]
lea eax, [ecx + 4]
push eax
push dword [ebp + 8]
push dword [ebp - 0x10]
push esi
call fcn.0044bf50
mov dword [ebp - 4], 0xffffffff
add esi, 0xfffffff0
or eax, 0xffffffff
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x44c354
mov ecx, dword [esi]
push esi
mov edx, dword [ecx]
call dword [edx + 4]
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push 0x80004005
call fcn.00409050
push 0x80070057
call fcn.00409050
int3
Function at 0x44c450
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x6064a8
mov eax, dword fs:[0]
push eax
sub esp, 8
push esi
mov eax, dword [0x67e4d0]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
call fcn.00407c70
mov ecx, eax
test ecx, ecx
je 0x44c509
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x14]
mov dword [ebp - 4], 0
push eax
lea eax, [ebp - 0x10]
mov dword [ebp - 0x14], 0
push eax
lea eax, [esi + 4]
mov ecx, esi
push eax
call fcn.0044bd50
mov esi, dword [ebp - 0x10]
test eax, eax
je 0x44c4d5
push dword [ebp - 0x14]
push esi
push 7
push str.PendingFileRenameOperations
push 0x61e7a0
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.SHLWAPI.dll_SHSetValueW]
mov dword [ebp - 4], 0xffffffff
add esi, 0xfffffff0
or eax, 0xffffffff
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x44c4f4
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov esp, ebp
pop ebp
ret
push 0x80004005
call fcn.00409050
int3
Function at 0x44d670
Capabilities:
Get disk information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x4c4
mov eax, dword [0x67e4d0]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x4c4], eax
mov dword [ebp - 0x4c0], ecx
push ebx
push esi
push edi
mov edi, dword [ebp + 0x10]
test eax, eax
je 0x44d74b
test ecx, ecx
je 0x44d74b
lea eax, [ebp - 0x4bc]
push eax
push 0x3e8
call dword [sym.imp.KERNEL32.dll_GetLogicalDriveStringsW]
test eax, eax
je 0x44d74b
mov ax, word [ebp - 0x4bc]
xor esi, esi
test ax, ax
je 0x44d74b
xor ecx, ecx
movzx edx, ax
nop dword [eax + eax]
mov ax, word [ebp + ecx - 0x4ba]
mov word [ebp - 0xa], ax
xor eax, eax
mov word [ebp - 8], ax
lea eax, [ebp - 0xd4]
push 0x64
push eax
lea eax, [ebp - 0xc]
mov word [ebp - 0xc], dx
push eax
call dword [sym.imp.KERNEL32.dll_QueryDosDeviceW]
test eax, eax
je 0x44d736
lea eax, [ebp - 0xd4]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov ebx, eax
lea eax, [ebp - 0xd4]
push ebx
push eax
push dword [ebp - 0x4c4]
call fcn.005b7aa8
add esp, 0xc
test eax, eax
je 0x44d75e
add esi, 4
lea ecx, [esi + esi]
movzx eax, word [ebp + ecx - 0x4bc]
mov edx, eax
test ax, ax
jne 0x44d6e0
pop edi
pop esi
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00536569
mov esp, ebp
pop ebp
ret
lea eax, [ebp - 0xc]
push eax
push edi
push dword [ebp - 0x4c0]
call fcn.004094b0
xor ecx, ecx
test edi, edi
je 0x44d77c
cmp edi, 0x7fffffff
jbe 0x44d781
mov ecx, 0x80070057
test ecx, ecx
js 0x44d7b7
mov eax, dword [ebp - 0x4c0]
mov esi, edi
test edi, edi
je 0x44d79f
cmp word [eax], 0
je 0x44d79f
add eax, 2
sub esi, 1
jne 0x44d791
xor eax, eax
mov ecx, 0x80070057
test esi, esi
cmovne ecx, eax
mov eax, edi
sub eax, esi
neg esi
sbb esi, esi
and esi, eax
jmp 0x44d7b9
xor esi, esi
test ecx, ecx
js 0x44d80a
mov eax, dword [ebp - 0x4c0]
mov edx, edi
lea ecx, [eax + esi*2]
sub edx, esi
je 0x44d7fd
mov eax, edx
sub eax, edi
mov edi, dword [ebp - 0x4c4]
add eax, 0x7ffffffe
add esi, eax
lea eax, [ebx + ebx]
sub eax, ecx
add edi, eax
test esi, esi
je 0x44d7fd
movzx eax, word [edi + ecx]
test ax, ax
je 0x44d7fd
mov word [ecx], ax
dec esi
add ecx, 2
sub edx, 1
jne 0x44d7e4
test edx, edx
lea eax, [ecx - 2]
cmovne eax, ecx
xor ecx, ecx
mov word [eax], cx
mov ecx, dword [ebp - 4]
mov eax, 1
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00536569
mov esp, ebp
pop ebp
ret
Function at 0x44d820
Capabilities:
Acquire debug privileges

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
mov eax, dword [0x67e4d0]
xor eax, ebp
mov dword [ebp - 4], eax
lea eax, [ebp - 0x18]
push eax
push 0x28
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.ADVAPI32.dll_OpenProcessToken]
test eax, eax
je 0x44d898
push esi
lea eax, [ebp - 0x10]
mov dword [ebp - 0x14], 1
push eax
push str.SeDebugPrivilege
push 0
call dword [sym.imp.ADVAPI32.dll_LookupPrivilegeValueW]
push 0
push 0
push 0x10
lea eax, [ebp - 0x14]
mov dword [ebp - 8], 2
push eax
push 0
push dword [ebp - 0x18]
call dword [sym.imp.ADVAPI32.dll_AdjustTokenPrivileges]
push dword [ebp - 0x18]
mov esi, eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, esi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00536569
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 4]
xor eax, eax
xor ecx, ebp
call fcn.00536569
mov esp, ebp
pop ebp
ret

Function at 0x44d950
Capabilities:
Get process image filename

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1008
call fcn.005373d0
mov eax, dword [0x67e4d0]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
mov ebx, dword [ebp + 0xc]
push esi
push edi
test ebx, ebx
je 0x44da8a
mov edi, dword [ebp + 0x10]
cmp edi, 0x64
jl 0x44da8a
push eax
push 0
push 0x410
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov esi, eax
test esi, esi
je 0x44da8a
push 0x800
lea eax, [ebp - 0x804]
push 0
push eax
call fcn.0058a9f0
add esp, 0xc
lea eax, [ebp - 0x804]
push 0x400
push eax
push 0
push esi
call sub.PSAPI.DLL_GetModuleFileNameExW
mov dword [ebp - 0x1008], eax
test eax, eax
je 0x44da5f
push 0x800
lea eax, [ebp - 0x1004]
push 0
push eax
call fcn.0058a9f0
lea eax, [ebp - 0x804]
push 0x7e
push eax
call fcn.00589db7
add esp, 0x14
test eax, eax
je 0x44da24
push 0x400
lea eax, [ebp - 0x1004]
push eax
lea eax, [ebp - 0x804]
push eax
call dword [sym.imp.KERNEL32.dll_GetLongPathNameW]
dec eax
cmp eax, 0x3fe
ja 0x44da24
mov ecx, 1
jmp 0x44da26
xor ecx, ecx
test ecx, ecx
lea edx, [ebp - 0x1004]
lea eax, [ebp - 0x804]
cmovne eax, edx
push eax
push edi
push ebx
call fcn.004094b0
mov edi, dword [ebp - 0x1008]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, edi
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00536569
mov esp, ebp
pop ebp
ret
push 0x400
lea eax, [ebp - 0x804]
push eax
push esi
call sub.PSAPI.DLL_GetProcessImageFileNameW
test eax, eax
je 0x44da3f
push edi
lea eax, [ebp - 0x804]
push ebx
push eax
call fcn.0044d670
add esp, 0xc
mov edi, eax
jmp 0x44da45
mov ecx, dword [ebp - 4]
xor eax, eax
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00536569
mov esp, ebp
pop ebp
ret
Function at 0x44df20
Capabilities:
Enumerate process modules
Terminate process

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x666f88
push 0x589c60
mov eax, dword fs:[0]
push eax
sub esp, 8
mov eax, 0x2a14
call fcn.005373d0
mov eax, dword [0x67e4d0]
xor dword [ebp - 8], eax
xor eax, ebp
mov dword [ebp - 0x1c], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0x10]
mov dword fs:[0], eax
mov dword [ebp - 0x18], esp
mov esi, dword [ebp + 8]
mov dword [ebp - 0x2a2c], esi
test esi, esi
je 0x44e0de
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x44df76
sub ecx, edx
sar ecx, 1
cmp ecx, 0x104
ja 0x44e0de
mov dword [ebp - 4], 0
call fcn.0044d820
mov dword [ebp - 4], 0xfffffffe
jmp 0x44dfbc
push 0x800
push 0
lea eax, [ebp - 0xa24]
push eax
call fcn.0058a9f0
mov dword [ebp - 0x2a28], 0
push 0x2000
push 0
lea eax, [ebp - 0x2a24]
push eax
call fcn.0058a9f0
add esp, 0x18
lea eax, [ebp - 0x2a28]
push eax
push 0x800
lea eax, [ebp - 0x2a24]
push eax
call sub.PSAPI.DLL_EnumProcesses
test eax, eax
je 0x44e0de
push 0x104
push esi
lea eax, [ebp - 0x224]
push eax
call fcn.005a8679
lea eax, [ebp - 0x224]
push eax
call fcn.005a8a4c
add esp, 0x10
xor edi, edi
cmp dword [ebp - 0x2a28], edi
jbe 0x44e0de
mov ebx, dword [sym.imp.KERNEL32.dll_TerminateProcess]
push 0x400
lea eax, [ebp - 0xa24]
push eax
push dword [ebp + edi*4 - 0x2a24]
call fcn.0044d950
add esp, 0xc
test eax, eax
je 0x44e0d1
lea eax, [ebp - 0xa24]
push eax
call fcn.005a8a4c
add esp, 4
lea ecx, [ebp - 0xa24]
lea eax, [ebp - 0x224]
nop
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x44e0a6
test dx, dx
je 0x44e0a2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x44e0a6
add eax, 4
add ecx, 4
test dx, dx
jne 0x44e080
xor eax, eax
jmp 0x44e0ab
sbb eax, eax
or eax, 1
test eax, eax
jne 0x44e0d1
push dword [ebp + edi*4 - 0x2a24]
push eax
push 1
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov esi, eax
test esi, esi
je 0x44e0d1
push 0
push esi
call ebx
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
inc edi
cmp edi, dword [ebp - 0x2a28]
jb 0x44e044
xor eax, eax
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x1c]
xor ecx, ebp
call fcn.00536569
mov esp, ebp
pop ebp
ret
Function at 0x44e100
Capabilities:
Check if file exists
Create process on windows

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x666fc8
push 0x589c60
mov eax, dword fs:[0]
push eax
sub esp, 0x848
mov eax, dword [0x67e4d0]
xor dword [ebp - 8], eax
xor eax, ebp
mov dword [ebp - 0x1c], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0x10]
mov dword fs:[0], eax
mov dword [ebp - 0x18], esp
mov esi, dword [ebp + 8]
mov ebx, dword [ebp + 0xc]
mov edi, dword [ebp + 0x1c]
mov dword [ebp - 4], 0
test esi, esi
je 0x44e261
cmp word [esi], 0
je 0x44e261
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x44e160
sub ecx, edx
sar ecx, 1
cmp ecx, 0x104
ja 0x44e261
push esi
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x44e261
push 0x800
push 0
lea eax, [ebp - 0x81c]
push eax
call fcn.0058a9f0
push esi
push 0x61e874
push 0x3ff
lea eax, [ebp - 0x81c]
push eax
call fcn.00428510
push 0x3c
push 0
lea eax, [ebp - 0x858]
push eax
call fcn.0058a9f0
add esp, 0x28
mov dword [ebp - 0x858], 0x3c
lea eax, [ebp - 0x81c]
mov dword [ebp - 0x848], eax
mov dword [ebp - 0x84c], 0x61e204
mov dword [ebp - 0x844], ebx
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x83c], eax
mov dword [ebp - 0x854], 0x440
lea eax, [ebp - 0x858]
push eax
call dword [sym.imp.SHELL32.dll_ShellExecuteExW]
mov esi, eax
test esi, esi
je 0x44e228
cmp dword [ebp + 0x18], 0
je 0x44e228
push dword [ebp + 0x20]
push dword [ebp - 0x820]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test edi, edi
je 0x44e23d
test esi, esi
je 0x44e24d
push edi
push dword [ebp - 0x820]
call dword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
test esi, esi
je 0x44e24d
push dword [ebp - 0x820]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 4], 0xfffffffe
mov eax, esi
jmp 0x44e26a
mov dword [ebp - 4], 0xfffffffe
xor eax, eax
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x1c]
xor ecx, ebp
call fcn.00536569
mov esp, ebp
pop ebp
ret

Function at 0x44e290
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
push edi
push dword [ebp + 8]
push 0
push 1
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov edi, eax
test edi, edi
jne 0x44e2aa
pop edi
pop ebp
ret
push esi
push 0
push edi
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
push edi
mov esi, eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, esi
pop esi
pop edi
pop ebp
ret
Function at 0x4505b0
Capabilities:
Delete file
Write file on windows

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1010
call fcn.005373d0
mov eax, dword [0x67e4d0]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
push esi
mov edi, ecx
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
push 0
push 0x80
push 1
push 0
push 1
push 0xc0000000
push esi
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x45060b
pop edi
pop esi
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00536569
mov esp, ebp
pop ebp
ret 4
mov esi, dword [edi + 4]
test esi, esi
je 0x4506dc
mov ecx, dword [edi + 8]
test ecx, ecx
jle 0x4506dc
mov eax, ecx
cdq
and edx, 0xfff
add eax, edx
sar eax, 0xc
mov dword [ebp - 0x1010], eax
and ecx, 0x80000fff
jns 0x450645
dec ecx
or ecx, 0xfffff000
inc ecx
xor edi, edi
mov dword [ebp - 0x100c], ecx
mov dword [ebp - 0x1008], 0
test eax, eax
jle 0x4506aa
nop dword [eax + eax]
push 0x1000
lea eax, [ebp - 0x1004]
push esi
push eax
call fcn.0058a470
add esp, 0xc
lea eax, [ebp - 0x1008]
push 0
push eax
push 0x1000
lea eax, [ebp - 0x1004]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x4506dc
inc edi
add esi, 0x1000
cmp edi, dword [ebp - 0x1010]
jl 0x450660
mov ecx, dword [ebp - 0x100c]
test ecx, ecx
jle 0x4506dc
push ecx
lea eax, [ebp - 0x1004]
push esi
push eax
call fcn.0058a470
add esp, 0xc
lea eax, [ebp - 0x1008]
push 0
push eax
push dword [ebp - 0x100c]
lea eax, [ebp - 0x1004]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_WriteFile]
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [ebp - 4]
mov eax, 1
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00536569
mov esp, ebp
pop ebp
ret 4
Function at 0x453960
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x6071c2
mov eax, dword fs:[0]
push eax
sub esp, 0x824
mov eax, dword [0x67e4d0]
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
mov dword [ebp - 0x830], ecx
mov esi, dword [ebp + 8]
test esi, esi
jne 0x4539a2
xor eax, eax
jmp 0x453b90
push esi
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x45399b
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4539b2
sub ecx, edx
sar ecx, 1
cmp ecx, 0x200
jae 0x45399b
push 0x800
lea eax, [ebp - 0x810]
push 0
push eax
call fcn.0058a9f0
push 0x400
lea eax, [ebp - 0x810]
push esi
push eax
call fcn.005a8679
add esp, 0x18
lea eax, [ebp - 0x810]
push eax
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
push str.version1.0_encodingutf_16
lea ecx, [ebp - 0x814]
call fcn.004099f0
push esi
lea ecx, [ebp - 0x818]
mov dword [ebp - 4], 0
call fcn.004099f0
mov dword [ebp - method.CXMLArchive.virtual_0], vtable.CXMLArchive.0
mov dword [ebp - 0x828], 0
mov dword [ebp - 0x824], 0
mov esi, dword [ebp - 0x814]
mov dword [ebp - 0x820], esi
test esi, esi
je 0x453a53
lock inc dword [esi + 8]
push 0
lea eax, [ebp - 0x818]
mov byte [ebp - 4], 4
push eax
lea ecx, [ebp - 0x82c]
call fcn.00453210
mov edi, dword [ebp - 0x818]
or ebx, 0xffffffff
mov ecx, dword [sym.imp.OLEAUT32.dll_SysStringLen]
test edi, edi
je 0x453abf
mov eax, ebx
lock xadd dword [edi + 8], eax
dec eax
jne 0x453abf
mov eax, dword [edi]
test eax, eax
je 0x453a97
push eax
call ecx
mov dword [edi], 0
mov eax, dword [edi + 4]
test eax, eax
je 0x453aae
push eax
call fcn.00536df8
add esp, 4
mov dword [edi + 4], 0
push 0xc
push edi
call fcn.00536dc0
mov ecx, dword [sym.imp.OLEAUT32.dll_SysStringLen]
add esp, 8
mov byte [ebp - 4], 7
test esi, esi
je 0x453b00
lock xadd dword [esi + 8], ebx
dec ebx
jne 0x453b00
mov eax, dword [esi]
test eax, eax
je 0x453ade
push eax
call ecx
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x453af5
push eax
call fcn.00536df8
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.00536dc0
add esp, 8
cmp dword [ebp - 0x828], 0
jne 0x453b0d
xor esi, esi
jmp 0x453b57
mov ebx, dword [ebp - 0x830]
lea eax, [ebp - 0x810]
push eax
lea eax, [ebp - 0x82c]
mov ecx, ebx
push eax
call fcn.004542e0
lea eax, [ebp - 0x82c]
mov ecx, ebx
push eax
call fcn.00454a00
lea eax, [ebp - 0x82c]
mov ecx, ebx
push eax
call fcn.00453450
lea eax, [ebp - 0x82c]
mov ecx, ebx
push eax
call fcn.00453bb0
mov esi, 1
lea ecx, [ebp - 0x820]
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - method.CXMLArchive.virtual_0], vtable.CXMLArchive.0
call fcn.00409ae0
lea ecx, [ebp - 0x824]
call fcn.00409ae0
mov edx, dword [ebp - 0x828]
test edx, edx
je 0x453b8e
mov ecx, dword [edx]
push edx
call dword [ecx + 8]
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.00536569
mov esp, ebp
pop ebp
ret 4