Function at 0x442880
Capabilities:
Encode data using xor

Disassembly:
push 0xb0
mov eax, 0x5a6826
add byte [eax], al
add byte [eax + 0x5a6826], bh
call fcn.00437119
mov ebx, ecx
mov dword [ebp - 0xbc], ebx
lea eax, [ebx + 4]
push eax
lea ecx, [ebp - 0x40]
call fcn.004028f0
and dword [ebp - 4], 0
cmp dword [ebp - 0x30], 0
je 0x442c6e
lea ecx, [ebx + 0x1c]
call fcn.00411f70
call fcn.00425000
test al, al
je 0x4428d3
adc ebp, dword [ebx + 0xd]
js 0x442882
adc eax, 0x5cf07d70
mov esi, 0x7c7f9f38
leave
pop ebp
call fcn.00424d09
test al, al
je 0x4428fb
jb 0x442914
jae 0x442901
inc byte [0x2e0f45f9]
lcall 0xd609, 0xb4dc8ba8
ucomiss xmm3, dword [edx - 0x4b237458]
or esi, edx
out 0x5e, eax
dec eax
xor eax, 0xc0995d6
les eax, [esi + 0xe]
jle 0x44291a
jae 0x4428e4
call fcn.00424b26
test al, al
je 0x44291a
and bh, dh
inc dword [eax + eax*8 - 0x52c0e98c]
sal byte [esi + edx + 0x3f], 0xad
aas
lodsd eax, dword [esi]
fild dword [esi + 0x68dfe92e]
movsb byte es:[edi], byte [esi]
test dword [edx - 0x33], ecx
mov esi, 0x381e52c2
mov esp, 0xc0b8bfc8
cmp byte [eax + ecx*8 + 0x6ac0b8bf], bh
pop es
push 7
pop ebx
xor eax, eax
mov dword [ebp - 0x44], ebx
mov esi, 0x5a81d8
mov word [ebp - 0x58], ax
xor edi, edi
push esi
mov dword [ebp - 0x48], edi
call fcn.004549af
pop ecx
push eax
push esi
lea ecx, [ebp - 0x58]
call fcn.00401ac0
xor eax, eax
mov byte [ebp - 4], 1
mov esi, 0x5a81e0
mov dword [ebp - 0x8c], ebx
push esi
mov dword [ebp - 0x90], edi
mov word [ebp - 0xa0], ax
call fcn.004549af
pop ecx
push eax
push esi
lea ecx, [ebp - 0xa0]
call fcn.00401ac0
xor eax, eax
mov byte [ebp - 4], 2
mov esi, 0x5a81d4
mov dword [ebp - 0xa4], ebx
push esi
mov dword [ebp - 0xa8], edi
mov word [ebp - 0xb8], ax
call fcn.004549af
pop ecx
push eax
push esi
lea ecx, [ebp - 0xb8]
call fcn.00401ac0
mov byte [ebp - 4], 3
call fcn.00425114
test al, al
je 0x4429c5
dec edx
bswap eax
movsd dword es:[edi], dword [esi]
mov dl, byte [edi - 0x37]
add dword [esi + 0x1468c03f], ebp
cmpsd dword [esi], dword es:[edi]
cmp edi, eax
mov bl, byte [edx + 0x26c0e80f]
invalid
call fcn.0042508a
test al, al
je 0x4429e9
xchg dword gs:[ebx + 0x3c476ae0], edx
add eax, 0x9a57f17e
dec edi
cmp al, 0xa0
dec edx
das
mov eax, 0xb2b90f50
inc ebx
mov edx, 0xe871d5ce
push edi
invalid
call fcn.00425045
test al, al
je 0x442a0b
dec esi
pop edx
push ebx
test ebp, edx
add ecx, dword [ebx + 1]
int1
lea edi, [edx + 5]
movsb byte es:[edi], byte [esi]
mov esp, dword [edi - 0x3fc84439]
pop dword [esi]
xchg esi, eax
mov dl, 0x1b
outsb dx, byte [esi]
mov edi, dword [ebp - 0xbc]
xor ebx, ebx
push 7
pop esi
push ebx
xor eax, eax
mov dword [ebp - 0x14], esi
push 0x622454
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x18], ebx
mov word [ebp - 0x28], ax
call fcn.00401ac0
push ebx
xor eax, eax
mov byte [ebp - 4], 4
push 0x622454
lea ecx, [ebp - 0x88]
mov dword [ebp - 0x74], esi
mov dword [ebp - 0x78], ebx
mov word [ebp - 0x88], ax
call fcn.00401ac0
cmp dword [ebp - 0x44], 8
lea esi, [ebp - 0x58]
mov byte [ebp - 4], 5
cmovae esi, dword [ebp - 0x58]
cmp word [esi], bx
jne 0x442a6c
mov eax, ebx
jmp 0x442a73
push esi
call fcn.004549af
pop ecx
push eax
push ebx
push esi
lea ecx, [ebp - 0x40]
call fcn.00405380
cmp eax, 0xffffffff
je 0x442c2c
add eax, dword [ebp - 0x48]
lea ecx, [ebp - 0x40]
push 0xffffffffffffffff
push eax
lea eax, [ebp - 0x70]
push eax
call fcn.00421af5
push eax
lea ecx, [ebp - 0x40]
call fcn.004052f0
push ebx
push 1
lea ecx, [ebp - 0x70]
call fcn.00401a00
cmp dword [ebp - 0x8c], 8
lea esi, [ebp - 0xa0]
cmovae esi, dword [ebp - 0xa0]
cmp word [esi], bx
jne 0x442aca
mov eax, ebx
jmp 0x442ad1
push esi
call fcn.004549af
pop ecx
push eax
push ebx
push esi
lea ecx, [ebp - 0x40]
call fcn.00405380
mov esi, eax
cmp esi, 0xffffffff
jle 0x442c0a
push esi
push ebx
lea eax, [ebp - 0x70]
push eax
lea ecx, [ebp - 0x40]
call fcn.00421af5
push eax
lea ecx, [ebp - 0x88]
call fcn.004052f0
push ebx
push 1
lea ecx, [ebp - 0x70]
call fcn.00401a00
mov eax, dword [ebp - 0x90]
lea ecx, [ebp - 0x40]
push 0xffffffffffffffff
add eax, esi
push eax
lea eax, [ebp - 0x70]
push eax
call fcn.00421af5
push eax
lea ecx, [ebp - 0x40]
call fcn.004052f0
push ebx
push 1
lea ecx, [ebp - 0x70]
call fcn.00401a00
cmp dword [ebp - 0x44], 8
lea esi, [ebp - 0x58]
cmovae esi, dword [ebp - 0x58]
cmp word [esi], bx
jne 0x442b4b
mov eax, ebx
jmp 0x442b52
push esi
call fcn.004549af
pop ecx
push eax
push ebx
push esi
lea ecx, [ebp - 0x40]
call fcn.00405380
cmp eax, 0xffffffff
jle 0x442bd6
push eax
push ebx
lea eax, [ebp - 0x70]
push eax
lea ecx, [ebp - 0x40]
call fcn.00421af5
push eax
lea ecx, [ebp - 0x28]
call fcn.004052f0
push ebx
push 1
lea ecx, [ebp - 0x70]
call fcn.00401a00
push 0xffffffffffffffff
push dword [ebp - 0x18]
lea eax, [ebp - 0x70]
push eax
lea ecx, [ebp - 0x40]
call fcn.00421af5
push eax
lea ecx, [ebp - 0x40]
call fcn.004052f0
push ebx
push 1
lea ecx, [ebp - 0x70]
call fcn.00401a00
mov eax, dword [ebp - 0x18]
cmp eax, 1
jbe 0x442be5
dec eax
lea ecx, [ebp - 0x28]
push eax
push ebx
lea eax, [ebp - 0x70]
push eax
call fcn.00421af5
push eax
lea ecx, [ebp - 0x28]
call fcn.004052f0
push ebx
push 1
lea ecx, [ebp - 0x70]
call fcn.00401a00
jmp 0x442be5
push 0xffffffffffffffff
push ebx
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x28]
call fcn.00401bc0
cmp dword [ebp - 0x14], 8
lea ecx, [ebp - 0x28]
lea eax, [ebp - 0x88]
cmovae ecx, dword [ebp - 0x28]
cmp dword [ebp - 0x74], 8
push ecx
cmovae eax, dword [ebp - 0x88]
mov ecx, edi
push eax
call fcn.00442c81
push ebx
push 1
lea ecx, [ebp - 0x88]
call fcn.00401a00
push ebx
push 1
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 3
call fcn.00401a00
jmp 0x442a13
push ebx
push 1
lea ecx, [ebp - 0x88]
call fcn.00401a00
push ebx
push 1
lea ecx, [ebp - 0x28]
call fcn.00401a00
push ebx
push 1
lea ecx, [ebp - 0xb8]
call fcn.00401a00
push ebx
push 1
lea ecx, [ebp - 0xa0]
call fcn.00401a00
push ebx
push 1
lea ecx, [ebp - 0x58]
call fcn.00401a00
jmp 0x442c70
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x40]
call fcn.00401a00
call fcn.004370d4
ret