joyce8/EMBER2024-capa huggingface dataset:
Function at 0x423f80
Capabilities:
Create directory

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
push ebx
push esi
mov esi, dword [ebp + 8]
mov ecx, esi
push edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x423f91
sub ecx, edx
mov edx, 2
sar ecx, 1
mov dword [ebp - 0xc], ecx
lea eax, [ecx + 1]
xor ecx, ecx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.005caf77
add esp, 4
mov dword [ebp + 8], eax
sub eax, esi
movzx ecx, word [esi]
lea esi, [esi + 2]
mov word [eax + esi - 2], cx
test cx, cx
jne 0x423fc4
call fcn.0048bd30
test al, al
je 0x423ff3
push eax
pop edx
pop edi
pop edi
push ebp
pop ecx
push ecx
push edi
push esp
push edi
push esi
push ebp
pop esi
pop ecx
pop esp
push esi
pop esp
push ecx
push esp
push eax
pop ecx
pop ecx
call fcn.0048be80
test al, al
je 0x424018
pop ebx
push ecx
pop edx
push ebp
push edx
pop edi
pop edi
pop esp
push ebp
pop esi
pop edx
pop ebp
pop esi
pop edx
push edi
pop ebp
push ebp
push edi
push ebp
pop edx
push ebp
push esi
pop esi
pop esi
pop ebp
push edx
push ebp
pop esp
call fcn.0048bd30
test al, al
je 0x424038
pop esi
push ebp
pop edx
pop edx
push ebp
push edi
pop eax
push ebp
pop edx
pop ecx
pop esp
push esp
pop edi
push esp
pop edx
push ebp
push esi
push edi
push edi
pop ebx
pop ebp
pop ebx
push esp
mov ebx, dword [ebp - 0xc]
xor esi, esi
mov edi, dword [ebp + 8]
mov dword [ebp - 8], esi
mov dword [ebp - 4], 1
test ebx, ebx
js 0x4240c0
nop
cmp word [edi + esi*2], 0x5c
jne 0x4240b1
call fcn.0048bbe0
test al, al
je 0x424083
push edi
pop ecx
push esi
push ebx
push edi
push ebp
push ebp
push esp
pop eax
pop edi
pop ecx
pop ebp
pop ecx
pop esp
push esi
pop eax
pop ebp
push ebp
push ebp
push eax
pop edi
push edx
push eax
push eax
pop ebp
push ebx
pop edx
push ebp
pop esi
mov esi, dword [ebp - 8]
mov edi, dword [ebp + 8]
movzx eax, word [edi + esi*2]
mov dword [ebp - 0xc], eax
xor eax, eax
push edi
mov word [edi + esi*2], ax
call fcn.0041ff30
add esp, 4
test al, al
jne 0x4240aa
push 0
push edi
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
je 0x4240d3
mov eax, dword [ebp - 0xc]
mov word [edi + esi*2], ax
inc esi
mov dword [ebp - 8], esi
cmp esi, ebx
jle 0x424050
mov dword [ebp - 4], 1
push edi
call fcn.005caaab
mov eax, dword [ebp - 4]
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push edi
mov dword [ebp - 4], 0
call fcn.005caaab
mov eax, dword [ebp - 4]
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x425520
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20c
mov eax, dword [0x69def4]
xor eax, ebp
mov dword [ebp - 4], eax
cmp byte [0x6a0948], 0
push ebx
push esi
push edi
je 0x425566
call fcn.0048c270
test al, al
je 0x425639
pop edx
pop eax
pop eax
push ebp
push edx
pop ebx
push esi
pop ecx
push esp
push eax
push esp
pop ebp
push ebx
pop ebp
pop ecx
pop ebp
push eax
pop edx
push ebx
pop ebp
push ebp
jmp 0x425639
call fcn.0048bb70
test al, al
je 0x425589
pop edx
pop edx
push esi
pop esp
pop edi
pop eax
pop ebx
push eax
pop edx
push eax
push eax
push eax
pop ebp
push esi
push edi
push esp
push ecx
push ebx
pop edx
push ebx
push esp
push edx
push ebx
pop edi
push esp
push ebx
call fcn.0048bf60
test al, al
je 0x4255ab
pop edi
pop esi
push ecx
pop ecx
pop edi
push ebx
pop ebx
push esp
pop esi
pop ebx
pop edx
push esp
pop ebx
pop edx
pop ebp
pop esp
pop edx
push esi
push esi
push ecx
pop ebx
push eax
pop edi
push edx
push edx
push 0x208
lea eax, [ebp - 0x20c]
push 0
push eax
call fcn.005d4960
add esp, 0xc
lea eax, [ebp - 0x20c]
push 1
push 0x1a
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
test eax, eax
je 0x42561b
lea eax, [ebp - 0x20c]
push eax
call fcn.005df02f
lea eax, [ebp - 0x20c]
push 0x60be54
push eax
call fcn.005d653d
add esp, 0xc
test eax, eax
jne 0x425614
lea eax, [ebp - 0x20c]
push str.documents_and_settingslocalservice
push eax
call fcn.005d653d
add esp, 8
test eax, eax
je 0x42561b
mov byte [0x6a0948], 1
call fcn.0048bb00
test al, al
je 0x425639
push ecx
push ecx
push esi
pop ebp
pop ebx
push esp
push ebx
push ecx
pop eax
pop ebp
pop ebp
pop ecx
pop edx
pop edi
push edi
push esi
push esp
push ebp
push eax
pop eax
pop edx
mov ecx, dword [ebp - 4]
mov al, byte [0x6a0948]
xor ecx, ebp
pop edi
pop esi
pop ebx
call fcn.005caa5c
mov esp, ebp
pop ebp
ret
Function at 0x425650
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5ff2fb
mov eax, dword fs:[0]
push eax
sub esp, 0x138
mov eax, dword [0x69def4]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov al, byte [0x6a0949]
test al, al
jne 0x42577e
push 0x104
lea eax, [ebp - 0x114]
push 0
push eax
call fcn.005d4960
add esp, 0xc
lea eax, [ebp - 0x114]
push 1
push 0x1a
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathA]
test eax, eax
je 0x425779
push str.config_systemprofile
lea ecx, [ebp - 0x144]
call fcn.0040fa60
lea eax, [ebp - 0x114]
mov dword [ebp - 4], 0
push eax
lea ecx, [ebp - 0x12c]
call fcn.0040fa60
push dword [ebp - 0x134]
cmp dword [ebp - 0x130], 0x10
lea eax, [ebp - 0x144]
push 0
cmovae eax, dword [ebp - 0x144]
lea ecx, [ebp - 0x12c]
push eax
call fcn.00411130
movzx ecx, byte [0x6a0949]
cmp eax, 0xffffffff
mov eax, dword [ebp - 0x118]
mov edx, 1
cmovne ecx, edx
mov byte [0x6a0949], cl
cmp eax, 0x10
jb 0x425740
inc eax
lea ecx, [ebp - 0x12c]
push eax
push dword [ebp - 0x12c]
call fcn.00408f70
mov eax, dword [ebp - 0x130]
mov dword [ebp - 0x118], 0xf
mov dword [ebp - 0x11c], 0
mov byte [ebp - 0x12c], 0
cmp eax, 0x10
jb 0x425779
inc eax
lea ecx, [ebp - 0x144]
push eax
push dword [ebp - 0x144]
call fcn.00408f70
mov al, byte [0x6a0949]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.005caa5c
mov esp, ebp
pop ebp
ret
Function at 0x426860
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push ebx
push esi
push edi
mov byte [ebp - 4], 0
call fcn.00425520
mov esi, 1
test al, al
je 0x426913
call fcn.0048c430
test al, al
je 0x426899
push edx
pop ebp
pop edi
push edx
push ebx
push edi
pop ebx
push edi
push edx
push esp
pop esp
push edx
push edx
pop ebx
push ecx
pop edx
push eax
call fcn.0048be80
test al, al
je 0x4268c4
pop esp
push esi
pop eax
pop ebx
pop edx
pop esi
pop edx
push ebp
pop esp
push edx
pop ebp
push esi
push edi
pop ebx
push esp
push ebp
push ecx
push eax
push ecx
pop esp
pop esp
push esp
push esp
push esp
push ebp
push ebx
push ecx
push esp
push edx
mov esi, 1
lea eax, [ebp - 8]
mov dword [ebp - 8], 0
push eax
call fcn.00425380
add esp, 4
test al, al
je 0x426913
push dword [ebp + 0xc]
push 1
push dword [ebp - 8]
push dword [ebp + 0x10]
push 0
call dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
mov ebx, dword [ebp - 4]
test eax, eax
movzx ebx, bl
cmove ebx, esi
mov dword [ebp - 4], ebx
call dword [sym.imp.ADVAPI32.dll_RevertToSelf]
push dword [ebp - 8]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
test bl, bl
jne 0x42699d
call fcn.0048b9b0
test al, al
je 0x42693a
push edx
push ebp
pop esp
pop eax
pop edx
push edi
pop eax
push esi
pop ebx
push ebx
pop ecx
push ebx
pop ecx
push eax
push ebp
pop ecx
pop eax
pop esi
push ecx
push esp
push ebx
pop edi
pop esp
pop esp
push ebx
pop esi
push ebx
pop ebp
pop ecx
push edx
call fcn.0048c120
test al, al
je 0x426958
push esp
pop esi
push ecx
push ebp
pop esi
push ebx
pop edi
pop ecx
pop ebx
pop eax
push edx
pop edi
pop esp
push edi
pop esi
push ecx
pop ebp
pop ebp
pop esi
push ecx
push ebp
call fcn.0048b940
test al, al
je 0x426978
push esi
push eax
push esp
pop ebx
push ebx
push edi
push ebp
pop ebp
pop edi
pop esp
push esi
push edi
pop edx
pop esi
push edx
pop edx
push edx
pop edx
pop ebp
push eax
push edx
push ebp
push ebp
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
mov edx, dword [ebp - 4]
test eax, eax
movzx ecx, dl
mov eax, 1
cmovne ecx, eax
mov byte [ebp - 4], cl
call fcn.0048c350
test al, al
je 0x4269c2
push edi
push edx
push ecx
pop esp
push eax
pop esp
push esi
push edx
push esp
pop esi
push ebp
pop ebx
push esp
pop esp
push eax
pop eax
pop ebp
push ebx
push esp
push esi
pop edx
push edi
push ebp
push edx
push esp
push ecx
pop ebx
push edi
call fcn.0048bfd0
test al, al
je 0x4269eb
pop ebp
push esi
push esi
push edx
push ebx
push eax
pop esi
pop esi
push ebp
push eax
push edx
push esi
push esi
push ebx
pop ebx
pop ebx
push edx
pop esi
pop ebx
push esi
pop ecx
pop ebp
push edi
pop edi
push ecx
pop edx
pop ecx
pop edi
push edi
push ecx
pop ecx
pop ebx
call fcn.0048c2e0
test al, al
je 0x426a0d
pop ebx
push ecx
pop esi
push ecx
push edi
pop edx
pop esp
push edx
pop eax
pop ecx
push ebx
push ebx
push ebx
push eax
push ecx
push ebx
pop esi
push edi
pop ebp
push ecx
pop ecx
pop ebx
pop esp
push ecx
push esp
mov edx, dword [ebp - 4]
mov al, dl
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x426e80
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5ff458
mov eax, dword fs:[0]
push eax
push ebx
push esi
push edi
mov eax, dword [0x69def4]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
cmp dword [ebp + 0x1c], 8
lea eax, [ebp + 8]
mov dword [ebp - 4], 0
cmovae eax, dword [ebp + 8]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x426fff
call fcn.0048bfd0
test al, al
je 0x426ee5
pop ecx
pop esp
push eax
push esp
push ebx
push ecx
push esp
push ebx
pop esi
pop edi
pop ebp
pop edi
pop edi
pop ebx
push edi
pop edx
pop ebx
pop eax
pop esi
pop esi
push ecx
push ebx
call fcn.0048be10
test al, al
je 0x426f04
pop esi
push ebp
pop ecx
pop eax
pop esi
push edx
pop edi
push ecx
push edx
pop esp
push esp
pop esi
pop esp
push edi
push eax
pop ecx
push ebx
pop ebx
pop esi
push edi
pop ebx
pop esi
call fcn.0048bb70
test al, al
je 0x426f27
push ebp
push eax
push esp
pop edx
pop edx
pop eax
pop esi
pop edi
pop edi
push ebx
push edx
pop ebp
pop ecx
push esi
push eax
push esp
pop ecx
pop ebx
pop ebp
pop ebx
pop edx
pop esi
pop esi
pop esp
push esi
pop ebx
call fcn.0048bb00
test al, al
je 0x426f45
pop ebx
pop ebp
pop edi
pop eax
pop ebp
pop edx
pop ebp
push eax
push esp
push eax
push ebx
push esp
pop esp
pop edi
pop ebp
pop edx
push esp
push ebx
push eax
pop esi
pop esi
call fcn.0048bfd0
test al, al
je 0x426f6d
pop edx
pop ebp
pop edx
pop edx
pop esp
pop ebx
push esi
push ebx
push edx
pop esi
push eax
pop edx
pop esp
push edi
pop ebx
pop esi
pop esp
pop edx
pop ecx
push esp
pop ebp
push edx
push edx
push ecx
pop edi
push ebp
push edx
push ecx
pop eax
push esi
pop ebx
cmp dword [ebp + 0x1c], 8
lea eax, [ebp + 8]
cmovae eax, dword [ebp + 8]
push eax
call fcn.0041e8e0
add esp, 4
call fcn.0048bcc0
test al, al
je 0x426f9f
push ecx
pop ebp
pop esp
pop ebp
pop esi
pop ecx
pop eax
push edx
push edx
push ebp
pop ebp
push ebx
push edx
pop edi
pop edx
push eax
pop edx
pop edi
push esi
pop eax
push edx
call fcn.0048c3c0
test al, al
je 0x426fc2
push esp
pop ebp
pop edx
push edx
push edx
pop ecx
push edi
pop esp
pop esi
pop esi
push esi
push ecx
push ecx
push esp
push ebx
pop ecx
push esp
pop esi
push esi
push ebp
pop esp
pop eax
push edx
push edi
push esp
pop esi
call fcn.0048bb00
test al, al
je 0x426fe1
pop ebp
push edx
pop edx
pop eax
pop eax
push esp
pop esp
pop edx
push esp
push esp
push ecx
pop ebp
pop edx
push ecx
pop eax
push edx
pop ebx
push esi
pop ecx
pop ecx
push ecx
push edi
call fcn.0048c2e0
test al, al
je 0x426fff
pop ecx
pop edx
pop edi
push ecx
pop eax
push ecx
push esp
pop esi
push ebp
pop edi
push edx
pop ebp
push eax
pop edi
push ebp
pop edi
pop eax
push esp
pop edi
pop esi
push esp
mov eax, dword [ebp + 0x1c]
cmp eax, 8
jb 0x427014
inc eax
lea ecx, [ebp + 8]
push eax
push dword [ebp + 8]
call fcn.00407310
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
Function at 0x427b60
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push ebx
push esi
push edi
push dword [ebp + 8]
call fcn.004295b0
mov edi, eax
add esp, 4
test edi, edi
jg 0x427b83
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.0048bb70
test al, al
je 0x427b9e
pop eax
push edx
push edi
pop esi
push edx
push esi
push edi
push esi
push eax
push eax
pop esp
pop ebp
push edi
pop ecx
push esp
pop esp
pop esi
push ebx
call fcn.0048c2e0
test al, al
je 0x427bb7
push ebx
pop esi
pop esi
push ebp
pop edx
push ecx
pop ebx
pop eax
pop ecx
pop esp
pop esi
pop ecx
pop edx
push ebp
pop edx
push edi
push edi
push 0
push 1
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov dword [ebp - 4], eax
test eax, eax
je 0x427b7a
push dword [ebp + 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
mov dword [ebp - 8], eax
call fcn.0048bef0
test al, al
je 0x427bf6
pop edx
pop ebx
pop esi
push edi
pop edi
push ecx
pop edx
push ebp
pop eax
pop ebp
push edx
push eax
push eax
pop edx
push edi
pop esp
pop eax
push ebx
pop edi
pop edx
push edx
pop eax
push esi
call fcn.0048b940
test al, al
je 0x427c19
pop esp
push ebx
push eax
pop edi
pop ecx
pop edx
push ebp
push eax
pop ecx
push edi
pop eax
pop ebx
push edi
pop ecx
push ebx
pop edi
push eax
pop ecx
push edi
pop esp
push ebx
pop edi
push edx
pop edi
push edx
pop esi
push dword [ebp - 4]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 8]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret

