Function at 0x10047740
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x1006d622
call fcn.1006c058
sub esp, 0x48
push ebx
push esi
mov esi, ecx
push edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x2c], esi
cmp dword [esi], 0
je 0x100479ca
push dword [esi]
xor ebx, ebx
push ebx
push dword [esi + 4]
call fcn.100456f1
add esp, 0xc
lea ecx, [ebp - 0x48]
push 4
call fcn.10022c69
xor edi, edi
mov dword [ebp - 0x18], ebx
inc edi
jmp 0x10047791
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x30], 0xa619
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x10047783
mov dword [ebp - 0x18], ebx
jmp 0x100477ab
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x48]
mov dword [eax + ecx*4], 2
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 4
jl 0x1004779b
mov ecx, dword [ebp - 0x48]
mov dword [ecx + 0xc], ebx
mov eax, dword [ecx + 0xc]
inc dword [ecx + 0xc]
mov dword [ebp + eax*4 - 0x30], 0x1f94
cmp dword [ecx + 0xc], edi
jl 0x100477b7
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], bl
je 0x100477d9
push ebx
call dword [0x10619100]
lea ecx, [ebp - 0x48]
call fcn.10022ceb
push dword [esi + 4]
call fcn.10054667
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0x20], 0x51da
mov dword [ebp - 0x24], 0x2eda8ed4
mov dword [ebp - 0x1c], 0xf6cbcb1a
mov dword [ebp - 0x24], 0xebda1846
mov dword [ebp - 0x34], 0x62b56095
pop ecx
mov dword [ebp - 0x1c], ebx
jmp 0x10047827
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x3c], 0x12d2c87a
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x10047819
mov dword [ebp - 0x28], 0x2e9e
cmp dword [ebp - 0x28], 0x30e8
jle 0x10047883
mov esi, ebx
mov edi, ebx
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x1c], 0xeca
mov eax, edi
mov ecx, 0x106150f8
xor eax, esi
cdq
push edx
push eax
call fcn.10022b54
dec edi
dec dword [ebp - 0x1c]
jne 0x1004784e
mov edi, dword [ebp - 0x24]
inc edi
mov dword [ebp - 0x24], edi
cmp edi, 0x6975
jl 0x10047844
inc esi
cmp esi, 0x28d9
jl 0x1004783f
mov esi, dword [ebp - 0x2c]
xor edi, edi
inc edi
cmp dword [ebp - 0x18], ebx
jne 0x10047937
mov eax, dword [ebp - 0x18]
xor ecx, ecx
cmp eax, 0x8fb0b44c
setne cl
mov dword [ebp - 0x24], ecx
mov eax, dword [ebp - 0x24]
sub eax, dword [ebp - 0x18]
je 0x100478ab
mov edx, edi
cmp dword [ebp - 0x18], ebx
jne 0x100478ad
mov edx, ebx
mov eax, dword [ebp - 0x18]
xor ecx, ecx
cmp eax, edx
mov dword [ebp - 0x38], eax
sete cl
mov dword [ebp - 0x1c], ecx
xor ecx, ecx
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x20]
sub edx, 0x1a82e77e
cmp edx, eax
setne cl
mov dword [ebp - 0x24], ecx
cmp dword [ebp - 0x24], ebx
jne 0x100478df
cmp dword [ebp - 0x20], ebx
jne 0x100478df
mov edi, ebx
mov eax, dword [ebp - 0x20]
xor ecx, ecx
cmp eax, edi
mov eax, dword [ebp - 0x18]
setl cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x20]
setge dl
xor ebx, ebx
cmp edx, eax
mov eax, dword [ebp - 0x18]
setl bl
xor ecx, ecx
cmp ebx, eax
setl cl
xor ebx, ebx
cmp ecx, dword [ebp - 0x18]
jge 0x10047937
mov dword [ebp - 0x1c], ebx
jmp 0x1004792f
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], bl
je 0x1004792c
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
call dword [0x10619004]
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xfffffff2
jl 0x10047913
jmp 0x10047954
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x10047954
push ebx
push ebx
push 0x1acb
push 0x19
push 0xef8
call dword [0x10619228]
mov dword [ebp - 4], ebx
cmp dword [ebp - 0x28], 0x2e51
jge 0x10047990
mov edx, 0x1000c870
mov ecx, 0x106150f8
call fcn.1002618a
jmp 0x10047990
mov dword [esi + 4], ebx
mov dword [ebp - 0x34], 0xcec3
mov dword [ebp - 0x34], 0x4d8e5ccc
push 3
pop ecx
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x2c], 0x903c
mov dword [ebp - 0x1c], ebx
jmp 0x100479c0
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x54], ebx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x100479b6
dec dword [ebp - 0x2c]
mov dword [esi], ebx
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret