Function at 0x447650
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
push esi
xor esi, esi
mov dword [ebp - 0xc], esi
cmp dword [section..data], esi
jle 0x4478fc
push ebx
push edi
mov edi, dword [ebp + 8]
nop dword [eax]
mov eax, dword [edi]
xor bh, bh
add eax, esi
mov dword [ebp - 0x10], eax
mov cl, byte [eax]
mov eax, dword [edi + 4]
mov byte [ebp - 2], cl
mov al, byte [esi + eax]
mov byte [ebp - 4], al
mov eax, dword [edi + 8]
mov al, byte [esi + eax]
mov byte [ebp - 3], al
mov eax, dword [edi + 0xc]
xor edi, edi
mov al, byte [esi + eax]
mov ah, cl
mov byte [ebp - 1], al
nop dword [eax]
test ah, 1
je 0x4476cd
mov al, 2
test edi, edi
je 0x4476cb
mov esi, edi
nop dword [eax]
mov bl, al
add bl, bl
mov cl, bl
xor cl, 0x1b
test al, al
movzx edx, cl
movzx ecx, bl
cmovns edx, ecx
mov al, dl
sub esi, 1
jne 0x4476b0
xor bh, al
inc edi
shr ah, 1
cmp edi, 8
jl 0x4476a0
mov dh, byte [ebp - 4]
mov byte [ebp - 5], bh
xor bh, bh
xor edi, edi
nop
test dh, 1
je 0x44770c
mov bl, 3
test edi, edi
je 0x44770a
mov esi, edi
nop dword [eax]
mov dl, bl
add dl, dl
mov al, dl
xor al, 0x1b
test bl, bl
movzx ecx, al
movzx eax, dl
cmovns ecx, eax
mov bl, cl
sub esi, 1
jne 0x4476f0
xor bh, bl
inc edi
shr dh, 1
cmp edi, 8
jl 0x4476e0
mov al, byte [ebp - 3]
xor al, byte [ebp - 1]
mov dh, byte [ebp - 4]
xor al, bh
xor al, byte [ebp - 5]
xor bh, bh
mov byte [ebp - 6], al
xor edi, edi
nop dword [eax]
test dh, 1
je 0x44775c
mov bl, 2
test edi, edi
je 0x44775a
mov esi, edi
nop dword [eax]
mov dl, bl
add dl, dl
mov al, dl
xor al, 0x1b
test bl, bl
movzx ecx, al
movzx eax, dl
cmovns ecx, eax
mov bl, cl
sub esi, 1
jne 0x447740
xor bh, bl
inc edi
shr dh, 1
cmp edi, 8
jl 0x447730
mov dh, byte [ebp - 3]
mov byte [ebp - 5], bh
xor bh, bh
xor edi, edi
nop
test dh, 1
je 0x44779c
mov bl, 3
test edi, edi
je 0x44779a
mov esi, edi
nop dword [eax]
mov dl, bl
add dl, dl
mov al, dl
xor al, 0x1b
test bl, bl
movzx ecx, al
movzx eax, dl
cmovns ecx, eax
mov bl, cl
sub esi, 1
jne 0x447780
xor bh, bl
inc edi
shr dh, 1
cmp edi, 8
jl 0x447770
mov al, byte [ebp - 2]
xor al, byte [ebp - 1]
mov dh, byte [ebp - 3]
xor al, bh
xor al, byte [ebp - 5]
xor bh, bh
mov byte [ebp - 7], al
xor edi, edi
nop dword [eax]
test dh, 1
je 0x4477ec
mov bl, 2
test edi, edi
je 0x4477ea
mov esi, edi
nop dword [eax]
mov dl, bl
add dl, dl
mov al, dl
xor al, 0x1b
test bl, bl
movzx ecx, al
movzx eax, dl
cmovns ecx, eax
mov bl, cl
sub esi, 1
jne 0x4477d0
xor bh, bl
inc edi
shr dh, 1
cmp edi, 8
jl 0x4477c0
mov dh, byte [ebp - 1]
mov byte [ebp - 5], bh
xor bh, bh
xor edi, edi
nop
test dh, 1
je 0x44782c
mov bl, 3
test edi, edi
je 0x44782a
mov esi, edi
nop dword [eax]
mov dl, bl
add dl, dl
mov al, dl
xor al, 0x1b
test bl, bl
movzx ecx, al
movzx eax, dl
cmovns ecx, eax
mov bl, cl
sub esi, 1
jne 0x447810
xor bh, bl
inc edi
shr dh, 1
cmp edi, 8
jl 0x447800
mov cl, byte [ebp - 2]
mov al, cl
xor al, byte [ebp - 4]
xor al, bh
xor bh, bh
xor byte [ebp - 5], al
xor edi, edi
test cl, 1
je 0x447871
mov bl, 3
test edi, edi
je 0x44786f
mov esi, edi
mov dl, bl
add dl, dl
mov al, dl
xor al, 0x1b
test bl, bl
movzx ecx, al
movzx eax, dl
cmovns ecx, eax
mov bl, cl
sub esi, 1
jne 0x447852
mov cl, byte [ebp - 2]
xor bh, bl
shr cl, 1
inc edi
mov byte [ebp - 2], cl
cmp edi, 8
jl 0x447845
mov al, byte [ebp - 1]
xor dh, dh
xor edi, edi
test al, 1
je 0x4478af
mov bl, 2
test edi, edi
je 0x4478ad
mov esi, edi
nop
mov dl, bl
add dl, dl
mov al, dl
xor al, 0x1b
test bl, bl
movzx ecx, al
movzx eax, dl
cmovns ecx, eax
mov bl, cl
sub esi, 1
jne 0x447890
mov al, byte [ebp - 1]
xor dh, bl
shr al, 1
inc edi
mov byte [ebp - 1], al
cmp edi, 8
jl 0x447883
mov ecx, dword [ebp - 0x10]
mov edi, dword [ebp + 8]
mov al, byte [ebp - 6]
mov esi, dword [ebp - 0xc]
mov byte [ecx], al
mov eax, dword [edi + 4]
mov cl, byte [ebp - 7]
mov byte [esi + eax], cl
mov eax, dword [edi + 8]
mov cl, byte [ebp - 5]
mov byte [esi + eax], cl
mov cl, byte [ebp - 3]
xor cl, byte [ebp - 4]
mov eax, dword [edi + 0xc]
xor cl, dh
xor cl, bh
mov byte [esi + eax], cl
inc esi
mov dword [ebp - 0xc], esi
cmp esi, dword [section..data]
jl 0x447670
pop edi
pop ebx
pop esi
mov esp, ebp
pop ebp
ret