Function at 0x180073eb0
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x10], rdx
mov dword [rsp + 8], ecx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x130]
sub rsp, 0x230
mov r15, rdx
mov rbx, r8
lea edx, [rcx - 0xe]
mov eax, ecx
mov dword [rsp + 0x60], edx
cmp ecx, edx
jbe 0x180074a1a
mov r13, qword [rsp + 0x70]
mov r12d, dword [rbp + 0x170]
xor r14d, r14d
lea r10, [0x180000000]
add eax, 0xffffffea
lea r8d, [r14 + 2]
cmp eax, 0x23
ja case.0x180073f37.36
movzx eax, byte [r10 + rax + 0x74a78]
movsxd rsi, dword [rsp + 0x68]
mov qword [rbp - 0x80], rsi
mov ecx, dword [r10 + rax*4 + 0x74a3c]
add rcx, r10
jmp rcx
mov dword [rbp - 0x80], r8d
lea r9, [rbp - 0x80]
mov r8, rbx
lea rcx, [rbp + 0x100]
mov edx, 0x71
call fcn.180026850
mov rdx, rbx
mov ecx, 0xd9
movups xmm0, xmmword [rax]
movd dword [r15 + 0x64], xmm0
call fcn.1800922e0
mov rdx, rbx
mov dword [r15 + 0x68], eax
mov ecx, 0xd9
call fcn.1800922e0
mov dword [r15 + 0x6c], eax
jmp 0x1800749d0
mov r9, rbx
lea rcx, [rbp - 0x60]
xor edx, edx
mov r8d, 0xc9
call fcn.1800266b0
mov eax, dword [rax]
mov byte [r15 + 9], al
jmp 0x1800749d0
mov r9, rbx
lea rcx, [rbp - 0x50]
xor edx, edx
mov r8d, 0xc9
call fcn.1800266b0
mov eax, dword [rax]
mov byte [r15 + 0x60], al
jmp 0x1800749d0
test r13, r13
je 0x180073fe5
nop dword [rax + rax]
mov rcx, r13
mov r13, qword [r13]
call fcn.1800ce6a4
test r13, r13
jne 0x180073fd0
mov edx, dword [rsp + 0x60]
mov r13, qword [rbx + 0x40]
mov qword [rsp + 0x70], r13
test r13, r13
je case.0x180073f37.36
nop word [rax + rax]
mov rcx, r13
mov r13, qword [r13]
call fcn.1800ce6a4
test r13, r13
jne 0x180074000
mov qword [rsp + 0x70], r13
jmp 0x1800749d0
mov eax, dword [rbx + 0x48]
mov dword [rsp + 0x64], eax
test eax, eax
jne 0x180074034
cmp dword [rbx + 0x4c], 0x1a6
mov dword [rsp + 0x6c], r14d
jne 0x18007403c
mov dword [rsp + 0x6c], 1
mov eax, dword [rbx + 0x18]
mov dword [rsp + 0x68], eax
mov eax, dword [rbx + 0x1c]
mov dword [rsp + 0x78], eax
jmp case.0x180073f37.36
mov rcx, rbx
call fcn.1800ce6a4
jmp 0x1800749d0
cmp dword [r15 + 0xc], 0
jbe 0x1800742e3
mov qword [rsp + 0x58], r14
lea rcx, [rbp - 0x40]
mov qword [rsp + 0x50], r14
xor r9d, r9d
mov qword [rsp + 0x48], r14
xor edx, edx
mov qword [rsp + 0x40], r14
mov r8d, 0x82
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], r14
call fcn.1800a7ba0
mov ecx, dword [rax]
mov dword [r15 + 0x10], ecx
test ecx, ecx
jne 0x180074115
mov edi, r14d
cmp dword [r15 + 0xc], ecx
jbe 0x1800742e3
nop word [rax + rax]
mov qword [rsp + 0x58], r14
lea rcx, [rbp - 0x30]
mov qword [rsp + 0x50], r14
xor r9d, r9d
mov qword [rsp + 0x48], r14
xor edx, edx
mov qword [rsp + 0x40], r14
mov r8d, 0x82
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], r14
call fcn.1800a7ba0
mov ecx, edi
inc edi
movups xmm0, xmmword [rax]
movd dword [r15 + rcx*4 + 0x18], xmm0
cmp edi, dword [r15 + 0xc]
jb 0x1800740c0
jmp 0x1800742e3
cmp ecx, 2
jne 0x1800741cf
cmp dword [r15 + 0xc], 0
mov esi, r14d
jbe 0x1800742e3
nop dword [rax]
mov qword [rsp + 0x58], r14
lea rcx, [rbp - 0x20]
mov qword [rsp + 0x50], r14
xor r9d, r9d
mov qword [rsp + 0x48], r14
xor edx, edx
mov qword [rsp + 0x40], r14
mov r8d, 0x82
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], r14
call fcn.1800a7ba0
mov qword [rsp + 0x58], r14
lea rcx, [rbp - 0x10]
mov qword [rsp + 0x50], r14
xor r9d, r9d
mov qword [rsp + 0x48], r14
xor edx, edx
movups xmm0, xmmword [rax]
mov qword [rsp + 0x40], r14
mov r8d, 0x82
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x30], r14
mov edi, esi
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], r14
movd dword [r15 + rdi*4 + 0x18], xmm0
call fcn.1800a7ba0
inc esi
movups xmm0, xmmword [rax]
movd dword [r15 + rdi*4 + 0x38], xmm0
cmp esi, dword [r15 + 0xc]
jb 0x180074130
jmp 0x1800742e3
lea eax, [rcx - 3]
cmp eax, 2
jbe 0x180074284
cmp ecx, 6
jne 0x1800742e3
mov qword [rsp + 0x58], r14
lea r8d, [rcx + 0x7c]
mov qword [rsp + 0x50], r14
lea rcx, [rbp]
mov qword [rsp + 0x48], r14
xor r9d, r9d
mov qword [rsp + 0x40], r14
xor edx, edx
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], r14
call fcn.1800a7ba0
mov edi, r14d
mov eax, dword [rax]
mov dword [r15 + 0x18], eax
test eax, eax
je 0x1800742e3
nop
mov qword [rsp + 0x58], r14
lea rcx, [rbp + 0x10]
mov qword [rsp + 0x50], r14
xor r9d, r9d
mov qword [rsp + 0x48], r14
xor edx, edx
mov qword [rsp + 0x40], r14
mov r8d, 0x82
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], r14
call fcn.1800a7ba0
mov rcx, qword [r15 + 0x20]
mov edx, edi
inc edi
movups xmm0, xmmword [rax]
movd dword [rcx + rdx*4], xmm0
cmp edi, dword [r15 + 0x18]
jb 0x180074230
jmp 0x1800742e3
mov r9, rbx
lea rcx, [rbp + 0x20]
xor edx, edx
mov r8d, 0xc9
call fcn.1800266b0
mov qword [rsp + 0x58], r14
lea rcx, [rbp + 0x30]
mov qword [rsp + 0x50], r14
xor r9d, r9d
mov qword [rsp + 0x48], r14
xor edx, edx
mov eax, dword [rax]
mov r8d, 0x82
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], r14
mov byte [r15 + 0x18], al
call fcn.1800a7ba0
movups xmm0, xmmword [rax]
movd dword [r15 + 0x1c], xmm0
mov qword [rsp + 0x58], r14
lea rcx, [rbp + 0x40]
mov qword [rsp + 0x50], r14
xor r9d, r9d
mov qword [rsp + 0x48], r14
xor edx, edx
mov qword [rsp + 0x40], r14
mov r8d, 0x82
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], r14
call fcn.1800a7ba0
mov qword [rsp + 0x58], r14
lea rcx, [rbp + 0x50]
mov qword [rsp + 0x50], r14
xor r9d, r9d
mov qword [rsp + 0x48], r14
xor edx, edx
movups xmm0, xmmword [rax]
mov qword [rsp + 0x40], r14
mov r8d, 0x82
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x28], r14
movd dword [r15 + 0x58], xmm0
mov qword [rsp + 0x20], r14
call fcn.1800a7ba0
movups xmm0, xmmword [rax]
movd dword [r15 + 0x5c], xmm0
jmp 0x1800749d0
mov edx, dword [rbx + 0x58]
mov ecx, dword [rbx + 0x54]
mov dword [rbp - 0x78], 8
lea eax, [rdx - 1]
cmp ecx, eax
jle 0x180074395
sub ecx, edx
mov r12d, 1
dec ecx
shl r12d, cl
jmp 0x180074398
mov r12d, r14d
mov edi, r14d
mov r14d, dword [rsp + 0x78]
test r14d, r14d
jle 0x180074458
mov r13, qword [rbp + 0x188]
xor edx, edx
mov eax, edi
cmp dword [rbx + 0x58], 8
mov r9, r13
mov r8, rsi
setg dl
imul eax, dword [rbx + 0x20]
inc rdx
movsxd rcx, eax
add rcx, qword [rbx]
call fcn.1800d35a4
cmp rax, rsi
je 0x1800743e9
mov edx, 0x2d
lea rcx, str.OOBEPDAppcorePDApp.exe
call fcn.180032e20
mov eax, dword [rbx + 0x54]
cmp dword [rbx + 0x58], eax
je 0x180074441
lea r8, [rsi - 1]
test r8, r8
js 0x180074441
nop word [rax + rax]
mov edx, dword [rbx + 0x58]
mov eax, edi
imul eax, dword [rbx + 0x20]
mov ecx, dword [rbx + 0x54]
movsxd r9, eax
add r9, qword [rbx]
movzx eax, byte [r9 + r8]
cmp edx, 8
jne 0x180074423
add ecx, 0xfffffff8
shl eax, cl
jmp 0x180074437
cmp ecx, edx
jle 0x18007442d
sub ecx, edx
shl eax, cl
jmp 0x180074437
sub edx, ecx
add eax, r12d
movzx ecx, dl
sar eax, cl
mov byte [r9 + r8], al
sub r8, 1
jns 0x180074400
inc edi
cmp edi, r14d
jl 0x1800743b0
mov r13, qword [rsp + 0x70]
mov r9, qword [rbp + 0x188]
cmp dword [rbx + 0x4c], 0x190
je 0x180074a1a
mov ecx, dword [rsp + 0x64]
xor edi, edi
sar r14d, cl
test r14d, r14d
jle 0x1800749d0
mov r13d, dword [rsp + 0x68]
mov eax, r13d
mov ecx, dword [rsp + 0x6c]
mov r15, qword [rbp - 0x80]
sar eax, cl
movsxd rsi, eax
nop dword [rax]
xor edx, edx
mov eax, edi
cmp dword [rbx + 0x58], 8
mov r8, rsi
setg dl
imul eax, dword [rbx + 0x24]
inc rdx
movsxd rcx, eax
add rcx, qword [rbx + 8]
call fcn.1800d35a4
cmp rax, rsi
je 0x1800744c7
mov edx, 0x2d
lea rcx, str.FileIOPermissionAttribute
call fcn.180032e20
cmp dword [rbx + 0x4c], 0x1a6
jne 0x18007450a
mov eax, edi
lea ecx, [r13 - 1]
imul eax, dword [rbx + 0x24]
movsxd r9, eax
add r9, qword [rbx + 8]
test ecx, ecx
js 0x18007450a
lea rdx, [r15 - 1]
movsxd r8, ecx
add rdx, r9
nop
mov rax, r8
lea rdx, [rdx - 1]
sar rax, 1
dec r8
sub ecx, 1
movzx eax, byte [rax + r9]
mov byte [rdx + 1], al
jns 0x1800744f0
mov eax, dword [rbx + 0x54]
cmp dword [rbx + 0x58], eax
je 0x180074572
mov ecx, dword [rsp + 0x64]
mov eax, r13d
sar eax, cl
sub eax, 1
movsxd r8, eax
js 0x180074572
nop dword [rax]
nop word [rax + rax]
mov edx, dword [rbx + 0x58]
mov eax, edi
imul eax, dword [rbx + 0x24]
mov ecx, dword [rbx + 0x54]
movsxd r9, eax
add r9, qword [rbx + 8]
movzx eax, byte [r9 + r8]
cmp edx, 8
jne 0x180074554
add ecx, 0xfffffff8
shl eax, cl
jmp 0x180074568
cmp ecx, edx
jle 0x18007455e
sub ecx, edx
shl eax, cl
jmp 0x180074568
sub edx, ecx
add eax, r12d
movzx ecx, dl
sar eax, cl
mov byte [r9 + r8], al
sub r8, 1
jns 0x180074530
mov r9, qword [rbp + 0x188]
inc edi
cmp edi, r14d
jl 0x180074490
jmp 0x1800749c4
mov qword [rsp + 0x58], r14
lea rcx, [rbp + 0x60]
mov qword [rsp + 0x50], r14
xor r9d, r9d
mov qword [rsp + 0x48], r14
xor edx, edx
mov qword [rsp + 0x40], r14
mov r8d, 0x82
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], r14
call fcn.1800a7ba0
movups xmm0, xmmword [rax]
movd dword [r15 + 0xc], xmm0
jmp 0x1800749d0
xor edx, edx
mov r8d, 0x818
mov rcx, r15
call fcn.1800ca170
mov qword [rsp + 0x58], r14
lea rcx, [rbp + 0x70]
mov qword [rsp + 0x50], r14
xor r9d, r9d
mov qword [rsp + 0x48], r14
xor edx, edx
mov qword [rsp + 0x40], r14
mov r8d, 0x82
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], r14
call fcn.1800a7ba0
mov qword [rsp + 0x58], r14
lea rcx, [rbp + 0x80]
mov qword [rsp + 0x50], r14
xor r9d, r9d
mov qword [rsp + 0x48], r14
xor edx, edx
movups xmm0, xmmword [rax]
mov qword [rsp + 0x40], r14
mov r8d, 0x82
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x28], r14
movd dword [r15], xmm0
mov qword [rsp + 0x20], r14
call fcn.1800a7ba0
mov r9, rbx
lea rcx, [rbp + 0x90]
xor edx, edx
mov r8d, 0xc9
movups xmm0, xmmword [rax]
movd dword [r15 + 4], xmm0
call fcn.1800266b0
mov eax, dword [rax]
mov byte [r15 + 8], al
jmp 0x1800749d0
mov r13, qword [rbx + 0x38]
mov qword [rsp + 0x70], r13
jmp case.0x180073f37.36
mov rdx, rbx
mov ecx, 0xd9
call fcn.1800922e0
mov r9, rbx
mov dword [r15 + 0x70], eax
xor edx, edx
lea rcx, [rbp + 0xa0]
mov r8d, 0xc9
call fcn.1800266b0
mov r9, rbx
lea rcx, [rbp + 0xb0]
xor edx, edx
mov r8d, 0xc9
mov eax, dword [rax]
mov byte [r15 + 0x74], al
call fcn.1800266b0
mov r9, rbx
lea rcx, [rbp + 0xc0]
xor edx, edx
mov r8d, 0xc9
mov eax, dword [rax]
mov byte [r15 + 0x75], al
call fcn.1800266b0
mov qword [rsp + 0x40], r14
lea rcx, [rbp + 0x110]
mov qword [rsp + 0x38], r14
mov r9d, 0x6e
mov qword [rsp + 0x30], r14
xor r8d, r8d
mov eax, dword [rax]
xor edx, edx
mov qword [rsp + 0x28], r14
mov byte [r15 + 0x76], al
mov qword [rsp + 0x20], rbx
call fcn.180050770
movups xmm1, xmmword [rax]
movups xmm0, xmmword [rax + 0x10]
movd eax, xmm1
movups xmmword [rbp + 0x120], xmm0
test eax, eax
je 0x1800749d0
mov r9, rbx
lea rcx, [rbp + 0xd0]
xor edx, edx
mov r8d, 0xc9
call fcn.1800266b0
mov r9, rbx
lea rcx, [rbp + 0xe0]
xor edx, edx
mov r8d, 0xc9
mov eax, dword [rax]
mov byte [r15 + 0x77], al
call fcn.1800266b0
mov eax, dword [rax]
mov byte [r15 + 0x78], al
test al, al
je 0x180074888
mov eax, dword [r15 + 4]
cmp eax, 0x20
jae 0x1800749f2
imul r14, rax, 0x7e8
xor edi, edi
mov eax, 2
add r14, qword [rbp + 0x188]
mov ecx, 6
cmp byte [r14 + 4], 3
cmovne ecx, eax
movzx eax, byte [r15 + 0x77]
imul ecx, eax
add ecx, 6
je 0x180074888
lea rsi, [r15 + 0x79]
lea r13d, [rdi + 2]
nop dword [rax + rax]
mov r9, rbx
lea rcx, [rbp + 0xf0]
xor edx, edx
mov r8d, 0xc9
call fcn.1800266b0
mov eax, dword [rax]
mov byte [rsi], al
test al, al
je 0x18007485d
mov r8, rbx
cmp edi, 6
jae 0x180074830
mov ecx, edi
lea rdx, [r15 + 0x85]
add rdx, rcx
mov r9d, edi
shl r9, 6
mov ecx, 0x8e
add r9, 0x94
add r9, r15
call fcn.18000a680
jmp 0x18007485d
lea r9, [rdi - 6]
mov dword [rsp + 0x20], 0xeb
shl r9, 8
lea rdx, [rdi + 0x85]
add r9, 0x214
lea rcx, [rbp - 0x70]
add r9, r15
add rdx, r15
call fcn.180074aa0
movzx eax, byte [r15 + 0x77]
inc edi
inc rsi
mov ecx, 6
cmp byte [r14 + 4], 3
cmovne ecx, r13d
imul ecx, eax
add ecx, 6
cmp edi, ecx
jl 0x1800747e0
mov r13, qword [rsp + 0x70]
mov rdx, rbx
mov ecx, 0xd9
call fcn.1800922e0
mov dword [r15 + 0x814], eax
jmp 0x1800749d0
mov r14d, dword [rsp + 0x78]
xor edi, edi
mov ecx, dword [rsp + 0x64]
sar r14d, cl
test r14d, r14d
jle case.0x180073f37.36
mov r13d, dword [rsp + 0x68]
mov eax, r13d
mov ecx, dword [rsp + 0x6c]
mov r15, qword [rbp - 0x80]
sar eax, cl
movsxd rsi, eax
nop dword [rax]
xor edx, edx
mov eax, edi
cmp dword [rbx + 0x58], 8
mov r8, rsi
setg dl
imul eax, dword [rbx + 0x24]
inc rdx
movsxd rcx, eax
add rcx, qword [rbx + 0x10]
call fcn.1800d35a4
cmp rax, rsi
je 0x180074907
mov edx, 0x2d
lea rcx, str.shouldPreferPrimitiveType
call fcn.180032e20
cmp dword [rbx + 0x4c], 0x1a6
jne 0x18007494a
mov eax, edi
lea ecx, [r13 - 1]
imul eax, dword [rbx + 0x24]
movsxd r9, eax
add r9, qword [rbx + 0x10]
test ecx, ecx
js 0x18007494a
lea rdx, [r15 - 1]
movsxd r8, ecx
add rdx, r9
nop
mov rax, r8
lea rdx, [rdx - 1]
sar rax, 1
dec r8
sub ecx, 1
movzx eax, byte [rax + r9]
mov byte [rdx + 1], al
jns 0x180074930
mov eax, dword [rbx + 0x54]
cmp dword [rbx + 0x58], eax
jne 0x18007495d
cmp dword [rbp - 0x78], 0x10
jne 0x1800749b2
cmp eax, 8
jne 0x1800749b2
mov ecx, dword [rsp + 0x64]
mov eax, r13d
sar eax, cl
sub eax, 1
movsxd r8, eax
js 0x1800749b2
nop
mov edx, dword [rbx + 0x58]
mov eax, edi
imul eax, dword [rbx + 0x24]
mov ecx, dword [rbx + 0x54]
movsxd r9, eax
add r9, qword [rbx + 0x10]
movzx eax, byte [r9 + r8]
cmp edx, 8
jne 0x180074994
add ecx, 0xfffffff8
shl eax, cl
jmp 0x1800749a8
cmp ecx, edx
jle 0x18007499e
sub ecx, edx
shl eax, cl
jmp 0x1800749a8
sub edx, ecx
add eax, r12d
movzx ecx, dl
sar eax, cl
mov byte [r9 + r8], al
sub r8, 1
jns 0x180074970
mov r9, qword [rbp + 0x188]
inc edi
cmp edi, r14d
jl 0x1800748d0
mov r13, qword [rsp + 0x70]
mov r15, qword [rbp + 0x178]
mov edx, dword [rsp + 0x60]
mov eax, dword [rbp + 0x170]
dec eax
mov dword [rbp + 0x170], eax
cmp eax, edx
jbe 0x180074a1a
mov r9, qword [rbp + 0x188]
jmp 0x180073f00
mov eax, 0xffffffff
jmp 0x180074a20
xor r9d, r9d
mov qword [rsp + 0x28], r14
mov r8, rbx
mov qword [rsp + 0x20], r14
lea rcx, [rbp - 0x70]
lea edx, [r9 + 0x6a]
call fcn.180056550
mov eax, dword [rax]
jmp 0x180074a20
mov eax, dword [rbp + 0x170]
mov rbx, qword [rsp + 0x280]
add rsp, 0x230
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret