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

Disassembly:
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
Function at 0x75555b0a
Capabilities:
Query or enumerate registry value

Disassembly:
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
Function at 0x75555cb2
Capabilities:
Query or enumerate registry value

Disassembly:
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al

Function at 0x75555cc2
Capabilities:
Query or enumerate registry value

Disassembly:
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
Function at 0x75555d6a
Capabilities:
Query or enumerate registry value

Disassembly:
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
Function at 0x75555e00
Capabilities:
Query or enumerate registry value

Disassembly:
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
Function at 0x75555ecc
Capabilities:
Query or enumerate registry value

Disassembly:
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
mov edi, str.SOFTWAREMicrosoftCryptographyDefaultsProvider_TypesType
Function at 0x75556d20
Capabilities:
Encode data using xor

Disassembly:
push ebx
xor edx, edx
xor ecx, ecx
push esi
mov eax, dword [esp + 0x14]
mov esi, dword [esp + 0xc]
push edi
mov edi, eax
mov ebx, dword [esp + 0x14]
push ebp
mov cl, byte [esi + 0x100]
mov ebp, ebx
mov dl, byte [esi + 0x101]
test ebx, ebx
je 0x75556e5b
shr ebx, 2
and eax, 3
test ebx, ebx
je 0x75556e30
test eax, eax
jne 0x75556e30
mov eax, edi
lea edi, [edi + ebx*4]
mov dword [esp + 0x1c], edi
sub eax, 4
mov ebp, ebx
mov edi, dword [eax + 4]
inc ecx
xor eax, eax
and ecx, 0xff
mov al, byte [esi + ecx]
add edx, eax
and edx, 0xff
mov bl, byte [esi + edx]
mov byte [esi + ecx], bl
inc ecx
mov byte [esi + edx], al
add al, bl
mov al, byte [esi + eax]
xor edi, eax
and ecx, 0xff
xor eax, eax
mov al, byte [esi + ecx]
add edx, eax
and edx, 0xff
mov bl, byte [esi + edx]
mov byte [esi + ecx], bl
inc ecx
mov byte [esi + edx], al
add al, bl
mov al, byte [esi + eax]
shl eax, 8
xor edi, eax
and ecx, 0xff
xor eax, eax
mov al, byte [esi + ecx]
add edx, eax
and edx, 0xff
mov bl, byte [esi + edx]
mov byte [esi + ecx], bl
inc ecx
mov byte [esi + edx], al
add al, bl
mov al, byte [esi + eax]
shl eax, 0x10
xor edi, eax
and ecx, 0xff
xor eax, eax
mov al, byte [esi + ecx]
add edx, eax
and edx, 0xff
mov bl, byte [esi + edx]
mov byte [esi + ecx], bl
mov byte [esi + edx], al
add al, bl
mov al, byte [esi + eax]
shl eax, 0x18
lea ebx, [ebp*4]
xor edi, eax
mov eax, dword [esp + 0x1c]
sub eax, ebx
mov dword [eax], edi
dec ebp
jne 0x75556d70
mov ebp, dword [esp + 0x18]
and ebp, 3
test ebp, ebp
je 0x75556e5b
lea edi, [eax + 4]
inc ecx
mov ebx, 0xff
and ecx, ebx
xor eax, eax
mov al, byte [esi + ecx]
add edx, eax
and edx, ebx
xor ebx, ebx
mov bl, byte [esi + edx]
mov byte [esi + ecx], bl
mov byte [esi + edx], al
add al, bl
mov bl, byte [edi]
mov al, byte [esi + eax]
xor bl, al
mov byte [edi], bl
inc edi
dec ebp
jne 0x75556e30
pop ebp
pop edi
lea eax, [esi + 0x100]
pop esi
mov byte [eax], cl
pop ebx
mov byte [eax + 1], dl
ret 0xc

Function at 0x75556f70
Capabilities:
Hash data with md5

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
mov eax, dword [ebp + 8]
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0x67452301
mov dword [eax + 0xc], 0xefcdab89
mov dword [eax + 0x10], 0x98badcfe
mov dword [eax + 0x14], 0x10325476
pop ebp
ret 4
Function at 0x401570
Capabilities:
Encode data using xor

