Function at 0x424161
Capabilities:
Encode data using xor

Disassembly:
xor dx, dx
adc eax, 0x8607f018
sar cx, 0xec
not eax
xor ebx, eax
inc ecx
add ebp, eax
add edx, ebp
jmp edx
movzx ecx, al
xor edx, ebx
or cx, ax
push ecx
btc ax, 0x83
neg edx
shl ecx, cl
dec edx
sub cx, ax
not edx
xchg dword [esp + eax - 0x1987ab18], ecx
inc dword [esp + eax*4 - 0x661eac60]
push eax
inc edx
add dword [esp + eax - 0x1987ab18], 0x79a83b8b
shr ax, 0xe2
xor ebx, edx
add ebp, edx
xadd al, ch
mov cx, word [esi + eax*2 - 0x330e54e2]
lea edx, [eax*8 + 0x4301b81c]
lea esi, [esi + edx*8 - 0x79d85d1e]
div eax
xor cx, bx
neg cx
shr byte [esp + edx - 0x2b84080], 6
jae 0x42381b
mov edx, 0x5a937a4
mov ecx, edx
mov ecx, dword [esi + edx*4 - 0x16a4de90]
shl dx, 0xaa
lea esi, [esi + edx*4 - 0x16a63ffc]
sar dx, 0x62
or dl, dl
lea eax, [edx + edx*4 + 0x472a3501]
xor ecx, ebx
inc ecx
inc edx
rol ecx, 3
sub ecx, 0xed34d62e
sub eax, edx
not dx
imul edx
bswap ecx
ror ecx, 1
sal dl, 0x46
lea edx, [edx*4 - 0x22ce485e]
bts ax, ax
xor ebx, ecx
cwde
sar al, 0xe1
add ebp, ecx
sal edx, 0x63
lea eax, [edx + 0x6c056c99]
mov eax, dword [edx + edi - 0x2bf00d10]
or dl, 0xa2
mov ecx, dword [edi + edx - 0x2bf00dae]
and edx, edx
lea edi, [edi + edx - 0x2bf00dae]
adc edx, edx
or eax, ecx
not eax
mov ecx, 0xf188ec0a
imul edx, ecx
lea edx, [ecx - 0x564f4d7b]
mov dword [edi], eax
shr dl, 0x25
jmp ebp
inc cx
push edx
pop eax
imul edx
neg cx
bt eax, edx
dec cx
add edx, edx
neg cx
cwde
push edx
xor bx, cx
lea edi, [eax + edi - 0x4626]
mov word [eax + edi - 0x4624], cx
pop edx
pop eax
pop eax
jmp loc.00411a16
lea ecx, [esp + ecx + 8]
not word [esp + 4]
mov byte [ecx], al
movsx ecx, dl
mov eax, dword [esi]
call fcn.00408b58
mov edx, 0xaa95e304
mov ecx, dword [edi]
dec edx
movzx eax, dx
mov al, byte [edi + eax - 0xe2ff]
add edi, 6
mov byte ss:[ecx], al
movzx eax, dl
cbw
or edx, edx
mov eax, dword [esi + eax*2 - 6]
movzx ecx, dx
lea esi, [esi + ecx*4 - 0x38c08]
or dx, cx
btr dx, cx
shl dword [esi + 0xf], 1
mov bl, 0xca
xor eax, ebx
lea eax, [edx + eax - 0x1eff935f]
xchg edx, ecx
xor ecx, ecx
bswap eax
jae 0x408ce6
dec ebx
xchg esi, eax
jne 0x4241ac
jno 0x42420e
mov ss, word [esi]
adc ebx, dword [ebx - 0x58]
jo 0x424252
sub al, byte [esi + 0x762616c5]
push esi
jg 0x4241d3
salc
jno 0x424208
add bh, dh
wait
sub dl, ah
dec ebp
pop eax
pop esi
push 0x68
mov dl, byte [ebx]
xchg dword [edi + 0x4315c40b], ebp
add edi, dword [edi]
inc ecx
sub byte [ecx + 0xc3b1058], 0x55
push 0x7a
outsd dx, dword [esi]
mov byte [0x65d259c7], al
in al, 0x56
imul byte [ebx]
xor bh, byte [edi + 0x20]
shl byte [edx - 0x62], 0x27
daa
pop eax
mov bl, 0xac
retf
sbb al, 0xd6
mov dword [0x10f3c2], eax
jp 0x424277
add byte [edx + 0x1c], bh
sub ebp, dword [0x5f3cf33f]
jnp 0x42427f
pop edi
invalid
or al, 0x4f
dec edi
fnstcw word [ebp - 0x1f31681]
invalid
lcall 0xb9b2, 0x6184851f
das
mov dword [0x39743ba8], eax
test al, 0x3b
je 0x4242c6
xor dword [edi], ebx
cmp eax, 0x846b970c
jecxz 0x424258
and dword [ecx - 0x80], eax
out 0xd4, al
cmp dword [ecx + ebp*2], ecx
stosb byte es:[edi], al
jno 0x4242a7
adc byte [ebp + 0x257fffbf], 0
mov al, 0x49
jb 0x424289
and eax, 0x7249b000
fmul qword [eax - 0xba0e90d]
add ecx, dword [eax - 0x3b]
jp 0x424276
mov bl, dh
push ss
pop edi
hlt
jg 0x4242d9
or esi, dword [eax]
sbb dl, byte [ecx]
outsb dx, byte [esi]
stosd dword es:[edi], eax
sub al, 0x6c
mov bh, 0x41
or dl, 0x61
pop ecx
mov edi, 0xd49c197f
mov edi, 0x781b5c7f
mov esi, 0x68a1307f
inc edx
or byte [esi - 0x62], 3
cli
sahf
add edi, edx
inc ecx
add byte [edi + 0x74], 0x98
inc ebx
add byte [edx - 0x2c], 0x40
sbb byte [ebx - 0x48], 0x10
stosd dword es:[edi], eax
xchg dword [ecx], ebx
mov edx, dword [esi + eax*2 - 0x330f5620]
lea esi, [esi + eax - 0x1987ab0c]
jmp 0x4195a2