Function at 0x40ac45
Capabilities:
Enumerate files on windows

Disassembly:
push 0x2a4
mov eax, 0x436396
call fcn.00434148
mov esi, edx
mov edi, dword [ebp + 0xc]
xor ebx, ebx
push ecx
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x14], ebx
call fcn.0040670f
mov dword [ebp - 4], ebx
cmp dword [ebp - 0x18], ebx
je 0x40ad88
push 0x452530
push dword [0x452540]
push ecx
lea ecx, [ebp - 0x28]
call fcn.0040b0c2
test eax, eax
je 0x40ad88
push 0x452548
push dword [0x452558]
push ecx
lea ecx, [ebp - 0x28]
call fcn.0040b0c2
test eax, eax
je 0x40ad88
push 0x452578
push dword [0x452588]
push ecx
lea ecx, [ebp - 0x28]
call fcn.0040b0c2
test eax, eax
je 0x40ad88
cmp dword [ebp - 0x18], 2
jb 0x40ad76
mov ecx, dword [ebp - 0x14]
lea eax, [ebp - 0x28]
mov edx, dword [ebp - 0x28]
cmp ecx, 8
mov dword [ebp - 0x2ac], 0x5c
cmovae eax, edx
mov dword [ebp - 0x2b0], 0x2f
movzx eax, word [eax]
cmp ax, word [ebp - 0x2ac]
je 0x40ad46
cmp ax, word [ebp - 0x2b0]
je 0x40ad46
cmp dword [ebp - 0x18], 3
jb 0x40ad76
cmp ecx, 8
lea eax, [ebp - 0x28]
cmovae eax, edx
cmp word [eax + 2], 0x3a
jne 0x40ad76
cmp ecx, 8
lea eax, [ebp - 0x28]
cmovae eax, edx
movzx eax, word [eax + 4]
cmp ax, word [ebp - 0x2ac]
je 0x40ad6d
cmp ax, word [ebp - 0x2b0]
je 0x40ad6d
jmp 0x40ad76
cmp ecx, 8
lea eax, [ebp - 0x28]
cmovae eax, edx
movzx eax, word [eax + 2]
cmp ax, word [ebp - 0x2ac]
je 0x40ad67
cmp ax, word [ebp - 0x2b0]
mov al, 1
jne 0x40ad69
mov al, bl
test al, al
jne 0x40ad76
cmp dword [ebp - 0x18], 0x104
jb 0x40ad88
xor dl, dl
lea ecx, [ebp - 0x28]
call fcn.0040a8bc
test al, al
je 0x40aefa
lea eax, [ebp - 0x28]
mov dword [ebp - 0x40], ebx
push eax
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x2c], ebx
call fcn.0040670f
mov byte [ebp - 4], 1
cmp dword [esi + 0x14], 8
jb 0x40ada9
mov esi, dword [esi]
mov edx, esi
lea ecx, [ebp - 0x40]
call fcn.0040540d
push 0x250
lea eax, [ebp - 0x2a8]
push ebx
push eax
call fcn.00430840
add esp, 0xc
lea ecx, [ebp - 0x2a8]
cmp dword [ebp - 0x2c], 8
lea eax, [ebp - 0x40]
cmovae eax, dword [ebp - 0x40]
push ebx
push ebx
push ebx
push ecx
push ebx
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileExW]
mov esi, eax
cmp esi, 0xffffffff
je 0x40aeb5
mov bl, byte [ebp + 8]
test bl, bl
je 0x40ae04
test byte [ebp - 0x2a8], 0x10
je 0x40ae96
and dword [ebp - 0x58], 0
lea ecx, [ebp - 0x58]
and dword [ebp - 0x48], 0
xor eax, eax
mov word [ebp - 0x58], ax
lea eax, [ebp - 0x27c]
push eax
mov dword [ebp - 0x44], 7
call fcn.00403ef8
mov edx, 0x43e2a8
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x58]
call fcn.0040b49b
test al, al
jne 0x40ae59
mov edx, 0x43eddc
lea ecx, [ebp - 0x58]
call fcn.0040b49b
test al, al
jne 0x40ae59
lea eax, [ebp - 0x58]
mov ecx, edi
push eax
call fcn.00406504
mov byte [ebp - 4], 1
mov edx, dword [ebp - 0x44]
cmp edx, 8
jb 0x40ae96
mov ecx, dword [ebp - 0x58]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40ae8d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40af37
push edx
push ecx
call fcn.0042f05f
pop ecx
pop ecx
lea eax, [ebp - 0x2a8]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x40adf3
push esi
call dword [sym.imp.KERNEL32.dll_FindClose]
xor ebx, ebx
mov edx, dword [ebp - 0x2c]
cmp edx, 8
jb 0x40aeea
mov ecx, dword [ebp - 0x40]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40aee1
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40af37
push edx
push ecx
call fcn.0042f05f
pop ecx
pop ecx
xor eax, eax
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x2c], 7
mov word [ebp - 0x40], ax
mov edx, dword [ebp - 0x14]
cmp edx, 8
jb 0x40af2f
mov ecx, dword [ebp - 0x28]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40af26
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40af37
push edx
push ecx
call fcn.0042f05f
pop ecx
pop ecx
call fcn.004340f7
ret 8
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3