Function at 0x435974
Capabilities:
Encode data using xor

Disassembly:
pop es
andps xmm0, xmmword [ebp + 0x78]
arpl word [ebp + 0x6c], sp
dec edi
dec esp
inc ebp
dec edi
bound ebp, qword [edx + 0x65]
arpl word [esp + edi*2 + 0x79], si
dec ebp
add byte [eax + 0x44], ch
inc ebp
add byte [edi], al
add byte [0x65637845], cl
insb byte es:[edi], dx
pop edi
xor cl, byte [ebx + 0x5f]
push ebx
push edx
push esi
push edx
add al, byte [eax]
je 0x4358a3
inc ecx
add byte [eax], cl
add bh, bh
dec eax
add byte [eax], al
inc dword [ecx]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax], al
add eax, 0x6e4f0a00
inc edi
outsd dx, dword [esi]
je 0x43591e
outsd dx, dword [esi]
arpl word [ebp + 0x73], si
je 0x4358c8
inc ecx
add byte [eax], dl
add bh, bh
push eax
add byte [eax], al
inc dword [ecx]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax], al
push es
add byte [ebx], cl
dec edi
outsb dx, byte [esi]
dec esp
outsd dx, dword [esi]
jae 0x435971
inc esi
outsd dx, dword [esi]
arpl word [ebp + 0x73], si
nop
nop
cld
mov eax, 0x4e8718
call fcn.004bb8e0
mov word [ebp - 0x18], 8
mov ecx, dword [ebp - 0x30]
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.00454784
add dword [ebp - 0xc], 6
mov edx, dword [ebp - 4]
add edx, 0x44
mov dword [ebp - 0x34], edx
mov ecx, dword [ebp - 0x34]
xor eax, eax
mov dword [ecx], eax
inc dword [ebp - 0xc]
mov edx, dword [ebp - 0x28]
mov dword fs:[0], edx
mov eax, dword [ebp - 4]
cmp byte [ebp - 0x29], 0
je 0x43596b
call fcn.004c6e45
mov esp, ebp
pop ebp
ret
salc
inc ecx
add byte [edi], al
pop es
push cs
push esp
inc ebp
js 0x4359dd
insb byte es:[edi], dx
push edi
outsd dx, dword [esi]
jb 0x4359eb
bound ebp, qword [edi + 0x6f]
imul ebx, dword [edx + edi*2], 0x4d
add byte [eax + 0x44], ch
inc ebp
add byte [ecx], bl
add byte [0x65637845], cl
insb byte es:[edi], dx
pop edi
xor cl, byte [ebx + 0x5f]
push ebx
push edx
push esi
push edx
adc al, 0
je 0x43598a
inc ecx
add byte [eax], cl
add bh, bh
dec eax
add byte [eax], al
inc dword [ecx]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax], al
add eax, 0x6e4f0600
dec edi
jo 0x435a23
outsb dx, byte [esi]
je 0x4359ab
inc ecx
add byte [eax], dl
add bh, bh
push eax
add byte [eax], al
inc dword [ecx]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax], al
push es
add byte [edx], cl
dec edi
outsb dx, byte [esi]
inc ecx
arpl word [ecx + ebp*2 + 0x76], si
popal
je 0x435a49
je 0x4359d0
inc ecx
add byte [eax], bl
add bh, bh
pop eax
add byte [eax], al
inc dword [ecx]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax], al
call [eax]
add bh, bh
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax], al
pop es
add byte [edi + ecx*2], cl
outsb dx, byte [esi]
inc esp
popal
arpl word [ecx + ebp*2 + 0x76], si
popal
je 0x435a70
and al, 0xe7
inc ecx
add byte [eax], ah
add bh, bh
pushal
add byte [eax], al
inc dword [ecx]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax], al
or byte [eax], al
or eax, 0x65426e4f
outsw dx, word [esi]
jb 0x435a93
inc ebx
insb byte es:[edi], dx
outsd dx, dword [esi]
jae 0x435a98
mov esp, gs
inc ecx
add byte [eax], ch
add bh, bh
push 0x1ff0000
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax], al
or dword [eax], eax
or al, 0x4f
outsb dx, byte [esi]
inc edx
outsw dx, word gs:[esi]
jb 0x435abb
push ebx
popal
jbe 0x435abf
and al, 0xe7
inc ecx
add byte [eax], dh
add bh, bh
jo 0x435a64
add bh, bh
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
or al, byte [eax]
or eax, 0x65426e4f
outsw dx, word [esi]
jb 0x435ae2
push eax
jb 0x435ae9
outsb dx, byte [esi]
je 0x435af7
call 0xbb5ac9
add bh, bh
js 0x435a8c
add bh, bh
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax], al
or eax, dword [eax]
or cl, byte [edi + 0x6e]
dec esi
ja 0x435af6
push 0x74746565
ljmp 0xff00
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax + eax], cl
or al, 0
push cs
dec edi
outsb dx, byte [esi]
inc ecx
imul ebp, dword fs:[esi + 0x49], 0x6174736e
insb byte es:[edi], dx
insb byte es:[edi], dx
je 0x435abc
inc ecx
add byte [eax - 0x77010000], cl
add byte [eax], al
inc dword [ecx]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax], al
add byte [eax], al
or eax, 0x6e4f1000
add byte [eax], dl
dec edi
outsb dx, byte [esi]
inc ecx
imul ebp, dword fs:[esi + 0x55], 0x736e696e
jae 0x435b6c
je 0x435b5a
popal
insb byte es:[edi], dx
insb byte es:[edi], dx
shr ah, 1
inc ecx
add byte [eax - 0x6f010000], dl
add byte [eax], al
inc dword [ecx]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax], al
push cs
add byte [esi], cl
dec edi
outsb dx, byte [esi]
push edi
imul ebp, dword [esi + 0x64], 0x6552776f
jae 0x435b8b
jp 0x435b89
shr ah, 1
inc ecx
add byte [eax - 0x67010000], bl
add byte [eax], al
inc dword [ecx]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax], al
lldt word [eax]
dec edi
outsb dx, byte [esi]
push edi
imul ebp, dword [esi + 0x64], 0x6341776f
je 0x435bb4
jbe 0x435bae
je 0x435bb4
shr ah, 1
inc ecx
add byte [eax - 0x5f010000], ah
add byte [eax], al
inc dword [ecx]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax], al
adc byte [eax], al
adc cl, byte [edi + 0x6e]
push edi
imul ebp, dword [esi + 0x64], 0x6544776f
popal
arpl word [ecx + ebp*2 + 0x76], si
popal
je 0x435be1
int3
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax], al
adc dword [eax], eax
push ss
dec edi
outsb dx, byte [esi]
push ebx
push 0x53746565
insb byte es:[edi], dx
arpl word gs:[ecx + ebp*2 + 0x6f], si
outsb dx, byte [esi]
inc ebx
push 0x65676e61
sbb al, ch
inc ecx
add byte [eax - 0x4f010000], dh
add byte [eax], al
inc dword [ecx]
call 0xf35bf4
add bh, bh
mov al, 0
add bh, bh
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax], al
push dword [eax + 0x1ff0000]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax], al
adc al, byte [eax]
sbb byte [edi + 0x6e], cl
push ebx
push 0x42746565
outsw dx, word gs:[esi]
jb 0x435c3a
inc esp
outsd dx, dword [esi]
jne 0x435c3b
insb byte es:[edi], dx
inc ebx
insb byte es:[edi], dx
imul esp, dword [ebx + 0x6b], 0x41e818
mov eax, 0xb8ff0000
add byte [eax], al
inc dword [ecx]
call 0xfb5c27
add bh, bh
mov eax, 0x1ff0000
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax], al
adc eax, dword [eax]
pop ss
dec edi
outsb dx, byte [esi]
push ebx
push 0x42746565
outsw dx, word gs:[esi]
jb 0x435c6d
push edx
imul esp, dword [edi + 0x68], 0x696c4374
arpl word [ebx + 0x74], bp
call 0x1035c59
add bh, bh
rol byte [eax], 0
inc dword [ecx]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax], al
adc al, 0
adc byte [edi + 0x6e], cl
push ebx
push 0x41746565
arpl word [ecx + ebp*2 + 0x76], si
popal
je 0x435ca1
xor dword gs:[eax + ebp*8 + 0x41], esi
xor dword [eax + ebp*8 + 0x41], esi
add al, cl
add byte [eax], al
dec eax
add byte [eax], al
inc dword [ecx]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax], al
adc eax, 0x6e4f1200
push ebx
push 0x44746565
popal
arpl word [ecx + ebp*2 + 0x76], si
popal
je 0x435cce
xor dword [eax + ebp*8 + 0x41], esi
add al, dl
add byte [eax], al
call eax
add byte [eax], al
inc dword [ecx]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax], al
push ss
add byte [eax], dl
dec edi
outsb dx, byte [esi]
push ebx
push 0x43746565
popal
insb byte es:[edi], dx
arpl word [ebp + 0x6c], si
popal
je 0x435cfa
int3
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax], al
pop ss
add byte [0x68536e4f], cl
je 0x435cfb
push 0x65676e61
add dl, ch
inc ecx
add al, ah
add byte [eax], al
jmp eax
add byte [eax], al
add byte [eax], 0
add byte [eax], al
sbb byte [eax], al
push ss
dec edi
outsb dx, byte [esi]
push ebx
push 0x46746565
outsd dx, dword [esi]
insb byte es:[edi], dx
insb byte es:[edi], dx
outsd dx, dword [esi]
ja 0x435d2e
jns 0x435d58
jb 0x435d57
imul ebp, dword [esi + 0x6b], 0x8b559090
in al, dx
add esp, 0xffffffcc
mov byte [ebp - 8], dl
test dl, dl
sar byte [esi + 5], cl
jle 0x435d02
call fcn.004c6e38
mov dword [ebp - 0x30], ecx
mov byte [ebp - 0x29], dl
mov dword [ebp - 4], eax
mov eax, 0x4e873c
call fcn.004bb8e0
mov word [ebp - 0x18], 8
mov ecx, dword [ebp - 0x30]
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.00454784
add dword [ebp - 0xc], 6
mov edx, dword [ebp - 4]
cld
add edx, 0x44
mov dword [ebp - 0x34], edx
mov ecx, dword [ebp - 0x34]
xor eax, eax
mov dword [ecx], eax
inc dword [ebp - 0xc]
mov edx, dword [ebp - 0x28]
mov dword fs:[0], edx
mov eax, dword [ebp - 4]
cmp byte [ebp - 0x29], 0
je 0x435d57
call fcn.004c6e45
mov esp, ebp
pop ebp
in eax, 0x5d
ret