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

Disassembly:
lea edx, [eax + 0xc4]
push ebp
mov ebp, esp
sub esp, 0x50
push ebx
mov ebx, dword [ebp + 8]
cmp eax, edx
push edi
mov edi, ecx
mov ecx, eax
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x28], edx
ja 0x10011d95
cmp ecx, 0x792f
ja 0x10011db1
je 0x10011d78
cmp ecx, 0x132a
je 0x10011df8
cmp ecx, 0x1e1f
jne case.0x10011dc0.31026
cmp dword [edi], 5
je 0x10011b8b
test byte [esi], 2
je 0x10011c7c
mov eax, 0x7dc8
mov dword [ebp - 0xc], eax
sub eax, 0x7dc8
je 0x10011c45
sub eax, 0x13
je 0x10011c12
sub eax, 0x13
jne 0x10011c65
test byte [ebp - 0x18], 1
jne 0x10011c65
mov ebx, 0x1395
mov edi, edi
mov dword [ebp - 8], ebx
mov eax, ebx
sub eax, 0x1395
je 0x10011bdc
sub eax, 0x48
jne 0x10011c02
mov eax, dword [ebp - 0x14]
push eax
call fcn.1001ca1c
add esp, 4
jmp 0x10011c02
mov ecx, dword [ebp + 0xc]
fld qword [ebp - 0x38]
mov edx, dword [ecx]
add edx, dword [0x10043474]
sub esp, 8
fstp qword [esp]
lea ebx, [ebp - 0x2c]
push edx
call fcn.10017a70
sub esp, 0xfffffff4
mov ebx, dword [ebp - 8]
mov dword [ebp - 0x14], eax
sub ebx, 0xffffffb8
mov dword [ebp - 8], ebx
cmp ebx, 0x13dd
jbe 0x10011bc0
jmp 0x10011c65
mov eax, dword [ebp + 8]
mov edx, dword [eax]
add esp, 0xfffffff4
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [ecx + 4], edx
mov dword [ecx + 8], eax
call fcn.10013480
push eax
lea ecx, [ebp - 0x38]
push ecx
lea edx, [ebp - 0x48]
push edx
call fcn.100161c0
mov dword [ebp - 0x18], eax
sub esp, 0xffffffe8
jmp 0x10011c65
add esp, 0xfffffff4
mov ecx, esp
mov eax, dword [ebp + 8]
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [ecx + 4], edx
mov dword [ecx + 8], eax
call fcn.10017a50
sub esp, 0xfffffff4
mov eax, dword [ebp - 0xc]
sub eax, 0xffffffed
cmp eax, 0x7dee
mov dword [ebp - 0xc], eax
jbe 0x10011b93
mov ebx, dword [ebp + 8]
mov eax, dword [edi]
cmp eax, 6
je 0x10011c95
test byte [esi], 4
je case.0x10011dc0.31026
cmp eax, 5
je case.0x10011dc0.31026
mov eax, 0x5321
mov dword [ebp - 8], eax
lea ecx, [ecx]
sub eax, 0x5321
je 0x10011d14
sub eax, 0x1d
jne 0x10011d5c
test byte [ebp - 0x20], 1
jne 0x10011d5c
mov ebx, 0x4ca2
mov dword [ebp - 0xc], ebx
mov eax, ebx
sub eax, 0x4ca2
je 0x10011cde
sub eax, 0x5c
jne 0x10011d04
mov ecx, dword [ebp - 0x1c]
push ecx
call fcn.1001ca1c
add esp, 4
jmp 0x10011d04
mov edx, dword [ebp + 0xc]
fld qword [ebp - 0x40]
mov eax, dword [edx]
add eax, dword [0x10043470]
sub esp, 8
fstp qword [esp]
lea ebx, [ebp - 0x30]
push eax
call fcn.10017a70
add esp, 0xc
mov ebx, dword [ebp - 0xc]
mov dword [ebp - 0x1c], eax
sub ebx, 0xffffffd2
mov dword [ebp - 0xc], ebx
cmp ebx, 0x4cfe
jbe 0x10011cc2
jmp 0x10011d5c
mov ebx, dword [ebp + 8]
sub esp, 0xc
mov ecx, dword [ebx]
mov eax, esp
mov edx, dword [ebx + 4]
mov dword [eax], ecx
mov ecx, dword [ebx + 8]
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
call fcn.10017a50
mov edx, dword [ebx]
mov ecx, dword [ebx + 4]
mov eax, esp
mov dword [eax], edx
mov edx, dword [ebx + 8]
mov dword [eax + 4], ecx
mov dword [eax + 8], edx
call fcn.10013480
push eax
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x50]
push ecx
call fcn.100161c0
mov dword [ebp - 0x20], eax
sub esp, 0xffffffe8
mov eax, dword [ebp - 8]
add eax, 0x1d
mov dword [ebp - 8], eax
cmp eax, 0x533e
jbe 0x10011ca0
mov ebx, dword [ebp + 8]
jmp case.0x10011dc0.31026
xor edx, edx
cmp edi, edx
jne case.0x10011dc0.31026
mov ecx, 0x650e
mov eax, ecx
sub eax, 0x650e
je 0x10011d9e
sub eax, 0x24
jne 0x10011da1
mov eax, dword [ebp - 4]
pop edi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [ebp - 4], edx
add ecx, 0x24
cmp ecx, 0x6532
jbe 0x10011d87
jmp case.0x10011dc0.31026
lea eax, [ecx - 0x7931]
cmp eax, 6
ja case.0x10011dc0.31026
jmp dword [eax*4 + 0x10011fc0]
mov ecx, 0x3a8a
mov edx, dword [ebp - 4]
nop
mov eax, ecx
sub eax, 0x3a8a
je 0x10011de6
sub eax, 0x51
jne 0x10011ded
pop edi
pop ebx
mov esp, ebp
mov eax, edx
pop ebp
ret
mov edx, dword [esi]
not edx
mov dword [ebp - 4], edx
add ecx, 0x51
cmp ecx, 0x3adb
jbe 0x10011dd0
mov eax, 0x3ddf
cmp eax, eax
je 0x10011f6f
add eax, 0x48
cmp eax, 0x3ddf
jbe 0x10011dff
mov edx, dword [esi]
not edx
mov dword [esi], edx
jmp case.0x10011dc0.31026
cmp dword [ebx], 8
jb 0x10011ed7
mov ecx, 0x62b7
cmp ecx, 0x6339
ja 0x10011e5e
je 0x10011e8b
mov eax, ecx
sub eax, 0x62b7
je 0x10011e8b
sub eax, 0x41
jne 0x10011ebf
mov eax, dword [esi]
movzx edx, byte [edi]
xor edx, eax
and edx, 0xff
shr eax, 8
xor eax, dword [edx*4 + 0x10037da8]
inc edi
jmp 0x10011ebd
mov eax, ecx
sub eax, 0x637a
je 0x10011e8b
sub eax, 0x41
jne 0x10011ebf
mov eax, dword [esi]
movzx edx, byte [edi]
xor edx, eax
and edx, 0xff
shr eax, 8
xor eax, dword [edx*4 + 0x10037da8]
mov dword [esi], eax
inc edi
add dword [ebx], 0xfffffff8
jmp 0x10011ebf
mov eax, dword [esi]
movzx edx, byte [edi]
xor edx, eax
and edx, 0xff
shr eax, 8
xor eax, dword [edx*4 + 0x10037da8]
mov dword [esi], eax
movzx edx, byte [edi + 1]
xor edx, eax
and edx, 0xff
shr eax, 8
xor eax, dword [edx*4 + 0x10037da8]
sub edi, 0xfffffffe
mov dword [esi], eax
add ecx, 0x41
cmp ecx, 0x63bb
jbe 0x10011e28
cmp dword [ebx], 8
jae 0x10011e23
cmp dword [ebx], 0
je case.0x10011dc0.31026
mov ecx, dword [esi]
movzx eax, byte [edi]
xor eax, ecx
and eax, 0xff
shr ecx, 8
xor ecx, dword [eax*4 + 0x10037da8]
inc edi
mov dword [esi], ecx
dec dword [ebx]
jne 0x10011ee0
jmp case.0x10011dc0.31026
mov ecx, 0x120d
mov eax, ecx
sub eax, 0x120d
je 0x10011f42
sub eax, 0xa
jne 0x10011f49
cmp byte [ebp - 0x24], al
je 0x10011f2d
mov eax, 0x544e
cmp eax, eax
je 0x10011f8b
add eax, 0x63
cmp eax, 0x544e
jbe 0x10011f1f
jmp 0x10011f49
mov eax, 0x2838
cmp eax, eax
je 0x10011fa4
sub eax, 0xffffffa9
cmp eax, 0x2838
jbe 0x10011f34
jmp 0x10011f49
mov dword [ebp - 0x24], 1
sub ecx, 0xfffffff6
cmp ecx, 0x1217
jbe 0x10011f05
mov ecx, dword [ebp - 0x10]
sub ecx, 0xfffffffe
mov dword [ebp - 0x10], ecx
cmp ecx, dword [ebp - 0x28]
jbe 0x10011b53
mov eax, dword [ebp - 4]
pop edi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [esi]
mov edx, dword [ebp + 8]
mov eax, dword [edx]
cdq
push edx
push eax
mov eax, dword [edi]
push eax
push ecx
call fcn.1000bd00
add esp, 0x10
pop edi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [esi]
mov edx, dword [ebp + 8]
mov eax, dword [edx]
push eax
push ecx
mov ecx, edi
call fcn.10012960
add esp, 8
pop edi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 8]
mov eax, dword [edx]
mov ecx, dword [esi]
push eax
push ecx
mov ecx, edi
call fcn.1001a520
add esp, 8
pop edi
pop ebx
mov esp, ebp
pop ebp
ret