Function at 0x6367a2
Capabilities:
Encode data using xor

Disassembly:
call 0x636552
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
cmp dl, dl
adc dh, byte [ecx + 0x3e7b407a]
lahf
add al, 0x9a
std
or al, 0xa5
jle 0x63654a
je 0x636579
out dx, al
pop ecx
stosd dword es:[edi], eax
movsd dword es:[edi], dword [esi]
clc
call 0x636570
pop eax
sub eax, 0xb1285a9a
jae 0x636540
jb 0x636540
mov dword [ecx + 0x6366ac], 0x82444ff
add bh, bh
inc esp
and al, 8
mov word [ecx + 0x6366b0], 0xc39d
jg 0x636724
jle 0x636724
call fcn.006365b6
push esp
jnp 0x636580
mov dword [0x2988cd8b], eax
retf
push word [esp + 1]
mov byte [esp + 1], dl
mov byte [esp + 2], al
mov dword [esp], esi
pushal
lea esp, [esp + 0xf]
pop word [esp + 9]
mov byte [esp + 2], bh
push dword [esp + 4]
push ebx
add bh, bh
je 0x636606
add al, 0x53
ja 0x63676e
jbe 0x63676e
sub al, 0x38
mov dword [esp + 0x24], eax
popal
inc dword [esp + 8]
push bp
jb 0x6365c1
jae 0x6365c1
xchg edx, eax
or dword [ecx - 0x571f408], ebx
cli
popfd
insb byte es:[edi], dx
jmp 0x6365de
invalid
lea eax, [esi + ebp]
mov si, 0x1f
lea esi, [esi*4]
mov ecx, ebx
setae ch
mov ax, 0x30dd
lea esi, [0x759b7ef8]
mov ch, byte [esp]
not si
setnp ch
xchg ch, cl
push ax
lea eax, [ecx*4]
push esp
mov cx, 0x4c5d
mov esi, 0x2a6816a6
pushal
pop eax
lea esp, [esp + 2]
mov eax, dword [esp + 0x20]
lea esi, [esi*4]
mov cx, word [esp]
bswap ecx
lea esi, [0x42623a1f]
mov esi, dword [esp]
pushfd
xchg dword [esp], esi
lea esp, [esp + 2]
lea esp, [esp + 2]
mov esi, dword [esp + 0x24]
mov cl, byte [esp]
lea ecx, [edx + ebp]
lea ecx, [esi + esi]
mov ecx, 0x1ea70919
mov ecx, dword [esp]
mov cx, 0x7fcc
mov cx, word [esp]
mov ch, 0x4f
lea ecx, [esi + edi]
mov ecx, dword [esp + 0x29]
lea esp, [esp + 0x30]
push 0x728b43b2
pushfd
add dword [esp + 4], 0x15692d30
pushal
push dword [esp + 0x15]
push dword [esp + 0x20]
lea esp, [esp + 7]
mov word [esp + 0x1c], bx
lea esp, [esp + 4]
mov dword [esp + 0x15], eax
pushal
push ebx
pop dword [esp + 0xa]
pop dword [esp + 0xb]
push word [esp + 9]
pop dword [esp + 0x2e]
lea esp, [esp + 0x36]
lea esp, [esp]
lea esp, [esp + 1]
pushal
jmp 0x63656b
movzx ebx, byte [eax]
add ebx, 0x4ec94cc4
cmp ebx, 0x4ec94d90
je 0x636791
jne 0x6365f2
pop dword [esp]
pop word [esp]
mov byte [esp], cl
mov word [esp], bx
push word [esp]
push word [esp + 2]
mov byte [esp + 4], al
push dword [esp]
push dword [esp + 6]
jmp 0x6368eb
push word [esp + 0x13]
lea esp, [esp + 0x17]
push word [esp + 5]
push word [esp + 2]
lea esp, [esp + 2]
lea esp, [esp + 8]
popfd
ret
push esp
push edx
mov dword [esp], ebx
push dword [esp + 3]
pop word [esp + 5]
lea esp, [esp + 2]
mov dword [esp + 1], ecx
not ch
mov ecx, dword [esp]
lea ecx, [ecx + edx]
xchg cl, ch
setb cl
xchg cl, ch
lea ecx, [eax + ecx]
lea ecx, [edx + ebp]
push esi
mov cl, byte [esp]
lea esi, [ebx + 0x30533050]
bswap esi
push ecx
xchg ecx, esi
mov ecx, dword [esp]
pop si
not esi
lea esp, [esp + 2]
push eax
mov ax, 0x2936
mov esi, dword [esp]
mov eax, 0xfe0e50
mov al, byte [esp]
jb 0x63660e
jae 0x63660e
int1
adc ch, byte [esi + 0x11]
lea esp, [esp + 2]
lea esp, [esp + 0xc]
push 0x25aa1f50
pushfd
add dword [esp + 4], 0x383865e2
pushal
xchg di, ax
mov ecx, dword [esp]
mov bl, 0x8c
mov al, 0x16
xchg cl, al
lea ebx, [ecx + edi]
setae bl
mov si, dx
bswap di
setge cl
lea esi, [edx + ebx]
mov ecx, dword [esp]
push bx
bswap ax
bswap ax
mov edx, dword [esp]
mov si, 0x2686
lea esp, [esp + 2]
popal
push edi
mov dword [esp], edi
mov byte [esp + 1], bh
mov word [esp + 1], bp
lea esp, [esp]
mov byte [esp + 1], al
lea esp, [esp + 2]
mov word [esp], sp
mov word [esp], si
pushal
pop dword [esp + 0x14]
mov byte [esp + 4], al
lea esp, [esp + 2]
lea esp, [esp + 0x1c]