Function at 0x10d60190
Capabilities:
Execute anti-debugging instructions

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10e2ef5f
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x38
push ebx
push esi
mov esi, dword [ebp + 8]
test esi, esi
push edi
mov edi, ecx
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x24], edi
jne 0x10d601d4
push 0x4a7
push str..D3D9Resource.cpp
push str.Stream
call fcn.109bb190
add esp, 0xc
mov eax, dword [edi + 4]
test eax, eax
jne 0x10d601f2
push 0x4a8
push str..D3D9Resource.cpp
push str.RenDev
call fcn.109bb190
add esp, 0xc
mov eax, dword [edi + 0x24]
test eax, eax
jne 0x10d60210
push 0x4a9
push str..D3D9Resource.cpp
push str.Direct3DVertexBuffer9
call fcn.109bb190
add esp, 0xc
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x10]
test eax, eax
jl 0x10d60222
mov ebx, eax
mov dword [ebp - 0x14], ebx
jmp 0x10d60229
neg eax
mov dword [ebp - 0x14], eax
mov ebx, eax
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0xc]
mov esi, eax
cmp ebx, dword [edi + 0x28]
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x1c], 0x1000
jle 0x10d60267
push ebx
mov ecx, edi
call fcn.10d60040
mov eax, dword [edi + 4]
mov ecx, dword [eax + 0x32b14]
mov edx, dword [0x110bb4b0]
lea eax, [edx + ecx*4]
mov ecx, dword [eax]
inc ecx
mov dword [ebp - 0x1c], 0x2000
mov dword [eax], ecx
mov ecx, dword [ebp + 8]
mov eax, dword [ecx]
call dword [eax + 0x10]
test eax, eax
jl 0x10d60290
mov edx, dword [edi + 0x2c]
lea ecx, [esi + ebx]
lea eax, [ecx + edx]
cmp eax, dword [edi + 0x28]
jg 0x10d60290
xor edx, edx
div esi
mov ecx, dword [edi + 4]
cmp eax, dword [ecx + 0x4220]
jbe 0x10d602b5
mov edx, dword [edi + 4]
mov dword [edi + 0x2c], 0
mov ecx, dword [0x110bb4b0]
mov eax, dword [edx + 0x32b14]
lea eax, [ecx + eax*4]
mov ecx, dword [eax]
inc ecx
mov dword [ebp - 0x1c], 0x2000
mov dword [eax], ecx
mov edx, dword [edi + 0x2c]
lea eax, [esi + edx - 1]
cdq
idiv esi
mov edx, dword [0x110bb4b0]
mov dword [ebp - 0x18], 0
mov ebx, eax
mov eax, dword [edi + 4]
imul ebx, esi
mov ecx, dword [eax + 0x32b0c]
mov dword [ebp - 0x28], ebx
lea ecx, [edx + ecx*4]
rdtsc
mov dword [0x10fab810], edx
mov dword [0x10fab80c], eax
mov eax, dword [0x10fab80c]
sub dword [ecx], eax
mov edx, dword [ebp - 0x1c]
mov eax, dword [edi + 0x24]
mov ecx, dword [eax]
push edx
lea edx, [ebp - 0x18]
push edx
mov edx, dword [ebp - 0x14]
push edx
push ebx
push eax
call dword [ecx + 0x2c]
mov edx, dword [0x110bb4b0]
mov esi, eax
mov eax, dword [edi + 4]
mov ecx, dword [eax + 0x32b0c]
lea ecx, [edx + ecx*4]
rdtsc
mov dword [0x10fab810], edx
mov dword [0x10fab80c], eax
mov edx, dword [ecx]
mov eax, dword [0x10fab80c]
add eax, 0xfffffff4
add edx, eax
mov dword [ecx], edx
mov ecx, dword [edi + 4]
mov edx, dword [ecx + 0x32b10]
mov eax, dword [0x110bb4b0]
mov ecx, dword [eax + edx*4]
lea eax, [eax + edx*4]
inc ecx
test esi, esi
mov dword [eax], ecx
jge 0x10d60399
mov eax, esi
lea esi, [ebp - 0x38]
call fcn.10d5e290
mov ecx, dword [eax + 4]
test ecx, ecx
mov dword [ebp - 4], 0
je 0x10d60370
mov eax, dword [eax]
jmp 0x10d60375
mov eax, 0x10e43c3c
mov ecx, dword [0x10f43374]
push eax
push str.IDirect3DVertexBuffer9::Lock_failed__s_.
push ecx
call fcn.109baf50
add esp, 0xc
lea ecx, [ebp - 0x38]
mov dword [ebp - 4], 0xffffffff
call fcn.10902a90
mov eax, dword [edi + 4]
mov ecx, dword [eax + 0x4130]
mov edx, dword [ebp - 0x18]
xor esi, esi
test ecx, ecx
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x20], esi
je 0x10d60446
mov esi, dword [ebp - 0x14]
mov ecx, dword [eax + 0x3173c]
lea edx, [esi + 4]
cmp edx, ecx
jle 0x10d60424
lea ecx, [eax + 0x31738]
xor eax, eax
push 1
mov dword [ecx + 4], eax
mov dword [ecx + 8], eax
call fcn.109b8e40
cmp esi, 0xffff
jge 0x10d603e7
mov esi, 0xffff
mov ecx, dword [edi + 4]
mov edx, dword [ecx + 0x3173c]
add ecx, 0x31738
lea eax, [esi + esi]
add edx, eax
mov eax, dword [ecx + 8]
mov esi, edx
cmp esi, eax
mov dword [ecx + 4], edx
jle 0x10d60421
lea eax, [esi + esi*2]
cdq
and edx, 7
add eax, edx
sar eax, 3
lea edx, [eax + esi + 0x20]
push 1
mov dword [ecx + 8], edx
call fcn.109b8e40
mov esi, dword [ebp - 0x14]
mov eax, dword [edi + 4]
mov ecx, dword [eax + 0x31738]
lea esi, [ecx + esi + 1]
mov dword [esi], 0x3221977
mov edx, dword [edi + 4]
mov eax, dword [edx + 0x31738]
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 0x1c]
mov edx, dword [ecx]
push eax
mov dword [ebp - 4], 1
call dword [edx + 0x20]
jmp 0x10d60483
mov edx, dword [edi + 4]
mov eax, dword [edx + 0x4130]
test eax, eax
mov dword [ebp - 4], 0xffffffff
je 0x10d604ca
cmp dword [esi], 0x3221977
je 0x10d604b6
push 0x4f3
push str..D3D9Resource.cpp
push str.BufferEnd__0x03221977
call fcn.109bb190
add esp, 0xc
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x18]
push eax
push ecx
push edx
call fcn.10902f60
add esp, 0xc
mov eax, dword [edi + 0x24]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x30]
test eax, eax
jge 0x10d6051a
lea esi, [ebp - 0x44]
call fcn.10d5e290
mov ecx, dword [eax + 4]
test ecx, ecx
mov dword [ebp - 4], 3
je 0x10d604f1
mov eax, dword [eax]
jmp 0x10d604f6
mov eax, 0x10e43c3c
mov edx, dword [0x10f43374]
push eax
push str.IDirect3DVertexBuffer9::Unlock_failed__s_.
push edx
call fcn.109baf50
add esp, 0xc
lea ecx, [ebp - 0x44]
mov dword [ebp - 4], 0xffffffff
call fcn.10902a90
mov eax, dword [ebp - 0x14]
lea ecx, [ebx + eax]
mov dword [edi + 0x2c], ecx
mov ecx, dword [ebp - 0xc]
mov eax, ebx
pop edi
cdq
idiv dword [ebp - 0x2c]
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 4