Function at 0x44801d
Capabilities:
Encode data using xor

Disassembly:
mov dx, word [ebp + 0x10]
push 0xe
jmp 0x4193b7
push edx
call fcn.004343d5
add esp, 8
ja 0x42ea72
jbe 0x4193d0
nop
cpuid
ret 0x860f
jbe 0x42ea72
fcmovb st(0), st(7)
jmp dword [esi]
cmp dword [0x534129], ebx
ja 0x43d823
jbe 0x41da2d
push ds
push edx
jbe 0x43d823
invalid
shr dh, 0x40
mov ebx, dword [ebp + 0x44]
shr dh, 0x40
mov eax, dword [esi + 4]
mov edx, dword [esi + 8]
mov al, byte [ebp + eax]
push edx
pop edx
lea esi, [esi + 0xc]
call fcn.00423d05
and eax, 0x4568b8a
mov cl, byte [ebp + 0x34]
jne 0x4325ad
shl dh, 0x20
je 0x42310a
mov byte [edx - 0x7bf0a725], al
popfd
hlt
je 0x4325ad
add eax, 0x4272e1b3
add byte [eax], bl
add byte [eax], al
xor byte [eax], al
add byte [eax], al
xchg esp, eax
mov ecx, 0x32a30043
inc ebx
add byte [edx - 0x8990635], al
insb byte es:[edi], dx
sbb eax, 0x30458900
jne 0x417e6d
je 0x42313d
nop
cpuid
ret
je 0x417e6d
mov esp, ebp
pop ebp
ret
pop esi
shr cl, 0x40
mov ax, 0x18
popal
xchg dword [esi - 0x3f], esp
loop 0x42b035
mov ax, ax
mov cl, bl
call fcn.0042e636
add byte [eax], al
fcmovbe st(0), st(6)
jbe 0x42de41
inc edx
add byte [esi], ah
fild word [edx]
jp 0x42de7d
inc ebx
add byte [eax], cl
fiadd word [edx]
add byte [edx - 0x5174e263], al
inc ebx
add byte [eax], al
popal
add byte [eax + 0x34], al
add byte [ecx], ah
add byte [eax], al
mov esp, 0
adc byte [eax], al
add byte [eax], al
inc eax
add byte [eax], al
xor byte [eax], al
add byte [eax], al
or byte [edi], ch
inc esp
add bh, dl
or al, 0x42
add byte [eax], ah
add byte [eax], al
add byte [eax], bh
add byte [eax], al
add dh, dl
enter 0x43, 0x30
add byte [eax], al
add byte [eax], bh
add byte [eax], al
add byte [edi + eax*4], dl
inc edx
add byte [0x38000000], cl
add byte [eax], al
add byte [edx + edi], cl
add byte [eax], al
or al, 0x3a
inc edx
add byte [ebx], al
add byte [eax], al
add byte [eax], dh
add byte [eax], al
add byte [ebp + 0x3000435d], ch
add byte [eax], al
add byte [eax], bh
add byte [eax], al
add byte [ecx + ebx*2 - 0x1153ffbe], dh
inc esp
add byte [ebx], bh
pop es
inc edx
add byte [eax], al
add byte [eax], al
xor al, 0
add byte [eax], al
mov ebp, dword [esi + 0x61000043]
scasb al, byte es:[edi]
inc ebx
add byte [eax], al
popal
add byte [eax + 0x34], al
add byte [ecx], ah
add byte [eax], al
sbb al, byte [eax]
add byte [eax], al
add byte [eax], dl
add byte [eax], al
add byte [eax], al
add byte [eax], dh
add byte [eax], al
add byte [eax], cl
das
inc esp
add byte [edx + 0x28], dh
inc ebx
add byte [eax], bh
add byte [eax], al
add byte [eax], dh
add byte [eax], al
add ah, cl
dec ecx
inc ecx
add byte [ecx], dh
add byte [eax], al
add byte [ecx], dh
add byte [eax], al
add byte [esp + ebx*8], dh
inc ecx
add byte [eax], al
add byte [eax], al
add byte [eax + eax], dh
add byte [eax], al
adc byte [edx + eax*2], bl
jo 0x42de4e
add byte [eax], al
xor byte [eax], al
add byte [eax], al
mov ah, 0x59
inc edx
add byte [ecx - 0x7bffbb12], bh
mov ecx, 0x850041
add byte [eax], al
xor byte [eax], al
add byte [eax], al
inc ebp
mov dword [0x43], eax
add byte [eax], al
xor al, 0
add byte [eax], al
cmp dword [ebx + eax*2 + 0xffff00], 0
xor byte [eax], al
add byte [eax], al
mov ah, 0x59
inc edx
add cl, al
out dx, al
inc esp
add byte [eax], dl
pop esp
inc edx
add byte [ecx], dh
push ecx
add byte [eax], al
xor byte [eax], al
add byte [eax], al
mov ah, 0x59
inc edx
add byte [edx - 0x32ffbd69], cl
push es
inc edx
add byte [eax + eax], al
add byte [edx + ecx*2], ah
inc edx
add al, bl
add edi, dword [ebx + 0xf]
inc ebx
add byte [eax], cl
add byte [eax], al
cmp al, 0
add byte [eax], al
adc dword [edx + eax*2], 0
fild word ds:[edx]
lodsb al, byte [esi]
and dh, byte [ebx]
fadd qword [ebx - 0x2cffbdec]
aaa
inc ebx
add cl, bl
fisttp qword [edx - 0x3f77f3b3]
ja 0x4152e8
shr bp, 0x40
jbe 0x42df5c
cmp cl, byte [edx + 0x2d]
jbe 0x4152e8
fisub dword [ecx - 0xe00f075]
shl dl, 0x20
call fcn.004478da
add esp, 4
test al, al
jb 0x42b00f
jne 0x41da1d
je 0x42df8a
nop
cpuid
ret 0xc088
mov al, al
mov edx, dword [edi]
ja 0x4193b4
jbe 0x42df9a
cpuid
ret
jbe 0x4193b4
fxtract
outsb dx, byte [esi]
mov al, 0x42
add byte [eax], al
popal
add byte [eax + 0x40], al
add byte [ecx], ah
add byte [eax], al
cld
invalid
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea esi, [esi + 8]
mov bx, bx
call fcn.0041abf7
add eax, 0x8c481a4
add byte [eax], al
add byte [edi + 0x5e], bl
xchg bp, ax
xchg bp, ax
push 0x40
mov ecx, ecx
lea eax, [ebp - 0x40]
mov si, si
push 0
jmp 0x442d5f
push eax
call fcn.0041e3ef
xchg cl, al
xchg al, cl
mov esi, dword [ebp + 8]
push 1
mov ah, ah
push esi
call fcn.0043c0a2
push 8
jmp 0x442d7b
push esi
call fcn.00423f83
lea ecx, [ebp - 0x40]
jmp 0x442d86
push ecx
push esi
call fcn.0044d7b3
shr eax, 0x40
push 0x104
push esi
call fcn.0043387f
call fcn.00443f6f
mov eax, eax
jne 0x4230d6
je 0x442db0
nop
cpuid
ret
je 0x4230d6
ficom dword [ecx + 0x66]
mov dword [esi + 0xbc], eax
call fcn.00427c4e
mov dword [eax - 0x3f], 0x4d8d40e9
invalid
push ebp
mov bl, bl
mov ebp, esp
sub esp, 0x40
mov eax, dword [ebp + 0x14]
or ecx, ecx
test eax, eax
jb 0x42ddf2
je 0x448047
push esi
pop esi
jne 0x448042
les ebx, [esi]
mov word [eax], 6
mov eax, dword [ebp + 0x10]
jmp 0x44804b
push ebx
shl dx, 0x20
jmp 0x448052
push esi
cmp eax, 6
push edi
jae 0x442d4e
jb 0x448067
nop
cpuid
ret
pop edi
jno 0x429498
jo 0x448073
sub edi, dword [ebx - 0x7d]
jo 0x429498
invalid