Function at 0x100be9e0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x44
mov eax, dword [0x103c4120]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, ecx
push esi
push edi
xor esi, esi
mov dword [ebp - 0x44], eax
mov edi, dword [eax + 4]
test edi, edi
jle 0x100bea18
lea edx, [eax + 0x64]
mov ecx, dword [edx - 0x20]
lea edx, [edx + 4]
xor ecx, dword [edx + 0x1c]
xor ecx, dword [edx - 4]
mov dword [ebp + esi*4 - 0x24], ecx
inc esi
cmp esi, edi
jl 0x100bea03
mov edx, dword [ebp - 8]
mov esi, 3
mov ecx, dword [ebp - 0xc]
mov dword [ebp - 8], ecx
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0xc], ecx
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x10], ecx
mov ecx, dword [ebp - 0x18]
xor ecx, edx
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x14], ecx
mov ecx, dword [ebp - 0x1c]
xor ecx, edx
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x1c], ecx
mov ecx, dword [ebp - 0x24]
xor ecx, edx
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x20], ecx
lea ecx, [eax + 0x44]
push ebx
mov dword [ebp - 0x34], ecx
lea ecx, [ecx]
xor edx, edx
cmp dword [eax + 4], edx
jle 0x100bea89
mov esi, ecx
lea edi, [eax + 0x24]
lea esp, [esp]
mov ecx, dword [ebp + edx*4 - 0x24]
lea edi, [edi + 4]
xor ecx, dword [edi - 4]
lea esi, [esi + 4]
xor dword [esi - 4], ecx
inc edx
cmp edx, dword [eax + 4]
jl 0x100bea70
mov esi, dword [ebp - 0x3c]
mov edx, dword [eax + 0x40]
mov ecx, dword [eax + 0x3c]
mov dword [eax + 0x40], ecx
mov ecx, dword [eax + 0x38]
mov dword [eax + 0x3c], ecx
mov ecx, dword [eax + 0x34]
mov dword [eax + 0x38], ecx
mov ecx, dword [eax + 0x30]
xor ecx, edx
mov dword [eax + 0x34], ecx
mov ecx, dword [eax + 0x2c]
xor ecx, edx
mov dword [eax + 0x30], ecx
mov ecx, dword [eax + 0x28]
mov dword [eax + 0x2c], ecx
mov ecx, dword [eax + 0x24]
xor ecx, edx
mov dword [eax + 0x24], edx
mov dword [eax + 0x28], ecx
mov ecx, dword [ebp - 0x34]
add ecx, 0x20
dec esi
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x3c], esi
jne 0x100bea60
mov edx, dword [eax + 4]
mov dword [ebp - 0x40], edx
test edx, edx
jle 0x100beae2
mov ecx, edx
lea esi, [eax + 0x44]
lea edi, [ebp - 0x24]
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 8]
test edx, edx
mov esi, dword [ebp - 0xc]
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x3c], 0
jle 0x100bec1a
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10]
mov ebx, dword [ebp - 0x20]
mov dword [ebp - 0x28], ecx
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x30], ecx
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x2c], ecx
or dword [ebp - 0x2c], ebx
not ebx
mov edi, dword [ebp - 0x2c]
xor edi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x30]
xor eax, dword [ebp - 0x28]
and dword [ebp - 0x28], ecx
xor ebx, dword [ebp - 0x28]
xor dword [ebp - 0x28], eax
and eax, edi
xor eax, ebx
not edi
or ebx, dword [ebp - 0x28]
xor dword [ebp - 0x28], eax
xor ecx, ebx
and eax, ebx
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x30], eax
xor ebx, edi
mov eax, dword [ebp - 0x38]
mov edi, dword [ebp - 0x34]
mov dword [ebp - 0x2c], ecx
xor edi, edx
mov ecx, eax
or eax, esi
xor eax, edx
not esi
and edx, ecx
xor esi, edx
xor edx, edi
and edi, eax
not eax
xor edi, esi
or esi, edx
xor ecx, esi
xor edx, edi
and edi, esi
xor esi, eax
mov eax, dword [ebp - 0x2c]
xor edx, eax
rol eax, 2
xor eax, edx
rol edx, 0xe
xor edx, eax
rol eax, 0xa
xor eax, edx
rol edx, 1
mov dword [ebp - 0x2c], eax
mov eax, ebx
xor eax, ecx
rol ebx, 2
mov ecx, dword [ebp - 0x30]
xor ebx, eax
xor esi, ecx
rol eax, 0xe
rol ecx, 2
xor eax, ebx
xor ecx, esi
rol ebx, 0xa
rol esi, 0xe
xor ebx, eax
xor esi, ecx
rol eax, 1
rol ecx, 0xa
xor ecx, esi
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x1c], ecx
mov ecx, dword [ebp - 0x28]
xor edi, ecx
rol ecx, 2
xor ecx, edi
rol esi, 1
rol edi, 0xe
xor edi, ecx
mov dword [ebp - 0x10], eax
rol ecx, 0xa
xor ecx, edi
rol edi, 1
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x18], ecx
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x34], edi
mov dword [ebp - 8], edi
xor ecx, dword [eax*8 + 0x102b5dd8]
xor edx, dword [eax*8 + 0x102b5ddc]
inc eax
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x3c], eax
cmp eax, dword [ebp - 0x40]
jl 0x100beb18
mov ecx, dword [ebp - 0x38]
mov dword [ebp - 0x14], edx
mov dword [ebp - 0xc], esi
mov dword [ebp - 0x20], ebx
jmp 0x100bec32
mov ebx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x1c]
mov dword [ebp - 0x30], ebx
mov ebx, dword [ebp - 0x20]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x40], 0
cmp dword [eax + 4], 0
jle 0x100bec8b
mov ebx, dword [ebp - 0x40]
lea edx, [eax + 0x64]
jmp 0x100bec50
mov ecx, dword [ebp + ebx*4 - 0x24]
lea edx, [edx + 4]
mov dword [edx - 0x24], ecx
mov ecx, dword [edx - 4]
mov dword [ebp + ebx*4 - 0x24], ecx
inc ebx
cmp ebx, dword [eax + 4]
jl 0x100bec50
mov ebx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x24]
mov edi, dword [ebp - 8]
mov esi, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x1c]
mov dword [ebp - 0x30], ebx
mov ebx, dword [ebp - 0x20]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x44]
rol edx, 1
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x14], edx
mov edx, dword [eax + 4]
rol ecx, 1
rol esi, 1
rol edi, 1
test edx, edx
mov dword [ebp - 0x40], edx
mov edx, dword [ebp - 0x3c]
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0xc], esi
mov dword [ebp - 8], edi
mov dword [ebp - 0x34], 0
jle 0x100bedcc
lea ecx, [ecx]
mov eax, dword [ebp - 0x2c]
mov ecx, eax
or eax, ebx
not ebx
mov dword [ebp - 0x2c], eax
mov edx, dword [ebp - 0x2c]
xor edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x30]
xor eax, dword [ebp - 0x28]
and dword [ebp - 0x28], ecx
xor ebx, dword [ebp - 0x28]
xor dword [ebp - 0x28], eax
and eax, edx
xor eax, ebx
not edx
or ebx, dword [ebp - 0x28]
xor dword [ebp - 0x28], eax
xor ecx, ebx
and eax, ebx
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x30], eax
xor ebx, edx
mov eax, dword [ebp - 0x38]
mov edx, dword [ebp - 0x3c]
xor edi, edx
mov dword [ebp - 0x2c], ecx
mov ecx, eax
or eax, esi
not esi
xor eax, edx
and edx, ecx
xor esi, edx
xor edx, edi
and edi, eax
not eax
xor edi, esi
or esi, edx
xor ecx, esi
xor edx, edi
and edi, esi
xor esi, eax
mov eax, dword [ebp - 0x2c]
xor edx, eax
rol eax, 2
xor eax, edx
rol edx, 0xe
xor edx, eax
rol eax, 0xa
xor eax, edx
rol edx, 1
mov dword [ebp - 0x2c], eax
mov eax, ebx
xor eax, ecx
rol ebx, 2
mov ecx, dword [ebp - 0x30]
xor ebx, eax
xor esi, ecx
rol eax, 0xe
rol ecx, 2
xor eax, ebx
xor ecx, esi
rol ebx, 0xa
rol esi, 0xe
xor ebx, eax
xor esi, ecx
rol eax, 1
rol ecx, 0xa
xor ecx, esi
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x1c], ecx
mov ecx, dword [ebp - 0x28]
xor edi, ecx
rol ecx, 2
xor ecx, edi
rol esi, 1
rol edi, 0xe
xor edi, ecx
mov dword [ebp - 0x10], eax
rol ecx, 0xa
xor ecx, edi
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebp - 0x2c]
xor ecx, dword [eax*8 + 0x102b5e18]
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x24], ecx
mov ecx, eax
rol edi, 1
xor edx, dword [ecx*8 + 0x102b5e1c]
inc ecx
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x34], ecx
cmp ecx, dword [ebp - 0x40]
jl 0x100becc0
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x38]
mov dword [ebp - 0xc], esi
mov dword [ebp - 8], edi
mov dword [ebp - 0x20], ebx
cmp dword [eax + 4], 0
mov dword [ebp - 0x40], 0
jle 0x100bee1d
mov ebx, dword [ebp - 0x40]
lea edx, [eax + 0x84]
mov ecx, dword [ebp + ebx*4 - 0x24]
lea edx, [edx + 4]
mov dword [edx - 0x24], ecx
mov ecx, dword [edx - 4]
mov dword [ebp + ebx*4 - 0x24], ecx
inc ebx
cmp ebx, dword [eax + 4]
jl 0x100bede2
mov ebx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x24]
mov edi, dword [ebp - 8]
mov esi, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x1c]
mov dword [ebp - 0x30], ebx
mov ebx, dword [ebp - 0x20]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x44]
rol ecx, 2
rol edx, 2
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x10], ecx
mov ecx, dword [eax + 4]
rol esi, 2
rol edi, 2
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x14], edx
mov dword [ebp - 0xc], esi
mov dword [ebp - 8], edi
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x40], ecx
test ecx, ecx
jle 0x100bef5c
mov eax, dword [ebp - 0x2c]
mov ecx, eax
or eax, ebx
not ebx
mov dword [ebp - 0x2c], eax
mov edx, dword [ebp - 0x2c]
xor edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x30]
xor eax, dword [ebp - 0x28]
and dword [ebp - 0x28], ecx
xor ebx, dword [ebp - 0x28]
xor dword [ebp - 0x28], eax
and eax, edx
xor eax, ebx
not edx
or ebx, dword [ebp - 0x28]
xor dword [ebp - 0x28], eax
xor ecx, ebx
and eax, ebx
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x30], eax
xor ebx, edx
mov eax, dword [ebp - 0x38]
mov edx, dword [ebp - 0x3c]
xor edi, edx
mov dword [ebp - 0x2c], ecx
mov ecx, eax
or eax, esi
not esi
xor eax, edx
and edx, ecx
xor esi, edx
xor edx, edi
and edi, eax
not eax
xor edi, esi
or esi, edx
xor ecx, esi
xor edx, edi
and edi, esi
xor esi, eax
mov eax, dword [ebp - 0x2c]
xor edx, eax
rol eax, 2
xor eax, edx
rol edx, 0xe
xor edx, eax
rol eax, 0xa
xor eax, edx
rol edx, 1
mov dword [ebp - 0x2c], eax
mov eax, ebx
xor eax, ecx
rol ebx, 2
mov ecx, dword [ebp - 0x30]
xor ebx, eax
xor esi, ecx
rol eax, 0xe
rol ecx, 2
xor eax, ebx
xor ecx, esi
rol ebx, 0xa
rol esi, 0xe
xor ebx, eax
xor esi, ecx
rol eax, 1
rol ecx, 0xa
xor ecx, esi
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x1c], ecx
mov ecx, dword [ebp - 0x28]
xor edi, ecx
rol ecx, 2
xor ecx, edi
rol esi, 1
rol edi, 0xe
xor edi, ecx
mov dword [ebp - 0x10], eax
rol ecx, 0xa
xor ecx, edi
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebp - 0x2c]
xor ecx, dword [eax*8 + 0x102b5e58]
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x24], ecx
mov ecx, eax
rol edi, 1
xor edx, dword [ecx*8 + 0x102b5e5c]
inc ecx
mov dword [ebp - 0x34], ecx
mov ecx, dword [ebp - 0x40]
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x14], edx
cmp dword [ebp - 0x34], ecx
jl 0x100bee50
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0xc], esi
mov dword [ebp - 8], edi
mov dword [ebp - 0x20], ebx
xor edx, edx
pop ebx
test ecx, ecx
jle 0x100bef80
lea esi, [eax + 0x84]
lea esp, [esp]
mov ecx, dword [ebp + edx*4 - 0x24]
lea esi, [esi + 4]
mov dword [esi - 4], ecx
inc edx
cmp edx, dword [eax + 4]
jl 0x100bef70
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.101c6a5b
mov esp, ebp
pop ebp
ret