Function at 0x180095d20
Capabilities:
Read file on windows

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x18]
sub rsp, 0x118
mov rax, qword [0x1800e5c38]
xor rax, rsp
mov qword [rbp], rax
mov qword [rsp + 0x68], r9
mov r10, r8
mov qword [rsp + 0x78], r8
mov r13, rdx
mov r12, rcx
mov r8, qword [rbp + 0x88]
mov qword [rbp - 0x78], r8
movdqa xmm0, xmmword [0x1800df5d0]
movdqa xmmword [rbp - 0x60], xmm0
mov byte [rbp - 0x70], 0
movdqa xmm1, xmm0
movdqa xmmword [rbp - 0x40], xmm0
mov byte [rbp - 0x50], 0
movdqa xmmword [rbp - 0x20], xmm0
mov byte [rbp - 0x30], 0
mov eax, dword [rbp + 0x80]
mov edx, eax
mov dword [rsp + 0x48], eax
mov esi, dword [rsp + 0x60]
mov r15, qword [rsp + 0x68]
mov r14, qword [rsp + 0x68]
mov ebx, dword [rsp + 0x40]
lea r11, [0x180000000]
add eax, 0x13
cmp edx, eax
jae case.0x180095ddf.285
lea eax, [rdx - 0x119]
cmp eax, 0x4d
ja case.0x180095ddf.297
movzx eax, byte [r11 + rax + 0x9630c]
mov ecx, dword [r11 + rax*4 + 0x962c8]
add rcx, r11
jmp rcx
xor esi, esi
mov r15, r9
jmp case.0x180095ddf.297
test r14, r14
je case.0x180095ddf.296
nop dword [rax]
nop dword [rax + rax]
mov edi, 0xd7
mov eax, edi
sub eax, 0xd7
je 0x180095e5c
sub eax, 0x62
je 0x180095e57
sub eax, 0x62
je 0x180095e32
sub eax, 0x62
je 0x180095e2a
cmp eax, 0x62
jne 0x180095e84
movsxd rax, esi
add r15, rax
jmp 0x180095e84
movsxd rax, esi
sub r14, rax
jmp 0x180095e84
mov rax, qword [r12]
movsxd rcx, dword [rax + 0x18]
cmp r14, rcx
cmovbe ecx, esi
movsxd rsi, ecx
mov r8, rsi
mov rdx, qword [r13 + 0xd8]
mov rcx, r15
call sub.VCRUNTIME140.dll_memcpy
jmp 0x180095e84
mov esi, r14d
jmp 0x180095e84
mov rax, qword [r12]
mov r8d, dword [rax + 0x18]
mov rdx, qword [r13 + 0xd8]
mov ecx, dword [r13 + 4]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll__read]
mov esi, eax
mov rcx, qword [r12]
cmp eax, dword [rcx + 0x18]
jne 0x180095f87
add edi, 0x62
cmp edi, 0x2c1
jb 0x180095e05
test r14, r14
jne 0x180095e00
mov edx, dword [rsp + 0x48]
xor ebx, ebx
mov dword [rsp + 0x40], ebx
jmp case.0x180095ddf.297
mov rcx, qword [r12]
mov rax, qword [rcx + 0x10]
mov r8, qword [r10]
mov rdx, qword [r13]
call qword [rax + 0x20]
mov ebx, eax
mov dword [rsp + 0x40], eax
jmp 0x1800961a2
mov rax, qword [r12]
mov eax, dword [rax + 0x80]
test eax, eax
je 0x180095ee6
mov ecx, r15d
or ecx, r14d
dec eax
test eax, ecx
jne case.0x180095ddf.297
mov edi, 0x90
mov dword [rsp + 0x5c], edi
cmp edi, 0x6030
ja 0x1800961a2
cmp edi, 0x90
je 0x180095fb2
cmp edi, 0x20a0
je 0x180095f23
cmp edi, 0x40b0
je case.0x180095ddf.285
add edi, 0x2010
jmp 0x180095eeb
movsxd rax, esi
cmp rax, r14
je 0x180095fa1
mov ecx, 0x78
cmp ecx, 0x7bc0
ja 0x180095f9d
cmp ecx, 0x78
je 0x180095f87
cmp ecx, 0x29b8
je 0x180095f6e
cmp ecx, 0x52f8
jne 0x180095f95
mov dword [rsp + 0x48], 0x157
movsxd rax, esi
mov r8, r14
sub r8, rax
lea rcx, [rax + r15]
xor edx, edx
call sub.VCRUNTIME140.dll_memset
jmp 0x1800961a2
mov dword [rsp + 0x58], 0x7f2bb724
xor eax, eax
test esi, esi
cmovns eax, esi
mov esi, eax
add ecx, 0x2940
jmp 0x180095f30
mov ecx, 0x78
mov edx, 0x154
mov dword [rsp + 0x48], edx
add ecx, 0x2940
jmp 0x180095f30
mov edi, dword [rsp + 0x5c]
xor ebx, ebx
mov dword [rsp + 0x40], ebx
add edi, 0x2010
jmp 0x180095eeb
mov r8d, r14d
mov rdx, r15
mov ecx, dword [r13 + 4]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll__read]
mov esi, eax
add edi, 0x2010
jmp 0x180095eeb
mov qword [rsp + 0x70], r12
cmp qword [r12 + 0x1a], 0
jne case.0x180095ddf.297
mov byte [rsp + 0x40], 0
mov ebx, dword [rsp + 0x40]
jmp case.0x180095ddf.285
mov r8, qword [rsp + 0x70]
add r8, 0xa
mov edx, 0x33
lea rcx, [rbp - 0x70]
call fcn.180051c90
jmp 0x1800961a2
mov rax, qword [rsp + 0x70]
movzx eax, word [rax + 8]
mov word [rsp + 0x50], ax
mov r9d, 0x112
lea r8, [rbp - 0x70]
mov rdx, r13
lea rcx, [rsp + 0x50]
call fcn.18005b510
mov byte [rsp + 0x40], al
mov ebx, dword [rsp + 0x40]
jmp 0x1800961a2
mov rax, qword [r12]
test rax, rax
je 0x1800961c5
mov eax, dword [rax]
sub eax, 0x7f2bb708
cmp eax, 2
ja case.0x180095ddf.297
mov edi, 0x84
nop
mov eax, edi
sub eax, 0x84
je 0x180096074
cmp eax, 1
je case.0x180095ddf.285
jmp 0x1800960bf
mov rcx, qword [r12]
mov qword [rbp - 0x80], rcx
mov eax, dword [r10]
mov dword [rsp + 0x40], eax
mov eax, dword [r13]
mov dword [rsp + 0x50], eax
mov eax, dword [rcx]
mov dword [rsp + 0x60], eax
lea rax, [rbp - 0x80]
mov qword [rsp + 0x20], rax
mov r9d, 0x3e
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x50]
call fcn.180095900
mov ebx, eax
mov dword [rsp + 0x40], eax
mov r10, qword [rsp + 0x78]
inc edi
cmp edi, 0x86
jb 0x180096060
jmp 0x1800961a2
mov edx, dword [r8]
test edx, edx
jns 0x1800960e6
neg edx
movsxd r14, edx
add qword [r13 + 0xe8], r14
jmp 0x1800961a2
mov rax, qword [r12]
imul edx, dword [rax + 0x18]
movsxd r14, edx
add qword [r13 + 0xe8], r14
jmp 0x1800961a2
mov ecx, 0x85
cmp ecx, 0x85
je 0x180096118
cmp ecx, 0x144
je case.0x180095ddf.285
jmp 0x180096126
mov rax, qword [r12]
mov ebx, dword [rax + 0x10]
and ebx, 8
mov dword [rsp + 0x40], ebx
add ecx, 0xbf
cmp ecx, 0x203
jb 0x180096102
mov rax, qword [r12]
mov ecx, dword [rax]
sub ecx, 0x7f2bb76d
cmp ecx, 2
jbe case.0x180095ddf.297
mov ecx, 0xb4
nop word [rax + rax]
mov eax, ecx
sub eax, 0xb4
je 0x180096160
cmp eax, 1
je case.0x180095ddf.285
jmp 0x180096169
mov ebx, 0x16
mov dword [rsp + 0x40], ebx
inc ecx
cmp ecx, 0xb6
jb 0x180096150
jmp case.0x180095ddf.297
mov rcx, qword [r12]
mov rax, qword [rcx + 0x20]
test rax, rax
je case.0x180095ddf.297
mov edx, dword [rsp + 0x58]
mov dword [rsp + 0x30], edx
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], r14
mov r9, r15
mov r8d, dword [r8]
mov edx, dword [r10]
call rax
mov dword [rsp + 0x58], eax
mov edx, dword [rsp + 0x48]
inc edx
mov dword [rsp + 0x48], edx
mov r10, qword [rsp + 0x78]
mov eax, dword [rbp + 0x80]
mov r8, qword [rbp - 0x78]
mov r9, qword [rsp + 0x68]
jmp 0x180095daa
mov ebx, 0x16
jmp case.0x180095ddf.285
mov ebx, dword [rsp + 0x58]
mov rdx, qword [rbp - 0x18]
cmp rdx, 0x10
jb 0x18009620f
inc rdx
mov rcx, qword [rbp - 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18009620a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18009629a
call fcn.1800cfd58
movdqa xmm0, xmmword [0x1800df5d0]
movdqa xmmword [rbp - 0x20], xmm0
mov byte [rbp - 0x30], 0
mov rdx, qword [rbp - 0x38]
cmp rdx, 0x10
jb 0x180096257
inc rdx
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180096252
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18009629a
call fcn.1800cfd58
movdqa xmm0, xmmword [0x1800df5d0]
movdqa xmmword [rbp - 0x40], xmm0
mov byte [rbp - 0x50], 0
mov rdx, qword [rbp - 0x58]
cmp rdx, 0x10
jb 0x1800962a6
inc rdx
mov rcx, qword [rbp - 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800962a1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1800962a1
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1800cfd58
mov eax, ebx
mov rcx, qword [rbp]
xor rcx, rsp
call fcn.1800d0500
add rsp, 0x118
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret