Function at 0x140018470
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0x428
mov rax, qword [0x140096780]
xor rax, rsp
mov qword [rsp + 0x410], rax
cmp qword [rsp + 0x430], 0
je 0x1400184b9
cmp qword [rsp + 0x438], 0
je 0x1400184b9
cmp qword [rsp + 0x440], 0
jne 0x1400184d4
mov r8d, 0x28bc
lea rdx, [0x140084890]
lea rcx, str.pip__shd__desc
call fcn.140047fbc
xor eax, eax
mov rax, qword [rsp + 0x440]
mov rcx, qword [rsp + 0x438]
mov ecx, dword [rcx]
cmp dword [rax + 4], ecx
je 0x140018506
mov r8d, 0x28bd
lea rdx, [0x140084920]
lea rcx, str.desc__shader.id__shd__slot.id
call fcn.140047fbc
xor eax, eax
mov rax, qword [rsp + 0x438]
cmp dword [rax + 8], 2
je 0x14001852f
mov r8d, 0x28be
lea rdx, [0x1400849c0]
lea rcx, str.shd__slot.state__SG_RESOURCESTATE_VALID
call fcn.140047fbc
xor eax, eax
mov rax, qword [rsp + 0x438]
cmp qword [rax + 0x420], 0
je 0x140018553
mov rax, qword [rsp + 0x438]
cmp qword [rax + 0x428], 0
ja 0x14001856e
mov r8d, 0x28bf
lea rdx, [0x140084a80]
lea rcx, str.shd__d3d11.vs_blob__shd__d3d11.vs_blob_length___0
call fcn.140047fbc
xor eax, eax
mov rax, qword [rsp + 0x430]
cmp qword [rax + 0x270], 0
jne 0x1400185b6
mov rax, qword [rsp + 0x430]
cmp qword [rax + 0x278], 0
jne 0x1400185b6
mov rax, qword [rsp + 0x430]
cmp qword [rax + 0x280], 0
jne 0x1400185b6
mov rax, qword [rsp + 0x430]
cmp qword [rax + 0x288], 0
je 0x1400185d1
mov r8d, 0x28c0
lea rdx, [0x140084b50]
lea rcx, str._pip__d3d11.il___pip__d3d11.rs___pip__d3d11.dss___pip__d3d11.bs
call fcn.140047fbc
xor eax, eax
mov rax, qword [rsp + 0x430]
mov rcx, qword [rsp + 0x438]
mov qword [rax + 0x238], rcx
mov rax, qword [rsp + 0x430]
mov ecx, dword [rax + 0x214]
call fcn.140015a20
mov rcx, qword [rsp + 0x430]
mov dword [rcx + 0x268], eax
mov rax, qword [rsp + 0x440]
mov ecx, dword [rax + 0x1fc]
call fcn.140015990
mov rcx, qword [rsp + 0x430]
mov dword [rcx + 0x264], eax
mov rax, qword [rsp + 0x440]
movzx eax, byte [rax + 0x166]
mov rcx, qword [rsp + 0x430]
mov dword [rcx + 0x240], eax
mov edx, 0x200
lea rcx, [rsp + 0x210]
call fcn.1400130c0
mov dword [rsp + 0x34], 0
jmp 0x14001866d
mov eax, dword [rsp + 0x34]
inc eax
mov dword [rsp + 0x34], eax
cmp dword [rsp + 0x34], 0x10
jge 0x1400187ea
movsxd rax, dword [rsp + 0x34]
imul rax, rax, 0xc
mov rcx, qword [rsp + 0x440]
lea rax, [rcx + rax + 0x68]
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x58]
cmp dword [rax + 8], 0
jne 0x1400186a3
jmp 0x1400187ea
mov rax, qword [rsp + 0x58]
cmp dword [rax], 8
jl 0x1400186c8
mov r8d, 0x28d1
lea rdx, [0x140084c40]
lea rcx, [0x140084ca0]
call fcn.140047fbc
xor eax, eax
mov rax, qword [rsp + 0x58]
movsxd rax, dword [rax]
imul rax, rax, 0xc
mov rcx, qword [rsp + 0x440]
lea rax, [rcx + rax + 8]
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0x90]
mov eax, dword [rax + 4]
mov dword [rsp + 0x68], eax
mov rax, qword [rsp + 0x90]
mov eax, dword [rax + 8]
mov dword [rsp + 0x88], eax
movsxd rax, dword [rsp + 0x34]
imul rax, rax, 0x20
lea rax, [rsp + rax + 0x210]
mov qword [rsp + 0x50], rax
movsxd rax, dword [rsp + 0x34]
imul rax, rax, 0x14
mov rcx, qword [rsp + 0x438]
lea rax, [rcx + rax + 0x290]
mov rcx, rax
call fcn.140013c70
mov rcx, qword [rsp + 0x50]
mov qword [rcx], rax
movsxd rax, dword [rsp + 0x34]
imul rax, rax, 0x14
mov rcx, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x438]
mov eax, dword [rdx + rax + 0x2a0]
mov dword [rcx + 8], eax
mov rax, qword [rsp + 0x58]
mov ecx, dword [rax + 8]
call fcn.140015b90
mov rcx, qword [rsp + 0x50]
mov dword [rcx + 0xc], eax
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x58]
mov ecx, dword [rcx]
mov dword [rax + 0x10], ecx
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x58]
mov ecx, dword [rcx + 4]
mov dword [rax + 0x14], ecx
mov ecx, dword [rsp + 0x68]
call fcn.140015cd0
mov rcx, qword [rsp + 0x50]
mov dword [rcx + 0x18], eax
cmp dword [rsp + 0x68], 2
jne 0x1400187d0
mov rax, qword [rsp + 0x50]
mov ecx, dword [rsp + 0x88]
mov dword [rax + 0x1c], ecx
mov rax, qword [rsp + 0x430]
mov byte [rax + 0x14], 1
mov rax, qword [rsp + 0x58]
movsxd rax, dword [rax]
mov rcx, qword [rsp + 0x430]
mov byte [rcx + rax + 0xc], 1
jmp 0x140018663
mov dword [rsp + 0x38], 0
jmp 0x1400187fe
mov eax, dword [rsp + 0x38]
inc eax
mov dword [rsp + 0x38], eax
cmp dword [rsp + 0x38], 8
jge 0x1400188a2
movsxd rax, dword [rsp + 0x38]
mov rcx, qword [rsp + 0x430]
movzx eax, byte [rcx + rax + 0xc]
test eax, eax
je 0x140018885
movsxd rax, dword [rsp + 0x38]
imul rax, rax, 0xc
mov rcx, qword [rsp + 0x440]
lea rax, [rcx + rax + 8]
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x98]
cmp dword [rax], 0
jg 0x140018865
mov r8d, 0x28e5
lea rdx, [0x140084d00]
lea rcx, str.l_state__stride___0
call fcn.140047fbc
xor eax, eax
movsxd rax, dword [rsp + 0x38]
mov rcx, qword [rsp + 0x430]
mov rdx, qword [rsp + 0x98]
mov edx, dword [rdx]
mov dword [rcx + rax*4 + 0x244], edx
jmp 0x14001889d
movsxd rax, dword [rsp + 0x38]
mov rcx, qword [rsp + 0x430]
mov dword [rcx + rax*4 + 0x244], 0
jmp 0x1400187f4
mov rax, qword [rsp + 0x430]
add rax, 0x270
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x438]
mov rax, qword [rax + 0x428]
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x438]
mov r9, qword [rax + 0x420]
mov r8d, dword [rsp + 0x34]
lea rdx, [rsp + 0x210]
mov rcx, qword [0x1400bb380]
call fcn.140014f10
mov dword [rsp + 0x3c], eax
cmp dword [rsp + 0x3c], 0
jl 0x14001890e
mov rax, qword [rsp + 0x430]
cmp qword [rax + 0x270], 0
jne 0x140018930
mov r9d, 0x28f2
xor r8d, r8d
mov edx, 1
mov ecx, 0x1e
call fcn.140013ad0
mov eax, 3
jmp 0x140018eb3
mov edx, 0x28
lea rcx, [rsp + 0xd8]
call fcn.1400130c0
mov dword [rsp + 0xd8], 3
mov rax, qword [rsp + 0x440]
mov ecx, dword [rax + 0x204]
call fcn.140015d30
mov dword [rsp + 0xdc], eax
mov rax, qword [rsp + 0x440]
cmp dword [rax + 0x208], 1
jne 0x140018982
mov dword [rsp + 0x6c], 1
jmp 0x14001898a
mov dword [rsp + 0x6c], 0
mov eax, dword [rsp + 0x6c]
mov dword [rsp + 0xe0], eax
mov rax, qword [rsp + 0x430]
cvttss2si eax, dword [rax + 0x148]
mov dword [rsp + 0xe4], eax
mov rax, qword [rsp + 0x430]
movss xmm0, dword [rax + 0x150]
movss dword [rsp + 0xe8], xmm0
mov rax, qword [rsp + 0x430]
movss xmm0, dword [rax + 0x14c]
movss dword [rsp + 0xec], xmm0
mov dword [rsp + 0xf0], 1
mov dword [rsp + 0xf4], 1
mov rax, qword [rsp + 0x440]
cmp dword [rax + 0x20c], 1
jle 0x140018a0f
mov dword [rsp + 0x70], 1
jmp 0x140018a17
mov dword [rsp + 0x70], 0
mov eax, dword [rsp + 0x70]
mov dword [rsp + 0xf8], eax
mov dword [rsp + 0xfc], 0
mov rax, qword [rsp + 0x430]
add rax, 0x278
mov r8, rax
lea rdx, [rsp + 0xd8]
mov rcx, qword [0x1400bb380]
call fcn.140014f70
mov dword [rsp + 0x3c], eax
cmp dword [rsp + 0x3c], 0
jl 0x140018a6f
mov rax, qword [rsp + 0x430]
cmp qword [rax + 0x278], 0
jne 0x140018a91
mov r9d, 0x2905
xor r8d, r8d
mov edx, 1
mov ecx, 0x1f
call fcn.140013ad0
mov eax, 3
jmp 0x140018eb3
mov edx, 0x34
lea rcx, [rsp + 0xa0]
call fcn.1400130c0
mov dword [rsp + 0xa0], 1
mov rax, qword [rsp + 0x440]
movzx eax, byte [rax + 0x130]
test eax, eax
je 0x140018acb
mov dword [rsp + 0x74], 1
jmp 0x140018ad3
mov dword [rsp + 0x74], 0
mov eax, dword [rsp + 0x74]
mov dword [rsp + 0xa4], eax
mov rax, qword [rsp + 0x440]
mov ecx, dword [rax + 0x12c]
call fcn.140015da0
mov dword [rsp + 0xa8], eax
mov rax, qword [rsp + 0x440]
movzx eax, byte [rax + 0x140]
mov dword [rsp + 0xac], eax
mov rax, qword [rsp + 0x440]
movzx eax, byte [rax + 0x164]
mov byte [rsp + 0xb0], al
mov rax, qword [rsp + 0x440]
movzx eax, byte [rax + 0x165]
mov byte [rsp + 0xb1], al
mov rax, qword [rsp + 0x440]
add rax, 0x144
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x78]
mov ecx, dword [rax + 4]
call fcn.140015e70
mov dword [rsp + 0xb4], eax
mov rax, qword [rsp + 0x78]
mov ecx, dword [rax + 8]
call fcn.140015e70
mov dword [rsp + 0xb8], eax
mov rax, qword [rsp + 0x78]
mov ecx, dword [rax + 0xc]
call fcn.140015e70
mov dword [rsp + 0xbc], eax
mov rax, qword [rsp + 0x78]
mov ecx, dword [rax]
call fcn.140015da0
mov dword [rsp + 0xc0], eax
mov rax, qword [rsp + 0x440]
add rax, 0x154
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x80]
mov ecx, dword [rax + 4]
call fcn.140015e70
mov dword [rsp + 0xc4], eax
mov rax, qword [rsp + 0x80]
mov ecx, dword [rax + 8]
call fcn.140015e70
mov dword [rsp + 0xc8], eax
mov rax, qword [rsp + 0x80]
mov ecx, dword [rax + 0xc]
call fcn.140015e70
mov dword [rsp + 0xcc], eax
mov rax, qword [rsp + 0x80]
mov ecx, dword [rax]
call fcn.140015da0
mov dword [rsp + 0xd0], eax
mov rax, qword [rsp + 0x430]
add rax, 0x280
mov r8, rax
lea rdx, [rsp + 0xa0]
mov rcx, qword [0x1400bb380]
call fcn.140014fb0
mov dword [rsp + 0x3c], eax
cmp dword [rsp + 0x3c], 0
jl 0x140018c4f
mov rax, qword [rsp + 0x430]
cmp qword [rax + 0x280], 0
jne 0x140018c71
mov r9d, 0x291e
xor r8d, r8d
mov edx, 1
mov ecx, 0x20
call fcn.140013ad0
mov eax, 3
jmp 0x140018eb3
mov edx, 0x108
lea rcx, [rsp + 0x100]
call fcn.1400130c0
mov rax, qword [rsp + 0x440]
movzx eax, byte [rax + 0x220]
mov dword [rsp + 0x100], eax
mov dword [rsp + 0x104], 1
mov dword [rsp + 0x30], 0
mov dword [rsp + 0x30], 0
jmp 0x140018cc0
mov eax, dword [rsp + 0x30]
inc eax
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0x440]
mov eax, dword [rax + 0x168]
cmp dword [rsp + 0x30], eax
jge 0x140018dc3
movsxd rax, dword [rsp + 0x30]
imul rax, rax, 0x24
mov rcx, qword [rsp + 0x440]
lea rax, [rcx + rax + 0x174]
mov qword [rsp + 0x60], rax
movsxd rax, dword [rsp + 0x30]
imul rax, rax, 0x20
lea rax, [rsp + rax + 0x108]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x60]
movzx eax, byte [rax]
mov rcx, qword [rsp + 0x40]
mov dword [rcx], eax
mov rax, qword [rsp + 0x60]
mov ecx, dword [rax + 4]
call fcn.140015f40
mov rcx, qword [rsp + 0x40]
mov dword [rcx + 4], eax
mov rax, qword [rsp + 0x60]
mov ecx, dword [rax + 8]
call fcn.140015f40
mov rcx, qword [rsp + 0x40]
mov dword [rcx + 8], eax
mov rax, qword [rsp + 0x60]
mov ecx, dword [rax + 0xc]
call fcn.140016060
mov rcx, qword [rsp + 0x40]
mov dword [rcx + 0xc], eax
mov rax, qword [rsp + 0x60]
mov ecx, dword [rax + 0x10]
call fcn.140015f40
mov rcx, qword [rsp + 0x40]
mov dword [rcx + 0x10], eax
mov rax, qword [rsp + 0x60]
mov ecx, dword [rax + 0x14]
call fcn.140015f40
mov rcx, qword [rsp + 0x40]
mov dword [rcx + 0x14], eax
mov rax, qword [rsp + 0x60]
mov ecx, dword [rax + 0x18]
call fcn.140016060
mov rcx, qword [rsp + 0x40]
mov dword [rcx + 0x18], eax
movsxd rax, dword [rsp + 0x30]
imul rax, rax, 0x24
mov rcx, qword [rsp + 0x440]
mov ecx, dword [rcx + rax + 0x170]
call fcn.1400160d0
mov rcx, qword [rsp + 0x40]
mov byte [rcx + 0x1c], al
jmp 0x140018cb6
jmp 0x140018dcf
mov eax, dword [rsp + 0x30]
inc eax
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 8
jge 0x140018e4d
movsxd rax, dword [rsp + 0x30]
imul rax, rax, 0x20
lea rax, [rsp + rax + 0x108]
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x48]
mov dword [rax], 0
mov rax, qword [rsp + 0x48]
mov dword [rax + 0x10], 2
mov rax, qword [rsp + 0x48]
mov dword [rax + 4], 2
mov rax, qword [rsp + 0x48]
mov dword [rax + 0x14], 1
mov rax, qword [rsp + 0x48]
mov dword [rax + 8], 1
mov rax, qword [rsp + 0x48]
mov dword [rax + 0x18], 1
mov rax, qword [rsp + 0x48]
mov dword [rax + 0xc], 1
mov rax, qword [rsp + 0x48]
mov byte [rax + 0x1c], 0xf
jmp 0x140018dc5
mov rax, qword [rsp + 0x430]
add rax, 0x288
mov r8, rax
lea rdx, [rsp + 0x100]
mov rcx, qword [0x1400bb380]
call fcn.140014ff0
mov dword [rsp + 0x3c], eax
cmp dword [rsp + 0x3c], 0
jl 0x140018e8f
mov rax, qword [rsp + 0x430]
cmp qword [rax + 0x288], 0
jne 0x140018eae
mov r9d, 0x2940
xor r8d, r8d
mov edx, 1
mov ecx, 0x21
call fcn.140013ad0
mov eax, 3
jmp 0x140018eb3
mov eax, 2
mov rcx, qword [rsp + 0x410]
xor rcx, rsp
call fcn.1400403f0
add rsp, 0x428
ret