Function at 0x404330
Capabilities:
Enumerate files on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x41f1d6
mov eax, dword fs:[0]
push eax
sub esp, 0x324
mov eax, dword [0x42a038]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x31c], ecx
mov dword [ebp - 0x32c], 0
mov dword [ebp - 0x328], 0
mov dword [ebp - 0x324], 0
mov dword [ebp - 4], 0
mov dword [ebp - 0x314], 0
mov dword [ebp - 0x310], 0
mov dword [ebp - 0x30c], 0
xor eax, eax
mov dword [ebp - 0x44], 7
mov dword [ebp - 0x48], 0
mov word [ebp - 0x58], ax
mov dword [ebp - 0x14], 7
mov dword [ebp - 0x18], eax
mov word [ebp - 0x28], ax
mov byte [ebp - 4], 3
mov eax, dword [0x42eeec]
test al, 1
jne 0x4043f0
or eax, 1
mov dword [0x42eeec], eax
call fcn.00411060
push 0x4209a0
call fcn.0041d702
add esp, 4
push 0xffffffffffffffff
push dword [0x42ee90]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push 0xffffffffffffffff
push 0
push 0x42eeb4
lea ecx, [ebp - 0x58]
call fcn.00406b70
push dword [0x42ee90]
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
push 1
push 0x42354c
lea ecx, [ebp - 0x58]
call fcn.00406420
mov edx, 0x42e110
lea ecx, [ebp - 0xb8]
call fcn.00402100
mov esi, eax
push 0x423550
lea edx, [ebp - 0x58]
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x70]
call fcn.004078f0
add esp, 4
push esi
mov edx, eax
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x40]
call fcn.004079e0
mov ebx, dword [sym.imp.MSVCR120.dll_void___cdecl_operator_delete_void__]
mov esi, eax
lea eax, [ebp - 0x28]
add esp, 4
cmp eax, esi
je 0x4044df
cmp dword [ebp - 0x14], 8
jb 0x404482
push dword [ebp - 0x28]
call ebx
add esp, 4
xor eax, eax
mov dword [ebp - 0x14], 7
mov dword [ebp - 0x18], 0
mov word [ebp - 0x28], ax
cmp dword [esi + 0x14], 8
jae 0x4044b5
mov eax, dword [esi + 0x10]
inc eax
je 0x4044c0
add eax, eax
push eax
lea eax, [ebp - 0x28]
push esi
push eax
call dword [sym.imp.MSVCR120.dll_memmove]
add esp, 0xc
jmp 0x4044c0
mov eax, dword [esi]
mov dword [ebp - 0x28], eax
mov dword [esi], 0
mov eax, dword [esi + 0x10]
mov dword [ebp - 0x18], eax
mov eax, dword [esi + 0x14]
mov dword [ebp - 0x14], eax
xor eax, eax
mov dword [esi + 0x14], 7
mov dword [esi + 0x10], 0
mov word [esi], ax
cmp dword [ebp - 0x2c], 8
jb 0x4044ed
push dword [ebp - 0x40]
call ebx
add esp, 4
xor eax, eax
mov dword [ebp - 0x2c], 7
cmp dword [ebp - 0x5c], 8
mov dword [ebp - 0x30], 0
mov word [ebp - 0x40], ax
jb 0x40450f
push dword [ebp - 0x70]
call ebx
add esp, 4
xor eax, eax
mov byte [ebp - 4], 3
cmp dword [ebp - 0xa4], 8
mov dword [ebp - 0x5c], 7
mov dword [ebp - 0x60], 0
mov word [ebp - 0x70], ax
jb 0x40453b
push dword [ebp - 0xb8]
call ebx
add esp, 4
cmp dword [ebp - 0x14], 8
lea ecx, [ebp - 0x308]
mov edi, dword [sym.imp.KERNEL32.dll_FindFirstFileW]
lea eax, [ebp - 0x28]
cmovae eax, dword [ebp - 0x28]
push ecx
push eax
call edi
mov esi, eax
mov dword [ebp - 0x318], esi
cmp esi, 0xffffffff
je 0x404774
jmp 0x404570
xor eax, eax
mov dword [ebp - 0x2c], 7
mov word [ebp - 0x29c], ax
mov dword [ebp - 0x30], eax
mov word [ebp - 0x40], ax
cmp word [ebp - 0x2dc], ax
jne 0x404594
xor ecx, ecx
jmp 0x4045af
lea ecx, [ebp - 0x2dc]
lea edx, [ecx + 2]
lea ecx, [ecx]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4045a0
sub ecx, edx
sar ecx, 1
push ecx
lea eax, [ebp - 0x2dc]
push eax
lea ecx, [ebp - 0x40]
call fcn.00406c90
lea edx, [ebp - 0x40]
mov byte [ebp - 4], 6
lea ecx, [ebp - 0xa0]
call fcn.00402190
mov byte [ebp - 4], 8
cmp dword [ebp - 0x2c], 8
jb 0x4045e3
push dword [ebp - 0x40]
call ebx
add esp, 4
xor eax, eax
mov dword [ebp - 0x2c], 7
cmp dword [ebp - 0x90], 0x20
mov dword [ebp - 0x30], 0
mov word [ebp - 0x40], ax
jne 0x404740
cmp dword [ebp - 0x8c], 0x10
lea ecx, [ebp - 0xa0]
cmovae ecx, dword [ebp - 0xa0]
cmp byte [ecx + 0x20], al
jne 0x404740
xor edx, edx
mov al, byte [ecx]
cmp al, 0x30
jl 0x40462d
cmp al, 0x39
jle 0x404645
cmp al, 0x61
jl 0x404635
cmp al, 0x66
jle 0x404645
cmp al, 0x41
jl 0x404740
cmp al, 0x46
jg 0x404740
inc edx
inc ecx
cmp edx, 0x20
jl 0x404623
mov esi, dword [ebp - 0x310]
lea eax, [ebp - 0xa0]
cmp eax, esi
jae 0x4046df
mov edi, dword [ebp - 0x314]
cmp edi, eax
ja 0x4046df
mov ecx, eax
mov eax, 0x2aaaaaab
sub ecx, edi
imul ecx
sar edx, 2
mov ebx, edx
shr ebx, 0x1f
add ebx, edx
cmp esi, dword [ebp - 0x30c]
jne 0x40469f
push ecx
lea ecx, [ebp - 0x314]
call fcn.00406a10
mov esi, dword [ebp - 0x310]
mov edi, dword [ebp - 0x314]
lea eax, [ebx + ebx*2]
lea eax, [edi + eax*8]
mov byte [ebp - 4], 9
test esi, esi
je 0x4046d7
push 0xffffffffffffffff
mov dword [esi + 0x10], 0
mov ecx, esi
push 0
mov dword [esi + 0x14], 0xf
mov dword [esi + 0x10], 0
push eax
mov byte [esi], 0
call fcn.004019d0
mov esi, dword [ebp - 0x310]
mov ebx, dword [sym.imp.MSVCR120.dll_void___cdecl_operator_delete_void__]
jmp 0x404731
cmp esi, dword [ebp - 0x30c]
jne 0x4046f9
push ecx
lea ecx, [ebp - 0x314]
call fcn.00406a10
mov esi, dword [ebp - 0x310]
mov byte [ebp - 4], 0xa
test esi, esi
je 0x404731
push 0xffffffffffffffff
mov dword [esi + 0x10], 0
lea eax, [ebp - 0xa0]
push 0
mov dword [esi + 0x14], 0xf
mov ecx, esi
mov dword [esi + 0x10], 0
push eax
mov byte [esi], 0
call fcn.004019d0
mov esi, dword [ebp - 0x310]
add esi, 0x18
mov dword [ebp - 0x310], esi
mov esi, dword [ebp - 0x318]
mov byte [ebp - 4], 3
cmp dword [ebp - 0x8c], 0x10
jb 0x404758
push dword [ebp - 0xa0]
call ebx
add esp, 4
lea eax, [ebp - 0x308]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x404570
mov edi, dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov edx, 0x42e140
lea ecx, [ebp - 0xb8]
call fcn.00402100
mov esi, eax
push 0x423550
lea edx, [ebp - 0x58]
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x40]
call fcn.004078f0
add esp, 4
push esi
mov edx, eax
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x70]
call fcn.004079e0
mov esi, eax
add esp, 4
lea eax, [ebp - 0x28]
cmp eax, esi
je 0x404823
cmp dword [ebp - 0x14], 8
jb 0x4047c6
push dword [ebp - 0x28]
call ebx
add esp, 4
xor eax, eax
mov dword [ebp - 0x14], 7
mov dword [ebp - 0x18], 0
mov word [ebp - 0x28], ax
cmp dword [esi + 0x14], 8
jae 0x4047f9
mov eax, dword [esi + 0x10]
inc eax
je 0x404804
add eax, eax
push eax
lea eax, [ebp - 0x28]
push esi
push eax
call dword [sym.imp.MSVCR120.dll_memmove]
add esp, 0xc
jmp 0x404804
mov eax, dword [esi]
mov dword [ebp - 0x28], eax
mov dword [esi], 0
mov eax, dword [esi + 0x10]
mov dword [ebp - 0x18], eax
mov eax, dword [esi + 0x14]
mov dword [ebp - 0x14], eax
xor eax, eax
mov dword [esi + 0x14], 7
mov dword [esi + 0x10], 0
mov word [esi], ax
cmp dword [ebp - 0x5c], 8
jb 0x404831
push dword [ebp - 0x70]
call ebx
add esp, 4
xor eax, eax
mov dword [ebp - 0x5c], 7
cmp dword [ebp - 0x2c], 8
mov dword [ebp - 0x60], 0
mov word [ebp - 0x70], ax
jb 0x404853
push dword [ebp - 0x40]
call ebx
add esp, 4
xor eax, eax
mov byte [ebp - 4], 3
cmp dword [ebp - 0xa4], 8
mov dword [ebp - 0x2c], 7
mov dword [ebp - 0x30], 0
mov word [ebp - 0x40], ax
jb 0x40487f
push dword [ebp - 0xb8]
call ebx
add esp, 4
cmp dword [ebp - 0x14], 8
lea ecx, [ebp - 0x308]
lea eax, [ebp - 0x28]
cmovae eax, dword [ebp - 0x28]
push ecx
push eax
call edi
mov esi, eax
mov dword [ebp - 0x318], esi
cmp esi, 0xffffffff
je 0x404a7a
jmp 0x4048b0
xor eax, eax
mov dword [ebp - 0x2c], 7
mov word [ebp - 0x29c], ax
mov dword [ebp - 0x30], eax
mov word [ebp - 0x40], ax
cmp word [ebp - 0x2dc], ax
jne 0x4048d4
xor ecx, ecx
jmp 0x4048ef
lea ecx, [ebp - 0x2dc]
lea edx, [ecx + 2]
lea ecx, [ecx]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4048e0
sub ecx, edx
sar ecx, 1
push ecx
lea eax, [ebp - 0x2dc]
push eax
lea ecx, [ebp - 0x40]
call fcn.00406c90
lea edx, [ebp - 0x40]
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x88]
call fcn.00402190
mov byte [ebp - 4], 0xf
cmp dword [ebp - 0x2c], 8
jb 0x404923
push dword [ebp - 0x40]
call ebx
add esp, 4
xor eax, eax
mov dword [ebp - 0x2c], 7
cmp dword [ebp - 0x78], 0x20
mov dword [ebp - 0x30], 0
mov word [ebp - 0x40], ax
jne 0x404a49
cmp dword [ebp - 0x74], 0x10
lea ecx, [ebp - 0x88]
cmovae ecx, dword [ebp - 0x88]
cmp byte [ecx + 0x20], al
jne 0x404a49
xor edx, edx
lea ecx, [ecx]
mov al, byte [ecx]
cmp al, 0x30
jl 0x40496a
cmp al, 0x39
jle 0x404982
cmp al, 0x61
jl 0x404972
cmp al, 0x66
jle 0x404982
cmp al, 0x41
jl 0x404a49
cmp al, 0x46
jg 0x404a49
inc edx
inc ecx
cmp edx, 0x20
jl 0x404960
mov esi, dword [ebp - 0x310]
lea eax, [ebp - 0x88]
cmp eax, esi
jae 0x4049e8
mov edi, dword [ebp - 0x314]
cmp edi, eax
ja 0x4049e8
mov ecx, eax
mov eax, 0x2aaaaaab
sub ecx, edi
imul ecx
sar edx, 2
mov ebx, edx
shr ebx, 0x1f
add ebx, edx
cmp esi, dword [ebp - 0x30c]
jne 0x4049d8
push ecx
lea ecx, [ebp - 0x314]
call fcn.00406a10
mov esi, dword [ebp - 0x310]
mov edi, dword [ebp - 0x314]
lea eax, [ebx + ebx*2]
lea eax, [edi + eax*8]
mov byte [ebp - 4], 0x10
test esi, esi
je 0x404a3a
jmp 0x404a10
cmp esi, dword [ebp - 0x30c]
jne 0x404a02
push ecx
lea ecx, [ebp - 0x314]
call fcn.00406a10
mov esi, dword [ebp - 0x310]
mov byte [ebp - 4], 0x11
test esi, esi
je 0x404a3a
lea eax, [ebp - 0x88]
push 0xffffffffffffffff
mov dword [esi + 0x10], 0
mov ecx, esi
push 0
mov dword [esi + 0x14], 0xf
mov dword [esi + 0x10], 0
push eax
mov byte [esi], 0
call fcn.004019d0
mov esi, dword [ebp - 0x310]
add esi, 0x18
mov dword [ebp - 0x310], esi
mov esi, dword [ebp - 0x318]
mov byte [ebp - 4], 3
cmp dword [ebp - 0x74], 0x10
mov ebx, dword [sym.imp.MSVCR120.dll_void___cdecl_operator_delete_void__]
jb 0x404a64
push dword [ebp - 0x88]
call ebx
add esp, 4
lea eax, [ebp - 0x308]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x4048b0
mov esi, dword [ebp - 0x314]
cmp esi, dword [ebp - 0x310]
je 0x404ae2
mov edi, dword [sym.imp.MSVCR120.dll__stricmp]
mov ebx, dword [ebp - 0x31c]
cmp dword [esi + 0x14], 0x10
jb 0x404a9e
mov eax, dword [esi]
jmp 0x404aa0
mov eax, esi
push str.BA8D164350B649CC861D2C01BED14BE8
push eax
call edi
add esp, 8
test eax, eax
je 0x404ad1
lea eax, [ebp - 0x320]
mov dword [ebp - 0x320], 2
push eax
push esi
mov ecx, ebx
mov word [ebp - 0x31c], 0
call fcn.004039d0
add esi, 0x18
cmp esi, dword [ebp - 0x310]
jne 0x404a94
mov ebx, dword [sym.imp.MSVCR120.dll_void___cdecl_operator_delete_void__]
cmp dword [ebp - 0x14], 8
jb 0x404af0
push dword [ebp - 0x28]
call ebx
add esp, 4
xor eax, eax
mov dword [ebp - 0x14], 7
cmp dword [ebp - 0x44], 8
mov dword [ebp - 0x18], 0
mov word [ebp - 0x28], ax
jb 0x404b12
push dword [ebp - 0x58]
call ebx
add esp, 4
xor eax, eax
mov dword [ebp - 0x44], 7
mov byte [ebp - 4], al
mov dword [ebp - 0x48], 0
mov word [ebp - 0x58], ax
cmp dword [ebp - 0x314], eax
je 0x404b77
lea ecx, [ebp - 0x314]
call dword [sym.imp.MSVCP120.dll_public:_void___thiscall_std::_Container_base0::_Orphan_all_void_]
push dword [ebp - 0x310]
push dword [ebp - 0x314]
call fcn.00407480
push dword [ebp - 0x314]
call ebx
add esp, 4
mov dword [ebp - 0x314], 0
mov dword [ebp - 0x310], 0
mov dword [ebp - 0x30c], 0
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x32c], 0
je 0x404baf
lea ecx, [ebp - 0x32c]
call dword [sym.imp.MSVCP120.dll_public:_void___thiscall_std::_Container_base0::_Orphan_all_void_]
push dword [ebp - 0x328]
push dword [ebp - 0x32c]
call fcn.00407480
push dword [ebp - 0x32c]
call ebx
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0041d60e
mov esp, ebp
pop ebp
ret