joyce8/EMBER2024-capa huggingface dataset:
Function at 0x483363
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x86c
push ebx
push esi
push edi
xor esi, esi
push 0x40
lea eax, [ebp - 0x64]
push esi
push eax
mov dword [ebp - 4], esi
mov dword [ebp - 8], esi
mov dword [ebp - 0x68], 0x44
call fcn.0049cee0
xor eax, eax
mov dword [ebp - 0x1c], esi
lea edi, [ebp - 0x18]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [ebp - 0xc]
push eax
xor ebx, ebx
mov dword [ebp - 0xc], esi
call fcn.00484369
add esp, 0x10
test eax, eax
je 0x48344d
lea eax, [ebp - 4]
push eax
push dword [ebp - 0xc]
call fcn.00484417
push 0x7fe
lea eax, [ebp - 0x866]
push esi
push eax
mov word [ebp - 0x868], si
call fcn.0049cee0
push dword [ebp + 0xc]
lea eax, [ebp - 0x868]
push dword [ebp + 8]
push str.__s___s
push 0x400
push eax
call fcn.0049cdf9
add esp, 0x28
push str.Advapi32.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov ebx, eax
cmp ebx, esi
je 0x48342e
push str.CreateProcessWithTokenW
push ebx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp eax, esi
je 0x48342e
lea ecx, [ebp - 0x1c]
push ecx
lea ecx, [ebp - 0x68]
push ecx
push esi
push esi
push esi
lea ecx, [ebp - 0x868]
push ecx
push esi
push esi
push dword [ebp - 4]
call eax
jmp 0x48344a
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x68]
push eax
push esi
push esi
push esi
push esi
push esi
push esi
lea eax, [ebp - 0x868]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_CreateProcessW]
mov dword [ebp - 8], eax
cmp dword [ebp - 4], esi
mov edi, dword [sym.imp.KERNEL32.dll_CloseHandle]
je 0x483460
push dword [ebp - 4]
call edi
mov dword [ebp - 4], esi
cmp dword [ebp - 0x1c], esi
je 0x48346d
push dword [ebp - 0x1c]
call edi
mov dword [ebp - 0x1c], esi
cmp dword [ebp - 0x18], esi
je 0x48347a
push dword [ebp - 0x18]
call edi
mov dword [ebp - 0x18], esi
cmp ebx, esi
je 0x483485
push ebx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, dword [ebp - 8]
pop edi
pop esi
pop ebx
leave
ret
Function at 0x48348d
Capabilities:
Check os version
Create process on windows

