Function at 0x100b4f10
Capabilities:
Encode data using xor

Disassembly:
sub esp, 0x394
mov eax, dword [0x106499c8]
xor eax, esp
mov dword [esp + 0x390], eax
push ebx
push ebp
push esi
push edi
mov ecx, dword [esp + 0x3a8]
mov eax, dword [esp + 0x3ac]
mov edx, dword [ecx]
mov dword [esp + 0x68], edx
mov dword [esp + 0x1c], edx
mov edx, dword [ecx + 8]
mov esi, dword [ecx + 4]
mov dword [esp + 0x88], edx
mov dword [esp + 0x38], edx
mov edx, dword [ecx + 0x10]
mov dword [esp + 0x9c], esi
mov dword [esp + 0x14], esi
mov esi, dword [ecx + 0xc]
mov dword [esp + 0x98], edx
mov dword [esp + 0x30], edx
mov edx, dword [ecx + 0x18]
mov dword [esp + 0x70], esi
mov dword [esp + 0x24], esi
mov esi, dword [ecx + 0x14]
mov dword [esp + 0x90], edx
mov dword [esp + 0x48], edx
mov edx, dword [ecx + 0x20]
mov dword [esp + 0x78], esi
mov dword [esp + 0x40], esi
mov esi, dword [ecx + 0x1c]
mov dword [esp + 0x60], edx
mov dword [esp + 0x18], edx
mov edx, dword [ecx + 0x28]
mov dword [esp + 0x80], esi
mov dword [esp + 0x54], esi
mov esi, dword [ecx + 0x24]
mov dword [esp + 0x6c], edx
mov dword [esp + 0x34], edx
mov edx, dword [ecx + 0x30]
mov dword [esp + 0x64], esi
mov dword [esp + 0x10], esi
mov esi, dword [ecx + 0x2c]
push 0x80
push eax
mov dword [esp + 0x84], edx
mov dword [esp + 0x4c], edx
mov edx, dword [ecx + 0x38]
mov dword [esp + 0x64], ecx
mov dword [esp + 0x7c], esi
mov dword [esp + 0x44], esi
mov esi, dword [ecx + 0x34]
mov ecx, dword [ecx + 0x3c]
lea eax, [esp + 0xa8]
push eax
mov dword [esp + 0x90], esi
mov dword [esp + 0x38], esi
mov dword [esp + 0x98], edx
mov dword [esp + 0xa0], ecx
mov dword [esp + 0x58], edx
mov dword [esp + 0x5c], ecx
call fcn.100b4e60
mov ecx, 0x20
lea esi, [esp + 0xac]
lea edi, [esp + 0x12c]
add esp, 0xc
rep movsd dword es:[edi], dword [esi]
lea eax, [esp + 0x190]
mov dword [esp + 0x20], 0x40
mov edi, edi
mov ebp, dword [eax]
mov ebx, dword [eax + 4]
mov ecx, ebp
mov edx, ebx
shrd ecx, edx, 0x13
shr edx, 0x13
xor esi, esi
or esi, ecx
mov edi, ebp
shl edi, 0xd
or edi, edx
mov ecx, ebp
mov edx, ebx
shld edx, ecx, 3
shl ecx, 3
mov dword [esp + 0x28], edi
mov edi, ebx
shrd ebp, ebx, 6
mov dword [esp + 0x58], esi
shr edi, 0x1d
or edi, ecx
mov ecx, dword [esp + 0x58]
xor ecx, edi
xor ecx, ebp
xor esi, esi
or esi, edx
mov edx, dword [esp + 0x28]
xor edx, esi
mov esi, dword [eax - 0x68]
shr ebx, 6
xor edx, ebx
mov dword [esp + 0x28], edx
mov edx, dword [eax - 0x64]
mov dword [esp + 0x58], ecx
mov ecx, esi
shrd ecx, edx, 8
shr edx, 8
xor ebx, ebx
or ebx, ecx
mov ecx, dword [eax - 0x68]
mov ebp, esi
shl ebp, 0x18
or ebp, edx
mov edx, dword [eax - 0x64]
shrd ecx, edx, 1
shr edx, 1
mov edi, esi
xor esi, esi
or esi, ecx
mov ecx, dword [eax - 0x64]
shl edi, 0x1f
or edi, edx
mov edx, dword [eax - 0x68]
shrd edx, ecx, 7
shr ecx, 7
xor ebp, edi
xor ebx, esi
xor ebx, edx
mov edx, dword [esp + 0x28]
xor ebp, ecx
mov ecx, dword [esp + 0x58]
add ecx, ebx
adc edx, ebp
add ecx, dword [eax - 0x70]
adc edx, dword [eax - 0x6c]
add ecx, dword [eax - 0x28]
adc edx, dword [eax - 0x24]
dec dword [esp + 0x20]
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], edx
lea eax, [eax + 8]
jne 0x100b5040
mov edx, dword [esp + 0x18]
xor edi, edi
mov dword [esp + 0x20], edi
mov ecx, dword [esp + 0x10]
mov ebp, ecx
mov eax, edx
shld ecx, eax, 0x17
shl eax, 0x17
xor ebx, ebx
or ebx, ecx
mov ecx, dword [esp + 0x10]
shr ebp, 9
or ebp, eax
mov eax, dword [esp + 0x18]
shrd eax, ecx, 0x12
shr ecx, 0x12
mov esi, edx
shl esi, 0xe
or esi, ecx
mov ecx, dword [esp + 0x10]
xor ebx, esi
xor edx, edx
or edx, eax
mov eax, dword [esp + 0x18]
mov esi, eax
shrd eax, ecx, 0xe
shl esi, 0x12
xor ebp, edx
shr ecx, 0xe
or esi, ecx
mov ecx, dword [esp + 0x34]
and ecx, dword [esp + 0x18]
xor ebx, esi
mov esi, dword [esp + 0x18]
xor edx, edx
or edx, eax
mov eax, dword [esp + 0x3c]
and eax, dword [esp + 0x10]
xor ebp, edx
mov edx, dword [esp + 0x10]
not esi
and esi, dword [esp + 0x44]
not edx
and edx, dword [esp + 0x2c]
xor esi, ecx
xor edx, eax
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
add ebp, esi
adc ebx, edx
add ebp, dword [edi + 0x10475f58]
adc ebx, dword [edi + 0x10475f5c]
add ebp, dword [esp + edi + 0x120]
adc ebx, dword [esp + edi + 0x124]
add ebp, dword [esp + 0x4c]
adc ebx, dword [esp + 0x50]
xor edi, edi
mov dword [esp + 0x28], ebx
mov ebx, eax
shrd eax, ecx, 0x1c
shr ecx, 0x1c
or edi, eax
mov eax, dword [esp + 0x1c]
shl ebx, 4
or ebx, ecx
mov ecx, dword [esp + 0x14]
mov esi, ecx
shld ecx, eax, 0x1e
shr esi, 2
shl eax, 0x1e
or esi, eax
mov eax, dword [esp + 0x1c]
xor edx, edx
or edx, ecx
mov ecx, dword [esp + 0x14]
xor edi, esi
mov esi, ecx
shld ecx, eax, 0x19
xor ebx, edx
shr esi, 7
shl eax, 0x19
xor edx, edx
or esi, eax
or edx, ecx
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x24]
and eax, dword [esp + 0x14]
xor ebx, edx
mov edx, dword [esp + 0x24]
xor edx, dword [esp + 0x14]
xor edi, esi
and edx, dword [esp + 0x40]
mov esi, ecx
and ecx, dword [esp + 0x1c]
xor esi, dword [esp + 0x1c]
xor edx, eax
and esi, dword [esp + 0x30]
mov eax, dword [esp + 0x44]
xor esi, ecx
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x2c]
add esi, edi
adc ebx, edx
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x34]
mov edi, dword [esp + 0x20]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x3c]
mov edx, ebp
add edx, dword [esp + 0x48]
mov dword [esp + 0x2c], eax
adc ecx, dword [esp + 0x54]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x48], ecx
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x54], ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x24], ecx
add esi, ebp
mov ecx, ebx
adc ecx, dword [esp + 0x28]
add edi, 8
mov dword [esp + 0x3c], eax
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], esi
mov dword [esp + 0x14], ecx
mov dword [esp + 0x20], edi
cmp edi, 0x280
jl 0x100b5113
mov eax, dword [esp + 0x5c]
mov edi, dword [esp + 0x68]
mov ebx, dword [esp + 0x9c]
add edi, esi
adc ebx, ecx
mov ecx, dword [esp + 0x88]
add ecx, dword [esp + 0x38]
mov dword [eax + 4], ebx
mov ebx, dword [esp + 0x70]
adc ebx, dword [esp + 0x24]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x98]
add ecx, dword [esp + 0x30]
mov dword [eax + 0xc], ebx
mov ebx, dword [esp + 0x78]
adc ebx, dword [esp + 0x40]
mov dword [eax + 0x10], ecx
mov ecx, dword [esp + 0x90]
add ecx, dword [esp + 0x48]
mov dword [eax + 0x14], ebx
mov ebx, dword [esp + 0x80]
adc ebx, dword [esp + 0x54]
mov dword [eax + 0x18], ecx
mov ecx, dword [esp + 0x60]
add ecx, edx
mov edx, dword [esp + 0x64]
adc edx, dword [esp + 0x10]
mov dword [eax + 0x20], ecx
mov ecx, dword [esp + 0x6c]
add ecx, dword [esp + 0x34]
mov dword [eax + 0x24], edx
mov edx, dword [esp + 0x74]
adc edx, dword [esp + 0x3c]
mov dword [eax + 0x28], ecx
mov ecx, dword [esp + 0x7c]
add ecx, dword [esp + 0x44]
mov dword [eax + 0x2c], edx
mov edx, dword [esp + 0x84]
adc edx, dword [esp + 0x2c]
mov dword [eax + 0x30], ecx
mov ecx, dword [esp + 0x8c]
add ecx, dword [esp + 0x4c]
mov dword [eax], edi
pop edi
pop esi
mov dword [eax + 0x34], edx
mov edx, dword [esp + 0x8c]
adc edx, dword [esp + 0x48]
mov dword [eax + 0x38], ecx
mov ecx, dword [esp + 0x398]
pop ebp
mov dword [eax + 0x1c], ebx
pop ebx
xor ecx, esp
mov dword [eax + 0x3c], edx
call fcn.10311bec
add esp, 0x394
ret