Function at 0x140044750
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
mov eax, 0x28b8
call fcn.14004c200
sub rsp, rax
lea rbp, [rsp + 0x40]
mov rax, qword [rdx + 8]
mov rbx, r8
mov r15, rdx
mov r12, rcx
movzx edi, byte [rax + 0xa4]
mov r9d, edi
test dil, dil
je 0x1400451a9
sub r9d, 1
je 0x140044ee2
sub r9d, 1
je 0x140044d10
sub r9d, 1
je 0x14004496c
cmp r9d, 1
jne 0x1400451a9
mov rcx, qword [r8 + 0x40]
add rcx, 0x40
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rcx, qword [rbx + 0x40]
add rcx, 0x68
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rcx, qword [r15 + 8]
xor esi, esi
add rcx, 8
mov eax, esi
sub eax, dword [rcx]
movsxd rdx, dword [rcx]
add rdx, rcx
neg eax
sbb rax, rax
and rdx, rax
mov rax, qword [r15 + 8]
mov qword [rbp], rdx
movsxd rcx, dword [rax]
sub esi, dword [rax]
add rcx, rax
neg esi
sbb rax, rax
and rcx, rax
mov rax, qword [r15 + 8]
mov qword [rbp + 0x28c8], rcx
mov ecx, dword [rax + 0xac]
lea rax, [rbp + 0x28c0]
mov qword [rbp + 8], rax
lea rax, [rbp + 0x28c8]
mov qword [rbp + 0x10], rax
lea rax, [rbp]
movups xmm0, xmmword [rbp + 8]
mov qword [rbp + 0x18], rax
movsd xmm1, qword [rbp + 0x18]
mov dword [rbp + 0x28c0], ecx
lea rcx, [rbp + 0x40]
movsd qword [rbp + 0x50], xmm1
movaps xmmword [rbp + 0x40], xmm0
call fcn.1400249d0
mov rdx, qword [rbx + 0x40]
mov r8d, 0xffffffff
mov rcx, qword [rbx + 0x40]
add rdx, 0x68
add rcx, 0x30
call qword [sym.imp.KERNEL32.dll_SleepConditionVariableCS]
test eax, eax
je 0x140045270
mov rax, qword [r15 + 8]
mov rdx, qword [rbx + 0x40]
mov ecx, dword [rax + 0xac]
cmp dword [rdx + 0x90], ecx
je 0x1400448b1
cmp dword [rdx + 0x90], 0xffffffff
jne 0x14004527d
lea rcx, [rdx + 0x68]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rcx, qword [rbx + 0x40]
add rcx, 0x40
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
xorps xmm0, xmm0
movups xmmword [r12], xmm0
movups xmmword [r12 + 0x10], xmm0
movups xmmword [r12 + 0x20], xmm0
mov rax, qword [rbx + 0x40]
cmp dword [rax + 0x90], 0xffffffff
jne 0x140045259
mov r13, 0xffffffffffffffff
lea rcx, [r12 + 0x10]
mov dword [r12], r13d
mov rdx, qword [rbx + 0x40]
mov rdx, qword [rdx + 0x110]
call fcn.140024c30
mov rax, qword [rbx + 0x40]
mov rcx, qword [rax + 0x98]
nop dword [rax]
inc r13
cmp byte [rcx + r13], 0
jne 0x140044920
mov rdx, rcx
mov r8, r13
mov rcx, r12
call fcn.140024c90
mov rax, qword [rbx + 0x40]
mov rcx, qword [rax + 0x98]
test rcx, rcx
je 0x140045259
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
mov rdx, qword [rax + 0x110]
neg r8
lock add qword [rdx], r8
call fcn.140058710
jmp 0x140045259
mov rcx, qword [rdx + 8]
xor esi, esi
mov rax, qword [rbp + 0x28e0]
add rcx, 0x2c
mov dword [rax], esi
mov rax, qword [r8 + 0x40]
mov r11, qword [rax + 0x110]
mov r10, qword [rax + 0x1d0]
mov rax, qword [rdx + 8]
movsxd rdx, dword [rcx]
mov qword [rsp + 0x28], r11
mov qword [rsp + 0x20], r10
movsxd r9, dword [rax + 0x28]
add rax, 0x3c
movsxd r8, dword [rax]
add r8, rax
cmp dword [rax], esi
cmove r8, rsi
add rdx, rcx
cmp dword [rcx], esi
lea rcx, [rbp + 0x40]
cmove rdx, rsi
call fcn.140003440
mov r8d, esi
mov qword [rbp + 0x28d8], rsi
movups xmm0, xmmword [rax]
movups xmmword [r12], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [r12 + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
lea rax, str.UnityEditor.CoreModule.dll
mov qword [rbp + 0x20], rax
lea rax, str.UnityEditor.dll
mov qword [rbp + 0x28], rax
lea rax, str.UnityEngine.dll
movups xmmword [r12 + 0x20], xmm0
mov qword [rbp + 0x30], rax
mov rax, qword [r15 + 8]
cmp dword [rax + 0x28], esi
jbe 0x140045259
lea r13, [rsi - 1]
mov rcx, qword [r15 + 8]
mov eax, esi
add rcx, 0x3c
mov rdi, r13
sub eax, dword [rcx]
movsxd rdx, dword [rcx]
add rdx, rcx
neg eax
sbb rax, rax
and rdx, rax
movsxd rax, r8d
movsxd r15, dword [rdx + rax*8]
lea rcx, [rdx + rax*8]
mov eax, esi
add r15, rcx
sub eax, dword [rcx]
neg eax
sbb rax, rax
and r15, rax
inc rdi
cmp byte [r15 + rdi], sil
jne 0x140044a57
mov r10d, esi
lea r9, [rbp + 0x20]
nop word [rax + rax]
mov r8, qword [r9]
mov rax, r13
inc rax
cmp byte [r8 + rax], sil
jne 0x140044a76
cmp rdi, rax
jb 0x140044cfe
cmp rax, 1
jb 0x140044abb
lea rdx, [r8 - 1]
mov rcx, rdi
add rdx, rax
sub rcx, rax
sub rcx, r8
lea r8, [rcx + r15]
movzx ecx, byte [r8 + rdx]
cmp byte [rdx], cl
jne 0x140044cfe
dec rax
dec rdx
cmp rax, 1
jae 0x140044aa2
lea rdx, [0x14008abcc]
mov rcx, r15
mov ebx, esi
call fcn.1400147d0
mov r14, rax
test rax, rax
je 0x140044cd0
mov r9, rax
lea rcx, [rbp + 0x870]
mov edx, 1
mov r8d, 0x2000
call fcn.140058984
mov r8, rax
test rax, rax
je 0x140044bcc
nop
mov ecx, esi
mov rdx, rsi
cmp r8, 8
jb 0x140044b80
mov r9, r8
xorps xmm3, xmm3
and r9, 0xfffffffffffffff8
xorps xmm2, xmm2
nop dword [rax + rax]
movd xmm1, dword [rbp + rdx + 0x870]
xorps xmm0, xmm0
punpcklbw xmm1, xmm0
add ecx, 8
punpcklwd xmm1, xmm0
paddd xmm3, xmm1
movsxd rax, ecx
movd xmm1, dword [rbp + rdx + 0x874]
add rdx, 8
punpcklbw xmm1, xmm0
punpcklwd xmm1, xmm0
paddd xmm2, xmm1
cmp rax, r9
jb 0x140044b20
paddd xmm2, xmm3
movdqa xmm0, xmm2
psrldq xmm0, 8
paddd xmm2, xmm0
movdqa xmm0, xmm2
psrldq xmm0, 4
paddd xmm2, xmm0
movd eax, xmm2
add ebx, eax
movsxd rax, ecx
cmp rax, r8
jae 0x140044ba3
lea rdx, [rbp + rdx + 0x870]
movzx eax, byte [rdx]
lea rdx, [rdx + 1]
inc ecx
add ebx, eax
movsxd rax, ecx
cmp rax, r8
jb 0x140044b90
add ebx, r8d
lea rcx, [rbp + 0x870]
mov r8d, 0x2000
mov r9, r14
mov edx, 1
call fcn.140058984
mov r8, rax
test rax, rax
jne 0x140044b00
mov rcx, r14
call fcn.140056cc4
lea rcx, [rdi + 8]
call fcn.140058a4c
lea r9, str..version
mov r8, r15
lea rdx, str._s_s
mov rcx, rax
mov rdi, rax
call fcn.1400446e0
lea rdx, [0x140089bc4]
mov rcx, rdi
call fcn.1400147d0
mov r14, rax
test rax, rax
je 0x140044cd0
lea r8d, [rbx + 0x39f94ee8]
mov rcx, rax
xor r8d, 0x76faf81
lea rdx, [0x14008da8c]
add r8d, 0x2056521
call fcn.140001150
mov rcx, r14
call fcn.140056cc4
mov rcx, qword [rbp + 0x28d0]
mov rax, qword [rcx + 0x40]
mov ecx, 0x2808
mov rbx, qword [rax + 0x110]
mov qword [r12 + 0x18], 0x2800
mov dword [r12 + 0x20], esi
call fcn.140058a4c
mov qword [rax], 0x2800
lock add qword [rbx], 0x2800
add rax, 8
lea r8, str.generate_version_file___s_
mov qword [r12 + 0x10], rax
lea rcx, [rbp + 0x470]
mov r9, rdi
mov edx, 0x400
mov byte [rax], sil
mov qword [r12 + 0x28], rbx
call fcn.140003390
lea rax, [rbp + 0x470]
mov r8, r13
nop
inc r8
cmp byte [rax + r8], sil
jne 0x140044cb0
lea rdx, [rbp + 0x470]
mov rcx, r12
call fcn.140024c90
mov rcx, rdi
call fcn.140058710
mov r8, qword [rbp + 0x28d8]
mov r15, qword [rbp + 0x28c8]
inc r8
mov qword [rbp + 0x28d8], r8
mov rax, qword [r15 + 8]
movsxd rcx, dword [rax + 0x28]
cmp r8, rcx
jb 0x140044a20
jmp 0x140045259
inc r10d
add r9, 8
cmp r10d, 3
jae 0x140044cd0
jmp 0x140044a70
mov rcx, qword [rdx + 8]
xor esi, esi
movsxd rdx, dword [rcx + 0x3c]
add rcx, 0x3c
mov rax, qword [rbp + 0x28e0]
add rdx, rcx
xorps xmm0, xmm0
mov dword [rax], esi
mov rax, qword [r8 + 0x40]
mov rbx, qword [rax + 0x110]
mov eax, esi
sub eax, dword [rcx]
neg eax
sbb rax, rax
and rdx, rax
mov eax, esi
sub eax, dword [rdx]
movsxd rdi, dword [rdx]
add rdi, rdx
lea rdx, [0x140089170]
neg eax
sbb rax, rax
and rdi, rax
mov rax, qword [r15 + 8]
mov rcx, rdi
movsxd r15, dword [rax + 4]
mov rax, qword [rbp + 0x28c8]
mov rax, qword [rax + 8]
add rax, 8
movsxd r14, dword [rax]
mov r13d, dword [rax]
add r14, rax
movups xmmword [r12], xmm0
movups xmmword [r12 + 0x10], xmm0
movups xmmword [r12 + 0x20], xmm0
call fcn.1400147d0
mov r12, rax
test rax, rax
jne 0x140044e3a
mov r12, qword [rbp + 0x28c0]
mov ecx, 0x2808
mov qword [r12 + 0x18], 0x2800
mov dword [r12 + 0x20], esi
call fcn.140058a4c
mov qword [rax], 0x2800
lock add qword [rbx], 0x2800
add rax, 8
mov qword [r12 + 0x10], rax
mov byte [rax], sil
mov qword [r12 + 0x28], rbx
call fcn.140057244
mov ecx, dword [rax]
call fcn.1400572d0
mov r9, rdi
mov qword [rsp + 0x20], rax
lea r8, str.Error_opening_for_writing_the_file:__s__error:__s
mov edx, 0x400
lea rcx, [rbp + 0x70]
call fcn.140003390
lea rax, [rbp + 0x70]
mov r13, 0xffffffffffffffff
inc r13
cmp byte [rax + r13], sil
jne 0x140044e15
mov r8, r13
lea rdx, [rbp + 0x70]
mov rcx, r12
call fcn.140024c90
mov dword [r12], 1
jmp 0x140045259
test r13d, r13d
mov r8, r15
mov r9, r12
mov edx, 1
cmove r14, rsi
mov rcx, r14
call fcn.1400570cc
mov rcx, r12
mov r14, rax
call fcn.140056cc4
mov r12, qword [rbp + 0x28c0]
cmp r14, r15
je 0x140045259
mov ecx, 0x2808
mov qword [r12 + 0x18], 0x2800
mov dword [r12 + 0x20], esi
call fcn.140058a4c
mov qword [rax], 0x2800
lock add qword [rbx], 0x2800
add rax, 8
mov qword [rsp + 0x28], r14
mov qword [r12 + 0x10], rax
lea r8, str.fwrite_was_supposed_to_write__d_bytes_to__s__but_wrote__zd_bytes
mov r9d, r15d
mov qword [rsp + 0x20], rdi
mov edx, 0x400
lea rcx, [rbp + 0x70]
mov byte [rax], sil
mov qword [r12 + 0x28], rbx
call fcn.140003390
lea rax, [rbp + 0x70]
mov r13, 0xffffffffffffffff
inc r13
cmp byte [rax + r13], sil
jne 0x140044ed4
jmp 0x140044e1e
movsxd rdi, dword [rax + 0x70]
mov rax, rdi
shl rax, 4
lea rcx, [rax + 0xf]
cmp rcx, rax
ja 0x140044f00
movabs rcx, 0xffffffffffffff0
and rcx, 0xfffffffffffffff0
mov rax, rcx
call fcn.14004c200
sub rsp, rcx
xor esi, esi
lea r14, [rsp + 0x40]
test edi, edi
jle 0x140044fae
mov r8d, esi
mov r9, r14
nop dword [rax]
nop dword [rax + rax]
mov rcx, qword [r15 + 8]
lea r9, [r9 + 0x10]
add rcx, 0x74
mov eax, esi
sub eax, dword [rcx]
movsxd rdx, dword [rcx]
add rdx, rcx
neg eax
sbb rax, rax
and rdx, rax
mov eax, esi
sub eax, dword [rdx + r8*8]
lea rcx, [rdx + r8*8]
movsxd rdx, dword [rdx + r8*8]
add rdx, rcx
neg eax
sbb rax, rax
and rdx, rax
mov eax, esi
mov qword [r9 - 0x10], rdx
mov rcx, qword [r15 + 8]
add rcx, 0x74
sub eax, dword [rcx]
movsxd rdx, dword [rcx]
add rdx, rcx
neg eax
sbb rax, rax
and rdx, rax
mov eax, esi
lea rcx, [rdx + 4]
movsxd rdx, dword [rcx + r8*8]
sub eax, dword [rcx + r8*8]
lea rcx, [rcx + r8*8]
add rdx, rcx
neg eax
sbb rax, rax
inc r8
and rdx, rax
mov qword [r9 - 8], rdx
cmp r8, rdi
jl 0x140044f30
mov rax, qword [r15 + 8]
lea rcx, [rbp + 0x28c8]
mov qword [rbp + 8], rax
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
test eax, eax
je 0x140045297
mov rax, qword [rbp + 0x28c8]
xor edx, edx
sub rax, qword [0x140099f88]
mov r9, r14
mov rcx, qword [r15 + 8]
mov r8d, edi
imul rax, rax, 0xf4240
div qword [0x140099f80]
add rax, qword [0x140099f90]
mov qword [rbp + 0x10], rax
mov rax, qword [rbx + 0x40]
mov ebx, dword [rbx + 0x38]
mov qword [rbp + 0x18], rax
dec ebx
movsxd r10, dword [rcx]
mov rax, qword [rbp + 0x28d0]
add r10, rcx
mov rax, qword [rax + 0x40]
mov r11, qword [rax + 0x110]
mov eax, esi
sub eax, dword [rcx]
lea rcx, [rbp + 0x40]
neg eax
lea rax, [rbp + 8]
mov qword [rsp + 0x38], rax
sbb rdx, rdx
lea rax, [0x140044740]
and rdx, r10
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], ebx
mov qword [rsp + 0x20], r11
call fcn.1400253d0
movups xmm0, xmmword [rax]
movups xmmword [r12], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [r12 + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [r12 + 0x20], xmm0
mov rdx, qword [r15 + 8]
mov qword [rbp + 0x28d8], rdx
mov eax, dword [rdx + 0xa4]
shr eax, 0xa
and al, 1
mov dword [rbp + 0x28c8], eax
je 0x140045099
cmp dword [rdx + 0x60], esi
je 0x140045194
mov rcx, qword [r12 + 0x10]
movzx eax, byte [rcx]
test al, al
je 0x140045194
cmp al, 0xd
je 0x1400450b1
cmp al, 0xa
jne 0x1400450b6
inc rcx
jmp 0x14004509e
mov r15d, esi
cmp dword [rdx + 0x60], esi
je 0x140045187
lea rcx, [rdx + 0x64]
mov r12, rsi
mov qword [rbp], rcx
mov r13, 0xffffffffffffffff
movsxd r8, dword [rcx]
mov eax, esi
sub eax, dword [rcx]
add r8, rcx
neg eax
sbb rax, rax
and r8, rax
mov rax, qword [rbp + 0x28c0]
add r8, r12
mov rbx, qword [rax + 0x10]
movsxd rcx, dword [r8]
add rcx, r8
cmp dword [r8], esi
cmove rcx, rsi
call fcn.1400495d0
mov r14, rax
test rax, rax
je 0x14004512c
cmp byte [rax], 2
jne 0x140045146
lea rcx, [rax + 0x10]
mov rdx, rbx
call fcn.140049be0
neg eax
sbb edi, edi
neg edi
dec edi
cmp edi, r13d
jne 0x14004516d
mov rax, qword [rbp + 0x28d8]
inc r15d
add r12, 4
cmp r15d, dword [rax + 0x60]
je 0x140045187
mov rcx, qword [rbp]
jmp 0x1400450d4
mov edi, r13d
nop dword [rax]
mov rdx, rbx
mov rcx, r14
inc edi
call fcn.140049be0
test eax, eax
jne 0x140045127
movzx eax, byte [rbx]
inc rbx
test al, al
je 0x14004512c
jmp 0x140045150
mov rax, qword [rbp + 0x28e0]
mov esi, 1
mov dword [rax], esi
mov rax, qword [rbp + 0x28c0]
jmp 0x14004525c
movzx eax, byte [rbp + 0x28c8]
xor eax, 1
lea esi, [rax + rax]
mov rax, qword [rbp + 0x28e0]
mov dword [rax], esi
mov rax, qword [rbp + 0x28c0]
jmp 0x14004525c
mov rax, qword [rbp + 0x28e0]
xor esi, esi
mov dword [rax], esi
mov rax, qword [r8 + 0x40]
mov rbx, qword [rax + 0x110]
mov qword [rcx + 0x18], 0x2800
mov dword [rcx + 0x20], esi
mov ecx, 0x2808
call fcn.140058a4c
mov qword [rax], 0x2800
lock add qword [rbx], 0x2800
add rax, 8
mov qword [r12 + 0x10], rax
mov byte [rax], sil
mov qword [r12 + 0x28], rbx
cmp rdi, 5
jb 0x140045203
mov rax, qword [str._unknown_]
jmp 0x14004520e
lea rcx, str._unknown_
mov rax, qword [rcx + rdi*8]
mov r9d, edi
mov qword [rsp + 0x20], rax
lea r8, str.Unknown_action_type__d___s_
mov edx, 0x400
lea rcx, [rbp + 0x70]
call fcn.140003390
mov r13, 0xffffffffffffffff
lea rax, [rbp + 0x70]
mov r8, r13
nop dword [rax]
inc r8
cmp byte [rax + r8], sil
jne 0x140045240
lea rdx, [rbp + 0x70]
mov rcx, r12
call fcn.140024c90
mov dword [r12], r13d
mov rax, r12
lea rsp, [rbp + 0x2878]
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
lea rcx, str.SleepConditionVariableCS___failed
call fcn.140013a60
int3
mov r8d, dword [rax + 0xac]
lea rcx, str.RPC_result_did_not_match_node_index__d__d
mov edx, dword [rdx + 0x90]
call fcn.1400139e0
int3
lea rcx, str.QueryPerformanceCounter_failed
call fcn.140013a60
int3