Function at 0x419690
Capabilities:
Check if file exists
Delete file
Enumerate files on windows
Get file attributes

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4b09e2
mov eax, dword fs:[0]
push eax
sub esp, 0x2e0
mov eax, dword [0x4d8c20]
xor eax, esp
mov dword [esp + 0x2d8], eax
push ebx
push esi
push edi
mov eax, dword [0x4d8c20]
xor eax, esp
push eax
lea eax, [esp + 0x2f0]
mov dword fs:[0], eax
mov esi, ecx
xor ebx, ebx
cmp esi, ebx
je 0x419c6a
mov edi, dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
push esi
call edi
cmp eax, 0xffffffff
je 0x4196ee
test al, 0x10
jne 0x419709
push esi
call edi
cmp eax, 0xffffffff
je 0x419c6a
test al, 0x10
jne 0x419c6a
push esi
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov eax, dword [0x4bed44]
mov ecx, dword [0x4bed48]
mov dx, word [0x4bed4c]
mov dword [esp + 0x2dc], eax
mov dword [esp + 0x2e0], ecx
mov word [esp + 0x2e4], dx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x2f8], ebx
xor eax, eax
mov word [esp + 0x54], ax
mov eax, esi
mov dword [esp + 0x68], 7
mov dword [esp + 0x64], ebx
lea edx, [eax + 2]
lea esp, [esp]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x419760
sub eax, edx
sar eax, 1
push eax
push esi
lea ecx, [esp + 0x5c]
call fcn.00404447
lea ecx, [esp + 0x54]
lea edi, [esp + 0x14]
mov byte [esp + 0x2f8], 1
call fcn.004164a0
cmp dword [esp + 0x68], 8
jb 0x4197a3
mov ecx, dword [esp + 0x54]
push ecx
call fcn.00475dcb
add esp, 4
xor edi, edi
xor ebx, ebx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], edi
mov dword [esp + 0x30], edi
mov byte [esp + 0x2f8], 2
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x14]
sub ecx, esi
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x10], edi
je 0x419a7a
mov dword [esp + 0x24], ebx
mov eax, dword [esp + 0x24]
push 0xffffffffffffffff
add eax, esi
push ebx
xor edx, edx
push eax
lea ecx, [esp + 0x7c]
mov edi, 8
mov dword [esp + 0x90], 7
mov dword [esp + 0x8c], ebx
mov word [esp + 0x7c], dx
call fcn.00403cc2
push 0xffffffffffffffff
push ebx
lea ecx, [esp + 0x78]
mov byte [esp + 0x300], 3
xor eax, eax
push ecx
lea ecx, [esp + 0x44]
mov dword [esp + 0x58], 7
mov dword [esp + 0x54], ebx
mov word [esp + 0x44], ax
call fcn.00403cc2
lea eax, [esp + 0x2dc]
mov byte [esp + 0x2f8], 4
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x419855
sub eax, edx
sar eax, 1
push eax
lea edx, [esp + 0x2e0]
push edx
lea ecx, [esp + 0x40]
call fcn.004043a6
push 0x24c
lea eax, [esp + 0x94]
push ebx
push eax
mov dword [esp + 0x98], ebx
call fcn.0047f860
mov eax, dword [esp + 0x44]
add esp, 0xc
cmp dword [esp + 0x4c], edi
jae 0x4198a1
lea eax, [esp + 0x38]
lea ecx, [esp + 0x8c]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov esi, eax
cmp esi, 0xffffffff
je 0x419a95
lea ecx, [esp + 0xb8]
mov eax, 0x4beaa4
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x4198ed
cmp dx, bx
je 0x4198e9
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x4198ed
add eax, 4
add ecx, 4
cmp dx, bx
jne 0x4198c7
xor eax, eax
jmp 0x4198f2
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x4199d8
lea ecx, [esp + 0xb8]
mov eax, 0x4bed50
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x41992c
cmp dx, bx
je 0x419928
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x41992c
add eax, 4
add ecx, 4
cmp dx, bx
jne 0x419906
xor eax, eax
jmp 0x419931
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x4199d8
push 0xffffffffffffffff
push ebx
lea eax, [esp + 0x78]
xor edx, edx
push eax
lea ecx, [esp + 0x60]
mov dword [esp + 0x74], 7
mov dword [esp + 0x70], ebx
mov word [esp + 0x60], dx
call fcn.00403cc2
push 1
push 0x4b9d50
lea ecx, [esp + 0x5c]
mov byte [esp + 0x300], 5
call fcn.004043a6
lea eax, [esp + 0xb8]
lea edx, [eax + 2]
nop
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x419980
sub eax, edx
sar eax, 1
push eax
lea ecx, [esp + 0xbc]
push ecx
lea ecx, [esp + 0x5c]
call fcn.004043a6
test byte [esp + 0x8c], 0x10
lea ecx, [esp + 0x54]
lea edi, [esp + 0x14]
jne 0x4199b7
lea edi, [esp + 0x28]
call fcn.004164a0
mov byte [esp + 0x2f8], 4
cmp dword [esp + 0x68], 8
jb 0x4199d8
mov edx, dword [esp + 0x54]
push edx
call fcn.00475dcb
add esp, 4
lea eax, [esp + 0x8c]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x4198bb
push esi
call dword [sym.imp.KERNEL32.dll_FindClose]
mov esi, 8
cmp dword [esp + 0x4c], esi
jb 0x419a0e
mov ecx, dword [esp + 0x38]
push ecx
call fcn.00475dcb
add esp, 4
xor edx, edx
mov byte [esp + 0x2f8], 2
mov dword [esp + 0x4c], 7
mov dword [esp + 0x48], ebx
mov word [esp + 0x38], dx
cmp dword [esp + 0x84], esi
jb 0x419a3f
mov eax, dword [esp + 0x70]
push eax
call fcn.00475dcb
add esp, 4
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x10]
add dword [esp + 0x24], 0x1c
sub ecx, esi
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
inc edi
add ecx, edx
mov dword [esp + 0x10], edi
cmp edi, ecx
jb 0x4197e6
mov edi, dword [esp + 0x2c]
mov ebx, dword [esp + 0x28]
mov esi, ebx
cmp ebx, edi
je 0x419b5b
cmp dword [esi + 0x14], 8
jb 0x419b41
mov eax, dword [esi]
jmp 0x419b43
cmp dword [esp + 0x4c], edi
jb 0x419aa8
mov edx, dword [esp + 0x38]
push edx
call fcn.00475dcb
add esp, 4
xor eax, eax
mov dword [esp + 0x4c], 7
mov dword [esp + 0x48], ebx
mov word [esp + 0x38], ax
cmp dword [esp + 0x84], edi
jb 0x419ad1
mov ecx, dword [esp + 0x70]
push ecx
call fcn.00475dcb
add esp, 4
mov esi, dword [esp + 0x28]
xor edx, edx
mov dword [esp + 0x84], 7
mov dword [esp + 0x80], 0
mov word [esp + 0x70], dx
test esi, esi
je 0x419b14
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x2c]
push eax
lea ecx, [esp + 0x38]
push ecx
push edx
push esi
call fcn.00417480
push esi
call fcn.00475dcb
add esp, 0x14
mov esi, dword [esp + 0x14]
test esi, esi
je 0x419b3a
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
push eax
lea ecx, [esp + 0x24]
push ecx
push edx
push esi
call fcn.00417480
push esi
call fcn.00475dcb
add esp, 0x14
xor al, al
jmp 0x419c6c
mov eax, esi
push eax
call fcn.0047701c
add esp, 4
test eax, eax
jne 0x419b7a
add esi, 0x1c
cmp esi, edi
jne 0x419a84
mov esi, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
cmp esi, eax
je 0x419bdc
add esi, 0xffffffe4
lea ebx, [ebx]
cmp dword [esi + 0x14], 8
jb 0x419bbb
mov eax, dword [esi]
jmp 0x419bbd
cmp esi, edi
je 0x419b5b
test ebx, ebx
je 0x419b9c
mov eax, dword [esp + 0x10]
push eax
lea ecx, [esp + 0x38]
push ecx
push edi
push ebx
call fcn.00417480
push ebx
call fcn.00475dcb
add esp, 0x14
cmp dword [esp + 0x14], 0
je 0x419b3a
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x14]
push edx
lea eax, [esp + 0x24]
push eax
push ecx
jmp 0x419b2b
mov eax, esi
push eax
call fcn.004769b7
add esp, 4
test eax, eax
jne 0x419c90
mov eax, dword [esp + 0x14]
sub esi, 0x1c
lea edx, [esi + 0x1c]
cmp edx, eax
jne 0x419b70
test ebx, ebx
je 0x419c1e
mov esi, ebx
cmp ebx, edi
je 0x419c11
cmp dword [esi + 0x14], 8
jb 0x419bf7
mov edx, dword [esi]
push edx
call fcn.00475dcb
add esp, 4
xor eax, eax
mov dword [esi + 0x14], 7
mov dword [esi + 0x10], 0
mov word [esi], ax
add esi, 0x1c
cmp esi, edi
jne 0x419be6
push ebx
call fcn.00475dcb
mov eax, dword [esp + 0x18]
add esp, 4
test eax, eax
je 0x419c6a
mov esi, eax
cmp eax, dword [esp + 0x18]
je 0x419c5d
lea ebx, [ebx]
cmp dword [esi + 0x14], 8
jb 0x419c41
mov ecx, dword [esi]
push ecx
call fcn.00475dcb
add esp, 4
xor edx, edx
mov dword [esi + 0x14], 7
mov dword [esi + 0x10], 0
mov word [esi], dx
add esi, 0x1c
cmp esi, dword [esp + 0x18]
jne 0x419c30
mov eax, dword [esp + 0x14]
push eax
call fcn.00475dcb
add esp, 4
mov al, 1
mov ecx, dword [esp + 0x2f0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x2d8]
xor ecx, esp
call fcn.004751dc
mov esp, ebp
pop ebp
ret
test ebx, ebx
je 0x419cd4
mov esi, ebx
cmp ebx, edi
je 0x419ccb
lea ebx, [ebx]
cmp dword [esi + 0x14], 8
jb 0x419cb1
mov eax, dword [esi]
push eax
call fcn.00475dcb
add esp, 4
xor ecx, ecx
mov dword [esi + 0x14], 7
mov dword [esi + 0x10], 0
mov word [esi], cx
add esi, 0x1c
cmp esi, edi
jne 0x419ca0
push ebx
call fcn.00475dcb
add esp, 4
mov esi, dword [esp + 0x14]
test esi, esi
je 0x419b3a
cmp dword [esi + 0x14], 8
jb 0x419cf1
mov edx, dword [esi]
push edx
call fcn.00475dcb
add esp, 4
xor eax, eax
mov dword [esi + 0x14], 7
mov dword [esi + 0x10], 0
mov word [esi], ax
add esi, 0x1c
cmp esi, dword [esp + 0x18]
jne 0x419ce0
mov ecx, dword [esp + 0x14]
push ecx
call fcn.00475dcb
add esp, 4
xor al, al
jmp 0x419c6c