joyce8/EMBER2024-capa huggingface dataset:
Function at 0x431b77
Capabilities:
Query or enumerate registry value

Disassembly:
push 0x6c
mov eax, 0x444d44
call fcn.0041cf36
mov eax, dword [ebp + 8]
mov esi, dword [ebp + 0xc]
xor ebx, ebx
mov dword [ebp - 0x38], ebx
cmp dword [eax + 0x18], 8
mov edi, edx
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x3c], ebx
jb 0x431ba1
mov eax, dword [eax + 4]
jmp 0x431ba4
add eax, 4
lea edx, [ebp - 0x34]
push edx
push 0x101
push ebx
push eax
push ecx
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
je 0x431bcd
push 0x44df68
mov esi, edi
call fcn.004018f6
mov eax, edi
jmp 0x431d4d
cmp dword [esi + 0x18], 8
lea edi, [esi + 4]
jb 0x431bda
mov eax, dword [edi]
jmp 0x431bdc
mov eax, edi
lea ecx, [ebp - 0x3c]
push ecx
push ebx
lea ecx, [ebp - 0x40]
push ecx
push ebx
push eax
push dword [ebp - 0x34]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
je 0x431c11
push dword [ebp - 0x34]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov esi, dword [ebp - 0x30]
push 0x44df68
call fcn.004018f6
mov eax, esi
jmp 0x431d4d
xor eax, eax
mov dword [ebp - 0x14], 7
mov dword [ebp - 0x18], ebx
mov word [ebp - 0x28], ax
mov dword [ebp - 4], ebx
cmp dword [ebp - 0x40], 4
jne 0x431c90
cmp dword [ebp - 0x3c], 4
mov dword [ebp - 0x38], ebx
jne 0x431c75
cmp dword [esi + 0x18], 8
jb 0x431c3b
mov edi, dword [edi]
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x38]
push eax
push ebx
push ebx
push edi
push dword [ebp - 0x34]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x431c75
mov eax, dword [ebp - 0x38]
lea ecx, [ebp - 0x5c]
call fcn.0043139f
push 0xffffffffffffffff
lea ecx, [ebp - 0x2c]
push ecx
xor ebx, ebx
mov byte [ebp - 4], 1
call fcn.004010d2
push ebx
jmp 0x431d10
push dword [ebp - 0x34]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov esi, dword [ebp - 0x30]
push 0x44df68
call fcn.004018f6
jmp 0x431d3f
cmp dword [ebp - 0x40], 1
je 0x431c9c
cmp dword [ebp - 0x40], 2
jne 0x431c75
mov eax, dword [ebp - 0x3c]
xor ecx, ecx
push 2
pop edx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0041a4fc
cmp dword [esi + 0x18], 8
pop ecx
mov dword [ebp - 0x38], eax
jb 0x431cbf
mov edi, dword [edi]
lea ecx, [ebp - 0x3c]
push ecx
push eax
push ebx
push ebx
push edi
push dword [ebp - 0x34]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x431c75
cmp dword [ebp - 0x40], 2
push dword [ebp - 0x38]
jne 0x431d21
lea esi, [ebp - 0x5c]
call fcn.004018f6
mov edx, esi
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 2
call fcn.0043144a
push 0xffffffffffffffff
lea ecx, [ebp - 0x2c]
push ecx
xor ebx, ebx
mov byte [ebp - 4], 3
call fcn.004010d2
push ebx
push 1
lea esi, [ebp - 0x78]
call fcn.0040115a
push ebx
push 1
lea esi, [ebp - 0x5c]
mov byte [ebp - 4], bl
call fcn.0040115a
xor ebx, ebx
jmp 0x431d2a
lea eax, [ebp - 0x2c]
push eax
call fcn.00401f7a
push dword [ebp - 0x34]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov esi, dword [ebp - 0x30]
lea eax, [ebp - 0x2c]
push eax
call fcn.004010aa
push ebx
push 1
lea esi, [ebp - 0x2c]
call fcn.0040115a
mov eax, dword [ebp - 0x30]
call fcn.0041cfb9
ret
Function at 0x431eea
Capabilities:
Enumerate processes

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x444e26
mov eax, dword fs:[0]
push eax
mov eax, 0x4288
call fcn.00429180
mov eax, dword [0x4602c0]
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
cmp dword [0x461f98], 8
mov eax, dword [0x461f84]
jae 0x431f2f
mov eax, 0x461f84
xor ebx, ebx
push ebx
push 0x80
push 3
push ebx
push ebx
push ebx
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov esi, eax
cmp esi, 0xffffffff
je 0x432088
lea eax, [ebp - 0x4294]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_GetFileInformationByHandle]
push esi
test eax, eax
jne 0x431f6c
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x432088
mov edi, dword [sym.imp.KERNEL32.dll_CloseHandle]
call edi
push ebx
push 2
call sub.KERNEL32.dll_CreateToolhelp32Snapshot
mov esi, eax
mov dword [ebp - 0x4260], esi
cmp esi, 0xffffffff
je 0x432088
push 0x228
lea eax, [ebp - 0x4254]
push ebx
push eax
call fcn.00420670
add esp, 0xc
lea eax, [ebp - 0x4258]
push eax
push esi
mov dword [ebp - 0x4258], 0x22c
call sub.KERNEL32.dll_Process32FirstW
jmp 0x43207d
push dword [ebp - 0x4250]
push ebx
push 0x410
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov dword [ebp - 0x425c], eax
cmp eax, ebx
je 0x432070
xor ecx, ecx
mov dword [ebp - 0x4014], 7
mov dword [ebp - 0x4018], ebx
mov word [ebp - 0x4028], cx
push 0x2000
lea ecx, [ebp - 0x4010]
push ecx
push ebx
push eax
mov dword [ebp - 4], ebx
call sub.PSAPI.DLL_GetModuleFileNameExW
test eax, eax
je 0x432024
lea eax, [ebp - 0x4010]
push eax
lea eax, [ebp - 0x402c]
push eax
call fcn.00401f7a
push dword [ebp - 0x425c]
call edi
cmp dword [ebp - 0x4018], ebx
je 0x432058
push dword [ebp - 0x4264]
lea eax, [ebp - 0x402c]
push dword [ebp - 0x4268]
push dword [ebp - 0x4278]
call fcn.00430faa
add esp, 0xc
test al, al
jne 0x4320a4
or dword [ebp - 4], 0xffffffff
push ebx
push 1
lea esi, [ebp - 0x402c]
call fcn.0040115a
mov esi, dword [ebp - 0x4260]
lea eax, [ebp - 0x4258]
push eax
push esi
call sub.KERNEL32.dll_Process32NextW
test eax, eax
jne 0x431fbe
push esi
call edi
xor al, al
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.0041b811
leave
ret
push esi
call edi
push ebx
push 1
lea esi, [ebp - 0x402c]
call fcn.0040115a
mov al, 1
jmp 0x43208a
Function at 0x432890
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x400c
call fcn.00429180
mov eax, dword [0x4602c0]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
xor ebx, ebx
push esi
mov dword [ebp - 0x4008], ebx
test byte [0x469840], 1
push edi
mov dword [ebp - 0x400c], eax
jne 0x4328ee
or dword [0x469840], 1
xor eax, eax
push 0x44a68f
mov dword [0x46983c], 7
mov dword [0x469838], ebx
mov word [0x469828], ax
call fcn.0041bc97
pop ecx
mov edi, 0x469824
cmp byte [0x4695d8], bl
jne 0x432999
mov byte [0x4695d8], 1
call fcn.00430ce8
cmp eax, 0x60000
jb 0x432943
lea eax, [ebp - 0x4008]
push eax
push 0x44b690
call fcn.00430c36
pop ecx
pop ecx
test eax, eax
jne 0x432999
push dword [ebp - 0x4008]
push edi
call fcn.00401f7a
push dword [ebp - 0x4008]
call dword [sym.imp.ole32.dll_CoTaskMemFree]
jmp 0x432999
lea eax, [ebp - 0x4004]
push eax
push ebx
push ebx
push 5
push ebx
call dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
test eax, eax
jne 0x432999
lea eax, [ebp - 0x4004]
push eax
push edi
call fcn.00401f7a
push str.Downloads
push edi
call fcn.004034a6
sub esp, 0x1c
mov esi, esp
mov dword [ebp - 0x4008], esp
push edi
call fcn.004010aa
call fcn.004310b3
add esp, 0x1c
cmp al, bl
jne 0x432999
push 0x44df68
push edi
call fcn.00401f7a
mov esi, dword [ebp - 0x400c]
push edi
call fcn.004010aa
mov ecx, dword [ebp - 4]
pop edi
mov eax, esi
pop esi
xor ecx, ebp
pop ebx
call fcn.0041b811
leave
ret

Function at 0x43345c
Capabilities:
Create new key via cryptacquirecontext
Generate random numbers via winapi

Disassembly:
push 0x28
mov eax, 0x4454a8
call fcn.0041cf36
mov esi, dword [sym.imp.ADVAPI32.dll_CryptAcquireContextW]
xor edi, edi
push edi
push 1
push edi
push edi
lea eax, [ebp - 0x30]
push eax
mov dword [ebp - 0x34], edi
call esi
test eax, eax
jne 0x4334a0
push 8
push 1
push edi
push edi
lea eax, [ebp - 0x30]
push eax
call esi
test eax, eax
jne 0x4334a0
push 0x44e5a0
mov ecx, ebx
call fcn.0040189b
jmp 0x433505
push 0x10
call fcn.0041a4fc
pop ecx
mov esi, eax
push esi
push 0x10
push dword [ebp - 0x30]
mov dword [ebp - 0x34], esi
call dword [sym.imp.ADVAPI32.dll_CryptGenRandom]
test eax, eax
jne 0x4334d0
push esi
call fcn.0041b820
pop ecx
push edi
push dword [ebp - 0x30]
call dword [sym.imp.ADVAPI32.dll_CryptReleaseContext]
jmp 0x433492
push 0x10
push esi
lea esi, [ebp - 0x2c]
call fcn.00419883
push dword [ebp - 0x34]
mov dword [ebp - 4], edi
call fcn.0041b820
pop ecx
push edi
push dword [ebp - 0x30]
call dword [sym.imp.ADVAPI32.dll_CryptReleaseContext]
mov eax, esi
push eax
mov ecx, ebx
call fcn.0040141a
push edi
push 1
mov ecx, esi
call fcn.00401722
mov eax, ebx
call fcn.0041cfb9
ret
Function at 0x433776
Capabilities:
Create new key via cryptacquirecontext
Hash data via wincrypt
Hash data with md5
Initialize hashing via wincrypt

Disassembly:
push 0x44
mov eax, 0x445508
call fcn.0041cf36
mov eax, dword [ebp + 8]
xor edi, edi
push edi
push 1
push edi
mov dword [ebp - 0x40], eax
push edi
lea eax, [ebp - 0x44]
mov dword [ebp - 0x4c], edi
mov esi, dword [sym.imp.ADVAPI32.dll_CryptAcquireContextW]
push eax
mov ebx, ecx
call esi
test eax, eax
jne 0x4337c6
push 8
push 1
push edi
push edi
lea eax, [ebp - 0x44]
push eax
call esi
test eax, eax
jne 0x4337c6
mov ecx, dword [ebp - 0x40]
push 0x44e5a0
call fcn.0040189b
jmp 0x433884
lea eax, [ebp - 0x48]
push eax
push edi
push edi
push 0x8003
push dword [ebp - 0x44]
call dword [sym.imp.ADVAPI32.dll_CryptCreateHash]
test eax, eax
jne 0x4337ea
push edi
push dword [ebp - 0x44]
call dword [sym.imp.ADVAPI32.dll_CryptReleaseContext]
jmp 0x4337b4
mov eax, dword [ebx + 0x14]
push 0x10
pop esi
cmp dword [ebx + 0x18], esi
jb 0x4337fa
mov ebx, dword [ebx + 4]
jmp 0x4337fd
add ebx, 4
push edi
push eax
push ebx
push dword [ebp - 0x48]
call dword [sym.imp.ADVAPI32.dll_CryptHashData]
test eax, eax
jne 0x433818
push dword [ebp - 0x48]
call dword [sym.imp.ADVAPI32.dll_CryptDestroyHash]
jmp 0x4337de
push edi
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp - 0x20]
push eax
push 2
push dword [ebp - 0x48]
mov dword [ebp - 0x4c], esi
call dword [sym.imp.ADVAPI32.dll_CryptGetHashParam]
push dword [ebp - 0x48]
test eax, eax
je 0x433810
call dword [sym.imp.ADVAPI32.dll_CryptDestroyHash]
push edi
push dword [ebp - 0x44]
call dword [sym.imp.ADVAPI32.dll_CryptReleaseContext]
cmp dword [ebp - 0x4c], esi
jne 0x4337b4
push esi
lea eax, [ebp - 0x20]
push eax
lea esi, [ebp - 0x3c]
call fcn.00419883
sub esp, 0x1c
mov eax, esi
mov ecx, esp
mov dword [ebp - 0x50], esp
push eax
mov dword [ebp - 4], edi
call fcn.0040141a
mov ecx, dword [ebp - 0x40]
call fcn.00431dbf
add esp, 0x1c
push edi
push 1
mov ecx, esi
call fcn.00401722
mov eax, dword [ebp - 0x40]
call fcn.0041cfb9
ret
Function at 0x433d63
Capabilities:
Query or enumerate registry key

Disassembly:
push 0x54
mov eax, 0x4458f7
call fcn.0041cecd
mov ebx, edx
xor edi, edi
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x28], edi
mov dword [ebp - 4], edi
cmp dword [ebp + 0x20], 8
mov eax, dword [ebp + 0xc]
jae 0x433d88
lea eax, [ebp + 0xc]
lea edx, [ebp - 0x14]
push edx
movzx edx, byte [ebp + 0x24]
neg edx
sbb edx, edx
and edx, 0x100
or edx, 9
push edx
push edi
push eax
push ecx
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
je 0x433dc3
push ebx
call fcn.00401bda
push edi
push 1
lea esi, [ebp + 8]
call fcn.0040115a
mov eax, ebx
jmp 0x433eb5
push edi
push edi
push edi
push edi
push edi
push edi
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x18]
push eax
push edi
push edi
push edi
push dword [ebp - 0x14]
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x20], edi
call dword [sym.imp.ADVAPI32.dll_RegQueryInfoKeyW]
test eax, eax
je 0x433df2
push dword [ebp - 0x14]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x433dab
mov eax, dword [ebp - 0x20]
xor ecx, ecx
push 2
inc eax
pop edx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0041a4fc
pop ecx
push dword [ebp - 0x18]
mov dword [ebp - 0x2c], eax
lea eax, [ebp - 0x44]
push eax
call fcn.004198a9
mov byte [ebp - 4], 1
xor ebx, ebx
cmp dword [ebp - 0x18], edi
jbe 0x433e81
mov eax, dword [ebp - 0x20]
push edi
push edi
push edi
inc eax
push edi
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x24]
push eax
push dword [ebp - 0x2c]
push ebx
push dword [ebp - 0x14]
call dword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
test eax, eax
jne 0x433ebb
push dword [ebp - 0x24]
lea eax, [ebp - 0x60]
push dword [ebp - 0x2c]
call fcn.00407002
mov dword [ebp - 0x28], eax
push ebx
lea esi, [ebp - 0x44]
mov byte [ebp - 4], 2
call fcn.00401dc5
push eax
mov eax, dword [ebp - 0x28]
call fcn.00401918
push edi
push 1
lea esi, [ebp - 0x60]
mov byte [ebp - 4], 1
call fcn.0040115a
inc ebx
cmp ebx, dword [ebp - 0x18]
jb 0x433e25
push dword [ebp - 0x14]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea eax, [ebp - 0x44]
push eax
push dword [ebp - 0x1c]
call fcn.00401c12
lea esi, [ebp - 0x44]
call fcn.004024a3
push dword [ebp - 0x44]
call fcn.0041b820
pop ecx
push edi
push 1
lea esi, [ebp + 8]
call fcn.0040115a
mov eax, dword [ebp - 0x1c]
call fcn.0041cfa5
ret
push dword [ebp - 0x14]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push dword [ebp - 0x1c]
call fcn.00401bda
jmp 0x433e96
Function at 0x43667b
Capabilities:
Terminate process