Disassembly:
sub esp, 8
fldz
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov dword [esp], 0
xor eax, eax
mov word [esp], ax
fst dword [esp]
fstp dword [esp]
mov eax, dword [0x4375d8]
mov dword [esp + 0xc], eax
fild dword [esp + 0xc]
push esi
lea esi, [ecx + edx*4]
fsub qword [0x437838]
fcomp qword [0x41f258]
fnstsw ax
test ah, 5
jp 0x4015c2
fld dword [esp + 4]
fsub qword [0x41f250]
fstp dword [esp + 4]
mov edx, dword [esp + 0x18]
mov dword [esp + 8], edx
cmp ecx, esi
je 0x4015f5
mov edi, edi
mov eax, dword [esp + 8]
xor dword [ecx], eax
ror dword [esp + 8], 1
mov dl, byte [esp + 8]
mov al, byte [esp + 9]
add al, dl
add dl, al
add ecx, 4
mov byte [esp + 9], al
mov byte [esp + 8], dl
cmp ecx, esi
jne 0x4015d0
fld dword [0x437524]
pop esi
fadd qword [0x41f230]
fstp dword [0x437524]
fld dword [0x437524]
mov cx, word [0x4375d0]
mov ax, word [0x43741c]
movsx edx, cx
mov dword [esp + 0xc], edx
movsx ecx, ax
fild dword [esp + 0xc]
mov dword [esp + 0xc], ecx
mov eax, 1
faddp st(1)
fild dword [esp + 0xc]
fsubp st(1)
fadd dword [esp]
fstp dword [esp]
add word [0x43741c], ax
add word [0x4375d0], ax
add esp, 8
ret

Function at 0x401660
Capabilities:
Encode data using xor

Disassembly:
sub esp, 0x10
fldz
push ebx
fstp dword [esp + 8]
push esi
fldz
push edi
mov edi, dword [esp + 0x24]
fstp qword [esp + 0x14]
xor eax, eax
mov word [esp + 0xc], ax
push edi
call fcn.0040b478
mov cx, word [esp + 0x10]
mov ebx, dword [esp + 0x24]
movsx edx, cx
add edx, 0x52887860
mov dword [esp + 0x10], edx
push edi
mov esi, eax
fild dword [esp + 0x14]
push ebx
push esi
fadd qword [0x4378d0]
fstp qword [0x4378d0]
call fcn.0040b560
add esp, 0x10
cmp ebx, 0x424590
jb 0x40171e
cmp ebx, 0x4394d0
jae 0x40171e
fld dword [0x437958]
add edi, esi
fsubr qword [0x41f260]
mov ecx, esi
fld dword [esp + 0x10]
fsubp st(1)
fsubr qword [esp + 0x14]
fstp qword [esp + 0x14]
fld dword [0x437958]
mov eax, dword [0x43ae94]
fadd qword [0x41f230]
sub eax, 0x424590
add eax, ebx
fstp dword [0x437958]
fld qword [esp + 0x14]
fsub qword [0x437760]
fstp qword [esp + 0x14]
cmp esi, edi
je 0x40171e
mov dl, byte [eax]
xor byte [ecx], dl
inc ecx
inc eax
cmp ecx, edi
jne 0x401714
pop edi
mov eax, esi
pop esi
pop ebx
add esp, 0x10
ret
Function at 0x403a70
Capabilities:
Write file on windows

Disassembly:
sub esp, 8
fldz
push ebx
push esi
xor eax, eax
mov word [esp + 8], ax
fstp qword [esp + 8]
fldz
push edi
push 3
fstp dword [esp + 0x10]
push 0x427efc
call fcn.00401660
mov ecx, dword [0x4375d4]
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x14], ecx
fild dword [esp + 0x14]
mov esi, eax
push esi
push ebx
fadd qword [0x437550]
fstp qword [0x437550]
call fcn.0040c08e
mov edi, eax
add esp, 0x10
test edi, edi
jne 0x403aec
push 0x3e8
call dword [0x43a98c]
push esi
push ebx
call fcn.0040c08e
fld qword [0x41f3e8]
mov edi, eax
fstp qword [0x4375e0]
add esp, 8
test edi, edi
je 0x403b04
push edi
push 1
lea edx, [esp + 0x24]
push 4
push edx
call fcn.0040c207
push edi
call fcn.0040bc34
add esp, 0x14
fldz
xor eax, eax
fst qword [esp + 0xc]
mov word [esi], ax
fstp qword [esp + 0xc]
mov byte [esi + 2], al
fld qword [esp + 0xc]
push esi
fmul qword [0x41f330]
fstp qword [esp + 0x10]
call fcn.0040b39b
add esp, 4
pop edi
pop esi
pop ebx
add esp, 8
ret
Function at 0x40b542
Capabilities:
Terminate process

Disassembly:
cmp ecx, dword [0x4395c0]
jne 0x40b54c
repz ret
jmp fcn.0040f6b7

Function at 0x4167c5
Capabilities:
Link many functions at runtime

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x14
push ebx
push esi
push edi
call fcn.0040fa87
and dword [ebp - 4], 0
cmp dword [0x43b898], 0
mov ebx, eax
jne 0x416876
push str.USER32.DLL
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov edi, eax
test edi, edi
je 0x416927
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.MessageBoxA
push edi
call esi
test eax, eax
je 0x416927
push eax
call fcn.0040fa15
mov dword [esp], str.GetActiveWindow
push edi
mov dword [0x43b898], eax
call esi
push eax
call fcn.0040fa15
mov dword [esp], str.GetLastActivePopup
push edi
mov dword [0x43b89c], eax
call esi
push eax
call fcn.0040fa15
mov dword [esp], str.GetUserObjectInformationA
push edi
mov dword [0x43b8a0], eax
call esi
push eax
call fcn.0040fa15
pop ecx
mov dword [0x43b8a8], eax
test eax, eax
je 0x416876
push str.GetProcessWindowStation
push edi
call esi
push eax
call fcn.0040fa15
pop ecx
mov dword [0x43b8a4], eax
mov eax, dword [0x43b8a4]
cmp eax, ebx
je 0x4168ce
cmp dword [0x43b8a8], ebx
je 0x4168ce
push eax
call fcn.0040fa90
push dword [0x43b8a8]
mov esi, eax
call fcn.0040fa90
pop ecx
pop ecx
mov edi, eax
test esi, esi
je 0x4168ce
test edi, edi
je 0x4168ce
call esi
test eax, eax
je 0x4168c5
lea ecx, [ebp - 8]
push ecx
push 0xc
lea ecx, [ebp - 0x14]
push ecx
push 1
push eax
call edi
test eax, eax
je 0x4168c5
test byte [ebp - 0xc], 1
jne 0x4168ce
or dword [ebp + 0x10], 0x200000
jmp 0x416907
mov eax, dword [0x43b89c]
cmp eax, ebx
je 0x416907
push eax
call fcn.0040fa90
pop ecx
test eax, eax
je 0x416907
call eax
mov dword [ebp - 4], eax
test eax, eax
je 0x416907
mov eax, dword [0x43b8a0]
cmp eax, ebx
je 0x416907
push eax
call fcn.0040fa90
pop ecx
test eax, eax
je 0x416907
push dword [ebp - 4]
call eax
mov dword [ebp - 4], eax
push dword [0x43b898]
call fcn.0040fa90
pop ecx
test eax, eax
je 0x416927
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
push dword [ebp - 4]
call eax
jmp 0x416929
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret
Function at 0x40603f
Capabilities:
Enumerate files on windows
Enumerate files recursively

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x370
mov eax, dword [0x431440]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
push eax
mov ebx, 0x104
lea eax, [ebp - 0x108]
push ebx
push eax
call fcn.00411293
lea eax, [ebp - 0x108]
push eax
call fcn.0040723d
lea eax, [ebp - 0x108]
push eax
lea eax, [ebp - 0x20c]
push ebx
push eax
call fcn.00411293
push 0x426a04
lea eax, [ebp - 0x108]
push ebx
push eax
call fcn.0041149d
add esp, 0x28
lea eax, [ebp - 0x370]
push eax
lea eax, [ebp - 0x108]
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov esi, dword [ebp + 0xc]
mov edi, eax
cmp edi, 0xffffffff
je 0x406165
lea eax, [ebp - 0x344]
push eax
lea eax, [ebp - 0x20c]
push eax
push 0x426598
lea eax, [ebp - 0x108]
push ebx
push eax
call fcn.00403cbc
add esp, 0x14
lea eax, [ebp - 0x230]
push eax
push 0
lea eax, [ebp - 0x108]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesExA]
test eax, eax
je 0x40614f
test byte [ebp - 0x230], 0x10
je 0x406149
lea eax, [ebp - 0x344]
push 0x426a08
push eax
call fcn.00418d90
pop ecx
pop ecx
test eax, eax
je 0x40614f
lea eax, [ebp - 0x344]
push 0x426a0c
push eax
call fcn.00418d90
pop ecx
pop ecx
test eax, eax
je 0x40614f
lea eax, [ebp - 0x108]
push esi
push eax
call fcn.0040603f
pop ecx
pop ecx
add esi, eax
jmp 0x40614f
add esi, dword [ebp - 0x210]
lea eax, [ebp - 0x370]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x4060c2
push edi
call dword [sym.imp.KERNEL32.dll_FindClose]
mov ecx, dword [ebp - 4]
mov eax, esi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0040d603
leave
ret

Function at 0x40617d
Capabilities:
Enumerate files on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x248
mov eax, dword [0x431440]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
mov edi, dword [ebp + 0xc]
push eax
push 0x426a10
lea eax, [ebp - 0x108]
push 0x104
push eax
call fcn.00403cbc
add esp, 0x10
lea eax, [ebp - 0x248]
push eax
lea eax, [ebp - 0x108]
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov esi, eax
lea eax, [ebp - 0x21c]
push 0x426a08
push eax
call fcn.00411539
pop ecx
pop ecx
test eax, eax
je 0x40620a
lea eax, [ebp - 0x21c]
push 0x426a0c
push eax
call fcn.00411539
pop ecx
pop ecx
test eax, eax
je 0x40620a
lea eax, [ebp - 0x21c]
push edi
push eax
call fcn.00411539
pop ecx
pop ecx
test eax, eax
jne 0x406236
lea eax, [ebp - 0x248]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x4061c9
mov bl, 1
push esi
call dword [sym.imp.KERNEL32.dll_FindClose]
mov ecx, dword [ebp - 4]
mov al, bl
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0040d603
leave
ret
xor bl, bl
jmp 0x40621e