Function at 0x68401ff0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ecx, 0x30
push edi
push esi
mov esi, section..data
push ebx
sub esp, 0x1d4
mov dword [esp + 0x10], eax
add eax, 0xc8
lea edi, [esp + 0x110]
rep movsd dword es:[edi], dword [esi]
mov dword [esp + 0x1c], eax
mov esi, 0x684030c0
mov ecx, 0x18
lea edi, [esp + 0xb0]
rep movsd dword es:[edi], dword [esi]
mov esi, 0x68403120
mov ecx, 0x18
lea edi, [esp + 0x50]
rep movsd dword es:[edi], dword [esi]
lea edi, [esp + 0x110]
mov esi, edi
lea esi, [esi]
lea esi, [esi]
mov edx, dword [esp + 0x10]
xor eax, eax
lea esi, [esi]
lea esi, [esi]
mov ebx, dword [edx + eax*8]
mov ecx, dword [edx + eax*8 + 4]
xor ebx, dword [edx + eax*8 + 0x28]
xor ecx, dword [edx + eax*8 + 0x2c]
xor ebx, dword [edx + eax*8 + 0x50]
xor ecx, dword [edx + eax*8 + 0x54]
xor ebx, dword [edx + eax*8 + 0x78]
xor ecx, dword [edx + eax*8 + 0x7c]
xor ebx, dword [edx + eax*8 + 0xa0]
xor ecx, dword [edx + eax*8 + 0xa4]
mov dword [esp + eax*8 + 0x28], ebx
mov dword [esp + eax*8 + 0x2c], ecx
add eax, 1
cmp eax, 5
jne 0x68402060
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x1c]
xor edi, edi
mov dword [esp + 0x18], eax
lea esi, [esi]
nop
lea ecx, [edi + 4]
mov eax, 0xcccccccd
add edi, 1
mul ecx
mov eax, edx
and edx, 0xfffffffc
shr eax, 2
add edx, eax
mov eax, 0xcccccccd
sub ecx, edx
mul edi
mov eax, edx
and edx, 0xfffffffc
shr eax, 2
add edx, eax
mov eax, edi
sub eax, edx
mov edx, dword [esp + eax*8 + 0x2c]
mov eax, dword [esp + eax*8 + 0x28]
mov ebp, eax
shld eax, edx, 1
shld edx, ebp, 1
mov ebp, dword [esp + ecx*8 + 0x28]
xor edx, dword [esp + ecx*8 + 0x2c]
xor ebp, eax
lea eax, [ebx - 0xc8]
xor dword [eax], ebp
xor dword [eax + 4], edx
add eax, 0x28
cmp ebx, eax
jne 0x68402100
add ebx, 8
cmp edi, 5
jne 0x684020b0
mov eax, dword [esp + 0x10]
mov dword [esp + 0x14], esi
xor ebp, ebp
mov edx, dword [eax + 0xc]
mov eax, dword [eax + 8]
mov dword [esp + 0xc], edx
mov dword [esp + 8], eax
lea esi, [esi]
mov eax, dword [esp + ebp*4 + 0x50]
mov edi, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + ebp*4 + 0xb0]
lea ebx, [edi + eax*8]
mov eax, dword [esp + 8]
mov esi, dword [ebx]
mov edi, dword [ebx + 4]
mov dword [esp + 8], esi
mov esi, eax
mov dword [esp + 0xc], edi
mov edi, edx
shld edi, esi, cl
shl esi, cl
test cl, 0x20
je 0x68402169
mov edi, esi
xor esi, esi
neg ecx
and ecx, 0x3f
shrd eax, edx, cl
shr edx, cl
test cl, 0x20
je 0x6840217c
mov eax, edx
xor edx, edx
mov dword [esp], eax
mov ecx, edi
mov edi, dword [esp]
mov eax, esi
mov dword [esp + 4], edx
mov edx, dword [esp + 4]
add ebp, 1
or eax, edi
or edx, ecx
mov dword [ebx], eax
mov dword [ebx + 4], edx
cmp ebp, 0x18
jne 0x68402130
mov eax, dword [esp + 8]
mov edx, dword [esp + 0xc]
xor edi, edi
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov ebx, esi
mov esi, edi
lea esi, [esi]
xor ecx, ecx
lea esi, [esi]
mov eax, dword [ebp + ecx*8]
mov edx, dword [ebp + ecx*8 + 4]
mov dword [esp + ecx*8 + 0x28], eax
mov dword [esp + ecx*8 + 0x2c], edx
add ecx, 1
cmp ecx, 5
jne 0x684021c8
mov dword [esp + 0x14], esi
xor edi, edi
mov dword [esp + 0x18], ebx
lea esi, [esi]
mov eax, dword [ebp + edi*8]
mov esi, dword [ebp + edi*8 + 4]
mov dword [esp], eax
mov eax, 0xcccccccd
mov dword [esp + 8], esi
mov esi, edi
add edi, 1
mul edi
add esi, 2
mov eax, edx
and edx, 0xfffffffc
shr eax, 2
add edx, eax
mov eax, edi
sub eax, edx
mov ebx, dword [esp + eax*8 + 0x28]
mov ecx, dword [esp + eax*8 + 0x2c]
mov eax, 0xcccccccd
mul esi
not ebx
not ecx
mov eax, edx
and edx, 0xfffffffc
shr eax, 2
add edx, eax
mov eax, dword [esp]
sub esi, edx
and ebx, dword [esp + esi*8 + 0x28]
and ecx, dword [esp + esi*8 + 0x2c]
mov esi, dword [esp + 8]
xor ebx, eax
mov dword [ebp + edi*8 - 8], ebx
xor ecx, esi
mov dword [ebp + edi*8 - 4], ecx
cmp edi, 5
jne 0x684021f0
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
add ebp, 0x28
add esi, 5
cmp esi, 0x19
jne 0x684021c0
mov edi, dword [esp + 0x10]
mov esi, ebx
mov eax, dword [ebx + 4]
add esi, 8
mov edx, dword [ebx]
xor dword [edi + 4], eax
lea eax, [esp + 0x1d0]
xor dword [edi], edx
cmp eax, esi
jne 0x68402050
add esp, 0x1d4
pop ebx
pop esi
pop edi
pop ebp
ret