Function at 0x41a030
Capabilities:
Check if file exists
Delete directory
Enumerate files on windows

Disassembly:
push 0xffffffffffffffff
push 0x46842e
mov eax, dword fs:[0]
push eax
mov eax, 0x187c
call fcn.00454790
mov eax, dword [0x48807c]
xor eax, esp
mov dword [esp + 0x1878], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x48807c]
xor eax, esp
push eax
lea eax, [esp + 0x1890]
mov dword fs:[0], eax
mov edi, dword [esp + 0x18a0]
push edi
push str.ProcessSectionDelDirs_____s__n
mov ebp, ecx
mov dword [esp + 0x28], edi
call fcn.004454c0
mov ecx, dword [ebp + 4]
add esp, 8
xor esi, esi
push esi
lea eax, [esp + 0x890]
push eax
push esi
push edi
mov dword [esp + 0x2c], esi
call fcn.00409a10
test al, al
je 0x41a79b
jmp 0x41a0b0
lea ecx, [esp + 0x88c]
push ecx
push esi
push edi
push str.__s___d____s__n
call fcn.004454c0
mov edx, dword [ebp + 8]
add esp, 0x10
cmp byte [edx + 0x1e89], 0
je 0x41a0df
mov ecx, ebp
call fcn.0040bbb0
jmp 0x41a77a
xor eax, eax
push 0x206
push eax
lea ecx, [esp + 0x27e]
push ecx
mov word [esp + 0x280], ax
call fcn.00453450
xor bl, bl
push 0x1c2d0
mov byte [esp + 0x27], bl
call fcn.004534f0
add esp, 0x10
mov dword [esp + 0x18], eax
xor esi, esi
mov dword [esp + 0x1898], esi
cmp eax, esi
je 0x41a129
mov ecx, eax
call fcn.00444be0
mov esi, eax
push 0x474298
lea edx, [esp + 0x890]
push edx
mov ecx, esi
mov dword [esp + 0x18a0], 0xffffffff
call fcn.00444e30
xor edi, edi
mov dword [esp + 0x18], eax
test eax, eax
jle 0x41a54c
cmp byte [esi + 0x1c2cc], 0
je 0x41a179
cmp edi, dword [esi + 0x1c2c8]
jl 0x41a16b
xor eax, eax
jmp 0x41a18f
mov eax, edi
shl eax, 0xb
lea eax, [eax + esi + 0x32c8]
jmp 0x41a18f
cmp edi, dword [esi + 0x1c2c8]
jl 0x41a185
xor eax, eax
jmp 0x41a18f
mov eax, edi
imul eax, eax, 0x104
add eax, esi
push eax
push edi
push str.___d____s__n
call fcn.004454c0
mov eax, edi
add esp, 0xc
sub eax, 0
je 0x41a4fc
sub eax, 1
jne 0x41a541
cmp byte [esi + 0x1c2cc], al
je 0x41a1cf
cmp dword [esi + 0x1c2c8], 1
jg 0x41a1c7
xor ecx, ecx
jmp 0x41a1e2
lea ecx, [esi + 0x3ac8]
jmp 0x41a1e2
cmp dword [esi + 0x1c2c8], 1
jg 0x41a1dc
xor ecx, ecx
jmp 0x41a1e2
lea ecx, [esi + 0x104]
lea edx, [esp + 0x684]
lea esp, [esp]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
test ax, ax
jne 0x41a1f0
lea ecx, [esp + 0x684]
push str.REMOVE_AFTER_REBOOT
push ecx
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x41a21f
mov byte [esp + 0x17], 1
lea edx, [esp + 0x684]
push str.REMOVE_ALL
push edx
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x41a541
mov ecx, dword [ebp + 0xc]
push str._MainTarget_
lea eax, [esp + 0x278]
push eax
call fcn.004495e0
test eax, eax
je 0x41a257
mov bl, 1
push str._MainLink_
lea ecx, [esp + 0x278]
push ecx
mov ecx, dword [ebp + 0xc]
call fcn.004495e0
test eax, eax
je 0x41a272
mov bl, 1
mov ecx, dword [ebp + 0xc]
push str._ProgramFiles_WIA_Scanner
lea edx, [esp + 0x278]
push edx
call fcn.004495e0
test eax, eax
je 0x41a28d
mov bl, 1
mov ecx, dword [ebp + 0xc]
push str._ProgramFiles_KyoceraWIA_Scanner
lea eax, [esp + 0x278]
push eax
call fcn.004495e0
test eax, eax
je 0x41a2a8
mov bl, 1
push str._UserAppData_knv
lea ecx, [esp + 0x278]
push ecx
mov ecx, dword [ebp + 0xc]
call fcn.004495e0
test eax, eax
je 0x41a2c3
mov bl, 1
mov ecx, dword [ebp + 0xc]
push str._UserAppData_kmnv
lea edx, [esp + 0x278]
push edx
call fcn.004495e0
test eax, eax
je 0x41a2de
mov bl, 1
mov ecx, dword [ebp + 0xc]
push str._UserAppData__npm
lea eax, [esp + 0x278]
push eax
call fcn.004495e0
test eax, eax
je 0x41a2f9
mov bl, 1
push str._UserAppData_Kyocera
lea ecx, [esp + 0x278]
push ecx
mov ecx, dword [ebp + 0xc]
call fcn.004495e0
test eax, eax
je 0x41a314
mov bl, 1
mov ecx, dword [ebp + 0xc]
push str._PublicDocuments_Kyocera
lea edx, [esp + 0x278]
push edx
call fcn.004495e0
test eax, eax
je 0x41a32f
mov bl, 1
mov ecx, dword [ebp + 0xc]
push str._AppData_Kyocera
lea eax, [esp + 0x278]
push eax
call fcn.004495e0
test eax, eax
je 0x41a34a
mov bl, 1
push str._AppData_KyoceraKMnet_Account_Agency_Server
lea ecx, [esp + 0x278]
push ecx
mov ecx, dword [ebp + 0xc]
call fcn.004495e0
test eax, eax
je 0x41a365
mov bl, 1
mov ecx, dword [ebp + 0xc]
push str._AppData_KyoceraKMnet_Account_Agency
lea edx, [esp + 0x278]
push edx
call fcn.004495e0
test eax, eax
je 0x41a380
mov bl, 1
mov ecx, dword [ebp + 0xc]
push str._AppData_Policy_Manager
lea eax, [esp + 0x278]
push eax
call fcn.004495e0
test eax, eax
je 0x41a39b
mov bl, 1
push str._UserAppData_Policy_Manager
lea ecx, [esp + 0x278]
push ecx
mov ecx, dword [ebp + 0xc]
call fcn.004495e0
test eax, eax
je 0x41a3b6
mov bl, 1
mov ecx, dword [ebp + 0xc]
push str._AppData_NetPolicyManager
lea edx, [esp + 0x278]
push edx
call fcn.004495e0
test eax, eax
je 0x41a3d1
mov bl, 1
mov ecx, dword [ebp + 0xc]
push str._UserAppData_NetPolicyManager
lea eax, [esp + 0x278]
push eax
call fcn.004495e0
test eax, eax
je 0x41a3ec
mov bl, 1
push str._AppData_Account_Agency_Server
lea ecx, [esp + 0x278]
push ecx
mov ecx, dword [ebp + 0xc]
call fcn.004495e0
test eax, eax
je 0x41a407
mov bl, 1
mov ecx, dword [ebp + 0xc]
push str._AppData_Account_Agency
lea edx, [esp + 0x278]
push edx
call fcn.004495e0
test eax, eax
je 0x41a422
mov bl, 1
mov ecx, dword [ebp + 0xc]
push str._ProgramFiles_Policy_Manager
lea eax, [esp + 0x278]
push eax
call fcn.004495e0
test eax, eax
je 0x41a43d
mov bl, 1
push str._ProgramFiles_NetPolicyManager
lea ecx, [esp + 0x278]
push ecx
mov ecx, dword [ebp + 0xc]
call fcn.004495e0
test eax, eax
je 0x41a458
mov bl, 1
mov ecx, dword [ebp + 0xc]
push str._ProgramFiles_Kyocera
lea edx, [esp + 0x278]
push edx
call fcn.004495e0
test eax, eax
je 0x41a473
mov bl, 1
mov ecx, dword [ebp + 0xc]
push str._ProgramFiles_UTAX
lea eax, [esp + 0x278]
push eax
call fcn.004495e0
test eax, eax
je 0x41a48e
mov bl, 1
push str._ProgramFiles_Olivetti
lea ecx, [esp + 0x278]
push ecx
mov ecx, dword [ebp + 0xc]
call fcn.004495e0
test eax, eax
je 0x41a4a9
mov bl, 1
mov ecx, dword [ebp + 0xc]
push str._ProgramFiles_Chungho
lea edx, [esp + 0x278]
push edx
call fcn.004495e0
test eax, eax
je 0x41a4c4
mov bl, 1
mov ecx, dword [ebp + 0xc]
push str._ProgramFiles_Lenovo
lea eax, [esp + 0x278]
push eax
call fcn.004495e0
test eax, eax
je 0x41a4df
mov bl, 1
push str._ProgramFiles_ClientTool
lea ecx, [esp + 0x278]
push ecx
mov ecx, dword [ebp + 0xc]
call fcn.004495e0
test eax, eax
je 0x41a541
mov bl, 1
jmp 0x41a541
cmp byte [esi + 0x1c2cc], 0
je 0x41a51a
cmp dword [esi + 0x1c2c8], 0
jg 0x41a512
xor ecx, ecx
jmp 0x41a528
lea ecx, [esi + 0x32c8]
jmp 0x41a528
xor ecx, ecx
cmp dword [esi + 0x1c2c8], ecx
setle cl
dec ecx
and ecx, esi
lea edx, [esp + 0x274]
nop
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
test ax, ax
jne 0x41a530
inc edi
cmp edi, dword [esp + 0x18]
jl 0x41a156
mov ecx, dword [ebp + 0xc]
push 0x46d82c
lea edx, [esp + 0x278]
push edx
call fcn.004493b0
lea eax, [esp + 0x274]
push eax
push 0xffffffffffffffff
push 0xf
mov ecx, ebp
call fcn.00418e80
lea ecx, [esp + 0x274]
push ecx
mov ecx, ebp
call fcn.004190c0
test bl, bl
je 0x41a6dd
mov ecx, dword [ebp + 0xc]
lea edx, [esp + 0x274]
push edx
call fcn.0044c510
xor eax, eax
push 0x206
push eax
lea ecx, [esp + 0x486]
push ecx
mov word [esp + 0x488], ax
call fcn.00453450
add esp, 0xc
xor eax, eax
lea ecx, [ecx]
movzx ecx, word [esp + eax + 0x274]
mov word [esp + eax + 0x47c], cx
add eax, 2
test cx, cx
jne 0x41a5c0
lea eax, [esp + 0x47c]
add eax, 0xfffffffe
mov cx, word [eax + 2]
add eax, 2
test cx, cx
jne 0x41a5e2
mov edx, dword [0x46abb0]
mov ecx, dword [0x46abb4]
mov dword [eax], edx
mov dx, word [0x46abb8]
mov dword [eax + 4], ecx
mov word [eax + 8], dx
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x480]
push ecx
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov edi, eax
xor eax, eax
cmp edi, 0xffffffff
setne al
test eax, eax
je 0x41a6d1
mov edx, 0x46abac
lea ecx, [esp + 0x50]
mov si, word [ecx]
cmp si, word [edx]
jne 0x41a65e
test si, si
je 0x41a65a
mov si, word [ecx + 2]
cmp si, word [edx + 2]
jne 0x41a65e
add ecx, 4
add edx, 4
test si, si
jne 0x41a638
xor ecx, ecx
jmp 0x41a663
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
jne 0x41a673
lea edx, [esp + 0x24]
push edx
push edi
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
je 0x41a6d1
mov edx, 0x46aba4
lea ecx, [esp + 0x50]
mov si, word [ecx]
cmp si, word [edx]
jne 0x41a6a6
test si, si
je 0x41a6a2
mov si, word [ecx + 2]
cmp si, word [edx + 2]
jne 0x41a6a6
add ecx, 4
add edx, 4
test si, si
jne 0x41a680
xor ecx, ecx
jmp 0x41a6ab
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
jne 0x41a6bb
lea eax, [esp + 0x24]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
je 0x41a6d1
push 1
push 0
push 0
push 0x8901
mov ecx, ebp
call fcn.00418f60
push edi
call dword [sym.imp.KERNEL32.dll_FindClose]
jmp 0x41a75f
cmp byte [esp + 0x17], 0
lea ecx, [esp + 0x274]
push ecx
je 0x41a759
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
test eax, eax
jne 0x41a75f
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
push esi
push str.RemoveDirectoryW____d_n
call fcn.004453d0
add esp, 8
cmp esi, 2
jne 0x41a720
push str.KXAPI::RemoveDirectoryW___ERROR_FILE_NOT_FOUND_n
call fcn.004453d0
add esp, 4
jmp 0x41a75f
lea edx, [esp + 0x274]
push edx
push 0x473c98
call fcn.004453d0
mov ecx, dword [ebp + 0xc]
add esp, 8
lea eax, [esp + 0x274]
push eax
call fcn.0044a130
push 1
push 0
push 0
push 0x8901
mov ecx, ebp
call fcn.00418f60
jmp 0x41a75f
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
lea edx, [esp + 0x274]
push edx
push 0
push 0xf
mov ecx, ebp
call fcn.00418e80
mov edi, dword [esp + 0x20]
mov esi, dword [esp + 0x1c]
mov ecx, dword [ebp + 4]
push 0
lea eax, [esp + 0x890]
push eax
inc esi
push esi
push edi
mov dword [esp + 0x2c], esi
call fcn.00409a10
test al, al
jne 0x41a0b0
xor eax, eax
mov ecx, dword [esp + 0x1890]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x1878]
xor ecx, esp
call fcn.00453432
add esp, 0x1888
ret 4