Function at 0x49636a
Capabilities:
Encode data using xor

Disassembly:
inc edi
mul ch
call 0x430d0edf
cmp dword [ebp + 0x670d53a6], 0xffffffb8
dec edx
push ebx
pop edi
ja 0x496389
or edi, dword [edi - 0x1fae0c7]
mov edi, 0xfe051f39
or bh, bl
inc edi
ror ebp, 0xb1
xor ch, byte [ebp - 0x33]
cdq
mov ebx, 0xb78aa8c
movsd dword es:[edi], dword [esi]
ja 0x49640a
adc eax, 0x17f537cb
mov esp, ebx
cmpsb byte [esi], byte es:[edi]
scasb al, byte es:[edi]
sti
cmp eax, 0x7f3b333f
jns 0x49637d
sub eax, 0x175b6701
push ebx
mov esp, 0xa33bab87
rcr dword [ebx - 0x222e8005], 1
test al, 0x90
push 0xd76ca7c6
js 0x4963db
push edx
dec eax
pop ebx
wait
test edx, edx
mov ebx, dword [ebx + 0x42b7f8e4]
cmp al, byte [ecx + 0x2c]
xor byte [edi], ah
cmpsd dword [esi], dword es:[edi]
aaa
mov bh, 0xc8
daa
arpl word [ecx + 0x76], ax
and dword [esi - 0x1c], 0x47
in al, 0x47
invalid
stosd dword es:[edi], eax
int 0xb7
daa
xchg edi, eax
push edi
ja 0x496429
je 0x49643b
adc edi, dword [ebx - 0x72]
xchg ecx, eax
pop ss
add byte [eax + 0x8f4d9e7], 0xbb
loopne 0x496424
invalid
jmp 0x496478
rcl byte [edi - 0x5a]
mov esp, 0x85ab05c6
push es
add al, 0xb7
add eax, 0xebe7861b
and al, 0xff
lcall 0xb32b, 0x70b07f4
or dword [edi], esp
push 0xffffffffffffffa7
call [edx + 0x70b07f4]
sub esi, dword [ebx - 0x5895d8f7]
out 0xbb, eax
sub ecx, dword [edx - 0x49]
je 0x496468
sti
sub byte [esi - 0x34ad35d7], dh
pop es
mov dword [0x4259d1f9], eax
test al, 0xb6
in al, 0xfa
pushfd
sti
jmp 0x49648a
mov al, 1
sbb al, 0xf5
int1
scasb al, byte es:[edi]
ret
dec edx
mov edi, 0xe4baf550
fistp dword [eax - 0x36]
xchg esi, eax
push es
jg 0x4964c2
mov ecx, 0xc65d5f76
push es
mov byte [esi + 0x24a882e8], bh
jb 0x496499
mov eax, dword [0x8e23ee18]
inc esp
mov bl, 0xec
mov bh, 0xdb
mov al, byte [0xf6bfd4c5]
adc eax, 0x9f0f0c23
adc byte es:[eax], ch
and dword [edx], edi
sbb cl, byte [edi]
stosd dword es:[edi], eax
and eax, edi
xchg ebx, eax
xlatb
mov byte [edi], ah
in al, dx
sub dword [esi - 0x7c208340], esp
mul esp
mov ch, 0x9b
pop es
xor esi, dword [ebx]
invalid
xor eax, edi
daa
xchg esi, ecx
rcr dword [ebx], 0x7a
int1
les esi, [esi]
pop esi
xchg ah, bh
push edx
scasb al, byte es:[edi]
jb 0x496525
push edi
pop eax
add esp, ebp
mov dword [0x1510dcff], eax
stosb byte es:[edi], al
inc esi
xor byte [ebx], bh
test al, 0xcc
xchg esi, eax
cmpsd dword [esi], dword es:[edi]
adc byte [ecx], al
jl 0x496566
add dword [ebp + edi*2 + 0x35], edi
xchg esi, eax
xor byte [edi + 0x7d55bdb1], 0x35
adc ecx, ebx
jae 0x4964d6
xor eax, 0xb1b78096
mov ebp, 0x11357d55
fnstenv [ebx - 0x20]
jae 0x496515
invalid
out 0xa2, eax
inc eax
pop ss
in eax, dx
inc esp
out 0x75, al
jae 0x4964e6
add dword [esi - 0x5b9ef82f], edx
push es
mov bl, 0xf6
pop es
rcl al, 0x6a
pop ebp
insd dword es:[edi], dx
test dword [ebx - 0x538d1aa4], 0xd4ae945a
popal
lodsb al, byte [esi]
pop edx
xchg esp, eax
scasb al, byte es:[edi]
aam 0x61
popfd
push cs
jecxz 0x496505
xor dword [edi], esp
jnp 0x496547
adc al, 0xe7
fidiv word [ecx - 0x5b33597c]
cmp bh, byte [eax - 0x52]
jmp 0x1d87dba7
lcall 0x15d6, 0xb5eb1536
xlatb
or al, 0x32
xor eax, 0x58486930
dec ecx
fdivr qword [edx]
imul ebp, eax, 0xffffff98
sub byte [ebp - 0x74], ah
or ah, byte [edx + 0x2b070b69]
and dword [ebx], esp
and dword [edi - 0x5d5090b0], 0x3f63ad8f
and eax, dword [ecx - 0x5090af59]
mov byte [0x3f63ad8f], al
and dword [ebx + 0x68], 0x63
dec esp
mov dh, 0xaf
out 0xaf, eax
scasb al, byte es:[di]
mov word [edi - 0x7d3f72fd], ds
add edi, dword [edi + 0x632c9e52]
xchg edi, eax
xchg edx, eax
outsd dx, dword [esi]
adc dword [eax + 0x83b80c], ebx
jae 0x4965f5
sbb al, ch
out dx, eax
jae 0x4965fd
mov edi, 0xae6e8282
dec ebp
invalid
sub ecx, dword [ebx]
cwde
invalid
pop es