Function at 0x100421a7
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x98
push 0
call fcn.100c84d0
add esp, 4
test eax, eax
je 0x100424f1
mov edx, dword [eax]
mov esi, dword [eax + 8]
mov edi, dword [eax + 0xc]
mov ecx, edx
add ecx, 1
mov dword [eax], ecx
mov ebx, dword [eax + 4]
mov ecx, ebx
adc ecx, 0
mov dword [eax + 4], ecx
mov eax, ebx
xor eax, 0x736f6d65
mov dword [esp + 0x34], eax
mov eax, edx
xor eax, 0x70736575
mov dword [esp + 0x30], eax
mov eax, edi
xor eax, 0x646f7261
mov dword [esp + 0x2c], eax
mov eax, esi
xor eax, 0x6e646f6d
mov dword [esp + 0x28], eax
mov dword [esp + 0x38], ebx
xor ebx, 0x6c796765
mov dword [esp + 0x24], ebx
mov dword [esp + 0x44], edx
xor edx, 0x6e657261
mov dword [esp + 0x20], edx
mov dword [esp + 0x3c], edi
xor edi, 0x74656462
mov dword [esp + 0x1c], edi
mov dword [esp + 0x40], esi
xor esi, 0x79746573
mov dword [esp + 0x18], esi
xor esi, esi
inc esi
mov dword [esp + 0x48], esi
mov eax, dword [esp + 0x30]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x7c], eax
xorps xmm0, xmm0
lea eax, [esp + 0x80]
movups xmmword [eax], xmm0
mov dword [esp + 0x4c], esi
lea ecx, [esp + 0x50]
lea edx, [esp + 0x4c]
push 4
call fcn.1003524e
add esp, 4
mov ecx, dword [esp + 0x88]
shl ecx, 0x18
or ecx, dword [esp + 0x84]
mov dword [esp + 0x10], ecx
mov eax, dword [esp + 0x60]
mov esi, dword [esp + 0x80]
mov dword [esp + 0x14], esi
mov edx, dword [esp + 0x6c]
mov edi, dword [esp + 0x68]
xor edx, ecx
xor edi, esi
mov ecx, dword [esp + 0x50]
add ecx, eax
mov dword [esp + 4], ecx
mov esi, dword [esp + 0x64]
mov ecx, dword [esp + 0x54]
adc ecx, esi
mov dword [esp + 0xc], ecx
mov ebx, eax
shld ebx, esi, 0xd
shld esi, eax, 0xd
xor esi, ecx
xor ebx, dword [esp + 4]
mov eax, dword [esp + 0x58]
add eax, edi
mov ecx, dword [esp + 0x5c]
adc ecx, edx
mov dword [esp + 8], ecx
mov ecx, edi
shld ecx, edx, 0x10
shrd edi, edx, 0x10
xor edi, dword [esp + 8]
xor ecx, eax
add dword [esp + 0xc], ecx
adc dword [esp + 4], edi
mov edx, ecx
shld edx, edi, 0x15
shrd ecx, edi, 0xb
xor ecx, dword [esp + 4]
xor edx, dword [esp + 0xc]
add eax, ebx
adc dword [esp + 8], esi
mov edi, ebx
shld edi, esi, 0x11
shrd ebx, esi, 0xf
mov esi, dword [esp + 4]
xor esi, dword [esp + 0x10]
mov dword [esp + 4], esi
mov esi, dword [esp + 0x14]
xor dword [esp + 0xc], esi
xor edi, eax
mov esi, dword [esp + 8]
xor ebx, esi
xor esi, 0xff
mov dword [esp + 8], esi
add dword [esp + 0xc], edi
adc dword [esp + 4], ebx
mov esi, edi
shld esi, ebx, 0xd
shrd edi, ebx, 0x13
xor edi, dword [esp + 4]
xor esi, dword [esp + 0xc]
add dword [esp + 8], edx
adc eax, ecx
mov ebx, edx
shld ebx, ecx, 0x10
shrd edx, ecx, 0x10
xor edx, eax
xor ebx, dword [esp + 8]
add dword [esp + 4], ebx
adc dword [esp + 0xc], edx
mov ecx, ebx
shld ecx, edx, 0x15
shrd ebx, edx, 0xb
xor ebx, dword [esp + 0xc]
xor ecx, dword [esp + 4]
add dword [esp + 8], esi
mov edx, edi
adc eax, edi
mov edi, esi
shld edi, edx, 0x11
shrd esi, edx, 0xf
xor esi, eax
xor edi, dword [esp + 8]
add dword [esp + 4], edi
adc dword [esp + 0xc], esi
mov edx, edi
shld edx, esi, 0xd
shrd edi, esi, 0x13
xor edi, dword [esp + 0xc]
xor edx, dword [esp + 4]
mov dword [esp + 0x10], edx
add eax, ecx
mov edx, dword [esp + 8]
adc edx, ebx
mov dword [esp + 8], edx
mov esi, ecx
shld esi, ebx, 0x10
shrd ecx, ebx, 0x10
xor ecx, edx
xor esi, eax
mov edx, dword [esp + 0xc]
add edx, esi
adc dword [esp + 4], ecx
mov ebx, esi
shld ebx, ecx, 0x15
shrd esi, ecx, 0xb
xor esi, dword [esp + 4]
xor ebx, edx
mov dword [esp + 0xc], ebx
add eax, dword [esp + 0x10]
mov ecx, dword [esp + 8]
adc ecx, edi
mov dword [esp + 8], ecx
mov ebx, dword [esp + 0x10]
shld ebx, edi, 0x11
shrd dword [esp + 0x10], edi, 0xf
xor dword [esp + 0x10], ecx
xor ebx, eax
mov edi, edx
add edi, ebx
mov ecx, dword [esp + 0x10]
adc dword [esp + 4], ecx
mov edx, ebx
shld edx, ecx, 0xd
xor edx, edi
mov dword [esp + 0x14], edx
shrd ebx, ecx, 0x13
xor ebx, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc]
add ecx, edx
adc eax, esi
mov edi, edx
shld edi, esi, 0x10
shrd edx, esi, 0x10
xor edx, eax
xor edi, ecx
mov esi, edi
shrd edi, edx, 0xb
shld esi, edx, 0x15
mov edx, dword [esp + 0x14]
add ecx, edx
mov dword [esp + 8], ecx
adc eax, ebx
mov ecx, edx
shld edx, ebx, 0x11
shld ebx, ecx, 0x11
xor edx, esi
mov esi, dword [esp + 0x48]
xor ebx, edi
xor eax, dword [esp + 8]
xor ebx, eax
xor eax, edx
inc esi
mov ecx, eax
or ecx, ebx
je 0x10042249
mov edx, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
lea eax, [esp + 0x50]
push 0x101070ec
push 0x101073a8
push eax
push 0x46
push 0x10107054
call fcn.10101580
push dword [esp + 4]
push section..data
call fcn.1001657a
add esp, 8
ret