Function at 0x140035ae0
Capabilities:
Extract resource via kernel32 functions
Print debug messages

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0xe88]
sub rsp, 0xf50
movaps xmmword [rax - 0x48], xmm6
mov rsi, rdx
mov r15, rcx
test rdx, rdx
je 0x1400377cf
cmp qword [rdx + 0x40], 0
je 0x1400377cf
lea rdx, [rcx + 0xa10]
lea rcx, [0x140222d40]
call sub.dxgi.dll_CreateDXGIFactory
test eax, eax
js 0x1400377cf
mov rcx, qword [r15 + 0xa10]
mov rax, qword [rcx]
lea r8, [rsp + 0x78]
xor edx, edx
call qword [rax + 0x38]
mov rcx, qword [rsp + 0x78]
mov rax, qword [rcx]
lea rdx, [rbp + 0xb10]
call qword [rax + 0x40]
mov r8d, 0x80
lea rdx, [rbp + 0xb10]
lea rcx, [rbp + 0x960]
call fcn.1401f0728
mov ebx, 9
call fcn.140038ba0
mov rcx, rax
movzx edx, bx
call fcn.140038b80
call fcn.140038ba0
mov rcx, rax
lea r8, [rbp + 0x960]
lea rdx, str.Picked_GPU:__s_n
call fcn.140038c10
xor r14d, r14d
mov qword [rsp + 0x70], r14
mov edi, r14d
mov rcx, qword [rsp + 0x78]
mov rax, qword [rcx]
lea r8, [rsp + 0x70]
xor edx, edx
call qword [rax + 0x38]
lea rbx, [r15 + 0xcd8]
cmp eax, 0x887a0002
je 0x140035c21
nop word [rax + rax]
mov rdx, qword [rbx + 8]
cmp rdx, qword [rbx + 0x10]
je 0x140035bf9
mov rax, qword [rsp + 0x70]
mov qword [rdx], rax
add qword [rbx + 8], 8
jmp 0x140035c06
lea r8, [rsp + 0x70]
mov rcx, rbx
call fcn.1400146a0
inc edi
mov rcx, qword [rsp + 0x78]
mov rax, qword [rcx]
lea r8, [rsp + 0x70]
mov edx, edi
call qword [rax + 0x38]
cmp eax, 0x887a0002
jne 0x140035be0
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x70], xmm0
mov qword [rbp - 0x60], rax
mov dword [rbp - 0x58], eax
mov rax, qword [rbx]
mov rcx, qword [rax]
mov rax, qword [rcx]
mov qword [rsp + 0x20], r14
lea r9, [rbp + 0xea8]
xor r8d, r8d
lea edx, [r8 + 0x1c]
call qword [rax + 0x40]
mov edx, dword [rbp + 0xea8]
lea r8, [rbp + 0xea0]
lea rcx, [rbp + 0x7f8]
call fcn.1400341c0
nop
mov rax, qword [rbx]
mov rcx, qword [rax]
mov rax, qword [rcx]
mov rbx, qword [rbp + 0x7f8]
mov qword [rsp + 0x20], rbx
lea r9, [rbp + 0xea8]
xor r8d, r8d
lea edx, [r8 + 0x1c]
call qword [rax + 0x40]
movups xmm0, xmmword [rbx]
movups xmmword [rbp + 0x158], xmm0
movsd xmm1, qword [rbx + 0x10]
movsd qword [rbp + 0x168], xmm1
mov eax, dword [rbx + 0x18]
mov dword [rbp + 0x170], eax
mov rax, qword [rbp + 0x160]
mov qword [r15 + 0xd00], rax
movzx eax, byte [r15 + 0xbf4]
mov dword [r15 + 0xeb4], eax
movups xmm0, xmmword [rbp - 0x70]
movups xmmword [rbp - 0x50], xmm0
movsd xmm1, qword [rbp - 0x60]
movsd qword [rbp - 0x40], xmm1
mov r8d, r14d
mov rcx, qword [rbp + 0x800]
sub rcx, rbx
movabs rax, 0x4924924924924925
imul rcx
sar rdx, 3
mov rax, rdx
shr rax, 0x3f
add rdx, rax
je 0x140035d6a
mov r9d, dword [r15 + 0xbec]
mov rax, r14
nop dword [rax]
nop word [rax + rax]
imul rcx, rax, 0x1c
add rcx, rbx
movups xmm1, xmmword [rcx]
movsd xmm0, qword [rcx + 0x10]
movsd qword [rbp + 0x168], xmm0
mov eax, dword [rcx + 0x18]
mov dword [rbp + 0x170], eax
movd eax, xmm1
cmp eax, r9d
jne 0x140035d5f
movq rax, xmm1
shr rax, 0x20
cmp eax, dword [r15 + 0xbf0]
je 0x140035ed5
inc r8d
mov eax, r8d
cmp rax, rdx
jb 0x140035d20
imul rax, rdx, 0x1c
movups xmm0, xmmword [rax + rbx - 0x1c]
movups xmmword [rbp - 0x50], xmm0
movsd xmm1, qword [rax + rbx - 0xc]
mov eax, dword [rax + rbx - 4]
movsd qword [rbp - 0x40], xmm1
movd dword [r15 + 0xbec], xmm0
movq rcx, xmm0
shr rcx, 0x20
mov dword [r15 + 0xbf0], ecx
movups xmmword [rbp - 0x70], xmm0
movsd qword [rbp - 0x60], xmm1
mov dword [rbp - 0x58], eax
movd dword [rbp - 0x70], xmm0
movd dword [0x1402bf478], xmm0
mov eax, dword [r15 + 0xbf0]
mov dword [rbp - 0x6c], eax
mov dword [0x1402bf47c], eax
mov qword [r15 + 0xbac], r14
mov qword [r15 + 0xbbc], r14
mov qword [r15 + 0xbc4], r14
mov dword [r15 + 0xbcc], r14d
mov qword [r15 + 0xbd8], r14
mov dword [r15 + 0xbd4], r14d
mov qword [r15 + 0xbb4], 1
movzx eax, byte [r15 + 0xbf4]
mov dword [r15 + 0xbd0], eax
movd dword [r15 + 0xb98], xmm0
mov dword [r15 + 0xb9c], ecx
mov eax, dword [rbp - 0x40]
mov dword [r15 + 0xba8], eax
mov rax, qword [rbp - 0x48]
mov qword [r15 + 0xba0], rax
mov rax, qword [rsi + 0x40]
mov qword [r15 + 0xbc8], rax
mov dword [r15 + 0xbc0], 1
mov dword [r15 + 0xbbc], 0x20
mov dword [r15 + 0xbd8], 2
mov byte [r15 + 0xb40], 1
mov qword [rbp - 0x78], r14
movdqa xmm0, xmmword [0x140225b10]
movdqu xmmword [rbp + 0x7e0], xmm0
mov ebx, 0x9200
mov dword [rbp + 0x7f0], ebx
mov edi, 0x9100
mov dword [rbp + 0x7f4], edi
lea rax, [rbp - 0x30]
mov qword [rsp + 0x50], rax
call fcn.14004ed68
mov rcx, rax
test rax, rax
je 0x1400377fa
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x30], rax
lea rdx, str.D3D11
cmp rdx, 0x10000
jae 0x140035ee9
movzx edx, dx
lea rcx, [rbp - 0x30]
call fcn.140011700
jmp 0x140035f04
movups xmm0, xmm1
movups xmmword [rbp - 0x50], xmm1
movsd xmm1, qword [rcx + 0x10]
mov eax, dword [rcx + 0x18]
jmp 0x140035d81
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rdx + r8], 0
jne 0x140035ef0
lea rcx, [rbp - 0x30]
call fcn.1400118e0
nop
mov eax, 0xb000
mov word [rbp - 0x28], ax
lea rax, [rbp - 0x20]
mov qword [rsp + 0x50], rax
call fcn.14004ed68
mov rcx, rax
test rax, rax
je 0x140037805
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x20], rax
lea rdx, str.D3D_FEATURE_LEVEL_10_1
cmp rdx, 0x10000
jae 0x140035f53
movzx edx, dx
lea rcx, [rbp - 0x20]
call fcn.140011700
jmp 0x140035f74
mov r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp byte [rdx + r8], 0
jne 0x140035f60
lea rcx, [rbp - 0x20]
call fcn.1400118e0
nop
mov eax, 0xa100
mov word [rbp - 0x18], ax
lea rax, [rbp - 0x10]
mov qword [rsp + 0x50], rax
call fcn.14004ed68
mov rcx, rax
test rax, rax
je 0x140037810
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x10], rax
lea rdx, str.D3D_FEATURE_LEVEL_10_0
cmp rdx, 0x10000
jae 0x140035fc3
movzx edx, dx
lea rcx, [rbp - 0x10]
call fcn.140011700
jmp 0x140035fe4
mov r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp byte [rdx + r8], 0
jne 0x140035fd0
lea rcx, [rbp - 0x10]
call fcn.1400118e0
nop
mov eax, 0xa000
mov word [rbp - 8], ax
lea rax, [rbp]
mov qword [rsp + 0x50], rax
call fcn.14004ed68
mov rcx, rax
test rax, rax
je 0x14003781b
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp], rax
lea rdx, str.D3D_FEATURE_LEVEL_9_3
cmp rdx, 0x10000
jae 0x140036033
movzx edx, dx
lea rcx, [rbp]
call fcn.140011700
jmp 0x140036054
mov r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp byte [rdx + r8], 0
jne 0x140036040
lea rcx, [rbp]
call fcn.1400118e0
nop
mov eax, 0x9300
mov word [rbp + 8], ax
lea rax, [rbp + 0x10]
mov qword [rsp + 0x50], rax
call fcn.14004ed68
mov rcx, rax
test rax, rax
je 0x140037826
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0x10], rax
lea rdx, str.D3D_FEATURE_LEVEL_9_2
cmp rdx, 0x10000
jae 0x1400360a3
movzx edx, dx
lea rcx, [rbp + 0x10]
call fcn.140011700
jmp 0x1400360c4
mov r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp byte [rdx + r8], 0
jne 0x1400360b0
lea rcx, [rbp + 0x10]
call fcn.1400118e0
nop
mov word [rbp + 0x18], bx
lea rax, [rbp + 0x20]
mov qword [rsp + 0x50], rax
call fcn.14004ed68
mov rcx, rax
test rax, rax
je 0x140037831
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0x20], rax
lea rdx, str.D3D_FEATURE_LEVEL_9_1
cmp rdx, 0x10000
jae 0x14003610e
movzx edx, dx
lea rcx, [rbp + 0x20]
call fcn.140011700
jmp 0x140036129
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rdx + r8], 0
jne 0x140036115
lea rcx, [rbp + 0x20]
call fcn.1400118e0
nop
mov word [rbp + 0x28], di
mov qword [rsp + 0x58], r14
mov qword [rsp + 0x60], r14
mov ecx, 0x30
call fcn.14004d53c
mov r13, rax
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rax + 0x10], rax
mov word [rax + 0x18], 0x101
mov qword [rsp + 0x58], rax
lea r12, [rbp - 0x30]
movabs rbx, 0x555555555555555
nop dword [rax + rax]
mov r9, r12
mov r8, r13
lea rdx, [rbp + 0x158]
lea rcx, [rsp + 0x58]
call fcn.140033ef0
movups xmm6, xmmword [rax]
movsd xmm0, qword [rax + 0x10]
movsd qword [rbp - 0x40], xmm0
cmp byte [rbp - 0x40], 0
jne 0x140036231
cmp qword [rsp + 0x60], rbx
je 0x14003783c
mov rsi, qword [rsp + 0x58]
lea rax, [rsp + 0x58]
mov qword [rbp + 0x128], rax
mov qword [rbp + 0x130], r14
mov ecx, 0x30
call fcn.14004d53c
mov rdi, rax
mov qword [rbp + 0x130], rax
mov rcx, qword [r12]
sub rcx, 0x18
call fcn.1400112b0
add rax, 0x18
mov qword [rdi + 0x20], rax
movzx eax, word [r12 + 8]
mov word [rdi + 0x28], ax
mov qword [rdi], rsi
mov qword [rdi + 8], rsi
mov qword [rdi + 0x10], rsi
mov word [rdi + 0x18], 0
mov qword [rbp + 0x130], r14
movaps xmmword [rbp + 0x950], xmm6
mov r8, rdi
lea rdx, [rbp + 0x950]
lea rcx, [rsp + 0x58]
call fcn.140012760
movabs rbx, 0x555555555555555
add r12, 0x10
lea rax, [rbp + 0x30]
cmp r12, rax
jne 0x140036170
lea r9, [0x140034b40]
mov edx, send
lea r8d, [rdx - 0xa]
lea rcx, [rbp - 0x30]
call fcn.1401d4b30
lea rbx, [r15 + 0xa20]
lea rax, [rbp - 0x78]
mov qword [rsp + 0x48], rax
lea rax, [rsp + 0x68]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], rbx
mov dword [rsp + 0x30], 7
mov dword [rsp + 0x28], 6
lea rax, [rbp + 0x7e0]
mov qword [rsp + 0x20], rax
mov r9d, 0x20
xor r8d, r8d
lea edx, [r9 - 0x1f]
xor ecx, ecx
call sub.d3d11.dll_D3D11CreateDevice
mov r12d, eax
test eax, eax
jns 0x1400362fc
lea rax, [rbp - 0x78]
mov qword [rsp + 0x48], rax
lea rax, [rsp + 0x68]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], rbx
mov dword [rsp + 0x30], 7
mov dword [rsp + 0x28], 5
lea rax, [rbp + 0x7e4]
mov qword [rsp + 0x20], rax
mov r9d, 0x20
xor r8d, r8d
lea edx, [r9 - 0x1f]
xor ecx, ecx
call sub.d3d11.dll_D3D11CreateDevice
mov r12d, eax
mov rdx, qword [rsp + 0x58]
mov rbx, qword [rdx]
cmp rbx, rdx
je 0x140036374
mov r8d, dword [rsp + 0x68]
nop
movzx eax, word [rbx + 0x28]
cmp eax, r8d
je 0x140036374
mov rax, qword [rbx + 0x10]
cmp byte [rax + 0x19], 0
je 0x140036348
mov rax, qword [rbx + 8]
cmp byte [rax + 0x19], 0
jne 0x140036343
nop dword [rax]
cmp rbx, qword [rax + 0x10]
jne 0x140036343
mov rbx, rax
mov rax, qword [rax + 8]
cmp byte [rax + 0x19], 0
je 0x140036330
mov rbx, rax
jmp 0x14003636f
mov rbx, rax
mov rcx, qword [rax]
cmp byte [rcx + 0x19], 0
jne 0x14003636f
nop dword [rax]
nop dword [rax + rax]
mov rbx, rcx
mov rax, qword [rcx]
mov rcx, rax
cmp byte [rax + 0x19], 0
je 0x140036360
cmp rbx, rdx
jne 0x140036310
call fcn.140038ba0
mov rcx, rax
mov r8, qword [rbx + 0x20]
lea rdx, [0x140222910]
call fcn.140038c10
mov rdx, qword [rbx + 0x20]
lea rcx, [rdx - 0x18]
mov rbx, qword [r15 + 0xb30]
sub rbx, 0x18
cmp rcx, rbx
je 0x1400363f3
cmp dword [rbx + 0x10], 0
jl 0x1400363e3
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x1400363e3
call fcn.1400112b0
mov rsi, rax
mov ecx, 0xffffffff
lock xadd dword [rbx + 0x10], ecx
sub ecx, 1
jg 0x1400363d6
mov rcx, qword [rbx]
mov r8, qword [rcx]
mov rdx, rbx
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
lea rax, [rsi + 0x18]
mov qword [r15 + 0xb30], rax
jmp 0x1400363f3
mov r8d, dword [rdx - 0x10]
lea rcx, [r15 + 0xb30]
call fcn.1400118e0
test r12d, r12d
jns 0x14003645a
call fcn.140038ba0
mov rcx, rax
lea rdx, str.Failed_to_create_ID3D11Device__ID3D11DeviceContext__n
call fcn.140038c10
mov qword [rsp + 0x30], r14
mov dword [rsp + 0x28], 0x200
lea rbx, [0x1402ce3d0]
mov qword [rsp + 0x20], rbx
mov r9d, 9
mov r8d, r12d
xor edx, edx
mov ecx, 0x1200
call qword [sym.imp.KERNEL32.dll_FormatMessageA]
call fcn.140038ba0
mov rcx, rax
mov r9, rbx
mov r8d, r12d
lea rdx, str._HRESULT:__x___s_n
call fcn.140038c10
jmp 0x140037701
mov rax, qword [rbp - 0x78]
mov qword [r15 + 0xa28], rax
mov rcx, qword [r15 + 0xa10]
mov rax, qword [rcx]
lea r9, [r15 + 0xa18]
lea r8, [r15 + 0xb98]
mov rdx, qword [r15 + 0xa20]
call qword [rax + 0x50]
mov ebx, eax
mov rcx, qword [r15 + 0xa10]
mov r9, qword [rcx]
mov r8d, 2
mov rdx, qword [r15 + 0xbc8]
call qword [r9 + 0x40]
test ebx, ebx
jns 0x1400364c2
call fcn.140038ba0
mov rcx, rax
lea rdx, str.Failed_to_create_IDXGISwapChain_
call fcn.140038c10
int3
mov rcx, qword [rsp + 0x78]
mov rax, qword [rcx]
lea rdx, [rbp + 0x9e0]
call qword [rax + 0x40]
mov rcx, qword [rbp + 0xaf0]
mov qword [r15 + 0xc00], rcx
mov rax, qword [rbp + 0xaf8]
mov qword [r15 + 0xc08], rax
cmp dword [r15 + 0xbf8], 3
jne 0x140036534
cmp rax, 0x3b9aca00
jae 0x14003650b
mov dword [r15 + 0xbf8], r14d
jmp 0x140036534
cmp rax, 0x77359400
jb 0x140036529
cmp rcx, 0x100
jb 0x140036529
mov dword [r15 + 0xbf8], 2
jmp 0x140036534
mov dword [r15 + 0xbf8], 1
lea r10, [0x1402258c0]
mov qword [rbp + 0x520], r10
mov dword [rbp + 0x528], r14d
mov qword [rbp + 0x52c], 6
mov qword [rbp + 0x534], r14
mov dword [rbp + 0x53c], r14d
lea r9, [0x1402258d0]
mov qword [rbp + 0x540], r9
mov dword [rbp + 0x548], r14d
mov qword [rbp + 0x54c], 6
mov dword [rbp + 0x554], 0xffffffff
mov qword [rbp + 0x558], r14
lea r8, [0x1402258e0]
mov qword [rbp + 0x560], r8
mov dword [rbp + 0x568], r14d
mov qword [rbp + 0x56c], 0x1e
mov dword [rbp + 0x574], 0xffffffff
mov qword [rbp + 0x578], r14
lea rdx, [0x1402258f0]
mov qword [rbp + 0x580], rdx
mov dword [rbp + 0x588], r14d
mov qword [rbp + 0x58c], 6
mov dword [rbp + 0x594], 0xffffffff
mov qword [rbp + 0x598], r14
lea rcx, [0x1402258f8]
mov qword [rbp + 0x5a0], rcx
mov dword [rbp + 0x5a8], r14d
mov qword [rbp + 0x5ac], send
mov dword [rbp + 0x5b4], 0xffffffff
mov qword [rbp + 0x5b8], r14
mov qword [rbp + 0x380], r10
mov dword [rbp + 0x388], r14d
mov qword [rbp + 0x38c], 6
mov qword [rbp + 0x394], r14
mov dword [rbp + 0x39c], r14d
mov qword [rbp + 0x3a0], rdx
mov dword [rbp + 0x3a8], r14d
mov qword [rbp + 0x3ac], 6
mov dword [rbp + 0x3b4], 0xffffffff
mov qword [rbp + 0x3b8], r14
mov qword [rbp + 0x3c0], rcx
mov dword [rbp + 0x3c8], r14d
mov qword [rbp + 0x3cc], send
mov dword [rbp + 0x3d4], 0xffffffff
mov qword [rbp + 0x3d8], r14
mov qword [rbp + 0x3e0], rcx
mov dword [rbp + 0x3e8], 1
mov qword [rbp + 0x3ec], send
mov dword [rbp + 0x3f4], 0xffffffff
mov qword [rbp + 0x3f8], r14
mov qword [rbp + 0x2c0], r10
mov dword [rbp + 0x2c8], r14d
mov qword [rbp + 0x2cc], 6
mov qword [rbp + 0x2d4], r14
mov dword [rbp + 0x2dc], r14d
lea rax, [0x140225904]
mov qword [rbp + 0x2e0], rax
mov dword [rbp + 0x2e8], r14d
mov dword [rbp + 0x2ec], 0x1c
mov qword [rbp + 0x2f0], 1
mov qword [rbp + 0x2f8], r14
mov qword [rbp + 0x300], rcx
mov dword [rbp + 0x308], r14d
mov dword [rbp + 0x30c], send
mov qword [rbp + 0x310], 2
mov qword [rbp + 0x318], r14
mov qword [rbp + 0x480], r10
mov dword [rbp + 0x488], r14d
mov qword [rbp + 0x48c], 6
mov qword [rbp + 0x494], r14
mov dword [rbp + 0x49c], r14d
mov qword [rbp + 0x4a0], r9
mov dword [rbp + 0x4a8], r14d
mov qword [rbp + 0x4ac], 6
mov dword [rbp + 0x4b4], 0xffffffff
mov qword [rbp + 0x4b8], r14
mov qword [rbp + 0x4c0], r8
mov dword [rbp + 0x4c8], r14d
mov qword [rbp + 0x4cc], 0x1e
mov dword [rbp + 0x4d4], 0xffffffff
mov qword [rbp + 0x4d8], r14
mov qword [rbp + 0x4e0], rax
mov dword [rbp + 0x4e8], r14d
mov qword [rbp + 0x4ec], 0x1c
mov dword [rbp + 0x4f4], 0xffffffff
mov qword [rbp + 0x4f8], r14
mov qword [rbp + 0x500], rcx
mov dword [rbp + 0x508], r14d
mov qword [rbp + 0x50c], send
mov dword [rbp + 0x514], 0xffffffff
mov qword [rbp + 0x518], r14
mov qword [rbp + 0x400], r10
mov dword [rbp + 0x408], r14d
mov qword [rbp + 0x40c], 6
mov qword [rbp + 0x414], r14
mov dword [rbp + 0x41c], r14d
mov qword [rbp + 0x420], r9
mov dword [rbp + 0x428], r14d
mov qword [rbp + 0x42c], 6
mov dword [rbp + 0x434], 0xffffffff
mov qword [rbp + 0x438], r14
mov qword [rbp + 0x440], r8
mov dword [rbp + 0x448], r14d
mov qword [rbp + 0x44c], 0x1e
mov dword [rbp + 0x454], 0xffffffff
mov qword [rbp + 0x458], r14
mov qword [rbp + 0x460], rcx
mov dword [rbp + 0x468], r14d
mov qword [rbp + 0x46c], send
mov dword [rbp + 0x474], 0xffffffff
mov qword [rbp + 0x478], r14
mov qword [rbp + 0x320], r10
mov dword [rbp + 0x328], r14d
mov qword [rbp + 0x32c], 2
mov qword [rbp + 0x334], r14
mov dword [rbp + 0x33c], r14d
mov qword [rbp + 0x340], rax
mov dword [rbp + 0x348], r14d
mov qword [rbp + 0x34c], 0x1c
mov dword [rbp + 0x354], 0xffffffff
mov qword [rbp + 0x358], r14
mov qword [rbp + 0x360], rcx
mov dword [rbp + 0x368], r14d
mov qword [rbp + 0x36c], send
mov dword [rbp + 0x374], 0xffffffff
mov qword [rbp + 0x378], r14
mov qword [rbp + 0x180], r10
mov dword [rbp + 0x188], r14d
mov qword [rbp + 0x18c], 2
mov qword [rbp + 0x194], r14
mov dword [rbp + 0x19c], r14d
mov qword [rbp + 0x1a0], rcx
mov dword [rbp + 0x1a8], r14d
mov qword [rbp + 0x1ac], send
mov dword [rbp + 0x1b4], 0xffffffff
mov qword [rbp + 0x1b8], r14
mov qword [rbp + 0x1c0], r10
mov dword [rbp + 0x1c8], r14d
mov qword [rbp + 0x1cc], 6
mov qword [rbp + 0x1d4], r14
mov dword [rbp + 0x1dc], r14d
mov qword [rbp + 0x1e0], rcx
mov dword [rbp + 0x1e8], r14d
mov qword [rbp + 0x1ec], send
mov dword [rbp + 0x1f4], 0xffffffff
mov qword [rbp + 0x1f8], r14
mov qword [rbp + 0x200], r10
mov dword [rbp + 0x208], r14d
mov qword [rbp + 0x20c], 2
mov qword [rbp + 0x214], r14
mov dword [rbp + 0x21c], r14d
mov qword [rbp + 0x220], rax
mov dword [rbp + 0x228], r14d
mov qword [rbp + 0x22c], 0x1c
mov dword [rbp + 0x234], 0xffffffff
mov qword [rbp + 0x238], r14
mov qword [rbp + 0x240], r10
mov dword [rbp + 0x248], r14d
mov qword [rbp + 0x24c], 2
mov qword [rbp + 0x254], r14
mov dword [rbp + 0x25c], r14d
mov qword [rbp + 0x260], rcx
mov dword [rbp + 0x268], r14d
mov qword [rbp + 0x26c], send
mov dword [rbp + 0x274], 0xffffffff
mov qword [rbp + 0x278], r14
mov qword [rbp + 0x280], r10
mov dword [rbp + 0x288], r14d
mov qword [rbp + 0x28c], 6
mov qword [rbp + 0x294], r14
mov dword [rbp + 0x29c], r14d
mov qword [rbp + 0x2a0], rax
mov dword [rbp + 0x2a8], r14d
mov qword [rbp + 0x2ac], 0x1c
mov dword [rbp + 0x2b4], 0xffffffff
mov qword [rbp + 0x2b8], r14
mov qword [rbp + 0x138], r10
mov dword [rbp + 0x140], r14d
mov qword [rbp + 0x144], 6
mov qword [rbp + 0x14c], r14
mov dword [rbp + 0x154], r14d
mov qword [rbp + 0x5c0], r10
mov dword [rbp + 0x5c8], r14d
mov qword [rbp + 0x5cc], 6
mov qword [rbp + 0x5d4], r14
mov dword [rbp + 0x5dc], r14d
mov qword [rbp + 0x5e0], rdx
mov dword [rbp + 0x5e8], r14d
mov qword [rbp + 0x5ec], 6
mov dword [rbp + 0x5f4], 0xffffffff
mov qword [rbp + 0x5f8], r14
mov qword [rbp + 0x600], rcx
mov dword [rbp + 0x608], r14d
mov qword [rbp + 0x60c], send
mov dword [rbp + 0x614], 0xffffffff
mov qword [rbp + 0x618], r14
mov qword [rbp + 0x620], rcx
mov dword [rbp + 0x628], 1
mov qword [rbp + 0x62c], send
mov dword [rbp + 0x634], 0xffffffff
mov qword [rbp + 0x638], r14
lea rax, [0x140225910]
mov qword [rbp + 0x640], rax
mov dword [rbp + 0x648], r14d
mov dword [rbp + 0x64c], 2
mov qword [rbp + 0x650], 1
mov dword [rbp + 0x658], 1
mov dword [rbp + 0x65c], 1
mov qword [rbp + 0x660], rax
mov dword [rbp + 0x668], 1
mov dword [rbp + 0x66c], 2
mov dword [rbp + 0x670], 1
mov dword [rbp + 0x674], 0xffffffff
mov dword [rbp + 0x678], 1
mov dword [rbp + 0x67c], 1
mov qword [rbp + 0x680], rax
mov dword [rbp + 0x688], 2
mov dword [rbp + 0x68c], 2
mov dword [rbp + 0x690], 1
mov dword [rbp + 0x694], 0xffffffff
mov dword [rbp + 0x698], 1
mov dword [rbp + 0x69c], 1
mov qword [rbp + 0x6a0], rax
mov dword [rbp + 0x6a8], 3
mov dword [rbp + 0x6ac], 2
mov dword [rbp + 0x6b0], 1
mov dword [rbp + 0x6b4], 0xffffffff
mov dword [rbp + 0x6b8], 1
mov dword [rbp + 0x6bc], 1
mov qword [rbp + 0x6c0], r10
mov dword [rbp + 0x6c8], r14d
mov qword [rbp + 0x6cc], 6
mov qword [rbp + 0x6d4], r14
mov dword [rbp + 0x6dc], r14d
mov qword [rbp + 0x6e0], r9
mov dword [rbp + 0x6e8], r14d
mov qword [rbp + 0x6ec], 6
mov dword [rbp + 0x6f4], 0xffffffff
mov qword [rbp + 0x6f8], r14
mov qword [rbp + 0x700], r8
mov dword [rbp + 0x708], r14d
mov qword [rbp + 0x70c], 0x1e
mov dword [rbp + 0x714], 0xffffffff
mov qword [rbp + 0x718], r14
mov qword [rbp + 0x720], rdx
mov dword [rbp + 0x728], r14d
mov qword [rbp + 0x72c], 6
mov dword [rbp + 0x734], 0xffffffff
mov qword [rbp + 0x738], r14
mov qword [rbp + 0x740], rcx
mov dword [rbp + 0x748], r14d
mov qword [rbp + 0x74c], send
mov dword [rbp + 0x754], 0xffffffff
mov qword [rbp + 0x758], r14
mov qword [rbp + 0x760], rax
mov dword [rbp + 0x768], r14d
mov dword [rbp + 0x76c], 2
mov qword [rbp + 0x770], 1
mov dword [rbp + 0x778], 1
mov dword [rbp + 0x77c], 1
mov qword [rbp + 0x780], rax
mov dword [rbp + 0x788], 1
mov dword [rbp + 0x78c], 2
mov dword [rbp + 0x790], 1
mov dword [rbp + 0x794], 0xffffffff
mov dword [rbp + 0x798], 1
mov dword [rbp + 0x79c], 1
mov qword [rbp + 0x7a0], rax
mov dword [rbp + 0x7a8], 2
mov dword [rbp + 0x7ac], 2
mov dword [rbp + 0x7b0], 1
mov dword [rbp + 0x7b4], 0xffffffff
mov dword [rbp + 0x7b8], 1
mov dword [rbp + 0x7bc], 1
mov qword [rbp + 0x7c0], rax
mov dword [rbp + 0x7c8], 3
mov dword [rbp + 0x7cc], 2
mov dword [rbp + 0x7d0], 1
mov dword [rbp + 0x7d4], 0xffffffff
mov dword [rbp + 0x7d8], 1
mov dword [rbp + 0x7dc], 1
lea rax, [rbp + 0x520]
mov qword [rbp + 0x8e0], rax
lea rax, [rbp + 0x380]
mov qword [rbp + 0x8e8], rax
lea rax, [rbp + 0x2c0]
mov qword [rbp + 0x8f0], rax
lea rax, [rbp + 0x480]
mov qword [rbp + 0x8f8], rax
lea rax, [rbp + 0x400]
mov qword [rbp + 0x900], rax
lea rax, [rbp + 0x320]
mov qword [rbp + 0x908], rax
lea rax, [rbp + 0x180]
mov qword [rbp + 0x910], rax
lea rax, [rbp + 0x1c0]
mov qword [rbp + 0x918], rax
lea rax, [rbp + 0x200]
mov qword [rbp + 0x920], rax
lea rax, [rbp + 0x240]
mov qword [rbp + 0x928], rax
lea rax, [rbp + 0x280]
mov qword [rbp + 0x930], rax
lea rax, [rbp + 0x138]
mov qword [rbp + 0x938], rax
lea rax, [rbp + 0x5c0]
mov qword [rbp + 0x940], rax
lea rax, [rbp + 0x6c0]
mov qword [rbp + 0x948], rax
mov byte [r15 + 0xbf5], 1
lea rax, str.VS_WMESH.cso
mov qword [rbp + 0x870], rax
lea rax, str.VS_MESH.cso
mov qword [rbp + 0x878], rax
lea rax, str.VS_LVERTEX.cso
mov qword [rbp + 0x880], rax
lea rax, str.VS_WLVERTEX.cso
mov qword [rbp + 0x888], rax
lea rax, str.VS_WPVERTEX.cso
mov qword [rbp + 0x890], rax
lea rax, str.VS_TNLVERTEX.cso
mov qword [rbp + 0x898], rax
lea rax, str.VS_TVERTEX.cso
mov qword [rbp + 0x8a0], rax
lea rax, str.VS_PVERTEX.cso
mov qword [rbp + 0x8a8], rax
lea rax, str.VS_TNLPOINT.cso
mov qword [rbp + 0x8b0], rax
lea rax, str.VS_TPOINT.cso
mov qword [rbp + 0x8b8], rax
lea rax, str.VS_LPOINT.cso
mov qword [rbp + 0x8c0], rax
lea rax, str.VS_XYZ.cso
mov qword [rbp + 0x8c8], rax
lea rax, str.VS_MESH_INST.cso
mov qword [rbp + 0x8d0], rax
lea rax, str.VS_WMESH_INST.cso
mov qword [rbp + 0x8d8], rax
mov dword [rbp + 0xf0], 5
mov dword [rbp + 0xf4], 4
mov dword [rbp + 0xf8], 3
mov dword [rbp + 0xfc], 5
mov dword [rbp + 0x100], 4
mov dword [rbp + 0x104], 3
mov dword [rbp + 0x108], 2
mov dword [rbp + 0x10c], 2
mov dword [rbp + 0x110], 2
mov dword [rbp + 0x114], 2
mov dword [rbp + 0x118], 2
mov dword [rbp + 0x11c], 1
mov dword [rbp + 0x120], 8
mov dword [rbp + 0x124], 9
lea rax, vtable.CInclude.0
mov qword [rbp + 0x810], rax
lea rax, [r15 + 0xb48]
mov qword [rbp + 0x818], rax
lea rcx, [r15 + 0xb38]
lea rdx, str.SHADERNEW
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rdx + r8], 0
jne 0x1400370c6
call fcn.1400118e0
mov rsi, r14
lea r13, [r15 + 0xac0]
mov rdi, r14
mov qword [rsp + 0x50], send
mov r12, qword [rsp + 0x50]
mov rax, qword [r15 + 0xb60]
movzx edx, word [rsi + rax]
mov r8, qword [r15 + 0xb38]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_FindResourceA]
mov qword [rbp - 0x80], rax
mov rdx, rax
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_LoadResource]
mov qword [rsp + 0x50], rax
lea rbx, [rbp + 0x870]
add rbx, rdi
test rax, rax
jne 0x140037149
call fcn.140038ba0
mov rcx, rax
mov r8, qword [rbx]
lea rdx, str.Cannot_load_resource_VS__s__n
call fcn.140038c10
mov rax, qword [rsp + 0x50]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_LockResource]
mov qword [rsp + 0x50], rax
mov rdx, qword [rbp - 0x80]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SizeofResource]
mov eax, eax
mov qword [rbp - 0x80], rax
mov r8, qword [rbx]
lea rdx, str.__s_:_n
lea rcx, [rbp + 0xc40]
call fcn.140012bf0
lea rcx, [rbp + 0xc40]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov rcx, qword [r15 + 0xa20]
mov r10, qword [rcx]
lea rdx, [r13 - 0x80]
mov qword [rsp + 0x20], rdx
xor r9d, r9d
mov r8, qword [rbp - 0x80]
mov rdx, qword [rsp + 0x50]
call qword [r10 + 0x60]
test eax, eax
jns 0x1400371cb
call fcn.140038ba0
mov rcx, rax
mov r8, qword [rbx]
lea rdx, str.Failed_to_create_vertex_shader__s__n
call fcn.140038c10
int3
mov rbx, qword [rbx]
call fcn.140038ba0
mov rcx, rax
mov r8, rbx
lea rdx, str.Shader:__s_created__n
call fcn.140038c10
mov rcx, qword [r15 + 0xa20]
mov rax, qword [rcx]
mov qword [rsp + 0x28], r13
mov rdx, qword [rbp - 0x80]
mov qword [rsp + 0x20], rdx
mov r9, qword [rsp + 0x50]
mov r8d, dword [rbp + rsi + 0xf0]
mov rdx, qword [rbp + rdi + 0x8e0]
call qword [rax + 0x58]
test eax, eax
jns 0x140037231
call fcn.140038ba0
mov rcx, rax
mov r8, rbx
lea rdx, str.Failed_to_create_input_layout_for:__s_shader_
call fcn.140038c10
int3
add r13, 8
add rsi, 4
add rdi, 8
sub r12, 1
jne 0x1400370f0
mov rax, qword [r15 + 0xb78]
movzx edx, word [rax]
mov r8, qword [r15 + 0xb38]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_FindResourceA]
mov rbx, rax
mov rdx, rax
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_LoadResource]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_LockResource]
mov rdi, rax
mov rdx, rbx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SizeofResource]
mov r8d, eax
mov rcx, qword [r15 + 0xa20]
mov r10, qword [rcx]
lea rdx, [r15 + 0xab0]
mov qword [rsp + 0x20], rdx
xor r9d, r9d
mov rdx, rdi
call qword [r10 + 0x78]
call fcn.140038ba0
mov rcx, rax
lea r8, str.PS_PIXEL.cso
lea rdx, str.Shader:__s_created__n
call fcn.140038c10
mov rax, qword [r15 + 0xb78]
movzx edx, word [rax + 4]
mov r8, qword [r15 + 0xb38]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_FindResourceA]
mov rbx, rax
mov rdx, rax
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_LoadResource]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_LockResource]
mov rdi, rax
mov rdx, rbx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SizeofResource]
mov r8d, eax
mov rcx, qword [r15 + 0xa20]
mov r10, qword [rcx]
lea rdx, [r15 + 0xab8]
mov qword [rsp + 0x20], rdx
xor r9d, r9d
mov rdx, rdi
call qword [r10 + 0x78]
test eax, eax
jns 0x140037337
call fcn.140038ba0
lea rdx, str.Shader:__s_failed__n
jmp 0x140037343
call fcn.140038ba0
lea rdx, str.Shader:__s_created__n
lea r8, str.PS_DEPTH.cso
mov rcx, rax
call fcn.140038c10
nop
lea rax, vtable.CInclude.0
mov qword [rbp + 0x810], rax
cmp byte [r15 + 0xb40], 0
mov r14d, 0
lea r12d, [r14 + 0xe]
jne 0x14003739b
lea rbx, [r15 + 0xa40]
nop dword [rax]
mov rcx, qword [rbx]
test rcx, rcx
je 0x140037391
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [rbx], r14
add rbx, 8
sub r12, 1
jne 0x140037380
mov rax, qword [rbp + 0xe98]
mov qword [r15 + 0xea8], rax
lea rdx, [rbp - 0x70]
mov rcx, r15
call fcn.140035150
mov dword [rbp + DllRegisterServer], 0x90
mov dword [rbp + 0x94], 2
mov dword [rbp + 0x98], 4
mov qword [rbp + 0x9c], 0x10000
mov dword [rbp + 0xa4], r14d
mov rcx, qword [r15 + 0xa20]
mov rax, qword [rcx]
lea r9, [r15 + 0xc98]
xor r8d, r8d
lea rdx, [rbp + 0x90]
call qword [rax + 0x18]
test eax, eax
jns 0x140037408
int3
mov dword [rbp + 0xa8], 0x4020
mov dword [rbp + 0xac], 2
mov dword [rbp + 0xb0], 4
mov qword [rbp + 0xb4], 0x10000
mov dword [rbp + 0xbc], r14d
mov rcx, qword [r15 + 0xa20]
mov rax, qword [rcx]
lea r9, [r15 + 0xca0]
xor r8d, r8d
lea rdx, [rbp + 0xa8]
call qword [rax + 0x18]
test eax, eax
jns 0x14003745b
int3
mov dword [rbp + 0xc0], 0x340
mov dword [rbp + 0xc4], 2
mov dword [rbp + 0xc8], 4
mov qword [rbp + 0xcc], 0x10000
mov dword [rbp + 0xd4], r14d
mov rcx, qword [r15 + 0xa20]
lea rbx, [r15 + 0xcb0]
mov rax, qword [rcx]
mov r9, rbx
xor r8d, r8d
lea rdx, [rbp + 0xc0]
call qword [rax + 0x18]
test eax, eax
jns 0x1400374b1
int3
mov dword [rbp + 0xd8], 0x20
mov dword [rbp + 0xdc], 2
mov dword [rbp + 0xe0], 4
mov qword [rbp + 0xe4], 0x10000
mov dword [rbp + 0xec], r14d
mov rcx, qword [r15 + 0xa20]
mov rax, qword [rcx]
lea r9, [r15 + 0xcb8]
xor r8d, r8d
lea rdx, [rbp + 0xd8]
call qword [rax + 0x18]
mov rdi, rbx
test eax, eax
jns 0x14003750e
int3
mov dword [rbp + 0x30], 0x80
mov dword [rbp + 0x34], 2
mov dword [rbp + 0x38], 4
mov qword [rbp + 0x3c], 0x10000
mov dword [rbp + 0x44], r14d
mov rcx, qword [r15 + 0xa20]
mov rax, qword [rcx]
lea r9, [r15 + 0xcc0]
xor r8d, r8d
lea rdx, [rbp + 0x30]
call qword [rax + 0x18]
test eax, eax
jns 0x140037552
int3
mov rcx, qword [r15 + 0xa28]
mov rax, qword [rcx]
xor r9d, r9d
xor r8d, r8d
mov rdx, qword [r15 + 0xab0]
call qword [rax + 0x48]
mov dword [rbp + 0x48], 0x50
mov dword [rbp + 0x4c], 2
mov dword [rbp + 0x50], 4
mov qword [rbp + 0x54], 0x10000
mov dword [rbp + 0x5c], r14d
mov rcx, qword [r15 + 0xa20]
mov rax, qword [rcx]
lea r9, [r15 + 0xcc8]
xor r8d, r8d
lea rdx, [rbp + 0x48]
call qword [rax + 0x18]
mov dword [rbp + 0x60], 0x190
mov dword [rbp + 0x64], 2
mov dword [rbp + 0x68], 4
mov qword [rbp + 0x6c], 0x10000
mov dword [rbp + 0x74], r14d
mov rcx, qword [r15 + 0xa20]
mov rax, qword [rcx]
lea r9, [r15 + 0xcd0]
xor r8d, r8d
lea rdx, [rbp + 0x60]
call qword [rax + 0x18]
test eax, eax
jns 0x1400375e9
int3
mov rax, qword [rbx]
mov qword [rbp + 0x820], rax
mov rax, qword [r15 + 0xcc8]
mov qword [rbp + 0x828], rax
mov rcx, qword [r15 + 0xa28]
mov rax, qword [rcx]
lea r9, [rbp + 0x820]
xor edx, edx
lea r8d, [rdx + 2]
call qword [rax + 0x80]
mov rcx, qword [r15 + 0xa28]
mov rax, qword [rcx]
lea r9, [r15 + 0xcd0]
mov edx, 5
lea r8d, [rdx - 4]
call qword [rax + 0x80]
mov rcx, r15
call fcn.140038470
movdqa xmm0, xmmword [0x140225b00]
movdqu xmmword [rbp + 0x830], xmm0
movaps xmm1, xmmword [0x140222d00]
movups xmmword [rbp + 0x84c], xmm1
mov dword [rbp + 0x848], 4
mov dword [rbp + 0x85c], r14d
mov dword [rbp + 0x860], 0x7f7fffff
mov qword [rbp + 0x840], r14
mov rcx, qword [r15 + 0xa20]
mov rax, qword [rcx]
lea r8, [r15 + 0xa38]
lea rdx, [rbp + 0x830]
call qword [rax + reloc.OLEAUT32.dll_VariantTimeToSystemTime]
mov rcx, qword [r15 + 0xa28]
mov rax, qword [rcx]
lea r9, [r15 + 0xa38]
mov edx, 2
lea r8d, [rdx - 1]
call qword [rax + 0x50]
mov qword [rbp + 0x78], 0x100000
mov qword [rbp + 0x80], 1
mov qword [rbp + 0x88], r14
mov rcx, qword [r15 + 0xa20]
mov rax, qword [rcx]
lea r9, [r15 + 0xb90]
xor r8d, r8d
lea rdx, [rbp + 0x78]
call qword [rax + 0x18]
test eax, eax
jns 0x1400376fb
int3
mov r14d, 1
mov rcx, qword [rsp + 0x58]
mov rbx, qword [rcx + 8]
cmp byte [rbx + 0x19], 0
jne 0x140037761
mov r8, qword [rbx + 0x10]
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0x58]
call fcn.140033e60
mov rdi, rbx
mov rbx, qword [rbx]
mov rdx, qword [rdi + 0x20]
sub rdx, 0x18
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140037749
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov edx, 0x30
mov rcx, rdi
call fcn.140012230
cmp byte [rbx + 0x19], 0
je 0x140037710
mov rcx, qword [rsp + 0x58]
mov edx, 0x30
call fcn.140012230
nop
mov r8, qword [rbp + 0x7f8]
test r8, r8
je 0x1400377ca
mov rcx, qword [rbp + 0x808]
sub rcx, r8
movabs rax, 0x4924924924924925
imul rcx
sar rdx, 3
mov rax, rdx
shr rax, 0x3f
add rdx, rax
imul rdx, rdx, 0x1c
mov rax, r8
cmp rdx, 0x1000
jb 0x1400377c2
add rdx, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400377f4
mov rcx, r8
call fcn.140012230
mov eax, r14d
jmp 0x1400377d1
xor eax, eax
mov rbx, qword [rsp + 0xf90]
movaps xmm6, xmmword [rsp + 0xf40]
add rsp, 0xf50
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.1401de38c
nop
mov ecx, 0x80004005
call fcn.140011290
nop
mov ecx, 0x80004005
call fcn.140011290
nop
mov ecx, 0x80004005
call fcn.140011290
nop
mov ecx, 0x80004005
call fcn.140011290
nop
mov ecx, 0x80004005
call fcn.140011290
nop
mov ecx, 0x80004005
call fcn.140011290
nop
call fcn.140011b10
int3