Function at 0x45e990
Capabilities:
Enumerate files on windows

Disassembly:
sub esp, 0x24c
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x260]
mov bl, cl
test edi, edi
mov ebp, edx
mov byte [esp + 0x13], bl
jne 0x45e9bf
mov eax, 0xff
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x24c
ret 8
mov al, byte [0x64a9f0]
test al, al
jne 0x45e9fb
mov ecx, 0x1c
call fcn.0045b060
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, 0x64a9f0
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, dword [esp + 0x260]
mov eax, dword [0x64a8b8]
xor ecx, ecx
test eax, eax
setle cl
dec ecx
and ecx, eax
mov esi, ecx
test esi, esi
je 0x45ea26
call fcn.004cbcf0
push 0
push 0xfffffffffffffffe
push str.._AULISTENTRY__
push esi
call sub.Storm.dll_Ordinal_403
jmp 0x45e9fb
test bl, 0x10
je 0x45ea35
call fcn.0045f200
jmp 0x45ebc3
mov edi, ebp
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x158]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [esp + 0x158]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x45ea8f
cmp byte [esp + ecx + 0x157], 0x5c
je 0x45ea8f
push 0x104
lea ecx, [esp + 0x15c]
push 0x4fac0c
push ecx
call sub.Storm.dll_Ordinal_503
push 0x104
lea edx, [esp + 0x15c]
push 0x4faf10
push edx
call sub.Storm.dll_Ordinal_503
call fcn.004a1740
mov edi, eax
lea eax, [esp + 0x18]
lea ecx, [esp + 0x158]
push eax
push ecx
inc edi
and bl, 0x70
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
cmp eax, 0xffffffff
mov dword [esp + 0x14], eax
je 0x45ebbc
mov al, byte [esp + 0x18]
test al, 0x10
je 0x45eaf4
test byte [esp + 0x13], 8
je 0x45eb9d
lea edx, [esp + 0x44]
mov ecx, ebp
call fcn.0045ecf0
jmp 0x45eb9d
test al, 2
jne 0x45eb9d
lea edx, [esp + 0x44]
push 0x2e
push edx
call fcn.004ce140
mov esi, eax
add esp, 8
inc esi
test eax, eax
je 0x45eb9d
mov al, byte [0x518a68]
test al, al
je 0x45eb33
mov ecx, dword [0x4ee004]
push ecx
push esi
call fcn.004ce610
add esp, 8
test eax, eax
je 0x45eb47
mov edx, dword [0x4ee000]
push edx
push esi
call fcn.004ce610
add esp, 8
test eax, eax
jne 0x45eb55
lea eax, [esp + 0x44]
mov cl, bl
push eax
mov edx, ebp
or cl, 4
jmp 0x45eb98
mov al, byte [0x65aa4c]
test al, al
je 0x45eb7a
push edi
push esi
call fcn.004ce610
add esp, 8
test eax, eax
jne 0x45eb7a
lea ecx, [esp + 0x44]
mov edx, ebp
push ecx
mov cl, bl
or cl, 1
jmp 0x45eb98
push 0x4ee008
push esi
call fcn.004ce610
add esp, 8
test eax, eax
jne 0x45eb9d
lea edx, [esp + 0x44]
mov cl, bl
push edx
mov edx, ebp
or cl, 0x80
call fcn.0045efe0
mov esi, dword [esp + 0x14]
lea eax, [esp + 0x18]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x45ead1
push esi
call dword [sym.imp.KERNEL32.dll_FindClose]
mov edi, dword [esp + 0x260]
mov eax, dword [0x64a8b8]
xor ecx, ecx
test eax, eax
setle cl
dec ecx
and ecx, eax
mov esi, ecx
test esi, esi
jle 0x45ec01
mov dl, byte [esi + 0x268]
lea eax, [esi + 8]
push edx
push eax
push esi
call edi
test esi, esi
mov dword [esi + 0x254], eax
jne 0x45ebf5
mov esi, 0x64a8b4
mov esi, dword [esi + 4]
test esi, esi
jg 0x45ebd8
mov eax, dword [0x64a8b8]
mov ebx, dword [esp + 0x264]
test ebx, ebx
je 0x45ec56
xor ecx, ecx
test eax, eax
setle cl
dec ecx
and ecx, eax
mov esi, ecx
test esi, esi
jle 0x45ec56
lea edi, [esi + 8]
or ecx, 0xffffffff
xor eax, eax
lea edx, [esi + 9]
repne scasb al, byte es:[edi]
not ecx
add ecx, 0xfffffffc
push ecx
push edx
push ebx
call fcn.004cdf60
add esp, 0xc
test eax, eax
je 0x45ecdd
test esi, esi
jne 0x45ec4a
mov esi, 0x64a8b4
mov esi, dword [esi + 4]
test esi, esi
jg 0x45ec1c
mov eax, dword [0x64a8b8]
xor ecx, ecx
test eax, eax
setle cl
dec ecx
and ecx, eax
mov esi, ecx
test esi, esi
jle 0x45ecbb
lea edx, [esi + 0x269]
push 0x2e
push edx
call fcn.004ce140
mov edi, eax
add esp, 8
inc edi
test eax, eax
je 0x45eca6
mov ecx, dword [0x4ee004]
push ecx
push edi
call fcn.004ce610
add esp, 8
test eax, eax
je 0x45ecdd
mov edx, dword [0x4ee000]
push edx
push edi
call fcn.004ce610
add esp, 8
test eax, eax
je 0x45ecdd
test esi, esi
jne 0x45ecaf
mov esi, 0x64a8b4
mov esi, dword [esi + 4]
test esi, esi
jg 0x45ec66
mov eax, dword [0x64a8b8]
xor ecx, ecx
test eax, eax
setle cl
dec ecx
and eax, ecx
neg eax
sbb eax, eax
and al, 1
add eax, 0xff
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x24c
ret 8
mov eax, dword [esi + 0x254]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x24c
ret 8