Function at 0x428260
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x3c
push 0x38
lea eax, [ebp - 0x38]
mov dword [ebp - 0x3c], 0x3c
push 0
push eax
call fcn.005d4960
mov eax, dword [ebp + 8]
add esp, 0xc
cmp dword [ebp + 0x10], 0
mov ecx, 0x240
mov dword [ebp - 0x2c], eax
mov eax, 0x200
cmovne eax, ecx
mov dword [ebp - 0x20], 1
mov dword [ebp - 0x38], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x28], eax
call fcn.00435010
test eax, eax
mov ecx, str.runas
lea eax, [ebp - 0x3c]
cmovne ecx, dword [ebp - 0x30]
push eax
mov dword [ebp - 0x30], ecx
call dword [sym.imp.SHELL32.dll_ShellExecuteExW]
test eax, eax
jne 0x4282d7
call dword [sym.imp.KERNEL32.dll_GetLastError]
xor ecx, ecx
cmp eax, 1
cmove eax, ecx
mov esp, ebp
pop ebp
ret
cmp dword [ebp + 0x10], 0
je 0x4282e9
push dword [ebp + 0x14]
push dword [ebp - 4]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov eax, 1
mov esp, ebp
pop ebp
ret
Function at 0x4291d0
Capabilities:
Enumerate processes

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5ff606
mov eax, dword fs:[0]
push eax
sub esp, 0x46c
mov eax, dword [0x69def4]
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 edi, dword [ebp + 8]
lea ecx, [ebp - 0x230]
xor eax, eax
mov dword [ebp - 0x478], 0
push eax
push 0x6097e8
mov dword [ebp - 0x21c], 7
mov dword [ebp - 0x220], 0
mov word [ebp - 0x230], ax
call fcn.00407210
push 0x22c
lea eax, [ebp - 0x474]
mov dword [ebp - 4], 0
push 0
push eax
call fcn.005d4960
add esp, 0xc
push 0
push 2
call sub.KERNEL32.dll_CreateToolhelp32Snapshot
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x429288
push 0x6097e8
mov ecx, edi
call fcn.00405c70
mov ecx, dword [ebp - 0x21c]
cmp ecx, 8
jb 0x429447
inc ecx
push ecx
jmp 0x429436
lea eax, [ebp - 0x474]
mov dword [ebp - 0x474], 0x22c
push eax
push ebx
call sub.KERNEL32.dll_Process32FirstW
test eax, eax
je 0x429401
nop word [eax + eax]
xor eax, eax
mov dword [ebp - 0x234], 7
mov dword [ebp - 0x238], 0
mov word [ebp - 0x248], ax
cmp word [ebp - 0x450], ax
jne 0x4292da
xor ecx, ecx
jmp 0x4292f2
lea ecx, [ebp - 0x450]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4292e3
sub ecx, edx
sar ecx, 1
push ecx
lea eax, [ebp - 0x450]
push eax
lea ecx, [ebp - 0x248]
call fcn.00407210
mov esi, dword [ebp - 0x46c]
mov byte [ebp - 4], 1
cmp esi, dword [ebp + 0xc]
je 0x429350
mov eax, dword [ebp - 0x234]
mov byte [ebp - 4], 0
cmp eax, 8
jb 0x429336
inc eax
lea ecx, [ebp - 0x248]
push eax
push dword [ebp - 0x248]
call fcn.00407310
lea eax, [ebp - 0x474]
push eax
push ebx
call sub.KERNEL32.dll_Process32NextW
test eax, eax
jne 0x4292b0
jmp 0x429401
push 0x208
lea eax, [ebp - 0x218]
push 0
push eax
call fcn.005d4960
add esp, 0xc
push esi
push 0
push 0x410
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov esi, eax
test esi, esi
je 0x4293f6
push 0x104
lea eax, [ebp - 0x218]
push eax
push 0
push esi
call sub.PSAPI.DLL_GetModuleFileNameExW
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x230]
call fcn.0040ada0
lea eax, [ebp - 0x230]
push 0x6097e8
push eax
call fcn.00423d60
add esp, 8
test al, al
je 0x4293ef
lea eax, [ebp - 0x230]
push eax
push esi
call fcn.00428f40
lea eax, [ebp - 0x230]
push 0x6097e8
push eax
call fcn.00423d60
add esp, 0x10
test al, al
je 0x4293ef
lea eax, [ebp - 0x450]
push eax
lea ecx, [ebp - 0x230]
call fcn.0040ada0
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea ecx, [ebp - 0x248]
call fcn.00405cd0
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
xor eax, eax
mov dword [edi + 0x14], 7
mov dword [edi + 0x10], 0
mov ecx, edi
mov word [edi], ax
lea eax, [ebp - 0x230]
push eax
call fcn.00406bc0
mov eax, dword [ebp - 0x21c]
cmp eax, 8
jb 0x429447
inc eax
push eax
push dword [ebp - 0x230]
lea ecx, [ebp - 0x230]
call fcn.00407310
mov eax, edi
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.005caa5c
mov esp, ebp
pop ebp
ret
Function at 0x429880
Capabilities:
Enumerate process modules

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x218
mov eax, dword [0x69def4]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov esi, dword [ebp + 0xc]
lea eax, [ebp - 0x20c]
push edi
mov edi, dword [ebp + 8]
push 0x208
push 0
push eax
mov dword [ebp - 0x214], 0
call fcn.005d4960
add esp, 0xc
push esi
push 0
push 0x410
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov esi, eax
test esi, esi
je 0x429908
lea eax, [ebp - 0x218]
push eax
push 4
lea eax, [ebp - 0x210]
push eax
push esi
call sub.PSAPI.DLL_EnumProcessModules
test eax, eax
je 0x429901
push 0x104
lea eax, [ebp - 0x20c]
push eax
push dword [ebp - 0x210]
push esi
call sub.PSAPI.DLL_GetModuleFileNameExW
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
xor eax, eax
mov dword [edi + 0x14], 7
mov dword [edi + 0x10], 0
mov word [edi], ax
cmp word [ebp - 0x20c], ax
jne 0x429928
xor ecx, ecx
jmp 0x429940
lea ecx, [ebp - 0x20c]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x429931
sub ecx, edx
sar ecx, 1
push ecx
lea eax, [ebp - 0x20c]
mov ecx, edi
push eax
call fcn.00407210
mov ecx, dword [ebp - 4]
mov eax, edi
pop edi
xor ecx, ebp
pop esi
call fcn.005caa5c
mov esp, ebp
pop ebp
ret
Function at 0x42dca0
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
push esi
push edi
push 0
lea eax, [ebp - 4]
mov dword [ebp - 4], 0
push eax
push 0
push 0xf013f
push 0
push 0
push 0
push dword [ebp + 0xc]
push dword [ebp + 8]
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
je 0x42dcda
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.0048bb70
test al, al
je 0x42dcfd
pop edx
pop edx
push esi
pop esp
pop edi
pop eax
pop ebx
push eax
pop edx
push eax
push eax
push eax
pop ebp
push esi
push edi
push esp
push ecx
push ebx
pop edx
push ebx
push esp
push edx
push ebx
pop edi
push esp
push ebx
call fcn.0048bf60
test al, al
je 0x42dd1f
pop edi
pop esi
push ecx
pop ecx
pop edi
push ebx
pop ebx
push esp
pop esi
pop ebx
pop edx
push esp
pop ebx
pop edx
pop ebp
pop esp
pop edx
push esi
push esi
push ecx
pop ebx
push eax
pop edi
push edx
push edx
mov edx, dword [ebp + 0x14]
mov ecx, edx
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x42dd27
sub ecx, esi
sar ecx, 1
lea eax, [ecx*2 + 2]
push eax
push edx
push 1
push 0
push dword [ebp + 0x10]
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov esi, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push 0
call esi
push dword [ebp - 4]
call esi
call fcn.0048bcc0
test al, al
je 0x42dd86
pop esi
pop esi
pop eax
push edi
pop ebx
push edx
pop ebx
push edi
push edx
push ebp
pop esp
push esi
pop edx
push eax
pop ecx
pop eax
pop ebx
push edx
push ebp
pop edi
pop esi
push eax
push edi
pop esi
push esi
pop ebp
pop eax
push eax
push ebp
pop ebp
push ebp
call fcn.0048c3c0
test al, al
je 0x42dda1
push edi
push esp
push esi
push esp
pop ecx
pop ecx
push esi
push ebp
push ebp
pop edi
pop edx
pop esp
push esp
push edi
pop esi
pop esi
pop esp
pop ebp
pop edi
pop esi
mov eax, 1
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x42e020
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
push ebx
push esi
push edi
mov dword [ebp - 0xc], 0
mov dword [ebp - 8], 0
mov dword [ebp - 4], 0
call fcn.0048bb70
test al, al
je 0x42e061
pop edx
pop edx
push esi
pop esp
pop edi
pop eax
pop ebx
push eax
pop edx
push eax
push eax
push eax
pop ebp
push esi
push edi
push esp
push ecx
push ebx
pop edx
push ebx
push esp
push edx
push ebx
pop edi
push esp
push ebx
call fcn.0048bf60
test al, al
je 0x42e083
pop edi
pop esi
push ecx
pop ecx
pop edi
push ebx
pop ebx
push esp
pop esi
pop ebx
pop edx
push esp
pop ebx
pop edx
pop ebp
pop esp
pop edx
push esi
push esi
push ecx
pop ebx
push eax
pop edi
push edx
push edx
lea eax, [ebp - 0xc]
push eax
push 0xf013f
push 0
push str.SoftWare
push reloc.WS2_32.dll_bind
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x42e1d2
mov esi, dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
push eax
lea eax, [ebp - 8]
push eax
push 0
push 0xf013f
push 0
push 0
push 0
push dword [ebp + 8]
push dword [ebp - 0xc]
call esi
test eax, eax
je 0x42e0da
push dword [ebp - 0xc]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.0048bb00
test al, al
je 0x42e0f8
push ecx
push ecx
push esi
pop ebp
pop ebx
push esp
push ebx
push ecx
pop eax
pop ebp
pop ebp
pop ecx
pop edx
pop edi
push edi
push esi
push esp
push ebp
push eax
pop eax
pop edx
push 0
lea eax, [ebp - 4]
push eax
push 0
push 0xf013f
push 0
push 0
push 0
push dword [ebp + 0xc]
push dword [ebp - 8]
call esi
test eax, eax
je 0x42e12e
push dword [ebp - 8]
mov esi, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
call esi
push dword [ebp - 4]
call esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 0x14]
mov ecx, edx
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x42e136
sub ecx, esi
sar ecx, 1
lea eax, [ecx*2 + 2]
push eax
push edx
push 1
push 0
push dword [ebp + 0x10]
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
call fcn.0048bef0
test al, al
je 0x42e181
pop ebx
pop eax
pop ecx
push esp
pop edi
push esi
push edx
push edx
push ecx
pop edi
push ebx
push esi
push ebp
pop esi
pop esi
pop edi
push eax
call fcn.0048bd30
test al, al
je 0x42e1a4
push ecx
push esi
push eax
push ebp
pop ebp
push ebp
pop esi
pop edi
pop ebp
push ecx
push edi
pop esp
pop ecx
push ebp
pop edx
pop ebp
pop esp
push edx
pop ecx
push edx
pop esi
pop eax
pop ecx
pop edx
pop edx
pop eax
call fcn.0048c200
test al, al
je 0x42e1c2
push edx
pop esi
pop ebx
pop ebp
pop esi
push esi
push ebp
push esp
push eax
push ecx
push ecx
pop ebx
push ebx
pop eax
pop ebx
push esp
push ebp
push ebp
pop esp
push ecx
pop ebx
push dword [ebp - 8]
mov esi, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
call esi
push dword [ebp - 0xc]
call esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret