Function at 0x51ce04
Capabilities:
Packed with generic packer

Disassembly:
lodsb al, byte [esi]
test byte [eax + eax + 0x38], bl
inc dword [eax]
add byte [esp + eax*4 - 0xc6ffa4], ch
lodsb al, byte [esi]
test byte [eax + eax + 0x39], bl
inc dword [eax]
add byte [eax + 0xf0051ca], ah
invalid
adc byte [ecx + 0x43], cl
outsd dx, dword [esi]
insd dword es:[edi], dx
jo 0x51cb17
outsb dx, byte [esi]
outsb dx, byte gs:[esi]
je 0x51caf2
imul esi, dword fs:[edi + ebp*2 + 0x72], sym.imp.rtl60.bpl___xp_17System_IInterface
add dword [edx + edi*4], esi
lodsb al, byte [esi]
in al, dx
invalid
add byte [eax], al
add byte [eax], al
add byte [eax], al
sub bl, cl
push ecx
add byte [eax + eax], cl
add byte [eax], al
cmp byte [edi], ah
pop ebp
add byte [edx], dl
push edi
push edx
add byte [esp + edx*2], bh
push edx
add byte [esi], dh
push esp
push edx
add dl, bh
push esi
push edx
add byte [edi + edx*2], cl
push edx
add byte [eax], dh
push esp
push edx
add byte [edx + 0x57], bl
push edx
add byte [esi + 0x57], cl
push edx
add byte [eax - 0x2d], ch
push 0x140051d3
push esp
inc edx
popal
jae 0x51cb93
inc ebx
outsd dx, dword [esi]
insd dword es:[edi], dx
jo 0x51cba2
outsb dx, byte [esi]
outsb dx, byte gs:[esi]
je 0x51cb7d
imul esi, dword fs:[edi + ebp*2 + 0x72], 0x44909090
retf
retf
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add ah, cl
retf
add byte [eax], al
cmp byte [edi], ah
pop ebp
add byte [edx], dl
push edi
push edx
add byte [esp + edx*2], bh
push edx
add byte [esi], dh
push esp
push edx
add dl, bh
push esi
push edx
add byte [edi + edx*2], cl
push edx
add byte [eax], dh
push esp
push edx
add byte [edx + 0x57], bl
push edx
add byte [esi + 0x57], cl
push edx
add byte [esi + edx*8 + 0x51], ch
insb byte es:[edi], dx
salc
push ecx
add byte [esp + edx*2], dl
inc edx
popal
jae 0x51cc37
push ebx
insb byte es:[edi], dx
arpl word gs:[ecx + ebp*2 + 0x6f], si
outsb dx, byte [esi]
inc ebp
imul esi, dword fs:[edi + ebp*2 + 0x72], 0xe8909090
retf
jne 0x51cca6
inc ecx
je 0x51ccb2
jb 0x51cca9
bound esi, qword [ebp + 0x74]
jae 0x51cc47
in al, 0xcb
push ecx
add byte [eax + 0x51cc5090], dl
add byte [edi], cl
prefetchw byte [ecx + 0x43]
jne 0x51ccc9
retf
je 0x51ccc7
insd dword es:[edi], dx
dec ebp
outsd dx, dword [esi]
jne 0x51ccca
inc eax
daa
pop ebp
add byte [ecx], al
sub ecx, dword [edx - 0x26]
xchg ebp, eax
add al, bl
mov ebx, 0x85b8b04c
stosd dword es:[edi], eax
jge 0x51ccae
cli
fimul dword [edx]
inc esp
jae 0x51cce2
outsb dx, byte [si]
dec ecx
outsb dx, byte [esi]
je 0x51cce5
or dword [eax], eax
invalid
push ecx
add byte [eax + eax], cl
add byte [eax], al
cmp byte [edi], ah
add byte [eax], al
add byte [eax], bh
daa
pop ebp
add byte [edx], dl
push edi
push edx
add byte [esp + edx*2], bh
push edx
add byte [esi], dh
push esp
push edx
add dl, bh
push esi
push edx
add byte [edi + edx*2], cl
push edx
add byte [eax], dh
push esp
push edx
add byte [edx + 0x57], bl
push edx
add byte [esi + 0x57], cl
push edx
add al, bl
fcom st(6)
push ecx
add byte [eax], ah
xlatb
push ecx
add byte [ecx], dl
push esp
inc edx
popal
jae 0x51cd43
inc ebx
jne 0x51cd54
je 0x51cd52
outsd dx, dword [esi]
insd dword es:[edi], dx
dec ebp
outsd dx, dword [esi]
jne 0x51cd55
nop
nop
int3
xchg byte [eax], al
add ah, cl
int3
int3
dec ecx
jecxz 0x51cd28
rcl dword [ecx], cl
stosd dword es:[edi], eax
dec edx
add al, al
dec edi
adc dword [ebx + 0x4fc0004a], ebp
mov cl, 0x7a
jb 0x51cd8d
int 0x51
add byte [eax], dl
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax + 0x51cdb890], dl
add byte [edx - 0x33], cl
push ecx
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [ebp + ecx*8 + 0x140051], bh
int 0x51
add byte [eax + eax], dl
add byte [eax], al
cmp byte [edi], ah
pop ebp
add byte [edx], dl
push edi
push edx
add byte [esp + edx*2], bh
push edx
add byte [esi], dh
push esp
push edx
add dl, bh
push esi
push edx
add byte [edi + edx*2], cl
push edx
add byte [eax], dh
push esp
push edx
add byte [edx + 0x57], bl
push edx
add ah, bh
aam 0x51
add byte [eax + 0x130051d4], ch
test al, 0xd4
push ecx
add byte [ebx], dl
push esp
inc esp
jae 0x51ce2b
outsb dx, byte [si]
jb 0x51ce1a
insb byte es:[edi], dx
arpl word gs:[ecx + ebp*2 + 0x6f], si
outsb dx, byte [esi]
jae 0x51cda5
int 0x51
add byte [edi], al
pop es
adc edx, dword [esp + eax*2 + 0x65]
jae 0x51ce44
outsb dx, byte [si]
jb 0x51ce33
insb byte es:[edi], dx
arpl word gs:[ecx + ebp*2 + 0x6f], si
outsb dx, byte [esi]
jae 0x51cda2
int 0x51
add byte [edi], dh
pop ebp
add byte [eax], al
add byte [edx], cl
inc esp
jae 0x51ce61
outsb dx, byte [si]
dec ecx
outsb dx, byte [esi]
je 0x51ce64
add byte [eax], al
add al, 0xce
push ecx
add byte [ebx], al
add ecx, dword [ebx]
push esp
inc ebp
imul esi, dword fs:[ecx + eax*2 + 0x63], 0x6e6f6974
add dword [eax], eax
add byte [eax], al
add byte [eax + eax], cl
add byte [eax], al
add dh, cl
push ecx
add byte [esi], al
popal
push ebp
outsb dx, byte [esi]
outsd dx, dword fs:[esi]
push es
popal
push edx
outsd dx, dword fs:[esi]
outsd dx, dword [esi]
add eax, 0x75436165
je 0x51ce39
popal
inc ebx
outsd dx, dword [esi]
jo 0x51ceb2
pop es
popal
push eax
popal
jae 0x51ceb4
or byte gs:[ebp + 0x61], ah
inc esp
insb byte es:[edi], dx
je 0x51ceaf
or esp, dword [ebp + 0x61]
push ebx
insb byte es:[edi], dx
arpl word gs:[ecx + eax*2 + 0x6c], si
insb byte es:[edi], dx
pop es
popal
push eax
jb 0x51cec5
outsb dx, byte [esi]
je 0x51ce6d
popal
inc edx
jb 0x51cecd
outsb dx, byte [esi]
push esp
outsd dx, dword [esi]
inc esi
jb 0x51ceda
outsb dx, byte [esi]
je 0x51ce7a
or al, 0x65
popal
popal
push ebx
outsb dx, byte gs:[esi]
push esp
outsd dx, dword [esi]
inc edx
popal
arpl word [ebx + 0xd], bp
popal
inc ecx
insb byte es:[edi], dx
or eax, 0x6c416165
imul esp, dword [edi + 0x6e], 0x72476f54
imul esp, dword [ecx + edx + 0x65], 0x696c4661
jo 0x51ced3
push 0x72646c69
outsb dx, byte gs:[esi]
inc ecx
insb byte es:[edi], dx
insb byte es:[edi], dx
push ss
popal
inc esi
insb byte es:[edi], dx
imul esi, dword [eax + 0x43], 0x646c6968
jb 0x51cf0d
outsb dx, byte [esi]
push ebx
insb byte es:[edi], dx
arpl word gs:[ebp + 0x64], si
or al, byte [ebp + 0x73]
or al, byte fs:[ebp + 0x73]
inc esp
jae 0x51cf1f
jae 0x51cf1f
imul esp, dword [edi + 0x6e], 0x66746e49
outsb dx, byte [si]
dec ecx
outsb dx, byte [esi]
je 0x51cf22
ror dh, 0x51
add byte [ebx], al
add ecx, dword [ebx]
push esp
inc ebp
invalid
imul esi, dword [ebx + edx*2 + 0x74], 0x73657461
add dword [eax], eax
add byte [eax], al
add byte [0xbc000000], cl
into
push ecx
add byte [ecx], cl
jae 0x51cf21
add byte [eax], al
add byte [esi + ecx*8 + 0x65090051], bh
jae 0x51cf21
or dword [ebp + 0x73], esp
inc ebx
popal
outsb dx, byte [esi]
push ebp
outsb dx, byte [esi]
outsd dx, dword fs:[esi]
or dword [ebp + 0x73], esp
inc ebx
popal
outsb dx, byte [esi]
push edx
outsd dx, dword fs:[esi]
or byte [ebp + 0x73], ah
inc ebx
popal
outsb dx, byte [esi]
inc ebx
jne 0x51cf6b
or dword [ebp + 0x73], esp
inc ebx
popal
outsb dx, byte [esi]
inc ebx
outsd dx, dword [esi]
jo 0x51cf7a
or ah, byte [ebp + 0x73]
inc ebx
popal
outsb dx, byte [esi]
push eax
popal
jae 0x51cf7f
or esp, dword gs:[ebp + 0x73]
inc ebx
jae 0x51cf53
popal
outsb dx, byte [esi]
inc esp
insb byte es:[edi], dx
je 0x51cf7d
or esp, dword [ebp + 0x73]
inc ebx
popal
outsb dx, byte [esi]
pop edx
dec edi
jb 0x51cf86
jb 0x51cf33
jb 0x51cf33
jae 0x51cf6b
popal
outsb dx, byte [esi]
inc ecx
insb byte es:[edi], dx
imul esp, dword [edi + 0x6e], 0x64697247
or al, 0x65
jae 0x51cf7a
popal
outsb dx, byte [esi]
inc ebp
imul esi, dword fs:[edi + ecx*2 + 0x6c], 0x73650d65
inc ebx
popal
outsb dx, byte [esi]
push esp
popal
bound ecx, qword [edi + 0x72]
jb 0x51cf61
jae 0x51cf95
popal
outsb dx, byte [esi]
inc ebx
jb 0x51cfbc
popal
je 0x51cfc3
outsd dx, dword [esi]
outsb dx, byte [esi]
dec edi
jb 0x51cfc3
jb 0x51cf6c
or ah, byte [ebp + 0x73]
inc ebx
jae 0x51cfa8
popal
outsb dx, byte [esi]
push eax
jb 0x51cfd3
outsb dx, byte [esi]
je 0x51cf7b
push cs
jae 0x51cfb3
popal
outsb dx, byte [esi]
push ebx
insb byte es:[edi], dx
arpl word gs:[ecx + eax*2 + 0x6c], si
insb byte es:[edi], dx
adc esp, dword [ebp + 0x73]
inc ebx
jae 0x51cfc2
popal
outsb dx, byte [esi]
inc ebx
jb 0x51cfe9
popal
je 0x51cfec
push esp
push esp
insd dword es:[edi], dx
jo 0x51cff8
popal
je 0x51cff4
or al, byte [ebp + 0x73]
imul esp, dword [edi + 0x6e], 0x66746e49
outsb dx, byte [esi]
dec ecx
outsb dx, byte [esi]
je 0x51d000
nop
nop
mov al, byte [0x60051cf]
push es
or dl, byte [ebp + eax*2 + 0x64]
imul esi, dword [ebx + edx*2 + 0x74], 0x3657461
mov esp, 0x900051ce
nop
je 0x51d00b
je 0x51d011
add edi, dword [esi + ecx*8 - 0x6f6fffaf]
nop
mov eax, 0xf0051cf
cmovns ecx, dword [ecx + 0x6d]
insd dword es:[edi], dx
jo 0x51d02b
insd dword es:[edi], dx
outsb dx, byte gs:[esi]
outsb dx, byte [esi]
je 0x51d026
je 0x51d030
outsd dx, dword [esi]
outsb dx, byte [esi]
inc eax
daa
pop ebp
add byte [ecx], al
dec eax
aam 0xf9
mov esp, 0x9f11d150
push eax
rcl dword [ecx]
lahf
mov ch, 0
and byte [edi + 0xada823d], ch
inc esp
jae 0x51d04c
outsb dx, byte [si]
dec ecx
outsb dx, byte [esi]
je 0x51d04f
add dword [eax], eax
invalid
call dword [eax - 0x2fc36f70]
push ecx
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax - 0x30], cl
push ecx
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
dec eax
rcl byte [ecx]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
pop edx
add byte [eax], al
add byte [eax], al
add byte [edx - 0x30], bl
push ecx
add byte [eax], cl
add byte [eax], al
add byte [eax + 0x27], cl
rcl byte [ecx]
or byte [eax], al
add byte [eax], al
dec eax
daa
pop ebp
add byte [edx], dl
push edi
push edx
add byte [esi], al
push edi
push edx
add byte [eax], al
push edi
push edx
add dl, bh
push esi
push edx
add byte [edi + edx*2], cl
push edx
add byte [eax + 0x57], ah
pushal
push edi
push edx
add byte [edx + 0x57], bl
push edx
add byte [esi + 0x57], cl
push edx
add byte [edi + edx*8 + 0x51], ah
xlatb
push ecx
add al, al
push edi
push edx
add al, al
push edi
push edx
add byte [esi], cl
add byte [eax], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add dword [eax], eax
add byte [eax], al
mov eax, cs
push ecx
add byte [eax + eax], al
add byte [eax], al
add byte [eax + ecx*8 + 0x40051], cl
add byte [eax], al
or edx, dword [esp + eax*2 + 0x72]
popal
push esp
popal
jb 0x51d0cb
je 0x51cff7
nop
insb byte es:[edi], dx
rcl byte [ecx]
in al, dx
pop esp
add byte [eax], al
je 0x51d0e2
mov eax, dword [ebp - 8]
push eax
xor ecx, ecx
xor edx, edx
mov eax, dword [ebp - 4]
call dword [sym.SDCWServiceApp.exe__Designintf_RegisterPropertyInCategoryProc]
pop ecx
pop ecx
pop ebp
ret