6e900843 cmp [ebp-0x20],ecx
6e900846 jnz 6e900861
6e900848 mov eax,0x80040e14
6e90084d push 0x6e9071b8
6e900852 mov [ebp-0x44],eax
6e900855 lea eax,[ebp-0x44]
6e900858 push eax
6e900859 mov [ebp-0x40],ecx
6e90085c call idq!_CxxThrowException (6e905c36)
6e900861 lea eax,[ebp-0x1dc]
6e900867 push eax
6e900868 call idq!DecodeHtmlNumeric (6e9060b8)
6e90086d lea eax,[ebp-0x1dc]
6e900873 push eax
6e900874 call dword ptr [idq!_imp___wcsupr (6e8f1148)]
6e90087a mov eax,[ebp-0x14]
6e90087d pop ecx
6e90087e add eax,0x2
6e900881 mov [ebp-0x30],eax
6e900884 add eax,eax
6e900886 push eax
6e900887 call idq!ciNew (6e905f86)
6e90088c mov [ebp-0x34],eax
6e90088f mov ecx,[ebp+0x8]
6e900892 mov byte ptr [ebp-0x4],0x2
6e900896 push dword ptr [ecx+0x8]
6e900899 push eax
6e90089a lea eax,[ebp-0x14]
6e90089d push eax
6e90089e push esi
6e90089f call idq!DecodeURLEscapes (6e9060be)
6e9008a4 cmp dword ptr [ebp-0x14],0x0
6e9008a8 jz 6e9008b2
6e9008aa push dword ptr [ebp-0x34]
6e9008ad call idq!DecodeHtmlNumeric (6e9060b8)
6e9008b2 mov ecx,[ebp-0x24]
6e9008b5 lea edx,[ebp-0x34]
6e9008b8 push edx
6e9008b9 lea edx,[ebp-0x1dc]
6e9008bf mov eax,[ecx]
6e9008c1 push edx
6e9008c2 call dword ptr [eax]
6e9008c4 push dword ptr [ebp-0x34]
6e9008c7 and byte ptr [ebp-0x4],0x0
6e9008cb call idq!ciDelete (6e905f8c)
6e9008d0 jmp 6e9008e4
6e9008d2 test edi,edi
6e9008d4 jz 6e9008ec
Listing 7.2 (continued)
Auditing Program Binaries 265