INPUT_PLUGIN_TABLE
flagINPUT_PLUGIN_FLAG_VIDEO | INPUT_PLUGIN_FLAG_AUDIO
name"拡張編集 File Reader"
filefilter"拡張編集 File (*.exedit)"
information"拡張編集 File Reader version 0.01 By KENくん"
func_init1010
func_exit1010
func_open1020
func_close1090
func_read_video1220
func_read_audio1250
func_is_keyframe0
func_config0
その他の関数
GetInpufPluginTable1000

逆アセンブルデータ(INPUT_PLUGIN_TABLE)

func_init / func_exit

0BA01010B8 01000000MOV EAX,1
0BA01015C3RETN

func_open

0BA0102083EC 10SUB ESP,10
0BA010238D4424 0CLEA EAX,[ESP+C]
0BA010278D4C24 08LEA ECX,[ESP+8]
0BA0102B8D5424 04LEA EDX,[ESP+4]
0BA0102F53PUSH EBX
0BA0103056PUSH ESI
0BA010318B7424 1CMOV ESI,[ESP+1C]
0BA0103550PUSH EAX
0BA0103651PUSH ECX
0BA010378D4424 10LEA EAX,[ESP+10]
0BA0103B52PUSH EDX
0BA0103C8D4C24 28LEA ECX,[ESP+28]
0BA0104050PUSH EAX
0BA0104151PUSH ECX
0BA0104268 2881A00BPUSH BA08128"%dx%d_%d-%dfps_%dHz.exedit"
0BA0104756PUSH ESI
0BA01048E8 33020000CALL 0BA01280sprintf?
0BA0104D83C4 1CADD ESP,1C
0BA0105083F8 05CMP EAX,5
0BA01053BB 01000000MOV EBX,1
0BA0105874 2FJE SHORT 0BA01089
0BA0105A8D5424 14LEA EDX,[ESP+14]
0BA0105E8D4424 0CLEA EAX,[ESP+C]
0BA0106252PUSH EDX
0BA010638D4C24 0CLEA ECX,[ESP+C]
0BA0106750PUSH EAX
0BA010688D5424 24LEA EDX,[ESP+24]
0BA0106C51PUSH ECX
0BA0106D52PUSH EDX
0BA0106E68 1081A00BPUSH BA08110"%dx%d_%dfps_%dHz.exedit"
0BA0107356PUSH ESI
0BA01074895C24 28MOV [ESP+28],EBX
0BA01078E8 03020000CALL 0BA01280sprintf?
0BA0107D83C4 18ADD ESP,18
0BA0108083F8 04CMP EAX,4
0BA010830F85 F4000000JNZ 0BA0117D
0BA010898B4424 1CMOV EAX,[ESP+1C]
0BA0108D85C0TEST EAX,EAX
0BA0108F0F8E E8000000JLE 0BA0117D
0BA010958B4424 08MOV EAX,[ESP+8]
0BA0109985C0TEST EAX,EAX
0BA0109B0F8E DC000000JLE 0BA0117D
0BA010A18B4424 0CMOV EAX,[ESP+C]
0BA010A585C0TEST EAX,EAX
0BA010A70F8E D0000000JLE 0BA0117D
0BA010AD8B4424 10MOV EAX,[ESP+10]
0BA010B185C0TEST EAX,EAX
0BA010B30F8E C4000000JLE 0BA0117D
0BA010B98B4424 14MOV EAX,[ESP+14]
0BA010BD85C0TEST EAX,EAX
0BA010BF0F8E B8000000JLE 0BA0117D
0BA010C56A 04PUSH 4
0BA010C768 00100000PUSH 1000
0BA010CC6A 50PUSH 50
0BA010CE6A 00PUSH 0
0BA010D0FF15 0070A00BCALL [BA07000]VirtualAlloc(PAGE_READWRITE, MEM_COMMIT, 80, 0)
0BA010D68BF0MOV ESI,EAX
0BA010D833C0XOR EAX,EAX
0BA010DA85F6TEST ESI,ESI
0BA010DC0F84 9D000000JE 0BA0117F
0BA010E257PUSH EDI
0BA010E3B9 14000000MOV ECX,14
0BA010E88BFEMOV EDI,ESI
0BA010EAF3:ABREP STOS DWORD PTR ES:[EDI]
0BA010EC8B3EMOV EDI,[ESI]
0BA010EEC746 14 28000000MOV DWORD PTR [ESI+14],28
0BA010F50BFBOR EDI,EBX
0BA010F7893EMOV [ESI],EDI
0BA010F98B4424 20MOV EAX,[ESP+20]
0BA010FD8946 18MOV [ESI+18],EAX
0BA011008B5424 0CMOV EDX,[ESP+C]
0BA011048BC2MOV EAX,EDX
0BA011068956 1CMOV [ESI+1C],EDX
0BA011090FAF46 18IMUL EAX,[ESI+18]
0BA0110D66:895E 20MOV [ESI+20],BX
0BA0111166:C746 22 3000MOV WORD PTR [ESI+22],30
0BA011178D0440LEA EAX,[EAX+EAX*2]
0BA0111AC746 24 59433438MOV DWORD PTR [ESI+24],38344359'YC48'
0BA01121C1E0 04SHL EAX,4
0BA0112499CDQ
0BA0112583E2 07AND EDX,7
0BA011288BCFMOV ECX,EDI
0BA0112A03C2ADD EAX,EDX
0BA0112C83C9 02OR ECX,2
0BA0112FC1F8 03SAR EAX,3
0BA011328946 28MOV [ESI+28],EAX
0BA011358B4424 10MOV EAX,[ESP+10]
0BA011398946 04MOV [ESI+4],EAX
0BA0113C8B5424 14MOV EDX,[ESP+14]
0BA011408956 08MOV [ESI+8],EDX
0BA01143895E 0CMOV [ESI+C],EBX
0BA01146890EMOV [ESI],ECX
0BA0114866:895E 3CMOV [ESI+3C],BX
0BA0114C8B4424 18MOV EAX,[ESP+18]
0BA0115066:C746 3E 0200MOV WORD PTR [ESI+3E],2
0BA011568BC8MOV ECX,EAX
0BA011588946 40MOV [ESI+40],EAX
0BA0115BC1E1 02SHL ECX,2
0BA0115E66:C746 4A 1000MOV WORD PTR [ESI+4A],10
0BA0116466:C746 48 0400MOV WORD PTR [ESI+48],4
0BA0116A894E 44MOV [ESI+44],ECX
0BA0116DC746 10 FFFFFF7FMOV DWORD PTR [ESI+10],7FFFFFFF
0BA011748BC6MOV EAX,ESI
0BA011765FPOP EDI
0BA011775EPOP ESI
0BA011785BPOP EBX
0BA0117983C4 10ADD ESP,10
0BA0117CC3RETN
0BA0117D33C0XOR EAX,EAX
0BA0117F5EPOP ESI
0BA011805BPOP EBX
0BA0118183C4 10ADD ESP,10
0BA01184C3RETN

func_close

0BA011908B4424 04MOV EAX,[ESP+4]
0BA0119485C0TEST EAX,EAX
0BA0119674 0EJE SHORT 0BA011A6
0BA0119868 00800000PUSH 8000
0BA0119D6A 00PUSH 0
0BA0119F50PUSH EAX
0BA011A0FF15 0470A00BCALL [BA07004]VirtualFree
0BA011A6B8 01000000MOV EAX,1
0BA011ABC3RETN

func_info_get

0BA011B08B4424 08MOV EAX,[ESP+8]INPUT_INFO*
0BA011B48B4C24 04MOV ECX,[ESP+4]
0BA011B8C700 00000000MOV DWORD PTR [EAX],0
0BA011BE8A11MOV DL,[ECX]
0BA011C0F6C2 01TEST DL,1
0BA011C374 2BJE SHORT 0BA011F0
0BA011C5C700 01000000MOV DWORD PTR [EAX],1
0BA011CB8B51 04MOV EDX,[ECX+4]
0BA011CE8950 04MOV [EAX+4],EDX
0BA011D18B51 08MOV EDX,[ECX+8]
0BA011D48950 08MOV [EAX+8],EDX
0BA011D78B51 0CMOV EDX,[ECX+C]
0BA011DA8950 0CMOV [EAX+C],EDX
0BA011DD8D51 14LEA EDX,[ECX+14]
0BA011E08950 10MOV [EAX+10],EDX
0BA011E3C740 14 28000000MOV DWORD PTR [EAX+14],28
0BA011EA8B51 24MOV EDX,[ECX+24]
0BA011ED8950 24MOV [EAX+24],EDX
0BA011F0F601 02TEST BYTE PTR [ECX],2
0BA011F374 1AJE SHORT 0BA0120F
0BA011F58B10MOV EDX,[EAX]
0BA011F783CA 02OR EDX,2
0BA011FA83C1 3CADD ECX,3C
0BA011FD8910MOV [EAX],EDX
0BA011FF8B51 D4MOV EDX,[ECX-2C]
0BA012028950 18MOV [EAX+18],EDX
0BA012058948 1CMOV [EAX+1C],ECX
0BA01208C740 20 12000000MOV DWORD PTR [EAX+20],12
0BA0120FB8 01000000MOV EAX,1
0BA01214C3RETN

func_read_video

0BA012208B5424 04MOV EDX,[ESP+4]
0BA0122456PUSH ESI
0BA0122557PUSH EDI
0BA012268B7C24 14MOV EDI,[ESP+14]
0BA0122A8B4A 28MOV ECX,[EDX+28]
0BA0122D33C0XOR EAX,EAX
0BA0122F8BF1MOV ESI,ECX
0BA01231C1E9 02SHR ECX,2
0BA01234F3:ABREP STOS DWORD PTR ES:[EDI]
0BA012368BCEMOV ECX,ESI
0BA0123883E1 03AND ECX,3
0BA0123BF3:AAREP STOS BYTE PTR ES:[EDI]
0BA0123D8B42 28MOV EAX,[EDX+28]
0BA012405FPOP EDI
0BA012415EPOP ESI
0BA01242C3RETN

func_read_audio

0BA012508B4424 04MOV EAX,[ESP+4]
0BA012548B5424 0CMOV EDX,[ESP+C]
0BA0125833C9XOR ECX,ECX
0BA0125A56PUSH ESI
0BA0125B66:8B48 48MOV CX,[EAX+48]
0BA0125F57PUSH EDI
0BA012600FAFCAIMUL ECX,EDX
0BA012638B7C24 18MOV EDI,[ESP+18]
0BA012678BF1MOV ESI,ECX
0BA0126933C0XOR EAX,EAX
0BA0126BC1E9 02SHR ECX,2
0BA0126EF3:ABREP STOS DWORD PTR ES:[EDI]
0BA012708BCEMOV ECX,ESI
0BA0127283E1 03AND ECX,3
0BA01275F3:AAREP STOS BYTE PTR ES:[EDI]
0BA012775FPOP EDI
0BA012788BC2MOV EAX,EDX
0BA0127A5EPOP ESI
0BA0127BC3RETN

逆アセンブルデータ(その他の関数)

GetInputPluginTable

0B9F1000B8 30809F0BMOV EAX,B9F8030
0B9F1005C3RETN