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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10179bdd
mov eax, dword fs:[0]
push eax
sub esp, 0x60
push ebx
push esi
push edi
mov eax, dword [0x101cfdb0]
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 [0x102710b4]
add ecx, 0x124
cmp byte [ebp + 8], 0
push ecx
mov eax, dword [ecx + 4]
mov eax, dword [eax]
je 0x10107feb
lea ecx, [ebp - 0x48]
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x40], eax
call fcn.10049150
lea eax, [ebp - 0x48]
push eax
lea ecx, [ebp - 0x30]
call fcn.100490e0
mov eax, dword [ebp - 0x40]
lea ecx, [ebp - 0x10]
push 3
mov dword [ebp - 0x28], eax
call fcn.10112de0
lea ecx, [ebp - 0x48]
call fcn.100491c0
lea ecx, [ebp - 0x10]
call fcn.10112e90
mov ecx, dword [0x102710b4]
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.10049150
mov esi, dword [ebp - 0x30]
test esi, esi
je 0x10107c49
mov esi, dword [esi]
jmp 0x10107c4b
xor esi, esi
lea ecx, [ebp - 0x54]
call fcn.100491b0
cmp esi, eax
je 0x10107c9b
push str.map_set_iterators_incompatible
push 0x101aeae8
push 0
push 0xe6
push 0x101af938
push 2
call fcn.1011d740
add esp, 0x18
cmp eax, 1
jne 0x10107c7d
int3
push 0
push 0xe6
push str.C:Program_Files__x86_Microsoft_Visual_Studio2019CommunityVCToolsMSVC14.29.30133includextree
push 0x101aec28
push str._map_set_iterators_incompatible_
call fcn.1012c080
add esp, 0x14
mov eax, dword [ebp - 0x28]
lea ecx, [ebp - 0x14]
cmp eax, dword [ebp - 0x4c]
push 3
sete bl
call fcn.10112de0
lea ecx, [ebp - 0x54]
call fcn.100491c0
lea ecx, [ebp - 0x14]
call fcn.10112e90
test bl, bl
jne 0x101083cb
lea ecx, [ebp - 0x30]
call fcn.1004d9a0
mov eax, dword [eax + 0x7c]
cmp eax, 0xb56
jg 0x10107d2f
je 0x10107d28
cmp eax, 0x156
jg 0x10107d08
je 0x10107d01
sub eax, 0x8e
je 0x10107cfa
sub eax, 0x64
jne case.0x10107d44.2904
mov esi, 0x7e53
jmp 0x10107d5e
mov esi, 0x7e55
jmp 0x10107d5e
mov esi, 0x7e50
jmp 0x10107d5e
cmp eax, 0x163
je case.0x10107d44.2903
cmp eax, 0xb55
jne case.0x10107d44.2904
mov esi, 0x7e57
jmp 0x10107d5e
mov esi, 0x7e56
jmp 0x10107d5e
mov esi, 0x7e51
jmp 0x10107d5e
sub eax, 0xb57
cmp eax, 0xa
ja case.0x10107d44.2904
movzx eax, byte [eax + 0x10108410]
jmp dword [eax*4 + 0x101083fc]
mov esi, 0x7e4f
jmp 0x10107d5e
mov esi, 0x7e54
jmp 0x10107d5e
mov esi, 0x7e58
lea ecx, [ebp - 0x30]
call fcn.1004d9a0
mov dword [ebp + 8], 0
mov eax, dword [eax + 4]
mov dword [ebp - 0x18], eax
mov ecx, dword [0x101b0738]
mov ecx, dword ds:[ecx]
push dword [ebp - 0x18]
call dword [0x101b0728]
mov dword [ebp + 8], eax
mov edi, dword [ebp + 8]
mov dword [ebp - 0x18], edi
test edi, edi
je case.0x10107d44.2904
mov edx, dword [edi]
mov dword [edi + 0x78], esi
add edx, 0x7ef
mov esi, dword [0x102710b4]
add esi, 0x13c
mov ecx, dword [esi + 4]
mov eax, dword [ecx + 4]
cmp byte [eax + 0xd], 0
jne 0x10107dd4
nop dword [eax]
cmp dword [eax + 0x10], edx
jae 0x10107dca
mov eax, dword [eax + 8]
jmp 0x10107dce
mov ecx, eax
mov eax, dword [eax]
cmp byte [eax + 0xd], 0
je 0x10107dc0
cmp byte [ecx + 0xd], 0
jne 0x10107ddf
cmp edx, dword [ecx + 0x10]
jae 0x10107de2
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.10049150
mov ecx, dword [0x102710b4]
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.10049150
mov esi, dword [ebp - 0x3c]
test esi, esi
je 0x10107e30
mov esi, dword [esi]
jmp 0x10107e32
xor esi, esi
lea ecx, [ebp - 0x60]
call fcn.100491b0
cmp esi, eax
je 0x10107e82
push str.map_set_iterators_incompatible
push 0x101aeae8
push 0
push 0xe6
push 0x101af938
push 2
call fcn.1011d740
add esp, 0x18
cmp eax, 1
jne 0x10107e64
int3
push 0
push 0xe6
push str.C:Program_Files__x86_Microsoft_Visual_Studio2019CommunityVCToolsMSVC14.29.30133includextree
push 0x101aec28
push str._map_set_iterators_incompatible_
call fcn.1012c080
add esp, 0x14
mov eax, dword [ebp - 0x34]
lea ecx, [ebp - 0x1c]
cmp eax, dword [ebp - 0x58]
push 3
sete bl
call fcn.10112de0
lea ecx, [ebp - 0x60]
call fcn.100491c0
lea ecx, [ebp - 0x1c]
call fcn.10112e90
test bl, bl
jne 0x10107faa
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 + 0x101b0280]
movzx eax, byte [ecx - 4]
xor eax, esi
shr esi, 8
movzx eax, al
xor esi, dword [eax*4 + 0x101b0280]
movzx eax, byte [ecx - 3]
xor eax, esi
shr esi, 8
movzx eax, al
xor esi, dword [eax*4 + 0x101b0280]
movzx eax, byte [ecx - 2]
xor eax, esi
shr esi, 8
movzx eax, al
xor esi, dword [eax*4 + 0x101b0280]
sub edx, 1
jne 0x10107ec0
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 + 0x101b0280]
movzx eax, byte [ecx - 7]
xor eax, edi
shr edi, 8
movzx eax, al
xor edi, dword [eax*4 + 0x101b0280]
movzx eax, byte [ecx - 6]
xor eax, edi
shr edi, 8
movzx eax, al
xor edi, dword [eax*4 + 0x101b0280]
movzx eax, byte [ecx - 5]
xor eax, edi
shr edi, 8
movzx eax, al
xor edi, dword [eax*4 + 0x101b0280]
movzx eax, byte [ecx - 4]
xor eax, edi
shr edi, 8
movzx eax, al
xor edi, dword [eax*4 + 0x101b0280]
movzx eax, byte [ecx - 3]
xor eax, edi
shr edi, 8
movzx eax, al
xor edi, dword [eax*4 + 0x101b0280]
sub edx, 1
jne 0x10107f22
lea ecx, [ebp - 0x3c]
call fcn.1004d9a0
mov dword [eax + 4], edi
mov dword [eax + 8], esi
push 3
lea ecx, [ebp - 0x20]
call fcn.10112de0
lea ecx, [ebp - 0x3c]
call fcn.100491c0
lea ecx, [ebp - 0x20]
call fcn.10112e90
push ecx
lea eax, [ebp - 0x6c]
push eax
lea ecx, [ebp - 0x30]
call fcn.1004d890
push 3
lea ecx, [ebp - 0x24]
call fcn.10112de0
lea ecx, [ebp - 0x6c]
call fcn.100491c0
lea ecx, [ebp - 0x24]
jmp 0x10107c10
lea ecx, [ebp - 0x60]
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x58], eax
call fcn.10049150
lea eax, [ebp - 0x60]
push eax
lea ecx, [ebp - 0x30]
call fcn.100490e0
mov eax, dword [ebp - 0x58]
lea ecx, [ebp - 0x24]
push 3
mov dword [ebp - 0x28], eax
call fcn.10112de0
lea ecx, [ebp - 0x60]
call fcn.100491c0
lea ecx, [ebp - 0x24]
call fcn.10112e90
mov ecx, dword [0x102710b4]
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.10049150
mov esi, dword [ebp - 0x30]
test esi, esi
je 0x10108064
mov esi, dword [esi]
jmp 0x10108066
xor esi, esi
lea ecx, [ebp - 0x54]
call fcn.100491b0
cmp esi, eax
je 0x101080b6
push str.map_set_iterators_incompatible
push 0x101aeae8
push 0
push 0xe6
push 0x101af938
push 2
call fcn.1011d740
add esp, 0x18
cmp eax, 1
jne 0x10108098
int3
push 0
push 0xe6
push str.C:Program_Files__x86_Microsoft_Visual_Studio2019CommunityVCToolsMSVC14.29.30133includextree
push 0x101aec28
push str._map_set_iterators_incompatible_
call fcn.1012c080
add esp, 0x14
mov eax, dword [ebp - 0x28]
lea ecx, [ebp - 0x20]
cmp eax, dword [ebp - 0x4c]
push 3
sete bl
call fcn.10112de0
lea ecx, [ebp - 0x54]
call fcn.100491c0
lea ecx, [ebp - 0x20]
call fcn.10112e90
test bl, bl
jne 0x101083cb
lea ecx, [ebp - 0x30]
call fcn.1004d9a0
mov eax, dword [eax + 0x7c]
add eax, 0xffff81b1
cmp eax, 9
ja case.0x101080fa.32338
jmp dword [eax*4 + 0x1010841c]
mov esi, 0xb60
jmp 0x1010813e
mov esi, 0x156
jmp 0x1010813e
mov esi, 0xb56
jmp 0x1010813e
mov esi, 0xf2
jmp 0x1010813e
mov esi, 0xb5f
jmp 0x1010813e
mov esi, 0x8e
jmp 0x1010813e
mov esi, 0xb57
jmp 0x1010813e
mov esi, 0xb55
jmp 0x1010813e
mov esi, 0xb61
lea ecx, [ebp - 0x30]
call fcn.1004d9a0
mov dword [ebp + 8], 0
mov eax, dword [eax + 4]
mov dword [ebp - 0x1c], eax
mov ecx, dword [0x101b0738]
mov ecx, dword ds:[ecx]
push dword [ebp - 0x1c]
call dword [0x101b0728]
mov dword [ebp + 8], eax
mov edi, dword [ebp + 8]
mov dword [ebp - 0x1c], edi
test edi, edi
je case.0x101080fa.32338
mov edx, dword [edi]
mov dword [edi + 0x78], esi
add edx, 0x7ef
mov esi, dword [0x102710b4]
add esi, 0x13c
mov ecx, dword [esi + 4]
mov eax, dword [ecx + 4]
cmp byte [eax + 0xd], 0
jne 0x101081b4
nop dword [eax]
cmp dword [eax + 0x10], edx
jae 0x101081aa
mov eax, dword [eax + 8]
jmp 0x101081ae
mov ecx, eax
mov eax, dword [eax]
cmp byte [eax + 0xd], 0
je 0x101081a0
cmp byte [ecx + 0xd], 0
jne 0x101081bf
cmp edx, dword [ecx + 0x10]
jae 0x101081c2
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.10049150
mov ecx, dword [0x102710b4]
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.10049150
mov esi, dword [ebp - 0x3c]
test esi, esi
je 0x10108210
mov esi, dword [esi]
jmp 0x10108212
xor esi, esi
lea ecx, [ebp - 0x48]
call fcn.100491b0
cmp esi, eax
je 0x10108262
push str.map_set_iterators_incompatible
push 0x101aeae8
push 0
push 0xe6
push 0x101af938
push 2
call fcn.1011d740
add esp, 0x18
cmp eax, 1
jne 0x10108244
int3
push 0
push 0xe6
push str.C:Program_Files__x86_Microsoft_Visual_Studio2019CommunityVCToolsMSVC14.29.30133includextree
push 0x101aec28
push str._map_set_iterators_incompatible_
call fcn.1012c080
add esp, 0x14
mov eax, dword [ebp - 0x34]
lea ecx, [ebp - 0x18]
cmp eax, dword [ebp - 0x40]
push 3
sete bl
call fcn.10112de0
lea ecx, [ebp - 0x48]
call fcn.100491c0
lea ecx, [ebp - 0x18]
call fcn.10112e90
test bl, bl
jne 0x1010838a
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 + 0x101b0280]
movzx eax, byte [ecx - 4]
xor eax, esi
shr esi, 8
movzx eax, al
xor esi, dword [eax*4 + 0x101b0280]
movzx eax, byte [ecx - 3]
xor eax, esi
shr esi, 8
movzx eax, al
xor esi, dword [eax*4 + 0x101b0280]
movzx eax, byte [ecx - 2]
xor eax, esi
shr esi, 8
movzx eax, al
xor esi, dword [eax*4 + 0x101b0280]
sub edx, 1
jne 0x101082a0
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 + 0x101b0280]
movzx eax, byte [ecx - 7]
xor eax, edi
shr edi, 8
movzx eax, al
xor edi, dword [eax*4 + 0x101b0280]
movzx eax, byte [ecx - 6]
xor eax, edi
shr edi, 8
movzx eax, al
xor edi, dword [eax*4 + 0x101b0280]
movzx eax, byte [ecx - 5]
xor eax, edi
shr edi, 8
movzx eax, al
xor edi, dword [eax*4 + 0x101b0280]
movzx eax, byte [ecx - 4]
xor eax, edi
shr edi, 8
movzx eax, al
xor edi, dword [eax*4 + 0x101b0280]
movzx eax, byte [ecx - 3]
xor eax, edi
shr edi, 8
movzx eax, al
xor edi, dword [eax*4 + 0x101b0280]
sub edx, 1
jne 0x10108302
lea ecx, [ebp - 0x3c]
call fcn.1004d9a0
mov dword [eax + 4], edi
mov dword [eax + 8], esi
push 3
lea ecx, [ebp - 0x14]
call fcn.10112de0
lea ecx, [ebp - 0x3c]
call fcn.100491c0
lea ecx, [ebp - 0x14]
call fcn.10112e90
push ecx
lea eax, [ebp - 0x6c]
push eax
lea ecx, [ebp - 0x30]
call fcn.1004d890
push 3
lea ecx, [ebp - 0x10]
call fcn.10112de0
lea ecx, [ebp - 0x6c]
call fcn.100491c0
lea ecx, [ebp - 0x10]
jmp 0x1010802b
push 3
lea ecx, [ebp + 8]
call fcn.10112de0
lea ecx, [ebp - 0x30]
call fcn.100491c0
lea ecx, [ebp + 8]
call fcn.10112e90
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