Function at 0x47a55c
Capabilities:
Enumerate files on windows
Get disk information

Disassembly:
mov rax, rsp
push rdi
sub rsp, 0x320
mov qword [rsp + 0xc0], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x18], rsi
mov rbx, rdx
mov rcx, qword [rdx + 0x48]
mov rax, qword [rdx + 0x40]
cmp rcx, rax
jne 0x47a592
xor al, al
jmp 0x47a853
sub rax, rcx
and rax, 0xfffffffffffffffe
cmp rax, 6
jne 0x47a5c4
cmp word [rcx + 2], 0x3a
jne 0x47a5c4
cmp word [rcx + 4], 0x5c
jne 0x47a5c4
call qword [sym.imp.KERNEL32.dll_GetDriveTypeW]
cmp eax, 2
je 0x47a5bd
cmp eax, 5
jne 0x47a5c4
mov al, 1
jmp 0x47a853
lea rax, [rsp + 0x70]
mov qword [rsp + 0xb0], rax
lea rax, [rsp + 0x70]
mov qword [rsp + 0xb8], rax
xor edi, edi
mov word [rsp + 0x70], di
mov rcx, qword [rbx + 0x40]
mov rax, qword [rbx + 0x48]
sub rcx, rax
sar rcx, 1
mov esi, 0x100
cmp word [rax + rcx*2 - 2], 0x5c
jne 0x47a670
lea r8, [0x00799070]
mov rdx, rbx
lea rcx, [rsp + 0x20]
call fcn.0040fd24
nop
lea rcx, [rsp + 0x70]
cmp rax, rcx
je 0x47a632
mov r8, qword [rax + 0x40]
mov rdx, qword [rax + 0x48]
lea rcx, [rsp + 0x70]
call fcn.00406d38
nop
lea rax, [rsp + 0x20]
mov rcx, qword [rsp + 0x68]
cmp rcx, rax
je 0x47a6d6
cmp rcx, rdi
je 0x47a6d6
mov rax, qword [rsp + 0x20]
sub rax, rcx
sar rax, 1
lea rdx, [rax + rax]
cmp rdx, rsi
jbe 0x47a669
call fcn.006a4944
jmp 0x47a6d6
call fcn.006a3610
jmp 0x47a6d6
lea r8, [0x00799040]
mov rdx, rbx
lea rcx, [rsp + 0x20]
call fcn.0040fd24
nop
lea rcx, [rsp + 0x70]
cmp rax, rcx
je 0x47a6a2
mov r8, qword [rax + 0x40]
mov rdx, qword [rax + 0x48]
lea rcx, [rsp + 0x70]
call fcn.00406d38
nop
lea rax, [rsp + 0x20]
mov rcx, qword [rsp + 0x68]
cmp rcx, rax
je 0x47a6d6
cmp rcx, rdi
je 0x47a6d6
mov rax, qword [rsp + 0x20]
sub rax, rcx
sar rax, 1
lea rdx, [rax + rax]
cmp rdx, rsi
jbe 0x47a6d1
call fcn.006a4944
jmp 0x47a6d6
call fcn.006a3610
lea rdx, [rsp + 0xd0]
mov rcx, qword [rsp + 0xb8]
call qword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov rbx, rax
cmp rax, 0xffffffffffffffff
je 0x47a811
lea r8, [rsp + 0x338]
lea rdx, [rsp + 0xfc]
lea rcx, [rsp + 0x20]
call fcn.004023b4
nop
test byte [rsp + 0xd0], 0x10
je 0x47a74a
lea rdx, [0x0079902c]
lea rcx, [rsp + 0x20]
call fcn.004205f4
cmp al, dil
jne 0x47a74a
lea rdx, [0x00799030]
lea rcx, [rsp + 0x20]
call fcn.004205f4
cmp al, dil
je 0x47a798
lea rax, [rsp + 0x20]
mov rcx, qword [rsp + 0x68]
cmp rcx, rax
je 0x47a77e
cmp rcx, rdi
je 0x47a77e
mov rax, qword [rsp + 0x20]
sub rax, rcx
sar rax, 1
lea rdx, [rax + rax]
cmp rdx, rsi
jbe 0x47a779
call fcn.006a4944
jmp 0x47a77e
call fcn.006a3610
lea rdx, [rsp + 0xd0]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FindNextFileW]
cmp eax, edi
je 0x47a811
jmp 0x47a6f9
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FindClose]
nop
lea rax, [rsp + 0x20]
mov rcx, qword [rsp + 0x68]
cmp rcx, rax
je 0x47a7d7
cmp rcx, rdi
je 0x47a7d7
mov rax, qword [rsp + 0x20]
sub rax, rcx
sar rax, 1
lea rdx, [rax + rax]
cmp rdx, rsi
jbe 0x47a7d1
call fcn.006a4944
jmp 0x47a7d7
call fcn.006a3610
nop
lea rax, [rsp + 0x70]
mov rcx, qword [rsp + 0xb8]
cmp rcx, rax
je 0x47a80d
cmp rcx, rdi
je 0x47a80d
mov rdx, qword [rsp + 0x70]
sub rdx, rcx
sar rdx, 1
add rdx, rdx
cmp rdx, rsi
jbe 0x47a808
call fcn.006a4944
jmp 0x47a80d
call fcn.006a3610
mov al, 1
jmp 0x47a853
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FindClose]
nop
lea rax, [rsp + 0x70]
mov rcx, qword [rsp + 0xb8]
cmp rcx, rax
je 0x47a851
cmp rcx, rdi
je 0x47a851
mov rdx, qword [rsp + 0x70]
sub rdx, rcx
sar rdx, 1
add rdx, rdx
cmp rdx, rsi
jbe 0x47a84c
call fcn.006a4944
jmp 0x47a851
call fcn.006a3610
xor al, al
lea r11, [rsp + 0x320]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x20]
mov rsp, r11
pop rdi
ret