Function at 0x453310
Capabilities:
Enumerate files on windows
Enumerate files recursively

Disassembly:
push 0xffffffffffffffff
push 0x53d9b7
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x1f4
push ebx
push ebp
mov ebx, ecx
push esi
push edi
mov dword [esp + 0x28], ebx
mov al, byte [esp + 0x21c]
mov esi, dword [esp + 0x218]
xor ebp, ebp
mov dword [esp + 0x2c], esi
test al, 2
mov dword [esp + 0x20c], ebp
je 0x453513
push 0x338
call fcn.0050d138
add esp, 4
mov dword [esp + 0x24], eax
cmp eax, ebp
mov byte [esp + 0x20c], 1
je 0x453381
push 1
push ebx
mov ecx, eax
call fcn.004640a0
mov ebp, eax
push ecx
lea eax, [esp + 0x218]
mov ecx, esp
mov dword [esp + 0x28], esp
push eax
mov byte [esp + 0x214], 0
mov dword [esp + 0x34], ebp
call fcn.0050d172
mov ecx, ebp
call fcn.00464ce0
push 0x5c
lea ecx, [esp + 0x218]
call fcn.00505d13
mov edi, eax
push 0
test edi, edi
jle 0x4533e4
lea ecx, [esp + 0x218]
call fcn.00453b20
sub eax, edi
push ecx
dec eax
mov ecx, esp
mov dword [esp + 0x2c], esp
push eax
push ecx
lea ecx, [esp + 0x224]
call fcn.00505bc9
jmp 0x4533f8
push ecx
lea edx, [esp + 0x21c]
mov ecx, esp
mov dword [esp + 0x2c], esp
push edx
call fcn.0050d172
mov ecx, ebp
call fcn.00464ad0
push 0
push ebp
push esi
mov ecx, ebx
call fcn.0044ba50
mov ecx, eax
call fcn.0041bc90
mov eax, dword [ebp]
lea ecx, [esp + 0x10]
push ecx
mov ecx, ebp
mov dword [esp + 0x5c], 0x23
call dword [eax + 0xc]
mov edx, dword [esp + 0x10]
lea ecx, [esp + 0x10]
mov byte [esp + 0x20c], 2
mov eax, dword [edx - 8]
push eax
call fcn.0050d82d
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x10]
mov ecx, dword [eax - 8]
mov dword [esp + 0x6c], ecx
mov ecx, ebp
call fcn.0041c830
mov ecx, ebp
mov dword [esp + 0x70], eax
call fcn.0041c830
add ebx, 0x486b0
push 0
push ebx
push esi
mov dword [esp + 0x80], eax
call fcn.0042f000
mov ecx, 0xa
lea esi, [esp + 0x64]
lea edi, [esp + 0xa4]
mov dword [esp + 0x9c], eax
mov dword [esp + 0xa0], 0xffff0002
add esp, 0xc
rep movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x28]
lea edx, [esp + 0x90]
push edx
push 0
mov eax, dword [esi + 0x486cc]
push 0x1100
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
push ebp
push 0
push 0
push 0
push 0
push 0
push 4
push eax
mov ecx, ebx
call fcn.0050847a
mov edx, dword [esp + 0x90]
lea ecx, [esp + 0x80]
push 0
push ecx
push edx
mov ecx, ebx
call fcn.005082e7
mov ecx, dword [esi + 0x486cc]
lea eax, [esp + 0x80]
push 0
push eax
push ecx
call dword [sym.imp.USER32.dll_InvalidateRect]
lea ecx, [esp + 0x10]
mov byte [esp + 0x20c], 0
call fcn.0050d3fd
mov edx, dword [0x591288]
mov ecx, 0x50
xor eax, eax
lea edi, [esp + 0xc4]
rep stosd dword es:[edi], eax
mov dword [esp + 0x1c], edx
push 1
push 0x5c
lea ecx, [esp + 0x18]
mov byte [esp + 0x214], 3
call fcn.00505606
lea eax, [esp + 0x14]
push 1
push eax
lea ecx, [esp + 0x21c]
mov byte [esp + 0x214], 4
call fcn.00505bc9
mov ecx, dword [esp + 0x10]
mov eax, dword [eax]
push ecx
push eax
call fcn.004ee0f0
add esp, 8
lea ecx, [esp + 0x14]
test eax, eax
setne bl
call fcn.0050d3fd
lea ecx, [esp + 0x10]
mov byte [esp + 0x20c], 3
call fcn.0050d3fd
test bl, bl
je 0x4535c7
lea edx, [esp + 0x214]
push str..
lea eax, [esp + 0x18]
push edx
push eax
call fcn.0050d692
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x210], 5
call fcn.0050d536
mov byte [esp + 0x20c], 3
lea ecx, [esp + 0x14]
jmp 0x4535fc
lea ecx, [esp + 0x214]
push 0x58be6c
lea edx, [esp + 0x18]
push ecx
push edx
call fcn.0050d692
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x210], 6
call fcn.0050d536
mov byte [esp + 0x20c], 3
lea ecx, [esp + 0x14]
call fcn.0050d3fd
mov eax, dword [0x591288]
mov dword [esp + 0x30], eax
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0xc4]
push eax
push ecx
mov byte [esp + 0x214], 8
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
cmp eax, 0xffffffff
mov dword [esp + 0x24], eax
je 0x453ab2
test byte [esp + 0xc4], 0x10
jne 0x4538d6
lea edx, [esp + 0xf0]
lea ecx, [esp + 0x18]
push edx
call fcn.0050d586
push ecx
lea eax, [esp + 0x1c]
mov ecx, esp
mov dword [esp + 0x24], esp
push eax
call fcn.0050d172
lea ecx, [esp + 0x58]
push ecx
call fcn.0042eb20
add esp, 8
push eax
lea ecx, [esp + 0x34]
mov byte [esp + 0x210], 9
call fcn.0050d536
lea ecx, [esp + 0x54]
mov byte [esp + 0x20c], 8
call fcn.0050d3fd
mov edx, dword [esp + 0x30]
push 0x58be68
push edx
call fcn.004eea90
add esp, 8
test eax, eax
je 0x453a90
mov eax, dword [esp + 0x220]
push 1
push 0x5c
lea ecx, [esp + 0x18]
inc dword [eax]
call fcn.00505606
lea eax, [esp + 0x3c]
push 1
push eax
lea ecx, [esp + 0x21c]
mov byte [esp + 0x214], 0xa
call fcn.00505bc9
mov ecx, dword [esp + 0x10]
mov eax, dword [eax]
push ecx
push eax
call fcn.004ee0f0
add esp, 8
lea ecx, [esp + 0x3c]
test eax, eax
setne bl
call fcn.0050d3fd
lea ecx, [esp + 0x10]
mov byte [esp + 0x20c], 8
call fcn.0050d3fd
test bl, bl
je 0x45374b
lea edx, [esp + 0x18]
lea eax, [esp + 0x44]
push edx
push 0x588788
push eax
call fcn.0050d706
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x210], 0xb
call fcn.0050d536
lea ecx, [esp + 0x44]
mov byte [esp + 0x20c], 8
call fcn.0050d3fd
lea ecx, [esp + 0x18]
lea edx, [esp + 0x214]
push ecx
lea eax, [esp + 0x38]
push edx
push eax
call fcn.0050d62c
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x210], 0xc
call fcn.0050d536
lea ecx, [esp + 0x34]
mov byte [esp + 0x20c], 8
call fcn.0050d3fd
push 1
push ecx
lea edx, [esp + 0x20]
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
call fcn.0050d172
mov ebx, dword [esp + 0x30]
push 0
mov ecx, ebx
call fcn.00454330
mov edi, dword [esp + 0xe4]
mov ecx, dword [esp + 0xe0]
mov esi, eax
sub edi, ecx
xor ebp, ebp
test esi, esi
jne 0x45384c
push 0x338
call fcn.0050d138
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
mov byte [esp + 0x20c], 0xd
je 0x4537ec
push 2
push ebx
mov ecx, eax
call fcn.004640a0
mov esi, eax
jmp 0x4537ee
xor esi, esi
lea eax, [esp + 0xd8]
push 0xffffffffffffffff
push eax
lea ecx, [esp + 0x48]
mov byte [esp + 0x214], 8
call fcn.0050657a
mov ecx, dword [esp + 0x40]
push ecx
mov ecx, esi
call fcn.004657a0
push 0
push ebp
push edi
mov ecx, esi
call fcn.00465720
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x596660
call fcn.0050d46b
mov ecx, esi
call fcn.00475a30
push ebp
push edi
mov ecx, esi
call fcn.004658b0
push 0
push 4
mov ecx, esi
call fcn.0046dc90
push 0
push ecx
lea edx, [esp + 0xf8]
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
call fcn.0050d46b
mov ecx, esi
call fcn.00464dc0
push ecx
lea eax, [esp + 0x218]
mov ecx, esp
mov dword [esp + 0x24], esp
push eax
call fcn.0050d172
mov ecx, esi
call fcn.00464ce0
mov edi, dword [esp + 0x2c]
mov ecx, edi
call fcn.0041c790
push eax
mov ecx, esi
call fcn.0046dde0
push 0
push edi
push esi
mov ecx, ebx
call fcn.0044ba50
mov ecx, eax
call fcn.0046b990
mov ecx, ebx
call fcn.0044aba0
test eax, eax
je 0x453a90
mov ecx, edi
cmp eax, ecx
jne 0x453a90
mov ecx, dword [esp + 0x28]
push 1
push esi
add ecx, 0x74
call fcn.0047be80
jmp 0x453a90
test byte [esp + 0x21c], 1
je 0x453a90
mov esi, 0x588b00
lea eax, [esp + 0xf0]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x453918
test cl, cl
je 0x453914
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x453918
add eax, 2
add esi, 2
test cl, cl
jne 0x4538f0
xor eax, eax
jmp 0x45391d
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x453a90
mov esi, 0x58be64
lea eax, [esp + 0xf0]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x453959
test cl, cl
je 0x453955
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x453959
add eax, 2
add esi, 2
test cl, cl
jne 0x453931
xor eax, eax
jmp 0x45395e
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x453a90
push 1
push 0x5c
lea ecx, [esp + 0x1c]
call fcn.00505606
lea eax, [esp + 0x4c]
push 1
push eax
lea ecx, [esp + 0x21c]
mov byte [esp + 0x214], 0xe
call fcn.00505bc9
mov ecx, dword [esp + 0x14]
mov eax, dword [eax]
push ecx
push eax
call fcn.004ee0f0
add esp, 8
lea ecx, [esp + 0x4c]
test eax, eax
setne bl
call fcn.0050d3fd
lea ecx, [esp + 0x14]
mov byte [esp + 0x20c], 8
call fcn.0050d3fd
test bl, bl
je 0x453a24
lea edx, [esp + 0x214]
push 0x588788
lea eax, [esp + 0x54]
push edx
push eax
call fcn.0050d692
lea ecx, [esp + 0xf0]
lea edx, [esp + 0x48]
push ecx
push eax
push edx
mov byte [esp + 0x218], 0xf
call fcn.0050d692
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x210], 0x10
call fcn.0050d536
lea ecx, [esp + 0x48]
mov byte [esp + 0x20c], 0xf
call fcn.0050d3fd
mov byte [esp + 0x20c], 8
lea ecx, [esp + 0x50]
jmp 0x453a5c
lea eax, [esp + 0xf0]
lea ecx, [esp + 0x214]
push eax
lea edx, [esp + 0x3c]
push ecx
push edx
call fcn.0050d692
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x210], 0x11
call fcn.0050d536
mov byte [esp + 0x20c], 8
lea ecx, [esp + 0x38]
call fcn.0050d3fd
mov eax, dword [esp + 0x220]
mov ecx, dword [esp + 0x21c]
mov edx, dword [esp + 0x2c]
push eax
push ecx
push edx
push ecx
lea eax, [esp + 0x2c]
mov ecx, esp
mov dword [esp + 0x30], esp
push eax
call fcn.0050d172
mov ecx, dword [esp + 0x38]
call fcn.00453310
mov esi, dword [esp + 0x24]
lea ecx, [esp + 0xc4]
push ecx
push esi
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x453636
push esi
call dword [sym.imp.KERNEL32.dll_FindClose]
lea ecx, [esp + 0x18]
mov byte [esp + 0x20c], 7
call fcn.0050d3fd
lea ecx, [esp + 0x30]
mov byte [esp + 0x20c], 3
call fcn.0050d3fd
lea ecx, [esp + 0x1c]
mov byte [esp + 0x20c], 0
call fcn.0050d3fd
lea ecx, [esp + 0x214]
mov dword [esp + 0x20c], 0xffffffff
call fcn.0050d3fd
mov ecx, dword [esp + 0x204]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x200
ret 0x10