Function at 0x44d3ca
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0xcf256c
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x118
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x14], ebx
mov eax, dword [ecx + 8]
mov dword [ebp - 0x20], ecx
cmp eax, 0x3ffffffe
jb 0x44d508
mov dword [ebp - 0x48], 0xf
lea edx, [ebp - 0x60]
xor eax, eax
mov ecx, 0x13
mov dword [ebp - 0x4c], eax
mov byte [ebp - 0x5c], al
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x2c], 0xd27f1c
mov dword [ebp - 0x30], edx
cmp eax, 0x10
mov dword [ebp - 0x28], 0x13
jb 0x44d43a
mov ebx, dword [ebp - 0x5c]
jmp 0x44d43d
lea ebx, [ebp - 0x5c]
mov edx, 0xd27f1c
cmp edx, ebx
jae 0x44dc80
xor edx, edx
test edx, edx
je 0x44d4a1
cmp eax, 0x10
jb 0x44d45a
mov edx, dword [ebp - 0x5c]
jmp 0x44d45d
lea edx, [ebp - 0x5c]
lea eax, [ebp - 0x60]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], eax
mov ebx, 0xd27f1c
sub ebx, edx
mov edx, dword [ebp - 0x4c]
mov dword [ebp - 0x38], ebx
cmp edx, ebx
jae 0x44d485
call 0xd324f7
mov edx, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x28]
mov ebx, dword [ebp - 0x38]
mov eax, edx
sub eax, ebx
cmp ecx, eax
jb 0x44d48f
mov ecx, eax
mov dword [ebp - 0x44], ecx
jmp 0x44da5b
mov dword [ebp - 0x34], 0x13
cmp eax, 0x13
jb 0x44db9f
mov eax, dword [ebp - 0x34]
test eax, eax
ja 0x44db4d
mov dword [ebp - 4], 8
lea eax, [ebp - 0x60]
push eax
lea ecx, [ebp - 0x90]
call fcn.004500ee
push 0xe4a7c0
lea eax, [ebp - 0x90]
push eax
call 0xcffbd0
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x48]
cmp eax, 0x10
jae 0x44db3f
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x48], 0xf
xor eax, eax
mov dword [ebp - 0x4c], eax
mov byte [ebp - 0x5c], al
mov ebx, dword [ebp + 0x10]
push 0x14
mov esi, dword [ecx + 4]
call 0xcfe161
pop ecx
test eax, eax
je 0x44d532
mov dword [eax], esi
mov dword [eax + 4], ebx
mov dword [eax + 8], esi
mov esi, dword [ebp + 0x14]
mov edi, dword [esi]
mov dword [eax + 0xc], edi
xor edx, edx
mov byte [eax + 0x10], dl
mov byte [eax + 0x11], dl
mov esi, dword [ebp - 0x20]
mov edx, dword [ebp + 0x10]
mov ecx, dword [esi + 4]
add dword [esi + 8], 1
cmp edx, ecx
je 0x44de01
movzx ecx, byte [ebp + 0xc]
test ecx, ecx
je 0x44d55e
mov dword [edx], eax
mov ecx, dword [esi + 4]
cmp edx, dword [ecx]
je 0x44dca7
jmp 0x44d56d
mov dword [edx + 8], eax
mov ecx, dword [esi + 4]
cmp edx, dword [ecx + 8]
je 0x44ddf9
mov edx, dword [eax + 4]
movsx ebx, byte [edx + 0x10]
mov ecx, eax
test ebx, ebx
jne 0x44d621
mov ebx, dword [ecx + 4]
mov edx, dword [ebx + 4]
mov edi, dword [edx]
cmp ebx, edi
je 0x44dd0d
movsx edx, byte [edi + 0x10]
mov dword [ebp + 0x10], edi
test edx, edx
jne 0x44d5b6
mov edx, 1
mov byte [ebx + 0x10], dl
mov byte [edi + 0x10], dl
mov ebx, dword [ecx + 4]
mov edi, dword [ebx + 4]
mov byte [edi + 0x10], 0
mov ecx, dword [ecx + 4]
mov ecx, dword [ecx + 4]
jmp 0x44d612
mov edx, dword [ebx]
cmp ecx, edx
je 0x44dcc1
mov byte [ebx + 0x10], 1
mov edx, dword [ecx + 4]
mov ebx, dword [edx + 4]
mov byte [ebx + 0x10], 0
mov edi, dword [ecx + 4]
mov ebx, dword [edi + 4]
mov edx, dword [ebx + 8]
mov edi, dword [edx]
mov dword [ebx + 8], edi
mov edi, dword [edx]
mov dword [ebp - 0x24], edi
movsx edi, byte [edi + 0x11]
test edi, edi
je 0x44dcb6
mov edi, dword [ebx + 4]
mov dword [edx + 4], edi
mov edi, dword [esi + 4]
cmp ebx, dword [edi + 4]
je 0x44dcae
mov edi, dword [ebx + 4]
cmp ebx, dword [edi]
je 0x44d60b
mov dword [edi + 8], edx
jmp 0x44d60d
mov dword [edi], edx
mov dword [edx], ebx
mov dword [ebx + 4], edx
mov edx, dword [ecx + 4]
movsx ebx, byte [edx + 0x10]
test ebx, ebx
je 0x44d57e
mov edx, dword [esi + 4]
mov ecx, dword [edx + 4]
mov edx, dword [ebp + 8]
test esi, esi
mov byte [ecx + 0x10], 1
mov dword [edx + 4], eax
mov dword [edx], 0
je 0x44dde9
mov edi, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x14]
mov dword [edx], esi
mov esi, dword [ebp - 0x18]
mov eax, edx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 0x10
add ebx, ecx
cmp edx, ebx
jae 0x44da69
call 0xd324f7
mov edx, dword [ebp - 0x4c]
mov eax, edx
sub eax, ebx
cmp eax, 0xffffffff
mov esi, eax
jb 0x44da79
mov esi, 0xffffffff
test esi, esi
ja 0x44dae8
mov ebx, dword [ebp - 0x38]
test edx, edx
jae 0x44da8c
call 0xd324f7
mov edx, dword [ebp - 0x4c]
cmp edx, ebx
jae 0x44da92
mov ebx, edx
test ebx, ebx
jbe 0x44d4bc
mov ecx, dword [ebp - 0x48]
cmp ecx, 0x10
jb 0x44daaa
mov esi, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x5c]
jmp 0x44dab0
lea esi, [ebp - 0x5c]
lea eax, [ebp - 0x5c]
mov byte [ebp - 0xcc], 0
add eax, ebx
sub edx, ebx
push edx
push eax
push ecx
push esi
call 0xcffc95
add esp, 0x10
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x48]
sub edx, ebx
mov dword [ebp - 0x4c], edx
cmp eax, 0x10
jb 0x44dadc
mov eax, dword [ebp - 0x5c]
jmp 0x44dadf
lea eax, [ebp - 0x5c]
mov byte [eax + edx], 0
jmp 0x44d4bc
mov ecx, dword [ebp - 0x48]
cmp ecx, 0x10
jb 0x44daf8
mov edi, dword [ebp - 0x5c]
mov edx, dword [ebp - 0x5c]
jmp 0x44dafe
lea edi, [ebp - 0x5c]
lea edx, [ebp - 0x5c]
mov byte [ebp - 0xc8], 0
add edi, ebx
sub ecx, ebx
add ebx, esi
add ebx, edx
sub eax, esi
push eax
push ebx
push ecx
push edi
call 0xcffc95
add esp, 0x10
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x48]
sub edx, esi
mov dword [ebp - 0x4c], edx
cmp eax, 0x10
jb 0x44db30
mov eax, dword [ebp - 0x5c]
jmp 0x44db33
lea eax, [ebp - 0x5c]
mov byte [eax + edx], 0
mov edx, dword [ebp - 0x4c]
jmp 0x44da7d
push dword [ebp - 0x5c]
call 0xcfe1cb
pop ecx
jmp 0x44d4f6
mov ecx, dword [ebp - 0x30]
mov edx, dword [ecx + 0x18]
cmp edx, 0x10
jb 0x44db5d
mov ecx, dword [ecx + 4]
jmp 0x44db60
add ecx, 4
out dx, eax
lcall 0xcdb0, 0x9bd76ef7
invalid
jne 0x44dbca
lcall 0xafc2, 0x16884f06
jp 0x44db3c
push es
dec edi
mov byte [esi], dl
ret 0x7aaf
adc byte [edx - 0x49], bh
jae 0x44dba2
sar dword [edx - 0x1a], cl
pop eax
push cs
pop eax
invalid
sub dword [edx - 0x73], ebp
pushfd
mov dl, 0x40
mov cl, byte [eax - 0x55ef9c]
pop edi
xchg edi, eax
fcomp dword [eax + 0x46]
xor al, 0x2c
cmpsb byte [esi], byte es:[edi]
adc dl, ch
lcall 0x22fa, 0xebc8d2c4
and dword [ebx], esi
push ebp
ret 0x3b98
cmp edi, dword [0x4aba784b]
mov ebx, 0xcf926494
sbb ecx, 0x7b
cmp dword [ecx - 0x25], ebp
push 0x99ea1d55
out 0x86, al
jg 0x44dc92
neg byte [edx - 1]
imul esi, dword [edx + ecx*2 - 0x5e], 0x38f9a7d2
cli
cmpsd dword [esi], dword es:[edi]
stc
cmp dl, bh
jl 0x44dc41
leave
pop eax
sub byte [ebx + 0x3af74b35], bh
dec ebx
mov bl, 0x5d
or dword [ecx - 0x50], edi
mov al, byte [0x28e63fca]
mov esi, 0xe0725a57
push edi
pop edx
jb 0x44dc64
aaa
inc ebp
adc al, 0xfd
or eax, edx
mov eax, 0x94a18bbf
lahf
cmp al, 0x99
js 0x44dd0b
pop ds
cdq
fcmovnbe st(0), st(2)
pop eax
or eax, 0x7a180b6e
dec esi
pop dword [eax - 0x80]
clc
jne 0x44dcee
mov ch, 0xb8
lds ebp, [eax + 0x77928bd5]
out dx, eax
cwde
ljmp 0x2263
push 0xa8aa784b
cdq
xchg edx, eax
mov edx, 0x889b8208
mov al, dl
or cl, dl
cmpsb byte [esi], byte es:[edi]
fst qword [ebp + edi*2 - 0xb]
mov ebp, 0x9072fc75
out dx, eax
xor al, 0xab
jge 0x44dcc2
ror byte [edx], 1
retf 0xdda6
dec ebp
mov ch, 0xdd
or byte [edx], cl
ljmp 0x884c
lodsb al, byte [esi]
jle 0x44dd19
stosb byte es:[edi], al
insb byte es:[edi], dx
dec esi
cmp al, ah
lahf
aam 0xb5
inc edx
stc
xchg ebx, eax
cmp dword [edi - 0x52], 0x19a184b
retf
sbb eax, 0xd1129ab1
push eax
add bh, byte [eax + 0x35]
lcall 0x3578, 0x250d112
test al, 0x9b
inc edi
push ebp
wait
pop edx
cmp ecx, dword [ebx + 0x7f]
push cs
loopne 0x44dd64
and dl, al
daa
fcmovb st(0), st(7)
inc esi
sbb al, 0x36
test al, 0x62
test eax, 0x99aca9d1
invalid
pop eax
push ss
int1
push esp
invalid
pop ebp
sbb ecx, dword [0xe04dbb18]
aam 0x7d
and eax, 0xc7fbca1a
scasb al, byte es:[edi]
invalid
dec esp
jle 0x44dddc
push 0x63
out dx, eax
test eax, 0xf04709c5
xor esp, dword [esi + 0x2a]
cmpsd dword [esi], dword es:[edi]
jb 0x44ddb4
xlatb
sbb edi, dword [ebp + 0x6b]
wait
scasd eax, dword es:[edi]
sar byte [edx + 0x31], 1
scasb al, byte es:[edi]
bound ecx, qword [edx - 0x7aa50d57]
mov ecx, 0xa4e59c79
pop edx
test dword [ecx - 0x5b1a6387], edi
sub dword [edi], ebp
adc eax, dword [eax - 0x66]
int 0xc3
jmp 0xa952af6e
jno 0x44ddcc
or eax, 0x695860a9
stosd dword es:[edi], eax
stosd dword es:[edi], eax
out 0xaf, eax
cmp byte [ecx + ebx*8], dl
xor edi, dword [eax - 0xe]
scasb al, byte es:[edi]
push ebp
or byte [edx - 0x3b122667], ch
invalid