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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x620
mov esi, esp
mov dword [esi + 0x608], ebp
mov dword [esi + 0x60c], esp
mov dword [esi + 0x618], 0xffffffff
mov dword [esi + 0x614], 0x10044280
mov edx, dword [ebp + 8]
lea eax, [esi + 0x610]
mov ecx, dword fs:[0]
mov dword [esi + 0x610], ecx
mov dword fs:[0], eax
cmp dword [edx + 0x58], 0
jne 0x100432a9
movaps xmm0, xmmword [0x1011ef60]
lea eax, [esi + 0x3b8]
mov dword [esi + 0x10c], 2
lea edx, [esi + 0x68]
mov dword [esi + 0xb4], 0
mov dword [esi + 0x68], 0
mov byte [esi + 0xa], 1
mov byte [esi + 0xb], 1
mov dword [esi + 0x618], 1
lea ecx, [esi + 0xb4]
movups xmmword [esi + 0x3b8], xmm0
movaps xmm0, xmmword [0x1011ef70]
mov dword [esi + 0x3c8], 0
movups xmmword [esi + 0x120], xmm0
movaps xmm0, xmmword [0x1011ef80]
mov dword [esi + 0x130], 1
mov dword [esi + 0x134], 0
mov dword [esi + 0x138], 1
mov dword [esi + 0x13c], eax
lea eax, [esi + 0x120]
mov dword [esi + 0x144], 5
mov dword [esi + 0x110], eax
lea eax, [esi + 0x148]
mov dword [esi + 0x114], 1
mov dword [esi + 0x118], eax
lea eax, [esi + 0x10c]
mov dword [esi + 0x11c], 0x1d
movups xmmword [esi + 0x148], xmm0
xorps xmm0, xmm0
mov dword [esi + 0x158], 0
mov dword [esi + 0x15c], 0
mov dword [esi + 0x160], 8
mov dword [esi + 0x174], 0
movsd qword [esi + 0x164], xmm0
movsd qword [esi + 0x16c], xmm0
mov dword [esi + 0x178], 5
push edx
push ecx
push 1
push eax
call dword [sym.imp.d3d12.dll_D3D12SerializeRootSignature]
mov cl, 1
test eax, eax
jns 0x100425ef
mov byte [esi + 0xa], 1
mov byte [esi + 0xb], 1
push eax
call fcn.10048b50
add esp, 4
mov dword [esi + 0x78], eax
mov eax, dword [esi + 0x68]
mov dword [esi + 0x7c], edx
test eax, eax
je 0x100423c6
mov dword [esi + 0x14], eax
lea eax, [esi + 0x14]
mov dword [esi + 0x618], 0x25
push eax
call fcn.10047b50
add esp, 4
mov dword [esi + 0xc], eax
lea eax, [esi + 0x14]
push eax
call fcn.10047b60
add esp, 4
mov edx, dword [esi + 0xc]
mov ecx, eax
inc ecx
mov dword [esi + 0x58], ecx
mov dword [esi + 0x5c], edx
mov dword [esi + 0x60], eax
mov eax, dword [0x1016d61c]
mov eax, dword [eax]
cmp eax, 5
je 0x1004257e
movzx eax, byte [0x1016d3d0]
test al, al
je 0x1004257e
movzx ecx, al
cmp ecx, 1
je 0x100423f4
cmp ecx, 2
jne 0x100423d5
mov al, 2
jmp 0x100423f4
mov cl, 1
test edx, edx
jne 0x100425cc
jmp 0x100425ef
mov dword [esi + 0x618], 0x26
push 0x1016d3c8
call fcn.1010e990
add esp, 4
test al, al
je 0x1004257e
mov ecx, dword [0x1016d3c8]
movzx eax, al
mov dword [esi + 0x618], 0x26
push eax
push ecx
call fcn.10044460
add esp, 8
test al, al
je 0x1004257e
mov eax, dword [0x1016d3c8]
mov edx, dword [eax + 0x20]
test edx, edx
je 0x10043aad
mov edi, dword [eax + 0x1c]
movsd xmm0, qword [eax + 0x24]
lea ebx, [esi + 0x78]
lea ecx, [eax + 0x1c]
mov dword [esi + str.Serializing_root_signature:_:], 0x1011f22c
mov dword [esi + 0x3d0], 2
mov dword [esi + 0x3dc], 0
mov dword [esi + 0x20], ebx
mov dword [esi + 0x24], 0x10049220
lea ebx, [esi + 0x20]
mov dword [esi + 0x3d4], ebx
lea ebx, [esi + 0x3cc]
mov dword [esi + 0x3d8], 2
mov dword [esi + 0x17c], edi
lea edi, [esi + 0x58]
mov dword [esi + 0x180], edx
movlps qword [esi + 0x184], xmm0
mov dword [esi + 0x18c], 0
mov dword [esi + 0x28], edi
lea edi, [esi + 0x17c]
mov dword [esi + 0x2c], 0x1000f520
mov dword [esi + 0xd0], edi
lea edi, [esi + 0xd0]
mov dword [esi + 0xd4], ebx
mov dword [esi + 0xd8], 0x1011f0f8
mov dword [esi + 0x6c], edi
mov dword [esi + 0x70], 1
mov dword [esi + 0x74], ecx
lea ecx, [esi + 0x6c]
push ecx
push eax
call fcn.10045af0
add esp, 8
mov eax, dword [0x1016d630]
movzx eax, byte [eax]
test al, al
jne 0x1004258e
mov eax, dword [0x10180d7c]
mov eax, dword [eax]
test eax, eax
je 0x1004258e
mov ecx, dword [0x1016d3c8]
mov eax, dword [ecx + 0x14]
mov dword [esi + 0x1c], ecx
mov ecx, dword [ecx + 0x18]
mov dword [esi + 0xe0], 1
mov dword [esi + 0xe4], eax
mov dword [esi + 0xe8], ecx
call fcn.1009d820
lea ecx, [esi + 0xe0]
push ecx
push eax
mov dword [esi + 0xc], edx
mov dword [esi + 4], eax
mov eax, dword [esi + 0xc]
call dword [eax + 0xc]
mov edi, dword [esi + 0xc]
mov edx, dword [esi + 4]
add esp, 8
test al, al
je 0x1004258e
mov eax, dword [esi + 0xe8]
movsd xmm0, qword [esi + 0xe0]
lea ecx, [esi + 0x6c]
mov dword [esi + 0x90], eax
movsd qword [esi + 0x88], xmm0
lea eax, [esi + 0x88]
push ecx
push eax
push edi
push edx
push dword [esi + 0x1c]
call fcn.100445f0
add esp, 0x14
jmp 0x1004258e
mov eax, dword [0x1016d630]
movzx eax, byte [eax]
test al, al
je 0x100432bd
mov eax, dword [esi + 0x58]
test eax, eax
je 0x100425ad
push 1
push eax
push dword [esi + 0x5c]
call fcn.100218b0
add esp, 0xc
mov dword [esi + 0x618], 0x24
lea eax, [esi + 0x14]
mov dword [esi + 0x618], 0x24
push eax
call fcn.10048410
add esp, 4
mov edx, dword [esi + 0x7c]
xor ecx, ecx
test edx, edx
je 0x100425ef
lea eax, [esi + 0x7c]
mov byte [esi + 0xa], cl
mov byte [esi + 0xb], 1
mov dword [esi + 0x618], 1
push eax
mov dword [esi + 0x1c], ecx
call fcn.10048410
mov ecx, dword [esi + 0x1c]
add esp, 4
mov eax, dword [esi + 0xb4]
mov dword [esi + 0x1c], ecx
test eax, eax
je 0x10043410
mov dword [esi + 0xb8], eax
lea eax, [esi + 0xb8]
mov dword [esi + 0x618], 2
push eax
call fcn.10047b50
add esp, 4
mov dword [esi + 4], eax
lea eax, [esi + 0xb8]
push eax
call fcn.10047b60
add esp, 4
mov ecx, dword [ebp + 8]
mov dword [esi + 0x17c], 0
lea edi, [esi + 0x17c]
add ecx, 0x5c
mov dword [esi + 0xc], ecx
mov ecx, dword [ecx]
mov edx, dword [ecx]
push edi
push 0x1011d89c
push eax
push dword [esi + 4]
push 0
push ecx
call dword [edx + 0x40]
test eax, eax
js 0x10043436
mov eax, dword [esi + 0x17c]
mov dword [esi + 0x18], eax
test eax, eax
mov eax, dword [ebp + 8]
je 0x1004344c
cmp dword [eax + 0x54], 0
lea ecx, [eax + 0x54]
mov dword [esi + 4], ecx
je 0x1004269b
mov dword [esi + 0x618], 0x22
push dword [esi + 4]
call fcn.10048410
add esp, 4
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 4]
mov dword [esi + 0x618], 2
mov dword [ecx], eax
lea eax, [esi + 0x3cc]
push 0x349
push str._n________________cbuffer_vertexBuffer_:_register_b0__n_________________n__________________float4x4_ProjectionMatrix__n__________________n________________struct_VS_INPUT_n_________________n__________________float2_pos_:_POSITION__n__________________float4_col_:_COLOR0__n__________________float2_uv__:_TEXCOORD0__n__________________n_n________________struct_PS_INPUT_n_________________n__________________float4_pos_:_SV_POSITION__n__________________float4_col_:_COLOR0__n__________________float2_uv__:_TEXCOORD0__n__________________n_n________________PS_INPUT_main_VS_INPUT_input__n_________________n__________________PS_INPUT_output__n__________________output.pos__mul__ProjectionMatrix__float4_input.pos.xy__0.f__1.f____n__________________output.col__input.col__n__________________output.uv___input.uv__n__________________return_output__n________________D3DCompile_vertex_shader
push eax
call fcn.1002adb0
add esp, 0xc
cmp dword [esi + 0x3cc], 0
jne 0x100434ab
mov eax, dword [esi + 0x3d0]
mov dword [esi + 0x618], 3
mov dword [esi + 0xbc], eax
push 0x1fe
push str._n________________struct_PS_INPUT_n_________________n__________________float4_pos_:_SV_POSITION__n__________________float4_col_:_COLOR0__n__________________float2_uv__:_TEXCOORD0__n__________________n________________SamplerState_sampler0_:_register_s0___n________________Texture2D_texture0_:_register_t0___n_n________________float4_main_PS_INPUT_input__:_SV_Target_n_________________n__________________float4_out_col__input.col__texture0.Sample_sampler0__input.uv___n__________________return_out_col__n________________D3DCompile_pixel_shader
lea eax, [esi + 0x3cc]
push eax
call fcn.1002acb0
add esp, 0xc
cmp dword [esi + 0x3cc], 0
jne 0x100434f2
mov eax, dword [esi + 0x3d0]
mov dword [esi + 0xc0], eax
mov eax, dword [esi + 4]
cmp dword [eax], 0
je 0x1004273b
mov dword [esi + 0x618], 4
push eax
call fcn.100467d0
add esp, 4
mov dword [esi + 4], eax
jmp 0x10042742
mov dword [esi + 4], 0
lea eax, [esi + 0x3cc]
mov dword [esi + 0x618], 4
push eax
call fcn.100480e0
add esp, 4
mov eax, dword [esi + 4]
mov ecx, dword [esi + 0x3d4]
movsd xmm0, qword [esi + 0x3f8]
movsd xmm1, qword [esi + 0x400]
mov dword [esi + 0x17c], eax
mov eax, dword [esi + 0x3d0]
mov dword [esi + 0x180], eax
mov eax, dword [esi + 0x3d8]
mov dword [esi + 0x184], ecx
mov ecx, dword [esi + 0x3dc]
mov dword [esi + 0x188], eax
mov eax, dword [esi + 0x3e0]
mov dword [esi + 0x18c], ecx
mov ecx, dword [esi + 0x3e4]
mov dword [esi + 0x190], eax
mov eax, dword [esi + 0x3e8]
mov dword [esi + 0x194], ecx
mov ecx, dword [esi + 0x3ec]
mov dword [esi + 0x198], eax
mov eax, dword [esi + 0x3f0]
mov dword [esi + 0x19c], ecx
mov ecx, dword [esi + 0x3f4]
mov dword [esi + 0x1a0], eax
mov eax, dword [esi + 0x408]
mov dword [esi + 0x1a4], ecx
movsd qword [esi + 0x1a8], xmm0
movsd qword [esi + 0x1b0], xmm1
lea ecx, [esi + 0x1bc]
mov dword [esi + 0x1b8], eax
lea eax, [esi + 0x40c]
push 0x148
push eax
push ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
movsd xmm0, qword [esi + 0x558]
mov dword [esi + 0x304], 0xffffffff
movsd xmm1, qword [esi + 0x560]
mov eax, dword [esi + 0x580]
mov ecx, dword [esi + 0x600]
movsd qword [esi + 0x308], xmm0
movsd xmm0, qword [esi + 0x568]
mov dword [esi + 0x330], eax
movsd qword [esi + 0x310], xmm1
mov eax, dword [esi + 0x5b4]
movsd qword [esi + 0x318], xmm0
movsd xmm0, qword [esi + 0x570]
movsd qword [esi + 0x320], xmm0
movsd xmm0, qword [esi + 0x578]
movsd qword [esi + 0x328], xmm0
movsd xmm0, qword [esi + 0x584]
mov dword [esi + 0x364], eax
mov eax, dword [esi + 0x5b8]
movsd qword [esi + 0x334], xmm0
movsd xmm0, qword [esi + 0x58c]
movsd qword [esi + 0x33c], xmm0
movsd xmm0, qword [esi + 0x594]
movsd qword [esi + 0x344], xmm0
movsd xmm0, qword [esi + 0x59c]
movsd qword [esi + 0x34c], xmm0
movsd xmm0, qword [esi + 0x5a4]
movsd qword [esi + 0x354], xmm0
movsd xmm0, qword [esi + 0x5ac]
movsd qword [esi + 0x35c], xmm0
movsd xmm0, qword [esi + 0x5bc]
mov dword [esi + 0x368], eax
mov eax, dword [esi + 0x5fc]
movsd qword [esi + 0x36c], xmm0
movsd xmm0, qword [esi + 0x5cc]
mov dword [esi + 0x374], 3
mov dword [esi + 0x378], 1
movsd qword [esi + 0x37c], xmm0
movsd xmm0, qword [esi + 0x5d4]
movsd qword [esi + 0x384], xmm0
movsd xmm0, qword [esi + 0x5dc]
movsd qword [esi + 0x38c], xmm0
movsd xmm0, qword [esi + 0x5e4]
movsd qword [esi + 0x394], xmm0
mov dword [esi + 0x3ac], eax
mov eax, dword [ebp + 8]
movaps xmm0, xmmword [0x1011ef90]
mov dword [esi + 0x3b0], ecx
mov dword [esi + 0x3b4], 0
mov eax, dword [eax + 0x48]
mov dword [esi + 0x37c], eax
lea eax, [esi + 0xbc]
movups xmmword [esi + 0x39c], xmm0
push eax
call fcn.10047b50
add esp, 4
mov dword [esi + 4], eax
lea eax, [esi + 0xbc]
push eax
call fcn.10047b60
add esp, 4
mov ecx, dword [esi + 4]
mov dword [esi + 0x180], ecx
mov dword [esi + 0x184], eax
lea eax, [esi + 0xc0]
push eax
call fcn.10047b50
add esp, 4
mov dword [esi + 4], eax
lea eax, [esi + 0xc0]
push eax
call fcn.10047b60
add esp, 4
mov ecx, dword [esi + 4]
movaps xmm1, xmmword [0x1011af40]
movaps xmm2, xmmword [0x1011af50]
xorps xmm0, xmm0
mov dword [esi + 0x3cc], str.POSITION
mov dword [esi + 0x3d0], 0
mov dword [esi + 0x3d4], 0x10
movaps xmm3, xmmword [0x1011efa0]
mov dword [esi + 0x20], 0
lea edx, [esi + 0x20]
movsd qword [esi + 0x3d8], xmm0
movsd qword [esi + 0x3e0], xmm0
mov dword [esi + 0x3e8], str.TEXCOORD
mov dword [esi + 0x188], ecx
mov dword [esi + 0x18c], eax
lea eax, [esi + 0x3cc]
movups xmmword [esi + 0x3ec], xmm1
mov dword [esi + 0x3fc], 0
mov dword [esi + 0x400], 0
mov dword [esi + 0x404], 0x1011f80a
movups xmmword [esi + 0x408], xmm2
movaps xmm2, xmmword [0x1011efb0]
mov dword [esi + 0x418], 0
mov dword [esi + 0x41c], 0
mov dword [esi + 0x368], eax
mov eax, dword [esi + 0xc]
mov dword [esi + 0x36c], 3
mov dword [esi + 0x1bc], 0
movups xmmword [esi + 0x1c4], xmm3
movups xmmword [esi + 0x1d4], xmm2
mov dword [esi + 0x1e4], 0
mov byte [esi + 0x1e8], 0xf
mov dword [esi + 0x308], 3
mov dword [esi + 0x30c], 1
movsd qword [esi + 0x318], xmm0
movsd qword [esi + 0x310], xmm0
mov dword [esi + 0x320], 1
movsd qword [esi + 0x32c], xmm0
movsd qword [esi + 0x324], xmm0
mov eax, dword [eax]
mov ecx, dword [eax]
push edx
push 0x1011d8dc
lea edx, [esi + 0x17c]
push edx
push eax
call dword [ecx + 0x28]
test eax, eax
js 0x10043539
mov ecx, dword [esi + 0x20]
mov eax, dword [ebp + 8]
test ecx, ecx
je 0x1004354c
add eax, 0x58
mov dword [esi + 0x70], ecx
mov dword [esi + 0x18], ecx
mov dword [esi + 0x6c], 0
cmp dword [eax], 0
mov dword [esi + 4], eax
je 0x10042b7a
mov dword [esi + 0x618], 0x1e
push dword [esi + 4]
call fcn.10048410
add esp, 4
mov eax, dword [ebp + 0xc]
mov ecx, dword [esi + 0x18]
mov edx, dword [esi + 4]
mov dword [esi + 0x618], 4
mov dword [edx], ecx
push eax
call fcn.1007c790
add esp, 4
mov dword [esi + 0x18], eax
lea eax, [esi + 0xd0]
push dword [esi + 0x18]
push eax
call fcn.1007c000
add esp, 8
mov edx, dword [esi + 0xc]
lea eax, [esi + 0xd8]
lea ecx, [esi + 0xdc]
mov dword [esi + 0x20], edx
mov dword [esi + 0x24], eax
lea eax, [esi + 0x20]
mov dword [esi + 0x28], ecx
lea ecx, [esi + 0x88]
push eax
push ecx
call fcn.1002a750
add esp, 8
cmp dword [esi + 0x88], 0
jne 0x10043596
mov eax, dword [esi + 0x8c]
mov ecx, dword [esi + 0xdc]
xorps xmm0, xmm0
mov dword [esi + 0x88], 2
mov dword [esi + 0x20], 1
mov dword [esi + 0xc4], 0
mov dword [esi + 0x2c], 0
mov dword [esi + 0x28], 0
mov dword [esi + 0x34], 0
lea edx, [esi + 0xc4]
movsd qword [esi + 0x8c], xmm0
movsd qword [esi + 0x94], xmm0
movaps xmm0, xmmword [0x1011ef50]
mov dword [esi + 0x64], eax
mov eax, dword [esi + 0xd8]
shl eax, 2
imul ecx, eax
mov dword [esi + 0x108], eax
mov eax, dword [esi + 0xc]
mov dword [esi + 0x30], ecx
mov dword [esi + 0x38], 1
mov dword [esi + 0x3c], 0x10001
movups xmmword [esi + 0x40], xmm0
mov dword [esi + 0x50], 0
mov dword [esi + 4], ecx
mov eax, dword [eax]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x6c]
mov byte [esi + 3], 0
mov dword [esi + 0x618], 6
push edx
push 0x1011d8cc
push 0
push 0xac3
lea edx, [esi + 0x20]
push edx
push 0
lea edx, [esi + 0x88]
push edx
push eax
call ecx
test eax, eax
js 0x100435d4
mov eax, dword [esi + 0xc4]
mov ecx, dword [esi + 4]
mov dword [esi + 0x78], 0
test eax, eax
mov dword [esi + 0xcc], eax
mov dword [esi + 0x7c], ecx
je 0x10042d40
lea eax, [esi + 0xe0]
mov dword [esi + 0xe0], 0
mov byte [esi + 3], 1
lea edx, [esi + 0x78]
lea ecx, [esi + 0xcc]
push eax
push 1
push edx
push 1
push 0
push ecx
lea eax, [esi + 0x20]
push eax
call fcn.10047f30
add esp, 0x1c
cmp dword [esi + 0x20], 0
jne 0x10043a6f
push dword [esi + 0xd4]
push dword [esi + 0xd0]
push dword [esi + 0xe0]
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
lea eax, [esi + 0x78]
mov byte [esi + 3], 1
push eax
push 1
push 0
lea eax, [esi + 0xcc]
push eax
call fcn.10047f90
add esp, 0x10
mov eax, dword [esi + 0xc]
mov dword [esi + 0x88], 0
lea edx, [esi + 0x88]
mov eax, dword [eax]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x90]
mov byte [esi + 3], 1
push edx
push 0x1011d86c
push 0
push 0
push 0
push eax
call ecx
test eax, eax
js 0x1004361c
mov eax, dword [esi + 0x88]
test eax, eax
je 0x10043633
mov dword [esi + 0x80], eax
mov dword [esi + 0x618], 7
push 0
push 0
push 0
push 0
call dword [sym.imp.kernel32.dll_CreateEventA]
mov dword [esi + 4], eax
mov eax, dword [esi + 4]
dec eax
cmp eax, 0xfffffffe
jae 0x10043686
mov eax, dword [esi + 0xc]
movaps xmm0, xmmword [0x1011a500]
mov dword [esi + 0xe0], 0
lea edx, [esi + 0xe0]
mov eax, dword [eax]
movups xmmword [esi + 0x20], xmm0
mov ecx, dword [eax]
push edx
push 0x1011d88c
lea edx, [esi + 0x20]
push edx
push eax
call dword [ecx + 0x20]
test eax, eax
js 0x100436e6
mov eax, dword [esi + 0xe0]
test eax, eax
je 0x100436fc
mov dword [esi + 0x84], eax
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x18]
mov dword [esi + 0x618], 8
push 0x1011f8e0
push eax
call ecx
test eax, eax
js 0x1004375b
mov eax, dword [esi + 0xc]
mov dword [esi + 0x88], 0
lea edx, [esi + 0x88]
mov eax, dword [eax]
mov ecx, dword [eax]
push edx
push 0x1011d8bc
push 0
push eax
call dword [ecx + 0x24]
test eax, eax
js 0x10043796
mov eax, dword [esi + 0x88]
test eax, eax
je 0x100437a9
mov dword [esi + 0xc8], eax
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x18]
mov dword [esi + 0x618], 9
push 0x1011f948
push eax
call ecx
test eax, eax
js 0x100437fc
lea eax, [esi + 0xc8]
push 0
push eax
push 0
push 0
push dword [esi + 0xc]
lea eax, [esi + 0x20]
push eax
call fcn.10033c10
add esp, 0x18
cmp dword [esi + 0x20], 0
jne 0x10043837
mov eax, dword [esi + 0x24]
mov dword [esi + 0x14], eax
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x18]
mov dword [esi + 0x618], 0xa
push 0x1011f9cc
push eax
call ecx
test eax, eax
js 0x10043878
mov eax, dword [esi + 0xcc]
cmp dword [esi + 0x64], 0
movsd xmm0, qword [esi + 0xd8]
mov ecx, dword [esi + 0x108]
mov dword [esi + 0xe0], eax
mov dword [esi + 0xe4], 1
mov dword [esi + 0xec], 0
mov dword [esi + 0xe8], 0
mov dword [esi + 0xf0], 0x1c
movsd qword [esi + 0xf4], xmm0
mov dword [esi + 0xfc], 1
mov dword [esi + 0x100], ecx
je 0x10042f65
lea eax, [esi + 0x64]
push eax
call fcn.100467d0
add esp, 4
cmp dword [esi + 0x64], 0
mov dword [esi + 0x88], eax
mov dword [esi + 0x8c], 0
mov dword [esi + 0x90], 0
je 0x10042f83
lea eax, [esi + 0x64]
push eax
call fcn.100467d0
add esp, 4
mov dword [esi + 0xc], eax
jmp 0x10042f8a
mov dword [esi + 0x88], 0
mov dword [esi + 0x8c], 0
mov dword [esi + 0x90], 0
mov dword [esi + 0xc], 0
sub esp, 4
lea ecx, [esi + 0x14]
push 0
lea eax, [esi + 0xe0]
push eax
push 0
push 0
push 0
lea eax, [esi + 0x88]
push eax
push ecx
call fcn.10047d90
add esp, 0x20
mov eax, dword [esi + 0xc]
mov dword [esi + 0x20], 0
mov dword [esi + 0x24], 0
mov dword [esi + 0x28], eax
mov dword [esi + 0x2c], 0xffffffff
mov dword [esi + 0x30], 0x400
mov dword [esi + 0x34], 0x80
push 1
lea eax, [esi + 0x20]
push eax
lea eax, [esi + 0x14]
push eax
call fcn.10047e50
add esp, 0xc
lea eax, [esi + 0x14]
push eax
lea eax, [esi + 0x20]
push eax
call fcn.10047d20
add esp, 8
cmp dword [esi + 0x20], 0
jne 0x100438b3
mov eax, dword [esi + 0x14]
mov dword [esi + 0x58], 0
lea edx, [esi + 0x58]
mov ecx, dword [eax]
mov ecx, dword [ecx]
mov byte [esi + 0x12], 0
mov dword [esi + 0x618], 0xc
push edx
push 0x1011d85c
push eax
call ecx
mov ecx, dword [esi + 0x58]
test eax, eax
mov dword [esi + 0x20], ecx
js 0x100438eb
test ecx, ecx
je 0x10043933
mov dword [esi + 0x20], ecx
mov dword [esi + 0x618], 0x11
lea ecx, [esi + 0x84]
push 1
lea eax, [esi + 0x20]
push eax
push ecx
call fcn.10047bb0
add esp, 0xc
cmp dword [esi + 0x20], 0
je 0x10043080
lea eax, [esi + 0x20]
mov dword [esi + 0x618], 0xa
push eax
call fcn.10048410
add esp, 4
mov eax, dword [esi + 0x84]
mov edx, dword [esi + 0x80]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x38]
mov dword [esi + 0x20], 1
mov dword [esi + 0x24], edx
mov dword [esi + 0x618], 0xb
push 0
push 1
push edx
push eax
call ecx
test eax, eax
js 0x10043979
mov eax, dword [esi + 0x80]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x24]
mov dword [esi + 0x618], 0xa
push dword [esi + 4]
push 0
push 1
push eax
call ecx
test eax, eax
js 0x100439dc
push 0xffffffffffffffff
push dword [esi + 4]
call dword [sym.imp.kernel32.dll_WaitForSingleObject]
mov dword [esi + 0x20], 0x1c
mov dword [esi + 0x24], 4
mov dword [esi + 0x28], 0x1688
mov dword [esi + 0x30], 0
mov dword [esi + 0x34], 1
mov dword [esi + 0x38], 0
mov dword [esi + 0x3c], 0
push dword [esi + 4]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
je 0x10043a17
mov edx, dword [ebp + 8]
mov eax, dword [esi + 0x64]
mov ecx, dword [edx + 0x4c]
mov dword [esi + 0x58], ecx
mov ecx, dword [edx + 0x5c]
mov edi, dword [esi + 0x58]
mov edx, dword [ecx]
push edi
lea edi, [esi + 0x20]
push edi
push eax
push ecx
call dword [edx + 0x48]
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x50]
mov dword [ecx + 0x50], 0
test eax, eax
mov dword [esi + 0x58], eax
je 0x10043196
lea eax, [esi + 0x58]
push eax
call fcn.10048410
add esp, 4
mov ecx, dword [ebp + 8]
mov eax, dword [esi + 0x64]
lea edx, [ecx + 0x50]
cmp dword [edx], 0
je 0x10043199
mov dword [esi + 0xc], eax
mov dword [esi + 0x618], 0xe
mov dword [esi + 4], edx
push edx
call fcn.10048410
add esp, 4
mov ecx, dword [ebp + 8]
mov eax, dword [esi + 0xc]
jmp 0x10043199
mov eax, dword [esi + 0x64]
mov dword [ecx + 0x50], eax
mov edx, dword [esi + 0x18]
mov eax, dword [ecx + 0x40]
mov dword [edx + 4], eax
mov eax, dword [esi + 0xe0]
test eax, eax
mov dword [esi + 0x58], eax
je 0x100431c8
lea eax, [esi + 0x58]
mov dword [esi + 0x618], 0xa
push eax
call fcn.10048410
add esp, 4
lea eax, [esi + 0x14]
mov dword [esi + 0x618], 9
push eax
call fcn.10048410
add esp, 4
lea eax, [esi + 0xc8]
mov dword [esi + 0x618], 8
push eax
call fcn.10048410
add esp, 4
lea eax, [esi + 0x84]
mov dword [esi + 0x618], 7
push eax
call fcn.10048410
add esp, 4
lea eax, [esi + 0x80]
mov byte [esi + 3], 1
mov dword [esi + 0x618], 6
push eax
call fcn.10048410
add esp, 4
lea eax, [esi + 0xc0]
mov dword [esi + 0x618], 3
push eax
call fcn.10048410
add esp, 4
lea eax, [esi + 0xbc]
mov dword [esi + 0x618], 2
push eax
call fcn.10048410
add esp, 4
mov eax, dword [esi + 0x1c]
mov byte [esi + 0xb], 0
mov dword [esi + 0x618], 1
mov byte [esi + 0xa], al
lea eax, [esi + 0xb8]
push eax
call fcn.10048410
mov eax, dword [esi + 0x1c]
add esp, 4
test al, al
je 0x100432a9
cmp dword [esi + 0x68], 0
je 0x100432a9
lea eax, [esi + 0x68]
mov byte [esi + 0x13], 0
mov dword [esi + 0x618], 0
push eax
call fcn.10048410
add esp, 4
mov eax, dword [esi + 0x610]
mov dword fs:[0], eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [0x10180d7c]
mov eax, dword [eax]
test eax, eax
je 0x1004258e
mov ecx, dword [0x1016d3c8]
mov eax, dword [ecx + 0x14]
mov dword [esi + 0x1c], ecx
mov ecx, dword [ecx + 0x18]
mov dword [esi + 0x6c], 1
mov dword [esi + 0x618], 0x26
mov dword [esi + 0x70], eax
mov dword [esi + 0x74], ecx
call fcn.1009d820
lea ecx, [esi + 0x6c]
push ecx
push eax
mov dword [esi + 0xc], edx
mov dword [esi + 4], eax
mov eax, dword [esi + 0xc]
call dword [eax + 0xc]
mov ebx, dword [esi + 4]
add esp, 8
test al, al
je 0x1004258e
mov eax, dword [esi + 0x74]
movsd xmm0, qword [esi + 0x6c]
mov edx, dword [0x1016d3c8]
mov dword [esi + 0xd8], eax
movsd qword [esi + 0xd0], xmm0
mov ecx, dword [edx + 0x20]
test ecx, ecx
je 0x10043ac3
mov edi, dword [edx + 0x1c]
movsd xmm0, qword [edx + 0x24]
mov dword [esi + str.Serializing_root_signature:_:], 0x1011f22c
mov dword [esi + 0x3d0], 2
mov dword [esi + 0x3dc], 0
lea eax, [edx + 0x1c]
mov dword [esi + 0x17c], edi
mov dword [esi + 0x180], ecx
lea ecx, [esi + 0x78]
movlps qword [esi + 0x184], xmm0
mov dword [esi + 0x18c], 0
mov dword [esi + 0x20], ecx
lea ecx, [esi + 0x58]
mov dword [esi + 0x24], 0x10049220
mov dword [esi + 0x28], ecx
lea ecx, [esi + 0x20]
mov dword [esi + 0x2c], 0x1000f520
mov dword [esi + 0x3d4], ecx
lea ecx, [esi + 0x17c]
mov dword [esi + 0x3d8], 2
mov dword [esi + 0x88], ecx
lea ecx, [esi + 0x3cc]
mov dword [esi + 0x8c], ecx
lea ecx, [esi + 0x88]
mov dword [esi + 0x90], 0x1011f0f8
mov dword [esi + 0xe0], ecx
mov dword [esi + 0xe4], 1
mov dword [esi + 0xe8], eax
lea eax, [esi + 0xe0]
lea ecx, [esi + 0xd0]
push eax
push ecx
push dword [esi + 0xc]
push ebx
push dword [esi + 0x1c]
call fcn.100445f0
add esp, 0x14
jmp 0x1004258e
mov eax, dword [esi + 0x1c]
mov byte [esi + 0xb], 0
mov dword [esi + 0x618], 1
mov byte [esi + 0xa], al
push 0x1011f23c
call fcn.10113de0
add esp, 4
jmp 0x10043ad7
push eax
call fcn.10048b50
add esp, 4
mov dword [esi + 0x3d0], eax
mov eax, 8
jmp 0x1004345d
xor edx, edx
mov eax, 4
mov dword [esi + 0x3d4], 0
mov dword [esi + eax + 0x3cc], edx
mov dword [esi + 0x618], 0x23
mov eax, dword [esi + 0x3d0]
mov ecx, dword [esi + 0x3d4]
mov dword [esi + 0x17c], eax
mov dword [esi + 0x180], ecx
push 0x1011f24c
push 0x1011efc0
lea eax, [esi + 0x17c]
push eax
push 0x2b
push str.called__Result::unwrap____on_an__Err__valueOk
call fcn.10114160
add esp, 0x14
jmp 0x10043ad7
mov eax, dword [esi + 0x3d0]
mov ecx, dword [esi + 0x3d4]
mov dword [esi + 0x618], 0x21
mov dword [esi + 0x17c], eax
mov dword [esi + 0x180], ecx
push 0x1011f5c0
push 0x1011efc0
lea eax, [esi + 0x17c]
push eax
push 0x18
push 0x1011f5a5
call fcn.10114160
add esp, 0x14
jmp 0x10043ad7
mov eax, dword [esi + 0x3d0]
mov ecx, dword [esi + 0x3d4]
mov dword [esi + 0x618], 0x20
mov dword [esi + 0x17c], eax
mov dword [esi + 0x180], ecx
push 0x1011f7e8
push 0x1011efc0
lea eax, [esi + 0x17c]
push eax
push 0x17
push 0x1011f7ce
call fcn.10114160
add esp, 0x14
jmp 0x10043ad7
push eax
call fcn.10048b50
add esp, 4
mov dword [esi + 0x70], eax
mov eax, 8
jmp 0x1004355a
xor edx, edx
mov eax, 4
mov dword [esi + 0x74], 0
mov dword [esi + eax + 0x6c], edx
mov dword [esi + 0x618], 0x1f
mov eax, dword [esi + 0x70]
mov ecx, dword [esi + 0x74]
mov dword [esi + 0x20], eax
mov dword [esi + 0x24], ecx
push 0x1011f810
push 0x1011efc0
lea eax, [esi + 0x20]
push eax
push 0x2b
push str.called__Result::unwrap____on_an__Err__valueOk
call fcn.10114160
add esp, 0x14
jmp 0x10043ad7
mov eax, dword [esi + 0x8c]
mov ecx, dword [esi + 0x90]
mov dword [esi + 0x618], 0x1d
mov dword [esi + 0x20], eax
mov dword [esi + 0x24], ecx
push 0x1011f854
push 0x1011efc0
lea eax, [esi + 0x20]
push eax
push 0x21
push str.CreateCommittedResource_p_texture
call fcn.10114160
add esp, 0x14
jmp 0x10043ad7
mov byte [esi + 3], 0
push eax
call fcn.10048b50
add esp, 4
mov dword [esi + 0xe0], eax
mov dword [esi + 0xe4], edx
mov dword [esi + 0x618], 0x1c
lea eax, [esi + 0xe0]
push 0x1011f88c
push 0x1011efc0
push eax
push 0x25
push str.CreateCommittedResource_upload_buffer
call fcn.10114160
add esp, 0x14
jmp 0x10043ad7
mov byte [esi + 3], 1
push eax
call fcn.10048b50
add esp, 4
mov dword [esi + 0x24], eax
mov eax, 8
jmp 0x10043641
mov dword [esi + 0x28], 0
xor edx, edx
mov eax, 4
mov dword [esi + eax + 0x20], edx
mov dword [esi + 0x618], 0x1a
mov eax, dword [esi + 0x24]
mov ecx, dword [esi + 0x28]
mov dword [esi + 0x88], eax
mov dword [esi + 0x8c], ecx
push 0x1011f8ac
push 0x1011efc0
lea eax, [esi + 0x88]
push eax
push 0x2b
push str.called__Result::unwrap____on_an__Err__valueOk
call fcn.10114160
add esp, 0x14
jmp 0x10043ad7
call fcn.100487a0
mov dword [esi + 0xc], eax
mov dword [esi + 4], edx
lea eax, [esi + 0x80]
mov byte [esi + 3], 1
mov dword [esi + 0x618], 6
push eax
call fcn.10048410
add esp, 4
mov eax, dword [esi + 0xc]
mov dword [esi + 0x618], 5
mov dword [esi + 0x20], eax
mov eax, dword [esi + 4]
mov dword [esi + 0x24], eax
push 0x1011f820
push 0x1011efc0
lea eax, [esi + 0x20]
push eax
push 0x2b
push str.called__Result::unwrap____on_an__Err__valueOk
call fcn.10114160
add esp, 0x14
jmp 0x10043ad7
push eax
call fcn.10048b50
add esp, 4
mov dword [esi + 0x8c], eax
mov eax, 8
jmp 0x1004370d
xor edx, edx
mov eax, 4
mov dword [esi + 0x90], 0
mov dword [esi + eax + 0x88], edx
mov dword [esi + 0x618], 0x19
mov eax, dword [esi + 0x8c]
mov ecx, dword [esi + 0x90]
mov dword [esi + 0xe0], eax
mov dword [esi + 0xe4], ecx
push 0x1011f8d0
push 0x1011efc0
lea eax, [esi + 0xe0]
push eax
push 0x12
push str.CreateCommandQueue
call fcn.10114160
add esp, 0x14
jmp 0x10043ad7
push eax
call fcn.10048b50
add esp, 4
mov dword [esi + 0x20], eax
mov dword [esi + 0x24], edx
mov dword [esi + 0x618], 0x18
push 0x1011f928
push 0x1011efc0
lea eax, [esi + 0x20]
push eax
push 0x2b
push str.called__Result::unwrap____on_an__Err__valueOk
call fcn.10114160
add esp, 0x14
jmp 0x10043ad7
push eax
call fcn.10048b50
add esp, 4
mov dword [esi + 0x24], eax
mov eax, 8
jmp 0x100437b7
xor edx, edx
mov eax, 4
mov dword [esi + 0x28], 0
mov dword [esi + eax + 0x20], edx
mov dword [esi + 0x618], 0x17
mov eax, dword [esi + 0x24]
mov ecx, dword [esi + 0x28]
mov dword [esi + 0x88], eax
mov dword [esi + 0x8c], ecx
push 0x1011f938
push 0x1011efc0
lea eax, [esi + 0x88]
push eax
push 0x2b
push str.called__Result::unwrap____on_an__Err__valueOk
call fcn.10114160
add esp, 0x14
jmp 0x10043ad7
push eax
call fcn.10048b50
add esp, 4
mov dword [esi + 0x20], eax
mov dword [esi + 0x24], edx
mov dword [esi + 0x618], 0x16
push 0x1011f998
push 0x1011efc0
lea eax, [esi + 0x20]
push eax
push 0x2b
push str.called__Result::unwrap____on_an__Err__valueOk
call fcn.10114160
add esp, 0x14
jmp 0x10043ad7
mov eax, dword [esi + 0x24]
mov ecx, dword [esi + 0x28]
mov dword [esi + 0x618], 0x15
mov dword [esi + 0x88], eax
mov dword [esi + 0x8c], ecx
push 0x1011f9bc
push 0x1011efc0
lea eax, [esi + 0x88]
push eax
push 0x11
push str.CreateCommandList
call fcn.10114160
add esp, 0x14
jmp 0x10043ad7
push eax
call fcn.10048b50
add esp, 4
mov dword [esi + 0x20], eax
mov dword [esi + 0x24], edx
mov dword [esi + 0x618], 0x14
push 0x1011fa10
push 0x1011efc0
lea eax, [esi + 0x20]
push eax
push 0x2b
push str.called__Result::unwrap____on_an__Err__valueOk
call fcn.10114160
add esp, 0x14
jmp 0x10043ad7
mov eax, dword [esi + 0x24]
mov ecx, dword [esi + 0x28]
mov dword [esi + 0x618], 0x13
mov dword [esi + 0x58], eax
mov dword [esi + 0x5c], ecx
lea eax, [esi + 0x58]
push 0x1011fa20
push 0x1011efc0
push eax
push 0x2b
push str.called__Result::unwrap____on_an__Err__valueOk
call fcn.10114160
add esp, 0x14
jmp 0x10043ad7
mov dword [esi + 0x18], ecx
mov dword [esi + 0x618], 0xd
push eax
call fcn.10048b50
add esp, 4
mov dword [esi + 0xc], eax
mov dword [esi + 4], edx
cmp dword [esi + 0x18], 0
je 0x10043927
lea eax, [esi + 0x20]
mov byte [esi + 0x12], 1
mov dword [esi + 0x618], 0xc
push eax
call fcn.10048410
add esp, 4
mov dword [esi + 0x618], 0x12
jmp 0x10043941
mov dword [esi + 0xc], 0
mov dword [esi + 4], 0
mov eax, dword [esi + 0xc]
mov dword [esi + 0x618], 0x12
mov dword [esi + 0x20], eax
mov eax, dword [esi + 4]
mov dword [esi + 0x24], eax
push 0x1011fa30
push 0x1011efc0
lea eax, [esi + 0x20]
push eax
push 0x2b
push str.called__Result::unwrap____on_an__Err__valueOk
call fcn.10114160
add esp, 0x14
jmp 0x10043ad7
push eax
call fcn.10048b50
add esp, 4
mov dword [esi + 0xc], eax
mov dword [esi + 4], edx
cmp dword [esi + 0x20], 0
jne 0x100439a4
lea eax, [esi + 0x24]
mov dword [esi + 0x618], 0xa
push eax
call fcn.10048410
add esp, 4
mov eax, dword [esi + 0xc]
mov dword [esi + 0x618], 0x10
mov dword [esi + 0x20], eax
mov eax, dword [esi + 4]
mov dword [esi + 0x24], eax
push 0x1011fa40
push 0x1011efc0
lea eax, [esi + 0x20]
push eax
push 0x2b
push str.called__Result::unwrap____on_an__Err__valueOk
call fcn.10114160
add esp, 0x14
jmp 0x10043ad7
push eax
call fcn.10048b50
add esp, 4
mov dword [esi + 0x20], eax
mov dword [esi + 0x24], edx
mov dword [esi + 0x618], 0xf
push 0x1011fa50
push 0x1011efc0
lea eax, [esi + 0x20]
push eax
push 0x2b
push str.called__Result::unwrap____on_an__Err__valueOk
call fcn.10114160
add esp, 0x14
jmp 0x10043ad7
call fcn.100487a0
mov dword [esi + 0xc], eax
mov dword [esi + 4], edx
lea eax, [esi + 0x14]
mov dword [esi + 0x618], 9
push eax
call fcn.10048410
add esp, 4
lea eax, [esi + 0xc8]
mov dword [esi + 0x618], 8
push eax
call fcn.10048410
add esp, 4
lea eax, [esi + 0x84]
mov dword [esi + 0x618], 7
push eax
call fcn.10048410
add esp, 4
jmp 0x10043691
mov eax, dword [esi + 0x24]
mov ecx, dword [esi + 0x28]
mov dword [esi + 0x618], 0x1b
mov dword [esi + 0x88], eax
mov dword [esi + 0x8c], ecx
push 0x1011f89c
push 0x1011efc0
lea eax, [esi + 0x88]
push eax
push 0x2b
push str.called__Result::unwrap____on_an__Err__valueOk
call fcn.10114160
add esp, 0x14
jmp 0x10043ad7
push 0x1011f1fc
push 0x22
push 0x1011f0a4
call fcn.10113e00
add esp, 0xc
jmp 0x10043ad7
push 0x1011f1fc
push 0x22
push 0x1011f0a4
call fcn.10113e00
add esp, 0xc
ud2