Function at 0x421131
Capabilities:
Encode data using xor

Disassembly:
jmp 0x421005
pushal
call 0x42101f
pop ebp
sub ebp, 0
push 0x45
call 0x4210bc
push 0
call 0x3a2d717b
and byte [ebp + 0x78], al
arpl word [ecx + 0x6c], sp
imul esp, dword [edx + 0x75], 0x63282072
sub dword [eax], esp
bound edi, qword [ecx + 0x20]
outsw dx, word [esi]
jb 0x4210a0
outsd dx, dword [esi]
je 0x42106b
jne 0x421091
das
inc esp
inc esi
inc ebx
inc edi
and byte [eax], ah
and byte [eax], ah
and byte [eax], ah
and byte [eax], ah
and byte [eax], ah
and byte [eax], ah
and byte [eax], ah
and byte [eax], ah
and byte [eax], ah
and byte [eax], ah
and byte [eax], ah
and byte [0x9c9c600a], cl
push 0x63
jae 0x42106e
jmp 0x421067
call 0x421072
call 0xe9398459
call 0xeb46d4f9
add ch, al
call 0x71661d7c
add eax, ebp
add al, ch
call 0xe92b07e5
add esp, 4
jae 0x421067
call 0x506945d
jmp 0x421079
dec dword [esp]
jno 0x42107f
call 0x1bcf0fc
jns 0x421061
jp 0x421084
call 0x9d46d50b
add esp, 4
popfd
jmp 0x42108b
call 0x421091
jmp 0xaf2f91f2
pop ebp
sub ebp, 0x4028ae
pushfd
push 0x63
jae 0x4210a8
jmp 0x4210a1
imul ebp, eax, 6
call 0x4210ac
imul ebp, dword [ecx + 0x73], 0x836969f7
les eax, [ebx + ebp*8]
add ch, byte [ecx + 0x69]
dec dword [esp]
jno 0x4210b9
jae 0x4210a1
imul ebp, dword [ecx - 0x7d], 0x2eb04c4
imul ebp, dword [ecx - 1], 0x171240c
imul edi, dword [ecx - 0x20], 0x8369017a
les eax, [ebx*4 - 0x1796fe15]
out 2, eax
add byte [eax], al
jns 0x42109b
jp 0x4210be
imul eax, dword [ebx - 0x1462fb3c], 0xe7e86901
add al, byte [eax]
add al, ch
pushfd
push 0x63
add esp, 4
popfd
jmp 0x4210c5
call 0x4213b1
call 0x73a57b6b
or ebp, ebx
add ch, byte [ecx + 0x69]
jae 0x4210db
jmp 0x4210d4
call 0x4210df
imul ebp, dword [ecx + 0x73], 0x836969f7
les eax, [ebx + ebp*8]
add ch, byte [ecx + 0x69]
dec dword [esp]
jno 0x4210ec
jae 0x4210d4
imul ebp, dword [ecx - 0x7d], 0x2eb04c4
imul ebp, dword [ecx - 1], 0x171240c
imul edi, dword [ecx - 0x20], 0x8369017a
les eax, [ebx*4 - 0x1796fe15]
mov ah, 2
add byte [eax], al
jns 0x4210ce
jp 0x4210f1
imul eax, dword [ebx - 0x1462fb3c], 0xb4e86901
add al, byte [eax]
add al, ch
pushal
call 0x421107
add esp, 4
popfd
jmp 0x4210f8
call 0x4213b1
call 0x45f962
add byte [eax], al
xchg esi, eax
jmp 0x421111
popal
lea edx, [ebp + 0x4029e4]
call fcn.00421398
pushfd
push 0x63
jae 0x42112d
jmp 0x421126
call 0x421131
imul ebp, dword [ecx + 0x73], 0x836969f7
les eax, [ebx + ebp*8]
add ch, byte [ecx + 0x69]
dec dword [esp]
jno 0x42113e
jae 0x421126
imul ebp, dword [ecx - 0x7d], 0x2eb04c4
imul ebp, dword [ecx - 1], 0x171240c
imul edi, dword [ecx - 0x20], 0x8369017a
les eax, [ebx*4 - 0x7296fe15]
mov ebp, 0x402cc8
jns 0x421120
jp 0x421143
imul eax, dword [ebx - 0x1462fb3c], 0xbd8d6901
enter 0x402c, 0
add esp, 4
popfd
jmp 0x42114a
lea edi, [ebp + 0x402cc8]
mov ecx, 0x8b03
mov edx, 0xf126e13b
mov al, byte [edi]
rol al, cl
add al, cl
add al, ch
add al, dl
add al, dh
ror al, cl
sub al, cl
sub al, ch
not al
sub al, dl
sub al, dh
rol al, cl
ror al, cl
xor al, cl
not al
xor al, ch
xor al, dl
xor al, dh
rol edx, cl
mov byte [edi], al
inc edi
dec ecx
jne 0x42115a
pushfd
push 0x63
jae 0x421198
jmp 0x421191
call 0x42119c
call 0xe9398583
call 0xeb46d623
add ch, al
call 0x71661ea6
add eax, ebp
jae 0x421191
call 0x5069587
jmp 0x4211a3
dec dword [esp]
jno 0x4211a9
call 0x1bcf226
jns 0x42118b
jp 0x4211ae
call 0x9d46d635
add esp, 4
popfd
jmp 0x4211b5
ud2