Function at 0x4471a0
Capabilities:
Enumerate files on windows
Enumerate files recursively
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x463e76
mov eax, dword fs:[0]
push eax
mov eax, 0x22fc
call fcn.0045db90
mov eax, dword [0x4920c0]
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 - 0x22fc], edx
mov ebx, ecx
mov eax, dword [0x496d20]
mov edi, dword [ebp + 0xc]
xor ecx, ecx
cmp dword [ebp + 8], ecx
mov dword [ebp - 0x22e0], edi
cmove eax, ecx
inc dword [0x4945ac]
mov dword [0x496d20], eax
call dword [sym.imp.KERNEL32.DLL_GetTickCount]
test edi, edi
je 0x447291
mov ecx, dword [0x496d20]
test ecx, ecx
je 0x44721d
add ecx, 0x1f4
cmp eax, ecx
jbe 0x447291
push 0x44
mov dword [0x496d20], eax
call fcn.00450970
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x44727a
mov dword [ecx], 1
mov dword [ecx + 0x18], 7
mov dword [ecx + 0x14], 0
xor eax, eax
mov word [ecx + 4], ax
mov dword [ecx + 0x2c], eax
mov dword [ecx + 0x30], 7
mov word [ecx + 0x1c], ax
mov eax, dword [0x4945b0]
mov dword [ecx + 0x34], eax
mov eax, dword [0x4945ac]
mov dword [ecx + 0x38], eax
mov dword [ecx + 0x3c], 0
mov dword [ecx + 0x40], 0
jmp 0x44727c
xor ecx, ecx
mov eax, dword [edi]
test eax, eax
je 0x447291
push 0
push ecx
push 0x8064
push eax
call dword [sym.imp.USER32.dll_PostMessageW]
mov ecx, ebx
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x447296
sub ecx, edx
sar ecx, 1
xor eax, eax
cmp word [ebx + ecx*2 - 2], 0x5c
mov dword [ebp - 0x1c], 0x5c
mov dword [ebp - 0x18], eax
mov word [ebp - 0x14], ax
jne 0x4472c1
mov word [ebp - 0x1c], ax
xor esi, esi
mov dword [ebp - 0x2300], esi
lea esp, [esp]
cmp byte [0x493139], 0
lea eax, [ebp - 0x58]
jne 0x4472f6
push 0x4738f4
push 0x1e
push eax
call fcn.004513ee
add esp, 0xc
test esi, esi
jg 0x4475c5
jmp 0x447311
test esi, esi
jne 0x447301
push str.winre.wim
jmp 0x447306
push str.boot.wim
push 0x1e
push eax
call fcn.004513ee
add esp, 0xc
lea eax, [ebp - 0x58]
push eax
lea eax, [ebp - 0x1c]
push eax
push ebx
lea eax, [ebp - 0x2058]
push str._s_s_s
push eax
call fcn.00409950
add esp, 0x14
push 1
call dword [sym.imp.KERNEL32.DLL_SetErrorMode]
mov esi, eax
lea eax, [ebp - 0x22d8]
push eax
lea eax, [ebp - 0x2058]
push eax
call dword [sym.imp.KERNEL32.DLL_FindFirstFileW]
push esi
mov dword [ebp - 0x22dc], eax
call dword [sym.imp.KERNEL32.DLL_SetErrorMode]
cmp dword [ebp - 0x22dc], 0xffffffff
je 0x4475af
test edi, edi
je 0x447383
lea esi, [edi + 8]
xor dl, dl
mov al, byte [esi]
mov cl, al
or cl, dl
lock cmpxchg byte [esi], cl
jne 0x447371
test al, al
jne 0x4475a3
test byte [ebp - 0x22d8], 0x10
jne 0x447588
xor eax, eax
mov dword [ebp - 0x2074], 7
mov dword [ebp - 0x2078], 0
mov word [ebp - 0x2088], ax
cmp word [ebx], ax
je 0x4473c6
mov eax, ebx
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4473b7
sub eax, edx
sar eax, 1
push eax
push ebx
lea ecx, [ebp - 0x2088]
call fcn.004023a0
push 1
push 0x46b810
lea ecx, [ebp - 0x2088]
mov dword [ebp - 4], 0
call fcn.00409480
cmp word [ebp - 0x22ac], 0
jne 0x4473fa
xor ecx, ecx
jmp 0x447412
lea ecx, [ebp - 0x22ac]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x447403
sub ecx, edx
sar ecx, 1
push ecx
lea eax, [ebp - 0x22ac]
push eax
lea ecx, [ebp - 0x2088]
call fcn.00409480
push 0x294
call fcn.00450970
add esp, 4
test eax, eax
je 0x447441
mov ecx, eax
call fcn.0040a990
mov esi, eax
jmp 0x447443
xor esi, esi
cmp byte [0x493138], 0
je 0x4474dc
sub esp, 0x18
mov ecx, esp
xor eax, eax
push 0xffffffffffffffff
mov dword [ecx + 0x14], 7
mov dword [ecx + 0x10], 0
push eax
mov word [ecx], ax
lea eax, [ebp - 0x2088]
push eax
call fcn.004020b0
push 1
push 0
mov edx, esi
mov ecx, 2
call fcn.00420d10
add esp, 0x20
test edi, edi
je 0x4474bf
cmp byte [esi + 0x78], 0
jne 0x44755a
cmp byte [esi + 0x22c], 0
jne 0x44755a
cmp byte [esi + 0x1cc], 0
jne 0x44755a
cmp dword [esi + 0x1d0], 0
jne 0x44755a
test esi, esi
je 0x44756a
mov ecx, esi
call fcn.0040b320
push esi
call fcn.00450920
add esp, 4
jmp 0x44756a
cmp word [ebx], 0
jne 0x4474e6
xor ecx, ecx
jmp 0x4474ff
mov ecx, ebx
lea edx, [ecx + 2]
jmp 0x4474f0
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4474f0
sub ecx, edx
sar ecx, 1
push ecx
push ebx
mov ecx, esi
call fcn.004023a0
cmp word [ebp - 0x22ac], 0
jne 0x447516
xor ecx, ecx
jmp 0x44752f
lea ecx, [ebp - 0x22ac]
lea edx, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x447520
sub ecx, edx
sar ecx, 1
push ecx
lea eax, [ebp - 0x22ac]
push eax
lea ecx, [esi + 0x18]
call fcn.004023a0
lea ecx, [esi + 0x30]
lea eax, [ebp - 0x2088]
cmp ecx, eax
je 0x447556
push 0xffffffffffffffff
push 0
push eax
call fcn.004020b0
test edi, edi
je 0x44756a
push 0
push esi
push 0x8005
push dword [edi]
call dword [sym.imp.USER32.dll_PostMessageW]
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x2074], 8
jb 0x447588
push dword [ebp - 0x2088]
call fcn.00450920
add esp, 4
lea eax, [ebp - 0x22d8]
push eax
push dword [ebp - 0x22dc]
call dword [sym.imp.KERNEL32.DLL_FindNextFileW]
test eax, eax
jne 0x447366
push dword [ebp - 0x22dc]
call dword [sym.imp.KERNEL32.DLL_FindClose]
mov esi, dword [ebp - 0x2300]
inc esi
mov dword [ebp - 0x2300], esi
cmp esi, 2
jl 0x4472d0
cmp dword [0x495d00], 8
push dword [0x495cfc]
mov edi, dword [ebp - 0x22fc]
mov eax, 0x495cec
cmovae eax, dword [0x495cec]
push eax
push ebx
call fcn.00450611
add esp, 0xc
test eax, eax
jne 0x447bc4
lea edi, [eax + 3]
mov dword [ebp - 0x205c], 7
mov dword [ebp - 0x2060], eax
mov word [ebp - 0x2070], ax
push str.WinSxS
mov edx, 0x495cec
lea ecx, [ebp - 0x22f8]
mov dword [ebp - 4], 1
call fcn.004097c0
mov esi, eax
lea eax, [ebp - 0x2070]
add esp, 4
cmp eax, esi
je 0x4476c7
cmp dword [ebp - 0x205c], 8
jb 0x447656
push dword [ebp - 0x2070]
call fcn.00450920
add esp, 4
xor eax, eax
mov dword [ebp - 0x205c], 7
mov dword [ebp - 0x2060], 0
mov word [ebp - 0x2070], ax
cmp dword [esi + 0x14], 8
jae 0x447694
mov eax, dword [esi + 0x10]
inc eax
je 0x4476a2
add eax, eax
push eax
lea eax, [ebp - 0x2070]
push esi
push eax
call fcn.0044ffb0
add esp, 0xc
jmp 0x4476a2
mov eax, dword [esi]
mov dword [ebp - 0x2070], eax
mov dword [esi], 0
mov eax, dword [esi + 0x10]
mov dword [ebp - 0x2060], eax
mov eax, dword [esi + 0x14]
mov dword [ebp - 0x205c], eax
xor eax, eax
mov dword [esi + 0x14], 7
mov dword [esi + 0x10], 0
mov word [esi], ax
cmp dword [ebp - 0x22e4], 8
jb 0x4476de
push dword [ebp - 0x22f8]
call fcn.00450920
add esp, 4
cmp dword [ebp - 0x205c], 8
push dword [ebp - 0x2060]
lea eax, [ebp - 0x2070]
cmovae eax, dword [ebp - 0x2070]
push eax
push ebx
call fcn.00450611
add esp, 0xc
mov ecx, 1
test eax, eax
cmove edi, ecx
push str.SysWOW64
mov edx, 0x495cec
lea ecx, [ebp - 0x22f8]
call fcn.004097c0
mov esi, eax
lea eax, [ebp - 0x2070]
add esp, 4
cmp eax, esi
je 0x4477bc
cmp dword [ebp - 0x205c], 8
jb 0x44774b
push dword [ebp - 0x2070]
call fcn.00450920
add esp, 4
xor eax, eax
mov dword [ebp - 0x205c], 7
mov dword [ebp - 0x2060], 0
mov word [ebp - 0x2070], ax
cmp dword [esi + 0x14], 8
jae 0x447789
mov eax, dword [esi + 0x10]
inc eax
je 0x447797
add eax, eax
push eax
lea eax, [ebp - 0x2070]
push esi
push eax
call fcn.0044ffb0
add esp, 0xc
jmp 0x447797
mov eax, dword [esi]
mov dword [ebp - 0x2070], eax
mov dword [esi], 0
mov eax, dword [esi + 0x10]
mov dword [ebp - 0x2060], eax
mov eax, dword [esi + 0x14]
mov dword [ebp - 0x205c], eax
xor eax, eax
mov dword [esi + 0x14], 7
mov dword [esi + 0x10], 0
mov word [esi], ax
cmp dword [ebp - 0x22e4], 8
jb 0x4477d3
push dword [ebp - 0x22f8]
call fcn.00450920
add esp, 4
cmp dword [ebp - 0x205c], 8
push dword [ebp - 0x2060]
lea eax, [ebp - 0x2070]
cmovae eax, dword [ebp - 0x2070]
push eax
push ebx
call fcn.00450611
add esp, 0xc
test eax, eax
mov eax, 1
push str.Installer
mov edx, 0x495cec
lea ecx, [ebp - 0x22f8]
cmove edi, eax
call fcn.004097c0
mov esi, eax
lea eax, [ebp - 0x2070]
add esp, 4
cmp eax, esi
je 0x4478b1
cmp dword [ebp - 0x205c], 8
jb 0x447840
push dword [ebp - 0x2070]
call fcn.00450920
add esp, 4
xor eax, eax
mov dword [ebp - 0x205c], 7
mov dword [ebp - 0x2060], 0
mov word [ebp - 0x2070], ax
cmp dword [esi + 0x14], 8
jae 0x44787e
mov eax, dword [esi + 0x10]
inc eax
je 0x44788c
add eax, eax
push eax
lea eax, [ebp - 0x2070]
push esi
push eax
call fcn.0044ffb0
add esp, 0xc
jmp 0x44788c
mov eax, dword [esi]
mov dword [ebp - 0x2070], eax
mov dword [esi], 0
mov eax, dword [esi + 0x10]
mov dword [ebp - 0x2060], eax
mov eax, dword [esi + 0x14]
mov dword [ebp - 0x205c], eax
xor eax, eax
mov dword [esi + 0x14], 7
mov dword [esi + 0x10], 0
mov word [esi], ax
cmp dword [ebp - 0x22e4], 8
jb 0x4478c8
push dword [ebp - 0x22f8]
call fcn.00450920
add esp, 4
cmp dword [ebp - 0x205c], 8
push dword [ebp - 0x2060]
lea eax, [ebp - 0x2070]
cmovae eax, dword [ebp - 0x2070]
push eax
push ebx
call fcn.00450611
add esp, 0xc
test eax, eax
mov eax, 1
push str.SystemApps
mov edx, 0x495cec
lea ecx, [ebp - 0x22f8]
cmove edi, eax
call fcn.004097c0
mov esi, eax
lea eax, [ebp - 0x2070]
add esp, 4
cmp eax, esi
je 0x4479a6
cmp dword [ebp - 0x205c], 8
jb 0x447935
push dword [ebp - 0x2070]
call fcn.00450920
add esp, 4
xor eax, eax
mov dword [ebp - 0x205c], 7
mov dword [ebp - 0x2060], 0
mov word [ebp - 0x2070], ax
cmp dword [esi + 0x14], 8
jae 0x447973
mov eax, dword [esi + 0x10]
inc eax
je 0x447981
add eax, eax
push eax
lea eax, [ebp - 0x2070]
push esi
push eax
call fcn.0044ffb0
add esp, 0xc
jmp 0x447981
mov eax, dword [esi]
mov dword [ebp - 0x2070], eax
mov dword [esi], 0
mov eax, dword [esi + 0x10]
mov dword [ebp - 0x2060], eax
mov eax, dword [esi + 0x14]
mov dword [ebp - 0x205c], eax
xor eax, eax
mov dword [esi + 0x14], 7
mov dword [esi + 0x10], 0
mov word [esi], ax
cmp dword [ebp - 0x22e4], 8
jb 0x4479bd
push dword [ebp - 0x22f8]
call fcn.00450920
add esp, 4
cmp dword [ebp - 0x205c], 8
push dword [ebp - 0x2060]
lea eax, [ebp - 0x2070]
cmovae eax, dword [ebp - 0x2070]
push eax
push ebx
call fcn.00450611
add esp, 0xc
test eax, eax
mov eax, 1
push str.SystemResources
mov edx, 0x495cec
lea ecx, [ebp - 0x22f8]
cmove edi, eax
call fcn.004097c0
mov esi, eax
lea eax, [ebp - 0x2070]
add esp, 4
cmp eax, esi
je 0x447a9b
cmp dword [ebp - 0x205c], 8
jb 0x447a2a
push dword [ebp - 0x2070]
call fcn.00450920
add esp, 4
xor eax, eax
mov dword [ebp - 0x205c], 7
mov dword [ebp - 0x2060], 0
mov word [ebp - 0x2070], ax
cmp dword [esi + 0x14], 8
jae 0x447a68
mov eax, dword [esi + 0x10]
inc eax
je 0x447a76
add eax, eax
push eax
lea eax, [ebp - 0x2070]
push esi
push eax
call fcn.0044ffb0
add esp, 0xc
jmp 0x447a76
mov eax, dword [esi]
mov dword [ebp - 0x2070], eax
mov dword [esi], 0
mov eax, dword [esi + 0x10]
mov dword [ebp - 0x2060], eax
mov eax, dword [esi + 0x14]
mov dword [ebp - 0x205c], eax
xor eax, eax
mov dword [esi + 0x14], 7
mov dword [esi + 0x10], 0
mov word [esi], ax
cmp dword [ebp - 0x22e4], 8
jb 0x447ab2
push dword [ebp - 0x22f8]
call fcn.00450920
add esp, 4
cmp dword [ebp - 0x205c], 8
push dword [ebp - 0x2060]
lea eax, [ebp - 0x2070]
cmovae eax, dword [ebp - 0x2070]
push eax
push ebx
call fcn.00450611
add esp, 0xc
test eax, eax
mov eax, 1
push str.INF
mov edx, 0x495cec
lea ecx, [ebp - 0x22f8]
cmove edi, eax
call fcn.004097c0
mov esi, eax
lea eax, [ebp - 0x2070]
add esp, 4
cmp eax, esi
je 0x447b44
cmp dword [ebp - 0x205c], 8
jb 0x447b1b
push dword [ebp - 0x2070]
call fcn.00450920
add esp, 4
xor eax, eax
push esi
lea ecx, [ebp - 0x2070]
mov dword [ebp - 0x205c], 7
mov dword [ebp - 0x2060], 0
mov word [ebp - 0x2070], ax
call fcn.004091d0
cmp dword [ebp - 0x22e4], 8
jb 0x447b5b
push dword [ebp - 0x22f8]
call fcn.00450920
add esp, 4
cmp dword [ebp - 0x205c], 8
push dword [ebp - 0x2060]
lea eax, [ebp - 0x2070]
cmovae eax, dword [ebp - 0x2070]
push eax
push ebx
call fcn.00450611
add esp, 0xc
test eax, eax
mov eax, 1
cmove edi, eax
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x205c], 8
jb 0x447ba7
push dword [ebp - 0x2070]
call fcn.00450920
add esp, 4
xor eax, eax
mov dword [ebp - 0x205c], 7
mov dword [ebp - 0x2060], 0
mov word [ebp - 0x2070], ax
test edi, edi
jle 0x447bd1
cmp dword [ebp + 8], edi
jge 0x447d46
mov eax, dword [ebp - 0x22e0]
test eax, eax
je 0x447bf4
lea esi, [eax + 8]
xor dl, dl
mov al, byte [esi]
mov cl, al
or cl, dl
lock cmpxchg byte [esi], cl
jne 0x447be2
test al, al
jne 0x447d46
lea eax, [ebp - 0x1c]
push eax
push ebx
lea eax, [ebp - 0x2058]
push str._s_s.
push eax
call fcn.00409950
add esp, 0x10
push 1
call dword [sym.imp.KERNEL32.DLL_SetErrorMode]
mov esi, eax
lea eax, [ebp - 0x22d8]
push eax
lea eax, [ebp - 0x2058]
push eax
call dword [sym.imp.KERNEL32.DLL_FindFirstFileW]
push esi
mov edi, eax
call dword [sym.imp.KERNEL32.DLL_SetErrorMode]
cmp edi, 0xffffffff
je 0x447d46
lea ecx, [ecx]
mov eax, dword [ebp - 0x22e0]
test eax, eax
je 0x447c63
lea esi, [eax + 8]
xor dl, dl
mov al, byte [esi]
mov cl, al
or cl, dl
lock cmpxchg byte [esi], cl
jne 0x447c51
test al, al
jne 0x447d3f
mov eax, dword [ebp - 0x22d8]
test eax, 0x400
jne 0x447d29
test al, 0x10
je 0x447d29
cmp word [ebp - 0x22ac], 0x2e
jne 0x447caa
mov ax, word [ebp - 0x22aa]
test ax, ax
je 0x447d29
cmp ax, 0x2e
jne 0x447caa
cmp word [ebp - 0x22a8], 0
je 0x447d29
mov ecx, ebx
lea edx, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x447cb0
sub ecx, edx
lea edx, [ebp - 0x22ac]
sar ecx, 1
lea esi, [edx + 2]
jmp 0x447cd0
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x447cd0
sub edx, esi
sar edx, 1
lea eax, [edx + ecx]
cmp eax, 0x3e8
ja 0x447d29
lea eax, [ebp - 0x22ac]
push eax
lea eax, [ebp - 0x1c]
push eax
push ebx
lea eax, [ebp - 0x1058]
push str._s_s_s
push eax
call fcn.00409950
mov eax, dword [ebp - 0x22e0]
mov edx, dword [ebp - 0x22fc]
add esp, 0x14
lea ecx, [ebp - 0x1058]
push eax
mov eax, dword [ebp + 8]
inc eax
push eax
call fcn.004471a0
add esp, 8
lea eax, [ebp - 0x22d8]
push eax
push edi
call dword [sym.imp.KERNEL32.DLL_FindNextFileW]
test eax, eax
jne 0x447c40
push edi
call dword [sym.imp.KERNEL32.DLL_FindClose]
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.0044fdac
mov esp, ebp
pop ebp
ret