Function at 0x425ade
Capabilities:
Encode data using xor

Disassembly:
cmp byte [0x44672e], 0
je 0x425aec
call fcn.004257b4
test byte [0x446744], 4
je 0x425afa
call fcn.00425b2e
and byte [0x446744], 0xfa
cmp byte [0x445acd], 3
jae 0x426429
jmp 0x426028
cmp byte [0x445acd], 0
je 0x42633e
cmp byte [0x4467a3], 1
je 0x426165
ja 0x426277
pushal
mov edi, dword [0x4467a8]
add edi, dword [0x42d0d8]
add edi, dword [0x446790]
add edi, dword [0x446794]
cmp byte [0x4467a4], 0
je 0x426076
mov byte [0x4467a4], 0
call fcn.00425b2e
cmp byte [0x42e859], 0
mov eax, 0x48d800
jne 0x4260a0
mov ax, word [0x445e14]
and eax, 0xff00
cmp ah, 0x20
jb 0x42609b
add eax, section.sect_2
jmp 0x4260a0
add eax, 0x474000
cmp dword [0x44679c], eax
je 0x4260b2
mov dword [0x44679c], eax
call fcn.00425b2e
movzx esi, word [0x4467a0]
add esi, section.sect_2
mov ch, 0x18
mov ebp, 0x48c000
inc esi
mov cl, 0x20
nop
mov bl, byte [esi]
inc esi
cmp bl, 0x76
jne 0x4260d5
dec esi
mov bl, 0
cmp bl, byte [ebp]
jne 0x4260f4
inc ebp
add edi, 8
dec cl
jne 0x4260ca
add edi, 0x900
dec ch
jne 0x4260c6
call fcn.00425c5f
popal
ret
mov dh, bl
rol dh, 1
and dh, 1
and ebx, 0x3f
shl ebx, 3
add ebx, dword [0x44679c]
mov dl, byte [ebx]
inc ebx
xor ax, ax
add dl, dl
adc al, al
add dl, dl
adc ah, ah
xor al, dh
xor ah, dh
stosw word es:[edi], ax
xor ax, ax
add dl, dl
adc al, al
add dl, dl
adc ah, ah
xor al, dh
xor ah, dh
stosw word es:[edi], ax
xor ax, ax
add dl, dl
adc al, al
add dl, dl
adc ah, ah
xor al, dh
xor ah, dh
stosw word es:[edi], ax
xor ax, ax
add dl, dl
adc al, al
add dl, dl
adc ah, ah
xor al, dh
xor ah, dh
stosw word es:[edi], ax
add edi, 0x138
test bl, 7
jne 0x426107
sub edi, 0xa00
jmp 0x4260da
pushal
mov edi, dword [0x4467a8]
add edi, dword [0x42d0d8]
add edi, dword [0x446790]
add edi, dword [0x446794]
cmp byte [0x4467a4], 1
je 0x426193
mov byte [0x4467a4], 1
call fcn.00425b2e
cmp byte [0x42e859], 0
mov eax, 0x48d800
jne 0x4261bd
mov ax, word [0x445e14]
and eax, 0xff00
cmp ah, 0x20
jb 0x4261b8
add eax, section.sect_2
jmp 0x4261bd
add eax, 0x474000
cmp dword [0x44679c], eax
je 0x4261cf
mov dword [0x44679c], eax
call fcn.00425b2e
movzx esi, word [0x4467a0]
add esi, section.sect_2
mov ch, 0xc0
mov ebp, 0x48c000
nop
inc esi
mov cl, 0x20
nop
mov bl, byte [esi]
inc esi
cmp bl, byte [ebp]
jne 0x426206
inc ebp
add edi, 8
dec cl
jne 0x4261e8
add edi, 0x40
dec ch
jne 0x4261e4
call fcn.00425d52
popal
ret
mov byte [ebp], bl
mov edx, ebp
and edx, 0xffffff1f
mov byte [edx], 0x76
mov dh, bl
rol dh, 1
and dh, 1
and ebx, 0x3f
shl ebx, 3
add ebx, dword [0x44679c]
mov dl, byte [ebx]
inc ebx
xor ax, ax
add dl, dl
adc al, al
add dl, dl
adc ah, ah
xor al, dh
xor ah, dh
stosw word es:[edi], ax
xor ax, ax
add dl, dl
adc al, al
add dl, dl
adc ah, ah
xor al, dh
xor ah, dh
stosw word es:[edi], ax
xor ax, ax
add dl, dl
adc al, al
add dl, dl
adc ah, ah
xor al, dh
xor ah, dh
stosw word es:[edi], ax
xor ax, ax
add dl, dl
adc al, al
add dl, dl
adc ah, ah
xor al, dh
xor ah, dh
stosw word es:[edi], ax
sub edi, 8
jmp 0x4261f0
pushal
mov edi, dword [0x4467a8]
add edi, dword [0x42d0d8]
add edi, dword [0x446790]
add edi, dword [0x446794]
cmp byte [0x4467a4], 2
je 0x4262a5
mov byte [0x4467a4], 2
call fcn.00425b2e
movzx esi, word [0x4467a0]
add esi, section.sect_2
mov bh, byte [0x4467a2]
mov ch, 0xc0
mov ebp, 0x48c000
nop
mov cl, 0x20
mov bl, byte [esi]
inc esi
xor bl, bh
cmp bl, byte [ebp]
jne 0x4262e2
inc ebp
add edi, 8
dec cl
jne 0x4262c2
add edi, 0x40
dec ch
jne 0x4262c0
call fcn.00425e4a
popal
ret
mov byte [ebp], bl
mov edx, ebp
and edx, 0xffffff1f
mov byte [edx], 0x76
mov dl, bl
mov dh, 0
xor ax, ax
add dl, dl
adc al, al
add dl, dl
adc ah, ah
xor al, dh
xor ah, dh
stosw word es:[edi], ax
xor ax, ax
add dl, dl
adc al, al
add dl, dl
adc ah, ah
xor al, dh
xor ah, dh
stosw word es:[edi], ax
xor ax, ax
add dl, dl
adc al, al
add dl, dl
adc ah, ah
xor al, dh
xor ah, dh
stosw word es:[edi], ax
xor ax, ax
add dl, dl
adc al, al
add dl, dl
adc ah, ah
xor al, dh
xor ah, dh
stosw word es:[edi], ax
sub edi, 8
jmp 0x4262cc
pushal
mov edi, dword [0x4467a8]
add edi, dword [0x42d0d8]
add edi, dword [0x446790]
add edi, dword [0x446794]
cmp byte [0x4467a4], 4
je 0x42636c
mov byte [0x4467a4], 4
call fcn.00425b2e
call fcn.00425b2e
mov eax, 0x456c00
mov dword [0x44679c], eax
mov word [0x4467a0], 0x2400
movzx esi, word [0x4467a0]
add esi, section.sect_2
mov ch, 0x18
mov ebp, 0x48c000
mov cl, 0x20
mov bl, byte [esi]
inc esi
jmp 0x4263b8
inc ebp
add edi, 8
dec cl
jne 0x42639a
add edi, 0x900
dec ch
jne 0x426398
call fcn.00425f40
popal
ret
mov dh, bl
rol dh, 1
and dh, 1
and ebx, 0x7f
shl ebx, 3
add ebx, 0x456c00
mov dl, byte [ebx]
inc ebx
xor ax, ax
add dl, dl
adc al, al
add dl, dl
adc ah, ah
xor al, dh
xor ah, dh
stosw word es:[edi], ax
xor ax, ax
add dl, dl
adc al, al
add dl, dl
adc ah, ah
xor al, dh
xor ah, dh
stosw word es:[edi], ax
xor ax, ax
add dl, dl
adc al, al
add dl, dl
adc ah, ah
xor al, dh
xor ah, dh
stosw word es:[edi], ax
xor ax, ax
add dl, dl
adc al, al
add dl, dl
adc ah, ah
xor al, dh
xor ah, dh
stosw word es:[edi], ax
add edi, 0x138
test bl, 7
jne 0x4263cb
sub edi, 0xa00
jmp 0x42639f
pushal
mov edi, dword [0x4467a8]
add edi, dword [0x42d0d8]
add edi, dword [0x446790]
add edi, dword [0x446794]
call fcn.00425b2e
test byte [0x446786], 4
jne 0x426545
test byte [0x446786], 2
jne 0x42662a
test byte [0x446786], 1
mov esi, 0x45a000
jne 0x426482
test byte [0x446783], 8
mov esi, 0x458000
je 0x426482
mov esi, section.sect_2
mov al, byte [0x446785]
and al, 7
cmp al, byte [0x4467a5]
je 0x42649b
mov byte [0x4467a5], al
call fcn.00426701
xor ebx, ebx
lea ebp, [esi + 0x1800]
mov ch, 3
mov cl, 8
push ecx
mov ch, 8
mov cl, 0x20
mov bl, byte [ebp]
inc ebp
mov dx, word [ebx*2 + 0x446830]
mov bl, byte [esi]
add bl, bl
mov al, dh
jb 0x4264c2
mov al, dl
stosb byte es:[edi], al
add bl, bl
mov al, dh
jb 0x4264cb
mov al, dl
stosb byte es:[edi], al
add bl, bl
mov al, dh
jb 0x4264d4
mov al, dl
stosb byte es:[edi], al
add bl, bl
mov al, dh
jb 0x4264dd
mov al, dl
stosb byte es:[edi], al
add bl, bl
mov al, dh
jb 0x4264e6
mov al, dl
stosb byte es:[edi], al
add bl, bl
mov al, dh
jb 0x4264ef
mov al, dl
stosb byte es:[edi], al
add bl, bl
mov al, dh
jb 0x4264f8
mov al, dl
stosb byte es:[edi], al
add bl, bl
mov al, dh
jb 0x426501
mov al, dl
stosb byte es:[edi], al
inc esi
dec cl
jne 0x4264ac
sub bp, 0x20
add edi, 0x40
add esi, 0xe0
dec ch
jne 0x4264aa
pop ecx
add bp, 0x20
add esi, 0xfffff820
dec cl
jne 0x4264a7
add esi, 0x700
dec ch
jne 0x4264a5
jmp 0x42653e
call fcn.00426701
popal
ret
mov esi, 0x458000
mov al, byte [0x446786]
shr al, 3
and al, 7
xor al, 0xf
cmp al, byte [0x4467a5]
je 0x426568
mov byte [0x4467a5], al
call fcn.00426701
mov dh, byte [0x446786]
shr dh, 3
and dh, 7
mov dl, dh
xor dl, 7
mov ch, 3
mov cl, 8
push ecx
mov ch, 8
mov cl, 0x20
mov bh, byte [esi]
mov bl, byte [esi + 0x2000]
test bh, 0xc0
mov al, dh
jne 0x426593
mov al, dl
stosb byte es:[edi], al
shl ebx, 2
test bh, 0xc0
mov al, dh
jne 0x4265a0
mov al, dl
stosb byte es:[edi], al
shl ebx, 2
test bh, 0xc0
mov al, dh
jne 0x4265ad
mov al, dl
stosb byte es:[edi], al
shl ebx, 2
test bh, 0xc0
mov al, dh
jne 0x4265ba
mov al, dl
stosb byte es:[edi], al
shl ebx, 2
test bh, 0xc0
mov al, dh
jne 0x4265c7
mov al, dl
stosb byte es:[edi], al
shl ebx, 2
test bh, 0xc0
mov al, dh
jne 0x4265d4
mov al, dl
stosb byte es:[edi], al
shl ebx, 2
test bh, 0xc0
mov al, dh
jne 0x4265e1
mov al, dl
stosb byte es:[edi], al
shl ebx, 2
test bh, 0xc0
mov al, dh
jne 0x4265ee
mov al, dl
stosb byte es:[edi], al
shl ebx, 2
inc esi
dec cl
jne 0x426582
add edi, 0x40
add esi, 0xe0
dec ch
jne 0x426580
pop ecx
add esi, 0xfffff820
dec cl
jne 0x42657d
add esi, 0x700
dec ch
jne 0x42657b
jmp 0x42653e
mov esi, 0x458000
mov al, byte [0x446785]
and al, 7
cmp al, byte [0x4467a5]
je 0x426648
mov byte [0x4467a5], al
call fcn.00426701
xor ebx, ebx
mov ch, 3
mov cl, 8
push ecx
mov ch, 8
mov cl, 0x20
mov bl, byte [esi + 0x2000]
mov dx, word [ebx*2 + 0x446830]
mov bl, byte [esi]
add bl, bl
mov al, dh
jb 0x42666b
mov al, dl
stosb byte es:[edi], al
add bl, bl
mov al, dh
jb 0x426674
mov al, dl
stosb byte es:[edi], al
add bl, bl
mov al, dh
jb 0x42667d
mov al, dl
stosb byte es:[edi], al
add bl, bl
mov al, dh
jb 0x426686
mov al, dl
stosb byte es:[edi], al
add bl, bl
mov al, dh
jb 0x42668f
mov al, dl
stosb byte es:[edi], al
add bl, bl
mov al, dh
jb 0x426698
mov al, dl
stosb byte es:[edi], al
add bl, bl
mov al, dh
jb 0x4266a1
mov al, dl
stosb byte es:[edi], al
add bl, bl
mov al, dh
jb 0x4266aa
mov al, dl
stosb byte es:[edi], al
inc esi
dec cl
jne 0x426653
add edi, 0x40
add esi, 0xe0
dec ch
jne 0x426651
pop ecx
add esi, 0xfffff820
dec cl
jne 0x42664e
add esi, 0x700
dec ch
jne 0x42664c
jmp 0x42653e