Disassembly:
mov eax, 0x59977c
call fcn.00596170
sub esp, 0x178
push ebx
xor ebx, ebx
cmp dword [ebp + 8], ebx
jne 0x4834ac
xor eax, eax
jmp 0x483663
mov eax, dword [0x61c924]
push esi
mov ecx, 0x61c924
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x18], eax
push dword [ebp + 0xc]
mov dword [ebp - 4], ebx
push dword [ebp + 8]
lea eax, [ebp - 0x18]
push str.__s___s
call fcn.00432306
push pe_nt_image_headers32
lea eax, [ebp - 0x180]
push ebx
push eax
call fcn.0049cee0
add esp, 0x18
lea eax, [ebp - 0x184]
push eax
mov dword [ebp - 0x184], 0x114
xor esi, esi
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
test eax, eax
je 0x483512
cmp dword [ebp - 0x180], 6
jne 0x483512
inc esi
cmp esi, ebx
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x10], ebx
lea esi, [ebp - 0x10]
jne 0x483526
call fcn.0044f048
jmp 0x48352b
call fcn.0044eff8
cmp eax, ebx
jne 0x483646
push edi
push 0x40
lea eax, [ebp - 0x6c]
push ebx
push eax
mov dword [ebp - 0x70], 0x44
call fcn.0049cee0
push dword [ebp - 0x10]
xor eax, eax
mov dword [ebp - 0x2c], ebx
lea edi, [ebp - 0x28]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov eax, dword [ebp + 0x10]
neg eax
sbb eax, eax
and eax, 5
mov dword [ebp - 0x44], 1
mov word [ebp - 0x40], ax
call fcn.0044f0b3
add esp, 0x10
test al, al
jne 0x483591
cmp dword [ebp - 0x10], ebx
je 0x483587
push dword [ebp - 0x10]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x10], ebx
lea eax, [ebp - 0x10]
push eax
call fcn.0044f22d
pop ecx
push str.userenv.dll
mov dword [ebp - 0x68], str.Winsta0Default
mov dword [ebp - 0x14], 0x30
mov dword [ebp + 8], ebx
xor edi, edi
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
cmp eax, ebx
mov dword [ebp - 0x1c], eax
je 0x4835f0
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.CreateEnvironmentBlock
push eax
call edi
push str.DestroyEnvironmentBlock
push dword [ebp - 0x1c]
mov esi, eax
call edi
cmp esi, ebx
mov edi, eax
je 0x4835f0
push ebx
push dword [ebp - 0x10]
lea eax, [ebp + 8]
push eax
call esi
test eax, eax
je 0x4835ed
mov dword [ebp - 0x14], 0x430
jmp 0x4835f0
mov dword [ebp + 8], ebx
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x70]
push eax
push ebx
push dword [ebp + 8]
push dword [ebp - 0x14]
push ebx
push ebx
push ebx
push dword [ebp - 0x18]
push ebx
push dword [ebp - 0x10]
call dword [sym.imp.ADVAPI32.dll_CreateProcessAsUserW]
cmp dword [ebp - 0x2c], ebx
mov dword [ebp - 0x14], eax
je 0x483620
push dword [ebp - 0x2c]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - 0x28], ebx
je 0x48362e
push dword [ebp - 0x28]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp edi, ebx
je 0x483637
push dword [ebp + 8]
call edi
cmp dword [ebp - 0x1c], ebx
pop edi
je 0x483646
push dword [ebp - 0x1c]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp dword [ebp - 0x10], ebx
pop esi
je 0x483655
push dword [ebp - 0x10]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x18]
add eax, 0xfffffff0
call fcn.004011c0
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0xc]
pop ebx
mov dword fs:[0], ecx
leave
ret
Function at 0x483670
Capabilities:
Check if file exists

Disassembly:
mov eax, 0x59958a
call fcn.00596170
mov eax, dword [ebp + 8]
mov eax, dword [eax]
sub esp, 0xc
push edi
xor edi, edi
cmp dword [eax - 0xc], edi
je 0x483866
mov eax, dword [0x61c924]
push ebx
push esi
mov esi, 0x61c924
mov ecx, esi
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x10], eax
mov dword [ebp - 4], edi
mov eax, dword [0x61c924]
mov ecx, esi
call dword [eax + 0xc]
lea ebx, [eax + 0x10]
mov dword [ebp - 0x14], ebx
mov byte [ebp - 4], 1
cmp dword [ebx - 0xc], edi
jne 0x48382c
mov eax, dword [ebp + 8]
lea edi, [ebp - 0x14]
call fcn.004013bf
mov ebx, dword [ebp - 0x14]
push ebx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x4836e8
mov esi, edi
call fcn.0040146d
mov ebx, dword [ebp - 0x14]
cmp dword [ebx - 0xc], 0
jne 0x48382c
lea esi, [ebp - 0x10]
call fcn.0040146d
lea edi, [ebp - 0x18]
call fcn.00483dfd
mov edi, esi
mov byte [ebp - 4], 5
call fcn.004013bf
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x18]
add eax, 0xfffffff0
call fcn.004011c0
mov eax, dword [ebp - 0x10]
cmp dword [eax - 0xc], 0
je 0x48378a
push eax
lea esi, [ebp - 0x18]
call fcn.00483875
pop ecx
mov byte [ebp - 4], 6
call fcn.004013bf
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x18]
add eax, 0xfffffff0
call fcn.004011c0
push dword [ebp + 8]
lea eax, [ebp - 0x18]
push eax
mov ecx, edi
call fcn.00414c1b
pop ecx
pop ecx
lea edi, [ebp - 0x14]
mov byte [ebp - 4], 7
call fcn.004013bf
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x18]
add eax, 0xfffffff0
call fcn.004011c0
mov ebx, dword [ebp - 0x14]
push ebx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x48378a
mov esi, edi
call fcn.0040146d
mov ebx, dword [ebp - 0x14]
cmp dword [ebx - 0xc], 0
jne 0x48382c
lea esi, [ebp - 0x10]
call fcn.0040146d
lea edi, [ebp - 0x18]
call fcn.00483ead
mov edi, esi
mov byte [ebp - 4], 8
call fcn.004013bf
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x18]
add eax, 0xfffffff0
call fcn.004011c0
mov eax, dword [ebp - 0x10]
cmp dword [eax - 0xc], 0
je 0x483828
push eax
lea esi, [ebp - 0x18]
call fcn.00483875
pop ecx
mov byte [ebp - 4], 9
call fcn.004013bf
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x18]
add eax, 0xfffffff0
call fcn.004011c0
push dword [ebp + 8]
lea eax, [ebp - 0x18]
push eax
mov ecx, edi
call fcn.00414c1b
pop ecx
pop ecx
lea edi, [ebp - 0x14]
mov byte [ebp - 4], 0xa
call fcn.004013bf
mov eax, dword [ebp - 0x18]
add eax, 0xfffffff0
call fcn.004011c0
mov ebx, dword [ebp - 0x14]
push ebx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x483828
mov esi, edi
call fcn.0040146d
mov ebx, dword [ebp - 0x14]
cmp dword [ebx - 0xc], 0
mov esi, dword [sym.imp.KERNEL32.dll_LoadLibraryW]
je 0x483848
push ebx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x483848
push ebx
call esi
mov edi, eax
test edi, edi
jne 0x483851
mov eax, dword [ebp + 8]
push dword [eax]
call esi
mov edi, eax
lea eax, [ebx - 0x10]
call fcn.004011c0
mov eax, dword [ebp - 0x10]
add eax, 0xfffffff0
call fcn.004011c0
pop esi
pop ebx
mov ecx, dword [ebp - 0xc]
mov eax, edi
pop edi
mov dword fs:[0], ecx
leave
ret
Function at 0x483dfd
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x210
push esi
xor esi, esi
test byte [0x620a54], 1
mov dword [ebp - 4], esi
jne 0x483e3c
mov eax, dword [0x61c924]
or dword [0x620a54], 1
mov ecx, 0x61c924
call dword [eax + 0xc]
add eax, 0x10
push 0x59d4c4
mov dword [0x620a50], eax
call fcn.0049c9ee
pop ecx
mov eax, dword [0x620a50]
cmp dword [eax - 0xc], esi
jne 0x483e96
push ebx
push 0x20a
lea eax, [ebp - 0x20e]
push esi
push eax
mov word [ebp - 0x210], si
call fcn.0049cee0
add esp, 0xc
push 1
push 0x25
lea eax, [ebp - 0x210]
push eax
push esi
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
lea eax, [ebp - 0x210]
push eax
call fcn.0049cde3
pop ecx
lea ecx, [ebp - 0x210]
mov ebx, eax
push ecx
mov eax, 0x620a50
call fcn.00401400
pop ebx
mov eax, dword [0x620a50]
add eax, 0xfffffff0
call fcn.00401367
add eax, 0x10
mov dword [edi], eax
mov eax, edi
pop esi
leave
ret

