Code:
4FE10EA0 8BFF MOV EDI,EDI
4FE10EA2 55 PUSH EBP
4FE10EA3 8BEC MOV EBP,ESP
4FE10EA5 51 PUSH ECX
4FE10EA6 53 PUSH EBX
4FE10EA7 8B5D 08 MOV EBX,DWORD PTR SS:[EBP+8]
4FE10EAA 85DB TEST EBX,EBX
4FE10EAC 56 PUSH ESI
4FE10EAD 74 08 JE SHORT d3d9.4FE10EB7
4FE10EAF 8D73 04 LEA ESI,DWORD PTR DS:[EBX+4]
4FE10EB2 8975 08 MOV DWORD PTR SS:[EBP+8],ESI
4FE10EB5 EB 0A JMP SHORT d3d9.4FE10EC1
4FE10EB7 C745 08 00000000 MOV DWORD PTR SS:[EBP+8],0
4FE10EBE 8B75 08 MOV ESI,DWORD PTR SS:[EBP+8]
4FE10EC1 8B46 18 MOV EAX,DWORD PTR DS:[ESI+18]
4FE10EC4 85C0 TEST EAX,EAX
4FE10EC6 74 07 JE SHORT d3d9.4FE10ECF
4FE10EC8 56 PUSH ESI
4FE10EC9 FF15 2811DD4F CALL DWORD PTR DS:[<&KERNEL32.EnterCriti>; ntdll.RtlEnterCriticalSection
4FE10ECF F643 2C 02 TEST BYTE PTR DS:[EBX+2C],2
4FE10ED3 74 1B JE SHORT d3d9.4FE10EF0
4FE10ED5 8B46 18 MOV EAX,DWORD PTR DS:[ESI+18]
4FE10ED8 85C0 TEST EAX,EAX
4FE10EDA 74 07 JE SHORT d3d9.4FE10EE3
4FE10EDC 56 PUSH ESI
4FE10EDD FF15 C010DD4F CALL DWORD PTR DS:[<&KERNEL32.LeaveCriti>; ntdll.RtlLeaveCriticalSection
4FE10EE3 5E POP ESI
4FE10EE4 B8 6C087688 MOV EAX,8876086C
4FE10EE9 5B POP EBX
4FE10EEA 8BE5 MOV ESP,EBP
4FE10EEC 5D POP EBP
4FE10EED C2 1400 RETN 14
4FE10EF0 8B83 F01D0000 MOV EAX,DWORD PTR DS:[EBX+1DF0]
4FE10EF6 85C0 TEST EAX,EAX
4FE10EF8 57 PUSH EDI
4FE10EF9 8DBB F01D0000 LEA EDI,DWORD PTR DS:[EBX+1DF0]
4FE10EFF 75 1C JNZ SHORT d3d9.4FE10F1D
4FE10F01 8B46 18 MOV EAX,DWORD PTR DS:[ESI+18]
4FE10F04 85C0 TEST EAX,EAX
4FE10F06 74 07 JE SHORT d3d9.4FE10F0F
4FE10F08 56 PUSH ESI
4FE10F09 FF15 C010DD4F CALL DWORD PTR DS:[<&KERNEL32.LeaveCriti>; ntdll.RtlLeaveCriticalSection
4FE10F0F 5F POP EDI
4FE10F10 5E POP ESI
4FE10F11 B8 6C087688 MOV EAX,8876086C
4FE10F16 5B POP EBX
4FE10F17 8BE5 MOV ESP,EBP
4FE10F19 5D POP EBP
4FE10F1A C2 1400 RETN 14
4FE10F1D 8B03 MOV EAX,DWORD PTR DS:[EBX]
4FE10F1F 53 PUSH EBX
4FE10F20 C745 FC 00000000 MOV DWORD PTR SS:[EBP-4],0
4FE10F27 FF50 3C CALL DWORD PTR DS:[EAX+3C]
4FE10F2A 85C0 TEST EAX,EAX
4FE10F2C 76 3D JBE SHORT d3d9.4FE10F6B
4FE10F2E 8BFF MOV EDI,EDI
4FE10F30 8B55 18 MOV EDX,DWORD PTR SS:[EBP+18]
4FE10F33 8B07 MOV EAX,DWORD PTR DS:[EDI]
4FE10F35 8B48 20 MOV ECX,DWORD PTR DS:[EAX+20]
4FE10F38 6A 00 PUSH 0
4FE10F3A 52 PUSH EDX
4FE10F3B 8B55 14 MOV EDX,DWORD PTR SS:[EBP+14]
4FE10F3E 52 PUSH EDX
4FE10F3F 8B55 10 MOV EDX,DWORD PTR SS:[EBP+10]
4FE10F42 52 PUSH EDX
4FE10F43 8B55 0C MOV EDX,DWORD PTR SS:[EBP+C]
4FE10F46 83C0 20 ADD EAX,20
4FE10F49 52 PUSH EDX
4FE10F4A 50 PUSH EAX
4FE10F4B FF51 0C CALL DWORD PTR DS:[ECX+C]
4FE10F4E 8BF0 MOV ESI,EAX
4FE10F50 85F6 TEST ESI,ESI
4FE10F52 7C 30 JL SHORT d3d9.4FE10F84
4FE10F54 8B75 FC MOV ESI,DWORD PTR SS:[EBP-4]
4FE10F57 8B03 MOV EAX,DWORD PTR DS:[EBX]
4FE10F59 46 INC ESI
4FE10F5A 53 PUSH EBX
4FE10F5B 8975 FC MOV DWORD PTR SS:[EBP-4],ESI
4FE10F5E 83C7 04 ADD EDI,4
4FE10F61 FF50 3C CALL DWORD PTR DS:[EAX+3C]
4FE10F64 3BF0 CMP ESI,EAX
4FE10F66 ^72 C8 JB SHORT d3d9.4FE10F30
4FE10F68 8B75 08 MOV ESI,DWORD PTR SS:[EBP+8]
4FE10F6B 8B46 18 MOV EAX,DWORD PTR DS:[ESI+18]
4FE10F6E 85C0 TEST EAX,EAX
4FE10F70 74 07 JE SHORT d3d9.4FE10F79
4FE10F72 56 PUSH ESI
4FE10F73 FF15 C010DD4F CALL DWORD PTR DS:[<&KERNEL32.LeaveCriti>; ntdll.RtlLeaveCriticalSection
4FE10F79 5F POP EDI
4FE10F7A 5E POP ESI
4FE10F7B 33C0 XOR EAX,EAX
4FE10F7D 5B POP EBX
4FE10F7E 8BE5 MOV ESP,EBP
4FE10F80 5D POP EBP
4FE10F81 C2 1400 RETN 14
4FE10F84 8B45 08 MOV EAX,DWORD PTR SS:[EBP+8]
4FE10F87 8B48 18 MOV ECX,DWORD PTR DS:[EAX+18]
4FE10F8A 85C9 TEST ECX,ECX
4FE10F8C 74 07 JE SHORT d3d9.4FE10F95
4FE10F8E 50 PUSH EAX
4FE10F8F FF15 C010DD4F CALL DWORD PTR DS:[<&KERNEL32.LeaveCriti>; ntdll.RtlLeaveCriticalSection
4FE10F95 5F POP EDI
4FE10F96 8BC6 MOV EAX,ESI
4FE10F98 5E POP ESI
4FE10F99 5B POP EBX
4FE10F9A 8BE5 MOV ESP,EBP
4FE10F9C 5D POP EBP
4FE10F9D C2 1400 RETN 14