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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xffffffe0
sub esp, 0x1c0
mov esi, esp
mov dword [esi + 0x198], ebp
mov edi, ecx
mov dword [esi + 0x19c], esp
mov dword [esi + 0x1a8], 0xffffffff
lea eax, [esi + 0x1a0]
mov dword [esi + 0x1a4], 0x100dafb0
mov ecx, dword fs:[0]
mov dword [esi + 0x1a0], ecx
mov dword fs:[0], eax
mov word [esi + 0x80], 0
mov byte [esi + 0x82], 0
vxorps xmm0, xmm0, xmm0
vmovups ymmword [esi + 0x83], ymm0
vmovups ymmword [esi + 0x91], ymm0
vxorps xmm0, xmm0, xmm0
vmovups xmmword [esi + 0xf8], xmm0
mov dword [esi + 0x108], 0
mov byte [edi + 0x250], 0
vmovups ymm0, ymmword [esi + 0x80]
vmovups ymm1, ymmword [esi + 0x91]
vmovups ymmword [edi + 0x251], ymm0
vmovups ymmword [edi + 0x262], ymm1
mov word [edi + 0x282], 0
vmovups xmm0, xmmword [esi + 0xf8]
vmovups xmmword [edi + 0x284], xmm0
mov eax, dword [esi + 0x108]
mov dword [edi + 0x294], eax
mov ecx, dword [edi + 0x298]
test ecx, ecx
je 0x100d50ce
mov eax, dword [edi + 0x2a0]
sub eax, ecx
cmp eax, 0x1000
jb 0x100d50a1
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x100d58bc
add eax, 0x23
mov ecx, edx
mov dword [esp + 4], eax
mov dword [esp], ecx
vzeroupper
call fcn.100f1e8b
mov dword [edi + 0x298], 0
mov dword [edi + 0x29c], 0
mov dword [edi + 0x2a0], 0
mov dword [edi + 0x298], 0
mov dword [edi + 0x29c], 0
mov dword [edi + 0x2a0], 0
mov byte [edi + 0x24c], 0
mov eax, dword [0x1012d320]
cmp dword [eax + 0x1c8], 0
je 0x100d582f
mov eax, dword [eax + 0x1cc]
test eax, eax
je 0x100d582f
mov edx, dword [ebp + 8]
cmp byte [edi + 0x179], 0
je 0x100d5310
mov eax, dword [eax + 0xc8]
test eax, eax
je 0x100d5310
cmp eax, 6
jg 0x100d5310
vmovss xmm0, dword [0x100fe0c4]
vmulss xmm0, xmm0, dword [edx + 0xc]
vcvtss2sd xmm0, xmm0, xmm0
vmovsd qword [esi + 0x70], xmm0
vmovsd qword [esp], xmm0
vzeroupper
call sub.api_ms_win_crt_math_l1_1_0.dll_sin
fstp dword [esi + 0xf4]
vmovss xmm0, dword [esi + 0xf4]
vmovss dword [esi + 0x50], xmm0
vmovsd xmm0, qword [esi + 0x70]
vmovsd qword [esp], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_cos
fstp dword [esi + 0xf0]
vmovss xmm0, dword [esi + 0xf0]
vmovaps xmmword [esi + 0x70], xmm0
mov eax, dword [ebp + 8]
vmovss xmm0, dword [0x100fe0c4]
vmulss xmm0, xmm0, dword [eax + 0x10]
vcvtss2sd xmm0, xmm0, xmm0
vmovsd qword [esi + 0x40], xmm0
vmovsd qword [esp], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_sin
fstp qword [esi + 0x180]
vmovsd xmm0, qword [esi + 0x40]
vmovsd qword [esp], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_cos
fstp qword [esi + 0x178]
vmovsd xmm0, qword [esi + 0x178]
vmovhpd xmm0, xmm0, qword [esi + 0x180]
vcvtpd2ps xmm1, xmm0
mov eax, dword [ebp + 8]
vmovss xmm0, dword [0x100fe0c4]
vmulss xmm0, xmm0, dword [eax + 0x14]
vmovd eax, xmm0
and eax, 0x7fffffff
cmp eax, 0x7f800000
je 0x100d5852
vbroadcastss xmm0, dword [esi + 0x70]
vmulps xmm0, xmm0, xmm1
mov eax, dword [0x1012d33c]
mov dword [esi + 0x70], eax
mov ecx, dword [0x1012d320]
mov eax, dword [ecx + 0x1cc]
vmovss xmm3, dword [ecx + 0x198]
vbroadcastss xmm1, dword [eax + 0x10c]
vmulss xmm2, xmm1, dword [esi + 0x50]
vsubss xmm2, xmm3, xmm2
vmulps xmm0, xmm0, xmm1
vmovsd xmm1, qword [ecx + 0x190]
vaddps xmm0, xmm0, xmm1
vmovlps qword [esi + 0xf8], xmm0
vmovss dword [esi + 0x100], xmm2
mov ecx, dword [ecx + 0x1c8]
mov dword [esi + 0x50], ecx
mov ecx, dword [0x1012d47c]
test cl, 1
je 0x100d5943
mov ebx, dword [0x1012d478]
mov edx, dword [ebx + 4]
xor ecx, ecx
mov ebx, dword [esi + 0x50]
cmp word [edx + ebx], 0x1f
lea edx, [edi + 0x238]
mov dword [esi + 0x50], edx
sete cl
mov edx, dword [0x1012d35c]
mov edx, dword [edx]
lea ebx, [esi + 0xf8]
mov dword [esp + 0x20], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 4], edx
lea eax, [esi + 0x80]
mov dword [esp], eax
mov dword [esp + 0x10], ecx
vextractps dword [esp + 0x18], xmm1, 1
vmovss dword [esp + 0x1c], xmm3
vmovss dword [esp + 0x14], xmm1
mov dword [esp + 8], 0
mov ecx, dword [esi + 0x70]
call fcn.10091930
sub esp, 0x24
cmp byte [edi + 0x24c], 0
mov eax, dword [esi + 0x90]
mov ecx, dword [esi + 0x50]
mov dword [ecx + 0x10], eax
vmovups xmm0, xmmword [esi + 0x80]
vmovups xmmword [ecx], xmm0
jne 0x100d530d
mov byte [edi + 0x24c], 1
mov edx, dword [ebp + 8]
cmp byte [edi + 0x176], 0
je 0x100d582f
mov eax, dword [0x1012d320]
mov ecx, dword [eax + 0x1cc]
cmp dword [ecx + 0xc8], 9
jne 0x100d582f
mov ecx, dword [eax + 0x1c8]
mov dword [esi + 0x70], ecx
mov ecx, dword [0x10132da4]
test cl, 1
je 0x100d58c5
mov ebx, dword [0x10132da0]
mov ecx, dword [ebx + 4]
mov ebx, dword [esi + 0x70]
cmp byte [ecx + ebx], 0
je 0x100d5802
mov ecx, dword [0x1012d35c]
mov ecx, dword [ecx]
mov dword [edi + 0x254], ecx
mov ecx, dword [eax + 0x1c8]
mov eax, dword [0x1012d47c]
test al, 1
je 0x100d59cb
mov ebx, dword [0x1012d478]
mov eax, dword [ebx + 4]
movzx eax, word [eax + ecx]
mov word [edi + 0x280], ax
vmovss xmm0, dword [edx + 0xc]
vmovss xmm1, dword [edx + 0x10]
vmovss dword [esi + 0x30], xmm1
vmovss xmm1, dword [edx + 0x14]
vmovss dword [esi + 0x40], xmm1
vmovss xmm1, dword [0x100fe0e8]
vucomiss xmm1, xmm0
jbe 0x100d53c9
vaddss xmm0, xmm0, dword [0x100fd770]
jmp 0x100d53db
vucomiss xmm0, dword [0x100fe0bc]
jbe 0x100d53db
vaddss xmm0, xmm0, dword [0x10101330]
vbroadcastss xmm1, dword [0x100f550c]
vandps xmm1, xmm0, xmm1
vmovss xmm2, dword [0x100fe0bc]
vsubss xmm1, xmm2, xmm1
vmulss xmm1, xmm1, dword [0x100f55c0]
vdivss xmm1, xmm1, xmm2
vaddss xmm0, xmm0, xmm1
vmulss xmm0, xmm0, dword [0x100fe0c4]
vcvtss2sd xmm0, xmm0, xmm0
vmovsd qword [esi + 0x50], xmm0
vmovsd qword [esp], xmm0
vzeroupper
call sub.api_ms_win_crt_math_l1_1_0.dll_sin
fstp dword [esi + 0xec]
vmovss xmm0, dword [esi + 0xec]
vmovss dword [esi + 0x70], xmm0
vmovsd xmm0, qword [esi + 0x50]
vmovsd qword [esp], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_cos
fstp dword [esi + 0xe8]
vmovss xmm0, dword [esi + 0xe8]
vmovaps xmmword [esi + 0x50], xmm0
vmovss xmm0, dword [0x100fe0c4]
vmulss xmm0, xmm0, dword [esi + 0x30]
vcvtss2sd xmm0, xmm0, xmm0
vmovsd qword [esi + 0x30], xmm0
vmovsd qword [esp], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_sin
fstp qword [esi + 0x170]
vmovsd xmm0, qword [esi + 0x30]
vmovsd qword [esp], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_cos
fstp qword [esi + 0x168]
vmovsd xmm0, qword [esi + 0x168]
vmovhpd xmm1, xmm0, qword [esi + 0x170]
vmovss xmm0, dword [0x100fe0c4]
vmulss xmm0, xmm0, dword [esi + 0x40]
vmovd eax, xmm0
and eax, 0x7fffffff
cmp eax, 0x7f800000
je 0x100d5887
mov eax, dword [0x1012d320]
mov ecx, dword [eax + 0x1c8]
mov eax, dword [0x10132dac]
test al, 1
je 0x100d5a4b
mov ebx, dword [0x10132da8]
vcvtpd2ps xmm0, xmm1
vbroadcastss xmm1, dword [esi + 0x50]
vmulps xmm5, xmm1, xmm0
mov eax, dword [ebx + 4]
vmovss xmm0, dword [eax + ecx]
vmovss xmm1, dword [0x100f54d0]
vucomiss xmm0, xmm1
ja 0x100d551d
vxorps xmm1, xmm1, xmm1
vucomiss xmm1, xmm0
ja 0x100d551d
mov dword [esi + 0x1a8], 0xffffffff
vmovaps xmm1, xmm0
mov eax, dword [0x1012d320]
vmovss xmm0, dword [0x100f5778]
vmovss dword [esi + 0x40], xmm1
vfmadd213ss xmm0, xmm1, dword [0x10101334]
vaddss xmm0, xmm0, dword [eax + 0x198]
vxorps xmm1, xmm1, xmm1
vmovups ymmword [esi + 0xb4], ymm1
vmovaps ymmword [esi + 0xa0], ymm1
vmovaps ymmword [esi + 0x80], ymm1
mov ecx, dword [0x1012d35c]
mov ecx, dword [ecx]
mov edx, dword [eax + 0x34]
mov dword [esi + 0x158], edx
mov dword [esi + 0x15c], ecx
mov dword [esi + 0x160], 0
mov dword [esi + 0x164], 0
vmovss xmm1, dword [esi + 0x70]
vmulss xmm1, xmm1, dword [0x10101338]
vsubss xmm3, xmm0, xmm1
vxorps xmm1, xmm1, xmm1
vmovsd xmm2, qword [eax + 0x190]
vsubss xmm3, xmm3, xmm0
vbroadcastss xmm4, dword [0x10101338]
vmovaps xmmword [esi + 0x50], xmm5
vmulps xmm4, xmm5, xmm4
vaddps xmm4, xmm4, xmm2
vsubps xmm4, xmm4, xmm2
vmulps xmm5, xmm4, xmm4
vmovshdup xmm5, xmm5
vfmadd231ss xmm5, xmm4, xmm4
vfmadd231ss xmm5, xmm3, xmm3
vucomiss xmm5, xmm1
vaddss xmm0, xmm0, xmm1
vxorps xmm1, xmm1, xmm1
vaddps xmm1, xmm2, xmm1
vmovlps qword [esi + 0xf8], xmm1
vmovss dword [esi + 0x100], xmm0
mov dword [esi + 0x104], 0
vmovlps qword [esi + 0x108], xmm4
vmovss dword [esi + 0x110], xmm3
mov dword [esi + 0x114], 0
vbroadcastss xmm0, dword [0x100f54d8]
vmovlps qword [esi + 0x118], xmm0
mov dword [esi + 0x120], 0x80000000
mov dword [esi + 0x124], 0
vbroadcastss xmm0, dword [0x100f55a4]
vmovlps qword [esi + 0x128], xmm0
mov ecx, dword [0x1012d384]
mov dword [esi + 0x130], 0x40000000
mov dword [esi + 0x134], 0
mov dword [esi + 0x138], 0
mov byte [esi + 0x13c], 0
setp al
setne dl
or dl, al
mov byte [esi + 0x13d], dl
mov eax, dword [ecx]
mov eax, dword [eax + 0x14]
mov dword [esi + 0x1a8], 0xffffffff
lea edx, [esi + 0x80]
mov dword [esp + 0xc], edx
lea edx, [esi + 0x158]
mov dword [esp + 8], edx
lea edx, [esi + 0xf8]
mov dword [esp], edx
mov dword [esp + 4], 0x208400b
vzeroupper
call eax
sub esp, 0x10
mov eax, dword [0x1012d320]
mov eax, dword [eax + 0x1cc]
vmovss xmm0, dword [eax + 0x114]
mov eax, dword [0x1012d364]
vmovss xmm6, dword [eax + 0x10]
mov eax, dword [0x1012d35c]
mov ecx, dword [eax]
mov eax, dword [0x10132c18]
test al, 1
je 0x100d5ad0
mov ebx, dword [0x10132c14]
vmulss xmm0, xmm0, dword [0x100fc520]
add edi, 0x250
vmovss xmm1, dword [0x100fe13c]
vmaxss xmm1, xmm1, xmm0
vmovss xmm2, dword [0x1010133c]
vcmpltss xmm0, xmm2, xmm0
vbroadcastss xmm2, dword [0x1010133c]
vblendvps xmm0, xmm1, xmm2, xmm0
vmovss xmm1, dword [0x100f5710]
vmovss xmm2, dword [esi + 0x40]
vfmadd213ss xmm1, xmm2, dword [0x100f5764]
vmulss xmm0, xmm1, xmm0
mov eax, dword [ebx + 4]
vmovss xmm1, dword [eax + ecx + 8]
vmulss xmm1, xmm1, dword [0x100f55cc]
vbroadcastss xmm2, xmm0
vmovaps xmm5, xmmword [esi + 0x50]
vmulps xmm2, xmm5, xmm2
vmovss xmm4, dword [esi + 0x70]
vmulss xmm0, xmm0, xmm4
vsubss xmm0, xmm1, xmm0
vmovsd xmm1, qword [eax + ecx]
vbroadcastss xmm3, dword [0x100f55cc]
vmulps xmm1, xmm1, xmm3
vaddps xmm1, xmm2, xmm1
vmovlps qword [esi + 0xf8], xmm1
vmovss dword [esi + 0x100], xmm0
vmulss xmm0, xmm4, dword [0x100f5508]
vaddss xmm0, xmm0, dword [esi + 0x94]
vbroadcastss xmm1, dword [0x10101280]
vmulps xmm1, xmm5, xmm1
vmovsd xmm2, qword [esi + 0x8c]
vaddps xmm1, xmm2, xmm1
vmovlps qword [esi + 0x18c], xmm1
vmovss dword [esi + 0x194], xmm0
vmovss dword [esp + 8], xmm6
lea eax, [esi + 0xf8]
mov dword [esp + 4], eax
lea eax, [esi + 0x18c]
mov dword [esp], eax
mov dword [esp + 0xc], 0
mov ecx, edi
call fcn.100c8520
sub esp, 0x10
jmp 0x100d582f
mov ecx, dword [eax + 0x1c8]
mov eax, dword [0x1012d4b4]
test al, 1
je 0x100d5b60
mov ebx, dword [0x1012d4b0]
mov eax, dword [ebx + 4]
vmovss xmm0, dword [eax + ecx]
vxorps xmm1, xmm1, xmm1
vucomiss xmm0, xmm1
jne 0x100d5848
jp 0x100d5848
mov eax, dword [esi + 0x1a0]
mov dword fs:[0], eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
vzeroupper
ret 4
mov eax, dword [0x1012d320]
jmp 0x100d5363
vcvtss2sd xmm0, xmm0, xmm0
vmovsd qword [esi + 0x30], xmm0
vmovsd qword [esp], xmm0
vmovapd xmmword [esi + 0x40], xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_sin
fstp st(0)
vmovsd xmm0, qword [esi + 0x30]
vmovsd qword [esp], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_cos
fstp st(0)
vmovapd xmm1, xmmword [esi + 0x40]
jmp 0x100d5208
vcvtss2sd xmm0, xmm0, xmm0
vmovsd qword [esi + 0x30], xmm0
vmovsd qword [esp], xmm0
vmovapd xmmword [esi + 0x40], xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_sin
fstp st(0)
vmovsd xmm0, qword [esi + 0x30]
vmovsd qword [esp], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_cos
fstp st(0)
vmovapd xmm1, xmmword [esi + 0x40]
jmp 0x100d54c3
vzeroupper
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
mov dword [esi + 0x38], edi
or ecx, 1
mov dword [0x10132da4], ecx
mov eax, dword [0x1012d324]
mov dword [esi + 0x2c], eax
mov dword [esi + 0x1a8], 2
mov dword [esp], str.CBaseCSGrenade__m_bPinPulled
lea ecx, [esi + 0x80]
mov dword [esi + 0x40], ecx
vzeroupper
call fcn.100083b0
sub esp, 4
mov eax, dword [esi + 0x90]
mov dword [esi + 0x50], eax
cmp dword [esi + 0x94], 0x10
jb 0x100d5919
mov eax, dword [esi + 0x80]
mov dword [esi + 0x40], eax
cmp dword [esi + 0x50], 0
je 0x100d5be0
mov eax, dword [esi + 0x50]
mov ecx, eax
and ecx, 3
mov dword [esi + 0x30], ecx
cmp eax, 4
jae 0x100d5bf1
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100d5c3b
vmovaps xmmword [esi + 0x140], xmm1
vmovss dword [esi + 0x6c], xmm3
mov dword [esi + 0x38], edi
or ecx, 1
mov dword [0x1012d47c], ecx
mov eax, dword [0x1012d324]
mov dword [esi + 0x3c], eax
mov dword [esi + 0x1a8], 0
mov dword [esp], str.CBaseAttributableItem__m_iItemDefinitionIndex
lea ecx, [esi + 0x80]
mov dword [esi + 0x30], ecx
call fcn.100083b0
sub esp, 4
mov eax, dword [esi + 0x90]
mov dword [esi + 0x40], eax
cmp dword [esi + 0x94], 0x10
jb 0x100d59a1
mov eax, dword [esi + 0x80]
mov dword [esi + 0x30], eax
cmp dword [esi + 0x40], 0
je 0x100d5be7
mov eax, dword [esi + 0x40]
mov ecx, eax
and ecx, 3
mov dword [esi + 0x2c], ecx
cmp eax, 4
jae 0x100d5cd4
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100d5d1e
mov dword [esi + 0x2c], ecx
mov dword [esi + 0x38], edi
or eax, 1
mov dword [0x1012d47c], eax
mov eax, dword [0x1012d324]
mov dword [esi + 0x30], eax
mov dword [esi + 0x1a8], 6
mov dword [esp], str.CBaseAttributableItem__m_iItemDefinitionIndex
lea ecx, [esi + 0x80]
mov dword [esi + 0x50], ecx
vzeroupper
call fcn.100083b0
sub esp, 4
mov eax, dword [esi + 0x90]
mov dword [esi + 0x70], eax
cmp dword [esi + 0x94], 0x10
jb 0x100d5a21
mov eax, dword [esi + 0x80]
mov dword [esi + 0x50], eax
cmp dword [esi + 0x70], 0
je 0x100d5dd1
mov eax, dword [esi + 0x70]
mov ecx, eax
and ecx, 3
mov dword [esi + 0x40], ecx
cmp eax, 4
jae 0x100d5dec
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100d5e36
mov dword [esi + 0x140], ecx
vmovapd xmmword [esi + 0x40], xmm1
mov dword [esi + 0x38], edi
or eax, 1
mov dword [0x10132dac], eax
mov eax, dword [0x1012d324]
mov dword [esi + 0x6c], eax
mov dword [esi + 0x1a8], 8
mov dword [esp], str.CBaseCSGrenade__m_flThrowStrength
lea ecx, [esi + 0x80]
mov dword [esi + 0x2c], ecx
call fcn.100083b0
sub esp, 4
mov eax, dword [esi + 0x90]
mov dword [esi + 0x30], eax
cmp dword [esi + 0x94], 0x10
jb 0x100d5aa6
mov eax, dword [esi + 0x80]
mov dword [esi + 0x2c], eax
cmp dword [esi + 0x30], 0
je 0x100d5dd8
mov eax, dword [esi + 0x30]
mov ecx, eax
and ecx, 3
mov dword [esi + 0x3c], ecx
cmp eax, 4
jae 0x100d5ecd
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100d5f17
vmovss dword [esi + 0xe0], xmm0
mov dword [esi + 0xe4], ecx
vmovss dword [esi + 0x140], xmm6
mov dword [esi + 0x38], edi
or eax, 1
mov dword [0x10132c18], eax
mov eax, dword [0x1012d324]
mov dword [esi + 0x6c], eax
mov dword [esi + 0x1a8], 0xa
mov dword [esp], str.CBasePlayer__m_vecVelocity_0_
lea ecx, [esi + 0xf8]
mov dword [esi + 0x2c], ecx
call fcn.100083b0
sub esp, 4
mov eax, dword [esi + 0x108]
mov dword [esi + 0x30], eax
cmp dword [esi + 0x10c], 0x10
jb 0x100d5b36
mov eax, dword [esi + 0xf8]
mov dword [esi + 0x2c], eax
cmp dword [esi + 0x30], 0
je 0x100d5de2
mov eax, dword [esi + 0x30]
mov ecx, eax
and ecx, 3
mov dword [esi + 0x3c], ecx
cmp eax, 4
jae 0x100d5fb3
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100d5ffd
mov dword [esi + 0x2c], ecx
mov dword [esi + 0x38], edi
or eax, 1
mov dword [0x1012d4b4], eax
mov eax, dword [0x1012d324]
mov dword [esi + 0x30], eax
mov dword [esi + 0x1a8], 4
mov dword [esp], str.CBaseCSGrenade__m_fThrowTime
lea ecx, [esi + 0x80]
mov dword [esi + 0x50], ecx
vzeroupper
call fcn.100083b0
sub esp, 4
mov eax, dword [esi + 0x90]
mov dword [esi + 0x70], eax
cmp dword [esi + 0x94], 0x10
jb 0x100d5bb6
mov eax, dword [esi + 0x80]
mov dword [esi + 0x50], eax
cmp dword [esi + 0x70], 0
je 0x100d60ae
mov eax, dword [esi + 0x70]
mov ecx, eax
and ecx, 3
mov dword [esi + 0x40], ecx
cmp eax, 4
jae 0x100d60b5
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100d60ff
mov ecx, 0x811c9dc5
jmp 0x100d5c58
mov ecx, 0x811c9dc5
jmp 0x100d5d3b
mov edi, dword [esi + 0x50]
and edi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [esi + 0x40]
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 0x100d5c01
cmp dword [esi + 0x30], 0
je 0x100d5c58
add edx, dword [esi + 0x40]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp dword [esi + 0x30], edi
jne 0x100d5c46
mov edx, dword [esi + 0x2c]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov ebx, dword [eax + ecx*8 + 4]
cmp ebx, dword [edx + 4]
je 0x100d6196
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 0x50]
cmp eax, dword [ebx + 0x18]
jne 0x100d5ca3
cmp dword [ebx + 0x1c], 0x10
jb 0x100d5c86
mov eax, dword [ebx + 8]
jmp 0x100d5c89
lea eax, [ebx + 8]
mov ecx, dword [esi + 0x50]
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov eax, dword [esi + 0x40]
mov dword [esp], eax
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x100d5cb0
cmp ebx, edi
je 0x100d6196
mov ebx, dword [ebx + 4]
jmp 0x100d5c73
add ebx, 0x20
lea ecx, [esi + 0x80]
call fcn.100029d0
mov dword [0x10132da0], ebx
mov eax, dword [0x1012d320]
mov edi, dword [esi + 0x38]
mov edx, dword [ebp + 8]
jmp 0x100d5353
mov edi, dword [esi + 0x40]
and edi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [esi + 0x30]
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 0x100d5ce4
cmp dword [esi + 0x2c], 0
je 0x100d5d3b
add edx, dword [esi + 0x30]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp dword [esi + 0x2c], edi
jne 0x100d5d29
mov edx, dword [esi + 0x3c]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov ebx, dword [eax + ecx*8 + 4]
cmp ebx, dword [edx + 4]
je 0x100d61ac
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 0x40]
cmp eax, dword [ebx + 0x18]
jne 0x100d5d86
cmp dword [ebx + 0x1c], 0x10
jb 0x100d5d69
mov eax, dword [ebx + 8]
jmp 0x100d5d6c
lea eax, [ebx + 8]
mov ecx, dword [esi + 0x40]
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov eax, dword [esi + 0x30]
mov dword [esp], eax
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x100d5d93
cmp ebx, edi
je 0x100d61ac
mov ebx, dword [ebx + 4]
jmp 0x100d5d56
add ebx, 0x20
lea ecx, [esi + 0x80]
call fcn.100029d0
mov dword [0x1012d478], ebx
mov eax, dword [0x1012d320]
mov eax, dword [eax + 0x1cc]
mov dword [esi + 0x1a8], 0xffffffff
mov edi, dword [esi + 0x38]
vmovss xmm3, dword [esi + 0x6c]
vmovaps xmm1, xmmword [esi + 0x140]
jmp 0x100d527e
mov ecx, 0x811c9dc5
jmp 0x100d5e53
mov ecx, 0x811c9dc5
jmp 0x100d5f34
mov ecx, 0x811c9dc5
jmp 0x100d601a
mov edi, dword [esi + 0x70]
and edi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [esi + 0x50]
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 0x100d5dfc
cmp dword [esi + 0x40], 0
je 0x100d5e53
add edx, dword [esi + 0x50]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp dword [esi + 0x40], edi
jne 0x100d5e41
mov edx, dword [esi + 0x30]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov ebx, dword [eax + ecx*8 + 4]
cmp ebx, dword [edx + 4]
je 0x100d61c2
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 0x70]
cmp eax, dword [ebx + 0x18]
jne 0x100d5e9e
cmp dword [ebx + 0x1c], 0x10
jb 0x100d5e81
mov eax, dword [ebx + 8]
jmp 0x100d5e84
lea eax, [ebx + 8]
mov ecx, dword [esi + 0x70]
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov eax, dword [esi + 0x50]
mov dword [esp], eax
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x100d5eab
cmp ebx, edi
je 0x100d61c2
mov ebx, dword [ebx + 4]
jmp 0x100d5e6e
add ebx, 0x20
lea ecx, [esi + 0x80]
call fcn.100029d0
mov dword [0x1012d478], ebx
mov edi, dword [esi + 0x38]
mov edx, dword [ebp + 8]
mov ecx, dword [esi + 0x2c]
jmp 0x100d538a
mov edi, dword [esi + 0x30]
and edi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [esi + 0x2c]
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 0x100d5edd
cmp dword [esi + 0x3c], 0
je 0x100d5f34
add edx, dword [esi + 0x2c]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp dword [esi + 0x3c], edi
jne 0x100d5f22
mov edx, dword [esi + 0x6c]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov ebx, dword [eax + ecx*8 + 4]
cmp ebx, dword [edx + 4]
je 0x100d61d8
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 0x30]
cmp eax, dword [ebx + 0x18]
jne 0x100d5f7f
cmp dword [ebx + 0x1c], 0x10
jb 0x100d5f62
mov eax, dword [ebx + 8]
jmp 0x100d5f65
lea eax, [ebx + 8]
mov ecx, dword [esi + 0x30]
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov eax, dword [esi + 0x2c]
mov dword [esp], eax
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x100d5f8c
cmp ebx, edi
je 0x100d61d8
mov ebx, dword [ebx + 4]
jmp 0x100d5f4f
add ebx, 0x20
lea ecx, [esi + 0x80]
call fcn.100029d0
mov dword [0x10132da8], ebx
mov edi, dword [esi + 0x38]
vmovapd xmm1, xmmword [esi + 0x40]
mov ecx, dword [esi + 0x140]
jmp 0x100d54e1
mov edi, dword [esi + 0x30]
and edi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [esi + 0x2c]
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 0x100d5fc3
cmp dword [esi + 0x3c], 0
je 0x100d601a
add edx, dword [esi + 0x2c]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp dword [esi + 0x3c], edi
jne 0x100d6008
mov edx, dword [esi + 0x6c]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov ebx, dword [eax + ecx*8 + 4]
cmp ebx, dword [edx + 4]
je 0x100d61ee
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 0x30]
cmp eax, dword [ebx + 0x18]
jne 0x100d6065
cmp dword [ebx + 0x1c], 0x10
jb 0x100d6048
mov eax, dword [ebx + 8]
jmp 0x100d604b
lea eax, [ebx + 8]
mov ecx, dword [esi + 0x30]
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov eax, dword [esi + 0x2c]
mov dword [esp], eax
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x100d6072
cmp ebx, edi
je 0x100d61ee
mov ebx, dword [ebx + 4]
jmp 0x100d6035
add ebx, 0x20
lea ecx, [esi + 0xf8]
call fcn.100029d0
mov dword [0x10132c14], ebx
mov dword [esi + 0x1a8], 0xffffffff
mov edi, dword [esi + 0x38]
vmovss xmm6, dword [esi + 0x140]
mov ecx, dword [esi + 0xe4]
vmovss xmm0, dword [esi + 0xe0]
jmp 0x100d56fa
mov ecx, 0x811c9dc5
jmp 0x100d611c
mov edi, dword [esi + 0x70]
and edi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [esi + 0x50]
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 0x100d60c5
cmp dword [esi + 0x40], 0
je 0x100d611c
add edx, dword [esi + 0x50]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp dword [esi + 0x40], edi
jne 0x100d610a
mov edx, dword [esi + 0x30]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov ebx, dword [eax + ecx*8 + 4]
cmp ebx, dword [edx + 4]
je 0x100d6204
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 0x70]
cmp eax, dword [ebx + 0x18]
jne 0x100d6167
cmp dword [ebx + 0x1c], 0x10
jb 0x100d614a
mov eax, dword [ebx + 8]
jmp 0x100d614d
lea eax, [ebx + 8]
mov ecx, dword [esi + 0x70]
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov eax, dword [esi + 0x50]
mov dword [esp], eax
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x100d6174
cmp ebx, edi
je 0x100d6204
mov ebx, dword [ebx + 4]
jmp 0x100d6137
add ebx, 0x20
lea ecx, [esi + 0x80]
call fcn.100029d0
mov dword [0x1012d4b0], ebx
mov edi, dword [esi + 0x38]
mov edx, dword [ebp + 8]
mov ecx, dword [esi + 0x2c]
jmp 0x100d581b
mov dword [esi + 0x1a8], 3
mov dword [esp], 0x1011ed9d
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
mov dword [esi + 0x1a8], 1
mov dword [esp], 0x1011ed9d
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
mov dword [esi + 0x1a8], 7
mov dword [esp], 0x1011ed9d
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
mov dword [esi + 0x1a8], 9
mov dword [esp], 0x1011ed9d
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
mov dword [esi + 0x1a8], 0xb
mov dword [esp], 0x1011ed9d
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
mov dword [esi + 0x1a8], 5
mov dword [esp], 0x1011ed9d
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
nop word [eax + eax]
push ebp
sub esp, 0x24
lea esi, [ebp - 0x1ac]
mov ebp, dword [esi + 0x198]
lea ecx, [esi + 0x80]
call fcn.100029d0
add esp, 0x24
pop ebp
ret