Function at 0x1400a0425
Capabilities:
Enumerate files on windows

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
mov eax, 0x1118
call fcn.1402e3a80
sub rsp, rax
test r8, r8
je 0x1400a0575
js 0x1400a10b1
mov rbx, r8
mov rsi, rdx
mov r12, rcx
mov al, byte [0x1403f9274]
mov edx, 1
mov rcx, r8
call fcn.140061500
test rax, rax
je 0x1400a10b6
mov rdi, rax
mov rcx, rax
mov rdx, rsi
mov r8, rbx
call sub.msvcrt.dll_memcpy
mov al, byte [0x1403f9274]
mov edx, 1
mov rcx, rbx
call fcn.140061500
test rax, rax
je 0x1400a10c3
mov r14, rax
mov rcx, rax
mov rdx, rsi
mov r8, rbx
call sub.msvcrt.dll_memcpy
lea rcx, [rsp + 0x310]
mov qword [rcx], rbx
mov qword [rcx + 8], r14
mov qword [rcx + 0x10], rbx
mov byte [rcx + 0x18], 0
lea rdx, str.fatal_runtime_error:_I_O_error:_operation_failed_to_complete_synchronously_n
mov r8d, 1
call fcn.14022c5d0
lea rcx, [rsp + 0x310]
mov r13, qword [rcx]
mov rsi, qword [rcx + 8]
mov r8, qword [rcx + 0x10]
mov rdx, rsi
call fcn.14020dfe0
movabs r15, 0x8000000000000000
mov rax, qword [rsp + 0x310]
mov r14, qword [rsp + 0x318]
cmp rax, r15
je 0x1400a054c
lea rdx, [rsp + 0x310]
mov rcx, qword [rdx + 0x10]
mov qword [rdx], rax
mov qword [rdx + 8], r14
mov qword [rdx + 0x10], rcx
lea rcx, [rsp + 0x7d0]
call fcn.14022a450
mov rbp, qword [rsp + 0x7d0]
mov r14, qword [rsp + 0x7d8]
cmp rbp, r15
jne 0x1400a05b2
test r13, r13
je 0x1400a0562
mov rcx, qword [0x1403f9220]
xor edx, edx
mov r8, rsi
call fcn.1402e3f64
mov rcx, qword [0x1403f9220]
xor edx, edx
mov r8, rdi
call fcn.1402e3f64
jmp 0x1400a057f
movabs r14, 0x300000002
mov qword [rsp + 0x9f0], r14
mov r12, r14
mov dword [rsp + 0xa00], 2
mov rcx, r12
call fcn.140078aee
nop
add rsp, 0x1118
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov qword [rsp + 0x88], r12
lea r15, [rsp + 0x310]
mov r8d, 0x250
mov rcx, r15
xor edx, edx
call sub.msvcrt.dll_memset
mov rcx, r14
mov rdx, r15
call sub.kernel32.dll_FindFirstFileW
mov r15, rax
cmp rax, 0xffffffffffffffff
je 0x1400a064c
mov al, byte [0x1403f9274]
mov ecx, 0x30
mov edx, 8
call fcn.140061500
test rax, rax
je 0x1400a10d2
mov r12, rax
mov eax, 1
mov qword [r12], rax
mov qword [r12 + 8], rax
mov qword [r12 + 0x10], rbx
mov qword [r12 + 0x18], rdi
mov qword [r12 + 0x20], rbx
mov byte [r12 + 0x28], 0
lea rcx, [rsp + 0xc0]
lea rdx, [rsp + 0x310]
mov r8d, 0x250
call sub.msvcrt.dll_memcpy
mov ebx, 1
jmp 0x1400a0661
call sub.kernel32.dll_GetLastError
mov r12d, eax
shl r12, 0x20
or r12, 2
mov ebx, 2
test rbp, rbp
je 0x1400a0677
mov rcx, qword [0x1403f9220]
xor edx, edx
mov r8, r14
call fcn.1402e3f64
test r13, r13
je 0x1400a068d
mov rcx, qword [0x1403f9220]
xor edx, edx
mov r8, rsi
call fcn.1402e3f64
cmp r15, 0xffffffffffffffff
jne 0x1400a06ab
mov rcx, qword [0x1403f9220]
xor edx, edx
mov r8, rdi
call fcn.1402e3f64
mov r15, 0xffffffffffffffff
mov qword [rsp + 0x9f0], r12
cmp ebx, 2
je 0x1400a058a
lea rcx, [rsp + 0xa04]
mov qword [rcx - 0xc], r15
mov dword [rcx - 4], ebx
lea rdx, [rsp + 0xc0]
mov r8d, 0x250
call sub.msvcrt.dll_memcpy
lea rcx, [rsp + 0x568]
lea rsi, [rsp + 0x9f0]
mov r8d, 0x268
mov rdx, rsi
call sub.msvcrt.dll_memcpy
lea rcx, [rsp + 0xc58]
lea rdx, [rsp + 0x310]
mov r8d, 0x4c0
call sub.msvcrt.dll_memcpy
xor eax, eax
mov qword [rsi], rax
lea rcx, [rsp + 0xc50]
mov qword [rcx], rax
xor eax, eax
test rax, rax
je 0x1400a076a
mov rdi, qword [rsp + 0x9f8]
mov qword [rsp + 0x9f8], 0
test rdi, rdi
je 0x1400a0751
lea rdx, [rsp + 0xa00]
jmp 0x1400a07ae
lea rcx, [rsp + 0x9f0]
call fcn.1400a1225
mov qword [rsp + 0x9f0], 0
mov eax, dword [rsp + 0xec0]
cmp eax, 2
jne 0x1400a08b0
cmp qword [rsp + 0xc50], 0
je 0x1400a1070
mov rdi, qword [rsp + 0xc58]
mov qword [rsp + 0xc58], 0
lea rdx, [rsp + 0xc60]
test rdi, rdi
je 0x1400a1057
mov word [rsp + 0x22], r14w
mov r8d, 0x250
lea rcx, [rsp + 0x318]
call sub.msvcrt.dll_memcpy
mov qword [rsp + 0x310], rdi
mov r14, qword [rdi + 0x18]
mov rsi, qword [rdi + 0x20]
mov ecx, 0x104
lea rax, [rsp + 0x344]
cmp word [rax], 0
je 0x1400a0bb9
cmp word [rax + 2], 0
je 0x1400a0a43
cmp word [rax + 4], 0
je 0x1400a0a4c
cmp word [rax + 6], 0
je 0x1400a0a55
cmp word [rax + 8], 0
je 0x1400a0ba3
cmp word [rax + 0xa], 0
je 0x1400a0ba9
cmp word [rax + 0xc], 0
je 0x1400a0baf
cmp word [rax + 0xe], 0
je 0x1400a0bb5
add rcx, 0xfffffffffffffff8
add rax, 0x10
cmp rcx, 7
ja 0x1400a07e4
cmp word [rsp + 0x544], 0
lea rax, [rsp + 0x544]
je 0x1400a0bb9
cmp word [rsp + 0x546], 0
lea rax, [rsp + 0x546]
je 0x1400a0bb9
cmp word [rsp + 0x548], 0
lea rax, [rsp + 0x548]
je 0x1400a0bb9
mov r8d, 0x104
cmp word [rsp + 0x54a], 0
lea rax, [rsp + 0x54a]
jne 0x1400a0bd6
jmp 0x1400a0bb9
mov word [rsp + 0x24], r13w
mov word [rsp + 0x22], r14w
mov word [rsp + 0x26], bp
mov qword [rsp + 0x28], rbx
lea r15, [rsp + 0x310]
movzx ebp, word [rsp + 0xef0]
movzx r14d, word [rsp + 0xef2]
movzx ebx, word [rsp + 0xef4]
mov dword [rsp + 0xec0], 0
cmp eax, 1
jne 0x1400a0923
mov rdi, qword [rsp + 0xeb0]
cmp bp, 0x2e
jne 0x1400a09da
test r14w, r14w
je 0x1400a0923
cmp r14w, 0x2e
jne 0x1400a09da
test bx, bx
jne 0x1400a09da
mov r8d, 0x250
mov rbx, r15
mov rcx, r15
xor edx, edx
call sub.msvcrt.dll_memset
mov rsi, qword [rsp + 0xeb8]
mov rcx, rsi
mov rdx, r15
call sub.kernel32.dll_FindNextFileW
test eax, eax
movzx ebp, word [rsp + 0x26]
movzx r14d, word [rsp + 0x22]
je 0x1400a09a4
mov rdi, qword [rsp + 0xeb0]
cmp word [rsp + 0x33c], 0x2e
jne 0x1400a0a5e
movzx eax, word [rsp + 0x33e]
test ax, ax
je 0x1400a0995
cmp ax, 0x2e
jne 0x1400a0a5e
cmp word [rsp + 0x340], 0
jne 0x1400a0a5e
mov rcx, rsi
mov rdx, rbx
call sub.kernel32.dll_FindNextFileW
test eax, eax
jne 0x1400a0960
call sub.kernel32.dll_GetLastError
cmp eax, 0x12
jne 0x1400a0f3d
lea rcx, [rsp + 0xeb0]
call fcn.1400a1244
mov dword [rsp + 0xec0], 2
mov rbx, qword [rsp + 0x28]
movzx r13d, word [rsp + 0x24]
jmp 0x1400a077a
lock inc qword [rdi]
jle 0x1400a10e1
mov rsi, qword [rsp + 0xec4]
lea rax, [rsp + 0xa04]
movups xmm0, xmmword [rax + 0x4c8]
movups xmm1, xmmword [rax + 0x4d8]
movaps xmmword [rsp + 0x60], xmm0
movaps xmmword [rsp + 0x70], xmm1
mov eax, dword [rax + 0x4e8]
mov dword [rsp + 0x80], eax
mov r8d, 0x21e
lea r13, [rsp + 0xc0]
mov rcx, r13
lea rdx, [rsp + 0xef6]
call sub.msvcrt.dll_memcpy
test rdi, rdi
sete r12b
jmp 0x1400a0acd
add rax, 2
jmp 0x1400a0bb9
add rax, 4
jmp 0x1400a0bb9
add rax, 6
jmp 0x1400a0bb9
lock inc qword [rdi]
jle 0x1400a10e1
mov rsi, qword [rsp + 0x310]
lea rax, [rsp + 0x318]
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movaps xmmword [rsp + 0x60], xmm0
movaps xmmword [rsp + 0x70], xmm1
mov eax, dword [rax + 0x20]
mov dword [rsp + 0x80], eax
movzx ebp, word [rsp + 0x33c]
movzx r14d, word [rsp + 0x33e]
movzx ebx, word [rsp + 0x340]
mov r8d, 0x21e
lea r13, [rsp + 0xc0]
mov rcx, r13
lea rdx, [rsp + 0x342]
call sub.msvcrt.dll_memcpy
xor r12d, r12d
mov eax, dword [rsp + 0x80]
mov dword [rsp + 0x50], eax
movaps xmm0, xmmword [rsp + 0x60]
movaps xmm1, xmmword [rsp + 0x70]
movaps xmmword [rsp + 0x40], xmm1
movaps xmmword [rsp + 0x30], xmm0
mov r8d, 0x21e
mov rcx, r15
mov rdx, r13
call sub.msvcrt.dll_memcpy
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0xb0], eax
movaps xmm0, xmmword [rsp + 0x30]
movaps xmm1, xmmword [rsp + 0x40]
movaps xmmword [rsp + 0xa0], xmm1
movaps xmmword [rsp + 0x90], xmm0
mov r8d, 0x21e
lea r13, [rsp + 0x7d0]
mov rcx, r13
mov rdx, r15
call sub.msvcrt.dll_memcpy
test r12b, r12b
je 0x1400a0b5d
lea r12, [rsp + 0xc0]
mov rbx, qword [rsp + 0x28]
movzx ebp, word [rsp + 0x26]
movzx r14d, word [rsp + 0x22]
jmp 0x1400a0f99
mov eax, dword [rsp + 0xb0]
mov dword [rsp + 0x50], eax
movaps xmm0, xmmword [rsp + 0x90]
movaps xmm1, xmmword [rsp + 0xa0]
movaps xmmword [rsp + 0x40], xmm1
movaps xmmword [rsp + 0x30], xmm0
mov r8d, 0x21e
mov rcx, r15
mov rdx, r13
call sub.msvcrt.dll_memcpy
mov r13d, ebx
lea r12, [rsp + 0xc0]
jmp 0x1400a0faa
add rax, 8
jmp 0x1400a0bb9
add rax, 0xa
jmp 0x1400a0bb9
add rax, 0xc
jmp 0x1400a0bb9
add rax, 0xe
lea rcx, [rsp + 0x344]
sub rax, rcx
mov r8, rax
shr r8, 1
cmp rax, 0x20a
jae 0x1400a1082
mov r15d, r13d
lea rcx, [rsp + 0x7d0]
lea rdx, [rsp + 0x344]
call fcn.140210100
mov r12, qword [rsp + 0x7d8]
mov rdi, qword [rsp + 0x7e0]
test rsi, rsi
je 0x1400a0c29
js 0x1400a109b
mov al, byte [0x1403f9274]
mov edx, 1
mov rcx, rsi
call fcn.140061500
mov r13, rax
test rax, rax
jne 0x1400a0c2f
jmp 0x1400a10a2
mov r13d, 1
mov rcx, r13
mov rdx, r14
mov r8, rsi
call sub.msvcrt.dll_memcpy
mov qword [rsp + 0xc0], rsi
mov qword [rsp + 0xc8], r13
mov qword [rsp + 0xd0], rsi
mov byte [rsp + 0xd8], 0
lea rcx, [rsp + 0xc0]
mov rdx, r12
mov r8, rdi
call fcn.14022c5d0
mov rdi, qword [rsp + 0xc0]
mov r14, qword [rsp + 0xc8]
mov rsi, qword [rsp + 0xd0]
mov rax, qword [rsp + 0xd8]
mov qword [rsp + 0x30], rax
cmp qword [rsp + 0x7d0], 0
je 0x1400a0cb1
mov rcx, qword [0x1403f9220]
xor edx, edx
mov r8, r12
call fcn.1402e3f64
lea rcx, [rsp + 0xc0]
mov rdx, r14
mov r8, rsi
call fcn.14022d5f0
mov r13d, r15d
cmp dword [rsp + 0xc0], 2
jne 0x1400a0cfb
mov rax, qword [rsp + 0xc8]
mov qword [rsp + 0x7d8], rax
mov byte [rsp + 0x7d0], 1
lea rcx, [rsp + 0x7d8]
call fcn.14020b600
jmp 0x1400a0e53
mov eax, dword [rsp + 0x100]
bt eax, 0xa
setae cl
bt dword [rsp + 0x104], 0x1d
setae dl
or dl, cl
cmp dl, 1
jne 0x1400a0e53
and eax, 0x10
jne 0x1400a0e53
mov rcx, r14
mov rdx, rsi
call fcn.14022f6c0
test rax, rax
je 0x1400a0ef9
mov r8, rdx
lea rcx, [rsp + 0xc0]
mov rdx, rax
call fcn.14007f310
cmp qword [rsp + 0xc0], 0
jne 0x1400a0ef9
cmp qword [rsp + 0xd0], 3
jne 0x1400a0ef9
mov rax, qword [rsp + 0xc8]
movzx ecx, word [rax]
xor ecx, 0x7474
movzx edx, byte [rax + 2]
xor edx, 0x66
or dx, cx
je 0x1400a0e2a
movzx ecx, word [rax]
xor ecx, 0x7474
movzx edx, byte [rax + 2]
xor edx, 0x63
or dx, cx
je 0x1400a0e2a
movzx ecx, word [rax]
xor ecx, 0x5454
movzx edx, byte [rax + 2]
xor edx, 0x46
or dx, cx
je 0x1400a0e2a
movzx ecx, word [rax]
xor ecx, 0x5454
movzx edx, byte [rax + 2]
xor edx, 0x43
or dx, cx
je 0x1400a0e2a
movzx ecx, word [rax]
xor ecx, 0x746f
movzx edx, byte [rax + 2]
xor edx, 0x66
or dx, cx
je 0x1400a0e2a
movzx ecx, word [rax]
xor ecx, 0x746f
movzx edx, byte [rax + 2]
xor edx, 0x63
or dx, cx
je 0x1400a0e2a
movzx ecx, word [rax]
xor ecx, 0x544f
movzx edx, byte [rax + 2]
xor edx, 0x46
or dx, cx
je 0x1400a0e2a
movzx ecx, word [rax]
xor ecx, 0x544f
movzx eax, byte [rax + 2]
xor eax, 0x43
or ax, cx
jne 0x1400a0ef9
mov rcx, qword [rsp + 0x88]
mov rdx, r14
mov r8, rsi
call fcn.14009ff12
test rax, rax
je 0x1400a0ef9
mov rcx, rax
call fcn.140078aee
jmp 0x1400a0ef9
lea rcx, [rsp + 0xc0]
mov rdx, r14
mov r8, rsi
call fcn.14022d5f0
cmp dword [rsp + 0xc0], 2
jne 0x1400a0e97
mov rax, qword [rsp + 0xc8]
mov qword [rsp + 0x7d8], rax
mov byte [rsp + 0x7d0], 1
lea rcx, [rsp + 0x7d8]
call fcn.14020b600
jmp 0x1400a0ef9
mov eax, dword [rsp + 0x100]
bt eax, 0xa
setae cl
bt dword [rsp + 0x104], 0x1d
setae dl
or dl, cl
cmp dl, 1
jne 0x1400a0ef9
and eax, 0x10
je 0x1400a0ef9
mov qword [rsp + 0xc0], rdi
mov qword [rsp + 0xc8], r14
mov qword [rsp + 0xd0], rsi
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0xd8], rax
mov rcx, qword [rsp + 0x88]
lea rdx, [rsp + 0xc0]
call fcn.1400a03c1
jmp 0x1400a0f0f
test rdi, rdi
je 0x1400a0f0f
mov rcx, qword [0x1403f9220]
xor edx, edx
mov r8, r14
call fcn.1402e3f64
mov rax, qword [rsp + 0x310]
lock dec qword [rax]
jne 0x1400a0f2a
mov rcx, qword [rsp + 0x310]
call fcn.14009e578
mov rax, qword [rsp + 0x9f0]
movzx r14d, word [rsp + 0x22]
jmp 0x1400a0729
call sub.kernel32.dll_GetLastError
mov esi, eax
shl rsi, 0x20
or rsi, 2
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0xb0], eax
movaps xmm0, xmmword [rsp + 0x30]
movaps xmm1, xmmword [rsp + 0x40]
movaps xmmword [rsp + 0xa0], xmm1
movaps xmmword [rsp + 0x90], xmm0
mov r8d, 0x21e
lea rcx, [rsp + 0x7d0]
mov r15, rbx
mov rdx, rbx
call sub.msvcrt.dll_memcpy
xor edi, edi
lea r12, [rsp + 0xc0]
mov rbx, qword [rsp + 0x28]
movzx r13d, word [rsp + 0x24]
mov rcx, rsi
call fcn.140078aee
mov rsi, rbx
movaps xmm0, xmmword [rsp + 0x30]
movaps xmm1, xmmword [rsp + 0x40]
movaps xmmword [rsp + 0x60], xmm0
movaps xmmword [rsp + 0x70], xmm1
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x80], eax
mov r8d, 0x21e
mov rcx, r12
mov rdx, r15
call sub.msvcrt.dll_memcpy
lea rcx, [rsp + 0x9f0]
call fcn.1400a1225
mov qword [rsp + 0x9f0], 1
mov rbx, rsi
mov qword [rsp + 0xa00], rsi
mov eax, dword [rsp + 0x80]
lea rcx, [rsp + 0xa04]
mov dword [rcx + 0x24], eax
movaps xmm0, xmmword [rsp + 0x60]
movaps xmm1, xmmword [rsp + 0x70]
movups xmmword [rcx + 0x14], xmm1
movups xmmword [rcx + 4], xmm0
mov word [rsp + 0xa2c], bp
mov word [rsp + 0xa2e], r14w
mov word [rsp + 0xa30], r13w
mov r8d, 0x21e
lea rcx, [rsp + 0xa32]
mov rdx, r12
call sub.msvcrt.dll_memcpy
jmp 0x1400a0736
lea rcx, [rsp + 0xc50]
call fcn.1400a1225
mov qword [rsp + 0xc50], 0
lea rcx, [rsp + 0x9f0]
call fcn.1400a1272
jmp 0x1400a059d
lea rax, str.uB8_
mov edx, 0x104
mov rcx, r8
mov r8, rax
call fcn.14007a270
jmp 0x1400a10e1
call fcn.140076fd0
jmp 0x1400a10e1
mov ecx, 1
mov rdx, rsi
call fcn.140077010
jmp 0x1400a10e1
call fcn.140076fd0
mov ecx, 1
mov rdx, rbx
call fcn.140077010
mov ecx, 1
mov rdx, rbx
call fcn.140077010
jmp 0x1400a10e1
mov ecx, 8
mov edx, 0x30
call fcn.140077010
ud2