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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10183fdd
mov eax, dword fs:[0]
push eax
sub esp, 0x60
push ebx
push esi
push edi
mov eax, dword [0x101dadb0]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 0
mov dword [ebp - 4], 0
mov ecx, dword [0x1027c0b4]
add ecx, 0x124
cmp byte [ebp + 8], 0
push ecx
mov eax, dword [ecx + 4]
mov eax, dword [eax]
je 0x1011202b
lea ecx, [ebp - 0x48]
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x40], eax
call fcn.1004a610
lea eax, [ebp - 0x48]
push eax
lea ecx, [ebp - 0x30]
call fcn.1004a5a0
mov eax, dword [ebp - 0x40]
lea ecx, [ebp - 0x10]
push 3
mov dword [ebp - 0x28], eax
call fcn.1011cc50
lea ecx, [ebp - 0x48]
call fcn.1004a680
lea ecx, [ebp - 0x10]
call fcn.1011cd00
mov ecx, dword [0x1027c0b4]
add ecx, 0x124
mov dword [ebp - 0x54], 0
push ecx
mov dword [ebp - 0x50], 0
mov eax, dword [ecx + 4]
lea ecx, [ebp - 0x54]
mov dword [ebp - 0x4c], eax
call fcn.1004a610
mov esi, dword [ebp - 0x30]
test esi, esi
je 0x10111c89
mov esi, dword [esi]
jmp 0x10111c8b
xor esi, esi
lea ecx, [ebp - 0x54]
call fcn.1004a670
cmp esi, eax
je 0x10111cdb
push str.map_set_iterators_incompatible
push 0x101b8af8
push 0
push 0xe6
push 0x101b9948
push 2
call fcn.101275c0
add esp, 0x18
cmp eax, 1
jne 0x10111cbd
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.10135f00
add esp, 0x14
mov eax, dword [ebp - 0x28]
lea ecx, [ebp - 0x14]
cmp eax, dword [ebp - 0x4c]
push 3
sete bl
call fcn.1011cc50
lea ecx, [ebp - 0x54]
call fcn.1004a680
lea ecx, [ebp - 0x14]
call fcn.1011cd00
test bl, bl
jne 0x1011240b
lea ecx, [ebp - 0x30]
call fcn.1004f150
mov eax, dword [eax + 0x7c]
cmp eax, 0xb56
jg 0x10111d6f
je 0x10111d68
cmp eax, 0x156
jg 0x10111d48
je 0x10111d41
sub eax, 0x8e
je 0x10111d3a
sub eax, 0x64
jne case.0x10111d84.2904
mov esi, 0x7e53
jmp 0x10111d9e
mov esi, 0x7e55
jmp 0x10111d9e
mov esi, 0x7e50
jmp 0x10111d9e
cmp eax, 0x163
je case.0x10111d84.2903
cmp eax, 0xb55
jne case.0x10111d84.2904
mov esi, 0x7e57
jmp 0x10111d9e
mov esi, 0x7e56
jmp 0x10111d9e
mov esi, 0x7e51
jmp 0x10111d9e
sub eax, 0xb57
cmp eax, 0xa
ja case.0x10111d84.2904
movzx eax, byte [eax + 0x10112450]
jmp dword [eax*4 + 0x1011243c]
mov esi, 0x7e4f
jmp 0x10111d9e
mov esi, 0x7e54
jmp 0x10111d9e
mov esi, 0x7e58
lea ecx, [ebp - 0x30]
call fcn.1004f150
mov dword [ebp + 8], 0
mov eax, dword [eax + 4]
mov dword [ebp - 0x18], eax
mov ecx, dword [0x101ba6f8]
mov ecx, dword ds:[ecx]
push dword [ebp - 0x18]
call dword [0x101ba6e8]
mov dword [ebp + 8], eax
mov edi, dword [ebp + 8]
mov dword [ebp - 0x18], edi
test edi, edi
je case.0x10111d84.2904
mov edx, dword [edi]
mov dword [edi + 0x78], esi
add edx, 0x7ef
mov esi, dword [0x1027c0b4]
add esi, 0x13c
mov ecx, dword [esi + 4]
mov eax, dword [ecx + 4]
cmp byte [eax + 0xd], 0
jne 0x10111e14
nop dword [eax]
cmp dword [eax + 0x10], edx
jae 0x10111e0a
mov eax, dword [eax + 8]
jmp 0x10111e0e
mov ecx, eax
mov eax, dword [eax]
cmp byte [eax + 0xd], 0
je 0x10111e00
cmp byte [ecx + 0xd], 0
jne 0x10111e1f
cmp edx, dword [ecx + 0x10]
jae 0x10111e22
mov ecx, dword [esi + 4]
mov dword [ebp - 0x34], ecx
lea ecx, [ebp - 0x3c]
push esi
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0
call fcn.1004a610
mov ecx, dword [0x1027c0b4]
add ecx, 0x13c
mov dword [ebp - 0x60], 0
push ecx
mov dword [ebp - 0x5c], 0
mov eax, dword [ecx + 4]
lea ecx, [ebp - 0x60]
mov dword [ebp - 0x58], eax
call fcn.1004a610
mov esi, dword [ebp - 0x3c]
test esi, esi
je 0x10111e70
mov esi, dword [esi]
jmp 0x10111e72
xor esi, esi
lea ecx, [ebp - 0x60]
call fcn.1004a670
cmp esi, eax
je 0x10111ec2
push str.map_set_iterators_incompatible
push 0x101b8af8
push 0
push 0xe6
push 0x101b9948
push 2
call fcn.101275c0
add esp, 0x18
cmp eax, 1
jne 0x10111ea4
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.10135f00
add esp, 0x14
mov eax, dword [ebp - 0x34]
lea ecx, [ebp - 0x1c]
cmp eax, dword [ebp - 0x58]
push 3
sete bl
call fcn.1011cc50
lea ecx, [ebp - 0x60]
call fcn.1004a680
lea ecx, [ebp - 0x1c]
call fcn.1011cd00
test bl, bl
jne 0x10111fea
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 0x10111f00
mov ecx, dword [ebp - 0x18]
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 0x10111f62
lea ecx, [ebp - 0x3c]
call fcn.1004f150
mov dword [eax + 4], edi
mov dword [eax + 8], esi
push 3
lea ecx, [ebp - 0x20]
call fcn.1011cc50
lea ecx, [ebp - 0x3c]
call fcn.1004a680
lea ecx, [ebp - 0x20]
call fcn.1011cd00
push ecx
lea eax, [ebp - 0x6c]
push eax
lea ecx, [ebp - 0x30]
call fcn.1004f040
push 3
lea ecx, [ebp - 0x24]
call fcn.1011cc50
lea ecx, [ebp - 0x6c]
call fcn.1004a680
lea ecx, [ebp - 0x24]
jmp 0x10111c50
lea ecx, [ebp - 0x60]
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x58], eax
call fcn.1004a610
lea eax, [ebp - 0x60]
push eax
lea ecx, [ebp - 0x30]
call fcn.1004a5a0
mov eax, dword [ebp - 0x58]
lea ecx, [ebp - 0x24]
push 3
mov dword [ebp - 0x28], eax
call fcn.1011cc50
lea ecx, [ebp - 0x60]
call fcn.1004a680
lea ecx, [ebp - 0x24]
call fcn.1011cd00
mov ecx, dword [0x1027c0b4]
add ecx, 0x124
mov dword [ebp - 0x54], 0
push ecx
mov dword [ebp - 0x50], 0
mov eax, dword [ecx + 4]
lea ecx, [ebp - 0x54]
mov dword [ebp - 0x4c], eax
call fcn.1004a610
mov esi, dword [ebp - 0x30]
test esi, esi
je 0x101120a4
mov esi, dword [esi]
jmp 0x101120a6
xor esi, esi
lea ecx, [ebp - 0x54]
call fcn.1004a670
cmp esi, eax
je 0x101120f6
push str.map_set_iterators_incompatible
push 0x101b8af8
push 0
push 0xe6
push 0x101b9948
push 2
call fcn.101275c0
add esp, 0x18
cmp eax, 1
jne 0x101120d8
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.10135f00
add esp, 0x14
mov eax, dword [ebp - 0x28]
lea ecx, [ebp - 0x20]
cmp eax, dword [ebp - 0x4c]
push 3
sete bl
call fcn.1011cc50
lea ecx, [ebp - 0x54]
call fcn.1004a680
lea ecx, [ebp - 0x20]
call fcn.1011cd00
test bl, bl
jne 0x1011240b
lea ecx, [ebp - 0x30]
call fcn.1004f150
mov eax, dword [eax + 0x7c]
add eax, 0xffff81b1
cmp eax, 9
ja case.0x1011213a.32338
jmp dword [eax*4 + 0x1011245c]
mov esi, 0xb60
jmp 0x1011217e
mov esi, 0x156
jmp 0x1011217e
mov esi, 0xb56
jmp 0x1011217e
mov esi, 0xf2
jmp 0x1011217e
mov esi, 0xb5f
jmp 0x1011217e
mov esi, 0x8e
jmp 0x1011217e
mov esi, 0xb57
jmp 0x1011217e
mov esi, 0xb55
jmp 0x1011217e
mov esi, 0xb61
lea ecx, [ebp - 0x30]
call fcn.1004f150
mov dword [ebp + 8], 0
mov eax, dword [eax + 4]
mov dword [ebp - 0x1c], eax
mov ecx, dword [0x101ba6f8]
mov ecx, dword ds:[ecx]
push dword [ebp - 0x1c]
call dword [0x101ba6e8]
mov dword [ebp + 8], eax
mov edi, dword [ebp + 8]
mov dword [ebp - 0x1c], edi
test edi, edi
je case.0x1011213a.32338
mov edx, dword [edi]
mov dword [edi + 0x78], esi
add edx, 0x7ef
mov esi, dword [0x1027c0b4]
add esi, 0x13c
mov ecx, dword [esi + 4]
mov eax, dword [ecx + 4]
cmp byte [eax + 0xd], 0
jne 0x101121f4
nop dword [eax]
cmp dword [eax + 0x10], edx
jae 0x101121ea
mov eax, dword [eax + 8]
jmp 0x101121ee
mov ecx, eax
mov eax, dword [eax]
cmp byte [eax + 0xd], 0
je 0x101121e0
cmp byte [ecx + 0xd], 0
jne 0x101121ff
cmp edx, dword [ecx + 0x10]
jae 0x10112202
mov ecx, dword [esi + 4]
mov dword [ebp - 0x34], ecx
lea ecx, [ebp - 0x3c]
push esi
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0
call fcn.1004a610
mov ecx, dword [0x1027c0b4]
add ecx, 0x13c
mov dword [ebp - 0x48], 0
push ecx
mov dword [ebp - 0x44], 0
mov eax, dword [ecx + 4]
lea ecx, [ebp - 0x48]
mov dword [ebp - 0x40], eax
call fcn.1004a610
mov esi, dword [ebp - 0x3c]
test esi, esi
je 0x10112250
mov esi, dword [esi]
jmp 0x10112252
xor esi, esi
lea ecx, [ebp - 0x48]
call fcn.1004a670
cmp esi, eax
je 0x101122a2
push str.map_set_iterators_incompatible
push 0x101b8af8
push 0
push 0xe6
push 0x101b9948
push 2
call fcn.101275c0
add esp, 0x18
cmp eax, 1
jne 0x10112284
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.10135f00
add esp, 0x14
mov eax, dword [ebp - 0x34]
lea ecx, [ebp - 0x18]
cmp eax, dword [ebp - 0x40]
push 3
sete bl
call fcn.1011cc50
lea ecx, [ebp - 0x48]
call fcn.1004a680
lea ecx, [ebp - 0x18]
call fcn.1011cd00
test bl, bl
jne 0x101123ca
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 0x101122e0
mov ecx, dword [ebp - 0x1c]
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 0x10112342
lea ecx, [ebp - 0x3c]
call fcn.1004f150
mov dword [eax + 4], edi
mov dword [eax + 8], esi
push 3
lea ecx, [ebp - 0x14]
call fcn.1011cc50
lea ecx, [ebp - 0x3c]
call fcn.1004a680
lea ecx, [ebp - 0x14]
call fcn.1011cd00
push ecx
lea eax, [ebp - 0x6c]
push eax
lea ecx, [ebp - 0x30]
call fcn.1004f040
push 3
lea ecx, [ebp - 0x10]
call fcn.1011cc50
lea ecx, [ebp - 0x6c]
call fcn.1004a680
lea ecx, [ebp - 0x10]
jmp 0x1011206b
push 3
lea ecx, [ebp + 8]
call fcn.1011cc50
lea ecx, [ebp - 0x30]
call fcn.1004a680
lea ecx, [ebp + 8]
call fcn.1011cd00
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4