Function at 0x483ead
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x210
push esi
xor esi, esi
test byte [0x620a4c], 1
mov dword [ebp - 4], esi
jne 0x483eec
mov eax, dword [0x61c924]
or dword [0x620a4c], 1
mov ecx, 0x61c924
call dword [eax + 0xc]
add eax, 0x10
push 0x59d4d1
mov dword [0x620a48], eax
call fcn.0049c9ee
pop ecx
mov eax, dword [0x620a48]
cmp dword [eax - 0xc], esi
jne 0x483f46
push ebx
push 0x20a
lea eax, [ebp - 0x20e]
push esi
push eax
mov word [ebp - 0x210], si
call fcn.0049cee0
add esp, 0xc
push 1
push 0x24
lea eax, [ebp - 0x210]
push eax
push esi
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
lea eax, [ebp - 0x210]
push eax
call fcn.0049cde3
pop ecx
lea ecx, [ebp - 0x210]
mov ebx, eax
push ecx
mov eax, 0x620a48
call fcn.00401400
pop ebx
mov eax, dword [0x620a48]
add eax, 0xfffffff0
call fcn.00401367
add eax, 0x10
mov dword [edi], eax
mov eax, edi
pop esi
leave
ret

Function at 0x483f5d
Capabilities:
Get common file path
Get program files directory

Disassembly:
mov eax, 0x5981ee
call fcn.00596170
sub esp, 0x20c
push esi
mov esi, dword [ebp + 8]
push edi
xor edi, edi
mov dword [ebp - 4], edi
mov ecx, 0x61c924
mov dword [ebp - 0x10], edi
call fcn.004014c8
push 0x206
lea eax, [ebp - 0x216]
mov dword [ebp - 4], edi
push edi
push eax
mov dword [ebp - 0x10], 1
mov word [ebp - 0x218], di
call fcn.0049cee0
add esp, 0xc
lea eax, [ebp - 0x218]
push eax
push edi
push edi
push 0x26
push edi
call dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
test eax, eax
jl 0x483fdf
push str.Internet_Exploreriexplore.exe
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
lea eax, [ebp - 0x218]
push eax
push esi
call fcn.00432365
mov ecx, dword [ebp - 0xc]
pop edi
mov eax, esi
pop esi
mov dword fs:[0], ecx
leave
ret
Function at 0x484128
Capabilities:
Query environment variable

Disassembly:
push 0x14
push 0x5fdbc8
call fcn.00595fd8
xor eax, eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp + 8], eax
je 0x4841d6
cmp dword [ebp + 0xc], eax
je 0x4841d6
push eax
push eax
push dword [ebp + 8]
mov edi, dword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsW]
call edi
mov esi, eax
cmp esi, 1
jb 0x4841d6
mov ebx, 0x103
cmp esi, ebx
ja 0x4841d6
and dword [ebp - 4], 0
xor ecx, ecx
push 2
pop edx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0049b658
pop ecx
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x1c], eax
test eax, eax
je 0x4841d2
lea ecx, [esi + esi]
push ecx
push 0
push eax
call fcn.0049cee0
add esp, 0xc
push esi
push dword [ebp - 0x24]
push dword [ebp + 8]
call edi
test eax, eax
je 0x4841d2
cmp eax, ebx
ja 0x4841d2
push eax
push dword [ebp - 0x24]
push ebx
push dword [ebp + 0xc]
call fcn.004a1796
add esp, 0x10
mov dword [ebp - 0x20], 1
jmp 0x4841d2
or dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x1c], 0
je 0x4841e5
push dword [ebp - 0x1c]
call fcn.0049cf5a
pop ecx
mov eax, dword [ebp - 0x20]
call fcn.00596013
ret

Function at 0x4842d1
Capabilities:
Get common file path

Disassembly:
mov eax, 0x5981ee
call fcn.00596170
sub esp, 0x20c
push esi
mov esi, dword [ebp + 8]
push edi
xor edi, edi
push 0x206
mov dword [ebp - 4], edi
lea eax, [ebp - 0x216]
push edi
mov dword [ebp - 0x10], edi
push eax
mov word [ebp - 0x218], di
call fcn.0049cee0
add esp, 0xc
mov ecx, 0x61c924
call fcn.004014c8
lea eax, [ebp - 0x218]
push eax
mov dword [ebp - 4], edi
push 0x104
mov dword [ebp - 0x10], 1
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
cmp eax, edi
je 0x484359
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.SHLWAPI.dll_PathAddBackslashW]
lea eax, [ebp - 0x218]
push eax
push esi
call fcn.00432365
push str.kinst.log
push esi
call fcn.004320b6
mov ecx, dword [ebp - 0xc]
pop edi
mov eax, esi
pop esi
mov dword fs:[0], ecx
leave
ret

Function at 0x484369
Capabilities:
Enumerate processes

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x230
push esi
push edi
push str.explorer.exe
lea eax, [ebp - 4]
push eax
xor esi, esi
xor edi, edi
call fcn.0043238b
push 0x228
lea eax, [ebp - 0x22c]
push esi
push eax
mov dword [ebp - 0x230], esi
call fcn.0049cee0
add esp, 0xc
push esi
push 2
call sub.KERNEL32.dll_CreateToolhelp32Snapshot
mov esi, eax
cmp esi, 0xffffffff
je 0x484406
lea eax, [ebp - 0x230]
push eax
push esi
mov dword [ebp - 0x230], 0x22c
call sub.KERNEL32.dll_Process32FirstW
jmp 0x4843eb
lea eax, [ebp - 0x20c]
push eax
push dword [ebp - 4]
call fcn.0049f664
test eax, eax
pop ecx
pop ecx
je 0x4843f1
lea eax, [ebp - 0x230]
push eax
push esi
call sub.KERNEL32.dll_Process32NextW
test eax, eax
jne 0x4843c9
jmp 0x4843ff
mov eax, dword [ebp - 0x228]
mov ecx, dword [ebp + 8]
xor edi, edi
mov dword [ecx], eax
inc edi
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 4]
add eax, 0xfffffff0
call fcn.004011c0
mov eax, edi
pop edi
pop esi
leave
ret
Function at 0x484722
Capabilities:
Create directory
Delete directory

Disassembly:
mov eax, 0x59c14a
call fcn.00596170
push esi
push edi
and dword [ebp - 4], 0
push str._access
lea eax, [ebp + 8]
push eax
call fcn.004320b6
push 0
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
call esi
test edi, edi
je 0x484764
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
jmp 0x48476b
call esi
cmp eax, 5
je 0x48476e
xor edi, edi
inc edi
mov eax, dword [ebp + 8]
add eax, 0xfffffff0
call fcn.004011c0
mov ecx, dword [ebp - 0xc]
mov eax, edi
pop edi
pop esi
mov dword fs:[0], ecx
leave
ret
Function at 0x484b89
Capabilities:
Move file

Disassembly:
mov eax, 0x599540
call fcn.00596170
sub esp, 0x38
push esi
push edi
and dword [ebp - 4], 0
lea esi, [ebp + 8]
call fcn.0044f805
push eax
lea eax, [ebp - 0x44]
call fcn.0041dec7
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0x28]
push eax
mov byte [ebp - 4], 1
call fcn.0045008c
lea eax, [ebp - 0x28]
call fcn.00451020
movzx edi, al
test edi, edi
jne 0x484bf9
cmp dword [ebp - 0x14], 0x104
jb 0x484bda
xor al, al
jmp 0x484bf6
cmp dword [ebp - 0x10], 8
mov eax, dword [ebp - 0x24]
jae 0x484be6
lea eax, [ebp - 0x24]
push 5
push 0
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileExW]
test eax, eax
setne al
movzx edi, al
push 0
push 1
lea esi, [ebp - 0x28]
call fcn.0041a0c9
push 0
push 1
lea esi, [ebp - 0x44]
call fcn.0041a0c9
mov eax, dword [ebp + 8]
add eax, 0xfffffff0
call fcn.004011c0
mov ecx, dword [ebp - 0xc]
mov eax, edi
pop edi
mov dword fs:[0], ecx
pop esi
leave
ret

Function at 0x484c2c
Capabilities:
Check if file exists

Disassembly:
push ecx
push edi
push 3
xor edi, edi
push edi
push edi
push esi
push dword [esp + 0x1c]
call fcn.00485b35
add esp, 0x14
test eax, eax
jne 0x484c52
push dword [esi]
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x484c52
inc edi
mov eax, edi
pop edi
pop ecx
ret
Function at 0x48509b
Capabilities:
Persist via run registry key

Disassembly:
mov eax, 0x597641
call fcn.00596170
push ecx
push ecx
push esi
push edi
xor edi, edi
and dword [ebp - 0x10], edi
and dword [ebp - 4], edi
mov eax, dword [0x61c924]
mov ecx, 0x61c924
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x14], eax
push str.SOFTWAREMicrosoftWindowsCurrentVersionRunOnce
push reloc.OLEAUT32.dll_SysReAllocString
lea esi, [ebp - 0x10]
mov byte [ebp - 4], 1
call fcn.0044ed67
test eax, eax
je 0x4850ef
lea eax, [ebp - 0x14]
push eax
mov eax, esi
push eax
call fcn.0044eddb
test eax, eax
je 0x4850ef
inc edi
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
call fcn.004011c0
cmp dword [ebp - 0x10], 0
je 0x485109
push dword [ebp - 0x10]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, dword [ebp - 0xc]
mov eax, edi
pop edi
pop esi
mov dword fs:[0], ecx
leave
ret

Function at 0x485119
Capabilities:
Create process on windows

Disassembly:
mov eax, 0x599846
call fcn.00596170
push ecx
push ecx
push ebx
push esi
push edi
mov edi, dword [sym.imp.SHELL32.dll_ShellExecuteW]
push 1
mov esi, ecx
mov eax, dword [esi]
xor ecx, ecx
push ecx
push ecx
push eax
mov ebx, str.open
push ebx
push ecx
call edi
cmp eax, 0x20
jle 0x48514c
xor esi, esi
inc esi
jmp 0x485189
mov eax, dword [esi]
push 1
push 0
push eax
push str.IEXPLORE.EXE
push ebx
push 0
call edi
cmp eax, 0x20
jg 0x485147
lea eax, [ebp - 0x10]
push eax
call fcn.00483f5d
pop ecx
and dword [ebp - 4], 0
push dword [esi]
push dword [ebp - 0x10]
call fcn.00483363
mov esi, eax
mov eax, dword [ebp - 0x10]
pop ecx
pop ecx
add eax, 0xfffffff0
call fcn.004011c0
mov ecx, dword [ebp - 0xc]
pop edi
mov eax, esi
pop esi
mov dword fs:[0], ecx
pop ebx
leave
ret
Function at 0x4852e7
Capabilities:
Get file size

Disassembly:
mov eax, 0x599526
call fcn.00596170
sub esp, 0x24
push ebx
push esi
push edi
xor ebx, ebx
lea eax, [ebp - 0x10]
push ebx
push eax
call fcn.00481205
pop ecx
pop ecx
mov dword [ebp - 4], ebx
mov eax, dword [ebp - 0x10]
mov eax, dword [eax - 0xc]
cmp eax, ebx
jle 0x485363
lea esi, [ebp - 0x10]
call fcn.0044f805
push eax
call fcn.00497105
mov edi, eax
cmp edi, ebx
pop ecx
je 0x485363
mov eax, dword [edi]
lea ecx, [ebp - 0x30]
push ecx
mov ecx, edi
call dword [eax + 0x18]
mov byte [ebp - 4], 1
cmp dword [eax + 0x18], 8
jb 0x485341
mov eax, dword [eax + 4]
jmp 0x485344
add eax, 4
push eax
push dword [ebp + 8]
call fcn.00432365
push ebx
push 1
lea esi, [ebp - 0x30]
mov byte [ebp - 4], bl
call fcn.0041a0c9
mov eax, dword [edi]
push 1
mov ecx, edi
call dword [eax]
push ebx
push 0x80
push 3
push ebx
push 1
push SysReAllocStringLen
push dword [ebp - 0x10]
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov esi, eax
cmp esi, 0xffffffff
je 0x4853c1
push ebx
push esi
call dword [sym.imp.KERNEL32.dll_GetFileSize]
cmp eax, ebx
jbe 0x4853ba
test eax, eax
mov dword [ebp - 0x14], eax
fild dword [ebp - 0x14]
jge 0x48539f
fadd dword [0x5f3de8]
fmul qword [0x5f3f78]
mov eax, dword [ebp + 0xc]
push ecx
push ecx
fstp qword [esp]
push str._0.2f_MB
call fcn.00432306
add esp, 0xc
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x10]
add eax, 0xfffffff0
call fcn.004011c0
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
leave
ret
Function at 0x485b35
Capabilities:
Check if file exists
Delete file

