Function at 0x1400291a0
Capabilities:
Inspect section memory permissions

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
mov rax, qword [rcx + 8]
mov rsi, rcx
or ecx, 0xffffffff
mov rdi, rdx
test rax, rax
je 0x1400291d5
movzx r8d, byte [rax + 0x24]
jmp 0x1400291d8
mov r8d, ecx
test rax, rax
je 0x1400291e3
movzx edx, byte [rax + 0x25]
jmp 0x1400291e5
mov edx, ecx
test rax, rax
je 0x1400291ee
movzx ecx, byte [rax + 0x26]
and edx, 0x1f
and ecx, 7
movzx ebp, r8b
or ebp, 0xffff8000
shl ebp, 5
or ebp, edx
mov edx, 0xe0
shl ebp, 3
or ebp, ecx
mov rcx, rsi
shl ebp, 8
call fcn.140041ae0
mov r14d, 0xe4
mov edx, r14d
mov rcx, rsi
mov dword [rsp + 0x60], eax
call fcn.140041ae0
mov r12d, 0xffff
mov dword [rsp + 0x60], eax
mov rax, qword [rsi + 8]
test rax, rax
je 0x14002924a
mov rax, qword [rax + 0x28]
mov cx, word [rax + 0xa]
jmp 0x14002924d
mov ecx, r12d
mov eax, 0x2770
mov ebx, 0x40
mov r15b, 0xff
lea r13d, [rbx - 0x3f]
cmp cx, ax
jne 0x140029323
mov edx, r14d
mov rcx, rsi
call fcn.140041ae0
mov edx, 0xe8
mov rcx, rsi
mov dword [rsp + 0x60], eax
test bl, al
je 0x1400292a9
call fcn.140041ae0
lea rcx, [rsi + 0x50]
mov rdx, rbx
mov dword [rsp + 0x60], eax
test r13b, al
je 0x1400292a0
lea r8, str.i945PL
jmp 0x1400292df
lea r8, str.i945P
jmp 0x1400292df
call fcn.140041ae0
mov dword [rsp + 0x60], eax
test r13b, al
je 0x1400292e4
mov edx, r14d
mov rcx, rsi
call fcn.140041ae0
lea rcx, [rsi + 0x50]
mov rdx, rbx
mov dword [rsp + 0x60], eax
lea r8, str.i945GZ
test al, 0x20
jne 0x1400292df
lea r8, str.i945G
call fcn.140158644
mov rax, qword [rsi + 8]
test rax, rax
je 0x1400292f6
mov rax, qword [rax + 0x28]
mov cl, byte [rax + 0x10]
jmp 0x1400292f9
mov cl, r15b
movzx ecx, cl
sub ecx, 2
je 0x14002930b
sub ecx, 0x7f
je 0x140029336
sub ecx, r13d
jne 0x140029323
lea r8, [0x1401d0528]
lea rcx, [rsi + 0x90]
mov edx, 0x10
call fcn.140158644
mov rax, qword [rsi + 8]
test rax, rax
je 0x14002933f
mov rax, qword [rax + 0x28]
mov cx, word [rax + 0xa]
jmp 0x140029342
lea r8, [0x1401d0524]
jmp 0x140029312
mov ecx, r12d
mov eax, 0x27a0
cmp cx, ax
jne 0x1400293b1
mov edx, r14d
mov rcx, rsi
call fcn.140041ae0
mov dword [rsp + 0x60], eax
shr eax, 0x1c
and eax, 7
sub eax, r13d
je 0x14002939e
sub eax, r13d
je 0x140029395
sub eax, r13d
je 0x14002938c
sub eax, 2
je 0x140029383
cmp eax, r13d
jne 0x1400293b1
lea r8, str.i943_940GML
jmp 0x1400293a5
lea r8, str.i945GT
jmp 0x1400293a5
lea r8, str.i945PM
jmp 0x1400293a5
lea r8, str.i945GMS_GU
jmp 0x1400293a5
lea r8, str.i945GM
lea rcx, [rsi + 0x50]
mov rdx, rbx
call fcn.140158644
mov rax, qword [rsi + 8]
test rax, rax
je 0x1400293c4
mov rax, qword [rax + 0x28]
mov cx, word [rax + 0xa]
jmp 0x1400293c7
mov ecx, r12d
mov eax, 0x27ac
cmp cx, ax
jne 0x1400293ff
mov edx, r14d
mov rcx, rsi
call fcn.140041ae0
mov dword [rsp + 0x60], eax
and eax, 0x70000000
cmp eax, 0x20000000
jne 0x1400293ff
lea rcx, [rsi + 0x50]
lea r8, str.i945GSE
mov rdx, rbx
call fcn.140158644
mov ebx, 0x44
mov rcx, rsi
mov dword [rdi + 8], 7
mov edx, ebx
call fcn.140041ae0
mov r14d, eax
mov dword [rsp + 0x60], eax
and r14d, r13d
jne 0x140029435
or eax, r13d
mov edx, ebx
mov rcx, rsi
mov r8d, eax
mov dword [rsp + 0x60], eax
call fcn.140041b08
call fcn.140045fd8
lea rcx, [rsp + 0x60]
mov r9d, 0xffffc000
mov qword [rsp + 0x28], rcx
mov rcx, qword [rax + 0x40]
mov r8d, ebx
mov edx, ebp
mov dword [rsp + 0x20], 0x108
call fcn.1400168b4
movzx r11d, byte [rsp + 0x60]
mov ebx, 0
test r11b, 7
mov dword [rsp + 0x60], r11d
cmovne ebx, r13d
test r11b, 0x70
cmovne ebx, r13d
call fcn.140045fd8
lea rcx, [rsp + 0x60]
mov qword [rsp + 0x28], rcx
mov rcx, qword [rax + 0x40]
mov r9d, 0xffffc000
mov r8d, 0x44
mov edx, ebp
mov dword [rsp + 0x20], 0x109
call fcn.1400168b4
movzx r11d, byte [rsp + 0x60]
test r11b, 7
mov dword [rsp + 0x60], r11d
cmovne ebx, r13d
test r11b, 0x70
cmovne ebx, r13d
call fcn.140045fd8
lea rcx, [rsp + 0x60]
mov qword [rsp + 0x28], rcx
mov rcx, qword [rax + 0x40]
mov r9d, 0xffffc000
mov r8d, 0x44
mov edx, ebp
mov dword [rsp + 0x20], 0x188
call fcn.1400168b4
movzx r11d, byte [rsp + 0x60]
mov eax, r13d
test r11b, 7
mov r13d, 0
mov dword [rsp + 0x60], r11d
cmovne r13d, eax
test r11b, 0x70
cmovne r13d, eax
call fcn.140045fd8
lea rcx, [rsp + 0x60]
mov qword [rsp + 0x28], rcx
mov rcx, qword [rax + 0x40]
mov r9d, 0xffffc000
mov r8d, 0x44
mov edx, ebp
mov dword [rsp + 0x20], 0x189
call fcn.1400168b4
movzx r11d, byte [rsp + 0x60]
mov eax, 1
test r11b, 7
mov dword [rsp + 0x60], r11d
cmovne r13d, eax
test r11b, 0x70
cmovne r13d, eax
cmp ebx, eax
jne 0x140029583
mov ebx, 0x114
cmp r13d, eax
jne 0x140029588
mov dword [rdi + 0x74], 2
mov r13d, eax
jmp 0x14002958e
mov ebx, 0x194
mov r13d, eax
mov dword [rdi + 0x74], eax
call fcn.140045fd8
lea rcx, [rsp + 0x60]
mov r9d, 0xffffc000
mov qword [rsp + 0x28], rcx
mov rcx, qword [rax + 0x40]
mov r8d, 0x44
mov edx, ebp
mov dword [rsp + 0x20], ebx
call fcn.1400168b4
mov r11d, dword [rsp + 0x60]
mov edx, 3
mov ecx, r11d
mov eax, r11d
shr ecx, 0x13
shr eax, 8
and ecx, 0x1f
and eax, edx
mov dword [rdi + 0x2c], ecx
je 0x140029602
sub eax, r13d
je 0x1400295f9
sub eax, r13d
je 0x1400295f0
cmp eax, r13d
jne 0x140029609
mov dword [rdi + 0x20], 0x40c00000
jmp 0x140029609
mov dword [rdi + 0x20], 0x40400000
jmp 0x140029609
mov dword [rdi + 0x20], 0x40800000
jmp 0x140029609
mov dword [rdi + 0x20], 0x40a00000
mov ebx, 7
mov eax, r11d
shr eax, 4
lea r10d, [rbx - 1]
lea r9d, [rbx - 2]
and eax, ebx
lea r8d, [rbx - 3]
je 0x14002964f
sub eax, r13d
je 0x14002964a
sub eax, r13d
je 0x140029644
sub eax, r13d
je 0x14002963e
cmp eax, r13d
jne 0x140029656
mov dword [rdi + 0x24], r10d
jmp 0x140029656
mov dword [rdi + 0x24], r9d
jmp 0x140029656
mov dword [rdi + 0x24], r8d
jmp 0x140029656
mov dword [rdi + 0x24], edx
jmp 0x140029656
mov dword [rdi + 0x24], 2
mov eax, r11d
and eax, ebx
je 0x140029688
sub eax, r13d
je 0x140029683
sub eax, r13d
je 0x14002967d
sub eax, r13d
je 0x140029677
cmp eax, r13d
jne 0x14002968f
mov dword [rdi + 0x28], r10d
jmp 0x14002968f
mov dword [rdi + 0x28], r9d
jmp 0x14002968f
mov dword [rdi + 0x28], r8d
jmp 0x14002968f
mov dword [rdi + 0x28], edx
jmp 0x14002968f
mov dword [rdi + 0x28], 2
shr r11d, 0x1a
and r11d, 0x1f
je 0x14002969f
mov dword [rdi + 0x30], r11d
jmp 0x1400296a5
add ecx, dword [rdi + 0x28]
mov dword [rdi + 0x30], ecx
call fcn.140045fd8
lea rcx, [rsp + 0x60]
mov r9d, 0xffffc000
mov qword [rsp + 0x28], rcx
mov rcx, qword [rax + 0x40]
mov r8d, 0x44
mov edx, ebp
mov dword [rsp + 0x20], 0xc00
call fcn.1400168b4
mov r11d, dword [rsp + 0x60]
mov eax, r11d
shr r11d, 4
and eax, ebx
and r11d, ebx
sub eax, r13d
je 0x140029804
sub eax, r13d
je 0x1400297cf
cmp eax, r13d
je 0x140029786
sub r11d, r13d
je 0x140029776
sub r11d, r13d
je 0x140029766
sub r11d, r13d
je 0x140029756
cmp r11d, r13d
jne 0x140029732
lea r8, [0x1401cfd34]
mov dword [rdi + 0x14], 0x3fc00000
lea rcx, [rdi + 0xa0]
mov edx, 0x20
call fcn.140158644
mov dword [rdi + 0xc4], 0x43a6ab85
mov rcx, qword [rsi + 8]
test rcx, rcx
je 0x14002982f
mov rax, qword [rcx + 0x28]
mov dx, word [rax + 0xa]
jmp 0x140029832
mov dword [rdi + 0x14], 0x3fa00000
lea r8, [0x1401cfd1c]
jmp 0x140029721
mov dword [rdi + 0x14], 0x3f800000
lea r8, [0x1401cf760]
jmp 0x140029721
mov dword [rdi + 0x14], 0x3f400000
lea r8, [0x1401cfd2c]
jmp 0x140029721
sub r11d, 2
je 0x1400297bc
sub r11d, r13d
je 0x1400297a9
cmp r11d, r13d
jne 0x140029732
mov dword [rdi + 0x14], 0x40000000
lea r8, [0x1401cfd40]
jmp 0x140029721
mov dword [rdi + 0x14], 0x3fcccccd
lea r8, [0x1401cfd54]
jmp 0x140029721
mov dword [rdi + 0x14], 0x3f99999a
lea r8, [0x1401cfd20]
jmp 0x140029721
sub r11d, r13d
je 0x140029766
sub r11d, r13d
je 0x1400297f1
sub r11d, r13d
jne 0x140029791
mov dword [rdi + 0x14], 0x3fd55555
lea r8, [0x1401cfd30]
jmp 0x140029721
mov dword [rdi + 0x14], 0x3faaaaab
lea r8, [0x1401cfd18]
jmp 0x140029721
sub r11d, 2
je 0x140029713
sub r11d, r13d
je 0x140029796
cmp r11d, r13d
jne 0x140029732
mov dword [rdi + 0x14], 0x40200000
lea r8, [0x1401cfd60]
jmp 0x140029721
mov edx, r12d
mov eax, 0x2770
mov ebp, 0x438555c3
cmp dx, ax
jne 0x14002985a
test rcx, rcx
je 0x14002984e
mov rax, qword [rcx + 0x28]
mov r15b, byte [rax + 0x10]
cmp r15b, 0x82
jne 0x14002985a
mov dword [rdi + 0xc4], ebp
mov rax, qword [rsi + 8]
test rax, rax
je 0x14002986c
mov rax, qword [rax + 0x28]
mov r12w, word [rax + 0xa]
mov eax, 0x27a0
cmp r12w, ax
jne 0x1400298b7
mov edx, 0xe4
mov rcx, rsi
call fcn.140041ae0
mov dword [rsp + 0x60], eax
and eax, ebx
sub eax, 2
je 0x1400298ad
sub eax, r13d
je 0x1400298a5
cmp eax, r13d
jne 0x1400298b7
mov dword [rdi + 0xc4], 0x43480000
jmp 0x1400298b7
mov dword [rdi + 0xc4], ebp
jmp 0x1400298b7
mov dword [rdi + 0xc4], 0x43a6ab85
mov ebx, 0x44
mov rcx, rsi
mov edx, ebx
call fcn.140041ae0
test r14d, r14d
jne 0x1400298df
and eax, 0xfffffffe
mov edx, ebx
mov rcx, rsi
mov r8d, eax
mov dword [rsp + 0x60], eax
call fcn.140041b08
mov rbx, qword [rsp + 0x68]
mov rbp, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x78]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
ret