Function at 0x140043170
Capabilities:
Create directory
Enumerate files on windows
Get common file path

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rdi
sub rsp, 0x460
mov rax, qword [0x140413c00]
xor rax, rsp
mov qword [rsp + 0x450], rax
mov dword [rsp + 0x40], 0
movzx eax, byte [0x1403b0030]
test eax, eax
je 0x140043271
lea rax, [rsp + 0x340]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
mov edx, 0x1a
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_SHGetFolderPathA]
test eax, eax
jl 0x14004326a
lea rdx, [rsp + 0x340]
lea rcx, [rsp + 0x160]
call fcn.140017c40
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x58], rax
lea r8, str.discord_
mov rdx, qword [rsp + 0x58]
lea rcx, [rsp + 0x140]
call fcn.1400155f0
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x470]
add rax, 0x18
mov rdx, qword [rsp + 0x60]
mov rcx, rax
call fcn.140018a40
lea rcx, [rsp + 0x140]
call fcn.140018750
nop
lea rcx, [rsp + 0x160]
call fcn.140018750
nop
mov rax, qword [rsp + 0x470]
add rax, 0x18
mov rcx, rax
call fcn.14001aef0
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CreateDirectoryA]
nop
mov byte [0x1403b0030], 0
lea rax, [rsp + 0x30]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
lea rax, [rsp + 0x31]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
movzx r9d, byte [rsp + 0x30]
movzx r8d, byte [rsp + 0x31]
movzx edx, byte [rsp + 0x36]
lea rcx, [rsp + 0x110]
call fcn.140027770
mov rcx, rax
call fcn.14004c850
mov rdx, rax
lea rcx, [rsp + 0x1e0]
call fcn.140017c40
nop
mov edx, 0x18
mov rcx, qword [rsp + 0x478]
call fcn.14001a540
mov rcx, qword [rsp + 0x478]
call fcn.140022030
mov qword [rsp + 0xb8], rax
mov eax, dword [rsp + 0x40]
or eax, 1
mov dword [rsp + 0x40], eax
lea rax, [rsp + 0x32]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
lea rax, [rsp + 0x33]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
movzx r9d, byte [rsp + 0x32]
movzx r8d, byte [rsp + 0x33]
movzx edx, byte [rsp + 0x37]
lea rcx, [rsp + 0x120]
call fcn.1400279f0
mov rcx, rax
call fcn.14004c850
mov rcx, qword [rsp + 0x470]
add rcx, 0x18
mov r8, rax
mov rdx, rcx
lea rcx, [rsp + 0x1a0]
call fcn.140015640
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x70], rax
lea r8, [rsp + 0x1e0]
mov rdx, qword [rsp + 0x70]
lea rcx, [rsp + 0x180]
call fcn.1400155a0
mov qword [rsp + 0x78], rax
mov rcx, qword [rsp + 0x78]
call fcn.14001aef0
lea rdx, [rsp + 0x200]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov qword [rsp + 0x48], rax
lea rcx, [rsp + 0x180]
call fcn.140018750
nop
lea rcx, [rsp + 0x1a0]
call fcn.140018750
nop
cmp qword [rsp + 0x48], 0xffffffffffffffff
je 0x1400435e5
mov eax, dword [rsp + 0x200]
and eax, 0x10
test eax, eax
je 0x1400433ec
jmp 0x1400435be
lea rdx, [rsp + 0x22c]
lea rcx, [rsp + 0x1c0]
call fcn.140017c40
nop
lea rax, [rsp + 0x34]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
lea rax, [rsp + 0x35]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
movzx r9d, byte [rsp + 0x34]
movzx r8d, byte [rsp + 0x35]
movzx edx, byte [rsp + 0x38]
lea rcx, [rsp + 0x130]
call fcn.140027770
mov rcx, rax
call fcn.14004c850
xor r8d, r8d
mov rdx, rax
lea rcx, [rsp + 0x1c0]
call fcn.1400511d0
mov dword [rsp + 0x3c], eax
cmp dword [rsp + 0x3c], 0xffffffff
jne 0x14004347b
lea rcx, [rsp + 0x1c0]
call fcn.140018750
nop
jmp 0x1400435be
lea rdx, [rsp + 0xc0]
lea rcx, [rsp + 0x1c0]
call fcn.14001ae30
mov qword [rsp + 0x80], rax
movsxd rax, dword [rsp + 0x3c]
mov r8, rax
lea rdx, [rsp + 0xc8]
mov rcx, qword [rsp + 0x80]
call fcn.140041120
mov qword [rsp + 0x88], rax
mov r8d, 5
lea rdx, [rsp + 0xd0]
mov rcx, qword [rsp + 0x88]
call fcn.140041120
mov rax, qword [rax]
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0xa8], rax
lea rdx, [rsp + 0xd8]
lea rcx, [rsp + 0x1c0]
call fcn.14001ae30
mov qword [rsp + 0x98], rax
movsxd rax, dword [rsp + 0x3c]
mov r8, rax
lea rdx, [rsp + 0xe0]
mov rcx, qword [rsp + 0x98]
call fcn.140041120
mov rax, qword [rax]
mov qword [rsp + 0xa0], rax
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0xb0], rax
mov r9, qword [rsp + 0xa8]
mov r8, qword [rsp + 0xb0]
lea rdx, [rsp + 0xe8]
lea rcx, [rsp + 0x1c0]
call fcn.140050a00
nop
lea rcx, [rsp + 0x1c0]
call fcn.14001aef0
mov rdx, rax
lea rcx, [rsp + 0xf0]
call fcn.140017c40
nop
lea rdx, [rsp + 0xf0]
mov rcx, qword [rsp + 0x478]
call fcn.140054d60
nop
lea rcx, [rsp + 0xf0]
call fcn.140018750
nop
lea rcx, [rsp + 0x1c0]
call fcn.140018750
nop
lea rdx, [rsp + 0x200]
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x1400433d9
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.KERNEL32.dll_FindClose]
nop
lea rcx, [rsp + 0x1e0]
call fcn.140018750
mov rax, qword [rsp + 0x478]
mov rcx, qword [rsp + 0x450]
xor rcx, rsp
call fcn.14011cd30
add rsp, 0x460
pop rdi
ret