Function at 0x480454
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
mov esi, dword [ebp]
add byte [ebx - 0x7cee74f2], cl
rol dword [eax], cl
jg 0x4be09f
xor al, byte [eax]
add al, al
jne 0x101e0b2
cmp dword [ecx], 0x7fffffff
mov eax, dword [eax]
add byte [esp + ecx*2 - 0x16fffc24], al
add byte [edx + edx*8 + 0x1c70875], al
add dword [eax], eax
add byte [eax], al
mov eax, dword [esi]
mov ecx, dword [ebp - 0x80]
add cl, cl
je 0x4804cc
mov dword [eax + 0x210], 0
jle 0x480511
add byte [ebp + 0x10], dl
mov eax, dword [esi]
lea edx, [edx + 4]
add byte [eax], al
mov edi, dword [eax - 0xffffdf0]
add bh, bh
inc eax
jge 0x4804c7
mov dword [eax + edi*4], ebx
mov eax, dword [esi]
call dword [ebp + 0x200]
sub ecx, 1
jne 0x4804cc
add byte [esi], cl
mov ebx, dword [ecx + 8]
test dword [ebp + 0xf18400], eax
add byte [eax], al
mov edi, dword [ecx]
cmp edi, dword [ecx + 0x1b10]
jne 0x4805ca
add byte [eax], al
test edi, edi
jle 0x48051a
lea esi, [esi]
add byte [ebx + 0x104b8], al
add byte [eax], al
cmp dword [eax + 0x104], 0
add byte [eax], al
leave
add byte [eax], al
add byte [ebx + 0x10086], cl
add byte [ebx], bh
xor byte [ebx - 0x72ffff8b], cl
mov eax, 0x30000000
add byte [eax], dh
add al, al
add al, 0x3b
xlatb
jl 0x4804f4
xor eax, dword [eax]
add byte [ebp + 0x10], dl
test edi, edi
jle 0x48052d
add byte [ecx + 0x110], al
mov dword [ebp], eax
add byte [esi], al
push es
lea ebx, [ebx + 0xc30000]
cmp dword [eax - 0x104], 0xea
jne 0x4805ba
mov eax, 0x20005441
imul ebx
sar edx, 7
mov eax, dword [eax]
add bl, ch
pop ds
add ebx, edx
mov esp, edi
add byte [ebx + 0x8b1055], cl
imul eax, dword [eax]
add al, dl
mov eax, dword [ebp + 8]
sub ecx, 0
mov dword [ebp + 0x10], edx
mov dword [ebp + 8], eax
add dword [eax], 0
jne 0x480534
or byte [ebx + 0x558900e9], al
adc byte [ecx + 0x830845], cl
add byte [ebp - 0x3b], dh
test edx, edx
js 0x480560
add byte [ecx + 4], al
lea ebx, [edx*4]
mov ecx, dword [ebx + eax]
test ecx, ecx
aam 0
dec ebp
fild dword [ebx]
add byte [edx + 0x10], ch
call fcn.0049058f
add esp, 4
sbb eax, dword [eax]
mov ecx, edi
push dword [ebp + 0xc]
mov dword [edi], 0
call fcn.0048cf84
mov ecx, dword [esi]
mov ecx, dword [ecx + 4]
mov dword [eax], eax
add byte [ebx + 0x4418b0e], cl
jnp 0x4805b4
add ebx, dword [edi + 0x5e]
pop ebx
pop ebp
ret
mov eax, dword [eax]
add byte [ebp + 8], bl
cdq
idiv dword [ebx - 0xff17]
mov ebx, eax
jmp 0x480551
xor eax, dword [eax]
add bh, ah
push ebp
mov ebp, esp
cmp dword [edx + 0x64ec8300], 0x53
mov ebx, dword [ebp + 8]
add byte [eax], al
dec esp
and al, 0x24
push edi
mov ebx, dword [edx]
mov esi, dword [eax]
mov ecx, esi
call fcn.004808b4
mov eax, dword [esi + 8]
mov eax, dword [eax]
inc byte [eax]
and al, 0x10
mov eax, dword [ebx + 4]
mov esi, dword [eax]
add byte [eax], al
call fcn.004808b4
mov ebp, 0x788b0800
add al, 0x8b
inc ebx
add al, 0
add byte [ebx + ecx*4], al
into
call fcn.004876b4
mov eax, dword [esi + 8]
mov eax, dword [eax]
mov dword [eax], eax
add byte [eax], ah
mov eax, dword [ebx + 4]
mov ebp, dword [edx]
add byte [ebx + 0x289e8ce], cl
add byte [eax], al
add byte [eax], al
or byte [ebp - 0x6bbfdbb4], cl
add byte [eax + 4], dh
mov dword [esp + 0x20], esi
call fcn.0047063f
mov edx, dword [ebp + 8]
mov edx, 0x89c03300
pop esp
and al, 0x30
mov al, byte [eax]
add byte [eax - 0x7cf0dbb4], cl
fadd dword [eax]
add ecx, dword [edi]
or byte [esi + 0x3da], 0
add al, 0x8b
dec eax
or al, ch
mov word [eax], es
add byte [eax], al
mov edx, eax
xor eax, eax
inc eax
add byte [eax], al
and al, 0x30
test dl, 2
mov ch, 0
push 0xffffffffffffffda
add eax, dword [eax]
mov cl, al
and eax, dword [eax]
add byte [esp + 0xf], cl
mov dword [edi + edi*8], edx
test esi, esi
je 0x4be0f0
add dl, al
sub eax, ebx
je 0x4b0717
sub eax, 1
jne 0x4b069f
mov dword [esp + 0x53], ebx
add bh, bh
jle 0x48070c
mov esi, dword [esp + 0x10]
add byte [eax], al
and al, 0x20
mov ecx, esi
push edi
xchg esi, eax
add byte [eax], dl
call fcn.00480895
mov eax, dword [eax]
add byte [esp + 0x30], dl
pop ecx
test edi, eax
add byte [eax + esi*4 - 0x74ffffff], al
inc esp
add byte [eax], al
mov ecx, edx
sub ecx, esi
shl dword [edi + 0x7c89f900], 1
and al, 0x34
sub edi, eax
add byte [eax], al
cwde
add dword [eax], eax
add byte [eax - 0x1a], dl
add byte [esp], ah
push edx
call fcn.0049f792
add ah, al
or al, 0x85
ror byte [edi], 0xf2
add dl, bl
add eax, dword [eax]
mov eax, dword [esp + 0x1c]
add byte [eax], al
and al, 0x14
lea ecx, [eax + eax]
mov ebp, 0x32c2400
int1
test edi, edi
jg 0x48070c
add byte [ebp + 8], bh
mov eax, dword [edi + 4]
stc
add byte [ebx + 0x199e8ce], cl
add byte [eax], al
add byte [eax], al
or byte [ebx + 0x7e448900], cl
add byte [ebx + 0x308b0447], cl
mov ecx, esi
add byte [eax], al
add dword [eax], eax
add byte [ebx + 0x7400cb46], cl
and al, 0x14
mov edi, dword [eax + 4]
mov eax, dword [eax]
add al, ch
dec ebp
invalid
xchg edi, eax
add byte [eax], al
add al, cl
test ecx, ecx
je 0x4b06dc
mov eax, dword [ecx]
add byte [edi + 8], al
mov eax, dword [ecx + 0x18]
sti
add byte [ebx + ecx*4], cl
inc ecx
sbb al, 0x89
inc edi
sbb byte [eax], al
add byte [edx + 4], ch
pop edx
mul edx
push ebp
add cl, al
neg ecx
or ecx, eax
push ecx
call fcn.004c06cf
mov dword [edi + 0x14], eax
lock add byte [ecx + 0x5f], bl
pop edi
pop esi
pop ebx
leave
ret 8
add byte [edi + 0x24], dl
lea eax, [ebp + 8]
fadd dword [eax]
lea eax, [ebp - 4]
push eax
push ecx
mov ecx, dword [ebx]
add byte [eax], al
inc edi
add dword [eax], eax
add esp, 0xffffffb2
add byte [edi + 8], al
test eax, eax
je 0x4b0735
lea eax, [eax]
add byte [ecx - 0x75], dl
enter 0xffffffffffff83e8, 0x42
add byte [eax], al
pop ecx
mov ecx, dword [edi + 8]
lea esi, [edi]
add byte [edx + 2], ch
mov edx, eax
mov ebp, edi
add al, ch
xchg byte [ecx + 1], dh
add byte [ebx + 0x8000006], cl
inc eax
imul eax, eax, 3
mov eax, dword [eax]
ja 0x4b0732
add dword [eax], eax
mov eax, dword [esi]
add byte [eax], al
or byte [eax + 0x6b], al
rol byte [ebx], 0x8b
add byte [edi + 0xc], dh
mov dword [esi], eax
push dword [edi + 8]
add byte [eax], al
fimul dword [ecx + eax + 0x968b00]
xchg byte [ebx - 0x6414f7bb], cl
xchg esi, eax
add byte [esi - 0x14f7ba75], al
wait
mov eax, dword [ebp + 8]
jmp 0x4b06d5
push ebp
add byte [eax], al
push ebx
push esi
push edi
push dword [ebp + 0x4f]
add byte [eax], bh
add byte [eax], al
add byte [ebx + 0xbed8], cl
dec ebp
add byte [ebx + 0xf853e], cl
adc byte [ecx], bh
pop edi
adc byte [edi + ecx - 0x7d], dh
add byte [eax], al
cmp esi, 0x154d2500
add dl, ch
xor eax, eax
jmp 0x4b0779
pop edi
pop esi
add byte [eax], al
ret 4
ror dword [ebx - 0x4e], cl
int3
xor dword ds:[ecx - 0xb], eax
cmc
and cl, ah
pop esp
mov esi, 0xcd9c15a8
xchg ecx, eax
xchg ebx, eax
mov dword [edi], ecx
loopne 0x4be083
scasd eax, dword es:[edi]
ret 0x3dc6
dec edx
or byte [eax - 0x11], cl
dec eax
out dx, eax
push esi
mov bh, 0x3c
sahf
cmp dword [esi - 0x19ed7820], esp
xchg dword [edx], edx
out 0x8a, al
push edx
cwde
mov bh, bh
cwde
ja 0x4be086
int 0x1f
pop esi
lds edx, [esi + 0x60]
mov eax, dword [0xeaa95f5]
jno 0x4be04d
xor ch, dh
jecxz 0x4be09c
push dword [esi]
invalid
invalid
adc byte [ecx - 6], bl
push edi
xor dword [edi], ebx
jnp 0x4be07a
mov eax, 0xfb3d8aa4
jne 0x4be0b6
push esp
mov eax, cs
ja 0x4be08a
jle 0x4be047
scasb al, byte es:[edi]
xor dh, byte [esi - 0x7b]
sub bl, byte [edx]
dec edx
fcom st(3)
jae 0x4be078
xchg edi, eax
add byte [ecx + 0x9597039], al
jp 0x4be0df
fbld tbyte [edi - 0x36]
test eax, 0xb7d3ade0
test bh, 0x1e
sbb al, byte [ebx - 0x10]
invalid
mov al, byte [0x83fa4356]
jae 0x4be144
adc eax, 0x532faa98
mov word [edx + 9], cs
add dword [eax + edx*2 - 0x5cddd6e0], 0x6d
and edx, esp
xor ebp, dword [ecx]
and dword [edi - 0x72], ebx
mov al, 0xc8
add byte [edi - 0x47], ch
pop edx
clc
test edx, ebp
pop ebx
test al, 0x55
dec eax
scasb al, byte es:[edi]
mov esp, 0xe730a282
push es
lodsd eax, dword [esi]
jbe 0x4be0c1
push eax
and byte [ecx], ch
and ah, byte [ebx + 0x33e2216d]
sub dword [ecx], esp
pop edi
invalid
aad 0x96
cmpsb byte [esi], byte es:[edi]
mov dl, 0x28
push 0xabfd8a72
lds edi, [eax + 0x51]
js 0x4be172
pop esi
xor byte [esi - 0x407019e3], bl
or ebp, dword [esi + esi*2 - 0x591faa36]
push eax
imul edi, esp, 0x9e4e36a5
mov edx, 0x406815b
pop ecx
invalid
cli
xor eax, 0x63f34480
sahf
out 0xe4, eax
mov ah, 0xee
xor al, 0xb0
or byte [ecx - 0x50f809e8], dh
cmp al, 0x17
cmc
ficom word [ebx - 0x66]
fnstenv [ecx]
add eax, 0xe4166a7d
ror dword [esi + 0x40], 0x94
invalid