Function at 0x1400a67e4
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xe00
mov rax, qword [0x1400e0920]
xor rax, rsp
mov qword [rsp + 0xdf0], rax
mov rcx, qword [0x1400ec6e8]
xor r15d, r15d
mov dword [rsp + 0x24], r15d
mov dword [0x1400ec6d8], r15d
mov qword [0x1400ecb50], r15
mov qword [0x1400ec6c8], r15
cmp rcx, r15
je 0x1400a6fcf
cmp byte [rcx], r15b
je 0x1400a6fcf
mov rdx, qword [0x1400ec6e0]
lea r8, [0x1400c378c]
xor r9d, r9d
call fcn.1400318d0
mov rsi, rax
cmp rax, r15
je 0x1400a6fcf
mov rcx, qword [0x1400ec6e8]
lea r8, [rsp + 0x20]
lea rdx, [rsp + 0x24]
call fcn.14007ce5c
lea r13, [0x1400ecb50]
mov ebp, r15d
mov qword [0x1400ec6d0], r15
lea ebx, [r15 + 1]
mov edi, 0x4034b50
jmp 0x1400a68a6
cmp eax, 0x50
je 0x1400a68b3
add ebp, ebx
mov rcx, rsi
call fcn.1400ac4dc
cmp eax, 0xffffffff
jne 0x1400a689f
lea rcx, [rsp + 0x29]
mov r9, rsi
mov r8, rbx
mov edx, 3
mov byte [rsp + 0x28], al
call fcn.1400aa184
cmp rax, rbx
jne 0x1400a6930
movzx eax, byte [rsp + 0x2a]
movzx ecx, byte [rsp + 0x2b]
shl ecx, 8
or ecx, eax
movzx eax, byte [rsp + 0x29]
shl eax, 8
shl ecx, 0x10
or ecx, eax
movzx eax, byte [rsp + 0x28]
or ecx, eax
mov dword [rsp + 0x20], ecx
cmp ecx, edi
je 0x1400a6930
cmp ecx, 0x6054b50
je 0x1400a6930
mov r8d, ebx
mov edx, 0xfffffffd
mov rcx, rsi
call fcn.1400aa484
cmp eax, r15d
je 0x1400a68a4
mov rcx, rsi
call fcn.1400abc04
neg eax
sbb eax, eax
and eax, 9
add eax, 2
jmp 0x1400a6fd1
movzx eax, byte [rsp + 0x2a]
movzx ecx, byte [rsp + 0x2b]
mov dword [0x1400ec6d8], ebp
shl ecx, 8
or ecx, eax
movzx eax, byte [rsp + 0x29]
shl eax, 8
shl ecx, 0x10
or ecx, eax
movzx eax, byte [rsp + 0x28]
or ecx, eax
cmp ecx, edi
jne 0x1400a6f31
mov ecx, 0x88
call fcn.1400a879c
mov rdi, rax
cmp rax, r15
je 0x1400a6faf
lea rcx, [rsp + 0x28]
mov r9, rsi
mov r8, rbx
mov edx, 0x1a
call fcn.1400aa184
cmp rax, rbx
jne 0x1400a6f29
movzx ecx, byte [rsp + 0x29]
movzx eax, byte [rsp + 0x28]
shl cx, 8
or cx, ax
mov eax, 0x14
mov word [rdi + 2], cx
mov word [rdi], ax
movzx eax, byte [rsp + 0x2a]
movzx r14d, byte [rsp + 0x2b]
shl r14w, 8
or r14w, ax
mov word [rdi + 0x3c], r14w
mov word [rdi + 4], r14w
movzx ecx, byte [rsp + 0x2d]
movzx eax, byte [rsp + 0x2c]
shl cx, 8
or cx, ax
mov word [rdi + 6], cx
movzx eax, byte [rsp + 0x30]
movzx ecx, byte [rsp + 0x31]
shl ecx, 8
or ecx, eax
movzx eax, byte [rsp + 0x2f]
shl eax, 8
shl ecx, 0x10
or ecx, eax
movzx eax, byte [rsp + 0x2e]
or ecx, eax
mov dword [rdi + 8], ecx
movzx eax, byte [rsp + 0x34]
movzx ecx, byte [rsp + 0x35]
shl ecx, 8
or ecx, eax
movzx eax, byte [rsp + 0x33]
shl eax, 8
shl ecx, 0x10
or ecx, eax
movzx eax, byte [rsp + 0x32]
or ecx, eax
mov dword [rdi + 0xc], ecx
movzx eax, byte [rsp + 0x38]
movzx ecx, byte [rsp + 0x39]
shl ecx, 8
or ecx, eax
movzx eax, byte [rsp + 0x37]
shl eax, 8
shl ecx, 0x10
or ecx, eax
movzx eax, byte [rsp + 0x36]
or ecx, eax
mov dword [rdi + 0x10], ecx
movzx eax, byte [rsp + 0x3c]
movzx ecx, byte [rsp + 0x3d]
shl ecx, 8
or ecx, eax
movzx eax, byte [rsp + 0x3b]
shl eax, 8
shl ecx, 0x10
or ecx, eax
movzx eax, byte [rsp + 0x3a]
or ecx, eax
mov dword [rdi + 0x14], ecx
movzx eax, byte [rsp + 0x3f]
shl eax, 8
movsxd r12, eax
movzx eax, byte [rsp + 0x3e]
or r12, rax
mov qword [rdi + 0x18], r12
movzx eax, byte [rsp + 0x41]
shl eax, 8
movsxd rcx, eax
movzx eax, byte [rsp + 0x40]
mov qword [rdi + 0x30], r15
or rcx, rax
mov word [rdi + 0x38], r15w
mov word [rdi + 0x3a], r15w
mov qword [rdi + 0x20], rcx
mov qword [rdi + 0x28], rcx
mov eax, dword [rsp + 0x24]
mov dword [rdi + 0x40], eax
mov dword [rdi + 0x78], r15d
mov dword [rdi + 0x7c], r15d
cmp dword [0x1400ecb44], ebx
jle 0x1400a6adb
mov dword [rsp + 0x20], r15d
jmp 0x1400a6ae2
mov eax, dword [rdi + 0x10]
mov dword [rsp + 0x20], eax
mov qword [rdi + 0x60], r15
mov qword [rdi + 0x58], r15
mov qword [rdi + 0x50], r15
mov qword [rdi + 0x68], r15
mov qword [rdi + 0x48], r15
mov qword [rdi + 0x70], r15
mov qword [r13], rdi
lea r13, [rdi + 0x80]
mov qword [r13], r15
cmp r12, r15
je 0x1400a6f1f
lea rcx, [r12 + 1]
call fcn.1400a879c
mov qword [rdi + 0x68], rax
cmp rax, r15
je 0x1400a6faf
mov rcx, qword [rdi + 0x20]
cmp rcx, r15
je 0x1400a6b44
call fcn.1400a879c
mov qword [rdi + 0x50], rax
cmp rax, r15
je 0x1400a6faf
mov rcx, qword [rdi + 0x68]
mov r9, rsi
mov r8, rbx
mov rdx, r12
call fcn.1400aa184
cmp rax, rbx
jne 0x1400a6919
mov rdx, qword [rdi + 0x20]
cmp rdx, r15
je 0x1400a6b80
mov rcx, qword [rdi + 0x50]
mov r9, rsi
mov r8, rbx
call fcn.1400aa184
cmp rax, rbx
jne 0x1400a6919
mov edx, dword [rsp + 0x20]
cmp edx, r15d
je 0x1400a6b9d
mov r8d, ebx
mov rcx, rsi
call fcn.1400aa484
cmp eax, r15d
jne 0x1400a6919
mov eax, 0x3ff
mov rcx, r12
cmp r12, 0x400
cmovae rcx, rax
mov rax, qword [rdi + 0x68]
mov dl, bl
mov byte [rcx + rax], r15b
mov rcx, qword [rdi + 0x68]
call fcn.140053ad4
mov rcx, qword [rdi + 0x68]
call fcn.1400ba440
mov r11, rax
mov qword [rdi + 0x70], rax
cmp rax, r15
je 0x1400a6faf
mov rcx, qword [rdi + 0x50]
mov qword [rdi + 0x48], rax
mov qword [rdi + 0x58], rcx
lea rcx, [rsp + 0x60]
mov al, byte [r11]
add r11, rbx
mov byte [rcx], al
add rcx, rbx
cmp al, r15b
jne 0x1400a6bed
mov eax, 0x800
test word [rdi + 4], ax
jne 0x1400a6c29
movzx edx, word [rdi]
mov ecx, edx
shr ecx, 8
call fcn.1400a5728
cmp al, r15b
je 0x1400a6c29
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x60]
call sub.USER32.dll_OemToCharA
lea rcx, [rsp + 0x60]
call fcn.14006b780
mov ecx, 0x268
mov rbx, rax
call fcn.140061d94
lea rcx, [rsp + 0x460]
mov r9, rbx
mov edx, 0x4c8
mov r8, rax
call fcn.1400287d0
lea rcx, [rsp + 0x460]
call fcn.140087994
call fcn.140047564
cmp byte [0x1400ffcf0], r15b
jne 0x1400a6f0d
mov eax, dword [rdi + 0x20]
mov dword [rdi + 0x44], ebp
mov ecx, dword [rsp + 0x20]
add eax, r12d
mov ebx, 1
add qword [0x1400ec6d0], rbx
add eax, ecx
lea ebp, [rbp + rax + 0x1e]
test r14b, 8
je 0x1400a6e5c
cmp ecx, r15d
jne 0x1400a6d57
mov rcx, rsi
call fcn.1400ac4dc
cmp eax, 0xffffffff
je 0x1400a6cbb
cmp eax, 0x50
jne 0x1400a6ca9
lea rcx, [rsp + 0x29]
mov r9, rsi
mov r8, rbx
mov edx, 0xf
mov byte [rsp + 0x28], al
call fcn.1400aa184
cmp rax, rbx
jne 0x1400a6d1f
movzx eax, byte [rsp + 0x2a]
movzx ecx, byte [rsp + 0x2b]
shl ecx, 8
or ecx, eax
movzx eax, byte [rsp + 0x29]
shl eax, 8
shl ecx, 0x10
or ecx, eax
movzx eax, byte [rsp + 0x28]
or ecx, eax
cmp ecx, 0x8074b50
je 0x1400a6d1f
mov r8d, ebx
mov edx, 0xfffffff1
mov rcx, rsi
call fcn.1400aa484
cmp eax, r15d
jne 0x1400a6919
jmp 0x1400a6ca9
movzx ecx, byte [rsp + 0x33]
movzx eax, byte [rsp + 0x32]
shl ecx, 8
or ecx, eax
movzx eax, byte [rsp + 0x31]
shl ecx, 0x10
shl eax, 8
or ecx, eax
movzx eax, byte [rsp + 0x30]
or ecx, eax
mov dword [rsp + 0x20], ecx
add ebp, ecx
mov rcx, rsi
call fcn.1400aa368
lea ecx, [rbp + 0x10]
cmp eax, ecx
jmp 0x1400a6db4
xor r8d, r8d
mov edx, ebp
mov rcx, rsi
call fcn.1400aa484
cmp eax, r15d
jne 0x1400a6919
lea rcx, [rsp + 0x28]
mov r9, rsi
mov r8, rbx
mov edx, 0x10
call fcn.1400aa184
cmp rax, rbx
jne 0x1400a6919
movzx eax, byte [rsp + 0x2a]
movzx ecx, byte [rsp + 0x2b]
shl ecx, 8
or ecx, eax
movzx eax, byte [rsp + 0x29]
shl eax, 8
shl ecx, 0x10
or ecx, eax
movzx eax, byte [rsp + 0x28]
or ecx, eax
cmp ecx, 0x8074b50
jne 0x1400a6f1f
movzx eax, byte [rsp + 0x2e]
movzx ecx, byte [rsp + 0x2f]
shl ecx, 8
or ecx, eax
movzx eax, byte [rsp + 0x2d]
shl ecx, 0x10
shl eax, 8
or ecx, eax
movzx eax, byte [rsp + 0x2c]
or ecx, eax
mov dword [rdi + 0xc], ecx
mov eax, dword [rsp + 0x20]
mov dword [rdi + 0x10], eax
movzx eax, byte [rsp + 0x36]
movzx ecx, byte [rsp + 0x37]
shl ecx, 8
or ecx, eax
movzx eax, byte [rsp + 0x35]
shl eax, 8
shl ecx, 0x10
or ecx, eax
movzx eax, byte [rsp + 0x34]
or ecx, eax
add ebp, 0x10
mov dword [rdi + 0x14], ecx
lea rcx, [rsp + 0x28]
mov r9, rsi
mov r8, rbx
mov edx, 4
call fcn.1400aa184
cmp rax, rbx
jne 0x1400a6f31
movzx eax, byte [rsp + 0x2a]
movzx ecx, byte [rsp + 0x2b]
shl ecx, 8
or ecx, eax
movzx eax, byte [rsp + 0x29]
shl eax, 8
shl ecx, 0x10
or ecx, eax
movzx eax, byte [rsp + 0x28]
or ecx, eax
cmp ecx, 0x4034b50
jmp 0x1400a695b
cmp dword [0x1400ecb44], ebx
jle 0x1400a6e10
jmp 0x1400a6e6d
cmp eax, 0x50
je 0x1400a6e7a
add ebp, ebx
mov rcx, rsi
call fcn.1400ac4dc
cmp eax, 0xffffffff
jne 0x1400a6e66
lea rcx, [rsp + 0x29]
mov r9, rsi
mov r8, rbx
mov edx, 3
mov byte [rsp + 0x28], al
call fcn.1400aa184
cmp rax, rbx
jne 0x1400a6eea
movzx eax, byte [rsp + 0x2a]
movzx ecx, byte [rsp + 0x2b]
shl ecx, 8
or ecx, eax
movzx eax, byte [rsp + 0x29]
shl eax, 8
shl ecx, 0x10
or ecx, eax
movzx eax, byte [rsp + 0x28]
or ecx, eax
mov dword [rsp + 0x20], ecx
cmp ecx, 0x4034b50
je 0x1400a6eea
cmp ecx, 0x2014b50
je 0x1400a6eea
mov r8d, ebx
mov edx, 0xfffffffd
mov rcx, rsi
call fcn.1400aa484
cmp eax, r15d
jne 0x1400a6919
jmp 0x1400a6e6b
mov eax, ebp
sub eax, dword [rdi + 0x20]
sub eax, dword [rdi + 0x44]
sub eax, r12d
sub eax, 0x1e
mov dword [rsp + 0x20], eax
cmp eax, dword [rdi + 0x10]
je 0x1400a6e2e
mov dword [rdi + 0x10], eax
jmp 0x1400a6e2e
mov rcx, rsi
call fcn.1400aa5c0
mov eax, 9
jmp 0x1400a6fd1
mov eax, 3
jmp 0x1400a6fd1
mov rcx, rdi
call fcn.1400a8854
mov rcx, rsi
mov dword [rsp + 0x20], ebp
mov dword [0x1400ec6bc], ebp
mov qword [0x1400ec6c8], r15
call fcn.1400aa5c0
mov rcx, qword [0x1400ec6d0]
cmp rcx, r15
je 0x1400a6fb6
shl rcx, 3
call fcn.1400a879c
mov qword [0x1400ec6c0], rax
cmp rax, r15
je 0x1400a6faf
mov rcx, qword [0x1400ecb50]
cmp rcx, r15
je 0x1400a6f91
mov qword [rax], rcx
mov rcx, qword [rcx + 0x80]
add rax, 8
cmp rcx, r15
jne 0x1400a6f77
mov rax, qword [0x1400ec6c0]
mov rdx, qword [0x1400ec6d0]
lea r9, [0x1400a5750]
mov r8d, 8
mov rcx, rax
call fcn.1400ab900
jmp 0x1400a6fcf
mov eax, 4
jmp 0x1400a6fd1
mov ecx, 0x274
call fcn.140061d94
mov rcx, qword [0x1400ec6e0]
mov rdx, rax
call fcn.14009666c
xor eax, eax
mov rcx, qword [rsp + 0xdf0]
xor rcx, rsp
call fcn.1400a86e0
lea r11, [rsp + 0xe00]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret