Function at 0x4648ec
Capabilities:
Enumerate files on windows

Disassembly:
push edi
push esi
push ebp
push ebx
sub esp, 0x784
mov ebx, edx
mov dword [esp + 0x77c], eax
push 0xfa0
call fcn.00403564
pop ecx
mov dword [esp + 0x774], eax
test eax, eax
je 0x464e62
push 0x3e8
call fcn.00403564
pop ecx
mov dword [esp + 0x76c], eax
test eax, eax
je 0x464e46
push 0x209
call fcn.0046ef5c
pop ecx
mov ecx, dword [esp + 0x774]
mov dword [ecx], eax
test eax, eax
je 0x464e2a
mov esi, eax
mov edi, ebx
mov dl, byte [edi]
inc edi
mov byte [esi], dl
inc esi
test dl, dl
jne 0x464953
mov eax, dword [esp + 0x76c]
mov byte [eax], 1
mov eax, 1
xor ebx, ebx
mov dword [esp + 0x778], eax
lea ebp, [ebx + 1]
mov eax, dword [esp + 0x778]
cmp eax, ebp
jl 0x464d3f
lea esi, [esp + 0x41c]
mov eax, dword [esp + 0x774]
mov edi, dword [eax + ebx*4]
mov dl, byte [edi]
inc edi
mov byte [esi], dl
inc esi
test dl, dl
jne 0x464998
lea edi, [esp + 0x41c]
mov edx, 0x878338
mov ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
dec edi
mov al, byte [edx]
inc edx
mov byte [edi], al
inc edi
test al, al
jne 0x4649b8
lea esi, [esp + 4]
lea edi, [esp + 0x41c]
mov dl, byte [edi]
inc edi
mov byte [esi], dl
inc esi
test dl, dl
jne 0x4649cd
lea edi, [esp + 4]
mov edx, 0x878c80
mov ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
dec edi
mov al, byte [edx]
inc edx
mov byte [edi], al
inc edi
test al, al
jne 0x4649ea
mov esi, dword [esp + 0x76c]
movzx esi, byte [esi + ebx]
mov ebx, ebp
lea edx, [esp + 4]
lea eax, [esp + 0x628]
push eax
push edx
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov ebp, eax
cmp ebp, 0xffffffff
je 0x464975
lea edx, [esi + 1]
mov dword [esp + 0x770], edx
mov dword [esp + 0x780], esi
mov dword [esp + 0x768], ebx
cmp byte [esp + 0x654], 0x2e
je 0x464deb
xor edx, edx
test edx, edx
jne 0x464d15
mov edx, dword [esp + 0x628]
and edx, 0x10
cmp edx, 0x10
jne 0x464b3d
mov ecx, dword [esp + 0x780]
mov edx, dword [esp + 0x77c]
cmp edx, ecx
jl 0x464d15
lea edx, [esp + 0x654]
push dword [0x59b74c]
push edx
call fcn.0046f0a0
add esp, 8
test eax, eax
jne 0x464d15
mov edx, dword [esp + 0x778]
cmp edx, 0x3e8
jge 0x464dcf
mov edx, dword [esp + 0x780]
cmp edx, 0x20
jge 0x464db3
push 0x106
call fcn.0046ef5c
pop ecx
mov ebx, dword [esp + 0x778]
lea ecx, [ebx + ebx]
mov edx, dword [esp + 0x774]
mov dword [edx + ebx*4], eax
test eax, eax
je 0x464d97
mov esi, eax
lea edi, [esp + 0x41c]
mov dl, byte [edi]
inc edi
mov byte [esi], dl
inc esi
test dl, dl
jne 0x464ae9
mov ebx, dword [esp + 0x774]
mov edi, dword [ebx + ecx*2]
lea edx, [esp + 0x654]
mov ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
dec edi
mov al, byte [edx]
inc edx
mov byte [edi], al
inc edi
test al, al
jne 0x464b0e
mov edx, dword [esp + 0x770]
mov ecx, dword [esp + 0x76c]
mov ebx, dword [esp + 0x778]
mov byte [ebx + ecx], dl
inc ebx
mov dword [esp + 0x778], ebx
jmp 0x464d15
lea edi, [esp + 0x654]
xor eax, eax
mov dh, byte [edi]
mov ecx, edi
test dh, dh
je 0x464b56
inc ecx
inc eax
mov dl, byte [ecx]
test dl, dl
jne 0x464b4e
cmp eax, 4
jl 0x464d15
lea edx, [esp + eax + 0x650]
push 4
push 0x878cf0
push edx
call fcn.004717b0
add esp, 0xc
test eax, eax
jne 0x464d15
lea edx, [esp + 0x654]
push 0x878c84
push edx
call fcn.0046f0a0
add esp, 8
test eax, eax
jne 0x464b9e
mov ebx, 1
jmp 0x464ba0
xor ebx, ebx
lea edx, [esp + 0x654]
push 0x878c90
push edx
call fcn.0046f0a0
add esp, 8
test eax, eax
jne 0x464bbe
mov ebx, 2
lea edx, [esp + 0x654]
push 0x878c9c
push edx
call fcn.0046f0a0
add esp, 8
test eax, eax
jne 0x464bdc
mov ebx, 3
lea edx, [esp + 0x654]
push 0x878ca8
push edx
call fcn.0046f0a0
add esp, 8
test eax, eax
jne 0x464bfa
mov ebx, 4
lea edx, [esp + 0x654]
push 0x878cb4
push edx
call fcn.0046f0a0
add esp, 8
test eax, eax
jne 0x464c18
mov ebx, 5
lea edx, [esp + 0x654]
push 0x878cc0
push edx
call fcn.0046f0a0
add esp, 8
test eax, eax
jne 0x464c36
mov ebx, 6
lea edx, [esp + 0x654]
push 0x878ccc
push edx
call fcn.0046f0a0
add esp, 8
test eax, eax
jne 0x464c54
mov ebx, 7
lea edx, [esp + 0x654]
push 0x878cd8
push edx
call fcn.0046f0a0
add esp, 8
test eax, eax
jne 0x464c72
mov ebx, 8
lea edx, [esp + 0x654]
push 0x878ce4
push edx
call fcn.0046f0a0
add esp, 8
test eax, eax
jne 0x464c90
mov ebx, 9
lea esi, [esp + 0x210]
lea edi, [esp + 0x41c]
mov dl, byte [edi]
inc edi
mov byte [esi], dl
inc esi
test dl, dl
jne 0x464c9e
lea edi, [esp + 0x210]
lea edx, [esp + 0x654]
mov ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
dec edi
mov al, byte [edx]
inc edx
mov byte [edi], al
inc edi
test al, al
jne 0x464cc0
lea eax, [esp + 0x210]
call fcn.00464e94
test ebx, ebx
jne 0x464cf0
lea eax, [esp + 0x210]
call fcn.004645d8
test eax, eax
jne 0x464e7e
jmp 0x464d15
push 0x105
call fcn.0046ef5c
pop ecx
mov dword [ebx*4 + 0x872578], eax
mov esi, eax
lea edi, [esp + 0x210]
mov dl, byte [edi]
inc edi
mov byte [esi], dl
inc esi
test dl, dl
jne 0x464d0b
lea edx, [esp + 0x628]
push edx
push ebp
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x464a37
mov ebx, dword [esp + 0x768]
push ebp
call dword [sym.imp.KERNEL32.dll_FindClose]
jmp 0x464975
mov esi, dword [esp + 0x774]
lea ebx, [esi + 0xfa0]
mov eax, dword [esi]
test eax, eax
je 0x464d59
push eax
call fcn.0046f4ee
pop ecx
mov dword [esi], 0
add esi, 4
cmp ebx, esi
ja 0x464d4c
mov eax, dword [esp + 0x774]
test eax, eax
je 0x464d78
push eax
call fcn.0046f4ee
pop ecx
mov eax, dword [esp + 0x76c]
test eax, eax
je 0x464d8a
push eax
call fcn.0046f4ee
pop ecx
xor eax, eax
add esp, 0x784
pop ebx
pop ebp
pop esi
pop edi
ret
push 1
push 0x186aa
call fcn.0046c03c
mov eax, 0xffffffff
add esp, 0x78c
pop ebx
pop ebp
pop esi
pop edi
ret
push 1
push 0x196af
call fcn.0046c03c
mov eax, 0xffffffff
add esp, 0x78c
pop ebx
pop ebp
pop esi
pop edi
ret
push 1
push 0x196ae
call fcn.0046c03c
mov eax, 0xffffffff
add esp, 0x78c
pop ebx
pop ebp
pop esi
pop edi
ret
movsx edx, byte [esp + 0x655]
test edx, edx
jne 0x464e01
mov edx, 1
jmp 0x464a47
cmp edx, 0x2e
je 0x464e0d
xor edx, edx
jmp 0x464a47
movsx edx, byte [esp + 0x656]
test edx, edx
jne 0x464e23
mov edx, 1
jmp 0x464a47
xor edx, edx
jmp 0x464a47
push 1
push 0x186aa
call fcn.0046c03c
mov eax, 0xffffffff
add esp, 0x78c
pop ebx
pop ebp
pop esi
pop edi
ret
push 1
push 0x186aa
call fcn.0046c010
mov eax, 0xffffffff
add esp, 0x78c
pop ebx
pop ebp
pop esi
pop edi
ret
push 1
push 0x186aa
call fcn.0046c010
mov eax, 0xffffffff
add esp, 0x78c
pop ebx
pop ebp
pop esi
pop edi
ret
mov eax, 0xffffffff
add esp, 0x784
pop ebx
pop ebp
pop esi
pop edi
ret