Function at 0x40dd18
Capabilities:
Enumerate files on windows

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x488265
mov eax, dword fs:[0]
push eax
sub esp, 0x338
mov eax, dword [0x4aeda0]
xor eax, esp
mov dword [esp + 0x330], eax
push ebx
push esi
push edi
mov eax, dword [0x4aeda0]
xor eax, esp
push eax
lea eax, [esp + 0x348]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
mov dword [esp + 0x24], ecx
xor ecx, ecx
mov dword [esp + 0x20], eax
mov edi, edx
mov dword [esp + 0x14], ecx
cmp eax, ecx
jne 0x40dd95
xor eax, eax
mov ecx, dword [esp + 0x348]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x330]
xor ecx, esp
call fcn.004504a7
mov esp, ebp
pop ebp
ret
xor eax, eax
mov dword [esp + 0xe8], 7
mov dword [esp + 0xe4], ecx
mov word [esp + 0xd4], ax
push 0xffffffffffffffff
push 0x49b0e0
push edi
mov dword [esp + 0x35c], ecx
call fcn.00407f05
cmp eax, 0xffffffff
je 0x40de02
push eax
push edi
xor ebx, ebx
lea esi, [esp + 0xa0]
call fcn.00407f24
push 0xffffffffffffffff
lea ecx, [esp + 0xd4]
push ecx
mov byte [esp + 0x358], 1
call fcn.0040191e
push ebx
push 1
mov byte [esp + 0x358], bl
call fcn.004019bb
jmp 0x40de0e
lea eax, [esp + 0xd0]
call fcn.00407e19
cmp dword [edi + 0x18], 8
lea esi, [edi + 4]
jb 0x40de1b
mov eax, dword [esi]
jmp 0x40de1d
mov eax, esi
lea ecx, [esp + 0xec]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], 1
cmp eax, 0xffffffff
jne 0x40de88
cmp dword [edi + 0x18], 8
jb 0x40de45
mov esi, dword [esi]
push esi
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.Failed__d_enumerating__S
push 0xd5
call fcn.0041ef10
push eax
mov ebx, 0x800040
mov ecx, str..WrapperArchive.cpp
call fcn.0041f0d0
add esp, 0x14
xor edi, edi
push 0
push 1
lea esi, [esp + 0xd8]
call fcn.004019bb
mov eax, edi
jmp 0x40dd71
lea eax, [esp + 0x118]
push 0x49cf98
push eax
call fcn.00453e9d
pop ecx
pop ecx
test eax, eax
je 0x40e0d6
lea eax, [esp + 0x118]
push 0x49cf9c
push eax
call fcn.00453e9d
pop ecx
pop ecx
test eax, eax
je 0x40e0d6
cmp dword [esp + 0xe4], 0
jne 0x40deea
push 0x49b010
lea eax, [esp + 0x80]
call fcn.004017d2
mov byte [esp + 0x350], 2
or dword [esp + 0x14], 1
jmp 0x40df14
push 0x49b660
lea eax, [esp + 0xd4]
push eax
lea eax, [esp + 0x4c]
push eax
call fcn.00401e38
add esp, 0xc
mov dword [esp + 0x350], 3
or dword [esp + 0x14], 2
lea ecx, [esp + 0x118]
push ecx
push eax
lea eax, [esp + 0xa0]
push eax
call fcn.00401e38
add esp, 0xc
push 4
pop ebx
mov dword [esp + 0x350], ebx
xor edi, edi
test byte [esp + 0x14], 2
je 0x40df51
and dword [esp + 0x14], 0xfffffffd
push edi
push 1
lea esi, [esp + 0x4c]
call fcn.004019bb
mov byte [esp + 0x350], 6
test byte [esp + 0x14], 1
je 0x40df74
and dword [esp + 0x14], 0xfffffffe
push edi
push 1
lea esi, [esp + 0x84]
call fcn.004019bb
mov eax, dword [esp + 0x24]
cmp dword [eax + 0x14], edi
jne 0x40df99
push 0x49b010
lea eax, [esp + 0x2c]
call fcn.004017d2
mov byte [esp + 0x350], 7
or dword [esp + 0x14], ebx
jmp 0x40dfba
push 0x49bf84
push eax
lea eax, [esp + 0x68]
push eax
call fcn.00401e38
add esp, 0xc
push 8
pop ecx
mov dword [esp + 0x350], ecx
or dword [esp + 0x14], ecx
lea ecx, [esp + 0x118]
push ecx
push eax
lea eax, [esp + 0xbc]
push eax
call fcn.00401e38
add esp, 0xc
mov dword [esp + 0x350], 9
test byte [esp + 0x14], 8
je 0x40dff6
and dword [esp + 0x14], 0xfffffff7
push edi
push 1
lea esi, [esp + 0x68]
call fcn.004019bb
mov byte [esp + 0x350], 0xb
test byte [esp + 0x14], bl
je 0x40e015
and dword [esp + 0x14], 0xfffffffb
push edi
push 1
lea esi, [esp + 0x30]
call fcn.004019bb
mov edx, dword [esp + 0xb8]
push 8
pop esi
cmp dword [esp + 0xcc], esi
jae 0x40e02f
lea edx, [esp + 0xb8]
mov ecx, dword [esp + 0x9c]
cmp dword [esp + 0xb0], esi
jae 0x40e046
lea ecx, [esp + 0x9c]
push dword [esp + 0x20]
call fcn.0042a300
pop ecx
cmp eax, edi
je 0x40e0b0
mov edx, dword [esp + 0xb8]
cmp dword [esp + 0xcc], esi
jae 0x40e06b
lea edx, [esp + 0xb8]
mov ecx, dword [esp + 0x9c]
cmp dword [esp + 0xb0], esi
jae 0x40e082
lea ecx, [esp + 0x9c]
push edx
push ecx
push eax
push str.HCZipAdd___failed__d_adding__S_to__S
push 0xeb
push ecx
call fcn.0041ef10
pop ecx
push eax
mov ebx, 0x800002
mov ecx, str..WrapperArchive.cpp
call fcn.0041f0d0
and dword [esp + 0x34], 0
add esp, 0x18
xor edi, edi
push edi
push 1
lea esi, [esp + 0xbc]
call fcn.004019bb
push edi
push 1
lea esi, [esp + 0xa0]
mov byte [esp + 0x358], 0
call fcn.004019bb
lea eax, [esp + 0xec]
push eax
push dword [esp + 0x1c]
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x40de88
push dword [esp + 0x18]
call dword [sym.imp.KERNEL32.dll_FindClose]
mov edi, dword [esp + 0x1c]
jmp 0x40de71