Function at 0x403ec0
Capabilities:
Enumerate files on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x411c6e
mov eax, dword fs:[0]
push eax
sub esp, 0x2dc
mov eax, dword [0x419004]
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 - 0x2dc], ecx
mov dword [ebp - 4], 0
lea eax, [ebp - 0x2c8]
push 0x20
mov dword [ebp - 0x2c8], 0
mov dword [ebp - 0x2c4], eax
call fcn.004054c9
mov esi, eax
add esp, 4
mov dword [esi + 0x14], 7
mov dword [esi + 0x10], 0
cmp dword [esi + 0x14], 8
jb 0x403f33
mov eax, dword [esi]
xor ecx, ecx
mov word [eax], cx
lea eax, [ebp + 8]
cmp esi, eax
je 0x403f4a
push 0xffffffffffffffff
push ecx
push eax
mov ecx, esi
call fcn.004018a0
lea ecx, [esi + 0x18]
mov dword [ecx], 0
mov eax, dword [ebp - 0x2c4]
mov dword [esi + 0x1c], eax
mov eax, dword [ebp - 0x2c4]
mov dword [eax], esi
mov dword [ebp - 0x2c4], ecx
nop word [eax + eax]
mov esi, dword [ebp - 0x2c8]
mov dword [ebp - 0x2e8], esi
test esi, esi
je 0x4044de
xor eax, eax
mov dword [ebp - 0x2c], 7
push 0xffffffffffffffff
push eax
push esi
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x30], 0
mov word [ebp - 0x40], ax
call fcn.004018a0
sub esp, 0x18
mov byte [ebp - 4], 1
mov ecx, esp
mov dword [ecx + 0x14], 7
mov dword [ecx + 0x10], 0
cmp dword [ecx + 0x14], 8
jb 0x403fc5
mov eax, dword [ecx]
jmp 0x403fc7
mov eax, ecx
xor edx, edx
push 0xffffffffffffffff
mov word [eax], dx
lea eax, [ebp - 0x40]
push edx
push eax
call fcn.004018a0
lea ecx, [ebp - 0x28]
call fcn.00403550
add esp, 0x18
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x2c0]
cmp dword [ebp - 0x14], 8
lea eax, [ebp - 0x28]
push ecx
cmovae eax, dword [ebp - 0x28]
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x4040a7
mov ecx, dword [esi + 0x18]
mov eax, dword [esi + 0x1c]
test ecx, ecx
je 0x40401a
mov dword [ecx + 0x1c], eax
jmp 0x404020
mov dword [ebp - 0x2c4], eax
mov ecx, dword [esi + 0x1c]
mov eax, dword [esi + 0x18]
mov dword [ecx], eax
mov eax, dword [esi + 0x14]
cmp eax, 8
jb 0x404039
inc eax
push eax
push dword [esi]
call fcn.00401780
mov dword [esi + 0x14], 7
cmp dword [esi + 0x14], 8
mov dword [esi + 0x10], 0
jb 0x404051
mov eax, dword [esi]
jmp 0x404053
mov eax, esi
xor ecx, ecx
push 0x20
push esi
mov word [eax], cx
call fcn.00405624
add esp, 8
mov eax, dword [ebp - 0x14]
cmp eax, 8
jb 0x404075
inc eax
push eax
push dword [ebp - 0x28]
call fcn.00401780
xor eax, eax
mov dword [ebp - 0x14], 7
mov word [ebp - 0x28], ax
mov byte [ebp - 4], al
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x18], 0
cmp eax, 8
jb 0x403f70
inc eax
push eax
push dword [ebp - 0x40]
call fcn.00401780
jmp 0x403f70
mov esi, dword [ebp - 0x2dc]
nop dword [eax]
mov byte [ebp - 0x2d0], 0
mov byte [ebp - 0x2cf], 9
mov byte [ebp - 0x2ce], 0xb
mov byte [ebp - 0x2cd], 0xb
mov byte [ebp - 0x2cc], 0xb
mov al, byte [ebp - 0x2cf]
cmp byte [ebp - 0x2d0], 0
jne 0x404120
xor edi, edi
lea esi, [edi + 0x7f]
nop word [eax + eax]
mov al, byte [ebp + edi - 0x2cf]
mov ecx, 0xb
movzx eax, al
sub ecx, eax
imul eax, ecx, 0x17
cdq
idiv esi
lea eax, [edx + 0x7f]
cdq
idiv esi
mov byte [ebp + edi - 0x2cf], dl
inc edi
cmp edi, 4
jb 0x4040f0
mov esi, dword [ebp - 0x2dc]
lea eax, [ebp - 0x2cf]
push eax
lea eax, [ebp - 0x294]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
je 0x404456
mov byte [ebp - 0x2d8], 0
mov byte [ebp - 0x2d7], 0x67
mov byte [ebp - 0x2d6], 0x76
mov byte [ebp - 0x2d5], 0x67
mov byte [ebp - 0x2d4], 0x76
mov byte [ebp - 0x2d3], 0x76
mov byte [ebp - 0x2d2], 0x76
mov al, byte [ebp - 0x2d7]
cmp byte [ebp - 0x2d8], 0
jne 0x4041b4
xor edi, edi
lea esi, [edi + 0x7f]
mov al, byte [ebp + edi - 0x2d7]
mov ecx, 0x76
movzx eax, al
sub ecx, eax
lea eax, [ecx + ecx*4]
shl eax, 2
cdq
idiv esi
lea eax, [edx + 0x7f]
cdq
idiv esi
mov byte [ebp + edi - 0x2d7], dl
inc edi
cmp edi, 6
jb 0x404181
mov esi, dword [ebp - 0x2dc]
lea eax, [ebp - 0x2d7]
push eax
lea eax, [ebp - 0x294]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
je 0x404456
mov eax, dword [ebp - 0x2c0]
test eax, 0x400
jne 0x404456
test al, 0x10
je 0x40432f
lea ecx, [ebp - 0x294]
call fcn.00403950
test eax, eax
je 0x40432f
sub esp, 0x18
mov edx, esp
mov dword [ebp - 0x2e4], esp
mov dword [edx + 0x14], 7
mov dword [edx + 0x10], 0
cmp dword [edx + 0x14], 8
jb 0x40421f
mov eax, dword [edx]
jmp 0x404221
mov eax, edx
xor ecx, ecx
mov word [eax], cx
cmp word [ebp - 0x294], cx
je 0x40424f
lea ecx, [ebp - 0x294]
lea edi, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x404240
sub ecx, edi
sar ecx, 1
push ecx
lea eax, [ebp - 0x294]
mov ecx, edx
push eax
call fcn.00401680
sub esp, 0x18
mov byte [ebp - 4], 3
mov ecx, esp
mov dword [ecx + 0x14], 7
mov dword [ecx + 0x10], 0
cmp dword [ecx + 0x14], 8
jb 0x40427f
mov eax, dword [ecx]
jmp 0x404281
mov eax, ecx
xor edx, edx
push 0xffffffffffffffff
mov word [eax], dx
lea eax, [ebp - 0x40]
push edx
push eax
call fcn.004018a0
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 2
call fcn.00403740
push 0x20
mov byte [ebp - 4], 4
call fcn.004054c9
mov edi, eax
add esp, 0x34
mov dword [edi + 0x14], 7
mov dword [edi + 0x10], 0
cmp dword [edi + 0x14], 8
jb 0x4042c6
mov eax, dword [edi]
jmp 0x4042c8
mov eax, edi
xor ecx, ecx
mov word [eax], cx
lea eax, [ebp - 0x58]
cmp edi, eax
je 0x4042df
push 0xffffffffffffffff
push ecx
push eax
mov ecx, edi
call fcn.004018a0
mov dword [edi + 0x18], 0
lea ecx, [edi + 0x18]
mov eax, dword [ebp - 0x2c4]
mov dword [edi + 0x1c], eax
mov eax, dword [ebp - 0x2c4]
mov byte [ebp - 4], 2
mov dword [eax], edi
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x2c4], ecx
cmp eax, 8
jb 0x404316
inc eax
push eax
push dword [ebp - 0x58]
call fcn.00401780
xor eax, eax
mov dword [ebp - 0x44], 7
mov dword [ebp - 0x48], 0
mov word [ebp - 0x58], ax
jmp 0x404456
push str..EXTEN
lea eax, [ebp - 0x294]
push eax
call dword [sym.imp.SHLWAPI.dll_StrStrIW]
neg eax
sbb eax, eax
neg eax
je 0x404456
sub esp, 0x18
mov edx, esp
mov dword [ebp - 0x2e0], esp
mov dword [edx + 0x14], 7
mov dword [edx + 0x10], 0
cmp dword [edx + 0x14], 8
jb 0x404370
mov eax, dword [edx]
jmp 0x404372
mov eax, edx
xor ecx, ecx
mov word [eax], cx
cmp word [ebp - 0x294], cx
jne 0x404384
xor eax, eax
jmp 0x40439f
lea eax, [ebp - 0x294]
lea edi, [eax + 2]
nop dword [eax]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x404390
sub eax, edi
sar eax, 1
push eax
lea eax, [ebp - 0x294]
mov ecx, edx
push eax
call fcn.00401680
sub esp, 0x18
mov byte [ebp - 4], 5
mov ecx, esp
mov dword [ecx + 0x14], 7
mov dword [ecx + 0x10], 0
cmp dword [ecx + 0x14], 8
jb 0x4043cf
mov eax, dword [ecx]
jmp 0x4043d1
mov eax, ecx
xor edx, edx
push 0xffffffffffffffff
mov word [eax], dx
lea eax, [ebp - 0x40]
push edx
push eax
call fcn.004018a0
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 2
call fcn.00403740
add esp, 0x18
mov byte [ebp - 4], 6
mov ecx, esp
mov dword [ecx + 0x14], 7
mov dword [ecx + 0x10], 0
cmp dword [ecx + 0x14], 8
jb 0x40440f
mov eax, dword [ecx]
jmp 0x404411
mov eax, ecx
xor edx, edx
push 0xffffffffffffffff
mov word [eax], dx
lea eax, [ebp - 0x70]
push edx
push eax
call fcn.004018a0
mov ecx, esi
call fcn.00405270
mov byte [ebp - 4], 2
add esp, 0x18
mov eax, dword [ebp - 0x5c]
cmp eax, 8
jb 0x404442
inc eax
push eax
push dword [ebp - 0x70]
call fcn.00401780
xor eax, eax
mov dword [ebp - 0x5c], 7
mov dword [ebp - 0x60], 0
mov word [ebp - 0x70], ax
lea eax, [ebp - 0x2c0]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x4040b0
mov esi, dword [ebp - 0x2e8]
mov ecx, dword [esi + 0x18]
mov eax, dword [esi + 0x1c]
test ecx, ecx
je 0x404481
mov dword [ecx + 0x1c], eax
jmp 0x404487
mov dword [ebp - 0x2c4], eax
mov ecx, dword [esi + 0x1c]
mov eax, dword [esi + 0x18]
mov dword [ecx], eax
mov eax, dword [esi + 0x14]
cmp eax, 8
jb 0x4044a0
inc eax
push eax
push dword [esi]
call fcn.00401780
mov dword [esi + 0x14], 7
cmp dword [esi + 0x14], 8
mov dword [esi + 0x10], 0
jb 0x4044b8
mov eax, dword [esi]
jmp 0x4044ba
mov eax, esi
xor ecx, ecx
push 0x20
push esi
mov word [eax], cx
call fcn.00405624
add esp, 8
push ebx
call dword [sym.imp.KERNEL32.dll_FindClose]
push 0x32
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x404063
mov eax, dword [ebp + 0x1c]
cmp eax, 8
jb 0x4044f0
inc eax
push eax
push dword [ebp + 8]
call fcn.00401780
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.004054b8
mov esp, ebp
pop ebp
ret