Function at 0x100001a60
Capabilities:
Read file on windows

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], rbx
mov qword [rax + 0x20], rbp
push rsi
push rdi
push r12
sub rsp, 0xd0
xor ebx, ebx
lea rdx, [0x1000012f0]
lea rcx, [rax - 0x58]
mov r12, rbx
mov dword [rax + 8], ebx
mov dword [rax + 0xc], ebx
call qword [sym.imp.ntdll.dll_RtlInitUnicodeString]
mov dword [rsp + 0x50], ebx
mov qword [rsp + 0x48], rbx
mov dword [rsp + 0x40], 0x20
mov dword [rsp + 0x38], 1
lea rax, [rsp + 0x90]
mov qword [rsp + 0xb0], rax
xor eax, eax
mov dword [rsp + 0x30], ebx
lea r9, [rsp + 0x80]
lea r8, [rsp + 0xa0]
lea rcx, [rsp + 0xf8]
mov edx, 0x100001
mov dword [rsp + 0x28], 0x80
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x88], rax
mov dword [rsp + 0xa0], 0x30
mov qword [rsp + 0xa8], rbx
mov dword [rsp + 0xb8], 0x40
mov qword [rsp + 0xc0], rbx
mov qword [rsp + 0xc8], rbx
mov qword [rsp + 0x20], rbx
call qword [sym.imp.ntdll.dll_NtCreateFile]
cmp eax, ebx
je 0x100001b3a
xor eax, eax
jmp 0x100001e53
mov rcx, qword [rsp + 0xf8]
mov qword [rsp + 0x40], rbx
lea rax, [rsp + 0xf0]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x60]
mov dword [rsp + 0x30], 0xc
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x80]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov qword [rsp + 0x20], rax
call qword [sym.imp.ntdll.dll_NtReadFile]
cmp eax, ebx
je 0x100001b95
mov rcx, qword [rsp + 0xf8]
call qword [sym.imp.ntdll.dll_NtClose]
jmp 0x100001b33
mov edx, dword [rsp + 0x60]
add dword [rsp + 0xf0], 0xc
lea rcx, [0x100001338]
call main
mov eax, dword [rsp + 0x60]
mov ebp, ebx
cmp eax, ebx
jbe 0x100001e22
mov rcx, qword [rsp + 0xf8]
mov qword [rsp + 0x40], rbx
lea rax, [rsp + 0xf0]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x70]
mov dword [rsp + 0x30], 0x10
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x80]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov qword [rsp + 0x20], rax
call qword [sym.imp.ntdll.dll_NtReadFile]
cmp eax, ebx
jne 0x100001b85
add dword [rsp + 0xf0], 0x10
mov ecx, 0x30
call fcn.100001a1c
cmp rax, rbx
mov rsi, rax
je 0x100001b85
mov ecx, dword [rsp + 0x7c]
mov dword [rax], ecx
mov ecx, dword [rsp + 0x70]
lea ecx, [rcx + rcx + 2]
call fcn.100001a1c
cmp rax, rbx
mov qword [rsi + 8], rax
je 0x100001b85
mov ecx, dword [rsp + 0x74]
lea ecx, [rcx + rcx + 2]
call fcn.100001a1c
cmp rax, rbx
mov qword [rsi + 0x10], rax
je 0x100001b85
mov ecx, dword [rsp + 0x74]
lea ecx, [rcx + rcx + 0xa]
call fcn.100001a1c
cmp rax, rbx
mov qword [rsi + 0x18], rax
je 0x100001b85
mov ecx, dword [rsp + 0x74]
lea ecx, [rcx + rcx + 0xa]
call fcn.100001a1c
cmp qword [rsi + 0x18], rbx
mov qword [rsi + 0x20], rax
je 0x100001b85
mov eax, dword [rsp + 0x70]
mov qword [rsp + 0x40], rbx
lea rcx, [rsp + 0xf0]
mov qword [rsp + 0x38], rcx
mov rcx, qword [rsp + 0xf8]
add eax, eax
mov dword [rsp + 0x30], eax
mov rax, qword [rsi + 8]
xor r9d, r9d
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x80]
xor r8d, r8d
xor edx, edx
mov qword [rsp + 0x20], rax
call qword [sym.imp.ntdll.dll_NtReadFile]
cmp eax, ebx
jne 0x100001b85
mov eax, dword [rsp + 0xf0]
mov edx, dword [rsp + 0x70]
mov qword [rsp + 0x40], rbx
lea ecx, [rax + rdx*2]
xor r9d, r9d
xor r8d, r8d
mov dword [rsp + 0xf0], ecx
mov rax, qword [rsi + 8]
lea rcx, [rsp + 0xf0]
mov word [rax + rdx*2], bx
mov eax, dword [rsp + 0x74]
mov qword [rsp + 0x38], rcx
mov rcx, qword [rsp + 0xf8]
add eax, eax
xor edx, edx
mov dword [rsp + 0x30], eax
mov rax, qword [rsi + 0x10]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x80]
mov qword [rsp + 0x20], rax
call qword [sym.imp.ntdll.dll_NtReadFile]
mov ecx, dword [rsp + 0xf0]
cmp eax, ebx
mov edi, dword [rsp + 0x74]
lea edx, [rcx + rdi*2]
mov dword [rsp + 0xf0], edx
jne 0x100001e43
mov rax, qword [rsi + 0x10]
mov word [rax + rdi*2], bx
mov rcx, qword [rsi + 0x10]
mov rdx, qword [rsi + 0x18]
movzx eax, word [rcx]
add rcx, 2
mov word [rdx], ax
add rdx, 2
cmp ax, bx
jne 0x100001d79
mov rdi, qword [rsi + 0x18]
xor eax, eax
or rcx, 0xffffffffffffffff
repne scasw ax, word [rdi]
mov rax, qword [0x100001358]
mov qword [rdi - 2], rax
movzx eax, word [0x100001360]
mov word [rdi + 6], ax
mov rcx, qword [rsi + 0x10]
mov rdx, qword [rsi + 0x20]
movzx eax, word [rcx]
add rcx, 2
mov word [rdx], ax
add rdx, 2
cmp ax, bx
jne 0x100001db7
mov rdi, qword [rsi + 0x20]
xor eax, eax
or rcx, 0xffffffffffffffff
repne scasw ax, word [rdi]
cmp r12, rbx
mov rax, qword [0x100001368]
mov qword [rdi - 2], rax
movzx eax, word [0x100001370]
mov word [rdi + 6], ax
mov qword [rsi + 0x28], rbx
je 0x100001dfb
mov qword [r12 + 0x28], rsi
mov rax, qword [0x100004688]
mov r12, rsi
cmp rax, rbx
cmove rax, rsi
add ebp, 1
mov qword [0x100004688], rax
mov eax, dword [rsp + 0x60]
cmp ebp, eax
jb 0x100001bbb
mov edx, dword [rsp + 0x64]
lea rcx, [0x100001378]
mov dword [0x100004680], eax
mov dword [0x100004684], edx
call main
mov ebx, 1
mov rcx, qword [rsp + 0xf8]
call qword [sym.imp.ntdll.dll_NtClose]
mov eax, ebx
lea r11, [rsp + 0xd0]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsp, r11
pop r12
pop rdi
pop rsi
ret