Function at 0x43aef0
Capabilities:
Encode data using xor

Disassembly:
push ecx
push ebx
push ebp
push esi
xor ecx, ecx
mov al, 1
push edi
lea esp, [esp]
movzx edx, al
mov byte [edx + 0x47ca88], cl
mov dl, al
and dl, 0x80
neg dl
sbb dl, dl
mov bl, al
shl bl, 1
mov byte [ecx + 0x47cb88], al
and edx, 0x1b
xor dl, bl
xor al, dl
inc ecx
cmp ecx, 0x100
jb 0x43af00
xor ecx, ecx
mov byte [0x47ca89], cl
mov dword [0x47c860], 1
mov dword [0x47c864], 2
mov dword [0x47c868], 4
mov dword [0x47c86c], 8
mov dword [0x47c870], 0x10
mov dword [0x47c874], 0x20
mov dword [0x47c878], 0x40
mov dword [0x47c87c], 0x80
mov dword [0x47c880], 0x1b
mov dword [0x47c884], 0x36
mov dword [esp + 0x10], ecx
lea esp, [esp]
test ecx, ecx
je 0x43afb6
movzx eax, byte [ecx + 0x47ca88]
mov ecx, 0x47cc87
sub ecx, eax
mov dl, byte [ecx]
jmp 0x43afb8
xor dl, dl
mov cl, dl
shr cl, 6
mov al, dl
shl al, 2
or cl, al
mov al, dl
shr al, 7
mov bl, dl
shl bl, 1
or al, bl
xor cl, al
mov al, cl
shr al, 6
mov bl, cl
shl bl, 2
or al, bl
xor al, cl
mov ecx, dword [esp + 0x10]
xor al, dl
xor al, 0x63
movzx edx, al
mov byte [ecx + 0x47c988], al
mov byte [edx + 0x47c888], cl
inc ecx
cmp ecx, 0x100
mov dword [esp + 0x10], ecx
jb 0x43afa0
xor eax, eax
mov dl, byte [eax + 0x47c988]
mov bl, byte [0x47ca8a]
movzx esi, dl
mov ecx, esi
rol ecx, 8
mov dword [eax*4 + 0x479c60], ecx
mov ecx, esi
rol ecx, 0x10
mov dword [eax*4 + 0x47a060], ecx
mov ecx, esi
rol ecx, 0x18
test dl, dl
mov dword [eax*4 + 0x479860], esi
mov dword [eax*4 + 0x47a460], ecx
je 0x43b05e
mov cl, byte [esi + 0x47ca88]
add cl, bl
cmp cl, bl
sbb edi, edi
movzx ecx, cl
neg edi
movzx edi, byte [edi + ecx + 0x47cb88]
jmp 0x43b060
xor edi, edi
test dl, dl
je 0x43b087
mov cl, byte [esi + 0x47ca88]
xor edx, edx
mov dl, byte [0x47ca8b]
add cl, dl
cmp cl, dl
movzx ecx, cl
sbb edx, edx
neg edx
movzx ecx, byte [edx + ecx + 0x47cb88]
jmp 0x43b089
xor ecx, ecx
shl ecx, 8
or ecx, esi
shl ecx, 8
or ecx, esi
shl ecx, 8
or ecx, edi
mov edx, ecx
rol edx, 8
mov dword [eax*4 + 0x47bc60], edx
mov edx, ecx
rol edx, 0x10
mov dword [eax*4 + 0x47b860], ecx
rol ecx, 0x18
mov dword [eax*4 + 0x47c460], ecx
mov cl, byte [eax + 0x47c888]
movzx esi, cl
mov dword [eax*4 + 0x47c060], edx
mov edx, esi
rol edx, 8
mov dword [eax*4 + 0x478c60], edx
mov edx, esi
rol edx, 0x10
mov dword [eax*4 + 0x479060], edx
mov edx, esi
rol edx, 0x18
test cl, cl
mov dword [eax*4 + 0x478860], esi
mov dword [eax*4 + 0x479460], edx
je 0x43b11e
mov dl, byte [esi + 0x47ca88]
mov bl, byte [0x47ca96]
add dl, bl
cmp dl, bl
sbb edi, edi
movzx edx, dl
neg edi
movzx edx, byte [edi + edx + 0x47cb88]
mov dword [esp + 0x10], edx
jmp 0x43b126
mov dword [esp + 0x10], 0
test cl, cl
je 0x43b14b
mov dl, byte [esi + 0x47ca88]
mov bl, byte [0x47ca91]
add dl, bl
cmp dl, bl
sbb edi, edi
movzx edx, dl
neg edi
movzx ebp, byte [edi + edx + 0x47cb88]
jmp 0x43b14d
xor ebp, ebp
test cl, cl
je 0x43b172
mov dl, byte [esi + 0x47ca88]
mov bl, byte [0x47ca95]
add dl, bl
cmp dl, bl
sbb edi, edi
movzx edx, dl
neg edi
movzx edi, byte [edi + edx + 0x47cb88]
jmp 0x43b174
xor edi, edi
test cl, cl
je 0x43b19b
mov cl, byte [esi + 0x47ca88]
xor edx, edx
mov dl, byte [0x47ca93]
add cl, dl
cmp cl, dl
movzx ecx, cl
sbb edx, edx
neg edx
movzx ecx, byte [edx + ecx + 0x47cb88]
jmp 0x43b19d
xor ecx, ecx
shl ecx, 8
or ecx, edi
shl ecx, 8
or ecx, ebp
mov ebp, dword [esp + 0x10]
shl ecx, 8
or ecx, ebp
mov edx, ecx
rol edx, 8
mov dword [eax*4 + 0x47ac60], edx
mov edx, ecx
rol edx, 0x10
mov dword [eax*4 + 0x47a860], ecx
rol ecx, 0x18
mov dword [eax*4 + 0x47b060], edx
mov dword [eax*4 + 0x47b460], ecx
inc eax
cmp eax, 0x100
jb 0x43b005
pop edi
pop esi
pop ebp
mov dword [0x47cc88], 1
pop ebx
pop ecx
ret