Function at 0x47cb93
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x4b1d4b
call fcn.004b0e50
sub esp, 0x38
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x14], 0xffff
mov eax, dword [ebp - 0x14]
push 3
lea ecx, [ebp - 0x44]
call fcn.0040bc20
mov dword [ebp - 0x28], 0x9bca7b5c
xor edi, edi
mov dword [ebp - 0x18], edi
jmp 0x47cbde
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x44]
mov dword [eax + ecx*4], 8
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x47cbce
mov dword [ebp - 0x24], 0x589d
mov dword [ebp - 0x28], 0xab368c
cmp dword [ebp - 0x24], 0x5b25
jle 0x47cc43
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x1c], 0x1d93
mov esi, edi
mov edi, dword [ebp - 0x20]
mov eax, edi
and eax, esi
cdq
push edx
push eax
mov ecx, 0xac6c78
call fcn.0040b8cb
inc esi
cmp esi, 0x29b
jl 0x47cc0d
mov esi, dword [ebp - 0x18]
add edi, esi
mov dword [ebp - 0x20], edi
dec dword [ebp - 0x1c]
push 0
pop edi
jne 0x47cc08
inc esi
mov dword [ebp - 0x18], esi
cmp esi, 0x7587
jl 0x47cbfe
mov dword [ebp - 0x14], edi
cmp dword [ebp - 0x14], 2
jg 0x47cd09
mov dword [ebp - 0x20], 0x4001
cmp dword [ebp - 0x20], 0x4390
jle 0x47cc8b
mov esi, edi
mov dword [ebp - 0x1c], edi
mov eax, edi
xor eax, esi
cdq
push edx
push eax
mov ecx, 0xac6c78
call fcn.0040b8cb
inc edi
cmp edi, 0x4794
jl 0x47cc65
inc esi
cmp esi, 0x217
push 0
pop edi
jl 0x47cc62
mov dword [ebp - 4], edi
cmp dword [ebp - 0x20], 0x3e8b
jge 0x47cca6
mov edx, 0xab36b4
mov ecx, 0xac6c78
call fcn.0040e502
or dword [ebp - 4], 0xffffffff
jmp 0x47cccc
mov esi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
xor edx, edx
mov ecx, dword [ebp - 0x44]
cmp dword [ecx + eax*4], 0xffffffff
setle dl
imul edx, dword [ecx + esi*4]
test edx, edx
jne 0x47ccf2
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x44]
mov eax, dword [ecx + eax*4]
mov dword [ecx + edx*4], eax
inc dword [ebp - 0x14]
jmp 0x47cc46
mov dword [ebp - 4], 2
cmp dword [ebp - 0x24], 0x55c3
jge 0x47cd26
mov edx, dword [ebp - 0x28]
mov ecx, 0xac6c78
call fcn.0040e502
or dword [ebp - 4], 0xffffffff
jmp 0x47cd4c
mov dword [ebp - 0x28], 0xffffffff
lea ecx, [ebp - 0x44]
call fcn.0040bcf2
push 5
pop eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x18], 0x29000d4e
mov dword [ebp - 0x1c], 0xfffffff7
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x28], 0xa424acdf
mov dword [ebp - 0x18], edi
jmp 0x47cd88
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x38], edi
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x47cd7e
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x14], edi
je 0x47cdcc
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], edi
jne 0x47cdc9
imul eax, dword [ebp - 0x34], 0x80214
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x1c], 0xe9d0
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x14]
add eax, dword [ebp - 0x34]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x2c]
mov edx, dword [eax]
imul ecx, dword [edx], 0xa
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
movsx eax, byte [eax]
add ecx, 0xffffffd0
add eax, ecx
mov dword [edx], eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret