Function at 0x402129
Capabilities:
Encode data using xor

Disassembly:
invalid
push dword [ebp + 0x61]
push dword ss:[ebp - 5]
sar bh, 0x75
add byte [eax], al
add byte [eax], al
btr dword [ecx + 0x75], esp
daa
jne 0x4020cd
pop ebp
jne 0x40211f
fcomp qword [ebp + 0x75]
push ecx
rcr dword [ebx + 0x75], 0x94
cwde
pop ebx
jne 0x4020a4
pushfd
pop ebx
jne 0x40204a
xchg edi, eax
pop ebx
jne 0x4020be
add byte [eax], al
add byte [ecx + 0x67], cl
out dx, al
ja 0x4020c6
add byte [eax], al
add byte [edi], dl
jb 0x402093
jne 0x4020da
or al, 0x59
pop ecx
retf
pop ebx
ret
dec ecx
ja 0x402153
sbb eax, 0xc927774a
pop edi
pop esi
pop edx
pop ecx
ret
mov dword [ecx], esp
je 0x4021a5
jp 0x4020ba
jbe 0x402194
inc edi
ror byte [ebp + 0x6b327289], 0xc7
in eax, dx
mov dword [eax*2 - 0x76be45bb], eax
popal
mov dword [ecx + ecx*4], 0x6e8d0050
add byte [ebp + 0x45], al
xor edx, dword [edi + 0xe]
push cs
inc ebp
inc ebp
call 0xc3b2aaac
push eax
mov dword [edx - 0x3d], esi
mov dword [eax], 0xc352000b
mov dword fs:[eax], 0x890400c7
push ebx
jp 0x4021cc
jp 0x4021c4
mov dword [ecx + 0x7a6f63], ecx
outsb dx, byte [esi]
outsb dx, byte [esi]
insb byte es:[edi], dx
insb byte es:[edi], dx
inc edi
imul edi, edi, 0x45d7c700
inc ebp
call 0x4696dbf8
push ebx
outsb dx, byte [esi]
push esi
xor dword [ecx + 0x4c], edi
push esi
add byte [eax], al
jae 0x402158
jb 0x40211c
jbe 0x4021da
inc ebp
invalid
inc ebp
call dword [edi - 0x73]
mov byte fs:[0x6ec7c0de], al
invalid
inc ebp
outsd dx, dword [esi]
invalid
mov dword fs:[ebp + 0x45], 0x504545ff
popal
push esi
pushal
outsb dx, byte [esi]
cmp byte [edx - 0x38], 0x81
push eax
jne 0x402241
enter 0x5081, 0x75
bound esi, qword [edx + 0x64]
jb 0x402245
dec esp
push esi
inc ebp
jae 0x40222c
inc ebx
inc esi
jbe 0x4021d8
insb byte es:[edi], dx
jb 0x40223f
shl byte [edi], 0
outsb dx, byte [esi]
popal
inc ebp
inc ebp
lea esp, [edx + esi*2 + 0x6e]
push ebp
add byte [esi - 0x39], dh
inc ebp
inc ebp
jbe 0x402277
lea eax, [ebp + 0x74]
push esi
jne 0x402275
mov edi, 0x89c74645
lea eax, [ebp + 0x6c]
push ebx
dec ebp
outsd dx, dword [esi]
inc ebp
insb byte es:[edi], dx
inc ebp
inc ebp
add byte [ebp + 0x64], al
inc ebp
je 0x402262
push ebx
jb 0x40228c
jp 0x40228b
outsd dx, dword [esi]
jbe 0x402293
push esi
imul edx, dword [eax - 1], 0x5273536d
push edx
inc ebp
jne 0x402281
shl byte [ebp + 0x74], 0x72
jp 0x40227c
jo 0x4022ab
push eax
add byte [ecx - 0x39], ch
lea esp, [ebp + 0x6e]
outsb dx, byte [esi]
inc esi
inc ebp
inc edi
inc esi
inc ebp
dec edi
jb 0x4022bd
push eax
add byte [eax - 0x77], dl
jmp dword [edi + eax*8 + 0x46]
popal
pop esp
add al, al
jb 0x4022d7
ja 0x4022d9
inc esi
pop eax
invalid
mov word gs:[ebp + 0x6e], ax
mov dword [ebp + 0x6e], eax
insb byte es:[edi], dx
inc esi
inc ebp
invalid
inc esi
push ebx
outsb dx, byte [esi]
mov dword [ecx + 0x53], esp
invalid
dec ecx
push esi
mov dword [eax - 0x39], edx
mov dword [ecx], esi
xor edi, eax
push esi
push esi
push dword gs:[edx - 0x39]
push ebx
je 0x4022e2
invalid
inc ebp
outsb dx, byte [esi]
popal
je 0x402315
push eax
inc esi
outsb dx, byte [esi]
mov dword [eax], 0x7ac756c7
inc edx
insb byte es:[edi], dx
push esi
inc ebp
inc ebp
jle 0x402322
invalid
popal
outsb dx, byte [esi]
push esi
push 0x4e5072c7
push eax
jo 0x402265
add byte [eax], al
pop ecx
push 0x78400089
mov dword [edx - 0x5b], ebp
outsb dx, byte [esi]
mov esi, dword [ecx]
pop edi
call 0x56862333
jae 0x40231c
mov esi, dword [ebp + 0x56]
push esi
cmp ebx, dword [eax - 1]
mov edi, eax
jmp dword [edx + ebp*2 + 0x6e]
outsb dx, byte [esi]
call 0x13f6fa7
push eax
xor al, 0x45
jmp 0x40231d
add dword [eax], eax
mov dword [ecx], 0xff18038d
push ecx
inc ecx
add byte [ebp + 0x51ff1803], cl
add byte [eax - 0xd], bh
js 0x402312
fmul dword [ebx - 0x72ba76a9]
mov dword [ebp - 0x73], eax
inc ebp
push esi
rcr dword [esi + 0x64], 1
cli
add byte [ebp + 0x5e], al
add dh, byte [edi]
jbe 0x40239b
mov dword [edi - 0x77], eax
call 0xdba88680
inc ebp
push esi
add byte [edi + 0x65], ch
invalid
push esi
jg 0x40239e
mov edi, dword [esi - 0x27ff3818]
add byte [eax + 0x524577fc], al
push 0
adc dword [esi - 0x77], 0xfffffffc
add byte [eax + 0x45], ch
add bh, bh
jne 0x4023fe
invalid
add byte [ebp + 0xfc8bec], al
add byte [eax], al
mov dword [edx], ebp
test byte [eax], al
cmp al, 0xe4
inc ebp
in al, dx
call dword [eax + 0x34]
inc ebx
inc dword [eax]
mov ebx, esp
mov eax, dword [eax]
push 0x7d
push eax
xor al, 0xff
ret
add byte [eax], ch
jge 0x40241c
add dword [esi + 0x58], edx
add byte [eax], al
push ds
push 0xfffc456a
add edi, edi
ja 0x402410
test dword [edi], eax
insb byte es:[edi], dx
dec edi
jmp 0x3bcb28a1