Function at 0x100d85b0
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x5c
mov esi, ecx
mov dword [ebp - 0x1c], esp
mov dword [ebp - 0x10], 0xffffffff
lea eax, [ebp - 0x18]
mov dword [ebp - 0x14], 0x100dafe0
mov ecx, dword fs:[0]
mov dword [ebp - 0x18], ecx
mov dword fs:[0], eax
mov eax, dword [0x1012d35c]
mov ebx, dword [eax]
mov ecx, dword [0x10132c00]
test cl, 1
je 0x100d8798
mov ecx, dword [0x10132bfc]
mov edi, ebx
mov ecx, dword [ecx + 4]
mov edx, dword [ecx + ebx + 8]
mov dword [ebp - 0x60], edx
vmovsd xmm0, qword [ecx + ebx]
vmovsd qword [ebp - 0x68], xmm0
mov ecx, dword [0x10132cb0]
test cl, 1
je 0x100d87fa
mov ebx, dword [0x10132cac]
mov ecx, dword [ebx + 4]
mov edx, dword [ecx + edi + 8]
mov dword [ebp - 0x54], edx
vmovsd xmm0, qword [ecx + edi]
vmovsd qword [ebp - 0x5c], xmm0
mov eax, dword [eax]
movzx ecx, byte [eax + 0x9b14]
mov byte [ebp - 0x24], cl
mov byte [eax + 0x9b14], 0
mov eax, dword [esi + 0x1c8]
cmp eax, 2
je 0x100d8691
cmp eax, 1
jne 0x100d86f5
mov eax, dword [0x1012d35c]
mov ecx, dword [eax]
mov eax, dword [0x10132cb0]
test al, 1
je 0x100d893d
mov edi, dword [0x10132cac]
mov eax, dword [edi + 4]
vxorps xmm0, xmm0, xmm0
vmovlps qword [eax + ecx], xmm0
mov dword [eax + ecx + 8], 0
jmp 0x100d86ee
mov eax, dword [0x1012d35c]
mov ecx, dword [eax]
mov eax, dword [0x10132cb0]
test al, 1
je 0x100d899b
mov edi, dword [0x10132cac]
mov edx, dword [edi + 4]
vxorps xmm0, xmm0, xmm0
vmovlps qword [edx + ecx], xmm0
mov dword [edx + ecx + 8], 0
mov eax, dword [0x1012d35c]
mov esi, dword [eax]
mov eax, dword [0x10132c00]
test al, 1
je 0x100d89f9
mov edi, dword [0x10132bfc]
add edx, ecx
mov eax, dword [edi + 4]
mov ecx, dword [edx + 8]
mov dword [eax + esi + 8], ecx
vmovsd xmm0, qword [edx]
vmovsd qword [eax + esi], xmm0
mov dword [ebp - 0x10], 0xffffffff
mov eax, dword [ebp + 0x20]
mov esi, dword [ebp + 0x1c]
mov edi, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x14]
mov dword [ebp - 0x10], 0xffffffff
mov edx, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
push eax
push esi
push edi
push ebx
push dword [ebp + 0x10]
call dword [0x1012d468]
mov eax, dword [0x1012d35c]
mov eax, dword [eax]
movzx ecx, byte [ebp - 0x24]
mov byte [eax + 0x9b14], cl
mov eax, dword [0x1012d35c]
mov esi, dword [eax]
mov ecx, dword [0x10132c00]
test cl, 1
je 0x100d885c
mov edi, dword [0x10132bfc]
mov ecx, dword [edi + 4]
mov edx, dword [ebp - 0x60]
mov dword [ecx + esi + 8], edx
vmovsd xmm0, qword [ebp - 0x68]
vmovsd qword [ecx + esi], xmm0
mov edx, dword [eax]
mov eax, dword [0x10132cb0]
test al, 1
je 0x100d88bb
mov edi, dword [0x10132cac]
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0x54]
mov dword [eax + edx + 8], ecx
vmovsd xmm0, qword [ebp - 0x5c]
vmovsd qword [eax + edx], xmm0
mov eax, dword [ebp - 0x18]
mov dword fs:[0], eax
add esp, 0x5c
pop esi
pop edi
pop ebx
pop ebp
ret 0x1c
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x28], esi
or ecx, 1
mov dword [0x10132c00], ecx
mov eax, dword [0x1012d324]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x10], 0
lea ecx, [ebp - 0x48]
mov dword [ebp - 0x24], ecx
push str.CBasePlayer__m_aimPunchAngle
call fcn.100083b0
mov esi, dword [ebp - 0x38]
cmp dword [ebp - 0x34], 0x10
jb 0x100d87d5
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x24], eax
test esi, esi
je 0x100d8915
mov eax, esi
and eax, 3
mov dword [ebp - 0x20], eax
cmp esi, 4
jae 0x100d8a5d
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100d8aa6
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x28], esi
or ecx, 1
mov dword [0x10132cb0], ecx
mov eax, dword [0x1012d324]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x10], 2
lea ecx, [ebp - 0x48]
mov dword [ebp - 0x24], ecx
push str.CBasePlayer__m_viewPunchAngle
call fcn.100083b0
mov esi, dword [ebp - 0x38]
cmp dword [ebp - 0x34], 0x10
jb 0x100d8837
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x24], eax
test esi, esi
je 0x100d891f
mov eax, esi
and eax, 3
mov dword [ebp - 0x20], eax
cmp esi, 4
jae 0x100d8b3b
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100d8b84
mov dword [ebp - 0x2c], esi
or ecx, 1
mov dword [0x10132c00], ecx
mov eax, dword [0x1012d324]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x10], 0xa
lea ecx, [ebp - 0x48]
mov dword [ebp - 0x24], ecx
push str.CBasePlayer__m_aimPunchAngle
call fcn.100083b0
mov esi, dword [ebp - 0x38]
cmp dword [ebp - 0x34], 0x10
jb 0x100d8896
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x24], eax
test esi, esi
je 0x100d8929
mov eax, esi
and eax, 3
mov dword [ebp - 0x20], eax
cmp esi, 4
jae 0x100d8c13
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100d8c5c
mov dword [ebp - 0x2c], edx
or eax, 1
mov dword [0x10132cb0], eax
mov eax, dword [0x1012d324]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x10], 0xc
lea ecx, [ebp - 0x48]
mov dword [ebp - 0x24], ecx
push str.CBasePlayer__m_viewPunchAngle
call fcn.100083b0
mov esi, dword [ebp - 0x38]
cmp dword [ebp - 0x34], 0x10
jb 0x100d88f4
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x24], eax
test esi, esi
je 0x100d8933
mov eax, esi
and eax, 3
mov dword [ebp - 0x20], eax
cmp esi, 4
jae 0x100d8ce8
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100d8d31
mov ecx, 0x811c9dc5
jmp 0x100d8ac3
mov ecx, 0x811c9dc5
jmp 0x100d8ba1
mov ecx, 0x811c9dc5
jmp 0x100d8c79
mov ecx, 0x811c9dc5
jmp 0x100d8d4e
mov dword [ebp - 0x30], ecx
or eax, 1
mov dword [0x10132cb0], eax
mov eax, dword [0x1012d324]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x10], 4
lea ecx, [ebp - 0x48]
mov dword [ebp - 0x20], ecx
push str.CBasePlayer__m_viewPunchAngle
call fcn.100083b0
mov esi, dword [ebp - 0x38]
cmp dword [ebp - 0x34], 0x10
jb 0x100d8976
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x20], eax
test esi, esi
je 0x100d8db8
mov eax, esi
and eax, 3
mov dword [ebp - 0x28], eax
cmp esi, 4
jae 0x100d8dd3
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100d8e1c
mov dword [ebp - 0x2c], ecx
or eax, 1
mov dword [0x10132cb0], eax
mov eax, dword [0x1012d324]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x10], 6
lea ecx, [ebp - 0x48]
mov dword [ebp - 0x20], ecx
push str.CBasePlayer__m_viewPunchAngle
call fcn.100083b0
mov esi, dword [ebp - 0x38]
cmp dword [ebp - 0x34], 0x10
jb 0x100d89d4
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x20], eax
test esi, esi
je 0x100d8dbf
mov eax, esi
and eax, 3
mov dword [ebp - 0x28], eax
cmp esi, 4
jae 0x100d8ea3
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100d8eec
mov dword [ebp - 0x4c], esi
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x2c], ecx
or eax, 1
mov dword [0x10132c00], eax
mov eax, dword [0x1012d324]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x10], 8
lea ecx, [ebp - 0x48]
mov dword [ebp - 0x20], ecx
push str.CBasePlayer__m_aimPunchAngle
call fcn.100083b0
mov esi, dword [ebp - 0x38]
cmp dword [ebp - 0x34], 0x10
jb 0x100d8a38
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x20], eax
test esi, esi
je 0x100d8dc9
mov eax, esi
and eax, 3
mov dword [ebp - 0x28], eax
cmp esi, 4
jae 0x100d8f73
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100d8fbc
mov edi, esi
and edi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [ebp - 0x24]
movzx ebx, byte [eax + edx]
xor ebx, ecx
imul ecx, ebx, 0x1000193
movzx ebx, byte [eax + edx + 1]
xor ebx, ecx
imul ecx, ebx, 0x1000193
movzx ebx, byte [eax + edx + 2]
xor ebx, ecx
imul ecx, ebx, 0x1000193
movzx ebx, byte [eax + edx + 3]
xor ebx, ecx
imul ecx, ebx, 0x1000193
add edx, 4
cmp edi, edx
jne 0x100d8a6c
cmp dword [ebp - 0x20], 0
je 0x100d8ac3
add edx, dword [ebp - 0x24]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp dword [ebp - 0x20], edi
jne 0x100d8ab1
mov edx, dword [ebp - 0x2c]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov ebx, dword [eax + ecx*8 + 4]
cmp ebx, dword [edx + 4]
je 0x100d9049
mov edi, ebx
add ecx, ecx
mov ebx, dword [eax + ecx*4]
cmp esi, dword [edi + 0x18]
jne 0x100d8b04
cmp dword [edi + 0x1c], 0x10
jb 0x100d8af0
mov eax, dword [edi + 8]
jmp 0x100d8af3
lea eax, [edi + 8]
push esi
push eax
push dword [ebp - 0x24]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100d8b16
cmp edi, ebx
je 0x100d9049
mov edi, dword [edi + 4]
cmp esi, dword [edi + 0x18]
je 0x100d8ae5
jmp 0x100d8b04
add edi, 0x20
lea ecx, [ebp - 0x48]
call fcn.100029d0
mov ecx, edi
mov dword [0x10132bfc], edi
mov eax, dword [0x1012d35c]
mov edi, dword [eax]
mov esi, dword [ebp - 0x28]
mov ebx, dword [ebp - 0x30]
jmp 0x100d85fd
mov edi, esi
and edi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [ebp - 0x24]
movzx ebx, byte [eax + edx]
xor ebx, ecx
imul ecx, ebx, 0x1000193
movzx ebx, byte [eax + edx + 1]
xor ebx, ecx
imul ecx, ebx, 0x1000193
movzx ebx, byte [eax + edx + 2]
xor ebx, ecx
imul ecx, ebx, 0x1000193
movzx ebx, byte [eax + edx + 3]
xor ebx, ecx
imul ecx, ebx, 0x1000193
add edx, 4
cmp edi, edx
jne 0x100d8b4a
cmp dword [ebp - 0x20], 0
je 0x100d8ba1
add edx, dword [ebp - 0x24]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp dword [ebp - 0x20], edi
jne 0x100d8b8f
mov edx, dword [ebp - 0x2c]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov ebx, dword [eax + ecx*8 + 4]
cmp ebx, dword [edx + 4]
je 0x100d905d
add ecx, ecx
mov edi, dword [eax + ecx*4]
cmp esi, dword [ebx + 0x18]
jne 0x100d8be0
cmp dword [ebx + 0x1c], 0x10
jb 0x100d8bcc
mov eax, dword [ebx + 8]
jmp 0x100d8bcf
lea eax, [ebx + 8]
push esi
push eax
push dword [ebp - 0x24]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100d8bf2
cmp ebx, edi
je 0x100d905d
mov ebx, dword [ebx + 4]
cmp esi, dword [ebx + 0x18]
je 0x100d8bc1
jmp 0x100d8be0
add ebx, 0x20
lea ecx, [ebp - 0x48]
call fcn.100029d0
mov dword [0x10132cac], ebx
mov eax, dword [0x1012d35c]
mov esi, dword [ebp - 0x28]
mov edi, dword [ebp - 0x30]
jmp 0x100d8626
mov edi, esi
and edi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [ebp - 0x24]
movzx ebx, byte [eax + edx]
xor ebx, ecx
imul ecx, ebx, 0x1000193
movzx ebx, byte [eax + edx + 1]
xor ebx, ecx
imul ecx, ebx, 0x1000193
movzx ebx, byte [eax + edx + 2]
xor ebx, ecx
imul ecx, ebx, 0x1000193
movzx ebx, byte [eax + edx + 3]
xor ebx, ecx
imul ecx, ebx, 0x1000193
add edx, 4
cmp edi, edx
jne 0x100d8c22
cmp dword [ebp - 0x20], 0
je 0x100d8c79
add edx, dword [ebp - 0x24]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp dword [ebp - 0x20], edi
jne 0x100d8c67
mov edx, dword [ebp - 0x28]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov edi, dword [eax + ecx*8 + 4]
cmp edi, dword [edx + 4]
je 0x100d9071
add ecx, ecx
mov ebx, dword [eax + ecx*4]
cmp esi, dword [edi + 0x18]
jne 0x100d8cb8
cmp dword [edi + 0x1c], 0x10
jb 0x100d8ca4
mov eax, dword [edi + 8]
jmp 0x100d8ca7
lea eax, [edi + 8]
push esi
push eax
push dword [ebp - 0x24]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100d8cca
cmp edi, ebx
je 0x100d9071
mov edi, dword [edi + 4]
cmp esi, dword [edi + 0x18]
je 0x100d8c99
jmp 0x100d8cb8
add edi, 0x20
lea ecx, [ebp - 0x48]
call fcn.100029d0
mov dword [0x10132bfc], edi
mov eax, dword [0x1012d35c]
mov esi, dword [ebp - 0x2c]
jmp 0x100d8748
mov edi, esi
and edi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [ebp - 0x24]
movzx ebx, byte [eax + edx]
xor ebx, ecx
imul ecx, ebx, 0x1000193
movzx ebx, byte [eax + edx + 1]
xor ebx, ecx
imul ecx, ebx, 0x1000193
movzx ebx, byte [eax + edx + 2]
xor ebx, ecx
imul ecx, ebx, 0x1000193
movzx ebx, byte [eax + edx + 3]
xor ebx, ecx
imul ecx, ebx, 0x1000193
add edx, 4
cmp edi, edx
jne 0x100d8cf7
cmp dword [ebp - 0x20], 0
je 0x100d8d4e
add edx, dword [ebp - 0x24]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp dword [ebp - 0x20], edi
jne 0x100d8d3c
mov edx, dword [ebp - 0x28]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov edi, dword [eax + ecx*8 + 4]
cmp edi, dword [edx + 4]
je 0x100d9085
add ecx, ecx
mov ebx, dword [eax + ecx*4]
cmp esi, dword [edi + 0x18]
jne 0x100d8d8d
cmp dword [edi + 0x1c], 0x10
jb 0x100d8d79
mov eax, dword [edi + 8]
jmp 0x100d8d7c
lea eax, [edi + 8]
push esi
push eax
push dword [ebp - 0x24]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100d8d9f
cmp edi, ebx
je 0x100d9085
mov edi, dword [edi + 4]
cmp esi, dword [edi + 0x18]
je 0x100d8d6e
jmp 0x100d8d8d
add edi, 0x20
lea ecx, [ebp - 0x48]
call fcn.100029d0
mov dword [0x10132cac], edi
mov edx, dword [ebp - 0x2c]
jmp 0x100d8771
mov ecx, 0x811c9dc5
jmp 0x100d8e39
mov ecx, 0x811c9dc5
jmp 0x100d8f09
mov ecx, 0x811c9dc5
jmp 0x100d8fd9
mov edi, esi
and edi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [ebp - 0x20]
movzx ebx, byte [eax + edx]
xor ebx, ecx
imul ecx, ebx, 0x1000193
movzx ebx, byte [eax + edx + 1]
xor ebx, ecx
imul ecx, ebx, 0x1000193
movzx ebx, byte [eax + edx + 2]
xor ebx, ecx
imul ecx, ebx, 0x1000193
movzx ebx, byte [eax + edx + 3]
xor ebx, ecx
imul ecx, ebx, 0x1000193
add edx, 4
cmp edi, edx
jne 0x100d8de2
cmp dword [ebp - 0x28], 0
je 0x100d8e39
add edx, dword [ebp - 0x20]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp dword [ebp - 0x28], edi
jne 0x100d8e27
mov edx, dword [ebp - 0x2c]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov edi, dword [eax + ecx*8 + 4]
cmp edi, dword [edx + 4]
je 0x100d9099
add ecx, ecx
mov ebx, dword [eax + ecx*4]
cmp esi, dword [edi + 0x18]
jne 0x100d8e78
cmp dword [edi + 0x1c], 0x10
jb 0x100d8e64
mov eax, dword [edi + 8]
jmp 0x100d8e67
lea eax, [edi + 8]
push esi
push eax
push dword [ebp - 0x20]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100d8e8a
cmp edi, ebx
je 0x100d9099
mov edi, dword [edi + 4]
cmp esi, dword [edi + 0x18]
je 0x100d8e59
jmp 0x100d8e78
add edi, 0x20
lea ecx, [ebp - 0x48]
call fcn.100029d0
mov dword [0x10132cac], edi
mov ecx, dword [ebp - 0x30]
jmp 0x100d867b
mov edi, esi
and edi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [ebp - 0x20]
movzx ebx, byte [eax + edx]
xor ebx, ecx
imul ecx, ebx, 0x1000193
movzx ebx, byte [eax + edx + 1]
xor ebx, ecx
imul ecx, ebx, 0x1000193
movzx ebx, byte [eax + edx + 2]
xor ebx, ecx
imul ecx, ebx, 0x1000193
movzx ebx, byte [eax + edx + 3]
xor ebx, ecx
imul ecx, ebx, 0x1000193
add edx, 4
cmp edi, edx
jne 0x100d8eb2
cmp dword [ebp - 0x28], 0
je 0x100d8f09
add edx, dword [ebp - 0x20]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp dword [ebp - 0x28], edi
jne 0x100d8ef7
mov edx, dword [ebp - 0x30]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov edi, dword [eax + ecx*8 + 4]
cmp edi, dword [edx + 4]
je 0x100d90ad
add ecx, ecx
mov ebx, dword [eax + ecx*4]
cmp esi, dword [edi + 0x18]
jne 0x100d8f48
cmp dword [edi + 0x1c], 0x10
jb 0x100d8f34
mov eax, dword [edi + 8]
jmp 0x100d8f37
lea eax, [edi + 8]
push esi
push eax
push dword [ebp - 0x20]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100d8f5a
cmp edi, ebx
je 0x100d90ad
mov edi, dword [edi + 4]
cmp esi, dword [edi + 0x18]
je 0x100d8f29
jmp 0x100d8f48
add edi, 0x20
lea ecx, [ebp - 0x48]
call fcn.100029d0
mov dword [0x10132cac], edi
mov ecx, dword [ebp - 0x2c]
jmp 0x100d86ab
mov edi, esi
and edi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [ebp - 0x20]
movzx ebx, byte [eax + edx]
xor ebx, ecx
imul ecx, ebx, 0x1000193
movzx ebx, byte [eax + edx + 1]
xor ebx, ecx
imul ecx, ebx, 0x1000193
movzx ebx, byte [eax + edx + 2]
xor ebx, ecx
imul ecx, ebx, 0x1000193
movzx ebx, byte [eax + edx + 3]
xor ebx, ecx
imul ecx, ebx, 0x1000193
add edx, 4
cmp edi, edx
jne 0x100d8f82
cmp dword [ebp - 0x28], 0
je 0x100d8fd9
add edx, dword [ebp - 0x20]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp dword [ebp - 0x28], edi
jne 0x100d8fc7
mov edx, dword [ebp - 0x30]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov edi, dword [eax + ecx*8 + 4]
cmp edi, dword [edx + 4]
je 0x100d90c1
add ecx, ecx
mov ebx, dword [eax + ecx*4]
cmp esi, dword [edi + 0x18]
jne 0x100d9018
cmp dword [edi + 0x1c], 0x10
jb 0x100d9004
mov eax, dword [edi + 8]
jmp 0x100d9007
lea eax, [edi + 8]
push esi
push eax
push dword [ebp - 0x20]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100d902a
cmp edi, ebx
je 0x100d90c1
mov edi, dword [edi + 4]
cmp esi, dword [edi + 0x18]
je 0x100d8ff9
jmp 0x100d9018
add edi, 0x20
lea ecx, [ebp - 0x48]
call fcn.100029d0
mov dword [0x10132bfc], edi
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x50]
mov esi, dword [ebp - 0x4c]
jmp 0x100d86d9
mov dword [ebp - 0x10], 1
push 0x1011ed9d
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
add esp, 4
mov dword [ebp - 0x10], 3
push 0x1011ed9d
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
add esp, 4
mov dword [ebp - 0x10], 0xb
push 0x1011ed9d
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
add esp, 4
mov dword [ebp - 0x10], 0xd
push 0x1011ed9d
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
add esp, 4
mov dword [ebp - 0x10], 5
push 0x1011ed9d
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
add esp, 4
mov dword [ebp - 0x10], 7
push 0x1011ed9d
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
add esp, 4
mov dword [ebp - 0x10], 9
push 0x1011ed9d
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
add esp, 4
nop word cs:[eax + eax]
push ebp
sub esp, 0x14
add ebp, 0xc
lea ecx, [ebp - 0x48]
call fcn.100029d0
add esp, 0x14
pop ebp
ret