Function at 0x44f82e
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
mov esi, dword [ebp]
add byte [ebx - 0x7cee74f2], cl
xor eax, dword [eax]
jg 0x48d479
xor al, byte [eax]
add al, al
jne 0x4fd48c
cmp dword [ecx], 0x7fffffff
mov eax, dword [eax]
add byte [esp + ecx*2 + 0x220003dc], al
add byte [edx + edx*8 + 0x1c70875], al
add dword [eax], eax
add byte [eax], al
mov eax, dword [esi]
mov ecx, dword [ebp - 0x1d]
add cl, cl
je 0x44f8a6
mov dword [eax + 0x210], 0
jle 0x44f89b
add byte [ebp + 0x10], dl
mov eax, dword [esi]
lea edx, [edx + 4]
add byte [eax], al
mov edi, dword [eax - 0x3fffdf0]
add bh, bh
inc eax
jge 0x44f8a1
mov dword [eax + edi*4], ebx
mov eax, dword [esi]
push es
call [eax + eax]
add al, byte [eax]
add byte [ebx + 0x7501e9], al
sub ecx, 1
jne 0x44f8a6
add byte [esi], cl
mov ebx, dword [ecx + 8]
test dword [edi + 0xf18400], ecx
add byte [eax], al
mov edi, dword [ecx]
cmp edi, dword [ecx + 0xe810]
jne 0x44f9a4
add byte [eax], al
test edi, edi
jle 0x44f8f4
lea ecx, [eax + eax - 0x7d]
mov eax, 0x104
add byte [eax], al
add cl, cl
cmp dword [eax + 0x104], 0
add byte [eax], al
leave
add byte [eax], al
add byte [ebx + 0x100e9], cl
add byte [ebx], bh
xor byte [ebx - 0x72ffff8b], cl
mov eax, 0xf7000000
add al, al
add al, 0x3b
xlatb
jl 0x44f8ce
xor eax, dword [eax]
add byte [ebp + 0x10], dl
test edi, edi
jle 0x44f89a
add byte [ecx + 0x110], al
mov dword [ebp], eax
add byte [esi], al
lea ebx, [ebx + 0x590000]
cmp dword [eax - 0x104], 0xea
jne 0x44f994
mov eax, 0x2000d441
imul ebx
sar edx, 7
mov eax, dword [eax]
add bl, ch
pop ds
add ebx, edx
mov ebp, ebp
add byte [ebx + 0x8b1055], cl
imul eax, dword [eax]
add al, dl
mov eax, dword [ebp + 8]
or dword [ecx], 0
mov dword [ebp + 0x10], edx
mov dword [ebp + 8], eax
add dword [eax], 0
jne 0x44f90e
test edx, edx
js 0x44f9ab
add byte [ecx + 4], al
lea ebx, [edx*4]
mov ecx, dword [ebx + eax]
test ecx, ecx
pop ds
add byte [ebp - 0x25], cl
add eax, dword [eax]
push 0x10
call fcn.0045f969
add esp, 4
js 0x44f96e
mov ecx, edi
push dword [ebp + 0xc]
mov dword [edi], 0
call int.0045b35e
mov ecx, dword [esi]
mov ecx, dword [ecx + 4]
mov dword [eax], eax
add byte [ebx + 0x4418b0e], cl
ja 0x44f98e
add ebx, dword [edi + 0x5e]
pop ebx
pop ebp
ret
mov eax, dword [eax]
add byte [ebp + 8], bl
cdq
idiv dword [ebx - 0xffa0]
mov ebx, eax
jmp 0x44f92b
xor eax, dword [eax]
add bh, ah
push ebp
mov ebp, esp
xor dword [eax + 0x64ec8300], 0x53
mov ebx, dword [ebp + 8]
add byte [eax], al
dec esp
and al, 0x24
push edi
mov ebp, dword [ecx - 0x74cf7500]
into
call fcn.0044fc8e
mov eax, dword [esi + 8]
mov eax, dword [eax]
test byte [eax], al
and al, 0x10
mov eax, dword [ebx + 4]
mov esi, dword [eax]
add byte [eax], al
call fcn.0044fc8e
rol byte [eax], cl
or byte [ebx + 0x438b0478], cl
add al, 0
add byte [ebx + ecx*4], al
into
call fcn.0045b18e
mov eax, dword [esi + 8]
mov eax, dword [eax]
mov dword [eax], eax
add byte [eax], ah
mov eax, dword [ebx + 4]
mov edi, dword [ebp - 0x17317500]
mov dword [edx], eax
add byte [eax], al
add byte [eax], al
or byte [ebp + 0xe40244c], cl
add byte [eax + 4], dh
mov dword [esp + 0x20], esi
call int.0043fa19
mov edx, dword [ebp + 8]
cmp al, byte [eax]
xor eax, eax
mov dword [esp + 0x30], ebx
mov al, byte [eax]
add byte [eax - 0x7cf0dbb4], cl
rol byte [eax], cl
add ecx, dword [edi]
or byte [esi + 0x3da], 0
add al, 0x8b
dec eax
or al, ch
insb byte es:[edi], dx
add byte [eax], al
add byte [ebx + 0x40c033d0], cl
add byte [eax], al
and al, 0x30
test dl, 2
push es
add byte [edx - 0x26], ch
add eax, dword [eax]
mov cl, al
and eax, dword [eax]
add byte [esp + 0xf], cl
mov dword [esp + esi], edx
test esi, esi
je 0x48d4ca
add dl, al
sub eax, ebx
je 0x47fb52
sub eax, 1
jne 0x47fa79
mov dword [esp + 0x23], ebx
add bh, bh
jle 0x44fae6
mov esi, dword [esp + 0x10]
add byte [eax], al
and al, 0x20
mov ecx, esi
push edi
lcall 1, 0xdbe81000
add byte [ebx + 0x24540000], cl
xor byte [ecx - 0x7b], bl
dec esi
add byte [eax + esi*4 - 0x74ffffff], al
inc esp
add byte [eax], al
mov ecx, edx
sub ecx, esi
shr dword [ebp + 0x7c89f900], 1
and al, 0x34
sub edi, eax
add byte [eax], al
cwde
add dword [eax], eax
add byte [eax + 0x15], dl
add byte [esp], ah
push edx
call int.0046eb6c
add ah, al
or al, 0x85
ror byte [edi], 0x88
add dl, bl
add eax, dword [eax]
mov eax, dword [esp + 0x1c]
add byte [eax], al
and al, 0x14
lea ecx, [eax + eax]
rol byte [eax], cl
and al, 0x2c
add esi, ecx
test edi, edi
jg 0x44fae6
add byte [ebp + 8], bh
mov eax, dword [edi + 4]
add byte ds:[ebx + 0x199e8ce], cl
add byte [eax], al
add byte [eax], al
or byte [ebx - 0x16bb7700], cl
add byte [ebx + 0x308b0447], cl
mov ecx, esi
add byte [eax], al
add dword [eax], eax
add byte [ebx + 0x74005146], cl
and al, 0x14
mov edi, dword [eax + 4]
mov eax, dword [eax]
add al, ch
dec ebp
invalid
push ss
mov dword [eax], edx
add byte [eax], 4
mov dword [eax + 4], edx
mov ecx, dword [esi + 8]
add byte [eax], al
or byte [ebx - 0x1f76f3b2], cl
add bh, bh
add dword [ecx - 0x3874f7b9], ecx
add byte [eax], al
or al, 4
add byte [eax], al
add byte [esi + 0x4c25d00], dl
add ah, cl
int3
add byte [eax], al
cmp al, 0xb0
call 0x9d88b9
mov ecx, dword [edi]
mov ebx, eax
push esi
push 1
add byte [eax], al
in al, 0x89
pop ebp
in al, dx
mov ecx, esp
add byte [edi + 4], cl
mov dword [ebx + 4], ecx
mov ecx, dword [edi]
add byte [ebx + 8], cl
mov ecx, dword [edi + 0xc]
xchg byte [eax], al
clc
mov dword [ebx + 0xc], ecx
push eax
inc dword [ecx]
add byte [eax], al
mov dword [ebp - 0x10], 0x590004
call fcn.0047fb8e
mov eax, dword [ebx]
add ah, al
adc al, 0xff
or byte [ebx + 0x388300f6], cl
add byte [edi], cl
test byte [ecx - 0x24], ch
add byte [eax], al
push 0x10
push ebx
call fcn.00483bab
inc esi
mov dword [ebp - 0x14], 0
add esp, 8
mov dword [ebp - 0x57], 0
mov dword [ebp - 0x1c], 0
cmp esi, dword [ebp - 0xc]
jb 0x47fb05
add bh, al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
invalid