Function at 0x54af20
Capabilities:
Enumerate files on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x713189
mov eax, dword fs:[0]
push eax
sub esp, 0x2e4
mov eax, dword [0x7b7fc0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 4], 0
mov byte [ebp - 0x2b5], 0
lea ecx, [ebp + 8]
call fcn.00441d60
push eax
push 0x73bb10
lea eax, [ebp - 0x114]
push eax
call fcn.00498ff0
add esp, 0xc
lea ecx, [ebp - 0x2b4]
push ecx
lea edx, [ebp - 0x114]
push edx
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov dword [ebp - 0x2cc], eax
cmp dword [ebp - 0x2cc], 0xffffffff
jne 0x54afbf
mov al, byte [ebp - 0x2b5]
mov byte [ebp - 0x2b9], al
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 8]
call fcn.004419f0
mov al, byte [ebp - 0x2b9]
jmp 0x54b47e
movzx ecx, byte [ebp - 0x2b5]
test ecx, ecx
je 0x54afcf
jmp 0x54b450
lea edx, [ebp - 0x288]
mov dword [ebp - 0x2c8], edx
push 0x73bb18
mov eax, dword [ebp - 0x2c8]
push eax
call fcn.00686cb0
add esp, 8
test eax, eax
je 0x54b00b
push 0x73bb1c
mov ecx, dword [ebp - 0x2c8]
push ecx
call fcn.00686cb0
add esp, 8
test eax, eax
jne 0x54b010
jmp 0x54b434
mov edx, dword [ebp - 0x2b4]
and edx, 0x10
je 0x54b020
jmp 0x54b434
xor eax, eax
je 0x54b038
mov ecx, dword [ebp - 0x2c8]
push ecx
push str.starting__s
call fcn.00567380
add esp, 8
mov edx, dword [ebp - 0x2c8]
push edx
lea ecx, [ebp - 0x12c]
call fcn.00447530
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x2c8]
push eax
push 0x73bb2c
lea ecx, [ebp + 8]
push ecx
lea edx, [ebp - 0x174]
push edx
call fcn.00452c90
add esp, 0xc
mov dword [ebp - 0x2d0], eax
mov eax, dword [ebp - 0x2d0]
mov dword [ebp - 0x2d4], eax
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x2d4]
push ecx
lea edx, [ebp - 0x15c]
push edx
call fcn.0044e2d0
add esp, 0xc
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x174]
call fcn.004419f0
xor eax, eax
je 0x54b0c5
lea ecx, [ebp - 0x15c]
call fcn.00441d60
push eax
push str.path__s
call fcn.00567380
add esp, 8
push fcn.0068cfce
lea ecx, [ebp - 0x2e4]
push ecx
lea ecx, [ebp - 0x12c]
call fcn.00447370
mov edx, dword [eax]
push edx
lea eax, [ebp - 0x2e8]
push eax
lea ecx, [ebp - 0x12c]
call fcn.00447350
mov ecx, dword [eax]
push ecx
lea edx, [ebp - 0x2ec]
push edx
lea ecx, [ebp - 0x12c]
call fcn.00447370
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x2f0]
push ecx
call fcn.00449a70
add esp, 0x14
lea edx, [ebp - 0x12c]
push edx
lea eax, [ebp - 0x144]
push eax
call fcn.00549b10
add esp, 8
mov byte [ebp - 4], 5
xor ecx, ecx
je 0x54b14f
lea ecx, [ebp - 0x144]
call fcn.00441d60
push eax
push str.ext__s
call fcn.00567380
add esp, 8
mov byte [ebp - 0x2b8], 0
mov byte [ebp - 0x2b6], 0
push 0x7d1690
call fcn.00441fd0
add esp, 4
mov dword [ebp - 0x2c0], eax
push 0x7d1690
call fcn.00548f20
add esp, 4
mov dword [ebp - 0x2d8], eax
jmp 0x54b194
mov edx, dword [ebp - 0x2c0]
add edx, 0x1c
mov dword [ebp - 0x2c0], edx
mov eax, dword [ebp - 0x2c0]
cmp eax, dword [ebp - 0x2d8]
jae 0x54b20a
xor ecx, ecx
je 0x54b1cb
lea ecx, [ebp - 0x144]
call fcn.00441d60
push eax
mov ecx, dword [ebp - 0x2c0]
call fcn.00441d60
push eax
push str.is__s____s
call fcn.00567380
add esp, 0xc
mov edx, dword [ebp - 0x2c0]
push edx
mov ecx, dword [ebp - 0x2c0]
call fcn.00447050
push eax
push 0
lea ecx, [ebp - 0x144]
call fcn.0054b940
test eax, eax
jne 0x54b205
mov byte [ebp - 0x2b8], 1
mov eax, dword [ebp - 0x2c0]
mov cl, byte [eax + 0x18]
mov byte [ebp - 0x2b6], cl
jmp 0x54b185
movzx edx, byte [ebp - 0x2b8]
test edx, edx
je 0x54b407
xor eax, eax
je 0x54b242
lea ecx, [ebp - 0x144]
call fcn.00441d60
push eax
lea ecx, [ebp - 0x12c]
call fcn.00441d60
push eax
push str.verify__s_____s
call fcn.00567380
add esp, 0xc
mov byte [ebp - 0x2b7], 0
push 0x7d1720
call fcn.00441fd0
add esp, 4
mov dword [ebp - 0x2c4], eax
push 0x7d1720
call fcn.00548f30
add esp, 4
mov dword [ebp - 0x2dc], eax
jmp 0x54b280
mov ecx, dword [ebp - 0x2c4]
add ecx, 0x20
mov dword [ebp - 0x2c4], ecx
mov edx, dword [ebp - 0x2c4]
cmp edx, dword [ebp - 0x2dc]
jae 0x54b31b
lea eax, [ebp - 0x12c]
push eax
mov ecx, dword [ebp - 0x2c4]
call fcn.004bcb80
test eax, eax
jne 0x54b316
xor ecx, ecx
je 0x54b2d1
lea ecx, [ebp - 0x12c]
call fcn.00441d60
push eax
mov ecx, dword [ebp - 0x2c4]
call fcn.00441d60
push eax
push str.found__s_s
call fcn.00567380
add esp, 0xc
lea ecx, [ebp - 0x15c]
call fcn.00441d60
push eax
call fcn.00569050
add esp, 4
mov dword [ebp - 0x2e0], eax
xor edx, edx
je 0x54b30d
mov eax, dword [ebp - 0x2e0]
push eax
mov ecx, dword [ebp - 0x2c4]
mov edx, dword [ecx + 0x1c]
push edx
push str.right_crc32__u_u
call fcn.00567380
add esp, 0xc
mov byte [ebp - 0x2b7], 1
jmp 0x54b31b
jmp 0x54b271
movzx eax, byte [ebp - 0x2b7]
test eax, eax
jne 0x54b3d2
movzx ecx, byte [ebp - 0x2b6]
test ecx, ecx
je 0x54b3d2
xor edx, edx
je 0x54b356
lea ecx, [ebp - 0x12c]
call fcn.00441d60
push eax
push str.not_found__s
call fcn.00567380
add esp, 8
mov byte [ebp - 0x2b5], 1
mov eax, 1
test eax, eax
je 0x54b37f
lea ecx, [ebp - 0x15c]
call fcn.00441d60
push eax
push str.ambiguous_file_for__s
call fcn.00567380
add esp, 8
mov cl, byte [ebp - 0x2b5]
mov byte [ebp - 0x2ba], cl
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x144]
call fcn.004419f0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x15c]
call fcn.004419f0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x12c]
call fcn.004419f0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 8]
call fcn.004419f0
mov al, byte [ebp - 0x2ba]
jmp 0x54b47e
xor edx, edx
je 0x54b407
movzx eax, byte [ebp - 0x2b6]
push eax
movzx ecx, byte [ebp - 0x2b7]
push ecx
movzx edx, byte [ebp - 0x2b5]
push edx
lea ecx, [ebp - 0x12c]
call fcn.00441d60
push eax
push str.skipping_file__s__hack__u__found__u__uni__u_
call fcn.00567380
add esp, 0x14
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x144]
call fcn.004419f0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x15c]
call fcn.004419f0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x12c]
call fcn.004419f0
lea eax, [ebp - 0x2b4]
push eax
mov ecx, dword [ebp - 0x2cc]
push ecx
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x54afbf
mov edx, dword [ebp - 0x2cc]
push edx
call dword [sym.imp.KERNEL32.dll_FindClose]
mov al, byte [ebp - 0x2b5]
mov byte [ebp - 0x2bb], al
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 8]
call fcn.004419f0
mov al, byte [ebp - 0x2bb]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0065d40e
mov esp, ebp
pop ebp
ret