Function at 0x18003ebb0
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 8], rbx
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0xd0
mov eax, r9d
mov r12, r8
mov r8, rdx
mov r15, rcx
xor ebx, ebx
mov qword [rbp - 0x61], rbx
mov qword [rbp - 0x59], 0xf
mov byte [rbp - 0x71], bl
mov edi, r9d
lea r13d, [r9 + 0x6f2]
cmp r9d, r13d
jae 0x18003ee07
mov r14, qword [rbp - 0x51]
mov rsi, qword [rbp - 0x51]
mov edx, 0x6e69
mov ecx, 0x227b
cmp edi, 0x1ce
ja 0x18003ed82
je 0x18003ed66
cmp edi, 0x10c
ja 0x18003ecc6
je 0x18003ecb7
mov eax, edi
sub eax, 0x6a
je 0x18003ec72
sub eax, 0x66
je 0x18003ec69
cmp eax, 0x19
jne 0x18003edf6
mov rdx, qword [r15]
mov rcx, r8
call qword [fcn.180073d70]
mov r8, rax
mov qword [rbp + 0x6f], rax
jmp 0x18003edf6
mov word [rbp - 0x49], cx
jmp 0x18003edf6
cmp qword [r15], 0
jne 0x18003edf6
mov ebx, 0x8e
mov eax, ebx
sub eax, 0x8d
je 0x18003ee67
cmp eax, 1
jne 0x18003eca8
mov rcx, r8
call qword [fcn.180073d60]
mov qword [rbp - 0x51], 0
mov r8, qword [rbp + 0x6f]
dec ebx
cmp ebx, 0x8c
ja 0x18003ec81
jmp 0x18003edf6
mov r14, r8
mov rsi, 0xffffffffffffffff
jmp 0x18003edf6
mov eax, edi
sub eax, 0x14f
je 0x18003ed5d
sub eax, 0x19
je 0x18003ed4b
cmp eax, 0x23
jne 0x18003edf6
test r14, r14
je 0x18003ed42
cmp dword [r14], 0xffffffff
je 0x18003ed42
mov ebx, 0x84
mov eax, ebx
sub eax, 0x82
je 0x18003ed1a
sub eax, 1
je 0x18003ed06
cmp eax, 1
je 0x18003ed2a
jmp 0x18003ed34
mov r8d, dword [r12]
mov rdx, r15
mov ecx, dword [r14]
call fcn.18007f988
movsxd rsi, eax
jmp 0x18003ed34
cmp rsi, 0xffffffffffffffff
jne 0x18003ed34
call fcn.1800743b0
cmp dword [rax], 0xb
jne 0x18003ed34
mov ebx, 0x84
mov edi, 0x18b
dec ebx
cmp ebx, 0x81
ja 0x18003ecf1
mov r8, qword [rbp + 0x6f]
mov qword [rbp - 0x51], rsi
jmp 0x18003edf6
test r8, r8
je 0x18003f3b6
mov qword [rbp - 0x51], r8
jmp 0x18003edf6
mov byte [rbp - 0x47], 0
jmp 0x18003edf6
mov r8d, 4
lea rdx, str.method_ID3DXPRTCompBuffer::QueryInterface_failed_execution_during_traversal_with_error_0x_x
lea rcx, [rbp - 0x49]
call fcn.1800748e0
mov r8, qword [rbp + 0x6f]
jmp 0x18003edf6
cmp edi, 0x2cc
ja 0x18003edde
je 0x18003edbe
mov eax, edi
sub eax, 0x1e7
je 0x18003ee67
sub eax, 0x23
je 0x18003ee67
cmp eax, 0x43
jne 0x18003edf6
movzx eax, word [0x1800989ee]
mov word [rbp - 0x43], ax
movzx eax, byte [0x1800989f0]
mov byte [rbp - 0x41], al
jmp 0x18003edf6
mov byte [rbp - 0x40], 0
mov r8d, 5
lea rdx, [0x180098a25]
lea rcx, [rbp - 0x40]
call fcn.180074b20
mov r8, qword [rbp + 0x6f]
jmp 0x18003edf6
mov eax, edi
sub eax, 0x34b
je 0x18003edf2
cmp eax, 0x7f
jne 0x18003edf6
mov byte [rbp - 0x39], 0
jmp 0x18003edf6
mov word [rbp - 0x3b], dx
add edi, 0x7f
cmp edi, r13d
jb 0x18003ec0e
mov eax, dword [rbp + 0x7f]
xor ebx, ebx
lea r12d, [rax + 0x478]
cmp eax, r12d
jae 0x18003f36a
movabs r13, 0x7fffffffffffffff
cmp eax, 0x2e0
ja 0x18003f0ca
je 0x18003ef4d
cmp eax, 0x1d8
ja 0x18003ef1a
je 0x18003eefb
sub eax, 0xd0
je 0x18003eee0
sub eax, 0x58
je 0x18003eec1
cmp eax, 0x58
jne 0x18003f351
mov word [rbp - 0x78], 0x22
jmp 0x18003f351
mov rdx, qword [rbp - 0x59]
cmp rdx, 0x10
jb 0x18003eea2
inc rdx
mov rcx, qword [rbp - 0x71]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18003ee9d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18003f3b0
call fcn.18006dad0
mov rax, qword [rbp - 0x51]
mov rbx, qword [rsp + 0x110]
add rsp, 0xd0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov r8d, 1
lea rdx, [0x180098b8e]
lea rcx, [rbp - 0x79]
call fcn.180074b20
mov byte [rbp - 0x78], 0
jmp 0x18003f351
mov r8d, 1
lea rdx, [0x180098ba6]
lea rcx, [rbp - 0x49]
call fcn.1800748e0
jmp 0x18003f351
mov r8d, 1
lea rdx, [0x180098b13]
lea rcx, [rbp - 0x77]
call fcn.180074b20
mov byte [rbp - 0x76], 0
jmp 0x18003f351
sub eax, 0x230
je 0x18003ef33
cmp eax, 0x58
jne 0x18003f351
mov byte [rbp - 0x73], 0
jmp 0x18003f351
movzx eax, word [0x180098b50]
mov word [rbp - 0x76], ax
movzx eax, byte [0x180098b52]
mov byte [rbp - 0x74], al
jmp 0x18003f351
mov r8d, 1
lea rdx, [0x180098b5e]
lea rcx, [rbp - 0x79]
call fcn.1800748e0
mov qword [rbp - 0x21], rbx
mov qword [rbp - 0x19], 0xf
mov byte [rbp - 0x31], 0
lea rax, [rbp - 0x49]
mov r8, 0xffffffffffffffff
nop
inc r8
cmp byte [rax + r8], 0
jne 0x18003ef80
lea rdx, [rbp - 0x49]
lea rcx, [rbp - 0x31]
call fcn.180040050
nop
lea r14, [rbp - 0x31]
mov rsi, qword [rbp - 0x31]
mov r15, qword [rbp - 0x19]
cmp r15, 0x10
cmovae r14, rsi
mov rdi, qword [rbp - 0x21]
cmp rdi, 0x10
jae 0x18003efc4
movups xmm0, xmmword [r14]
mov qword [rbp + 0x1f], 0xf
jmp 0x18003f037
mov rbx, rdi
or rbx, 0xf
cmp rbx, r13
cmova rbx, r13
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x18003f00e
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x18003f3bc
mov rcx, rax
call fcn.18006da94
mov rcx, rax
test rax, rax
je 0x18003f3c2
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x18003f01c
test rcx, rcx
je 0x18003f01a
call fcn.18006da94
jmp 0x18003f01c
xor eax, eax
mov qword [rbp + 7], rax
lea r8, [rdi + 1]
mov rdx, r14
mov rcx, rax
call fcn.18006fd90
mov qword [rbp + 0x1f], rbx
movups xmm0, xmmword [rbp + 7]
movups xmmword [rbp - 0x11], xmm0
mov qword [rbp + 0x17], rdi
mov rdx, qword [rbp - 0x59]
cmp rdx, 0x10
jb 0x18003f07a
inc rdx
mov rcx, qword [rbp - 0x71]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18003f075
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18003f3c2
call fcn.18006dad0
movups xmm0, xmmword [rbp - 0x11]
movups xmmword [rbp - 0x71], xmm0
movups xmm0, xmmword [rbp + 0x17]
movups xmmword [rbp - 0x61], xmm0
cmp r15, 0x10
jb 0x18003f351
lea rdx, [r15 + 1]
mov rax, rsi
cmp rdx, 0x1000
jb 0x18003f0bd
add rdx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18003f3aa
mov rcx, rsi
call fcn.18006dad0
jmp 0x18003f351
cmp eax, 0x440
ja 0x18003f316
je 0x18003f1af
sub eax, 0x338
je 0x18003f197
sub eax, 0x58
je 0x18003f169
cmp eax, 0x58
jne 0x18003f351
lea rax, [rbp - 0x79]
mov rdi, 0xffffffffffffffff
nop
inc rdi
cmp byte [rax + rdi], 0
jne 0x18003f100
mov rdx, qword [rbp - 0x61]
mov rcx, qword [rbp - 0x59]
mov rax, rcx
sub rax, rdx
cmp rdi, rax
ja 0x18003f14c
lea rax, [rdx + rdi]
mov qword [rbp - 0x61], rax
lea rbx, [rbp - 0x71]
cmp rcx, 0x10
cmovae rbx, qword [rbp - 0x71]
add rbx, rdx
mov r8, rdi
lea rdx, [rbp - 0x79]
mov rcx, rbx
call fcn.18006fd90
mov byte [rdi + rbx], 0
jmp 0x18003f351
mov qword [rsp + 0x20], rdi
lea r9, [rbp - 0x79]
xor r8d, r8d
mov rdx, rdi
lea rcx, [rbp - 0x71]
call fcn.180003200
jmp 0x18003f351
lea rcx, [r8 + 0xa8]
xor r9d, r9d
lea r8, [rbp - 0x71]
mov edx, 0xd8
call fcn.180028230
mov r8d, 0x7d
lea rdx, [rbp - 0x71]
xor ecx, ecx
call fcn.180007100
jmp 0x18003f351
lea rdx, [r8 + 0x48]
mov r8d, 0xce
lea rcx, [rbp - 0x71]
call fcn.180006f80
jmp 0x18003f351
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rbx
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov ecx, 0xba
call fcn.180016260
mov r9d, eax
lea r10, [rbp + 4]
dec r10
mov eax, 0xcccccccd
mul r9d
shr edx, 3
movzx ecx, dl
shl cl, 2
lea r8d, [rcx + rdx]
add r8b, r8b
sub r9b, r8b
add r9b, 0x30
mov byte [r10], r9b
mov r9d, edx
test edx, edx
jne 0x18003f1d2
mov rsi, rbx
mov qword [rbp - 0x21], rbx
mov edi, 0xf
mov qword [rbp - 0x19], rdi
mov byte [rbp - 0x31], dl
lea rax, [rbp + 4]
cmp r10, rax
je 0x18003f235
lea r8, [rbp + 4]
sub r8, r10
mov rdx, r10
lea rcx, [rbp - 0x31]
call fcn.180040050
mov rdi, qword [rbp - 0x19]
mov rsi, qword [rbp - 0x21]
lea r9, [rbp - 0x31]
mov r14, qword [rbp - 0x31]
cmp rdi, 0x10
cmovae r9, r14
mov rcx, qword [rbp - 0x61]
mov rdx, qword [rbp - 0x59]
mov rax, rdx
sub rax, rcx
cmp rsi, rax
ja 0x18003f284
lea rax, [rsi + rcx]
mov qword [rbp - 0x61], rax
lea rbx, [rbp - 0x71]
cmp rdx, 0x10
cmovae rbx, qword [rbp - 0x71]
add rbx, rcx
mov r8, rsi
mov rdx, r9
mov rcx, rbx
call fcn.18006fd90
mov byte [rsi + rbx], 0
jmp 0x18003f2a0
mov qword [rsp + 0x20], rsi
xor r8d, r8d
mov rdx, rsi
lea rcx, [rbp - 0x71]
call fcn.180003200
mov rdi, qword [rbp - 0x19]
mov r14, qword [rbp - 0x31]
cmp rdi, 0x10
jb 0x18003f2d7
lea rdx, [rdi + 1]
mov rax, r14
cmp rdx, 0x1000
jb 0x18003f2cf
add rdx, 0x27
mov r14, qword [r14 - 8]
sub rax, r14
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18003f3aa
mov rcx, r14
call fcn.18006dad0
mov rcx, qword [rbp - 0x61]
mov rdx, qword [rbp - 0x59]
cmp rcx, rdx
jae 0x18003f301
lea rax, [rcx + 1]
mov qword [rbp - 0x61], rax
lea rax, [rbp - 0x71]
cmp rdx, 0x10
cmovae rax, qword [rbp - 0x71]
mov word [rax + rcx], 0x7d
jmp 0x18003f351
mov r9b, 0x7d
xor r8d, r8d
lea edx, [r8 + 1]
lea rcx, [rbp - 0x71]
call fcn.1800030a0
jmp 0x18003f351
sub eax, 0x498
je 0x18003f339
cmp eax, 0x58
jne 0x18003f351
mov rcx, qword [rbp - 0x59]
cmp rcx, 0x10
jb 0x18003eea2
lea rdx, [rcx + 1]
jmp 0x18003ee74
lea r8, [rbp - 0x71]
mov edx, 0x114
mov rcx, qword [0x1800b9f00]
call fcn.180025e30
mov byte [rbp - 0x51], al
mov eax, dword [rbp + 0x7f]
add eax, 0x58
mov dword [rbp + 0x7f], eax
cmp eax, r12d
jae 0x18003f36a
mov r8, qword [rbp + 0x6f]
xor ebx, ebx
jmp 0x18003ee21
mov rcx, qword [rbp - 0x59]
cmp rcx, 0x10
jb 0x18003eea2
lea rdx, [rcx + 1]
mov rcx, qword [rbp - 0x71]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18003ee9d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18003f3b0
jmp 0x18003ee9d
call fcn.180073fa4
nop
call fcn.180073fa4
nop
call fcn.180075408
nop
call fcn.1800326d0
int3
call fcn.180073fa4
int3