Function at 0x44ffd4
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
mov esi, dword [ebp]
add byte [ebx - 0x7cee74f2], cl
rol dword [eax], cl
jg 0x48dc1f
xor al, byte [eax]
add al, al
jne 0xfedc32
cmp dword [ecx], 0x7fffffff
mov eax, dword [eax]
add byte [esp + ecx*2 - 0x16fffc24], al
add byte [edx + edx*8 + 0x1c70875], al
add dword [eax], eax
add byte [eax], al
mov eax, dword [esi]
mov ecx, dword [ebp - 0x80]
add cl, cl
je 0x45004c
mov dword [eax + 0x210], 0
jle 0x450091
add byte [ebp + 0x10], dl
mov eax, dword [esi]
lea edx, [edx + 4]
add byte [eax], al
mov edi, dword [eax - 0xffffdf0]
add bh, bh
inc eax
jge 0x450047
mov dword [eax + edi*4], ebx
mov eax, dword [esi]
call dword [ebp + 0x200]
sub ecx, 1
jne 0x45004c
add byte [esi], cl
mov ebx, dword [ecx + 8]
test dword [ebp + 0xf18400], eax
add byte [eax], al
mov edi, dword [ecx]
cmp edi, dword [ecx + 0x1b10]
jne 0x45014a
add byte [eax], al
test edi, edi
jle 0x45009a
lea esi, [esi]
add byte [ebx + 0x104b8], al
add byte [eax], al
cmp dword [eax + 0x104], 0
add byte [eax], al
leave
add byte [eax], al
add byte [ebx + 0x10086], cl
add byte [ebx], bh
xor byte [ebx - 0x72ffff8b], cl
mov eax, 0x30000000
add byte [eax], dh
add al, al
add al, 0x3b
xlatb
jl 0x450074
xor eax, dword [eax]
add byte [ebp + 0x10], dl
test edi, edi
jle 0x4500ad
add byte [ecx + 0x110], al
mov dword [ebp], eax
add byte [esi], al
push es
lea ebx, [ebx + 0xc30000]
cmp dword [eax - 0x104], 0xea
jne 0x45013a
mov eax, 0x20005441
imul ebx
sar edx, 7
mov eax, dword [eax]
add bl, ch
pop ds
add ebx, edx
mov esp, edi
add byte [ebx + 0x8b1055], cl
imul eax, dword [eax]
add al, dl
mov eax, dword [ebp + 8]
sub ecx, 0
mov dword [ebp + 0x10], edx
mov dword [ebp + 8], eax
add dword [eax], 0
jne 0x4500b4
or byte [ebx + 0x558900e9], al
adc byte [ecx + 0x830845], cl
add byte [ebp - 0x3b], dh
test edx, edx
js 0x4500e0
add byte [ecx + 4], al
lea ebx, [edx*4]
mov ecx, dword [ebx + eax]
test ecx, ecx
aam 0
dec ebp
fild dword [ebx]
add byte [edx + 0x10], ch
call fcn.0046010f
add esp, 4
sbb eax, dword [eax]
mov ecx, edi
push dword [ebp + 0xc]
mov dword [edi], 0
call fcn.0045cb04
mov ecx, dword [esi]
mov ecx, dword [ecx + 4]
mov dword [eax], eax
add byte [ebx + 0x4418b0e], cl
jnp 0x450134
add ebx, dword [edi + 0x5e]
pop ebx
pop ebp
ret
mov eax, dword [eax]
add byte [ebp + 8], bl
cdq
idiv dword [ebx - 0xff17]
mov ebx, eax
jmp 0x4500d1
xor eax, dword [eax]
add bh, ah
push ebp
mov ebp, esp
cmp dword [edx + 0x64ec8300], 0x53
mov ebx, dword [ebp + 8]
add byte [eax], al
dec esp
and al, 0x24
push edi
mov ebx, dword [edx]
mov esi, dword [eax]
mov ecx, esi
call fcn.00450434
mov eax, dword [esi + 8]
mov eax, dword [eax]
inc byte [eax]
and al, 0x10
mov eax, dword [ebx + 4]
mov esi, dword [eax]
add byte [eax], al
call fcn.00450434
mov ebp, 0x788b0800
add al, 0x8b
inc ebx
add al, 0
add byte [ebx + ecx*4], al
into
call fcn.00457234
mov eax, dword [esi + 8]
mov eax, dword [eax]
mov dword [eax], eax
add byte [eax], ah
mov eax, dword [ebx + 4]
mov ebp, dword [edx]
add byte [ebx + 0x289e8ce], cl
add byte [eax], al
add byte [eax], al
or byte [ebp - 0x6bbfdbb4], cl
add byte [eax + 4], dh
mov dword [esp + 0x20], esi
call fcn.004401bf
mov edx, dword [ebp + 8]
mov edx, 0x89c03300
pop esp
and al, 0x30
mov al, byte [eax]
add byte [eax - 0x7cf0dbb4], cl
fadd dword [eax]
add ecx, dword [edi]
or byte [esi + 0x3da], 0
add al, 0x8b
dec eax
or al, ch
mov word [eax], es
add byte [eax], al
mov edx, eax
xor eax, eax
inc eax
add byte [eax], al
and al, 0x30
test dl, 2
mov ch, 0
push 0xffffffffffffffda
add eax, dword [eax]
mov cl, al
and eax, dword [eax]
add byte [esp + 0xf], cl
mov dword [edi + edi*8], edx
test esi, esi
je 0x48dc70
add dl, al
sub eax, ebx
je 0x480297
sub eax, 1
jne fcn.0048021f
mov dword [esp + 0x53], ebx
add bh, bh
jle 0x45028c
mov esi, dword [esp + 0x10]
add byte [eax], al
and al, 0x20
mov ecx, esi
push edi
xchg esi, eax
add byte [eax], dl
call fcn.00450415
mov eax, dword [eax]
add byte [esp + 0x30], dl
pop ecx
test edi, eax
add byte [eax + esi*4 - 0x74ffffff], al
inc esp
add byte [eax], al
mov ecx, edx
sub ecx, esi
shl dword [edi + 0x7c89f900], 1
and al, 0x34
sub edi, eax
add byte [eax], al
cwde
add dword [eax], eax
add byte [eax - 0x1a], dl
add byte [esp], ah
push edx
call fcn.0046f312
add ah, al
or al, 0x85
ror byte [edi], 0xf2
add dl, bl
add eax, dword [eax]
mov eax, dword [esp + 0x1c]
add byte [eax], al
and al, 0x14
lea ecx, [eax + eax]
mov ebp, 0x32c2400
int1
test edi, edi
jg 0x45028c
add byte [ebp + 8], bh
mov eax, dword [edi + 4]
stc
add byte [ebx + 0x199e8ce], cl
add byte [eax], al
add byte [eax], al
or byte [ebx + 0x7e448900], cl
add byte [ebx + 0x308b0447], cl
mov ecx, esi
add byte [eax], al
add dword [eax], eax
add byte [ebx + 0x7400cb46], cl
and al, 0x14
mov edi, dword [eax + 4]
mov eax, dword [eax]
add al, ch
dec ebp
invalid
mov eax, dword [ebp + 0xc]
mov dword [edi + 4], esi
add byte [eax], al
push esi
lea eax, [ebx + eax*2]
push eax
inc ebp
add al, ch
dec ebx
lahf
add dword [eax], eax
mov eax, dword [edi]
add byte [eax], al
or al, 0x33
leave
mov di, dx
add byte [edi + 0x5e], bl
pop ebx
pop ebp
ret 0xc
add byte [ecx], al
add byte [eax], al
add byte [eax], al
inc edi
or al, 0x8d
inc esi
add edx, eax
add byte [ebp + ebp - 0x7d], dh
rol byte [edi], 0x83
loopne 0x4802ac
add cl, cl
mov dword [edi + 8], eax
push 0xfffffffffffffff2
add bh, dh
loop 0x4802c6
nop
sal edi, 0xd9
add byte [eax], al
push ecx
call 0x154991af
add byte [ecx + 0x6a9deb07], cl
jmp [edx]
jmp 0x480265
wait
ror byte [esi], 0x52
xchg edi, eax
push edx
ret 0x3f43
push ecx
aad 0x7a
inc ebx
push cs
pop eax
or eax, 0xb06d79d5
push ds
jns 0x48dce7
mov al, 0x1e
add dword [eax + 0x47], ecx
std
cwde
adc al, 0x5b
enter 0xffffffffffffb74e, 0xfffffffffffffff9
dec edx
pop ebp
or esi, dword [edi]
sbb byte [edi - 0x84a241e], bl
adc al, 0x29
mov esi, 0xc2251484
movsb byte es:[edi], byte [esi]
xlatb
pop ebx
cmp byte [ecx], ch
ja 0x48dd06
jo 0x48dd01
sbb dh, byte [edi + 0x52d91cc7]
mov dh, 0xee
push edx
jl 0x48dc76
jp 0x48dc78
lodsb al, byte [esi]
mov dl, 0xb4
popfd
push edi
and byte [ebx], ah
mov ebp, 0x36a95790
into
sub esi, dword [edx + 0x60]
mov ch, 0xb9
and byte [ebx + 0x7667f41b], 0xdd
cmp dl, al
ficomp dword [ebp - 0x5e5c1dff]
xor ah, 0x4e
push cs
jle 0x48dcaf
aas
mov esp, dword [ecx - 0x58]
ljmp 0xec3a
mov bh, dh
invalid
pop edx
aam 0x4e
push ds
adc bl, al
push 0x74376f3d
aas
fsubr dword [eax + 0x3d]
outsd dx, dword [esi]
aaa
je 0x48dd4c
add ebp, dword [esi + 0x6c]
inc edi
mov bh, 0x18
push 0xffffffffffffffc0
push edx
push esi
arpl word [esi], si
out 0xcb, eax
invalid
dec eax
ja 0x48dda8
sbb byte [ecx - 0x62], al
dec ecx
lodsb al, byte [esi]
or eax, 0xea4685e3
xchg ebp, eax
sahf
add ah, byte [edx + 0x1f]
or byte [0x85e9454b], bh
stosb byte es:[edi], al
mov dword [0xbde64e60], eax
pop esi
xor edx, ebp
xor al, 0xaa
xchg edi, eax
popfd
pop eax
cwde
and eax, 0x1fd9131b
jnp 0x48dd81
loopne 0x48dd0d
cmp bl, bh
and ecx, dword ds:[ecx + 0xe]
push cs
sbb bl, ah
pop ebp
jp 0x48ddf4
das
sub byte [ebp + 0x30fc20d1], ch
sub dword [edi + 0x52], ebx
imul esp, dword [edx - 0x470f1284], 0x74aa0f97
in eax, 0xc4
insd dword es:[edi], dx
movsd dword es:[edi], dword [esi]
test al, 0xf6
push cs
fsubr dword [ebx]
cld
push ebp
inc esp
adc al, 0x25
jb 0x48de18
mov ebp, 0x88edcd59
imul esi, dword [edx + 0x34], 0x6cce964b
xor eax, 0xe8d5b6b9
dec ebp
pop ss
or eax, 0x39dccf05
mov ecx, 0xdccd089d
xchg ecx, eax
and eax, 0x1ff110a6
fdiv qword [ecx + 0x67e0fb69]
push cs
test eax, 0xa969e510
outsd dx, dword [esi]
iretd
pop ebp
scasb al, byte es:[edi]
call 0x4dee504
push ebp
nop
sbb ah, byte [edx]
add edx, dword [ecx]
mov edx, 0xbb721f9c
cmp eax, 0xf5f9182f
sbb dword [edi - 0x68cb3b70], edx
cmp dword [ebx + ebx], edx
jp 0x48de8c
int 0x2f
in al, dx
popfd
in eax, dx
push edi
fisubr dword [eax]
and al, 0x22
invalid
push cs
retf