Function at 0x140055dc0
Capabilities:
Create directory
Enumerate files on windows
Enumerate files recursively

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0xeb0
mov rax, qword [0x14042d950]
xor rax, rsp
mov qword [rsp + Ordinal_3746], rax
mov rsi, rdx
mov qword [rsp + 0x20], rdx
mov qword [rsp + 0x28], rcx
mov rcx, rdx
lea rdx, [rsp + 0x6a0]
mov rbx, r8
sub rdx, rcx
nop
nop
nop
movzx eax, word [rcx]
add rcx, 2
test ax, ax
mov word [rdx + rcx - 2], ax
jne 0x140055e10
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0x6a0]
repne scasw ax, word [rdi]
mov rax, qword [0x1402e1888]
lea rdx, [rsp + 0x30]
mov qword [rdi - 2], rax
movzx eax, word [0x1402e1890]
lea rcx, [rsp + 0x6a0]
mov word [rdi + 6], ax
call qword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov rbp, rax
nop
cmp rbp, 0xffffffffffffffff
je 0x140056181
test byte [rsp + 0x30], 0x10
jne 0x140055fb2
lea rcx, [rsp + 0x492]
xor edx, edx
mov r8d, 0x206
mov word [rsp + Ordinal_1173], 0
call sub.ntdll.dll_memset
lea rcx, [rsp + reloc.MFC80U.DLL_Ordinal_642]
xor edx, edx
mov r8d, 0x206
mov word [rsp + 0x280], 0
call sub.ntdll.dll_memset
lea rcx, [rsp + 0x490]
mov rdx, rsi
sub rcx, rsi
movzx eax, word [rdx]
add rdx, 2
test ax, ax
mov word [rcx + rdx - 2], ax
jne 0x140055ec1
mov edx, dword [0x1403b5bbc]
or rcx, 0xffffffffffffffff
xor eax, eax
lea rdi, [rsp + 0x490]
lea r8, [rsp + 0x5c]
repne scasw ax, word [rdi]
or rcx, 0xffffffffffffffff
mov dword [rdi - 2], edx
lea rdi, [rsp + 0x490]
repne scasw ax, word [rdi]
xor ecx, ecx
movzx eax, word [r8 + rcx]
add rcx, 2
test ax, ax
mov word [rdi + rcx - 4], ax
jne 0x140055f02
lea rdi, [rsp + 0x280]
mov rcx, rbx
sub rdi, rbx
nop
nop
nop
nop
movzx eax, word [rcx]
add rcx, 2
test ax, ax
mov word [rdi + rcx - 2], ax
jne 0x140055f30
or rcx, 0xffffffffffffffff
xor eax, eax
lea rdi, [rsp + 0x280]
repne scasw ax, word [rdi]
or rcx, 0xffffffffffffffff
mov dword [rdi - 2], edx
lea rdi, [rsp + 0x280]
lea rdx, [rsp + 0x5c]
repne scasw ax, word [rdi]
xor ecx, ecx
nop
nop
movzx eax, word [rdx + rcx]
add rcx, 2
test ax, ax
mov word [rdi + rcx - 4], ax
jne 0x140055f70
mov rcx, qword [rsp + 0x28]
lea r8, [rsp + 0x280]
lea rdx, [rsp + 0x490]
call fcn.140055b30
test eax, eax
jne 0x14005615b
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_FindClose]
jmp 0x1400561ad
lea rsi, [rsp + 0x5c]
lea rdi, [0x1403b6c40]
mov ecx, 2
repe cmpsw word [rsi], word [rdi]
je 0x140056156
lea rsi, [rsp + 0x5c]
lea rdi, [0x1403b6c44]
mov ecx, 3
repe cmpsw word [rsi], word [rdi]
je 0x140056156
lea rdx, [0x1402e1850]
lea rcx, [rsp + 0x5c]
call qword [sym.imp.ntdll.dll__wcsicmp]
test eax, eax
jne 0x140056007
cmp dword [rsp + 0x30], 0x16
je 0x140056156
lea rcx, [rsp + 0x492]
xor edx, edx
mov r8d, 0x206
mov word [rsp + Ordinal_1173], 0
call sub.ntdll.dll_memset
lea rcx, [rsp + reloc.MFC80U.DLL_Ordinal_642]
xor edx, edx
mov r8d, 0x206
mov word [rsp + 0x280], 0
call sub.ntdll.dll_memset
mov rsi, qword [rsp + 0x20]
lea rcx, [rsp + 0x490]
mov rdx, rsi
sub rcx, rsi
nop
nop
movzx eax, word [rdx]
add rdx, 2
test ax, ax
mov word [rcx + rdx - 2], ax
jne 0x140056060
mov edx, dword [0x1403b5bbc]
or rcx, 0xffffffffffffffff
xor eax, eax
lea rdi, [rsp + 0x490]
lea r8, [rsp + 0x5c]
repne scasw ax, word [rdi]
or rcx, 0xffffffffffffffff
mov dword [rdi - 2], edx
lea rdi, [rsp + 0x490]
repne scasw ax, word [rdi]
xor ecx, ecx
movzx eax, word [r8 + rcx]
add rcx, 2
test ax, ax
mov word [rdi + rcx - 4], ax
jne 0x1400560a1
lea rdi, [rsp + 0x280]
mov rcx, rbx
sub rdi, rbx
nop
nop
nop
nop
movzx eax, word [rcx]
add rcx, 2
test ax, ax
mov word [rdi + rcx - 2], ax
jne 0x1400560d0
or rcx, 0xffffffffffffffff
xor eax, eax
lea rdi, [rsp + 0x280]
repne scasw ax, word [rdi]
or rcx, 0xffffffffffffffff
mov dword [rdi - 2], edx
lea rdi, [rsp + 0x280]
lea rdx, [rsp + 0x5c]
repne scasw ax, word [rdi]
xor ecx, ecx
nop
nop
movzx eax, word [rdx + rcx]
add rcx, 2
test ax, ax
mov word [rdi + rcx - 4], ax
jne 0x140056110
lea rcx, [rsp + 0x280]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
mov rcx, qword [rsp + 0x28]
lea r8, [rsp + 0x280]
lea rdx, [rsp + 0x490]
call fcn.140055dc0
test eax, eax
je 0x140055fa4
jmp 0x14005615b
mov rsi, qword [rsp + 0x20]
lea rdx, [rsp + 0x30]
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x140055e60
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_FindClose]
mov eax, 1
jmp 0x1400561af
call fcn.140049470
lea rcx, str...cfile.cpp
mov edx, 0x49
mov rsi, qword [rax]
mov rdi, rax
call fcn.140055a40
lea rdx, [0x1402e1820]
mov rcx, rdi
mov r8, rax
call qword [rsi + 0x10]
xor eax, eax
mov rcx, qword [rsp + 0xea0]
xor rcx, rsp
call fcn.140161080
lea r11, [rsp + 0xeb0]
mov rbx, qword [r11 + 0x18]
mov rbp, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rsp, r11
pop rdi
ret