joyce8/EMBER2024-capa huggingface dataset:
Function at 0x47f897
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc34
mov eax, dword [0x5770a4]
xor eax, ebp
mov dword [ebp - 4], eax
push edi
mov dword [ebp - 0xc2c], ecx
xor eax, eax
lea edi, [ebp - 0x18]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
push 0x800
push 0
lea eax, [ebp - 0xc28]
push eax
call fcn.004b0090
add esp, 0xc
push dword [ebp + 8]
push 0x400
lea eax, [ebp - 0xc28]
push eax
push 0x52ef28
push 0x52ef2c
push 0x52ef00
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
push 0xa
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0xc28]
push eax
mov ecx, dword [ebp - 0xc2c]
call fcn.0047fde3
push 2
pop eax
imul eax, eax, 0
movzx eax, word [ebp + eax - 0x18]
cmp eax, 0x31
jne 0x47f939
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
mov ecx, dword [ebp - 0xc2c]
call fcn.0047ad53
jmp 0x47fa4c
push 0x208
push 0
lea eax, [ebp - 0x428]
push eax
call fcn.004b0090
add esp, 0xc
push dword [ebp + 8]
push 0x104
lea eax, [ebp - 0x428]
push eax
push 0
push 0x52ef58
push str.DefaultValue
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
push 0x208
push 0
lea eax, [ebp - 0x220]
push eax
call fcn.004b0090
add esp, 0xc
push 0x104
lea eax, [ebp - 0x220]
push eax
push dword [ebp + 0xc]
lea eax, [ebp - 0x428]
push eax
mov ecx, dword [ebp - 0xc2c]
call fcn.0047b15e
lea eax, [ebp - 0x220]
push eax
mov ecx, dword [ebp - 0xc2c]
call fcn.0047cef8
test eax, eax
je 0x47f9da
push dword [ebp + 0x14]
push dword [ebp + 0x10]
lea eax, [ebp - 0x220]
push eax
push dword [ebp + 8]
mov ecx, dword [ebp - 0xc2c]
call fcn.0047ad53
jmp 0x47fa4c
and dword [ebp - 0xc34], 0
cmp dword [ebp + 0x10], 0
je 0x47fa4c
cmp dword [ebp + 0x14], 0
jle 0x47fa4c
lea eax, [ebp - 0x220]
test eax, eax
je 0x47fa4c
and dword [ebp - 0xc30], 0
lea eax, [ebp - 0x220]
test eax, eax
je 0x47fa24
lea eax, [ebp - 0x220]
push eax
call fcn.004cc4f3
pop ecx
cmp eax, dword [ebp + 0x14]
jae 0x47fa24
mov dword [ebp - 0xc30], 1
cmp dword [ebp - 0xc30], 0
je 0x47fa4c
lea eax, [ebp - 0x220]
push eax
push dword [ebp + 0x14]
push dword [ebp + 0x10]
call fcn.004cc3b7
add esp, 0xc
mov dword [ebp - 0xc34], 1
pop edi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ad99f
leave
ret 0x10
Function at 0x47fa5b
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc34
mov eax, dword [0x5770a4]
xor eax, ebp
mov dword [ebp - 4], eax
push edi
mov dword [ebp - 0xc2c], ecx
xor eax, eax
lea edi, [ebp - 0x18]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
push 0x800
push 0
lea eax, [ebp - 0xc28]
push eax
call fcn.004b0090
add esp, 0xc
push dword [ebp + 8]
push 0x400
lea eax, [ebp - 0xc28]
push eax
push 0x52ef28
push 0x52ef2c
push 0x52ef00
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
push 0xa
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0xc28]
push eax
mov ecx, dword [ebp - 0xc2c]
call fcn.0047ff26
push 2
pop eax
imul eax, eax, 0
movzx eax, word [ebp + eax - 0x18]
cmp eax, 0x31
jne 0x47fafd
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
mov ecx, dword [ebp - 0xc2c]
call fcn.0047aeac
jmp 0x47fc10
push 0x208
push 0
lea eax, [ebp - 0x428]
push eax
call fcn.004b0090
add esp, 0xc
push dword [ebp + 8]
push 0x104
lea eax, [ebp - 0x428]
push eax
push 0
push 0x52ef58
push str.DefaultValue
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
push 0x208
push 0
lea eax, [ebp - 0x220]
push eax
call fcn.004b0090
add esp, 0xc
push 0x104
lea eax, [ebp - 0x220]
push eax
push dword [ebp + 0xc]
lea eax, [ebp - 0x428]
push eax
mov ecx, dword [ebp - 0xc2c]
call fcn.0047b261
lea eax, [ebp - 0x220]
push eax
mov ecx, dword [ebp - 0xc2c]
call fcn.0047cf40
test eax, eax
je 0x47fb9e
push dword [ebp + 0x14]
push dword [ebp + 0x10]
lea eax, [ebp - 0x220]
push eax
push dword [ebp + 8]
mov ecx, dword [ebp - 0xc2c]
call fcn.0047aeac
jmp 0x47fc10
and dword [ebp - 0xc34], 0
cmp dword [ebp + 0x10], 0
je 0x47fc10
cmp dword [ebp + 0x14], 0
jle 0x47fc10
lea eax, [ebp - 0x220]
test eax, eax
je 0x47fc10
and dword [ebp - 0xc30], 0
lea eax, [ebp - 0x220]
test eax, eax
je 0x47fbe8
lea eax, [ebp - 0x220]
push eax
call fcn.004cc4f3
pop ecx
cmp eax, dword [ebp + 0x14]
jae 0x47fbe8
mov dword [ebp - 0xc30], 1
cmp dword [ebp - 0xc30], 0
je 0x47fc10
lea eax, [ebp - 0x220]
push eax
push dword [ebp + 0x14]
push dword [ebp + 0x10]
call fcn.004cc3b7
add esp, 0xc
mov dword [ebp - 0xc34], 1
pop edi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ad99f
leave
ret 0x10
Function at 0x47fc1f
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc34
mov eax, dword [0x5770a4]
xor eax, ebp
mov dword [ebp - 4], eax
push edi
mov dword [ebp - 0xc2c], ecx
xor eax, eax
lea edi, [ebp - 0x18]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
push 0x800
push 0
lea eax, [ebp - 0xc28]
push eax
call fcn.004b0090
add esp, 0xc
push dword [ebp + 8]
push 0x400
lea eax, [ebp - 0xc28]
push eax
push 0x52ef28
push 0x52ef2c
push 0x52ef00
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
push 0xa
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0xc28]
push eax
mov ecx, dword [ebp - 0xc2c]
call fcn.00480069
push 2
pop eax
imul eax, eax, 0
movzx eax, word [ebp + eax - 0x18]
cmp eax, 0x31
jne 0x47fcc1
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
mov ecx, dword [ebp - 0xc2c]
call fcn.0047b005
jmp 0x47fdd4
push 0x208
push 0
lea eax, [ebp - 0x428]
push eax
call fcn.004b0090
add esp, 0xc
push dword [ebp + 8]
push 0x104
lea eax, [ebp - 0x428]
push eax
push 0
push 0x52ef58
push str.DefaultValue
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
push 0x208
push 0
lea eax, [ebp - 0x220]
push eax
call fcn.004b0090
add esp, 0xc
push 0x104
lea eax, [ebp - 0x220]
push eax
push dword [ebp + 0xc]
lea eax, [ebp - 0x428]
push eax
mov ecx, dword [ebp - 0xc2c]
call fcn.0047b364
lea eax, [ebp - 0x220]
push eax
mov ecx, dword [ebp - 0xc2c]
call fcn.0047cf88
test eax, eax
je 0x47fd62
push dword [ebp + 0x14]
push dword [ebp + 0x10]
lea eax, [ebp - 0x220]
push eax
push dword [ebp + 8]
mov ecx, dword [ebp - 0xc2c]
call fcn.0047b005
jmp 0x47fdd4
and dword [ebp - 0xc34], 0
cmp dword [ebp + 0x10], 0
je 0x47fdd4
cmp dword [ebp + 0x14], 0
jle 0x47fdd4
lea eax, [ebp - 0x220]
test eax, eax
je 0x47fdd4
and dword [ebp - 0xc30], 0
lea eax, [ebp - 0x220]
test eax, eax
je 0x47fdac
lea eax, [ebp - 0x220]
push eax
call fcn.004cc4f3
pop ecx
cmp eax, dword [ebp + 0x14]
jae 0x47fdac
mov dword [ebp - 0xc30], 1
cmp dword [ebp - 0xc30], 0
je 0x47fdd4
lea eax, [ebp - 0x220]
push eax
push dword [ebp + 0x14]
push dword [ebp + 0x10]
call fcn.004cc3b7
add esp, 0xc
mov dword [ebp - 0xc34], 1
pop edi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ad99f
leave
ret 0x10
Function at 0x48118b
Capabilities:
Create directory

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x52744b
mov eax, dword fs:[0]
push eax
sub esp, 0x34
mov eax, dword [0x5770a4]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
push dword [ebp + 8]
lea eax, [ebp - 0x28]
push eax
call fcn.004815a2
pop ecx
pop ecx
and dword [ebp - 4], 0
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 0
je 0x48122e
lea eax, [ebp - 0x28]
push eax
call fcn.00481158
pop ecx
movzx eax, al
test eax, eax
jne 0x48122e
lea eax, [ebp - 0x28]
push eax
call fcn.0048118b
pop ecx
movzx eax, al
test eax, eax
jne 0x48122e
mov byte [ebp - 0x29], 0
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x28]
call fcn.0040a62b
mov dword [ebp - 4], 2
or dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x28]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 4], 3
mov dword [ebp - 4], 4
or dword [ebp - 4], 0xffffffff
mov al, byte [ebp - 0x29]
jmp 0x48128e
mov ecx, dword [ebp + 8]
call fcn.0040a5f1
mov dword [ebp - 0x38], eax
push dword [ebp - 0x38]
call fcn.004d9264
pop ecx
test eax, eax
jne 0x48124f
mov dword [ebp - 0x30], 1
jmp 0x481253
and dword [ebp - 0x30], 0
mov al, byte [ebp - 0x30]
mov byte [ebp - 0x2a], al
mov dword [ebp - 4], 5
lea ecx, [ebp - 0x28]
call fcn.0040a62b
mov dword [ebp - 4], 6
or dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x28]
mov dword [ebp - 0x40], eax
mov dword [ebp - 4], 7
mov dword [ebp - 4], 8
or dword [ebp - 4], 0xffffffff
mov al, byte [ebp - 0x2a]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004ad99f
leave
ret
Function at 0x482b35
Capabilities:
Check if file exists
Get file attributes
Set file attributes

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
mov ecx, dword [ebp + 8]
call fcn.0040a5f1
mov dword [ebp - 8], eax
push dword [ebp - 8]
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0xffffffff
jne 0x482b5c
xor al, al
jmp 0x482b8e
mov eax, dword [ebp - 4]
and eax, 1
je 0x482b8c
mov eax, dword [ebp - 4]
and eax, 0xfffffffe
mov dword [ebp - 4], eax
mov ecx, dword [ebp + 8]
call fcn.0040a5f1
mov dword [ebp - 0xc], eax
push dword [ebp - 4]
push dword [ebp - 0xc]
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
test eax, eax
jne 0x482b8c
xor al, al
jmp 0x482b8e
mov al, 1
leave
ret
Function at 0x482f0b
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x527bde
mov eax, dword fs:[0]
push eax
sub esp, 0x588
mov eax, dword [0x5770a4]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
and dword [ebp - 0x584], 0
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x538]
call fcn.0040b2fe
mov byte [ebp - 4], 2
lea eax, [ebp - 0x538]
push eax
call fcn.004822ed
pop ecx
push 0x53fc88
lea ecx, [ebp - 0x550]
call fcn.00409053
mov byte [ebp - 4], 3
push 0x5c
lea eax, [ebp - 0x550]
push eax
lea eax, [ebp - 0x538]
push eax
lea eax, [ebp - 0x580]
push eax
call fcn.00481988
add esp, 0x10
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x550]
call fcn.0040a62b
mov byte [ebp - 4], 7
mov byte [ebp - 4], 5
lea eax, [ebp - 0x550]
mov dword [ebp - 0x588], eax
mov byte [ebp - 4], 8
mov byte [ebp - 4], 9
mov byte [ebp - 4], 5
push 0x100
push 0
lea eax, [ebp - 0x110]
push eax
call fcn.004b0090
add esp, 0xc
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push 0x53f944
push 0x80
lea eax, [ebp - 0x110]
push eax
call fcn.004077b0
add esp, 0x14
push 0x410
push 0
lea eax, [ebp - 0x520]
push eax
call fcn.004b0090
add esp, 0xc
lea ecx, [ebp - 0x580]
call fcn.0040a5f1
push eax
push 0x208
lea eax, [ebp - 0x520]
push eax
push 0x53fcb0
push str.TCLSClientFileName
lea eax, [ebp - 0x110]
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
push 2
pop eax
imul eax, eax, 0
movzx eax, word [ebp + eax - 0x520]
test eax, eax
jne 0x483067
push str.Client.exe
push 0x208
lea eax, [ebp - 0x520]
push eax
call fcn.004cc3b7
add esp, 0xc
lea eax, [ebp - 0x520]
push eax
lea ecx, [ebp - 0x568]
call fcn.00409053
mov byte [ebp - 4], 0xa
push 0x5c
lea eax, [ebp - 0x568]
push eax
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00481988
add esp, 0x10
mov eax, dword [ebp - 0x584]
or eax, 1
mov dword [ebp - 0x584], eax
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x568]
call fcn.0040a62b
mov byte [ebp - 4], 0xc
mov byte [ebp - 4], 5
lea eax, [ebp - 0x568]
mov dword [ebp - 0x58c], eax
mov byte [ebp - 4], 0xd
mov byte [ebp - 4], 0xe
mov byte [ebp - 4], 5
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x580]
call fcn.0040a62b
mov byte [ebp - 4], 0x10
mov byte [ebp - 4], 2
lea eax, [ebp - 0x580]
mov dword [ebp - 0x590], eax
mov byte [ebp - 4], 0x11
mov byte [ebp - 4], 0x12
mov byte [ebp - 4], 2
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x538]
call fcn.0040a62b
mov byte [ebp - 4], 0x14
mov byte [ebp - 4], 1
lea eax, [ebp - 0x538]
mov dword [ebp - 0x594], eax
mov byte [ebp - 4], 0x15
mov byte [ebp - 4], 0x16
mov byte [ebp - 4], 1
mov byte [ebp - 4], 0
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004ad99f
leave
ret
Function at 0x483c45
Capabilities:
Get disk information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x42c
mov eax, dword [0x5770a4]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x428], eax
cmp dword [ebp - 0x428], 0
jne 0x483c79
mov dword [ebp - 0x424], 1
jmp 0x483c80
and dword [ebp - 0x424], 0
movzx eax, byte [ebp - 0x424]
test eax, eax
jne 0x483d37
push 0x41
pop eax
mov word [ebp - 0x420], ax
movzx eax, word [ebp - 0x420]
cmp eax, 0x5a
jg 0x483d37
mov ax, word [ebp - 0x420]
mov word [ebp - 0xc], ax
push 0x3a
pop eax
mov word [ebp - 0xa], ax
xor eax, eax
mov word [ebp - 8], ax
push 0x410
push 0
lea eax, [ebp - 0x41c]
push eax
call fcn.004b0090
add esp, 0xc
push 0x207
lea eax, [ebp - 0x41c]
push eax
lea eax, [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_QueryDosDeviceW]
test eax, eax
je 0x483d20
mov ecx, dword [ebp + 8]
call fcn.0040a5f1
mov dword [ebp - 0x42c], eax
lea eax, [ebp - 0x41c]
push eax
push dword [ebp - 0x42c]
call fcn.004cf523
pop ecx
pop ecx
test eax, eax
jne 0x483d20
mov ax, word [ebp - 0x420]
jmp 0x483d39
mov ax, word [ebp - 0x420]
add ax, 1
mov word [ebp - 0x420], ax
jmp 0x483c99
xor eax, eax
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ad99f
leave
ret
Function at 0x484637
Capabilities:
Enumerate processes

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x23c
mov eax, dword [0x5770a4]
xor eax, ebp
mov dword [ebp - 4], eax
and dword [ebp - 0x238], 0
push 0x22c
push 0
lea eax, [ebp - 0x230]
push eax
call fcn.004b0090
add esp, 0xc
mov dword [ebp - 0x230], 0x22c
push 0
push 2
call sub.KERNEL32.dll_CreateToolhelp32Snapshot
mov dword [ebp - 0x234], eax
cmp dword [ebp - 0x234], 0xffffffff
jne 0x48468d
xor eax, eax
jmp 0x4846fe
lea eax, [ebp - 0x230]
push eax
push dword [ebp - 0x234]
call sub.KERNEL32.dll_Process32FirstW
test eax, eax
je 0x4846ec
mov ecx, dword [ebp + 8]
call fcn.0040a5f1
mov dword [ebp - 0x23c], eax
lea eax, [ebp - 0x20c]
push eax
push dword [ebp - 0x23c]
call fcn.004d5f0c
pop ecx
pop ecx
test eax, eax
jne 0x4846d6
mov eax, dword [ebp - 0x238]
inc eax
mov dword [ebp - 0x238], eax
lea eax, [ebp - 0x230]
push eax
push dword [ebp - 0x234]
call sub.KERNEL32.dll_Process32NextW
test eax, eax
jne 0x4846a3
push dword [ebp - 0x234]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x238]
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ad99f
leave
ret
Function at 0x48598a
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
mov dword [ebp - 0xc], ecx
and dword [ebp - 8], 0
and dword [ebp - 4], 0
push str.CreateComponent
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je 0x4859d2
push 0
push dword [ebp + 0xc]
call dword [ebp - 4]
pop ecx
pop ecx
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x4859d0
push str.Invoke_CreateComponent___in_TenFact.dll_return_null._n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
jmp 0x4859dd
push str.Cant_find_CreateComponent___in_TenFact.dll_or_TenFact.dll_is_missed_n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov eax, dword [ebp - 8]
leave
ret 8

