Function at 0x401f94
Capabilities:
Encode data using xor

Disassembly:
pop ecx
mov dl, byte [esi - 0x76]
push esi
mov bl, byte [eax - 0x76]
scasb al, byte es:[edi]
mov ah, byte [edx + ecx*4 - 0x75ab75a9]
push ecx
mov dl, byte [esi - 0x76]
push edx
mov dl, byte [edi - 0x76]
push esp
mov dl, byte [esi - 0x76]
push edx
mov bl, byte [edx + ecx*4 - 0x5a]
mov bl, byte [esi - 0x75756176]
mov al, byte [edx]
add byte [eax], dl
and byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add dword [eax], eax
add byte [eax], al
mov al, byte [0x2e]
add byte [eax], al
add byte [esi], ch
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
inc ecx
sub dword [eax], eax
add byte [eax + eax], bl
add byte [eax], al
cwde
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [edx], dh
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax + 0x2e], ah
add byte [eax], al
add byte [esi], ch
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax + 1], cl
add byte [eax], al
cmp eax, 0x8100000
add byte [eax], al
add byte [eax + 0x2f], al
push cs
sub ah, byte [0x901da84]
add byte [eax], al
adc byte [eax], dl
add byte [eax], al
add byte [ecx], al
inc ebx
adc al, byte [eax]
add byte [eax], al
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
or al, byte [eax]
add byte [eax], dl
adc byte [eax], al
add byte [eax], al
cmp byte [edx + 0x12], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [ebx], cl
add byte [eax], al
adc byte [eax + eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
cmp dword [eax], eax
add byte [eax], dl
add al, 0
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte cs:[eax], al
adc byte [ecx], al
add byte [eax], al
add byte [ecx], al
cmp al, byte [eax]
add byte [eax], dl
add dword [eax], eax
add byte [eax], al
add byte [ebx], bh
add byte [eax], al
adc byte [ecx], al
add byte [eax], al
add byte [eax], al
inc eax
add byte [eax], al
adc byte [ecx], al
add byte [eax], al
add byte [eax], al
sub al, byte [eax]
add byte [eax], dl
or byte [eax], al
add byte [eax], al
pushfd
inc esi
cdq
sub dword [0x1101da84], esp
add byte [eax], al
adc byte [eax + eax - 0x75390000], cl
push eax
mov ch, byte [esi - 0x68754a76]
mov ah, byte [ebp - 0x68756776]
mov ch, byte [esi - 0x3a754976]
mov bh, byte [ebp - 0x51754576]
mov al, dh
mov ah, byte [ebp - 0x60756876]
mov dl, byte [esi - 0x65756476]
mov ch, byte [esi - 0x3a754976]
mov ch, byte [edx - 0x76]
mov ebx, 0xc18ac68a
mov bh, byte [ebx - 0x44759576]
mov bh, byte [edx - 0x43753a76]
mov al, bh
mov cl, cl
mov bh, byte [edx + ecx*4 - 0x754e753a]
scasb al, byte es:[edi]
mov bl, byte [eax - 0x58755a76]
mov dl, byte [ebp - 0x54756576]
mov ah, byte [esi - 0x67755e76]
mov bl, byte [edx + ecx*4 + 0x59]
mov dl, byte [esi - 0x76]
push esi
mov bl, byte [eax - 0x76]
scasb al, byte es:[edi]
mov ah, byte [edx + ecx*4 - 0x75ab75a9]
push ecx
mov dl, byte [esi - 0x76]
push edx
mov dl, byte [edi - 0x76]
push esp
mov dl, byte [esi - 0x76]
push edx
mov bl, byte [edx + ecx*4 - 0x5a]
mov bl, byte [esi - 0x75756176]
mov al, byte [edx]
add byte [eax], dl
and byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add dword [eax], eax
add byte [eax], al
mov al, byte [0x2e]
add byte [eax], al
add byte [esi], ch
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
inc edx
sub dword [eax], eax
add byte [eax + eax], bl
add byte [eax], al
cwde
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [edx], dh
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax + 0x2e], ah
add byte [eax], al
add byte [esi], ch
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax + 1], cl
add byte [eax], al
cmp eax, 0x8100000
add byte [eax], al
add byte [eax + 0x2f], al
push cs
sub ah, byte [0x901da84]
add byte [eax], al
adc byte [eax], dl
add byte [eax], al
add byte [ecx], al
inc ebx
adc al, byte [eax]
add byte [eax], al
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
or al, byte [eax]
add byte [eax], dl
adc byte [eax], al
add byte [eax], al
cmp byte [edx + 0x12], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [ebx], cl
add byte [eax], al
adc byte [eax + eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
cmp dword [eax], eax
add byte [eax], dl
add al, 0
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte cs:[eax], al
adc byte [ecx], al
add byte [eax], al
add byte [ecx], al
cmp al, byte [eax]
add byte [eax], dl
add dword [eax], eax
add byte [eax], al
add byte [ebx], bh
add byte [eax], al
adc byte [ecx], al
add byte [eax], al
add byte [eax], al
inc eax
add byte [eax], al
adc byte [ecx], al
add byte [eax], al
add byte [eax], al
sub al, byte [eax]
add byte [eax], dl
or byte [eax], al
add byte [eax], al
pushfd
inc esi
cdq
sub dword [0x1101da84], esp
add byte [eax], al
adc byte [eax + eax - 0x75390000], cl
push eax
mov ch, byte [esi - 0x68754a76]
mov ah, byte [ebp - 0x68756776]
mov ch, byte [esi - 0x3a754976]
mov bh, byte [ebp - 0x51754576]
mov al, dh
mov ah, byte [ebp - 0x60756876]
movsd dword es:[edi], dword [esi]
mov dl, byte [edi - 0x69756076]
mov bl, byte [ebx - 0x51756576]
mov dh, byte [esi + 0x6a8ac58a]
mov bh, byte [ebx - 0x3e753976]
mov bh, byte [ebx - 0x44759576]
mov bh, byte [edx - 0x43753a76]
mov al, bh
mov cl, cl
mov bh, byte [edx + ecx*4 - 0x754e753a]
scasb al, byte es:[edi]
mov bl, byte [eax - 0x58755a76]
mov dl, byte [ebp - 0x54756576]
mov ah, byte [esi - 0x67755e76]
mov bl, byte [edx + ecx*4 + 0x59]
mov dl, byte [esi - 0x76]
push esi
mov bl, byte [eax - 0x76]
scasb al, byte es:[edi]
mov ah, byte [edx + ecx*4 - 0x75ab75a9]
push ecx
mov dl, byte [esi - 0x76]
push edx
mov dl, byte [edi - 0x76]
push esp
mov dl, byte [esi - 0x76]
push edx
mov bl, byte [edx + ecx*4 - 0x5a]
mov bl, byte [esi - 0x75756176]
mov al, byte [edx]
add byte [eax], dl
and byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add dword [eax], eax
add byte [eax], al
mov al, byte [0x2e]
add byte [eax], al
add byte [esi], ch
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
inc ebx
sub dword [eax], eax
add byte [eax + eax], bl
add byte [eax], al
cwde
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [edx], dh
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax + 0x2e], ah
add byte [eax], al
add byte [esi], ch
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax + 1], cl
add byte [eax], al
cmp eax, 0x8100000
add byte [eax], al
add byte [eax + 0x2f], al
push cs
sub ah, byte [0x901da84]
add byte [eax], al
adc byte [eax], dl
add byte [eax], al
add byte [ecx], al
inc ebx
adc al, byte [eax]
add byte [eax], al
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
or al, byte [eax]
add byte [eax], dl
adc byte [eax], al
add byte [eax], al
cmp byte [edx + 0x12], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [ebx], cl
add byte [eax], al
adc byte [eax + eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
cmp dword [eax], eax
add byte [eax], dl
add al, 0
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte cs:[eax], al
adc byte [ecx], al
add byte [eax], al
add byte [ecx], al
cmp al, byte [eax]
add byte [eax], dl
add dword [eax], eax
add byte [eax], al
add byte [ebx], bh
add byte [eax], al
adc byte [ecx], al
add byte [eax], al
add byte [eax], al
inc eax
add byte [eax], al
adc byte [ecx], al
add byte [eax], al
add byte [eax], al
sub al, byte [eax]
add byte [eax], dl
or byte [eax], al
add byte [eax], al
pushfd
inc esi
cdq
sub dword [0x1101da84], esp
add byte [eax], al
adc byte [eax + eax - 0x75390000], cl
push eax
mov ch, byte [esi - 0x68754a76]
mov ah, byte [ebp - 0x68756776]
mov ch, byte [esi - 0x3a754976]
mov bh, byte [ebp - 0x51754576]
mov al, dh
mov ah, byte [ebp - 0x60756876]
mov dl, byte [esi - 0x65756476]
mov ch, byte [esi - 0x3a754976]
mov ch, byte [edx - 0x76]
mov ebx, 0xc18ac68a
mov bh, byte [ebx - 0x44759576]
mov bh, byte [edx - 0x43753a76]
mov al, bh
mov cl, cl
mov bh, byte [edx + ecx*4 - 0x754e753a]
scasb al, byte es:[edi]
mov bl, byte [eax - 0x58755a76]
mov dl, byte [ebp - 0x54756576]
mov ah, byte [esi - 0x67755e76]
mov bl, byte [edx + ecx*4 + 0x59]
mov dl, byte [esi - 0x76]
push esi
mov bl, byte [eax - 0x76]
scasb al, byte es:[edi]
mov ah, byte [edx + ecx*4 - 0x75ab75a9]
push ecx
mov dl, byte [esi - 0x76]
push edx
mov dl, byte [edi - 0x76]
push esp
mov dl, byte [esi - 0x76]
push edx
mov bl, byte [edx + ecx*4 - 0x5a]
mov bl, byte [esi - 0x75756176]
mov al, byte [edx]
add byte [eax], dl
and byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add dword [eax], eax
add byte [eax], al
mov al, byte [0x2e]
add byte [eax], al
add byte [esi], ch
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
inc esp
sub dword [eax], eax
add byte [eax + eax], bl
add byte [eax], al
cwde
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [edx], dh
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax + 0x2e], ah
add byte [eax], al
add byte [esi], ch
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax + 1], cl
add byte [eax], al
cmp eax, 0x8100000
add byte [eax], al
add byte [eax + 0x2f], al
push cs
sub ah, byte [0x901da84]
add byte [eax], al
adc byte [eax], dl
add byte [eax], al
add byte [ecx], al
inc ebx
adc al, byte [eax]
add byte [eax], al
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
or al, byte [eax]
add byte [eax], dl
adc byte [eax], al
add byte [eax], al
cmp byte [edx + 0x12], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [ebx], cl
add byte [eax], al
adc byte [eax + eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
cmp dword [eax], eax
add byte [eax], dl
add al, 0
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte cs:[eax], al
adc byte [ecx], al
add byte [eax], al
add byte [ecx], al
cmp al, byte [eax]
add byte [eax], dl
add dword [eax], eax
add byte [eax], al
add byte [ebx], bh
add byte [eax], al
adc byte [ecx], al
add byte [eax], al
add byte [eax], al
inc eax
add byte [eax], al
adc byte [ecx], al
add byte [eax], al
add byte [eax], al
sub al, byte [eax]
add byte [eax], dl
or byte [eax], al
add byte [eax], al
pushfd
inc esi
cdq
sub dword [0x1101da84], esp
add byte [eax], al
adc byte [eax + eax - 0x75390000], cl
push eax
mov ch, byte [esi - 0x68754a76]
mov ah, byte [ebp - 0x68756776]
mov ch, byte [esi - 0x3a754976]
mov bh, byte [ebp - 0x51754576]
mov al, dh
mov ah, byte [ebp - 0x60756876]
mov dl, byte [esi - 0x65756476]
mov ch, byte [esi - 0x3a754976]
mov ch, byte [edx - 0x76]
mov ebx, 0xc18ac68a
mov bh, byte [ebx - 0x44759576]
mov bh, byte [edx - 0x43753a76]
mov al, bh
mov cl, cl
mov bh, byte [edx + ecx*4 - 0x754e753a]
scasb al, byte es:[edi]
mov bl, byte [eax - 0x58755a76]
mov dl, byte [ebp - 0x54756576]
mov ah, byte [esi - 0x67755e76]
mov bl, byte [edx + ecx*4 + 0x59]
mov dl, byte [esi - 0x76]
push esi
mov bl, byte [eax - 0x76]
scasb al, byte es:[edi]
mov ah, byte [edx + ecx*4 - 0x75ab75a9]
push ecx
mov dl, byte [esi - 0x76]
push edx
mov dl, byte [edi - 0x76]
push esp
mov dl, byte [esi - 0x76]
push edx
mov bl, byte [edx + ecx*4 - 0x5a]
mov bl, byte [esi - 0x75756176]
mov al, byte [edx]
add byte [eax], dl
and byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add dword [eax], eax
add byte [eax], al
mov al, byte [0x2e]
add byte [eax], al
add byte [esi], ch
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
inc ebp
sub dword [eax], eax
add byte [eax + eax], bl
add byte [eax], al
cwde
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [edx], dh
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax + 0x2e], ah
add byte [eax], al