Disassembly:
mov eax, 0x59b64a
call fcn.00596170
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov ecx, dword [eax - 0xc]
sub esp, 0x9c
push ebx
xor ebx, ebx
cmp ecx, ebx
push esi
push edi
je 0x485ca9
mov edi, dword [ebp + 0xc]
mov ecx, dword [edi]
cmp dword [ecx - 0xc], ebx
je 0x485ca9
push eax
lea esi, [ebp - 0xa4]
call fcn.00433627
mov dword [ebp - 4], ebx
push dword [eax]
lea eax, [ebp + 8]
push eax
call fcn.0042fecc
lea eax, [ebp - 0xa0]
mov byte [ebp - 4], 2
cmp dword [ebp - 0xa4], eax
je 0x485ba0
push dword [ebp - 0xa4]
call fcn.0049daa8
pop ecx
mov ecx, 0x61c924
lea esi, [ebp - 0x14]
mov dword [ebp - 0x20], 0x5f1f9c
call fcn.004014c8
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x1c], ebx
mov byte [ebp - 4], 3
push dword [edi]
mov eax, esi
push eax
call fcn.00432365
mov eax, dword [ebp + 0x14]
cmp eax, ebx
je 0x485bd5
mov dword [ebp - 0x18], eax
push dword [ebp + 8]
lea ebx, [ebp - 0x20]
call fcn.00485a6a
push dword [edi]
mov esi, dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
call esi
test eax, eax
mov ebx, dword [sym.imp.KERNEL32.dll_DeleteFileW]
je 0x485bf8
push dword [edi]
call ebx
cmp dword [ebp + 0x18], 0
lea edi, [ebp - 0x20]
jne 0x485c08
push 0x12c
jmp 0x485c0b
push dword [ebp + 0x18]
push dword [ebp + 8]
call fcn.00485776
mov edi, eax
test edi, edi
mov eax, dword [ebp + 0xc]
pop ecx
pop ecx
je 0x485c5d
push dword [eax]
call ebx
mov eax, dword [ebp + 0x10]
test eax, eax
je 0x485c2b
mov dword [eax], edi
cmp dword [ebp - 0x10], 0
je 0x485c3e
push dword [ebp - 0x10]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
and dword [ebp - 0x10], 0
mov esi, 0xfa
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
call fcn.004011c0
mov eax, dword [ebp + 8]
add eax, 0xfffffff0
call fcn.004011c0
mov eax, esi
jmp 0x485cac
push dword [eax]
call esi
test eax, eax
jne 0x485c7c
cmp dword [ebp - 0x10], eax
je 0x485c77
push dword [ebp - 0x10]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
and dword [ebp - 0x10], 0
push 0x35
pop esi
jmp 0x485c43
cmp dword [ebp - 0x10], 0
je 0x485c8f
push dword [ebp - 0x10]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
and dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
call fcn.004011c0
mov eax, dword [ebp + 8]
add eax, 0xfffffff0
call fcn.004011c0
xor eax, eax
jmp 0x485cac
push 0x33
pop eax
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
leave
ret