Function at 0x593b70
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x6b4111
mov eax, dword fs:[0]
push eax
sub esp, 0x79c
mov eax, dword [0x7a1070]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x42c], ecx
mov dword [ebp - 0x79c], 0
lea eax, [ebp - 0x4e0]
mov dword [ebp - 0x608], eax
mov ecx, dword [ebp - 0x608]
mov dword [ebp - 0x62c], ecx
mov edx, dword [ebp - 0x62c]
mov dword [ebp - 0x454], edx
mov eax, dword [ebp - 0x454]
mov dword [eax], 0
mov ecx, dword [ebp - 0x454]
mov dword [ecx + 4], 0
mov edx, dword [ebp - 0x454]
mov dword [edx + 8], 0
mov dword [ebp - 4], 0
lea eax, [ebp - 0x4d4]
mov dword [ebp - 0x630], eax
mov ecx, dword [ebp - 0x630]
mov dword [ebp - 0x634], ecx
mov edx, dword [ebp - 0x634]
mov dword [ebp - 0x458], edx
mov eax, dword [ebp - 0x458]
mov dword [eax], 0
mov ecx, dword [ebp - 0x458]
mov dword [ecx + 4], 0
mov edx, dword [ebp - 0x458]
mov dword [edx + 8], 0
mov byte [ebp - 4], 1
push 0x10
push 1
push 1
push 0
lea ecx, [ebp - 0x4e0]
call fcn.0058d980
lea eax, [ebp - 0x4e0]
push eax
lea ecx, [ebp - 0x6e8]
push ecx
mov ecx, dword [ebp - 0x42c]
add ecx, 0x10c3c
call fcn.00569d30
mov ecx, eax
call fcn.00621550
mov dword [ebp - 0x638], eax
mov edx, dword [ebp - 0x638]
mov dword [ebp - 0x650], edx
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x650]
push eax
lea ecx, [ebp - 0x4d4]
call fcn.0059f880
mov byte [ebp - 4], 1
mov dword [ebp - method.pvr::RefCountedResource_class_pvr::api::impl::DescriptorSetLayout__.virtual_0], vtable.pvr::RefCountedResource_class_pvr::api::impl::DescriptorSetLayout__.0
mov byte [ebp - 4], 3
mov dword [ebp - method.pvr::EmbeddedRefCountedResource_class_pvr::api::impl::DescriptorSetLayout__.virtual_0], vtable.pvr::EmbeddedRefCountedResource_class_pvr::api::impl::DescriptorSetLayout__.0
lea ecx, [ebp - 0x6e8]
call fcn.0056e650
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x4d4]
push ecx
lea edx, [ebp - 0x44c]
push edx
mov ecx, dword [ebp - 0x42c]
add ecx, 0x10c3c
call fcn.00569d30
mov ecx, eax
call fcn.00621010
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x38]
call fcn.0058f200
mov byte [ebp - 4], 5
mov dword [ebp - 0x430], 0
jmp 0x593d29
mov eax, dword [ebp - 0x430]
add eax, 1
mov dword [ebp - 0x430], eax
cmp dword [ebp - 0x430], 2
jae 0x594297
cmp dword [ebp - 0x42c], 0
je 0x593d50
mov ecx, dword [ebp - 0x42c]
add ecx, 4
mov dword [ebp - 0x4bc], ecx
jmp 0x593d5a
mov dword [ebp - 0x4bc], 0
mov edx, dword [ebp - 0x430]
mov eax, dword [edx*4 + 0x6e4ff0]
push eax
lea ecx, [ebp - 0x68]
call fcn.004b1020
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x4bc]
push ecx
lea edx, [ebp - 0x68]
push edx
lea ecx, [ebp - 0x38]
call fcn.0058f6d0
mov byte [ebp - 4], 7
push 0
push 1
lea ecx, [ebp - 0x68]
call fcn.004b1670
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0x430]
cmp dword [eax*4 + 0x7a7afc], 0
je 0x593db7
mov dword [ebp - 0x4b8], 1
jmp 0x593dc1
mov dword [ebp - 0x4b8], 0
mov ecx, dword [ebp - 0x42c]
add ecx, 0x10c3c
call fcn.00569d30
mov dword [ebp - 0x654], eax
mov ecx, dword [ebp - 0x654]
mov edx, dword [ecx + 0x10]
mov dword [ebp - 0x658], edx
mov eax, dword [ebp - 0x658]
push eax
lea ecx, [ebp - 0x4f4]
push ecx
lea ecx, [ebp - 0x38]
call fcn.0058f250
mov dword [ebp - 0x65c], eax
mov edx, dword [ebp - 0x65c]
mov dword [ebp - 0x660], edx
mov byte [ebp - 4], 8
mov eax, dword [ebp - 0x660]
mov ecx, dword [eax]
mov dword [ebp - 0x4e4], ecx
mov edx, dword [ebp - 0x4e4]
mov dword [ebp - 0x4e8], edx
mov eax, dword [ebp - 0x4b8]
push eax
mov ecx, dword [ebp - 0x430]
mov edx, dword [ecx*4 + 0x7a7afc]
push edx
push 1
mov eax, dword [ebp - 0x4e8]
push eax
lea ecx, [ebp - 0x728]
push ecx
mov ecx, dword [ebp - 0x42c]
add ecx, 0x10c3c
call fcn.00569d30
mov ecx, eax
call fcn.00620bd0
mov dword [ebp - 0x700], eax
mov edx, dword [ebp - 0x42c]
mov eax, dword [edx + 0x1059c]
mov dword [ebp - 0x4ec], eax
mov ecx, dword [ebp - 0x4ec]
mov dword [ebp - 0x4f0], ecx
imul edx, dword [ebp - 0x430], 0xc
mov eax, dword [ebp - 0x4f0]
lea ecx, [eax + edx + 0x90]
mov dword [ebp - 0x4b0], ecx
mov byte [ebp - 4], 9
lea edx, [ebp - 0x728]
push edx
mov ecx, dword [ebp - 0x4b0]
call fcn.0056e390
mov eax, dword [ebp - 0x4b0]
mov dword [ebp - 0x704], eax
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x728]
call fcn.005a08e0
mov byte [ebp - 4], 0xa
mov ecx, dword [ebp - 0x4f4]
mov dword [ebp - 0x4f8], ecx
mov edx, dword [ebp - 0x4f8]
mov dword [ebp - 0x45c], edx
cmp dword [ebp - 0x45c], 0
je 0x593f1a
push 1
mov eax, dword [ebp - 0x45c]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x45c]
mov eax, dword [edx]
call eax
mov dword [ebp - 0x4fc], eax
jmp 0x593f24
mov dword [ebp - 0x4fc], 0
mov byte [ebp - 4], 5
cmp dword [ebp - 0x42c], 0
je 0x593f42
mov ecx, dword [ebp - 0x42c]
add ecx, 4
mov dword [ebp - 0x4ac], ecx
jmp 0x593f4c
mov dword [ebp - 0x4ac], 0
mov edx, dword [ebp - 0x430]
mov eax, dword [edx*4 + 0x6e4ff8]
push eax
lea ecx, [ebp - 0x50]
call fcn.004b1020
mov byte [ebp - 4], 0xb
mov ecx, dword [ebp - 0x4ac]
push ecx
lea edx, [ebp - 0x50]
push edx
lea ecx, [ebp - 0x38]
call fcn.0058f6d0
mov byte [ebp - 4], 0xc
push 0
push 1
lea ecx, [ebp - 0x50]
call fcn.004b1670
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0x430]
cmp dword [eax*4 + 0x7a7afc], 0
je 0x593fa9
mov dword [ebp - 0x4a8], 1
jmp 0x593fb3
mov dword [ebp - 0x4a8], 0
mov ecx, dword [ebp - 0x42c]
add ecx, 0x10c3c
call fcn.00569d30
mov dword [ebp - 0x500], eax
mov ecx, dword [ebp - 0x500]
mov edx, dword [ecx + 0x10]
mov dword [ebp - 0x504], edx
mov eax, dword [ebp - 0x504]
push eax
lea ecx, [ebp - 0x520]
push ecx
lea ecx, [ebp - 0x38]
call fcn.0058f250
mov dword [ebp - 0x508], eax
mov edx, dword [ebp - 0x508]
mov dword [ebp - 0x50c], edx
mov byte [ebp - 4], 0xd
mov eax, dword [ebp - 0x50c]
mov ecx, dword [eax]
mov dword [ebp - 0x510], ecx
mov edx, dword [ebp - 0x510]
mov dword [ebp - 0x514], edx
mov eax, dword [ebp - 0x4a8]
push eax
mov ecx, dword [ebp - 0x430]
mov edx, dword [ecx*4 + 0x7a7afc]
push edx
push 2
mov eax, dword [ebp - 0x514]
push eax
lea ecx, [ebp - 0x734]
push ecx
mov ecx, dword [ebp - 0x42c]
add ecx, 0x10c3c
call fcn.00569d30
mov ecx, eax
call fcn.00620bd0
mov dword [ebp - 0x708], eax
mov edx, dword [ebp - 0x42c]
mov eax, dword [edx + 0x1059c]
mov dword [ebp - 0x518], eax
mov ecx, dword [ebp - 0x518]
mov dword [ebp - 0x51c], ecx
imul edx, dword [ebp - 0x430], 0xc
mov eax, dword [ebp - 0x51c]
lea ecx, [eax + edx + 0xa8]
mov dword [ebp - 0x4b4], ecx
mov byte [ebp - 4], 0xe
lea edx, [ebp - 0x734]
push edx
mov ecx, dword [ebp - 0x4b4]
call fcn.0056e390
mov eax, dword [ebp - 0x4b4]
mov dword [ebp - 0x70c], eax
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x734]
call fcn.005a08e0
mov byte [ebp - 4], 0xf
mov ecx, dword [ebp - 0x520]
mov dword [ebp - 0x524], ecx
mov edx, dword [ebp - 0x524]
mov dword [ebp - 0x460], edx
cmp dword [ebp - 0x460], 0
je 0x59410c
push 1
mov eax, dword [ebp - 0x460]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x460]
mov eax, dword [edx]
call eax
mov dword [ebp - 0x528], eax
jmp 0x594116
mov dword [ebp - 0x528], 0
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x42c]
mov edx, dword [ecx + 0x1059c]
mov dword [ebp - 0x52c], edx
mov eax, dword [ebp - 0x52c]
mov dword [ebp - 0x530], eax
imul ecx, dword [ebp - 0x430], 0xc
mov edx, dword [ebp - 0x530]
lea eax, [edx + ecx + 0x90]
mov dword [ebp - 0x4c0], eax
mov ecx, dword [ebp - 0x4c0]
cmp dword [ecx + 8], 0
je 0x594179
mov edx, dword [ebp - 0x4c0]
mov eax, dword [edx + 8]
cmp dword [eax + 4], 0
je 0x594179
mov dword [ebp - 0x4c4], 0
jmp 0x594183
mov dword [ebp - 0x4c4], 1
movzx ecx, byte [ebp - 0x4c4]
test ecx, ecx
jne 0x594206
mov edx, dword [ebp - 0x42c]
mov eax, dword [edx + 0x1059c]
mov dword [ebp - 0x534], eax
mov ecx, dword [ebp - 0x534]
mov dword [ebp - 0x538], ecx
imul edx, dword [ebp - 0x430], 0xc
mov eax, dword [ebp - 0x538]
lea ecx, [eax + edx + 0xa8]
mov dword [ebp - 0x484], ecx
mov edx, dword [ebp - 0x484]
cmp dword [edx + 8], 0
je 0x5941ed
mov eax, dword [ebp - 0x484]
mov ecx, dword [eax + 8]
cmp dword [ecx + 4], 0
je 0x5941ed
mov dword [ebp - 0x488], 0
jmp 0x5941f7
mov dword [ebp - 0x488], 1
movzx edx, byte [ebp - 0x488]
test edx, edx
je 0x594292
mov byte [ebp - 0x431], 0
mov byte [ebp - 4], 4
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x20]
call fcn.005a4c60
mov byte [ebp - 4], 0x11
push 0
push 1
lea ecx, [ebp - 0x38]
call fcn.004b1670
mov byte [ebp - 4], 1
mov dword [ebp - method.pvr::RefCountedResource_class_pvr::api::impl::PipelineLayout__.virtual_0], vtable.pvr::RefCountedResource_class_pvr::api::impl::PipelineLayout__.0
mov byte [ebp - 4], 0x12
mov dword [ebp - method.pvr::EmbeddedRefCountedResource_class_pvr::api::impl::PipelineLayout__.virtual_0], vtable.pvr::EmbeddedRefCountedResource_class_pvr::api::impl::PipelineLayout__.0
lea ecx, [ebp - 0x44c]
call fcn.0056e650
mov byte [ebp - 4], 0
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x4d4]
call fcn.005a3670
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 4], 0x14
lea ecx, [ebp - 0x4e0]
call fcn.005a31c0
mov dword [ebp - 4], 0xffffffff
mov al, byte [ebp - 0x431]
jmp 0x59522e
jmp 0x593d1a
lea ecx, [ebp - 0x2e8]
call fcn.0058d140
mov byte [ebp - 4], 0x15
mov dword [ebp - 0x270], 0
lea eax, [ebp - 0x740]
mov dword [ebp - 0x464], eax
lea ecx, [ebp - 0x44c]
push ecx
mov ecx, dword [ebp - 0x464]
call fcn.005a6ae0
mov edx, dword [ebp - 0x464]
mov dword [edx], vtable.pvr::RefCountedResource_class_pvr::api::impl::PipelineLayout__.0
mov eax, dword [ebp - 0x464]
mov dword [ebp - 0x710], eax
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x740]
push ecx
lea ecx, [ebp - 0x1c4]
call fcn.0056e390
lea edx, [ebp - 0x1c4]
mov dword [ebp - 0x714], edx
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x740]
call fcn.0059fe70
mov eax, dword [ebp - 0x42c]
mov ecx, dword [eax + 0x1059c]
mov dword [ebp - 0x53c], ecx
mov edx, dword [ebp - 0x53c]
mov dword [ebp - 0x540], edx
mov eax, 0xc
imul ecx, eax, 0
mov edx, dword [ebp - 0x540]
lea eax, [edx + ecx + 0x90]
push eax
lea ecx, [ebp - 0x234]
call fcn.0058d0a0
mov ecx, dword [ebp - 0x42c]
mov edx, dword [ecx + 0x1059c]
mov dword [ebp - 0x544], edx
mov eax, dword [ebp - 0x544]
mov dword [ebp - 0x548], eax
mov ecx, 0xc
imul edx, ecx, 0
mov eax, dword [ebp - 0x548]
lea ecx, [eax + edx + 0xa8]
push ecx
lea ecx, [ebp - 0x228]
call fcn.0058d0a0
mov dword [ebp - 0x610], 1
mov edx, 0x10
mov word [ebp - 0x60c], dx
mov byte [ebp - 0x60a], 2
mov dword [ebp - 0x618], 1
xor eax, eax
mov word [ebp - 0x614], ax
mov byte [ebp - 0x612], 4
push 0x754be9
lea ecx, [ebp - 0x610]
push ecx
push 0
push 1
push 0x754be9
lea edx, [ebp - 0x618]
push edx
push 0
push 0
lea ecx, [ebp - 0x254]
call fcn.0058ce50
mov ecx, eax
call fcn.0058ce50
xor eax, eax
mov word [ebp - 0x6c4], ax
mov ecx, 0x18
movzx edx, cx
mov dword [ebp - 0x6c0], edx
mov dword [ebp - 0x6bc], 0
lea eax, [ebp - 0x44d]
push eax
lea ecx, [ebp - 0x6c4]
push ecx
lea edx, [ebp - 0x254]
push edx
call fcn.005ae4c0
add esp, 0xc
mov dword [ebp - 0x23c], 5
mov byte [ebp - 0x674], 0
mov byte [ebp - 0x673], 1
mov byte [ebp - 0x672], 0
mov byte [ebp - 0x671], 1
mov byte [ebp - 0x670], 0
mov dword [ebp - 0x66c], 0
mov dword [ebp - 0x668], 0
mov dword [ebp - 0x664], 0xf
lea eax, [ebp - 0x674]
push eax
lea ecx, [ebp - 0x2a0]
call fcn.0059ef50
mov byte [ebp - 0x2e8], 0
mov byte [ebp - 0x2e7], 0
lea ecx, [ebp - 0x2e8]
push ecx
lea edx, [ebp - 0x6d0]
push edx
mov ecx, dword [ebp - 0x42c]
add ecx, 0x10c3c
call fcn.00569d30
mov ecx, eax
call fcn.006208a0
mov dword [ebp - 0x54c], eax
mov eax, dword [ebp - 0x54c]
mov dword [ebp - 0x550], eax
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x74c]
mov dword [ebp - 0x43c], ecx
push 0
mov edx, dword [ebp - 0x550]
push edx
mov ecx, dword [ebp - 0x43c]
call fcn.005b1790
mov eax, dword [ebp - 0x43c]
mov dword [eax], vtable.pvr::RefCountedResource_class_pvr::api::impl::GraphicsPipeline__.0
mov ecx, dword [ebp - 0x43c]
mov edx, dword [ecx + 4]
mov dword [ebp - 0x718], edx
mov eax, dword [ebp - 0x43c]
mov dword [ebp - 0x780], eax
mov ecx, dword [ebp - 0x42c]
add ecx, 0x106bc
mov dword [ebp - 0x48c], ecx
mov byte [ebp - 4], 0x18
lea edx, [ebp - 0x74c]
push edx
mov ecx, dword [ebp - 0x48c]
call fcn.0056e390
mov eax, dword [ebp - 0x48c]
mov dword [ebp - 0x784], eax
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x74c]
call fcn.005a0f90
mov byte [ebp - 4], 0x15
mov dword [ebp - method.pvr::RefCountedResource_class_pvr::api::impl::ParentableGraphicsPipeline__.virtual_0], vtable.pvr::RefCountedResource_class_pvr::api::impl::ParentableGraphicsPipeline__.0
mov byte [ebp - 4], 0x19
mov dword [ebp - method.pvr::EmbeddedRefCountedResource_class_pvr::api::impl::ParentableGraphicsPipeline__.virtual_0], vtable.pvr::EmbeddedRefCountedResource_class_pvr::api::impl::ParentableGraphicsPipeline__.0
lea ecx, [ebp - 0x6d0]
call fcn.0056e650
mov byte [ebp - 4], 0x15
mov ecx, dword [ebp - 0x42c]
add ecx, 0x106bc
mov dword [ebp - 0x490], ecx
mov edx, dword [ebp - 0x490]
cmp dword [edx + 8], 0
je 0x5945d1
mov eax, dword [ebp - 0x490]
mov ecx, dword [eax + 8]
cmp dword [ecx + 4], 0
je 0x5945d1
mov dword [ebp - 0x494], 0
jmp 0x5945db
mov dword [ebp - 0x494], 1
movzx edx, byte [ebp - 0x494]
test edx, edx
je 0x594697
push str.Failed_to_create_TexColor_pipeline
push 0x7a28e0
call fcn.0058bf70
add esp, 8
mov byte [ebp - 0x432], 0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x2e8]
call fcn.0058d770
mov byte [ebp - 4], 4
mov byte [ebp - 4], 0x1a
lea ecx, [ebp - 0x20]
call fcn.005a4c60
mov byte [ebp - 4], 0x1b
push 0
push 1
lea ecx, [ebp - 0x38]
call fcn.004b1670
mov byte [ebp - 4], 1
mov dword [ebp - method.pvr::RefCountedResource_class_pvr::api::impl::PipelineLayout__.virtual_0], vtable.pvr::RefCountedResource_class_pvr::api::impl::PipelineLayout__.0
mov byte [ebp - 4], 0x1c
mov dword [ebp - method.pvr::EmbeddedRefCountedResource_class_pvr::api::impl::PipelineLayout__.virtual_0], vtable.pvr::EmbeddedRefCountedResource_class_pvr::api::impl::PipelineLayout__.0
lea ecx, [ebp - 0x44c]
call fcn.0056e650
mov byte [ebp - 4], 0
mov byte [ebp - 4], 0x1d
lea ecx, [ebp - 0x4d4]
call fcn.005a3670
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 4], 0x1e
lea ecx, [ebp - 0x4e0]
call fcn.005a31c0
mov dword [ebp - 4], 0xffffffff
mov al, byte [ebp - 0x432]
jmp 0x59522e
push str.MVPMatrix
mov ecx, dword [ebp - 0x42c]
add ecx, 0x106c0
call fcn.00569d30
mov ecx, eax
call fcn.00628ce0
mov ecx, dword [ebp - 0x42c]
mov dword [ecx + 0x106c8], eax
push str.vRGBA
mov ecx, dword [ebp - 0x42c]
add ecx, 0x106c0
call fcn.00569d30
mov ecx, eax
call fcn.00628ce0
mov edx, dword [ebp - 0x42c]
mov dword [edx + 0x106d0], eax
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x2e8]
call fcn.0058d770
lea ecx, [ebp - 0x1a8]
call fcn.0058d140
mov byte [ebp - 4], 0x1f
mov byte [ebp - 0x64c], 0
mov byte [ebp - 0x64b], 1
mov byte [ebp - 0x64a], 0
mov byte [ebp - 0x649], 1
mov byte [ebp - 0x648], 0
mov dword [ebp - 0x644], 0
mov dword [ebp - 0x640], 0
mov dword [ebp - 0x63c], 0xf
lea eax, [ebp - 0x758]
mov dword [ebp - 0x468], eax
lea ecx, [ebp - 0x44c]
push ecx
mov ecx, dword [ebp - 0x468]
call fcn.005a6ae0
mov edx, dword [ebp - 0x468]
mov dword [edx], vtable.pvr::RefCountedResource_class_pvr::api::impl::PipelineLayout__.0
mov eax, dword [ebp - 0x468]
mov dword [ebp - 0x78c], eax
mov byte [ebp - 4], 0x20
lea ecx, [ebp - 0x758]
push ecx
lea ecx, [ebp - 0x84]
call fcn.0056e390
lea edx, [ebp - 0x84]
mov dword [ebp - 0x790], edx
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0x758]
call fcn.0059fe70
mov eax, dword [ebp - 0x42c]
mov ecx, dword [eax + 0x1059c]
mov dword [ebp - 0x554], ecx
mov edx, dword [ebp - 0x554]
mov dword [ebp - 0x558], edx
mov eax, 0xc
shl eax, 0
mov ecx, dword [ebp - 0x558]
lea edx, [ecx + eax + 0x90]
push edx
lea ecx, [ebp - 0xf4]
call fcn.0058d0a0
mov eax, dword [ebp - 0x42c]
mov ecx, dword [eax + 0x1059c]
mov dword [ebp - 0x55c], ecx
mov edx, dword [ebp - 0x55c]
mov dword [ebp - 0x560], edx
mov eax, 0xc
shl eax, 0
mov ecx, dword [ebp - 0x560]
lea edx, [ecx + eax + 0xa8]
push edx
lea ecx, [ebp - 0xe8]
call fcn.0058d0a0
mov dword [ebp - 0x620], 1
mov eax, 0x10
mov word [ebp - 0x61c], ax
mov byte [ebp - 0x61a], 2
mov dword [ebp - 0x628], 1
xor ecx, ecx
mov word [ebp - 0x624], cx
mov byte [ebp - 0x622], 4
push 0x754be9
lea edx, [ebp - 0x620]
push edx
push 0
push 1
push 0x754be9
lea eax, [ebp - 0x628]
push eax
push 0
push 0
lea ecx, [ebp - 0x114]
call fcn.0058ce50
mov ecx, eax
call fcn.0058ce50
xor ecx, ecx
mov word [ebp - 0x6dc], cx
mov edx, 0x18
movzx eax, dx
mov dword [ebp - 0x6d8], eax
mov dword [ebp - 0x6d4], 0
lea ecx, [ebp - 0x44e]
push ecx
lea edx, [ebp - 0x6dc]
push edx
lea eax, [ebp - 0x114]
push eax
call fcn.005ae4c0
add esp, 0xc
lea ecx, [ebp - 0x64c]
push ecx
lea ecx, [ebp - 0x160]
call fcn.0059ef50
mov dword [ebp - 0xfc], 5
mov byte [ebp - 0x1a8], 0
mov byte [ebp - 0x1a7], 0
mov dword [ebp - 0x130], 0
lea edx, [ebp - 0x1a8]
push edx
lea eax, [ebp - 0x6b8]
push eax
mov ecx, dword [ebp - 0x42c]
add ecx, 0x10c3c
call fcn.00569d30
mov ecx, eax
call fcn.006208a0
mov dword [ebp - 0x564], eax
mov ecx, dword [ebp - 0x564]
mov dword [ebp - 0x568], ecx
mov byte [ebp - 4], 0x21
lea edx, [ebp - 0x764]
mov dword [ebp - 0x440], edx
push 0
mov eax, dword [ebp - 0x568]
push eax
mov ecx, dword [ebp - 0x440]
call fcn.005b1790
mov ecx, dword [ebp - 0x440]
mov dword [ecx], vtable.pvr::RefCountedResource_class_pvr::api::impl::GraphicsPipeline__.0
mov edx, dword [ebp - 0x440]
mov eax, dword [edx + 4]
mov dword [ebp - 0x7a8], eax
mov ecx, dword [ebp - 0x440]
mov dword [ebp - 0x7a0], ecx
mov edx, dword [ebp - 0x42c]
mov eax, dword [edx + 0x1059c]
mov dword [ebp - 0x56c], eax
mov ecx, dword [ebp - 0x56c]
mov dword [ebp - 0x570], ecx
mov edx, dword [ebp - 0x570]
add edx, 0xd8
mov dword [ebp - 0x498], edx
mov byte [ebp - 4], 0x22
lea eax, [ebp - 0x764]
push eax
mov ecx, dword [ebp - 0x498]
call fcn.0056e390
mov ecx, dword [ebp - 0x498]
mov dword [ebp - 0x7a4], ecx
mov byte [ebp - 4], 0x21
lea ecx, [ebp - 0x764]
call fcn.005a0f90
mov byte [ebp - 4], 0x1f
mov dword [ebp - method.pvr::RefCountedResource_class_pvr::api::impl::ParentableGraphicsPipeline__.virtual_0], vtable.pvr::RefCountedResource_class_pvr::api::impl::ParentableGraphicsPipeline__.0
mov byte [ebp - 4], 0x23
mov dword [ebp - method.pvr::EmbeddedRefCountedResource_class_pvr::api::impl::ParentableGraphicsPipeline__.virtual_0], vtable.pvr::EmbeddedRefCountedResource_class_pvr::api::impl::ParentableGraphicsPipeline__.0
lea ecx, [ebp - 0x6b8]
call fcn.0056e650
mov byte [ebp - 4], 0x1f
mov edx, dword [ebp - 0x42c]
mov eax, dword [edx + 0x1059c]
mov dword [ebp - 0x574], eax
mov ecx, dword [ebp - 0x574]
mov dword [ebp - 0x57c], ecx
mov edx, dword [ebp - 0x42c]
mov eax, dword [edx + 0x1059c]
mov dword [ebp - 0x578], eax
mov ecx, dword [ebp - 0x578]
mov dword [ebp - 0x580], ecx
push str.MVPMatrix
mov ecx, dword [ebp - 0x57c]
add ecx, 0xdc
call fcn.00569d30
mov ecx, eax
call fcn.00628ce0
mov edx, dword [ebp - 0x580]
mov dword [edx + 0xe4], eax
mov eax, dword [ebp - 0x42c]
mov ecx, dword [eax + 0x1059c]
mov dword [ebp - 0x584], ecx
mov edx, dword [ebp - 0x584]
mov dword [ebp - 0x58c], edx
mov eax, dword [ebp - 0x42c]
mov ecx, dword [eax + 0x1059c]
mov dword [ebp - 0x588], ecx
mov edx, dword [ebp - 0x588]
mov dword [ebp - 0x590], edx
push str.vRGBA
mov ecx, dword [ebp - 0x58c]
add ecx, 0xdc
call fcn.00569d30
mov ecx, eax
call fcn.00628ce0
mov ecx, dword [ebp - 0x590]
mov dword [ecx + 0xec], eax
mov edx, dword [ebp - 0x42c]
mov eax, dword [edx + 0x1059c]
mov dword [ebp - 0x594], eax
mov ecx, dword [ebp - 0x594]
mov dword [ebp - 0x598], ecx
mov edx, dword [ebp - 0x598]
add edx, 0xd8
mov dword [ebp - 0x49c], edx
mov eax, dword [ebp - 0x49c]
cmp dword [eax + 8], 0
je 0x594b38
mov ecx, dword [ebp - 0x49c]
mov edx, dword [ecx + 8]
cmp dword [edx + 4], 0
je 0x594b38
mov dword [ebp - 0x4a0], 0
jmp 0x594b42
mov dword [ebp - 0x4a0], 1
movzx eax, byte [ebp - 0x4a0]
test eax, eax
je 0x594bfe
push str.Failed_to_create_Color_Pipeline
push 0x7a28e0
call fcn.0058bf70
add esp, 8
mov byte [ebp - 0x433], 0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x1a8]
call fcn.0058d770
mov byte [ebp - 4], 4
mov byte [ebp - 4], 0x24
lea ecx, [ebp - 0x20]
call fcn.005a4c60
mov byte [ebp - 4], 0x25
push 0
push 1
lea ecx, [ebp - 0x38]
call fcn.004b1670
mov byte [ebp - 4], 1
mov dword [ebp - method.pvr::RefCountedResource_class_pvr::api::impl::PipelineLayout__.virtual_0], vtable.pvr::RefCountedResource_class_pvr::api::impl::PipelineLayout__.0
mov byte [ebp - 4], 0x26
mov dword [ebp - method.pvr::EmbeddedRefCountedResource_class_pvr::api::impl::PipelineLayout__.virtual_0], vtable.pvr::EmbeddedRefCountedResource_class_pvr::api::impl::PipelineLayout__.0
lea ecx, [ebp - 0x44c]
call fcn.0056e650
mov byte [ebp - 4], 0
mov byte [ebp - 4], 0x27
lea ecx, [ebp - 0x4d4]
call fcn.005a3670
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 4], 0x28
lea ecx, [ebp - 0x4e0]
call fcn.005a31c0
mov dword [ebp - 4], 0xffffffff
mov al, byte [ebp - 0x433]
jmp 0x59522e
mov dword [ebp - 0x690], 0
mov dword [ebp - 0x68c], 0
mov dword [ebp - 0x688], 0
mov dword [ebp - 0x684], 0xff
mov dword [ebp - 0x680], 0xff
mov dword [ebp - 0x67c], 0
mov dword [ebp - 0x678], 7
mov dword [ebp - 0x690], 2
mov dword [ebp - 0x678], 7
mov byte [ebp - 0x1a6], 1
lea edi, [ebp - 0x19c]
mov ecx, 7
lea esi, [ebp - 0x690]
rep movsd dword es:[edi], dword [esi]
lea edi, [ebp - 0x180]
mov ecx, 7
lea esi, [ebp - 0x690]
rep movsd dword es:[edi], dword [esi]
lea ecx, [ebp - 0x64c]
push ecx
push 0
lea ecx, [ebp - 0x160]
call fcn.0058d030
mov edx, dword [ebp - 0x42c]
mov eax, dword [edx + 0x1059c]
mov dword [ebp - 0x59c], eax
mov ecx, dword [ebp - 0x59c]
mov dword [ebp - 0x5a0], ecx
sub esp, 0xc
mov edx, esp
mov dword [ebp - 0x71c], esp
mov dword [ebp - 0x438], edx
push 0
mov eax, dword [ebp - 0x5a0]
add eax, 0xd8
push eax
mov ecx, dword [ebp - 0x438]
call fcn.005b1810
mov ecx, dword [ebp - 0x438]
mov dword [ecx], vtable.pvr::RefCountedResource_class_pvr::api::impl::ParentableGraphicsPipeline__.0
mov edx, dword [ebp - 0x438]
mov eax, dword [edx + 4]
mov dword [ebp - 0x788], eax
mov ecx, dword [ebp - 0x438]
mov dword [ebp - 0x794], ecx
mov byte [ebp - 4], 0x29
lea edx, [ebp - 0x1a8]
push edx
lea eax, [ebp - 0x770]
push eax
mov ecx, dword [ebp - 0x42c]
add ecx, 0x10c3c
call fcn.00569d30
mov byte [ebp - 4], 0x1f
mov ecx, eax
call fcn.006207b0
mov dword [ebp - 0x5a4], eax
mov ecx, dword [ebp - 0x5a4]
mov dword [ebp - 0x798], ecx
mov edx, dword [ebp - 0x42c]
mov eax, dword [edx + 0x1059c]
mov dword [ebp - 0x5a8], eax
mov ecx, dword [ebp - 0x5a8]
mov dword [ebp - 0x5ac], ecx
mov edx, dword [ebp - 0x5ac]
add edx, 0x54
mov dword [ebp - 0x4a4], edx
mov byte [ebp - 4], 0x2a
lea eax, [ebp - 0x770]
push eax
mov ecx, dword [ebp - 0x4a4]
call fcn.0056e390
mov ecx, dword [ebp - 0x4a4]
mov dword [ebp - 0x6ec], ecx
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0x770]
call fcn.005a0f90
mov edx, dword [ebp - 0x42c]
mov eax, dword [edx + 0x1059c]
mov dword [ebp - 0x5b0], eax
mov ecx, dword [ebp - 0x5b0]
mov dword [ebp - 0x5bc], ecx
mov edx, dword [ebp - 0x42c]
mov eax, dword [edx + 0x1059c]
mov dword [ebp - 0x5b4], eax
mov ecx, dword [ebp - 0x5b4]
mov dword [ebp - 0x5b8], ecx
mov edx, dword [ebp - 0x5b8]
mov eax, dword [ebp - 0x5bc]
mov ecx, dword [eax + 0xe4]
mov dword [edx + 0x60], ecx
mov edx, dword [ebp - 0x42c]
mov eax, dword [edx + 0x1059c]
mov dword [ebp - 0x5c0], eax
mov ecx, dword [ebp - 0x5c0]
mov dword [ebp - 0x5cc], ecx
mov edx, dword [ebp - 0x42c]
mov eax, dword [edx + 0x1059c]
mov dword [ebp - 0x5c4], eax
mov ecx, dword [ebp - 0x5c4]
mov dword [ebp - 0x5c8], ecx
mov edx, dword [ebp - 0x5c8]
mov eax, dword [ebp - 0x5cc]
mov ecx, dword [eax + 0xec]
mov dword [edx + 0x68], ecx
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x1a8]
call fcn.0058d770
mov byte [ebp - 0x480], 0
mov byte [ebp - 0x47f], 1
mov byte [ebp - 0x47e], 0
mov byte [ebp - 0x47d], 1
mov byte [ebp - 0x47c], 0
mov dword [ebp - 0x478], 0
mov dword [ebp - 0x474], 0
mov dword [ebp - 0x470], 0xf
mov byte [ebp - 0x480], 1
lea ecx, [ebp - 0x428]
call fcn.0058d140
mov byte [ebp - 4], 0x2b
mov byte [ebp - 0x428], 0
mov byte [ebp - 0x427], 0
mov byte [ebp - 0x426], 1
mov dword [ebp - 0x6ac], 0
mov dword [ebp - 0x6a8], 0
mov dword [ebp - 0x6a4], 0
mov dword [ebp - 0x6a0], 0xff
mov dword [ebp - 0x69c], 0xff
mov dword [ebp - 0x698], 0
mov dword [ebp - 0x694], 7
mov dword [ebp - 0x694], 2
lea edi, [ebp - 0x41c]
mov ecx, 7
lea esi, [ebp - 0x6ac]
rep movsd dword es:[edi], dword [esi]
lea edi, [ebp - 0x400]
mov ecx, 7
lea esi, [ebp - 0x6ac]
rep movsd dword es:[edi], dword [esi]
mov byte [ebp - 0x47d], 6
mov dl, byte [ebp - 0x47d]
mov byte [ebp - 0x47f], dl
mov byte [ebp - 0x47c], 7
mov al, byte [ebp - 0x47c]
mov byte [ebp - 0x47e], al
lea ecx, [ebp - 0x480]
push ecx
lea ecx, [ebp - 0x3e0]
call fcn.0059ef50
sub esp, 0xc
mov edx, esp
mov dword [ebp - 0x6f0], esp
mov dword [ebp - 0x46c], edx
mov eax, dword [ebp - 0x42c]
add eax, 0x10640
push eax
mov ecx, dword [ebp - 0x46c]
call fcn.005a4360
mov ecx, dword [ebp - 0x46c]
mov dword [ecx], vtable.pvr::RefCountedResource_class_pvr::api::impl::ParentableGraphicsPipeline__.0
mov edx, dword [ebp - 0x46c]
mov dword [ebp - 0x6f4], edx
mov byte [ebp - 4], 0x2c
lea eax, [ebp - 0x428]
push eax
lea ecx, [ebp - 0x77c]
push ecx
mov ecx, dword [ebp - 0x42c]
add ecx, 0x10c3c
call fcn.00569d30
mov byte [ebp - 4], 0x2b
mov ecx, eax
call fcn.006207b0
mov dword [ebp - 0x5d0], eax
mov edx, dword [ebp - 0x5d0]
mov dword [ebp - 0x6f8], edx
mov eax, dword [ebp - 0x42c]
mov ecx, dword [eax + 0x1059c]
mov dword [ebp - 0x5d4], ecx
mov edx, dword [ebp - 0x5d4]
mov dword [ebp - 0x5d8], edx
mov eax, dword [ebp - 0x5d8]
add eax, 0x6c
mov dword [ebp - 0x4c8], eax
mov byte [ebp - 4], 0x2d
lea ecx, [ebp - 0x77c]
push ecx
mov ecx, dword [ebp - 0x4c8]
call fcn.0056e390
mov edx, dword [ebp - 0x4c8]
mov dword [ebp - 0x6fc], edx
mov byte [ebp - 4], 0x2b
lea ecx, [ebp - 0x77c]
call fcn.005a0f90
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x428]
call fcn.0058d770
mov eax, dword [ebp - 0x42c]
mov ecx, dword [eax + 0x1059c]
mov dword [ebp - 0x5dc], ecx
mov edx, dword [ebp - 0x5dc]
mov dword [ebp - 0x5e0], edx
mov ecx, dword [ebp - 0x5e0]
add ecx, 0x130
call fcn.00569d30
mov ecx, eax
call fcn.0062ac50
mov eax, dword [ebp - 0x42c]
mov ecx, dword [eax + 0x1059c]
mov dword [ebp - 0x5e4], ecx
mov edx, dword [ebp - 0x5e4]
mov dword [ebp - 0x5e8], edx
mov eax, dword [ebp - 0x42c]
add eax, 0x106bc
push eax
mov ecx, dword [ebp - 0x5e8]
add ecx, 0x130
call fcn.00569d30
mov ecx, eax
call fcn.0062ad00
mov dword [ebp - 0x5f0], 0
mov ecx, dword [ebp - 0x42c]
mov edx, dword [ecx + 0x1059c]
mov dword [ebp - 0x5ec], edx
mov eax, dword [ebp - 0x5ec]
mov dword [ebp - 0x5f4], eax
lea ecx, [ebp - 0x5f0]
push ecx
push str.Texture
mov ecx, dword [ebp - 0x42c]
add ecx, 0x106c0
call fcn.00569d30
mov ecx, eax
call fcn.00628ce0
push eax
mov ecx, dword [ebp - 0x5f4]
add ecx, 0x130
call fcn.00569d30
mov ecx, eax
call fcn.0062b2a0
mov edx, dword [ebp - 0x42c]
mov eax, dword [edx + 0x1059c]
mov dword [ebp - 0x5f8], eax
mov ecx, dword [ebp - 0x5f8]
mov dword [ebp - 0x5fc], ecx
mov ecx, dword [ebp - 0x5fc]
add ecx, 0x130
call fcn.00569d30
mov ecx, eax
call fcn.0062aca0
mov edx, dword [ebp - 0x42c]
mov eax, dword [edx + 0x1059c]
mov dword [ebp - 0x600], eax
mov ecx, dword [ebp - 0x600]
mov dword [ebp - 0x604], ecx
mov ecx, dword [ebp - 0x604]
add ecx, 0x130
call fcn.00569d30
mov ecx, eax
call fcn.0062b690
mov byte [ebp - 0x434], 1
mov byte [ebp - 4], 4
mov byte [ebp - 4], 0x2e
lea ecx, [ebp - 0x20]
call fcn.005a4c60
mov byte [ebp - 4], 0x2f
push 0
push 1
lea ecx, [ebp - 0x38]
call fcn.004b1670
mov byte [ebp - 4], 1
mov dword [ebp - method.pvr::RefCountedResource_class_pvr::api::impl::PipelineLayout__.virtual_0], vtable.pvr::RefCountedResource_class_pvr::api::impl::PipelineLayout__.0
mov byte [ebp - 4], 0x30
mov dword [ebp - method.pvr::EmbeddedRefCountedResource_class_pvr::api::impl::PipelineLayout__.virtual_0], vtable.pvr::EmbeddedRefCountedResource_class_pvr::api::impl::PipelineLayout__.0
lea ecx, [ebp - 0x44c]
call fcn.0056e650
mov byte [ebp - 4], 0
mov byte [ebp - 4], 0x31
lea ecx, [ebp - 0x4d4]
call fcn.005a3670
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 4], 0x32
lea ecx, [ebp - 0x4e0]
call fcn.005a31c0
mov dword [ebp - 4], 0xffffffff
mov al, byte [ebp - 0x434]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0065c160
mov esp, ebp
pop ebp
ret