Disassembly:
push 8
mov eax, 0x446210
call fcn.0041cecd
and dword [ebp - 4], 0
push 0x10
push 0x45163c
push 0x45164c
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
sub esp, 0x1c
lea eax, [ebp + 8]
mov esi, esp
mov dword [ebp - 0x10], esp
push eax
call fcn.004010aa
call fcn.00436636
add esp, 0x1c
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
Function at 0x43ea44
Capabilities:
Get file size
Read file on windows

Disassembly:
push 0xfc
mov eax, 0x447736
call fcn.0041cf6c
lea eax, [ebp - 0x108]
push eax
call fcn.0043391a
xor ebx, ebx
mov dword [ebp - 4], ebx
mov dword [esp], str.:tmp
push eax
lea eax, [ebp - 0x4c]
push eax
call fcn.0040326b
add esp, 0xc
push ebx
push 1
lea esi, [ebp - 0x108]
call fcn.0040115a
mov byte [ebp - 4], 3
cmp dword [ebp - 0x34], 8
mov eax, dword [ebp - 0x48]
jae 0x43ea96
lea eax, [ebp - 0x48]
push ebx
push 0x8000080
push 3
push ebx
push ebx
push 0x80000000
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov esi, eax
mov dword [ebp - 0x6c], esi
cmp esi, 0xffffffff
jne 0x43ead1
mov dword [ebp - 0x84], str.error_opening_file_installer_binary_file
push 0x457030
lea eax, [ebp - 0x84]
push eax
call fcn.0041ca9b
push ebx
push esi
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov dword [ebp - 0x7c], eax
cmp eax, 0xffffffff
jne 0x43eaff
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x88], str.error_getting_length_of_installer_binary_file
push 0x457030
lea eax, [ebp - 0x88]
jmp 0x43eacb
add eax, 2
push eax
call fcn.0041a4fc
mov esi, eax
mov byte [esi], 0x4d
mov byte [esi + 1], 0x5a
pop ecx
xor edi, edi
mov dword [ebp - 0x70], ebx
cmp edi, dword [ebp - 0x7c]
jae 0x43eb89
push ebx
lea eax, [ebp - 0x70]
push eax
mov eax, dword [ebp - 0x7c]
sub eax, edi
push eax
lea eax, [edi + esi + 2]
push eax
push dword [ebp - 0x6c]
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x43eb5c
call dword [sym.imp.KERNEL32.dll_GetLastError]
push dword [ebp - 0x6c]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x80], str.error_reading_installer_binary_file
push 0x457030
lea eax, [ebp - 0x80]
jmp 0x43eacb
cmp dword [ebp - 0x70], ebx
jne 0x43eb84
push dword [ebp - 0x6c]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x8c], str.readed_0_bytes_from_installer_binary_file
push 0x457030
lea eax, [ebp - 0x8c]
jmp 0x43eacb
add edi, dword [ebp - 0x70]
jmp 0x43eb17
push dword [ebp - 0x6c]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push esi
call fcn.004306c7
mov dword [ebp - 4], 2
mov eax, 0x43eba5
ret
Function at 0x43ee1a
Capabilities:
Create process on windows