Function at 0x4859e4
Capabilities:
Get disk information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x840
mov eax, dword [0x5770a4]
xor eax, ebp
mov dword [ebp - 4], eax
mov dword [ebp - 0x840], ecx
cmp dword [ebp + 8], 0
je 0x485a0f
cmp dword [ebp + 0xc], 0
je 0x485a0f
cmp dword [ebp + 0x10], 0
jne 0x485a14
jmp 0x485b80
push 2
pop eax
imul eax, eax, 0
xor ecx, ecx
mov edx, dword [ebp + 0xc]
mov word [edx + eax], cx
push 0x410
push 0
lea eax, [ebp - 0x41c]
push eax
call fcn.004b0090
add esp, 0xc
lea eax, [ebp - 0x41c]
push eax
push 0x208
call dword [sym.imp.KERNEL32.dll_GetLogicalDriveStringsW]
test eax, eax
jne 0x485a54
jmp 0x485b80
mov eax, dword [0x5399b8]
mov dword [ebp - 0xc], eax
mov ax, word [0x5399bc]
mov word [ebp - 8], ax
and dword [ebp - 0x834], 0
lea eax, [ebp - 0x41c]
mov dword [ebp - 0x830], eax
cmp dword [ebp - 0x834], 0
jne 0x485b80
mov eax, dword [ebp - 0x830]
movzx eax, word [eax]
test eax, eax
je 0x485b80
push 2
pop eax
imul eax, eax, 0
mov ecx, dword [ebp - 0x830]
mov cx, word [ecx]
mov word [ebp + eax - 0xc], cx
push 0x208
lea eax, [ebp - 0x82c]
push eax
lea eax, [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_QueryDosDeviceW]
test eax, eax
je 0x485b50
lea eax, [ebp - 0x82c]
push eax
call fcn.004cc4f3
pop ecx
mov dword [ebp - 0x838], eax
cmp dword [ebp - 0x838], 0x208
jae 0x485b50
push dword [ebp - 0x838]
lea eax, [ebp - 0x82c]
push eax
push dword [ebp + 8]
call fcn.004d7559
add esp, 0xc
test eax, eax
jne 0x485b10
mov dword [ebp - 0x83c], 1
jmp 0x485b17
and dword [ebp - 0x83c], 0
mov eax, dword [ebp - 0x83c]
mov dword [ebp - 0x834], eax
cmp dword [ebp - 0x834], 0
je 0x485b50
mov eax, dword [ebp - 0x838]
mov ecx, dword [ebp + 8]
lea eax, [ecx + eax*2]
push eax
lea eax, [ebp - 0xc]
push eax
push 0x531260
push dword [ebp + 0x10]
push dword [ebp + 0xc]
call fcn.004077b0
add esp, 0x14
mov eax, dword [ebp - 0x830]
movzx eax, word [eax]
test eax, eax
je 0x485b6d
mov eax, dword [ebp - 0x830]
inc eax
inc eax
mov dword [ebp - 0x830], eax
jmp 0x485b50
mov eax, dword [ebp - 0x830]
inc eax
inc eax
mov dword [ebp - 0x830], eax
jmp 0x485a79
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ad99f
leave
ret 0xc
Function at 0x485c9c
Capabilities:
Enumerate processes
Get process image filename

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xe74
mov eax, dword [0x5770a4]
xor eax, ebp
mov dword [ebp - 4], eax
mov dword [ebp - 0xe68], ecx
and dword [ebp - 0xe64], 0
push 0x410
push 0
lea eax, [ebp - 0x414]
push eax
call fcn.004b0090
add esp, 0xc
cmp dword [ebp - 0xe68], 0
je 0x485cec
mov eax, dword [ebp - 0xe68]
sub eax, 4
mov dword [ebp - 0xe70], eax
jmp 0x485cf3
and dword [ebp - 0xe70], 0
push 0x208
lea eax, [ebp - 0x414]
push eax
push dword [ebp + 8]
mov ecx, dword [ebp - 0xe70]
call fcn.00485b8e
cmp dword [ebp - 0xe68], 0
je 0x485d27
mov eax, dword [ebp - 0xe68]
sub eax, 4
mov dword [ebp - 0xe74], eax
jmp 0x485d2e
and dword [ebp - 0xe74], 0
push 0x208
lea eax, [ebp - 0x414]
push eax
mov ecx, dword [ebp - 0xe74]
call fcn.0048641c
push 0x410
push 0
lea eax, [ebp - 0x824]
push eax
call fcn.004b0090
add esp, 0xc
push 0
push 2
call sub.KERNEL32.dll_CreateToolhelp32Snapshot
mov dword [ebp - 0xe6c], eax
cmp dword [ebp - 0xe6c], 0xffffffff
je 0x485e96
push 0x22c
push 0
lea eax, [ebp - 0xe60]
push eax
call fcn.004b0090
add esp, 0xc
mov dword [ebp - 0xe60], 0x22c
lea eax, [ebp - 0xe60]
push eax
push dword [ebp - 0xe6c]
call sub.KERNEL32.dll_Process32FirstW
test eax, eax
je 0x485e83
lea eax, [ebp - 0x414]
push eax
lea eax, [ebp - 0xe3c]
push eax
call fcn.004d5f0c
pop ecx
pop ecx
test eax, eax
jne 0x485e69
push dword [ebp - 0xe58]
push 0
push 0x100411
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov dword [ebp - 0xe64], eax
cmp dword [ebp - 0xe64], 0
je 0x485e69
push 0x208
lea eax, [ebp - 0x824]
push eax
push dword [ebp - 0xe64]
call sub.PSAPI.DLL_GetProcessImageFileNameW
test eax, eax
je 0x485e56
push 0x410
push 0
lea eax, [ebp - 0xc34]
push eax
call fcn.004b0090
add esp, 0xc
push 0x208
lea eax, [ebp - 0xc34]
push eax
lea eax, [ebp - 0x824]
push eax
mov ecx, dword [ebp - 0xe68]
call fcn.004859e4
push dword [ebp + 8]
lea eax, [ebp - 0xc34]
push eax
call fcn.004d5f0c
pop ecx
pop ecx
test eax, eax
jne 0x485e56
jmp 0x485e83
push dword [ebp - 0xe64]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
and dword [ebp - 0xe64], 0
lea eax, [ebp - 0xe60]
push eax
push dword [ebp - 0xe6c]
call sub.KERNEL32.dll_Process32NextW
test eax, eax
jne 0x485db1
push dword [ebp - 0xe6c]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
or dword [ebp - 0xe6c], 0xffffffff
mov eax, dword [ebp - 0xe64]
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ad99f
leave
ret 4
Function at 0x48601c
Capabilities:
Print debug messages
Write file on windows

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1020
call fcn.004ade10
mov eax, dword [0x5770a4]
xor eax, ebp
mov dword [ebp - 4], eax
mov dword [ebp - 0x1008], ecx
mov eax, dword [ebp - 0x1008]
cmp dword [eax + 0xc], 0
je 0x486054
mov eax, dword [ebp - 0x1008]
push dword [eax + 0xc]
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [ebp - 0x1008]
cmp dword [eax + 8], 0xffffffff
je 0x4861ce
and dword [ebp - 0x101c], 0
push 2
lea eax, [ebp - 0x101c]
push eax
push 0
mov eax, dword [ebp - 0x1008]
push dword [eax + 8]
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
mov dword [ebp - 0x1020], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1010], eax
cmp dword [ebp - 0x1020], 0xffffffff
jne 0x4860f5
cmp dword [ebp - 0x1010], 0
je 0x4860f5
push 0x800
push 0
lea eax, [ebp - 0x1004]
push eax
call fcn.004b0090
add esp, 0xc
push dword [ebp - 0x1010]
push str.Set_log_file_pointer_at_end_fail___error_id___d___n
push 0x3ff
push 0x400
lea eax, [ebp - 0x1004]
push eax
call fcn.0040a851
add esp, 0x14
lea eax, [ebp - 0x1004]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
jmp 0x4861ce
and dword [ebp - 0x1018], 0
push 0x800
push 0
lea eax, [ebp - 0x804]
push eax
call fcn.004b0090
add esp, 0xc
lea eax, [ebp - 0x804]
push eax
push dword [ebp + 8]
mov ecx, dword [ebp - 0x1008]
call fcn.004867df
lea eax, [ebp - 0x804]
push eax
call fcn.004cc4f3
pop ecx
shl eax, 1
mov dword [ebp - 0x1014], eax
mov eax, dword [0x586714]
add eax, dword [ebp - 0x1014]
mov ecx, dword [ebp - 0x1008]
cmp eax, dword [ecx + 0x10]
jbe 0x48618d
mov ecx, dword [ebp - 0x1008]
call fcn.00485c57
mov dword [ebp - 0x100c], eax
cmp dword [ebp - 0x100c], 0
je 0x48618d
mov eax, dword [ebp - 0x100c]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x100c]
call dword [eax + 0x4c]
mov ecx, dword [ebp - 0x1008]
mov dword [ecx + 8], eax
and dword [0x586714], 0
mov eax, dword [ebp - 0x1008]
cmp dword [eax + 8], 0xffffffff
je 0x4861be
push 0
lea eax, [ebp - 0x1018]
push eax
push dword [ebp - 0x1014]
lea eax, [ebp - 0x804]
push eax
mov eax, dword [ebp - 0x1008]
push dword [eax + 8]
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov eax, dword [0x586714]
add eax, dword [ebp - 0x1018]
mov dword [0x586714], eax
mov eax, dword [ebp - 0x1008]
cmp dword [eax + 0xc], 0
je 0x4861e9
mov eax, dword [ebp - 0x1008]
push dword [eax + 0xc]
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ad99f
leave
ret 4