Function at 0x422c80
Capabilities:
Enumerate files on windows

Disassembly:
push 0xffffffffffffffff
push 0x423f85
mov eax, dword fs:[0]
push eax
sub esp, 0x2a0
mov eax, dword [0x42e110]
xor eax, esp
mov dword [esp + 0x298], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x42e110]
xor eax, esp
push eax
lea eax, [esp + 0x2b4]
mov dword fs:[0], eax
mov eax, dword [esp + 0x2c4]
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], 0
push eax
mov dword [esp + 0x2c0], 2
call fcn.00401430
lea ecx, [esp + 0x2d4]
call fcn.0041b420
mov ebp, vtable.PathLibrary.0
test al, al
je 0x422d63
mov dword [esp + 0x58], ebp
sub esp, 0xc
mov ebx, 3
mov byte [esp + 0x2c8], bl
lea ecx, [esp + 0x2d4]
mov esi, esp
mov dword [esp + 0x20], ebx
mov dword [esp + 0x2c], esp
call fcn.0041b4e0
sub esp, 0xc
mov dword [esp + 0x2d4], 4
lea ecx, [esp + 0x2ec]
mov esi, esp
mov dword [esp + 0x34], esp
call fcn.0041b4e0
lea eax, [esp + 0x4c]
push eax
mov byte [esp + 0x2d8], bl
call fcn.00420a00
add esp, 0x1c
mov dword [esp + 0x2bc], 5
mov ebx, 7
jmp 0x422dad
mov dword [esp + 0x1c], ebp
sub esp, 0xc
mov dword [esp + 0x2c8], 6
lea ecx, [esp + 0x2d4]
mov esi, esp
mov dword [esp + 0x20], 9
mov dword [esp + 0x2c], esp
call fcn.0041b4e0
push 0
lea edi, [esp + 0x34]
call fcn.00420cb0
add esp, 0x10
mov dword [esp + 0x2bc], 7
mov ebx, 0x19
mov ecx, eax
lea esi, [esp + 0x4c]
mov dword [esp + 0x14], ebx
call fcn.0041b4e0
mov dword [esp + 0x2bc], 8
test bl, 0x10
je 0x422ddc
and ebx, 0xffffffef
lea ecx, [esp + 0x24]
mov dword [esp + 0x14], ebx
call fcn.0041b590
test bl, 8
je 0x422de8
and ebx, 0xfffffff7
mov dword [esp + 0x14], ebx
test bl, 4
je 0x422dfd
and ebx, 0xfffffffb
lea ecx, [esp + 0x34]
mov dword [esp + 0x14], ebx
call fcn.0041b590
test bl, 2
je 0x422e09
and ebx, 0xfffffffd
mov dword [esp + 0x14], ebx
mov dword [esp + 0x1c], ebp
sub esp, 0xc
mov byte [esp + 0x2c8], 0xd
lea ecx, [esp + 0x58]
mov esi, esp
mov dword [esp + 0x2c], esp
call fcn.0041b4e0
lea ecx, [esp + 0x4c]
push ecx
call fcn.00420740
add esp, 0x10
mov ecx, eax
lea esi, [esp + 0x34]
mov byte [esp + 0x2bc], 0xe
call fcn.0041b4e0
lea ecx, [esp + 0x40]
call fcn.0041b590
push 0x24c
lea edx, [esp + 0x64]
push 0
mov byte [esp + 0x2c4], 0x11
push edx
mov dword [esp + 0x68], 0
call fcn.0040c800
add esp, 0xc
lea eax, [esp + 0x5c]
push eax
mov eax, esi
call fcn.0041b440
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov ebp, eax
xor eax, eax
cmp ebp, 0xffffffff
setne al
test eax, eax
je 0x422f82
mov ebx, dword [sym.imp.KERNEL32.dll_FindNextFileW]
mov ecx, 0x4284e8
lea eax, [esp + 0x88]
jmp 0x422eb0
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x422ed6
test dx, dx
je 0x422ed2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x422ed6
add eax, 4
add ecx, 4
test dx, dx
jne 0x422eb0
xor eax, eax
jmp 0x422edb
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x422f23
mov ecx, 0x4284f0
lea eax, [esp + 0x88]
jmp 0x422ef0
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x422f16
test dx, dx
je 0x422f12
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x422f16
add eax, 4
add ecx, 4
test dx, dx
jne 0x422ef0
xor eax, eax
jmp 0x422f1b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x422f23
xor al, al
jmp 0x422f25
mov al, 1
test byte [esp + 0x5c], 0x10
je 0x422f36
cmp byte [esp + 0x2e4], 0
je 0x422f72
test al, al
jne 0x422f72
mov eax, 0xffffffff
lea edx, [esp + 0x88]
lea esi, [esp + 0x24]
call fcn.0041b550
mov ecx, esi
mov byte [esp + 0x2bc], 0x12
mov edi, dword [esp + 0x18]
push ecx
call fcn.00401710
mov ecx, esi
mov byte [esp + 0x2bc], 0x11
call fcn.0041b590
lea edx, [esp + 0x5c]
push edx
push ebp
call ebx
test eax, eax
jne 0x422e9f
cmp ebp, 0xffffffff
je 0x422f8e
push ebp
call dword [sym.imp.KERNEL32.dll_FindClose]
cmp byte [esp + 0x2e0], 0
je 0x42308a
sub esp, 0xc
lea ecx, [esp + 0x40]
mov esi, esp
mov dword [esp + 0x28], esp
call fcn.0041b4e0
lea eax, [esp + 0x30]
push eax
call fcn.004208e0
add esp, 0x10
mov byte [esp + 0x2bc], 0x13
mov esi, dword [esp + 0x18]
mov ecx, dword [esi + 0x10]
sub ecx, dword [esi + 0xc]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov ecx, edx
shr ecx, 0x1f
xor edi, edi
add ecx, edx
je 0x423081
jmp 0x422feb
mov esi, dword [esp + 0x18]
push edi
mov eax, esi
call fcn.00401590
sub esp, 0xc
mov ecx, eax
mov esi, esp
mov dword [esp + 0x28], esp
call fcn.0041b4e0
sub esp, 0xc
mov byte [esp + 0x2d4], 0x14
lea ecx, [esp + 0x3c]
mov esi, esp
mov dword [esp + 0x38], esp
call fcn.0041b4e0
lea edx, [esp + 0x58]
push edx
mov byte [esp + 0x2d8], 0x13
call fcn.00420a00
add esp, 0x1c
mov ebp, eax
mov byte [esp + 0x2bc], 0x15
mov ebx, dword [esp + 0x18]
push edi
mov eax, ebx
call fcn.00401590
mov esi, eax
mov eax, ebp
call fcn.0041b900
lea ecx, [esp + 0x40]
mov byte [esp + 0x2bc], 0x13
call fcn.0041b590
mov ecx, dword [ebx + 0x10]
sub ecx, dword [ebx + 0xc]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
inc edi
add eax, edx
cmp edi, eax
jb 0x422fe7
lea ecx, [esp + 0x24]
call fcn.0041b590
lea ecx, [esp + 0x34]
call fcn.0041b590
lea ecx, [esp + 0x4c]
call fcn.0041b590
lea ecx, [esp + 0x2c8]
call fcn.0041b590
lea ecx, [esp + 0x2d4]
call fcn.0041b590
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x2b4]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x298]
xor ecx, esp
call fcn.00409ef3
add esp, 0x2ac
ret 0x24