Function at 0x402f18
Capabilities:
Encode data using xor

Disassembly:
or byte [ebp - 0x59], bh
out dx, al
adc byte [0xbaa6a8bb], dh
cmpsb byte [esi], byte es:[edi]
mov edx, 0x6b102212
inc eax
cmpsb byte [esi], byte es:[edi]
mov edx, 0x6b102212
inc eax
mov dl, 0xaf
xchg ebx, eax
sbb eax, 0x4660cc52
jns 0x402f8f
and bh, bh
clc
and al, byte [ebx + 0x5d1b0211]
fisttp qword [edi - 0x74]
cmp al, 0xe8
rol byte [eax + 0x56], 1
shl dh, 0x17
cld
fucom st(4)
jae 0x402f10
jns 0x402f46
add byte [esi + 0x6d69ed3d], ah
ret 0x21d1
cmpsb byte [esi], byte es:[edi]
cmp eax, 0xc26d69ed
shl dword [ecx], 1
aaa
and esp, edi
xchg dword [esi], edi
pop esp
invalid
mov ah, 0x27
fadd qword [edi]
mov al, 0xd0
or ebp, ebp
adc dword [edx], eax
add eax, dword [ecx]
add byte [ecx], al
mov dword [0x307b0182], eax
add byte [ecx], 0x77
xor byte [ecx], cl
push es
add edx, dword [ebp + 0x1d]
adc eax, dword [edx + eax]
xor byte [eax], al
xor byte [esi], cl
push es
add edx, dword [ebp + 0x1d]
sgdt [ecx]
inc dword [esp + eax]
add eax, dword [edx]
pop es
xor byte [eax], 0x40
push es
add edx, dword [ebp + 0x1d]
pop ds
add al, 0x39
xor byte [edi], dh
xor byte [0x31a033a0], dh
xchg byte [edi], ch
push 0x3a707474
das
das
arpl word [ebx + 0x63], si
xor ebp, dword [0x30313032]
sub eax, 0x2e6c7263
jbe 0x40304f
jb 0x403055
jae 0x403057
outsb dx, byte [si]
arpl word cs:[edi + 0x6d], bp
das
inc ebx
push ebx
inc ebx
xor ebp, dword [0x30313032]
arpl word cs:[edx + 0x6c], si
xor byte [esi + eax + 3], al
push ebp
sbb eax, 0x303d0420
cmp esi, dword [eax]
cmp dword [esi], eax
or esp, dword [eax - 0x7a]
dec eax
add dword [esi + 0x70145f8], eax
pop ss
add esi, dword [eax]
sub dh, byte [eax]
sub byte [esi], al
or byte [ebx], ch
push es
add dword [0x1020705], eax
push ss
sbb al, 0x68
je 0x4030a3
jo 0x4030a4
cmp ch, byte [edi]
das
ja 0x4030ad
ja 0x403066
jbe 0x40309f
jb 0x4030a5
jae 0x4030a7
outsb dx, byte [si]
arpl word cs:[edi + 0x6d], bp
das
jb 0x4030b7
popal
xor byte [ebx], dl
push es
add edx, dword [ebp + 0x1d]
and eax, 0xa300c04
add al, 0xc
xor byte [edx], cl
push es
or byte [ebx], ch
push es
sub eax, dword [esi]
add dword [0x3030705], eax
xor byte [ecx + 6], dh
or byte [ebx], ch
push es
add dword [0x1010705], eax
pop es
add dword [ecx], eax
add al, 0x65
xor byte [ebx + 0x30], ah
and al, 6
or byte [ebx], ch
push es
add dword [0x1300705], eax
xchg byte [eax], bl
push 0x3a707474
das
das
outsd dx, dword [esi]
arpl word [ebx + 0x70], si
jbe 0x4030ee
jb 0x4030f4
jae 0x4030f6
outsb dx, byte [si]
arpl word cs:[edi + 0x6d], bp
xor byte [ebx], bh
push es
or byte [ebx], ch
push es
add dword [0x2300705], eax
xchg byte [edi], ch
push 0x3a707474
je 0x403115
jo 0x4030e0
cmp ch, byte [edi]
das
das
arpl word [ebx + 0x63], si
xor ebp, dword [0x30313032]
xor dh, byte [eax]
xor dword [eax], esi
sub eax, 0x2e616961
jbe 0x40311d
jb 0x403123
jb 0x403123
jae 0x403125
outsb dx, byte [si]
arpl word cs:[edi + 0x6d], bp
insd dword es:[edi], dx
das
inc ebx
push ebx
inc ebx
xor ebp, dword [0x30313032]
arpl word cs:[ebp + 0x72], sp
xor byte [edi], bl
push es
add edx, dword [ebp + 0x1d]
and eax, dword [eax + ebx]
xor byte [esi], dl
adc byte [edi + ecx*8], 0x99
test eax, 0xf4267bea
dec ebx
leave
mov cs, word [edi + 0x2605f0d7]
out dx, eax
jecxz 0x4030c1
ljmp 0x8ec9:0x4bf4267b
shl byte [edi + 0x611309d], cl
cmpsd dword [esi], dword es:[edi]
popfd
xor byte [ecx], dl
push es
or dword [eax - 0x7a], esp
dec eax
add dword [esi + 0x10142f8], eax
xchg byte [eax + 1], cl
xchg al, bh
inc edx
add dword [ecx], eax
add al, 4
add eax, dword [edx]
add al, 0x10
xor byte [esi], dl
push es
or ch, byte [ebx]
push es
add dword [ecx + eax], eax
xor byte [edi], 2
add dword [ebx], ebx
add al, 8
aaa
add al, byte [ecx]
sbb eax, dword [eax + ecx]
xor byte [esi], al
push es
add dword [ecx], eax
add byte [ecx], al
add edi, edi
xor byte [0x862a0906], cl
or eax, 0x862a0906
dec eax
xchg bh, dh
test dword [0x5050101], 0x1820300
add dword [eax], eax
mov cl, 0xe9
test byte [eax + 0x367dbc8f], al
pop eax
ror dword [ebp - 0xe9783ed], 1
or eax, 0x5050101
add byte [ebx], al
add byte [ecx], 1
add byte [ecx - 0x707f7b17], dh
mov esp, 0xd158367d
lea edx, [ebx]
jl 0x4031a6
int1
daa
jbe 0x403153
scasd eax, dword es:[edi]
cwde
inc eax
mov cs, word [ecx + 0x5f]
aad 0x5d
loop 0x40314f
mov esp, 0x44dcf704
neg esp
inc esp
scasb al, byte es:[edi]
pop eax
out 0xb5, al
stc
fst qword [edi - 0x467c4c4b]
inc edi
and edi, dword [edx - 0x447c817]
sahf
jne 0x403124
xchg edx, eax
xor dword [edx - 0x7b], edi
mov esp, 0xc98919ee
or al, 0x31
adc byte [esi], 0xda
jno 0x4031db
lahf
xor dword [edi - 0x52], eax
jne 0x403182
out 0x1e, eax
or eax, 0x70cfb716
push es
xchg edx, eax
jb 0x40310e
pop esi
mov al, 1
inc ebx
add byte [ebp + 5], ah
xchg ebp, eax
ror esp, 1
int3
xor dword [ebx - 0x52], esi
stc
xor al, 0xd3
pop ebx
mov esi, 0x94380364