Function at 0x100075ba8
Capabilities:
Read file on windows

Disassembly:
push rbx
push rbp
push rsi
push rdi
sub rsp, 0x58
mov rbx, qword [rcx]
xor ebp, ebp
mov esi, 1
cmp dword [rbx - 0xc], ebp
jl 0x100075bcb
mov qword [rsp + 0x48], rbx
lock add dword [rbx - 0xc], esi
jmp 0x100075bf8
mov rax, qword [0x1000a1180]
mov qword [rsp + 0x48], rax
cmp rbx, rbp
jne 0x100075be0
mov eax, ebp
jmp 0x100075be9
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrlenW]
lea rcx, [rsp + 0x48]
mov r8, rbx
mov edx, eax
call fcn.100016504
lea rcx, [rsp + 0x48]
call fcn.1000166e4
mov rbx, qword [rsp + 0x48]
mov rcx, rbx
call qword [sym.imp.USER32.dll_CharLowerW]
mov rcx, rbx
call qword [sym.imp.SHLWAPI.dll_PathFindExtensionW]
cmp rax, rbp
jne 0x100075c4a
lea rcx, [rbx - 0xc]
lea rax, [0x1000a1170]
cmp rcx, rax
je 0x100075c40
or eax, 0xffffffff
lock xadd dword [rcx], eax
dec eax
cmp eax, ebp
jg 0x100075c40
call sub.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_
mov eax, 0x80004003
jmp 0x100075ef3
lea rdx, [0x1000067c0]
mov rcx, rax
call qword [sym.imp.msvcrt.dll__wcsicmp]
cmp eax, ebp
jne 0x100075cc8
lea rdx, [0x100006684]
mov rcx, rbx
call qword [sym.imp.msvcrt.dll__wfopen]
mov rdi, rax
cmp rax, rbp
jne 0x100075c80
mov edi, 0xc94700a8
jmp 0x100075ecf
lea rcx, [rsp + 0x90]
mov r9, rax
mov r8, rsi
mov edx, 4
mov dword [rsp + 0x90], ebp
call qword [sym.imp.msvcrt.dll_fread]
mov rcx, rdi
call qword [sym.imp.msvcrt.dll_fclose]
mov r11d, dword [rsp + 0x90]
sub r11d, 0x46464952
neg r11d
sbb edi, edi
and edi, 0xc947007f
jmp 0x100075ecf
lea r8, [rsp + 0x38]
mov edx, esi
xor ecx, ecx
mov qword [rsp + 0x38], rbp
call sub.WMVCore.DLL_WMCreateSyncReader
mov rcx, qword [rsp + 0x38]
cmp eax, ebp
mov edi, eax
jge 0x100075d15
cmp rcx, rbp
je 0x100075cf1
mov rdx, qword [rcx]
call qword [rdx + 0x10]
lea rcx, [rbx - 0xc]
lea rax, [0x1000a1170]
cmp rcx, rax
je 0x100075ef1
or eax, 0xffffffff
lock xadd dword [rcx], eax
dec eax
cmp eax, ebp
jmp 0x100075eea
cmp rcx, rbp
je 0x100075c1e
mov rax, qword [rcx]
mov rdx, rbx
call qword [rax + 0x18]
mov rcx, qword [rsp + 0x38]
cmp eax, ebp
mov edi, eax
jge 0x100075da7
cmp eax, 0xc00d0bbd
jne 0x100075d70
cmp rcx, rbp
je 0x100075d44
mov rax, qword [rcx]
call qword [rax + 0x10]
lea rcx, [rbx - 0xc]
lea rax, [0x1000a1170]
cmp rcx, rax
je 0x100075d66
or eax, 0xffffffff
lock xadd dword [rcx], eax
dec eax
cmp eax, ebp
jg 0x100075d66
call sub.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_
mov eax, 0xc9470089
jmp 0x100075ef3
cmp rcx, rbp
je 0x100075d7b
mov rax, qword [rcx]
call qword [rax + 0x10]
lea rcx, [rbx - 0xc]
lea rax, [0x1000a1170]
cmp rcx, rax
je 0x100075d9d
or eax, 0xffffffff
lock xadd dword [rcx], eax
dec eax
cmp eax, ebp
jg 0x100075d9d
call sub.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_
mov eax, 0xc947007f
jmp 0x100075ef3
mov qword [rsp + 0x40], rbp
mov rax, qword [rcx]
lea r8, [rsp + 0x40]
lea rdx, [0x1000066b8]
call qword [rax]
mov rcx, qword [rsp + 0x40]
cmp eax, ebp
mov esi, eax
jge 0x100075e0c
cmp rcx, rbp
je 0x100075dd3
mov rdx, qword [rcx]
call qword [rdx + 0x10]
mov rcx, qword [rsp + 0x38]
cmp rcx, rbp
je 0x100075de3
mov rax, qword [rcx]
call qword [rax + 0x10]
lea rcx, [rbx - 0xc]
lea rax, [0x1000a1170]
cmp rcx, rax
je 0x100075e05
or eax, 0xffffffff
lock xadd dword [rcx], eax
dec eax
cmp eax, ebp
jg 0x100075e05
call sub.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_
mov eax, esi
jmp 0x100075ef3
cmp rcx, rbp
jne 0x100075e2a
mov rcx, qword [rsp + 0x38]
cmp rcx, rbp
je 0x100075c1e
mov rax, qword [rcx]
call qword [rax + 0x10]
jmp 0x100075c1e
lea rdx, [rsp + 0x80]
mov eax, 4
mov dword [rsp + 0x98], 3
mov qword [rsp + 0x28], rdx
lea rdx, [rsp + 0x30]
mov word [rsp + 0x88], bp
mov word [rsp + 0x80], ax
mov rax, qword [rcx]
mov qword [rsp + 0x20], rdx
lea rdx, [rsp + 0x88]
lea r9, [rsp + 0x98]
lea r8, [0x1000028d0]
call qword [rax + 0x28]
cmp eax, ebp
mov esi, eax
jge 0x100075e8e
mov rcx, qword [rsp + 0x40]
jmp 0x100075dc8
cmp dword [rsp + 0x30], ebp
mov rcx, qword [rsp + 0x38]
mov eax, 0xc9470089
cmovne edi, eax
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rcx, qword [rsp + 0x40]
cmp eax, ebp
mov esi, eax
jl 0x100075dc8
cmp rcx, rbp
je 0x100075ebf
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rsp + 0x38]
cmp rcx, rbp
je 0x100075ecf
mov rax, qword [rcx]
call qword [rax + 0x10]
lea rax, [0x1000a1170]
lea rcx, [rbx - 0xc]
cmp rcx, rax
je 0x100075ef1
or edx, 0xffffffff
lock xadd dword [rcx], edx
dec edx
cmp edx, ebp
jg 0x100075ef1
call sub.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_
mov eax, edi
add rsp, 0x58
pop rdi
pop rsi
pop rbp
pop rbx
ret