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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
mov eax, dword [0x1027bf5c]
mov dword [ebp - 8], eax
push ebx
push esi
push edi
cmp eax, 0x1a0e5
je 0x100950a2
cmp eax, 0x1a0ef
je 0x100950a2
cmp eax, 0x1a108
je 0x100950a2
cmp eax, 0x32785
je 0x100950a2
cmp eax, 0x3278f
je 0x100950a2
cmp eax, 0x327a8
je 0x100950a2
cmp eax, 0x1a117
je 0x100950a2
cmp eax, 0x327b7
je 0x100950a2
cmp eax, 0xdbc0f
je 0x100950a2
mov dword [ebp - 4], 0
mov ecx, dword [0x101ba6f8]
mov ecx, dword ds:[ecx]
push dword [ebp - 8]
call dword [0x101ba6e8]
mov dword [ebp - 4], eax
mov edi, dword [ebp - 4]
test edi, edi
je 0x10095099
mov esi, dword [0x1027c0b4]
mov edx, dword [edi]
add esi, 0x13c
add edx, 0x7ef
mov ecx, dword [esi + 4]
mov eax, dword [ecx + 4]
cmp byte [eax + 0xd], 0
jne 0x10094e74
nop dword [eax + eax]
cmp dword [eax + 0x10], edx
jae 0x10094e6a
mov eax, dword [eax + 8]
jmp 0x10094e6e
mov ecx, eax
mov eax, dword [eax]
cmp byte [eax + 0xd], 0
je 0x10094e60
cmp byte [ecx + 0xd], 0
jne 0x10094e7f
cmp edx, dword [ecx + 0x10]
jae 0x10094e82
mov ecx, dword [esi + 4]
mov dword [ebp - 0xc], ecx
lea ecx, [ebp - 0x14]
push esi
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x10], 0
call fcn.1004a780
mov ecx, dword [0x1027c0b4]
add ecx, 0x13c
mov dword [ebp - 0x20], 0
push ecx
mov dword [ebp - 0x1c], 0
mov eax, dword [ecx + 4]
lea ecx, [ebp - 0x20]
mov dword [ebp - 0x18], eax
call fcn.1004a780
mov esi, dword [ebp - 0x14]
test esi, esi
je 0x10094ed0
mov esi, dword [esi]
jmp 0x10094ed2
xor esi, esi
lea ecx, [ebp - 0x20]
call fcn.1004a7e0
cmp esi, eax
je 0x10094f22
push str.map_set_iterators_incompatible
push 0x101b8af8
push 0
push 0xe6
push 0x101b9948
push 2
call fcn.10127830
add esp, 0x18
cmp eax, 1
jne 0x10094f04
int3
push 0
push 0xe6
push str.C:Program_Files__x86_Microsoft_Visual_Studio2019CommunityVCToolsMSVC14.29.30133includextree
push 0x101b8c38
push str._map_set_iterators_incompatible_
call fcn.10136180
add esp, 0x14
mov eax, dword [ebp - 0xc]
lea ecx, [ebp - 8]
cmp eax, dword [ebp - 0x18]
push 3
sete bl
call fcn.1011cee0
lea ecx, [ebp - 0x20]
call fcn.1004a7f0
lea ecx, [ebp - 8]
call fcn.1011cf90
test bl, bl
jne 0x1009507f
or esi, 0xffffffff
lea ecx, [edi + 0xb5]
mov edx, 0xb
nop dword [eax + eax]
movzx eax, byte [ecx - 1]
lea ecx, [ecx + 4]
xor eax, esi
shr esi, 8
movzx eax, al
xor esi, dword [eax*4 + 0x101ba240]
movzx eax, byte [ecx - 4]
xor eax, esi
shr esi, 8
movzx eax, al
xor esi, dword [eax*4 + 0x101ba240]
movzx eax, byte [ecx - 3]
xor eax, esi
shr esi, 8
movzx eax, al
xor esi, dword [eax*4 + 0x101ba240]
movzx eax, byte [ecx - 2]
xor eax, esi
shr esi, 8
movzx eax, al
xor esi, dword [eax*4 + 0x101ba240]
sub edx, 1
jne 0x10094f60
mov ecx, dword [ebp - 4]
or edi, 0xffffffff
add ecx, 2
mov edx, 0x1c
movzx eax, byte [ecx - 2]
lea ecx, [ecx + 6]
xor eax, edi
shr edi, 8
movzx eax, al
xor edi, dword [eax*4 + 0x101ba240]
movzx eax, byte [ecx - 7]
xor eax, edi
shr edi, 8
movzx eax, al
xor edi, dword [eax*4 + 0x101ba240]
movzx eax, byte [ecx - 6]
xor eax, edi
shr edi, 8
movzx eax, al
xor edi, dword [eax*4 + 0x101ba240]
movzx eax, byte [ecx - 5]
xor eax, edi
shr edi, 8
movzx eax, al
xor edi, dword [eax*4 + 0x101ba240]
movzx eax, byte [ecx - 4]
xor eax, edi
shr edi, 8
movzx eax, al
xor edi, dword [eax*4 + 0x101ba240]
movzx eax, byte [ecx - 3]
xor eax, edi
shr edi, 8
movzx eax, al
xor edi, dword [eax*4 + 0x101ba240]
sub edx, 1
jne 0x10094fc2
lea ecx, [ebp - 0x14]
call fcn.1004f2d0
cmp dword [eax + 4], edi
jne 0x1009505a
lea ecx, [ebp - 0x14]
call fcn.1004f2d0
cmp dword [eax + 8], esi
jne 0x1009505a
mov bl, 1
jmp 0x1009505c
xor bl, bl
push 3
lea ecx, [ebp - 8]
call fcn.1011cee0
lea ecx, [ebp - 0x14]
call fcn.1004a7f0
lea ecx, [ebp - 8]
call fcn.1011cf90
mov al, bl
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 3
lea ecx, [ebp - 8]
call fcn.1011cee0
lea ecx, [ebp - 0x14]
call fcn.1004a7f0
lea ecx, [ebp - 8]
call fcn.1011cf90
xor al, al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov al, 1
pop ebx
mov esp, ebp
pop ebp
ret