Function at 0x41ded0
Capabilities:
Check if file exists
Get disk information
Get file size

Disassembly:
mov eax, dword [0x45dd10]
sub esp, 0x294
test eax, eax
je 0x41dee4
call fcn.0041d880
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x2a8]
push 0
push 0
push 0x8000000
push 3
push 1
push 0x100001
push edi
mov ecx, 0x5776c8
call fcn.00406260
test al, al
jne 0x41df1d
push 0
push 0
push 0
push 0xa
jmp 0x41e69a
mov eax, dword [0x577710]
push 0x5780f4
mov ecx, edi
mov dword [0x5780ec], eax
call fcn.0040a400
push eax
call fcn.00409ed0
add esp, 8
test eax, eax
mov dword [0x5780f0], eax
je 0x41e6a2
mov ecx, dword [0x5780f4]
imul ecx, eax
test ecx, ecx
mov dword [0x5780f4], ecx
je 0x41df75
mov dword [esp + 0x14], ecx
lea ecx, [esp + 0x14]
push 4
push ecx
call fcn.004029e0
movsx eax, ax
add esp, 8
inc eax
jmp 0x41df77
xor eax, eax
xor edx, edx
mov dx, ax
push 0x5779b0
mov ebx, 0x577734
push 0x5776c8
mov ecx, ebx
dec edx
mov dword [0x5780f8], edx
call fcn.00417d30
sub eax, 0
je 0x41dfbc
dec eax
je 0x41e692
dec eax
push 0
push 0
push 0
je 0x41dfb5
push 0xd
jmp 0x41e69a
push 0xc
jmp 0x41e69a
mov ax, word [0x577738]
cmp ax, 6
mov dword [0x578584], ebx
jae 0x41dff6
push 0xc
call fcn.00427dd0
add esp, 4
push 1
push eax
mov ecx, 0x576188
call fcn.0040c190
push 0x40b880
mov ecx, 0x576188
call fcn.0040ba90
jmp 0x41e036
ja 0x41e002
cmp word [0x57773a], 0
je 0x41e036
push 0xd
call fcn.00427dd0
add esp, 4
push 1
push eax
mov ecx, 0x576188
call fcn.0040c190
push 0x40b880
mov ecx, 0x576188
call fcn.0040ba90
mov byte [0x578100], 1
mov byte [0x45dd14], 0x43
mov ecx, dword [0x578584]
mov edx, dword [ecx + 0x4c]
mov ecx, dword [ecx + 0x48]
mov eax, dword [0x577710]
push 0
push 0x10
push 0x5780d4
push edx
push ecx
push eax
call fcn.00417670
add esp, 0x18
test al, al
je 0x41e692
mov eax, dword [0x578584]
lea edx, [eax + 8]
mov ecx, dword [edx]
mov dword [0x5785b4], ecx
mov ecx, dword [edx + 4]
mov dword [0x5785b8], ecx
mov ecx, dword [edx + 8]
mov dword [0x5785bc], ecx
mov edx, dword [edx + 0xc]
mov dword [0x5785c0], edx
mov ecx, dword [eax + 0x48]
mov dword [0x5785c4], ecx
mov edx, dword [eax + 0x4c]
mov eax, dword [0x5780d4]
mov ecx, dword [0x5780d8]
mov dword [0x5785c8], edx
mov edx, dword [0x5780dc]
mov dword [0x5785cc], eax
mov eax, dword [0x5780e0]
mov dword [0x5785d0], ecx
mov ecx, 0x5779b0
mov dword [0x5785d4], edx
mov dword [0x5785d8], eax
call fcn.00436210
test al, al
jne 0x41e0ec
pop edi
pop esi
pop ebp
mov eax, 2
pop ebx
add esp, 0x294
ret 0xc
mov ecx, dword [0x577710]
push 0x5776a8
push ecx
call dword [sym.imp.KERNEL32.dll_GetFileSizeEx]
mov eax, dword [0x57777c]
mov ecx, dword [0x577780]
mov edx, dword [0x5776a8]
mov esi, dword [0x5776ac]
add eax, 0x10
adc ecx, 0
cmp edx, eax
jne 0x41e123
cmp esi, ecx
je 0x41e156
cmp esi, ecx
jb 0x41e1d7
ja 0x41e135
cmp edx, eax
jbe 0x41e1d7
push 1
push 0x3c
call fcn.00427dd0
add esp, 4
push eax
call fcn.0041ba50
mov edx, dword [0x5776a8]
mov esi, dword [0x5776ac]
add esp, 8
mov ebp, dword [0x57773c]
mov eax, dword [0x5780d4]
mov ecx, dword [0x577748]
xor eax, ebp
mov ebp, dword [0x577740]
xor eax, edx
mov edx, dword [0x577744]
xor eax, ebp
mov ebp, dword [0x5780e0]
xor eax, edx
mov edx, dword [0x5780d8]
xor eax, ecx
mov ecx, dword [0x5780dc]
xor eax, esi
xor eax, edx
xor eax, ecx
push 0x5776c8
xor eax, ebp
push ebx
mov ecx, 0x577ba0
mov dword [0x578588], eax
mov dword [0x57857c], 0x5776c8
mov dword [0x578580], ebx
mov dword [0x578594], 0x5779b0
call fcn.00439010
test al, al
jne 0x41e1e4
push 0
push 0
push 0
push 0x16
jmp 0x41e69a
push 0
push 0
push 0
push 0xe
jmp 0x41e69a
mov ecx, dword [0x577bb0]
push 8
push str.._cc
push str.KWCC
push ecx
mov ecx, 0x577bf0
call fcn.0042ed80
test al, al
je 0x41e688
mov ecx, edi
call fcn.0040a400
push eax
push 0x5776c8
mov ecx, 0x5779b0
call fcn.00434990
test al, al
je 0x41e688
call dword [sym.imp.KERNEL32.dll_GetConsoleWindow]
mov ecx, 0x5779b0
mov dword [0x5785dc], eax
call fcn.00436280
test al, al
jne 0x41e24e
push 0
push 0
push 0
push 0x16
jmp 0x41e69a
mov byte [0x57881e], 1
call fcn.00428110
test al, al
jne 0x41e26b
push 0
push 0
push 0
push 0x19
jmp 0x41e69a
xor edx, edx
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], edx
mov dword [esp + 0x30], edx
mov dword [esp + 0x34], edx
mov word [esp + 0x24], 0x2e4
mov word [esp + 0x26], 1
call dword [sym.imp.KERNEL32.dll_GetLogicalDrives]
mov edi, eax
test edi, edi
jne 0x41e2a8
push 0
push 0
push 0
push 0x1a
jmp 0x41e69a
mov ebp, dword [sym.imp.KERNEL32.dll_QueryDosDeviceW]
mov eax, edi
and eax, 0x3c00000
cmp eax, 0x3c00000
mov ebx, 0x3a
je 0x41e360
mov eax, edi
shr eax, 0x16
lea ecx, [esp + 0x10]
push 4
push ecx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], eax
call fcn.004029a0
add esp, 8
mov esi, eax
test si, si
jl 0x41e360
cmp si, 3
jg 0x41e360
push 0x104
lea eax, [esp + 0xa0]
push eax
lea ecx, [esp + 0x24]
lea edx, [esi + 0x57]
push ecx
mov word [esp + 0x28], dx
mov word [esp + 0x2a], bx
mov word [esp + 0x2c], 0
call ebp
test eax, eax
jne 0x41e329
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 2
je 0x41e405
movsx ecx, si
mov edx, ecx
shr edx, 3
lea eax, [esp + edx + 0x14]
and ecx, 7
mov dl, 1
shl dl, cl
mov cl, byte [eax]
push 4
or cl, dl
mov byte [eax], cl
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x14]
push ecx
mov dword [esp + 0x18], eax
call fcn.004029a0
add esp, 8
mov esi, eax
test si, si
jge 0x41e2e8
lea edx, [esp + 0x10]
or edi, 0xffc00000
push 4
push edx
mov dword [esp + 0x1c], edi
mov dword [esp + 0x18], edi
call fcn.00402a20
add esp, 8
mov esi, eax
test si, si
jl 0x41e29b
push 0x104
lea ecx, [esp + 0xa0]
push ecx
lea edx, [esp + 0x24]
lea eax, [esi + 0x41]
push edx
mov word [esp + 0x28], ax
mov word [esp + 0x2a], bx
mov word [esp + 0x2c], 0
call ebp
test eax, eax
jne 0x41e3bf
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 2
je 0x41e40a
movsx ecx, si
mov eax, ecx
and ecx, 7
shr eax, 3
mov dl, 1
shl dl, cl
mov cl, byte [esp + eax + 0x14]
lea eax, [esp + eax + 0x14]
push 4
or cl, dl
mov byte [eax], cl
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x14]
push ecx
mov dword [esp + 0x18], eax
call fcn.00402a20
add esp, 8
mov esi, eax
test si, si
jge 0x41e388
push 0
push 0
push 0
push 0x1a
jmp 0x41e69a
add esi, 0x57
jmp 0x41e40d
add esi, 0x41
mov word [esp + 0x18], si
xor esi, esi
mov word [esp + 0x1a], si
mov edx, dword [esp + 0x18]
push edx
call dword [sym.imp.MSVCRT.dll_towupper]
mov ecx, dword [0x57858c]
mov edx, dword [0x578580]
movzx eax, ax
imul eax, eax, 0x3c
add esp, 4
lea eax, [eax + ecx - 0xf1c]
push eax
add edx, 8
push edx
mov dword [0x578590], eax
call fcn.00429bd0
test ax, ax
jl 0x41e45e
push esi
push esi
push esi
push 0x1b
jmp 0x41e69a
mov edx, dword [esp + 0x28]
mov ax, word [esp + 0x18]
or edx, 0xc
mov dword [esp + 0x28], edx
lea edx, [esp + 0x38]
lea ecx, [esp + 0x18]
push edx
mov word [0x578598], ax
mov dword [esp + 0x38], ecx
call fcn.0041e8f0
add esp, 4
mov dword [esp + 0x38], 0x41efe0
mov dword [esp + 0x44], 0x41ef60
mov dword [esp + 0x60], 0x41f5d0
mov dword [esp + 0x5c], esi
mov dword [esp + 0x58], 0x41f740
mov dword [esp + 0x4c], 0x41f920
mov dword [esp + 0x50], 0x41fc10
mov dword [esp + 0x6c], 0x41e6c0
mov dword [esp + 0x74], 0x41e700
mov dword [esp + 0x3c], 0x41f880
mov dword [esp + 0x88], 0x41e710
mov dword [esp + 0x8c], 0x41e760
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov ecx, dword [0x578590]
mov dword [ecx], eax
mov edx, dword [0x578590]
mov eax, dword [0x577208]
mov dword [edx + 4], eax
call dword [sym.imp.KERNEL32.dll_GetConsoleWindow]
mov ecx, dword [0x578590]
mov edi, dword [esp + 0x2b0]
mov ebp, dword [sym.imp.dokan.dll_DokanMain]
mov dword [ecx + 8], eax
mov edx, dword [0x578590]
mov al, byte [0x578100]
mov byte [edx + 0x12], al
mov ecx, dword [0x578590]
mov dl, byte [0x45dd14]
mov byte [ecx + 0x13], dl
mov eax, dword [0x578590]
mov ecx, dword [0x5785a8]
add eax, 0x14
mov dword [eax], ecx
mov edx, dword [0x5785ac]
mov dword [eax + 4], edx
mov ecx, dword [0x5785b0]
mov dword [eax + 8], ecx
mov bl, 1
mov eax, dword [esp + 0x2ac]
test eax, eax
jne 0x41e574
mov eax, 0x41e7f0
push edi
push eax
lea edx, [esp + 0x40]
push edx
lea eax, [esp + 0x30]
push eax
push ebp
call fcn.00409760
mov esi, eax
add esp, 0x14
cmp esi, 0xfffffffc
jne 0x41e5be
test bl, bl
je 0x41e5be
push 0x2c
call fcn.00427dd0
add esp, 4
push 1
push eax
mov ecx, 0x576188
call fcn.0040c190
push 0x40b890
mov ecx, 0x576188
call fcn.0040ba90
xor bl, bl
jmp 0x41e564
mov ecx, dword [0x578590]
xor edi, edi
mov dword [ecx], edi
mov edx, dword [0x578590]
mov dword [edx + 8], edi
mov ecx, dword [0x578590]
xor eax, eax
add ecx, 0x14
mov dword [ecx], eax
mov dword [ecx + 4], eax
mov dword [ecx + 8], eax
mov eax, dword [0x578590]
xor edx, edx
add eax, 0x20
mov dword [eax], edx
mov dword [eax + 4], edx
mov dword [eax + 8], edx
mov dword [eax + 0xc], edx
mov ecx, dword [0x578590]
mov dword [ecx + 0x30], edi
mov edx, dword [0x578590]
add ecx, 0x30
mov dword [edx + 0x34], edi
mov eax, dword [0x578590]
mov dword [eax + 0x38], edi
call fcn.00419f40
mov ecx, 0x578850
call fcn.00429b40
cmp esi, edi
jne 0x41e638
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x294
ret 0xc
push edi
push edi
push edi
push 0x1c
call fcn.0042f770
mov al, byte [0x578845]
add esp, 0x10
test al, al
je 0x41e6a2
push 1
push str.Error_code
mov ecx, 0x576188
call fcn.0040c190
push 0x40b880
push esi
mov ecx, 0x576188
call fcn.0040bce0
mov ecx, eax
call fcn.0040ba90
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x294
ret 0xc
push 0
push 0
push 0
push 0xf
jmp 0x41e69a
push 0
push 0
push 0
push 0xb
call fcn.0042f770
add esp, 0x10
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x294
ret 0xc