Disassembly:
push 0x94
mov eax, 0x4450a7
call fcn.0041cecd
mov esi, ecx
mov ecx, dword [esi + 0x84]
mov eax, dword [esi + 0x30]
lea eax, [ecx + eax + 4]
xor ecx, ecx
push 2
pop edx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0041a4fc
pop ecx
mov ebx, eax
push 0x22
pop eax
mov word [ebx], ax
cmp dword [esi + 0x88], 8
mov eax, dword [esi + 0x84]
jb 0x43ee69
mov ecx, dword [esi + 0x74]
jmp 0x43ee6c
lea ecx, [esi + 0x74]
add eax, eax
push eax
push ecx
lea eax, [ebx + 2]
push eax
call fcn.0041ed70
mov eax, dword [esi + 0x84]
add esp, 0xc
push 0x22
pop ecx
mov word [ebx + eax*2 + 2], cx
mov eax, dword [esi + 0x84]
push 0x20
pop ecx
mov word [ebx + eax*2 + 4], cx
cmp dword [esi + 0x34], 8
jb 0x43eea3
mov ecx, dword [esi + 0x20]
jmp 0x43eea6
lea ecx, [esi + 0x20]
mov eax, dword [esi + 0x84]
push ecx
lea eax, [ebx + eax*2 + 6]
push eax
call dword [sym.imp.SHLWAPI.dll_StrCpyW]
push 0x44
lea eax, [ebp - 0x68]
push 0
push eax
call fcn.00420670
xor eax, eax
lea edi, [ebp - 0x20]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
add esp, 0xc
stosd dword es:[edi], eax
push 0xa
pop eax
mov word [ebp - 0x38], ax
lea eax, [esi + 0x8c]
cmp dword [eax + 0x18], 8
mov dword [ebp - 0x3c], 1
mov dword [ebp - 0x68], 0x44
mov byte [ebp - 0xd], 1
jb 0x43eefb
mov eax, dword [eax + 4]
jmp 0x43eefe
add eax, 4
cmp dword [esi + 0x88], 8
jb 0x43ef0c
mov ecx, dword [esi + 0x74]
jmp 0x43ef0f
lea ecx, [esi + 0x74]
lea edx, [ebp - 0x20]
push edx
lea edx, [ebp - 0x68]
push edx
push eax
xor edi, edi
push edi
push edi
push edi
push edi
push edi
push ebx
push ecx
call dword [sym.imp.KERNEL32.dll_CreateProcessW]
test eax, eax
jne 0x43ef86
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [ebp - 0xa0]
call fcn.0043139f
push eax
lea eax, [ebp - 0x84]
push str.launch_error_
push eax
mov dword [ebp - 4], edi
call fcn.004032fc
add esp, 0xc
add esi, 0xa8
push esi
mov byte [ebp - 4], 1
call fcn.00401918
push edi
push 1
lea esi, [ebp - 0x84]
call fcn.0040115a
push edi
push 1
lea esi, [ebp - 0xa0]
call fcn.0040115a
mov byte [ebp - 0xd], 0
jmp 0x43ef98
push dword [ebp - 0x1c]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x20]
mov dword [esi + 0xc8], eax
push ebx
call fcn.0041b820
mov al, byte [ebp - 0xd]
pop ecx
call fcn.0041cfa5
ret
Function at 0x43f770
Capabilities:
Copy file
Delete file
Move file
Set file attributes

Disassembly:
push 0x3c
mov eax, 0x44634a
call fcn.0041cf36
mov ecx, ebx
call fcn.0043f10f
test al, al
je 0x43f885
cmp dword [ebx + 0xcc], 0xffffffff
je 0x43f85f
push str..tmp
lea edi, [ebx + 0x70]
lea eax, [ebp - 0x2c]
push edi
push eax
call fcn.0040326b
add esp, 0xc
and dword [ebp - 4], 0
mov ecx, dword [ebp - 0x28]
push 8
pop esi
cmp dword [ebp - 0x14], esi
jae 0x43f7bf
lea ecx, [ebp - 0x28]
cmp dword [edi + 0x18], esi
jb 0x43f7c9
mov eax, dword [edi + 4]
jmp 0x43f7cc
lea eax, [edi + 4]
push 3
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileExW]
lea eax, [ebp - 0x48]
push eax
call fcn.0043391a
pop ecx
cmp dword [edi + 0x18], esi
jb 0x43f7ea
mov ecx, dword [edi + 4]
jmp 0x43f7ed
lea ecx, [edi + 4]
cmp dword [eax + 0x18], esi
jb 0x43f7f7
mov eax, dword [eax + 4]
jmp 0x43f7fa
add eax, 4
push 0
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileW]
push 0
push 1
lea esi, [ebp - 0x48]
call fcn.0040115a
push str.:tmp
lea eax, [ebp - 0x48]
push edi
push eax
call fcn.0040326b
add esp, 0xc
push eax
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 1
call fcn.00430d49
pop ecx
push 0
push 1
lea esi, [ebp - 0x48]
call fcn.0040115a
cmp dword [ebp - 0x14], 8
mov eax, dword [ebp - 0x28]
jae 0x43f848
lea eax, [ebp - 0x28]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
or dword [ebp - 4], 0xffffffff
push 0
push 1
lea esi, [ebp - 0x2c]
call fcn.0040115a
cmp dword [ebx + 0x88], 8
jb 0x43f86d
mov eax, dword [ebx + 0x74]
jmp 0x43f870
lea eax, [ebx + 0x74]
push 6
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
mov ecx, ebx
call fcn.0043ee1a
test al, al
setne al
call fcn.0041cfb9
ret
Function at 0x441497
Capabilities:
Encode data using xor

Disassembly:
push 0x30
mov eax, 0x4457de
call fcn.0041cf36
mov edi, ecx
xor esi, esi
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x38], esi
mov dword [ebp - 4], esi
cmp dword [ebp + 0x1c], esi
jne 0x4414d1
push 0x44e5a0
call fcn.0040189b
push esi
push 1
lea ecx, [ebp + 8]
call fcn.00401722
mov eax, edi
jmp 0x441569
push esi
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x14], 0xf
call fcn.004017e9
xor ebx, ebx
inc ebx
mov byte [ebp - 4], bl
mov eax, dword [ebp + 0x1c]
mov dword [ebp - 0x3c], eax
dec eax
lea esi, [ebp - 0x2c]
call fcn.00406f43
xor edi, edi
lea eax, [ebp + 8]
call fcn.00407887
movzx eax, byte [eax]
push ebx
push eax
call fcn.0044145e
cmp dword [ebp - 0x3c], ebx
pop ecx
pop ecx
mov dword [ebp - 0x30], ebx
jle 0x441544
mov edi, dword [ebp - 0x30]
lea eax, [ebp + 8]
call fcn.00407887
movzx eax, byte [eax]
mov al, byte [eax + 0x4691e8]
xor al, byte [ebp - 0x30]
lea edi, [ebp - 0x2c]
mov byte [ebp - 0x38], al
push dword [ebp - 0x38]
call fcn.00406fa8
inc dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
cmp eax, dword [ebp - 0x3c]
jl 0x441514
mov ecx, dword [ebp - 0x34]
lea eax, [ebp - 0x2c]
push eax
call fcn.0040141a
push 0
push ebx
lea ecx, [ebp - 0x2c]
call fcn.00401722
push 0
push ebx
lea ecx, [ebp + 8]
call fcn.00401722
mov eax, dword [ebp - 0x34]
call fcn.0041cfb9
ret

Function at 0x44156f
Capabilities:
Encode data using xor

Disassembly:
push 0x2c
mov eax, 0x445813
call fcn.0041cf36
mov esi, ecx
xor edi, edi
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x34], edi
mov dword [ebp - 4], edi
cmp dword [ebp + 0x1c], edi
jne 0x4415a9
push 0x44e5a0
call fcn.0040189b
push edi
push 1
lea ecx, [ebp + 8]
call fcn.00401722
mov eax, esi
jmp 0x441650
push edi
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x14], 0xf
call fcn.004017e9
xor ebx, ebx
inc ebx
mov byte [ebp - 4], bl
mov eax, dword [ebp + 0x1c]
mov dword [ebp - 0x34], eax
inc eax
lea esi, [ebp - 0x2c]
call fcn.00406f43
call fcn.004309b4
mov byte [ebp - 0x30], al
movzx eax, al
push edi
push eax
call fcn.0044145e
pop ecx
pop ecx
push dword [ebp - 0x30]
mov edi, esi
call fcn.00406fa8
mov esi, dword [ebp - 0x34]
and dword [ebp - 0x30], 0
test esi, esi
jle 0x44162b
mov edi, dword [ebp - 0x30]
lea eax, [ebp + 8]
call fcn.00407887
mov cl, byte [ebp - 0x30]
movzx eax, byte [eax]
inc cl
movzx ecx, cl
xor ecx, eax
mov al, byte [ecx + 0x4691e8]
mov byte [ebp - 0x34], al
push dword [ebp - 0x34]
lea edi, [ebp - 0x2c]
call fcn.00406fa8
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], esi
jl 0x4415f7
mov ecx, dword [ebp - 0x38]
lea eax, [ebp - 0x2c]
push eax
call fcn.0040141a
push 0
push ebx
lea ecx, [ebp - 0x2c]
call fcn.00401722
push 0
push ebx
lea ecx, [ebp + 8]
call fcn.00401722
mov eax, dword [ebp - 0x38]
call fcn.0041cfb9
ret