Function at 0x18002d990
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x200]
sub rsp, 0x300
mov rax, qword [0x1800b43d8]
xor rax, rsp
mov qword [rbp + 0x1f0], rax
mov rsi, qword [rbp + 0x260]
mov r14, rdx
mov qword [rbp - 0x50], rdx
mov r15, r8
lea edx, [r9 - 0x10]
mov dword [rsp + 0x64], r9d
mov qword [rbp - 0x60], r8
mov r13, rcx
mov qword [rbp - 0x48], rcx
mov qword [rbp - 0x58], rsi
mov dword [rsp + 0x60], edx
cmp r9d, edx
jbe case.0x18002da3a.0
mov r12, qword [rbp - 0x50]
lea edx, [r9 - 0x8a]
mov edi, dword [rsp + 0x78]
lea r8, [0x180000000]
mov eax, dword [rsp + 0x60]
xor ebx, ebx
mov dword [rsp + 0x68], edx
lea r10, [0x1800a9369]
cmp edx, 0x42
ja case.default.0x18002da3a
movzx eax, byte [r8 + rdx + 0x2e0d4]
mov ecx, dword [r8 + rax*4 + 0x2e0a4]
add rcx, r8
jmp rcx
lea r15, [0x180000000]
mov r9, rsi
lea rcx, [rbp - 0x10]
mov edx, 1
mov r8d, 0x200
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
mov rsi, rax
lea rdx, [rbp - 0x10]
movsxd rax, dword [r14]
lea rcx, [rbp - 0x18]
shl rax, 7
mov r8d, esi
call qword [rax + r15 + 0xed660]
test eax, eax
jne 0x18002e034
cmp rsi, 0x200
mov rsi, qword [rbp - 0x58]
je 0x18002da43
movsxd rax, dword [r14]
lea rcx, [rbp - 0x18]
shl rax, 7
mov rdx, r13
call qword [rax + r15 + 0xed668]
mov r14d, 0x200
mov r15d, 0x127
mov r13d, eax
mov eax, r15d
sub eax, 0x104
je 0x18002db8f
sub eax, 0x23
je 0x18002db74
sub eax, 0xa361
je 0x18002daf3
cmp eax, 0xa384
jne 0x18002dc08
mov r9d, 0x5a
xor r8d, r8d
mov rdx, r12
xor ecx, ecx
call fcn.18002e120
jmp 0x18002dc08
mov r9d, 0x4b
mov qword [rsp + 0x20], rbx
lea r8, [rbp - 0x40]
mov rdx, r12
xor ecx, ecx
call fcn.180025cd0
xor r8d, r8d
lea rdx, [rbp - 0x40]
mov ecx, 0xef
call fcn.180045630
test eax, eax
je 0x18002dc08
nop word [rax + rax]
mov esi, 0xbb
cmp esi, 0xbb
jne 0x18002db50
xor r9d, r9d
lea r8, [rbp - 0x40]
lea edx, [rsi - 0x2e]
lea rcx, [rbp - 0x28]
call fcn.180030e50
inc esi
cmp esi, 0xbd
jb 0x18002db35
xor r8d, r8d
lea rdx, [rbp - 0x40]
mov ecx, 0xef
call fcn.180045630
test eax, eax
jne 0x18002db30
jmp 0x18002dc08
test r14, r14
je 0x18002db8a
mov r8, r14
lea rcx, [rbp - 0x10]
xor edx, edx
call sub.VCRUNTIME140.dll_memset
mov r14, rbx
dec r14
jmp 0x18002dc08
lea rax, [0x18005f9a0]
mov edx, 0xd2
mov qword [rbp - 0x80], rax
lea r8, [rsp + 0x78]
lea rax, [0x18005f9d0]
lea rcx, [rbp - 0x80]
mov qword [rsp + 0x78], rax
call fcn.180036160
mov r12, rax
lea r9, [rbp - 0x80]
lea rax, [0x1800b3c0c]
mov rcx, r12
lea r8, [rsp + 0x78]
mov qword [rbp - 0x80], rax
mov edx, 0x36
mov qword [rsp + 0x78], rax
call fcn.180027520
lea rax, [0x1800b3de8]
mov edx, 0x36
lea r9, [rbp - 0x80]
mov qword [rbp - 0x80], rax
lea r8, [rsp + 0x78]
mov qword [rsp + 0x78], rax
mov rcx, r12
call fcn.180027520
add r15d, 0xb987
cmp r15d, 0x2e61c
jbe 0x18002dab2
mov dword [rsp + 0x70], r13d
mov r13, qword [rbp - 0x48]
jmp 0x18002dffc
cmp qword [0x1800b44d8], rbx
je 0x18002dc46
cmp qword [0x1800b44d0], rbx
je 0x18002dc46
mov byte [rsp + 0x70], 1
jmp case.0x18002da3a.5
mov byte [rsp + 0x70], bl
jmp case.0x18002da3a.5
test r13, r13
jne 0x18002dca8
mov qword [rsp + 0x48], rbx
lea rax, [rsp + 0x78]
mov qword [rsp + 0x40], rbx
lea r8, str.Bps__uses:
mov qword [rsp + 0x38], r10
xor r9d, r9d
mov qword [rsp + 0x30], rax
mov edx, 0xcd
mov qword [rsp + 0x28], rbx
xor ecx, ecx
mov qword [rsp + 0x20], rbx
mov dword [rsp + 0x78], ebx
call fcn.180026490
mov r9d, dword [rsp + 0x64]
lea r8, [0x180000000]
mov edx, dword [rsp + 0x68]
lea r10, [0x1800a9369]
test r15, r15
jne case.0x18002da3a.5
mov qword [rsp + 0x48], rbx
lea rax, [rsp + 0x78]
mov qword [rsp + 0x40], rbx
lea r8, str.vmodlWriteable
mov qword [rsp + 0x38], r10
xor r9d, r9d
mov qword [rsp + 0x30], rax
mov edx, 0xcd
mov qword [rsp + 0x28], rbx
xor ecx, ecx
mov qword [rsp + 0x20], rbx
mov dword [rsp + 0x78], ebx
call fcn.180026490
jmp 0x18002e000
test rsi, rsi
jne case.0x18002da3a.5
mov qword [rsp + 0x48], rbx
lea rax, [rsp + 0x78]
mov qword [rsp + 0x40], rbx
lea r8, str.parameter3
mov qword [rsp + 0x38], r10
xor r9d, r9d
mov qword [rsp + 0x30], rax
mov edx, 0xcd
mov qword [rsp + 0x28], rbx
xor ecx, ecx
mov qword [rsp + 0x20], rbx
mov dword [rsp + 0x78], ebx
call fcn.180026490
jmp 0x18002e000
movsxd rax, dword [r14]
shl rax, 7
mov ecx, dword [rax + r8 + 0xed60c]
cmp dword [r15], ecx
jb 0x18002e067
lea rcx, [rbp - 0x18]
call qword [rax + r8 + 0xed658]
test eax, eax
jne 0x18002e034
movsxd rax, dword [r14]
lea r8, [0x180000000]
shl rax, 7
mov eax, dword [rax + r8 + 0xed60c]
mov dword [r15], eax
jmp 0x18002e007
lea r8, [rbp - 0x78]
mov edx, 0xc4
mov rcx, r13
call fcn.18000edb0
mov r8d, 0xa5
lea rdx, [rbp - 0x78]
xor ecx, ecx
call fcn.180059240
mov dword [rsp + 0x70], ebx
jmp 0x18002e000
mov eax, dword [r14]
mov esi, 0xd4
mov dword [rsp + 0x78], eax
nop
mov eax, esi
sub eax, 0x28
je 0x18002ddff
sub eax, 0x3a
je 0x18002de21
cmp eax, 0x72
jne 0x18002de16
movsxd rax, dword [rsp + 0x78]
cmp eax, 0x1f
ja 0x18002e074
shl rax, 7
lea r8, [0x180000000]
cmp qword [rax + r8 + 0xed600], rbx
je 0x18002e074
mov edi, ebx
jmp 0x18002e007
mov r8d, dword [SHChangeNotifyDeregister]
lea rcx, [rsp + 0x78]
xor edx, edx
call qword [0x1800ee6a0]
mov edi, eax
add esi, 0x3a
cmp esi, 0x182
jb 0x18002ddc0
test edi, edi
jne 0x18002e079
jmp 0x18002e000
mov eax, dword [rsi]
xor r9d, r9d
mov qword [rsp + 0x48], rbx
xor edx, edx
cmp dword [r14], eax
lea rax, [rbp - 0x78]
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x38], rbx
lea r8d, [r9 + 0x5f]
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rbx
jle 0x18002de75
mov rcx, r14
call fcn.180018250
test eax, eax
jne 0x18002e034
mov r11, rsi
jmp 0x18002de88
mov rcx, rsi
call fcn.180018250
test eax, eax
jne 0x18002e034
mov r11, r14
movsxd r15, dword [r11]
mov r9d, ebx
mov r8, rbx
test r15d, r15d
jle 0x18002df72
cmp r15d, 0x10
jb 0x18002df72
mov rdx, qword [rbp - 0x68]
lea eax, [r15 - 1]
mov r10, qword [r11 + 0x10]
lea rsi, [r11 + 0x10]
movsxd rcx, eax
lea rax, [r10 + rcx*4]
lea r14, [rdx + rcx*4]
cmp rdx, rax
ja 0x18002decd
cmp r14, r10
jae 0x18002df72
cmp qword [rbp - 0x68], rsi
ja 0x18002dedc
cmp r14, rsi
jae 0x18002df72
mov ecx, r15d
and ecx, 0x8000000f
jge 0x18002deee
dec ecx
or ecx, 0xfffffff0
inc ecx
mov rdx, qword [rbp - 0x68]
mov eax, r15d
sub eax, ecx
movsxd rsi, eax
lea rcx, [rdx + 0x20]
neg rdx
movdqu xmm0, xmmword [rcx - 0x20]
lea rax, [r10 + rdx]
add r9d, 0x10
movdqu xmm1, xmmword [rax + rcx - 0x20]
lea rax, [r10 + rdx]
add r8, 0x10
lea rcx, [rcx + 0x40]
pand xmm1, xmm0
movdqu xmmword [rcx - 0x60], xmm1
movdqu xmm0, xmmword [rcx - 0x50]
movdqu xmm1, xmmword [rax + rcx - 0x50]
lea rax, [r10 + rdx]
pand xmm1, xmm0
movdqu xmmword [rcx - 0x50], xmm1
movdqu xmm0, xmmword [rcx - 0x40]
movdqu xmm1, xmmword [rax + rcx - 0x40]
lea rax, [r10 + rdx]
pand xmm1, xmm0
movdqu xmmword [rcx - 0x40], xmm1
movdqu xmm0, xmmword [rcx - 0x30]
movdqu xmm1, xmmword [rax + rcx - 0x30]
pand xmm1, xmm0
movdqu xmmword [rcx - 0x30], xmm1
cmp r8, rsi
jl 0x18002df01
cmp r8, r15
jge 0x18002df9a
mov eax, r15d
sub eax, r8d
add r9d, eax
mov rax, qword [rbp - 0x68]
lea rdx, [rax + r8*4]
mov rax, qword [r11 + 0x10]
mov ecx, dword [rax + r8*4]
inc r8
and dword [rdx], ecx
cmp r8, r15
jl 0x18002df80
cmp r9d, dword [rbp - 0x78]
jge 0x18002dfc6
lea r8, [r8*4]
nop dword [rax + rax]
mov rax, qword [rbp - 0x68]
lea r8, [r8 + 4]
inc r9d
mov dword [r8 + rax - 4], ebx
cmp r9d, dword [rbp - 0x78]
jl 0x18002dfb0
mov qword [rsp + 0x50], rbx
lea r8, [rbp - 0x78]
mov qword [rsp + 0x48], rbx
xor r9d, r9d
mov qword [rsp + 0x40], rbx
xor edx, edx
mov qword [rsp + 0x38], rbx
mov ecx, 0xe9
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rbx
call fcn.180032550
mov r15, qword [rbp - 0x60]
lea r8, [0x180000000]
mov edx, dword [rsp + 0x68]
mov r9d, dword [rsp + 0x64]
mov eax, dword [rsp + 0x60]
dec r9d
dec edx
mov dword [rsp + 0x64], r9d
mov dword [rsp + 0x68], edx
cmp r9d, eax
jbe case.0x18002da3a.0
mov r14, qword [rbp - 0x50]
mov rsi, qword [rbp - 0x58]
jmp 0x18002da16
mov dword [rsp + 0x70], eax
mov rax, qword [rsp + 0x70]
mov rcx, qword [rbp + 0x1f0]
xor rcx, rsp
call fcn.1800602e0
mov rbx, qword [rsp + 0x358]
add rsp, 0x300
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov dword [r15], ecx
mov dword [rsp + 0x70], 6
jmp case.0x18002da3a.0
mov edi, 0xb
mov dword [rsp + 0x70], edi
jmp case.0x18002da3a.0
mov rax, qword [r14]
mov rcx, qword [r14 + 8]
cmp rax, rcx
je 0x18002e09e
mov edx, dword [rsi]
nop dword [rax]
cmp dword [rax + 8], edx
je 0x18002e03d
add rax, 0x10
cmp rax, rcx
jne 0x18002e090
mov rax, rbx
jmp 0x18002e03d