Function at 0x140045740
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x10]
mov eax, 0x110
call fcn.1400c4950
sub rsp, rax
mov rax, qword [0x140276168]
xor rax, rsp
mov qword [rbp], rax
mov rdi, rcx
lea rsi, [rcx + 0x28]
xor r15d, r15d
mov qword [rsi + 0x10], r15
mov rax, rsi
cmp qword [rsi + 0x18], 8
jb 0x140045793
mov rax, qword [rsi]
mov word [rax], r15w
lea rcx, [0x1401f1d0c]
mov eax, dword [rdi + 8]
test al, 0x40
je 0x1400457ae
lea r8, [0x1401fa110]
jmp 0x1400457bb
test al, 0x20
lea r8, [0x1401fa118]
cmove r8, rcx
mov qword [rdi], r15
mov rcx, rdi
call fcn.1400de050
test eax, eax
je 0x1400457cd
mov qword [rdi], r15
mov rcx, qword [rdi]
test rcx, rcx
jne 0x1400457e2
mov rcx, rdi
call fcn.140045320
jmp 0x140045ca2
mov r12b, 1
mov ebx, r15d
mov dword [rdi + 0x1c], 1
mov eax, dword [rdi + 8]
test al, 0x10
je 0x140045ae2
xor edx, edx
lea r8d, [rdx + 2]
call fcn.1400e192c
mov rcx, qword [rdi]
call fcn.1400e1ff0
mov dword [rdi + 0x14], eax
xor r8d, r8d
xor edx, edx
mov rcx, qword [rdi]
call fcn.1400e192c
mov ecx, 0x400
mov dword [rsp + 0x34], ecx
mov eax, dword [rdi + 0x14]
cmp eax, ecx
jge 0x14004583b
mov ecx, eax
mov dword [rsp + 0x34], eax
test eax, eax
je 0x140045bae
movsxd r14, ecx
mov rcx, r14
call fcn.1400c4378
mov r15, rax
mov r9, qword [rdi]
mov r8d, 1
mov rdx, r14
mov rcx, rax
call fcn.1400e155c
cmp rax, 1
sete r12b
mov byte [rsp + 0x30], r12b
jne 0x140045ad5
xor ecx, ecx
mov r13d, ecx
and dword [rdi + 8], 0xfffffffa
mov eax, dword [rdi + 8]
mov dword [rsp + 0x38], eax
lea r12, [rcx - 1]
cmp qword [0x140275640], rcx
je 0x140045924
mov r11d, ecx
mov eax, ecx
lea rsi, [0x140275640]
nop dword [rax]
movsxd r10, dword [rax + rsi + 8]
mov ebx, ecx
test r10d, r10d
jle 0x1400458d1
lea r9, [rax + rsi]
mov rax, rcx
cmp rax, r14
jge 0x1400458cf
mov rcx, qword [r9]
movzx edx, byte [rax + rcx]
cmp byte [rax + r15], dl
jne 0x1400458cf
inc ebx
inc rax
cmp rax, r10
jl 0x1400458b3
xor ecx, ecx
cmp ebx, r10d
je 0x1400458ee
inc r13d
inc r11
mov ebx, ecx
mov rax, r11
shl rax, 5
cmp qword [rax + rsi], 0
jne 0x1400458a0
jmp 0x140045924
movsxd rdx, r13d
shl rdx, 5
mov eax, dword [rsp + 0x38]
or eax, dword [rdx + rsi + 0x18]
mov dword [rdi + 8], eax
cmp ebx, 2
jne 0x140045908
mov dword [rdi + 0x1c], ebx
mov rdx, qword [rdx + rsi + 0x10]
mov r8, r12
inc r8
cmp word [rdx + r8*2], 0
jne 0x140045910
lea rcx, [rdi + 0x48]
call fcn.1400175d0
mov r13d, dword [rsp + 0x34]
cmp r13d, ebx
jle 0x14004593b
xor r8d, r8d
mov edx, ebx
mov rcx, qword [rdi]
call fcn.1400e192c
test ebx, ebx
jne 0x140045aa9
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
xor eax, eax
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], 7
mov word [rsp + 0x40], ax
mov r9d, r13d
mov r8, r15
lea rdx, [0x1401f89b0]
lea rcx, [rsp + 0x60]
call fcn.1400445a0
nop
lea eax, [r13 + 1]
movsxd rcx, eax
mov eax, 2
mul rcx
cmovo rax, r12
mov rcx, rax
call fcn.1400c4378
mov rsi, rax
cmp dword [rsp + 0x58], r13d
jge 0x1400459aa
mov rdx, r14
lea rcx, [rsp + 0x40]
call fcn.14004dbf0
mov dword [rbp - 0x54], r13d
lea r8, str.UTF_16
mov rdx, rsi
lea rcx, [rsp + 0x60]
call fcn.14004c600
movsxd rcx, eax
mov qword [rsp + 0x20], rcx
mov r9, rsi
mov r8, qword [rsp + 0x50]
xor edx, edx
lea rcx, [rsp + 0x40]
call fcn.14004da20
mov rcx, rsi
call fcn.1400c3d50
lea rdx, [rsp + 0x40]
cmp qword [rsp + 0x58], 8
cmovae rdx, qword [rsp + 0x40]
lea rcx, [rbp - 0x20]
call fcn.140047e10
lea rsi, [rdi + 0x48]
mov rdx, rax
mov rcx, rsi
call fcn.1400343b0
mov rdx, qword [rbp - 8]
cmp rdx, 8
jb 0x140045a50
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140045a4a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140045cd5
call fcn.1400c3d50
nop
lea rcx, [rbp - 0x80]
call fcn.1400350c0
lea rcx, [rsp + 0x60]
call fcn.1400350c0
nop
mov rdx, qword [rsp + 0x58]
cmp rdx, 8
jb 0x140045aad
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140045aa1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140045ccf
call fcn.1400c3d50
nop
jmp 0x140045aad
lea rsi, [rdi + 0x48]
cmp qword [rdi + 0x58], 0
jne 0x140045acf
cmp byte [r15], 0x3c
jne 0x140045acf
mov r8d, 5
lea rdx, [0x1401f89b0]
mov rcx, rsi
call fcn.1400175d0
movzx r12d, byte [rsp + 0x30]
mov rcx, r15
call fcn.1400c3d50
jmp 0x140045ba1
test al, 0x20
je 0x140045bae
test al, 0x40
je 0x140045b04
xor edx, edx
lea r8d, [rdx + 2]
call fcn.1400e192c
mov rcx, qword [rdi]
call fcn.1400e1ff0
mov dword [rdi + 0x14], eax
mov edx, r15d
cmp qword [0x140275640], rdx
je 0x140045bae
mov r8d, dword [rdi + 8]
mov rcx, r15
mov rax, r15
lea rsi, [0x140275640]
test dword [rax + rsi + 0x18], r8d
jne 0x140045b40
inc edx
inc rcx
mov rax, rcx
shl rax, 5
cmp qword [rax + rsi], rbx
jne 0x140045b25
jmp 0x140045baa
movsxd r14, edx
shl r14, 5
movsxd rbx, dword [r14 + rsi + 8]
cmp ebx, 2
jne 0x140045b54
mov dword [rdi + 0x1c], ebx
mov rdx, qword [r14 + rsi + 0x10]
mov r12, 0xffffffffffffffff
inc r12
cmp word [rdx + r12*2], r15w
jne 0x140045b60
lea rcx, [rdi + 0x48]
mov r8, r12
call fcn.1400175d0
cmp dword [rdi + 0x14], r15d
je 0x140045b84
mov ebx, r15d
mov r12b, 1
jmp 0x140045baa
mov rdx, rbx
mov r9, qword [rdi]
mov r8d, 1
mov rcx, qword [r14 + rsi]
call fcn.1400e23f8
cmp rax, 1
sete r12b
test r12b, r12b
je 0x1400457d5
lea rsi, [rdi + 0x28]
test byte [rdi + 8], 0x40
je 0x140045bb9
mov eax, dword [rdi + 0x14]
jmp 0x140045bbb
mov eax, ebx
mov dword [rdi + 0x18], eax
test ebx, ebx
je 0x140045c9e
cmp dword [rsi + 0x10], 0x3e8
jge 0x140045c9e
mov rax, rsi
cmp qword [rsi + 0x18], 8
jb 0x140045be0
mov rax, qword [rsi]
mov qword [rsp + 0x38], rax
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x60]
call fcn.140033ec0
nop
mov r9d, 2
lea r8, [0x140231b70]
lea rdx, [0x1401fa120]
lea rcx, [rsp + 0x60]
call fcn.14004de20
lea rax, [rsp + 0x60]
cmp rsi, rax
je 0x140045c3c
lea rdx, [rsp + 0x60]
cmp qword [rsp + 0x78], 8
cmovae rdx, qword [rsp + 0x60]
mov r8, qword [rsp + 0x70]
mov rcx, rsi
call fcn.1400175d0
nop
cmp qword [rbp - 0x38], 0
je 0x140045c4d
lea rcx, [rsp + 0x60]
call fcn.140044c40
mov rbx, qword [rbp - 0x30]
test rbx, rbx
je 0x140045c6c
mov rcx, rbx
call fcn.14004d1f0
nop
mov edx, 8
mov rcx, rbx
call fcn.1400c3d50
mov rbx, qword [rbp - 0x28]
test rbx, rbx
je 0x140045c8a
mov rcx, rbx
call fcn.14004d170
mov edx, 0x10
mov rcx, rbx
call fcn.1400c3d50
lea rcx, [rbp - 0x80]
call fcn.1400350c0
lea rcx, [rsp + 0x60]
call fcn.1400350c0
nop
movzx eax, r12b
mov rcx, qword [rbp]
xor rcx, rsp
call fcn.1400c3d30
lea r11, [rsp + 0x110]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.1400da6c4
nop
call fcn.1400da6c4
int3