Function at 0x40eb20
Capabilities:
Encode data using xor
Hash data with crc32

Disassembly:
push ebx
push ebp
push esi
mov al, byte [0x4966b0]
mov edx, dword [0x462f1c]
push edi
mov ecx, 7
mov esi, 0x464ec8
mov edi, 0x48dfe0
mov byte [0x48dfdc], 0x10
mov byte [0x48dfdd], 0
mov byte [0x48dfde], 0
mov byte [0x48dfdf], 0
rep movsd dword es:[edi], dword [esi]
mov cl, byte [0x464ebc]
mov byte [0x48dffc], al
mov eax, dword [0x462f20]
mov byte [0x48dffd], cl
mov ecx, dword [0x462f24]
mov dword [0x48dffe], edx
mov edx, dword [0x462f28]
mov dword [0x48e006], ecx
mov ecx, 0x12
mov esi, 0x462e8c
mov edi, 0x48e00e
mov dword [0x48e002], eax
mov dword [0x48e00a], edx
mov al, byte [0x464eb0]
rep movsd dword es:[edi], dword [esi]
mov ecx, 8
mov esi, 0x464528
mov edi, 0x48e056
mov dl, byte [0x464eb8]
rep movsd dword es:[edi], dword [esi]
mov ecx, 8
mov esi, 0x464548
mov edi, 0x48e076
rep movsd dword es:[edi], dword [esi]
mov cl, byte [0x464eb4]
mov byte [0x48e096], al
mov eax, dword [0x464ee8]
mov byte [0x48e097], cl
mov ecx, dword [0x464eec]
mov byte [0x48e098], dl
mov edx, dword [0x464ef0]
mov dword [0x48e099], eax
mov eax, dword [0x464ef4]
mov dword [0x48e09d], ecx
mov ecx, 0x62
mov esi, 0x496518
mov edi, 0x48e0a9
mov dword [0x48e0a1], edx
mov dword [0x48e0a5], eax
mov dl, byte [0x464ec0]
rep movsd dword es:[edi], dword [esi]
mov ecx, 0x62
mov esi, 0x495f88
mov edi, 0x48e231
mov al, byte [0x481de8]
rep movsd dword es:[edi], dword [esi]
mov cl, byte [0x4966b4]
mov esi, 0x463280
mov byte [0x48e3b9], cl
mov cl, byte [0x481de9]
mov byte [0x48e3bc], cl
mov ecx, 0x42a
mov edi, 0x48e3bd
mov byte [0x48e3ba], dl
mov dl, byte [0x465708]
mov byte [0x48e3bb], al
mov al, byte [0x494f00]
rep movsd dword es:[edi], dword [esi]
mov cl, byte [0x462cd4]
mov byte [0x48f466], dl
mov dl, byte [0x494f08]
and al, 7
mov byte [0x48f468], cl
mov byte [0x48f465], 0
mov byte [0x48f467], al
mov byte [0x48f469], dl
mov ecx, 6
mov esi, 0x465778
mov edi, 0x48f46a
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov ecx, 9
mov esi, 0x462d14
mov edi, 0x48f484
mov eax, 0x48f4a9
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
xor ecx, ecx
mov dl, byte [ecx + 0x4a18f4]
and dl, 1
mov byte [eax], dl
inc eax
inc ecx
cmp ecx, 0x1a
jb 0x40ecda
sub eax, 0x48dfdc
mov ecx, 0
mov ebp, eax
mov eax, 0xffffffff
je 0x40ed22
xor edx, edx
mov esi, eax
mov dl, byte [ecx + 0x48dfdc]
and esi, 0xff
xor edx, esi
shr eax, 8
mov edx, dword [edx*4 + 0x474000]
xor eax, edx
inc ecx
cmp ecx, ebp
jb 0x40ecff
not eax
push 0x462e84
push str.Config.td5
mov dword [0x48dfdc], eax
call fcn.00447714
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x40ed46
pop edi
pop esi
pop ebp
pop ebx
ret
xor edx, edx
xor esi, esi
test ebp, ebp
jbe 0x40ed7f
mov al, byte [edx + str.Outta_Mah_Face___]
mov cl, byte [esi + 0x48dfdc]
xor al, cl
mov edi, str.Outta_Mah_Face___
xor al, 0x80
or ecx, 0xffffffff
mov byte [esi + 0x48dfdc], al
xor eax, eax
inc edx
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp edx, ecx
jne 0x40ed7a
xor edx, edx
inc esi
cmp esi, ebp
jb 0x40ed4e
push ebx
push ebp
push 1
push 0x48dfdc
call fcn.004475aa
push ebx
mov esi, eax
call fcn.0044752d
add esp, 0x14
xor eax, eax
cmp esi, ebp
pop edi
pop esi
pop ebp
pop ebx
sete al
ret