Function at 0x63afc0
Capabilities:
Encode data using xor

Disassembly:
call 0x63aab2
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
pop esp
mov edi, 0x2479c43e
js 0x63aade
call 0x63aac1
pop eax
jae 0x63abce
jb 0x63abce
call 0x63aad3
pop eax
sub eax, 0xc4548d21
jg 0x63aaa0
jle 0x63aaa0
call 0x63aaf8
sbb esi, dword [edx + 0x25]
pop ebx
inc ebx
pop eax
xchg ecx, eax
sub ah, byte [esi + 0x3f82d5ed]
and cl, byte [ebp - 0x62]
dec ebp
enter 0x5074, 0x79
mov byte [eax - 0x7a], bh
call 0x63ab02
jge 0x63abad
jl 0x63abad
pushal
lea esp, [esp + 0x20]
push 0x491958f4
pushfd
add dword [esp + 4], 0x52516a1b
push ebx
lea esp, [esp + 4]
pushal
jo 0x63aace
jno 0x63aace
add dword [esp], 6
jae 0x63aabc
jmp 0x63aabc
add dword [esp + 8], 1
pushal
jb 0x63ae67
jae 0x63ae67
xchg ebx, eax
xor esi, eax
call fcn.0063ab5c
add byte [eax], al
add byte [eax], al
mov esi, dword [0x604c66a6]
lea esp, [esp - 4]
ret
pop ecx
sub ecx, 0x63ab02
mov byte [ecx + 0x63ab19], 0xe9
jmp 0x63ae93
sub eax, 0x63aac1
add eax, 0x6d0a5bd7
pop ebx
mov dword [ebx], eax
add dword [ebx], 0x93594f76
mov ebx, dword [ebx]
pop dword [ebx]
jbe 0x63aafd
ja 0x63aafd
sub ebp, dword [ebp + 0x5bb7443d]
or eax, 0xe8
add byte [ecx - 0x7f], bl
jmp 0xc75807
xor dword [ecx], 0xc70063aa
xor dword [esi], 0xff0063aa
inc esp
and al, 8
call 0x63ac6c
pop eax
jnp 0x63b24b
jp 0x63b24b
pop ebp
pop esp
js 0x63ac08
lea esp, [esp + 4]
popfd
lea esp, [esp + 4]
push dword [esp]
lea esp, [esp + 8]
jne 0x63ab51
je 0x63ab51
lea esp, [esp + 1]
lea esp, [esp + 0x20]
pushal
jo 0x63ac67
jno 0x63ac67
and ebp, dword [edx - 0x3ea94bbb]
push ebx
ret
mov bx, word [esp]
popal
pushfd
pushal
lea esp, [esp + 0x21]
mov word [esp], dx
lea esp, [esp]
mov byte [esp + 1], ch
push si
lea esp, [esp + 1]
js 0x63adbc
jns 0x63adbc
cmpsd dword [esi], dword es:[edi]
pop edx
leave
sbb al, bh
sbb dword [edx], 0x150063ab
add byte [eax], al
add byte [ecx + 0xf], ah
or dword [edi + 0xffffffc], 0xffffff82
mov esp, edi
invalid
mov dword [ecx + 0x63ab1a], 0x15
popal
jae 0x63ab33
jb 0x63ab33
mov dword [ecx + 0x63ad3f], eax
mov dword [ecx + 0x63ae2b], 0x82444ff
jp 0x63af06
jnp 0x63af06
lodsd eax, dword [esi]
lodsb al, byte ds:[esi]
retf
mov word [ecx + 0x63ae2f], 0xc39d
movzx ebx, byte [eax]
add ebx, 0x306053f0
cmp ebx, 0x306054bc
jb 0x63b03d
jae 0x63b03d
cmp edi, dword [eax - 0x2e]
add esp, dword [eax - 0x18]
or eax, 0x4b000000
call 0x63af41
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
or edx, esp
and cl, byte [ecx - 0x33746715]
mov ecx, esp
xchg dl, ch
mov ecx, dword [esp]
mov dh, byte [esp]
not ecx
jno 0x63b07e
jo 0x63b07e
sub eax, ebp
not byte [ebx - 0x73]
adc al, 0x38
lea edx, [eax + edi]
mov dh, byte [esp]
mov dh, byte [esp]
bswap dx
push ecx
mov ecx, esp
jge 0x63af49
jl 0x63af49
mov dword [eax], ebx
mov gs, ecx
sbb cl, ch
sbb eax, 0x8293c640
push word [esp]
jmp 0x40819899
push word [esp]
pop word [esp + 4]
mov dword [esp + 3], esi
mov dword [esp + 1], edx
mov dx, word [esp]
setne dh
xchg dl, dh
mov dh, 0xe5
mov dh, byte [esp]
mov dh, byte [esp]
bswap edx
mov edx, 0x6a136eb
jge 0x63af66
jl 0x63af66
adc byte [edx + ecx*4], 0xed
sbb al, 0xa9
lahf
and al, 0x69
or eax, 0x50662df7
push ax
mov byte [esp], bh
pushfd
push dword [esp + 3]
push word [esp + 1]
mov dword [esp + 6], ebx
push dword [esp + 0xa]
push bx
mov dword [esp + 0xa], ebx
mov dword [esp + 8], esp
mov byte [esp + 8], ch
pop dword [esp + 9]
pushfd
pop word [esp + 0xd]
mov byte [esp + 1], ch
push word [esp + 0xd]
push word [esp + 3]
mov dword [esp + 6], ecx
lea esp, [esp + 0x14]
push 0x62e42428
pushfd
add dword [esp + 4], 0x6d26aa3
pushfd
mov byte [esp + 2], al
mov word [esp], ax
push ebx
pop dword [esp]
push word [esp + 2]
push word [esp + 2]
mov word [esp + 2], bp
jne 0x63af85
je 0x63af85
pop esp
inc esi
je 0x63af7c
jne 0x63b0a7
xchg ecx, edx
mov edx, 0xc1c6bf4
mov dh, bh
mov dx, si
jns 0x63b225
js 0x63b225
push ecx
inc edi
rol dh, cl
lds ebp, [edx]
mov ch, 0x2a
mov dh, byte [esp]
setl ch
xchg dl, ch
xchg cl, dl
jg 0x63b045
jle 0x63b045
iretd
mov cx, word [esp]
xchg dl, dh
push cx
mov cx, word [esp + 1]
lea esp, [esp]
mov cx, dx
lea esp, [esp + 2]
push ebp
jno 0x63b061
jo 0x63b061
test dword [edi], edx
xchg edx, esp
adc dword [eax + 0x1176e075], ebp
loopne 0x63b0ef
or dword [ecx + 0x61242444], 0xffffffff
inc esp
and al, 8
mov dword [esp + 0x24], eax
popal
inc dword [esp + 8]
pushfd
push dword [esp + 1]
push word [esp + 6]
mov dword [esp + 2], esp
pop dword [esp]
mov word [esp + 3], di
pop word [esp]
push eax
push dword [esp]
push dword [esp + 9]
push edx
lea esp, [esp + 3]
mov byte [esp + 2], dh
pushal
pop word [esp + 0x28]
mov byte [esp + 0x10], bh
mov dword [esp + 0x20], esp
lea esp, [esp + 3]
lea esp, [esp + 0x2c]
and al, 0x2c
popfd
ret
sub eax, 0xca95612b
jo 0x63b1df
jno 0x63b1df
call 0x63b10a
pop ecx
jo 0x63b25d
jno 0x63b25d
in eax, 0x24
call 0x63b11e
pop eax
jp 0x63b0f3
jnp 0x63b0f3
movsb byte es:[edi], byte ds:[esi]
cmp bl, byte [ebp - 0x54]
sbb eax, 0x8b66e013
or al, 0x24
mov cx, word [esp]
mov ebp, ebx
mov bp, 0x44b3
mov ch, byte [esp]
bswap ebp
setle ch
xchg bp, cx
mov dl, byte [esp]
xchg bp, cx
mov edx, ebp
setbe ch
bswap ecx
lea ebp, [esp + eax]
mov cl, bh
setae dl
pop ebp
bswap dx
push edx
mov cl, dh
bswap cx
lea ecx, [ecx + ebp]
not edx
push word [esp + 3]
mov cx, sp
mov ecx, dword [esp + 3]
xchg ch, dh
lea esp, [esp + 2]
mov ecx, dword [esp + 4]
not dx
mov dx, 0xa04
mov edx, dword [esp]
bswap dx
lea edx, [ecx + edx]
push ecx
mov dl, 0x4b
mov edx, 0x6ac6701a
mov edx, dword [esp + 0xd]
lea esp, [esp + 0x14]
pushal
jns 0x63b119
js 0x63b119
call 0x63b1c5
sbb esi, dword [edx + 0x25]
pop ebx
inc ebx
pop eax
xchg ecx, eax
sub ah, byte [esi + 0x3f82d5ed]
and ah, byte [edi + 0x73]
xchg esp, eax
push eax
je 0x63b1fb
jne 0x63b1fb
mov dword [esp + 0x24], eax
popal
jmp 0x63b418
call 0x63b1f1
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
sbb ecx, dword [ebp - 0x4d8c3581]
jb 0x63b1ab
call fcn.004ed338
je 0x63b105
jne 0x63b105
call 0x63b211
pop eax
sub eax, 0xff1cb0f5
jmp 0x63b44d
sete dh
mov ecx, 0x6c067a07
lea ebp, [edx + ebx]
setle ch
xchg ebp, ecx
mov dh, 0x22
mov ch, al
jns 0x63b12b
js 0x63b12b
push ecx
adc al, 0x1d
mov ecx, 0xa369e881
cmp byte [ecx - 0x32776f1], cl
invalid
sub eax, 0x8938a369
jns 0x63af2f
js 0x63af2f
sub ecx, 0x63b10a
mov dword [ecx + 0x63b006], eax
mov dword [ecx + 0x63b00b], 0x82444ff
mov word [ecx + 0x63b00f], 0xc39d
movzx ebx, byte [eax]
jae 0x63b7ce
jb 0x63b7ce
stosb byte es:[edi], al
mov dh, 0x68
xchg byte [ecx + 0x24448766], al
add dword [edi + 0x74ff2404], eax
and al, 1
call 0x63b45f
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
fild dword [esi]
dec dword [edi]
mov byte [ebx + eax], cl
add byte [eax], al
jns 0x63b777
test eax, 0x896001f9
push esp
and al, 0x18
pop dword [esp + 3]
pushal
mov byte [esp + 0x11], ch
pop dword [esp + 0x2e]
lea esp, [esp + 0x38]
push 0x39f5590f
pushfd
add dword [esp + 4], 0x52a3650
push edx
mov word [esp], cx
mov word [esp], cx
push word [esp + 1]
push word [esp + 1]
pushfd
lea esp, [esp + 0xc]
pushal
jno 0x63b20c
jmp 0x63b20c
call 0x63b792
daa
sub byte ss:[0x3e31d317], 0x4f
std
sub cl, byte [ebp - 0x4241dd10]
sbb esp, dword [esp + edi*8 + 0xd]
mov ecx, 0xa0e850cb
sbb ebp, ebx
dec dword [edi]
invalid
add ebx, 0x7c6413f8
cmp ebx, 0x7c6414c4
je 0x63b838
jne 0x63b1ca
push word [esp]
mov word [esp + 3], cx
pop word [esp]
mov word [esp + 1], bp
mov word [esp + 1], sp
mov dword [esp], ebx
lea ebx, [0x38115edf]
mov bx, word [esp]
jmp 0x63b89f
mov dword [esp + 0x24], eax
popal
inc dword [esp + 8]
pushfd
mov byte [esp], bl
mov byte [esp + 1], cl
pushfd
mov word [esp + 1], bx
pop dword [esp]
jne 0x63b7e2
je 0x63b7e2
cmp dword [edi + 0x6bb14227], esi
mov cl, 0x6b
xor byte [edi + 0x28b94a2f], bh
mov ebp, eax
add byte [eax], al
add byte [eax], al
pop ecx
sub ecx, 0x63b846
mov dword [ecx + 0x63b75b], eax
mov dword [ecx + 0x63b760], 0x82444ff
mov word [ecx + 0x63b764], 0xc39d
jns 0x63ba7d
js 0x63ba7d
mov dx, word [esp]
not esi
mov bl, byte [esp]
setle bh
mov dh, byte [esp]
mov dx, word [esp]
mov esi, ecx
mov dl, byte [esp]
mov dh, 0xc7
xchg dh, bl
jae 0x63bb34
jb 0x63bb34
rol dword [ebx], cl
dec edx
and eax, 0x598dd3f7
mov dword [0x241c8b66], eax
not ebx
lea ebx, [ecx - 0x5d]
mov bx, word [esp]
lea ebx, [eax*4]
mov bx, word [esp]
mov bx, 0x2edb
lea ebx, [esi + edi]
push edx
lea ebx, [eax + ecx]
xchg bl, dh
lea edx, [0xbc0039b]
lea edx, [ebp + 0xe9]
bswap edx
mov bx, si
push esi
xchg si, bx
mov dl, ah
mov edx, eax
jle 0x63b872
jg 0x63b872
invalid
movzx ebx, byte [eax]
add ebx, 0x66d51887
cmp ebx, 0x66d51953
je 0x63baea
jne 0x63b816
call 0x63ba99
pop ecx
sub ecx, 0x63ba99
jle 0x63bbcf
jg 0x63bbcf
mov edx, ebp
lea ebx, [edx*4]
mov edx, dword [esp + 8]
setl bl
mov ebx, dword [esp]
mov bh, byte [esp]
bswap bx
lea ebx, [edx + edi]
push ebp
mov ebx, dword [esp + 0x10]
lea esp, [esp + 0x14]
popfd
ret
js 0x63baed
add byte [eax], al
add bl, ch
jle 0x63bb24
jmp 0x63bb6e
lea esi, [eax + esi]
lea ebx, [ebx*4]
lea ebx, [ecx + edx]
mov ebx, 0x46715f6c
lea edx, [edi*4]
pushfd
xchg bx, si
setle bh
xchg dword [esp], ebx
mov esi, dword [esp + 4]
mov edx, 0x17af3bbc
not dx
lea edx, [ecx + edi]
jns 0x63baac
cmp dword [ecx - 0x7b], edi
js 0x63baac
outsb dx, byte [esi]
cld
xchg edx, eax
cmc
add al, 0xe6
dec ebx
add eax, 0x6672cde4
mov edx, 0xf58a6d5a
mov dx, 0x6d5a
mov dh, ch
setl dh
push di
lea esi, [ebp + 0x21175f3e]
setns dh
lea esp, [esp + 2]
jno 0x63baf1
jo 0x63baf1
xchg dword [edx + ecx*4], edx
in eax, dx
sbb al, 0xf5
idiv byte fs:[ebx]
lodsb al, byte [esi]
and al, 0x8d
and al, 1
invalid
mov dword [ecx + 0x63bc6b], eax
mov dword [ecx + 0x63bc70], 0x82444ff
jne 0x63bb9b
je 0x63bb9b
cmp eax, 0xb44522ac
inc ebp
stosb byte es:[edi], al
loope 0x63bb93
vmovlps xmm0, xmm2, qword [eax]
add byte [eax], al
inc esp
daa
add dword [edi], edi
in al, 0x2b
inc eax
sub byte [edx - 0x22], 0xb1
xor ah, byte [ecx - 0x22]
xor al, 4
int3