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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x98
mov eax, dword [0x5c04b4]
xor eax, ebp
mov dword [ebp - 8], eax
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
push 0
push eax
mov esi, ecx
mov dword [ebp - 0x94], eax
mov ebx, 0xe
call dword [sym.imp.MSVCR120.dll_wcschr]
mov edx, eax
add esp, 8
add edx, 2
je 0x46c87a
mov ecx, edx
lea edi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x46c502
sub ecx, edi
lea eax, [ebp - 0x8c]
sar ecx, 1
cmp ecx, 0x40
jae 0x46c52b
push edx
push 0x40
push eax
call dword [sym.imp.MSVCR120.dll_wcscpy_s]
add esp, 0xc
jmp 0x46c540
push 0x3f
push edx
push 0x40
push eax
call dword [sym.imp.MSVCR120.dll_wcsncpy_s]
add esp, 0x10
xor eax, eax
mov word [ebp - 0xe], ax
lea eax, [ebp - 0x8c]
push 0x40
push eax
call dword [sym.imp.MSVCR120.dll__wcslwr_s]
lea edx, [ebp - 0x8c]
add esp, 8
lea ecx, [edx + 2]
jmp 0x46c560
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x46c560
sub edx, ecx
xor ecx, ecx
sar edx, 1
lea edi, [edx + edx]
xor edx, edx
test edi, edi
je 0x46c59e
lea ebx, [ebx]
movzx eax, byte [ebp + edx - 0x8c]
inc edx
xor eax, ecx
shr ecx, 8
and eax, 0xff
xor ecx, dword [eax*4 + 0x58e240]
cmp edx, edi
jb 0x46c580
not ecx
cmp ecx, 0x2f18d6a0
je 0x46c5ba
cmp ecx, 0xb0270909
jne 0x46c87a
cmp ecx, 0x2f18d6a0
mov edx, dword [ebp - 0x94]
sete bl
mov ecx, edx
lea edi, [ecx + 2]
jmp 0x46c5d0
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x46c5d0
sub ecx, edi
lea eax, [ebp - 0x8c]
sar ecx, 1
cmp ecx, 0x40
jae 0x46c5f9
push edx
push 0x40
push eax
call dword [sym.imp.MSVCR120.dll_wcscpy_s]
add esp, 0xc
jmp 0x46c60e
push 0x3f
push edx
push 0x40
push eax
call dword [sym.imp.MSVCR120.dll_wcsncpy_s]
add esp, 0x10
xor eax, eax
mov word [ebp - 0xe], ax
lea eax, [ebp - 0x8c]
push 0x40
push eax
call dword [sym.imp.MSVCR120.dll__wcslwr_s]
lea edx, [ebp - 0x8c]
add esp, 8
lea ecx, [edx + 2]
lea esp, [esp]
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x46c630
sub edx, ecx
xor ecx, ecx
sar edx, 1
lea edi, [edx + edx]
xor edx, edx
test edi, edi
je 0x46c66e
lea ebx, [ebx]
movzx eax, byte [ebp + edx - 0x8c]
inc edx
xor eax, ecx
shr ecx, 8
and eax, 0xff
xor ecx, dword [eax*4 + 0x58e240]
cmp edx, edi
jb 0x46c650
not ecx
mov dword [ebp - 0x94], 0
cmp ecx, 0x6052eb0c
ja 0x46c78e
je 0x46c772
cmp ecx, 0x3865e099
ja 0x46c726
je 0x46c70a
cmp ecx, 0x417e245
je 0x46c6ee
cmp ecx, 0xbf0f924
je 0x46c6d2
cmp ecx, 0x16820b17
jne 0x46c82b
movzx eax, bl
neg eax
sbb eax, eax
and eax, 0xc0000000
add eax, 0x8a000000
mov dword [ebp - 0x90], eax
jmp 0x46c864
movzx eax, bl
neg eax
sbb eax, eax
and eax, 0xc0000000
add eax, 0x82020000
mov dword [ebp - 0x90], eax
jmp 0x46c864
movzx eax, bl
neg eax
sbb eax, eax
and eax, 0xc0000000
add eax, 0x82000001
mov dword [ebp - 0x90], eax
jmp 0x46c864
movzx eax, bl
neg eax
sbb eax, eax
and eax, 0x40000000
add eax, 0x48000000
mov dword [ebp - 0x90], eax
jmp 0x46c864
cmp ecx, 0x46351816
je 0x46c756
cmp ecx, 0x5f1ab24f
jne 0x46c82b
movzx eax, bl
neg eax
sbb eax, eax
and eax, 0xc0000000
add eax, 0x84000000
mov dword [ebp - 0x90], eax
jmp 0x46c864
movzx eax, bl
neg eax
sbb eax, eax
and eax, 0xc0000000
add eax, 0x83020000
mov dword [ebp - 0x90], eax
jmp 0x46c864
movzx eax, bl
neg eax
sbb eax, eax
and eax, 0xc0000000
add eax, 0x83010000
mov dword [ebp - 0x90], eax
jmp 0x46c864
cmp ecx, 0xcd009e11
ja 0x46c81b
je 0x46c802
cmp ecx, 0x959e93cc
je 0x46c7e9
cmp ecx, 0xa483e187
je 0x46c7d0
cmp ecx, 0xb0790ae7
jne 0x46c82b
movzx eax, bl
neg eax
sbb eax, eax
and eax, 0xc0000000
add eax, 0x82000002
mov dword [ebp - 0x90], eax
jmp 0x46c864
movzx eax, bl
neg eax
sbb eax, eax
and eax, 0xc0000000
add eax, 0x8b000000
mov dword [ebp - 0x90], eax
jmp 0x46c864
movzx eax, bl
neg eax
sbb eax, eax
and eax, 0xc0000000
add eax, 0x83000000
mov dword [ebp - 0x90], eax
jmp 0x46c864
movzx eax, bl
neg eax
sbb eax, eax
and eax, 0xc0000000
add eax, 0x82020001
mov dword [ebp - 0x90], eax
jmp 0x46c864
cmp ecx, 0xcf11c57c
je 0x46c84b
cmp ecx, 0xfdf04c09
je 0x46c832
mov ebx, 0xe
jmp 0x46c87a
movzx eax, bl
neg eax
sbb eax, eax
and eax, 0xc0000000
add eax, 0x82000000
mov dword [ebp - 0x90], eax
jmp 0x46c864
movzx ecx, bl
neg ecx
sbb ecx, ecx
and ecx, 0xc0000000
add ecx, 0x82010000
mov dword [ebp - 0x90], ecx
push 1
lea eax, [ebp - 0x90]
mov ecx, esi
push eax
call fcn.00496200
mov ebx, dword [ebp - 0x94]
mov ecx, dword [ebp - 8]
mov eax, ebx
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00553510
mov esp, ebp
pop ebp
ret 4