Function at 0x440220
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x44
mov dword [esp + 0x30], 0x2396219e
mov dword [esp + 0x34], 0x279a2580
mov dword [esp + 0x38], 0x3b443984
mov dword [esp + 0x3c], 0x3f823d98
mov dword [esp + 0x40], 0x3332318c
mov eax, 0xf14cae88
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + eax + 0xeb351a8]
lea edx, [eax + 0xeb35200]
and edx, eax
and edx, esi
mov edi, edx
and edi, 2
mov ebx, edx
or ebx, 0xfffffffd
inc ebx
mov ecx, edx
and ecx, 0xffffffbd
imul ecx, ebx
or edx, 2
imul edx, edi
add ecx, esi
sub ecx, edx
add ecx, eax
mov esi, ecx
xor esi, 0xb67f68a8
mov edx, ecx
or edx, 0x49809757
and edx, esi
mov esi, edx
and esi, 0xfffffffd
mov edi, ecx
and edi, 2
or edx, 2
imul edx, edi
xor edi, 2
imul edi, esi
add edx, edi
xor ecx, 0x49809757
mov esi, edx
and esi, ecx
xor ecx, edx
lea ecx, [ecx + esi*2]
inc cl
mov byte [esp + eax + 0xeb351a8], cl
inc eax
cmp eax, 0xf14cae9c
jne 0x440260
lea eax, [esp + 0x30]
push eax
call fcn.00442dc0
add esp, 4
mov dword [0x457548], eax
mov dword [esp + 0x28], 0x9a12e344
test eax, eax
je 0x440301
mov dword [esp + 0x28], 0x4351eba9
mov edi, 0x3434af6f
xor eax, eax
cmp edi, 0xc39eedf
setl al
mov eax, dword [eax*4 + 0x44d4cc]
mov ecx, 0x247ba674
xor ecx, dword [0x44d4d4]
add eax, ecx
inc eax
jmp eax
jo 0x4595c4
xchg byte [esi], dh
pushfd
mov dl, 0x36
enter 0xffffffffffffde36, 0x36
hlt
dec esi
xor al, 0x5a
xor al, 0x8b
xor al, 0xda
xor al, 0xf1
xor al, 0xf7
xor al, 6
xor eax, 0x3532351c
xor eax, 0x35483532
dec esi
xor eax, 0x35793563
invalid
aaa
push 0x37
jo 0x45964f
aaa
test dword [edi], esi
wait
aaa
mov eax, dword [0xbc37b637]
aaa
sal dword [edi], 1
out 0x37, eax
std
aaa
add edi, dword [eax]
sbb byte [eax], bh
cmp byte cs:[eax + edi + 0x4a], al
cmp byte [edi + 0x38], bl
jne 0x45966e
jnp 0x459670
nop
cmp byte [esi - 0x4ec754c8], dl
cmp dh, al
cmp cl, bl
cmp bh, ch
cmp byte [0x20390b39], al
cmp dword [esi], esi
cmp dword [ecx + edi + 0x52], ecx
cmp dword [edi + 0x39], esp
jge 0x45968f
cmp dword [edx + 0x39], edx
cmp dword [di + 0x39], edi
xchg ebx, eax
cmp dword [ecx - 0x4bc651c7], ebx
mov ah, 0x39
ret
cmp ecx, ecx
cmp eax, ebx
cmp esi, ebx
cmp ebp, ebp
cmp ebx, esi
cmp dword [eax], ecx
cmp cl, byte [esi]
cmp ah, byte [ebx]
cmp ch, byte [ecx]
cmp bh, byte [esi]
cmp al, byte [edx + edi + 0x59]
and edi, dword [edx]
sub dword [edx], edi
cmp al, byte ds:[edx + edi + 0x59]
cmp bl, byte [edi + 0x3a]
je 0x4596b6
jp 0x4596b8
invalid
or al, 0x3f
and al, 0x3f
xor bh, byte [edi]
jl 0x4596d7
cmpsb byte [esi], byte es:[edi]
aas
loope 0x4596db
add byte [eax + 0x800003], dl
add byte [eax], al
or byte [eax], dh
xor dh, byte [eax]
xor byte [bx + di - 0x3dd0], bl
xor bl, dh
xor byte [esi], ch
xor dword [ebp + 0x31], ebx
out dx, al
xor edx, edi
cli
xor dword [ecx], ebx
xor bl, byte [edi - 0x7cd37ce]
sbb dword [edx], esi
lahf
xor cl, al
xor bh, al
xor bl, byte [edx]
xor eax, dword [ecx + 0x33]
inc ecx
xor ebp, dword [eax + 0x33]
invalid
xor edi, dword [ecx + 0x433e033]
xor al, 0x32
xor al, 0x66
xor al, 0x87
xor al, 0x9f
xor al, 0xc6
xor al, 0xed
xor al, 0x7a
xor eax, 0x35a53583
stc
xor eax, 0x365f362c
pop edi
xor dword ss:[esi], 0xffffffb1
fidiv word ss:[esi]
or al, 0x37
inc ebp
aaa
push esp
aaa
test eax, 0xe937c637
aaa
or edi, dword [eax]
cmp dword [eax], edi
cmp byte [di - 0x30c8], dl
cmp cl, bh
cmp byte [ecx], ch
cmp dword [ebx + 0x39], edx
jp 0x459743
pushfd
cmp edx, eax
cmp eax, esp
cmp dword [ecx - 0x5c538c6], ebx
cmp dh, byte [ecx]
cmp ebx, dword [edi + 0x3b]
stosd dword es:[edi], eax
cmp eax, dword [eax]
mov al, byte [0x2c0003]
add byte [eax], al
and al, 0x32
xor byte [edx], dh
push edx
xor ah, bh
xor ah, byte [ebx]
xor esi, dword [eax - 0x24cc46cd]
xor ebp, dword [edi]
xor al, 0x5b
cmp dh, cl
cmp eax, 0x3e203dfb
fnstsw word [esi]
in al, dx
adc eax, 0xf23fe93f
aas
add byte [eax + 0xcc0003], dh
add byte [eax], al
adc eax, 0x19307030
xor dword [ecx + esi], ebp
inc esi
xor dword [eax - 0x70ce76cf], eax
xor dword [ebx + 0x44321a31], ebx
xor bl, byte [edx + esi + 0x68]
xor cl, bh
xor bh, byte [edi + 0x33]
movsb byte es:[edi], byte [esi]
xor ecx, edx
xor ebp, edi
xor edi, esi
xor esi, dword [eax + 0x30352134]
xor eax, 0x357d355e
xor byte [0x35a83598], 0xc6
xor eax, 0x360735e4
xor byte [esi], dh
dec eax
pop edx
imul esi, dword ss:[esi], 0x70
jecxz case.0x43b82a.155
aas
jmp 0x858988
add byte [edi], dh
pop ss
aaa
aaa
jp 0x4597d7
retf
loopne 0x45980d
jmp 0x45980f
sub eax, 0x433e383e
pop ecx
outsd dx, dword ds:[esi]
jp 0x459824
test dword [esi], edi
wait
cmpsb byte ds:[esi], byte es:[edi]
mov cl, 0x3e
invalid
aas
iretd
aas
in eax, 0x3f
sti
aas
add al, al
add eax, dword [eax]
add byte [eax], 0
add byte [esi], al
xor byte [ecx], dl
xor byte [eax + esi], bl
daa
xor byte [edx], dh
xor byte [0x53304830], bh
xor dh, byte [eax]
cmp eax, 0x53304830
xor byte [esi + 0x30], bl
je 0x459860
mov dh, byte [eax]
mov al, byte [0xc130ab30]
xor ah, cl
xor dl, ah
xor al, bh
xor byte [esi], cl
xor dword [ecx], ebx
xor dword [ecx + esi], esp
cmp dh, byte [ecx]
push eax
xor dword [esi + 0x31], esp
jno 0x45987d
jl 0x45987f
xchg dword [ecx], esi
xchg edx, eax
xor dword [ebp - 0x36ce4ccf], ebx
xor edi, ebx
xor ebp, esi
xor dword [eax], eax
xor cl, byte [ebx]
xor dl, byte [esi]
push ss
xor ch, byte [edx + esi]
inc edx
xor bl, byte [eax + 0x32]
outsb dx, byte [esi]
xor bh, byte [ecx + 0x32]
test byte [edx], dh
lcall 0xbb32, 0xb032a532
xor al, dh
xor bl, ah
xor dh, dl
xor cl, byte [eax]
xor ebx, dword [esi]
xor esi, dword [ebx + esi]
dec edx
xor ebx, dword [ebp + 0x33]
insd dword es:[edi], dx
xor edi, dword [ebp + 0x33]
lea esi, [ebx]
popfd
xor ebp, dword [ebp - 0x32cc42cd]
xor eax, dword [eax]
loopne 0x45989a
add byte [eax + eax], al
add ah, cl
xlatb
fnsave dword ss:[esi]
clc
and al, 0x37
test byte [edi], dh
add bh, byte [eax]
push cs
cmp byte [edi + 0x38], al
loopne 0x4598e8
add byte [eax], al
int3
in al, dx
cmp byte [0x8b3a7f39], dl
cmp dl, byte [ebx]
cmp ebp, dword [ebx - 0x22c445c5]
cmp eax, dword [ecx + 0x203c913c]
cmp eax, 0x3e0b3dff
xor al, 0x3e
jg 0x45990c
pop edi
aas
outsd dx, dword [esi]
aas
out dx, eax
aas
sti
aas
add byte [eax], al
add al, dh
add eax, dword [eax]
cmp byte [eax], al
add byte [eax], al
sub dh, byte [eax]
imul esi, dword [eax], 0xfffffff9
xor bh, bl
xor ch, bl
xor cl, byte [edx + 0x33]
mov eax, dword [0x9f341633]
xor al, 0xab
xor al, 0xda
xor al, 0xa4
xor eax, 0x35f135b0
invalid
jmp 0x45991c
pop ss
cmp al, 0x75
cmp al, 0
add byte [eax + eax], al
inc eax
add dword [eax], eax
add byte [edi], cl
xor byte [ebx], bl
xor byte [ecx + 0x30], dl
mov ebx, 0xfd31ca31
push ecx
xor byte [ebx - 0x2ce35cf], bh
xor ecx, ebp
xor dl, byte [ebx + esi]
pop ds
xor edi, dword [esi]
xor ecx, dword [ecx + 0x33]
arpl word [ebx], si
outsb dx, byte [esi]
xor eax, dword [ebp - 0x58cc6fcd]
xor esi, dword [edx - 0x18cc23cd]
xor ecx, dword [esi]
xor al, 0x19
xor al, 0x30
xor al, 0x3b
xor al, 0x52
xor al, 0x5d
xor al, 0x74
xor al, 0x7f
xor al, 0x8a
xor al, 0x19
xor eax, 0x353d3532
pop esi
xor eax, 0x35803569
mov esi, dword [0x35ad35a2]
mov ebp, 0xd535ca35
xor eax, 0x35ed35e2
xor eax, 0x35fa35ed
add eax, 0xb4361236
aam 0x36
fbstp tbyte [esi]
stc
add al, 0x37
pop ds
aaa
sub dh, byte [edi]
inc esp
aaa
dec edi
aaa
js 0x4599bd
xor dword [edi], 0xffffff9a
aaa
movsd dword es:[edi], dword [esi]
aaa
mov esp, 0xde37c737
aaa
jmp 0x157da3ce
cmp dword [edx - 0x48c653c7], esp
cmp edx, eax
cmp dword [edx + edi + 0x6b], edx
cmp dh, byte [esi + 0x3a]
sahf
cmp ch, byte [ecx - 0x34c53fc6]
cmp ah, dl
cmp ch, ch
cmp al, byte [ebx + edi]
invalid
push esi
bound edi, qword ds:[esi]
outsd dx, dword [esi]
xchg dword ds:[esi], edi
cmpsb byte [esi], byte es:[edi]
int1
or edi, dword ds:[edi]
push ds
aas
and edi, dword [edi]
salc
aas
add byte [eax], dh
add al, 0
mov word [eax], es
add byte [eax], al
jg 0x459bca
add dh, byte [ecx]
rdtsc
and dh, byte [ecx]
xor eax, 0x59314331
xor dword [ebx + 0x31], eax
pop ecx
xor ebx, esi
xor dword [ebx], ecx
xor ah, byte [esi]
xor bh, byte [eax]
xor cl, byte [eax + 0x32]
push edi
xor ah, byte [ebx + 0x32]
into
xor bl, ah
xor ch, ah
xor bh, bl
xor ah, byte [0xa9333533]
xor eax, dword [edi]
xor al, 0x25
xor al, 0x5d
xor al, 0x8f
xor al, 0x95
xchg ebp, eax
xor al, 0xae
xor al, 0xcb
xor al, 1
xor eax, 0x3519350e
and dword [0x372b3725], esi
xchg esi, eax
aaa
cmpsd dword [esi], dword es:[edi]
aaa
retf 0xf937