Function at 0x44dc55
Capabilities:
Encode data using xor

Disassembly:
test esi, esi
jl 0x44e5e4
mov ecx, dword [ebp + 8]
cmp esi, dword [ecx + 0x23c]
jge 0x44e5e4
mov edx, ecx
mov eax, dword [edx + 0x238]
mov ebx, dword [eax + esi*4]
mov eax, dword [ebx + 0x1d8]
push edi
push eax
call fcn.00494eb9
add esp, 8
test eax, eax
je 0x44e112
invalid
add byte [ebx + 0x743b01c6], al
and al, 0x14
add esi, 1
cmp esi, dword [esp + 0x14]
jl 0x44dc1c
mov esi, dword [ebp + 8]
lea ebx, [esi + 0x25c]
push edi
call fcn.0044f3be
test eax, eax
jne 0x44dcb6
lea ebx, [esi + 0x284]
push edi
call fcn.0044f41e
test eax, eax
jne 0x44dcb6
lea ebx, [esi + 0x270]
push edi
call fcn.0044f47e
test eax, eax
jne 0x44dcb6
lea ebx, [esi + 0x248]
push edi
call fcn.0044f4de
test eax, eax
jne 0x44dcb6
lea ebx, [esi + 0x2ac]
push edi
call fcn.0044f53e
test eax, eax
je 0x44e4cf
mov dword [esp + 0x18], eax
cmp dword [esp + 0x18], 0
je 0x44e4cf
lea ecx, [esp + 0x10]
push ecx
lea edx, [esp + 0x20]
push edx
call fcn.00460aae
add esp, 8
mov byte [esp + 0xc0], 0xb
mov edx, dword [esp + 0x1c]
mov esi, dword [edx - 0xc]
mov eax, dword [edx - 8]
mov ecx, 1
sub ecx, dword [edx - 4]
sub eax, esi
or eax, ecx
jge 0x44dd05
push esi
lea ecx, [esp + 0x20]
call fcn.0044623e
mov edx, dword [esp + 0x1c]
lea eax, [esi + 1]
push eax
push edx
call fcn.0049572c
add esp, 8
test esi, esi
jl 0x44e5e9
mov eax, dword [esp + 0x1c]
cmp esi, dword [eax - 8]
jg 0x44e5e9
add byte [ecx + 0x4c8bf470], cl
and al, 0x1c
mov dword [eax - 0xc], esi
mov ecx, dword [esp + 0x1c]
lea edx, [edx + eax*2 - 0x36]
pop edx
jp 0x44dd01
sbb eax, 0x35aa6b9d
cwde
and dword [edx + 0x5ae7bad5], ebp
xor al, 0x5a
and dl, ch
cmc
cmc
test dword [ebx], edi
jne 0x44dd26
aad 0xea
mov ah, 0x4c
inc ebp
mov ecx, 0xba693455
push dword [eax]
xor eax, 0xac9b15db
push esp
inc ebx
push esi
dec esi
rcl ebp, 0x69
hlt
or cl, byte [esp + ebp - 0x2e]
pop es
cdq
pop ss
iretd
iretd
fcom qword [esi + 0xc12272]
mov ah, 0xc8
adc eax, 0x7cbcec96
sahf
les esi, [esi + 0x218f5ed5]
xchg bl, bl
push esi
jg 0x44e0df
xchg byte [esi], ah
or eax, 0xa16a057f
pop esi
jbe 0x44e0d2
insd dword es:[edi], dx
mov esi, 0xd80ab211
aaa
scasb al, byte es:[edi]
idiv byte [edx + 0x1f8b42f7]
jmp 0x7b4cd62b
lea eax, [ebx]
push dword [eax]
clc
aam 0xd4
mov esi, 0x1a391d85
mov dword [ebx - 0x48], ecx
rcr dword [ecx], 1
and dl, byte [edi]
mov dh, 0xe2
ljmp 0x4800
loop 0x44e420
mov byte [0xc8444a], al
dec eax
fld xword [ebp + 0x2a]
or al, 0x46
sar dword fs:[edx + 0x18f77a05], 1
xchg esi, eax
cmp edx, dword [ecx - 0x7b659fa]
insd dword es:[edi], dx
inc ebx
ljmp 0xcf94
and eax, 0xd86972d
push cs
rcl byte [ebp + 0x54825a87]
popfd
jmp 0x929bd833
fld xword [edx + 0x5ba1848]
cwde
push esi
jns 0x44e434
mov edx, 0x888ab108
and bh, byte [ebx]
out 0xf3, eax
xor eax, 0x9008e47e
sbb dh, byte [ebx + 0x2a]
mov ch, 0x3a
vpackuswb xmm2, xmm7, xmm1
daa
dec ebx
xor al, 0xfb
pop ss
xchg edi, eax
push esp
popfd
in eax, dx
push es
cmp al, 0xb1
sahf
ja 0x44e458
je 0x44e4b9
push cs
or edx, ebp
mov al, byte [edi - 0x4893d340]
aam 0x2e
in eax, 0xa
in eax, 0xa
pop esi
bndstx [eax - 0x18], bnd3
mov byte [0x879d7d05], al
sbb edi, dword [edx + 0x1aca7c54]
xor dl, bh
clc
or cl, dl
xchg edx, eax
stosd dword es:[edi], eax
je 0x44e493
push ecx
jg 0x44e514
mov bh, byte [edx + 0x73631e1b]
mov ebp, 0xc49a27d4
js 0x44e51e
invalid
mov al, 0xfd
dec esi
mov eax, 0x3b99b8f0
or eax, 0xa2ca052f
fstp dword [edi]
pop ds
add esi, dword [eax + 0x71]
adc dword [edx - 0xa], edi
mov dword [edx], edi
jp 0x44e572
push ebx
pop es
imul ecx, ebx, 0xffffff9e
cmp edx, ebp
lcall 0x3b8, 0xfe9a8747
and cl, byte [edi]
inc edi
xchg dword [edx + 0x2203b8fe], ebx
jns 0x4cfcfd26
mov ebx, esi
pop ss
mov eax, 0xfd086f4c
outsd dx, dword [esi]
or ch, bh
xor eax, dword [eax - 0x28bf35ec]
arpl word [edx - 0x1fc187f9], bp
jge 0x44e57a
stosb byte es:[edi], al
pop es
js 0x44e57f
loopne 0x44e5c0
adc cl, bl
adc cl, bl
ja 0x44e4e6
test byte [ebx], cl
lodsb al, byte [esi]
cmc
push ebp
adc al, 0x59
pop ecx
mov ah, 0x93
push ebp
jg 0x44e53d
retf 0x8a84
invalid
fstp xword [ebx]
jge 0x44e506
cmpsd dword [esi], dword es:[edi]
jno 0x44e55f
adc eax, 0xb4c3d169
movsd dword es:[edi], dword [esi]
pop esp
xor byte [ebp + 0x76], bl
mov edx, 0xfe59df42
ret
jbe 0x44e52e
inc edx
fistp word [ecx - 2]
mov eax, dword [esi - 0x5cb065fa]
adc eax, 0x8f94b8dc
cwde
push es
lcall 0x94b8, 0xdc15a34f
invalid
fdivr qword [eax - 0x3b67706c]
cdq
adc edi, dword [ebx + 0x27]
dec edx
les ebx, [ecx + 0x4a277b13]
xchg edx, eax
and esp, 0x51
invalid
or esp, ebp
jae 0x44e5c6
wait
adc eax, 0xb06d67ac
js 0x44e526
dec ebp
aam 0x6d
loop 0x44e5b4
and ebp, dword [ebx - 0x5b72b50c]
dec ebx
jnp 0x44e54b
lds eax, [ebx + ecx*4 - 0x14122948]
inc eax
lodsb al, byte [esi]
sub eax, 0xe934d5bf
retf
in eax, dx
jmp 0x44e5f7
xor ecx, eax
ret 0xc5e5
lodsd eax, dword [esi]
dec ebp
xchg byte [ecx], cl
push edi
dec eax
jecxz 0x44e562
push 0x51
jne 0x44e56c
inc esp
adc byte [ebx - 6], dh
popal
stosb byte es:[edi], al
cmp ebp, dword [ecx]
loop 0x44e5cb
ret
inc edi
inc eax
scasd eax, dword es:[edi]
mov edx, 0x2a970741
loope 0x44e649
pop es
xchg edi, eax
sub ah, cl
pop ebx
cmp byte [ebx - 0x4b], bl
push esp
test byte [ecx - 0x192a0b6c], cl
and al, 0x6e
out 0x24, al
outsb dx, byte [esi]
add al, 0xeb
lds esp, [edi - 0x7d1cc02b]
aad 0x3f
jecxz 0x44e584
aad 0xfb
movsb byte es:[edi], byte [esi]
jp 0x44e595
xchg ebx, eax
les ebp, [edx]
mov esi, 0x551a1198
invalid
ja 0x44e69e
push ss
insd dword es:[edi], dx
fisttp qword [eax]
test byte [ecx + 0x22260dde], ch
or byte [ecx + ebp*4 + 0x22260dde], al
test eax, 0x22260dde
jo 0x44e642
inc eax
leave
leave
push 0xffffffffffffff9b
mov bh, dh
sub ecx, dword [ebp + 0x192b581]
scasb al, byte es:[edi]
insd dword es:[edi], dx
in eax, 0x77
jnp 0x44e6d7
xor dword [ebp + 0x6dae0192], 0x747b77e5
push ebp
out 0x95, eax
salc
ja 0x44e675
inc esp
mov edi, 0xa5c27369
lahf
sbb dword [eax], esp
adc byte [ebx - 0x3ff75514], cl
stosb byte es:[edi], al
or al, al
popfd
mov bl, byte [edi - 0x5a55a8e3]
jmp 0x44e647
std
stosd dword es:[edi], eax
fadd qword [eax + 0x45]
push edi
cmc
mov edi, 0x188d3a24
fstp st(2)
cmc
mov ecx, 0xea6e68ab
cli
invalid
stosd dword es:[edi], eax
push 0xc6faea6e
out 0x7a, al
inc ebp
or al, 0xef
dec ebx
cwde
loopne 0x44e659
test dword [edx + 0x4c], ecx
cmp al, 0xd6
stosd dword es:[edi], eax
mov al, byte [0x8eded476]
invalid
xor byte [esi], al
scasb al, byte es:[edi]
xchg esi, eax
cmp dword [edx - 0x34], 0x35
mov esi, 0x986b5fc5
stc
loop 0x44e6ae
test dword es:[edx + 0x2815e195], ebx
aad 0x65
and al, 0x89
mov esp, 0xf5e56300
mov dword [0x1d08c369], eax
add eax, 0xe4756cc2
leave
xor eax, 0x89942586
jge 0x44e72b
out dx, al
arpl word [esi], dx
scasd eax, dword es:[edi]
imul ecx, dword [esi], 0x20
in eax, 0xdf
les ebp, [0xb7bce268]
or eax, 0xa59854cb
cwde
adc eax, 0x672a8135
pop ecx
insd dword es:[edi], dx
push cs
aam 0x3b
mov ch, 0x3f
push ds
mul byte [ebp - 0x4dd4d1eb]
ljmp 0x8d4c