Function at 0x47a70d
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x4e1a35
call fcn.004e0d10
sub esp, 0x54
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov esi, ecx
mov dword [ebp - 0x18], 0xe1757117
push 3
pop edi
push edi
lea ecx, [ebp - 0x48]
call fcn.0040a183
mov dword [ebp - 0x2c], 0xb1d6a56c
mov dword [ebp - 0x30], 0x49ec71cb
xor ebx, ebx
mov dword [ebp - 0x24], ebx
jmp 0x47a75a
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x48]
mov dword [eax + ecx*4], 0x5f1dbecc
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], edi
jl 0x47a74a
mov dword [ebp - 0x18], 0xffffffe4
jmp 0x47a84c
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x28], 0xffff
mov dword [ebp - 0x20], 2
cmp dword [ebp - 0x20], ebx
jl 0x47a7bf
mov dword [ebp - 0x1c], 7
mov dword [ebp - 0x1c], ebx
jmp 0x47a7b4
mov dword [ebp - 0x24], 8
mov dword [ebp - 0x24], ebx
jmp 0x47a7ab
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], bl
je 0x47a7a8
push ebx
call dword [0xaec040]
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 2
jle 0x47a799
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jle 0x47a78d
dec dword [ebp - 0x20]
jns 0x47a781
mov eax, dword [ebp - 0x48]
mov eax, dword [eax]
add eax, 0x1e9c96c7
je 0x47a82b
push edi
lea ecx, [ebp - 0x60]
call fcn.0040a183
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x24], ebx
jmp 0x47a7f0
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x60]
mov dword [eax + ecx*4], 2
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], edi
jl 0x47a7e0
dec dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
neg eax
sbb eax, eax
inc eax
cmp eax, 0x35b6
jg 0x47a80a
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x28]
sub eax, 4
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x2c], eax
lea ecx, [ebp - 0x60]
call fcn.0040a255
jmp 0x47a849
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], bl
je 0x47a849
push ebx
push 0x2272
push 0x15a3
push 0x22f7
call dword [0xaec0a4]
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xffffffe6
jg 0x47a76b
lea ecx, [ebp - 0x48]
call fcn.0040a255
push esi
call fcn.00454a39
pop ecx
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x24], 0xe60f
mov dword [ebp - 0x18], 0xfffffffa
mov dword [ebp - 0x28], 0x5e81
cmp dword [ebp - 0x28], 0x60e1
jle 0x47a8c1
mov esi, ebx
mov edi, ebx
mov dword [ebp - 0x2c], 0x4c54
mov dword [ebp - 0x20], ebx
mov eax, edi
xor eax, ebx
cdq
push edx
push eax
mov ecx, 0xae9498
call fcn.00409f5c
inc ebx
cmp ebx, 0x3004
jl 0x47a894
add edi, esi
dec dword [ebp - 0x2c]
push 0
pop ebx
jne 0x47a891
inc esi
cmp esi, 0x269a
jl 0x47a888
mov dword [ebp - 0x2c], 0xf0dfbc43
mov dword [ebp - 4], ebx
cmp dword [ebp - 0x28], 0x5ae8
jge 0x47a8e3
mov edx, 0xad7868
mov ecx, 0xae9498
call fcn.0040c7e1
or dword [ebp - 4], 0xffffffff
jmp 0x47a909
xor esi, esi
inc esi
push esi
lea ecx, [ebp - 0x3c]
call fcn.0040a183
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x2c], 0x3f2b6367
mov dword [ebp - 0x20], ebx
jmp 0x47a934
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x3c]
mov dword [eax + ecx*4], 0xaeacb2d
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], esi
jl 0x47a924
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x18], ebx
jmp 0x47aa3c
push 4
lea ecx, [ebp - 0x54]
call fcn.0040a183
mov dword [ebp - 0x1c], 0x4373c946
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x28], ebx
jmp 0x47a971
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x54]
mov dword [eax + ecx*4], 8
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 4
jl 0x47a961
mov eax, dword [ebp - 0x24]
or ecx, 0xffffffff
sub ecx, eax
jne 0x47a988
cmp dword [ebp - 0x18], ebx
mov ecx, ebx
je 0x47a98a
mov ecx, esi
mov eax, dword [ebp - 0x3c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x18]
add eax, ecx
je 0x47a999
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x54]
mov dword [eax + 8], 0xfffffffd
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
cmp eax, 0x37f5e175
setge cl
cmp ecx, dword [ebp - 0x1c]
jle 0x47a9bb
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x2c], 0x51f1
mov eax, dword [ebp - 0x2c]
xor ecx, ecx
cmp eax, esi
setge cl
imul eax, ecx, 0xffff
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], ebx
jne 0x47a9e4
cmp dword [ebp - 0x24], ebx
mov ecx, ebx
je 0x47a9e6
mov ecx, esi
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x20], ebx
jmp 0x47aa2c
mov dword [ebp - 0x1c], ebx
cmp dword [ebp - 0x1c], ebx
jl 0x47aa29
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x3c]
cmp dword [eax + ecx*4], ebx
jne 0x47aa29
dec dword [ebp - 0x1c]
jns 0x47aa19
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ebx
jle 0x47aa11
lea ecx, [ebp - 0x54]
call fcn.0040a255
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xffffffec
jl 0x47a944
lea ecx, [ebp - 0x3c]
call fcn.0040a255
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret