Function at 0x63bec8
Capabilities:
Encode data using xor

Disassembly:
push ecx
push dword [esp + 2]
mov dword [esp], eax
lea esp, [esp + 7]
pushal
push dword [esp + 0xe]
push ax
mov byte [esp + 0x13], ch
pop word [esp + 0x1d]
push dword [esp + 0xa]
jae 0x637e53
jb 0x637e53
sti
push esi
ret 0xffa
call fcn.00637daa
mov esi, 0xd76b22be
invalid
call 0x637dd5
dec ebx
inc ebp
push edx
dec esi
inc ebp
dec esp
xor esi, dword [edx]
insb byte es:[edi], dx
insb byte es:[edi], dx
add bh, bh
nop
sub esp, dword [edi - 0x48852eb9]
jnp 0x637d94
sub ecx, 0x637db4
mov dword [ecx + 0x637e7a], eax
jae 0x637e06
jb 0x637e06
or ebx, dword [esi + 0xfa66b0c]
push eax
retf 0x3f58
mov dword [ecx + 0x637e7f], 0x82444ff
mov word [ecx + 0x637e83], 0xc39d
movzx ebx, byte [eax]
add ebx, 0x44dd580f
js 0x637f5d
jns 0x637f5d
call 0x637e33
pop eax
sub eax, 0xd15d4850
jae 0x637dc3
jb 0x637dc3
mov dword [esp + 0x24], eax
popal
jno 0x637ede
jo 0x637ede
jo 0x637e6b
or bl, byte [ecx + ecx*4 + 0x7c]
and al, 0x16
mov dword [esp + 0x16], edi
lea esp, [esp + 0x25]
lea esp, [esp]
pushfd
lea esp, [esp + 5]
push word [esp + 2]
pushal
pop dword [esp + 0xa]
and al, 0xa
lea esp, [esp + 5]
mov dword [esp + 6], edx
lea esp, [esp + 0x1c]
push 0x45dc7e6f
pushfd
add dword [esp + 4], 0x77653fe2
push di
push word [esp + 1]
mov dword [esp], esp
push bp
mov dword [esp], edx
pushfd
push word [esp + 1]
push dword [esp + 9]
push dword [esp + 0xb]
pop dword [esp]
mov word [esp + 4], bx
pushfd
pop word [esp + 3]
pop word [esp + 2]
lea esp, [esp + 6]
pop word [esp + 3]
pop dword [esp]
mov dword [esp], esi
lea esp, [esp + 3]
mov byte [esp], ah
lea esp, [esp + 1]
pushal
jg 0x637e2e
jle 0x637e2e
inc dword [esp + 8]
pushfd
mov word [esp + 1], si
push dword [esp + 2]
push word [esp + 3]
pop word [esp + 2]
je 0x637f92
jne 0x637f92
xor cl, cl
cmp ebx, 0x44dd58db
je 0x637fc1
jne 0x637e3e
mov word [esp], ax
lea esp, [esp]
lea esp, [esp + 2]
lea esp, [esp]
mov byte [esp], al
mov byte [esp], bh
lea esp, [esp + 1]
jp 0x637fd3
jnp 0x637fd3
push ecx
iretd
lea esp, [esp]
pop word [esp + 1]
mov dword [esp], esi
lea esp, [esp + 1]
mov byte [esp + 3], dh
lea esp, [esp + 2]
mov byte [esp + 1], ah
push word [esp + 2]
lea esp, [esp + 4]
mov byte [esp], al
mov byte [esp], bh
push esp
pop word [esp]
push word [esp]
mov byte [esp + 2], bh
lea esp, [esp + 1]
lea esp, [esp + 4]
popfd
ret
push 0x807076d
pushfd
add dword [esp + 4], 0x1e197fb7
pushfd
pop word [esp]
mov word [esp], sp
lea esp, [esp]
mov byte [esp], dl
jmp 0x63bb5b
mov word [esp], di
pushfd
pop word [esp]
pop word [esp]
mov word [esp], cx
mov byte [esp], ch
lea esp, [esp + 1]
mov byte [esp], dh
lea esp, [esp]
push ax
push cx
push word [esp]
push word [esp + 6]
lea esp, [esp + 1]
lea esp, [esp + 8]
pushal
js 0x63b436
jns 0x63b436
mov word [ecx + 0x63bc74], 0xc39d
movzx ebx, byte [eax]
jg 0x63be32
jle 0x63be32
pcmpeqw mm0, qword [edi + edi*4 + 0x24244489]
mov dword [esp + 0x24], eax
popal
inc dword [esp + 8]
pushal
js 0x63bc41
jns 0x63bc41
pop ecx
iretd
mov byte [esp], ah
pop dword [esp + 3]
mov word [esp + 6], dx
push word [esp + 0xb]
mov word [esp + 0xf], sp
jge 0x63be7d
jmp 0x63be7d
add ebx, 0x2af33617
cmp ebx, 0x2af336e3
je 0x63be9c
jne 0x63bbb7
lea ebp, [ebx + ebx]
mov bp, 0x4184
mov ebp, dword [esp]
lea ebp, [edx + 0x1465]
mov bp, word [esp]
bswap ebp
bswap bp
pushfd
mov dword [esp + 3], ecx
mov ch, dl
not ch
not ch
setb ch
jo 0x63bfaf
jno 0x63bfaf
or byte [ebp + 6], 0x89
je 0x63bea4
mov dword [esp + 0xb], esi
pop dword [esp + 8]
mov word [esp + 3], sp
or ecx, dword [edi + 0x66082444]
mov dword [esp + 3], esp
push word [esp + 5]
lea esp, [esp + 0x17]
push dword [esp + 1]
pop dword [esp]
mov word [esp + 1], dx
push esp
and al, 1
push si
mov dword [esp], ebx
pop word [esp]
push dword [esp + 3]
lea esp, [esp + 6]
lea esp, [esp + 3]
popfd
ret
call 0x63bec8
dec ebx
inc ebp
push edx
dec esi
inc ebp
dec esp
xor esi, dword [edx]
insb byte es:[edi], dx
insb byte es:[edi], dx
add bh, bh
nop
inc esi
mov edi, 0x5e72f1d0
jae 0x63bf2e
call 0x63bed7
jl 0x63bf10
jmp 0x63bf10
call 0x63bee8
pop eax
sub eax, 0xf1e6a120
jle 0x63beb6
jg 0x63beb6
push ss
mov ds, word [ebx + edi*2]
xchg esi, eax
and esi, ebp
dec esp
push ebx
pop dword [esp]
mov word [esp], cx
mov ebp, dword [esp + 0x2c]
lea esp, [esp + 0x40]
pushal
jne 0x63bee3
je 0x63bee3
pop ecx
sub ecx, 0x63bed7
mov dword [ecx + 0x63bdfa], eax
jle 0x63bf51
jg 0x63bf51
push ebx
retf 0x3f58
call 0x63bf47
pop esp
mov esi, 0x782281e7
js 0x63bf71
scasb al, byte es:[edi]
inc esp
mov dl, 0xd2
and edx, ebx
push eax
outsb dx, byte [esi]
ja 0x63bf89
fist dword [eax - 0x18]
jmp 0x63bf5e
mov dword [ecx + 0x63bdff], 0x82444ff
mov word [ecx + 0x63be03], 0xc39d
add edi, dword [esi - 0x3c62ff9d]
movzx ebx, byte [eax]
jg 0x63ee7c
jle 0x63ee7c
add byte [eax], al
invalid
xchg byte [esp], ch
bswap ebp
mov ebp, 0x51ae1c26
xchg byte [esp], ch
mov ecx, dword [esp + 0x1b]
not ebp
lea ebp, [esp + edi]
lea ebp, [ebx + edi]
mov ebp, dword [esp]
not ebp
push esp
push dword [esp + 3]
lea ebp, [esp + 0x4bab]
jne 0x63befc
jmp 0x63befc
mov ch, byte [esp]
not cx
mov cl, byte [esp]
mov ebp, dword [esp]
push edx
mov cx, word [esp]
mov dl, byte [esp]
lea ebp, [ecx + edi]
lea ebp, [esp + edi]
pushal
not cl
not ch
mov ch, al
call 0x10882461
mov edx, dword [esp + 0x10]
mov ebp, dword [esp]
mov bp, bx
pushfd
push word [esp + 1]
pop word [esp]
mov ebp, 0x2eb255f6
mov ch, 0xda
jnp 0x63bf77
jmp 0x63bf77
add ebx, 0x20127472
cmp ebx, 0x2012753e
je 0x63eee6
jne 0x63fcda
invalid
dec ebp
mov al, byte [0x97f062ef]
bound eax, qword [ecx - 0x2746d647]
sub ecx, ebx
scasb al, byte es:[edi]
inc ebx
sal dword [esi - 0x66f455bb], cl
or dword [eax - 0x65], ebp
jne 0x63eed6
jp 0x63ef11
in al, dx
sbb eax, 0x97f062f4
invalid
push cs
leave
push ecx
shl dword [eax - 0x3ea71fad], 0x51
mov al, byte [0xc158e053]
push ecx
xor bl, al
push 0x593ea830
test al, 0x1f
in eax, dx
je 0x63ef0d
lea edi, [ebx + edi*8 + 0x74]
ljmp 0xc141
mov dword [esp + 0x24], eax
popal
inc dword [esp + 8]
push ecx
mov dword [esp], eax
mov dword [esp], esp
mov byte [esp + 2], ah
lea esp, [esp + 4]
popfd
ret