Function at 0x100706b0
Capabilities:
Encode data using xor
Hash data using fnv
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
mov eax, 0x18b8
call fcn.100f1fd0
mov dword [ebp - 0x5c], ecx
mov edx, dword [ebp + 8]
mov dword [ebp - 0x1c], esp
mov dword [ebp - 0x10], 0xffffffff
lea eax, [ebp - 0x18]
mov dword [ebp - 0x14], 0x1007d920
mov ecx, dword fs:[0]
mov dword [ebp - 0x18], ecx
mov dword fs:[0], eax
mov esi, dword [edx + 4]
mov ebx, dword [esi + 0x14]
cmp ebx, 3
jae 0x100712f3
mov eax, dword [edx]
mov edx, dword [eax]
mov eax, dword [edx + 0x2950]
mov ecx, dword [eax]
mov eax, dword [0x10132ba0]
test al, 1
je 0x100712f8
mov edi, dword [0x10132b9c]
imul eax, ebx, 0x1b50
add eax, esi
add eax, 0x35c
mov dword [ebp - 0x74], eax
mov eax, dword [edi + 4]
mov eax, dword [eax + edx]
mov dword [ebp - 0x28], eax
add ecx, dword [ecx + 0xb0]
mov dword [ebp - 0x24], ecx
mov eax, dword [ebp - 0x5c]
add eax, 0x3c
mov dword [ebp - 0x64], eax
mov esi, 1
xor eax, eax
xor edx, edx
jmp 0x1007075b
inc eax
nop
inc edx
mov esi, dword [ebp - 0x20]
add esi, esi
cmp edx, 6
je 0x1007079e
cmp edx, 2
mov dword [ebp - 0x20], esi
je 0x1007076a
mov ecx, esi
and ecx, dword [ebp + 0xc]
je 0x10070750
test dword [ebp + 0x10], esi
je 0x1007074e
lea ecx, [edx + edx*2]
mov edi, dword [ebp - 0x64]
mov esi, dword [edi + ecx*4]
mov edi, dword [edi + ecx*4 + 4]
jmp 0x10070785
add eax, ebx
add esi, 4
cmp esi, edi
je 0x10070750
mov ecx, dword [esi]
mov ebx, 1
cmp ecx, 0xc
ja 0x10070780
mov ebx, dword [ecx*4 + 0x100fdff8]
jmp 0x10070780
mov dword [ebp - 0x18c0], eax
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 0x14]
sub ecx, dword [edx + 0xc]
add edx, 0xc
mov dword [ebp - 0x6c], edx
sar ecx, 2
imul ecx, ecx, 0xc4ec4ec5
cmp ecx, eax
jae 0x100707e1
mov dword [ebp - 0x10], 0xffffffff
cmp eax, 0x4ec4ec5
jae 0x100713d5
lea eax, [ebp - 0x18c0]
mov ecx, dword [ebp - 0x6c]
push eax
call fcn.1007cfc0
mov eax, dword [0x1012d320]
mov ecx, dword [eax + 0x1c8]
mov eax, dword [0x1012d47c]
test al, 1
je 0x1007136b
mov edi, dword [0x1012d478]
mov eax, dword [ebp - 0x28]
lea esi, [eax + eax*2]
mov eax, dword [edi + 4]
movzx eax, word [eax + ecx]
mov word [ebp - 0x3a], ax
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0x34]
test eax, eax
je 0x10070829
push eax
call dword [sym.imp.USER32.dll_GetKeyState]
movzx eax, ax
shr eax, 0xf
jmp 0x1007082b
xor eax, eax
mov ecx, dword [ebp - 0x24]
lea ecx, [ecx + esi*4]
mov dword [ebp - 0x78], ecx
xor ebx, ebx
cmp word [ebp - 0x3a], 0x1f
setne bl
sete cl
vmovd xmm0, eax
vmovd xmm1, ecx
vpor xmm0, xmm1, xmm0
vpbroadcastw xmm0, xmm0
vpsllw xmm0, xmm0, 0xf
vpacksswb xmm0, xmm0, xmm0
vpmovmskb edx, xmm0
or cl, al
mov dword [ebp - 0x7c], ecx
mov eax, edx
and al, 2
shr al, 1
mov byte [ebp - 0x24], al
mov eax, edx
and al, 4
shr al, 2
mov byte [ebp - 0x28], al
mov eax, edx
and al, 8
shr al, 3
mov byte [ebp - 0x2c], al
mov eax, edx
and al, 0x10
shr al, 4
mov byte [ebp - 0x38], al
mov eax, edx
and al, 0x20
shr al, 5
mov byte [ebp - 0x34], al
mov eax, edx
and al, 0x40
shr al, 6
mov byte [ebp - 0x58], al
mov dword [ebp - 0x20], edx
mov eax, edx
shr al, 7
mov byte [ebp - 0x2d], al
xor ebx, 3
xor edi, edi
jmp 0x100708ca
inc edi
cmp edi, 6
je 0x10070f06
mov eax, 1
shlx ecx, eax, edi
cmp edi, 2
je 0x100708e0
mov eax, ecx
and eax, dword [ebp + 0xc]
je 0x100708c0
lea eax, [edi + edi*2]
test dword [ebp + 0x10], ecx
mov dword [ebp - 0x70], edi
je 0x1007099e
xor ecx, ecx
test edi, edi
sete cl
mov edx, dword [ebp - 0x5c]
vcvtsi2ss xmm0, xmm6, dword [edx + ecx*4 + 0xc]
vdivss xmm0, xmm0, dword [0x100f55f0]
vmovss dword [ebp - 0x68], xmm0
mov ecx, dword [ebp - 0x64]
mov esi, dword [ecx + eax*4]
mov eax, dword [ecx + eax*4 + 4]
mov dword [ebp - 0x60], eax
cmp esi, eax
jne 0x10070938
jmp 0x100709b0
add esi, 4
cmp esi, dword [ebp - 0x60]
je 0x100709b0
cmp word [ebp - 0x3a], 0x1f
setne dl
mov eax, dword [esi]
cmp eax, 3
sete dh
mov edi, dword [ebp - 0x78]
mov ecx, dword [edi + 8]
add ecx, edi
je 0x10070930
or dl, dh
je 0x10070930
mov edx, eax
shl edx, 6
lea edi, [edx + eax*4]
lea edx, [ecx + edi]
mov ecx, dword [ecx + edi]
lea ecx, [ecx + ecx*2]
shl ecx, 4
add ecx, dword [ebp - 0x74]
mov dword [ebp - 0x10], 0xffffffff
sub esp, 0x14
vmovss xmm0, dword [ebp - 0x68]
vmovss dword [esp + 0x10], xmm0
mov dword [esp + 0xc], ecx
mov dword [esp + 8], eax
mov dword [esp + 4], edx
mov eax, dword [ebp + 8]
mov dword [esp], eax
mov ecx, dword [ebp - 0x5c]
call fcn.1006fa30
jmp 0x10070930
mov ecx, dword [ebp - 0x64]
mov esi, dword [ecx + eax*4]
mov eax, dword [ecx + eax*4 + 4]
mov dword [ebp - 0x60], eax
cmp esi, eax
jne 0x10070a18
nop
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xc]
mov eax, dword [eax + 0x10]
cmp ecx, eax
mov edi, dword [ebp - 0x70]
je 0x100708c0
mov edx, eax
sub edx, ecx
add edx, 0xffffffcc
mov esi, 0x4ec4ec4f
mulx esi, esi, esi
cmp edx, 0x64c
jae 0x10070b69
mov edx, ecx
jmp 0x10070efb
mov dword [ebp - 0x10], 0xffffffff
mov ecx, dword [ebp - 0x6c]
lea edi, [ebp - 0x54]
push edi
push edx
push esi
lea edx, [ebp - 0x3b]
push edx
lea edx, [ebp - 0x18c0]
push edx
push eax
call fcn.1007d080
nop dword [eax]
add esi, 4
cmp esi, dword [ebp - 0x60]
je 0x100709b0
cmp word [ebp - 0x3a], 0x1f
setne dl
mov ecx, dword [esi]
cmp ecx, 3
sete dh
mov edi, dword [ebp - 0x78]
mov eax, dword [edi + 8]
add eax, edi
je 0x10070a10
or dl, dh
je 0x10070a10
mov edx, ecx
shl edx, 6
lea ecx, [edx + ecx*4]
mov dword [ebp - 0x18b8], 0
vxorps xmm5, xmm5, xmm5
vmovlps qword [ebp - 0x18c0], xmm5
mov edx, dword [eax + ecx]
lea edx, [edx + edx*2]
vmovss xmm0, dword [eax + ecx + 0x10]
vaddss xmm0, xmm0, dword [eax + ecx + 0x1c]
shl edx, 4
vmovss xmm1, dword [eax + ecx + 0xc]
vaddss xmm1, xmm1, dword [eax + ecx + 0x18]
vmovss xmm2, dword [eax + ecx + 8]
vaddss xmm2, xmm2, dword [eax + ecx + 0x14]
vmovss xmm3, dword [0x100f54dc]
vmulss xmm0, xmm0, xmm3
vmulss xmm1, xmm1, xmm3
vmulss xmm2, xmm2, xmm3
mov edi, dword [ebp - 0x74]
vmulss xmm3, xmm1, dword [edi + edx + 4]
vfmadd231ss xmm3, xmm2, dword [edi + edx]
vfmadd231ss xmm3, xmm0, dword [edi + edx + 8]
vaddss xmm3, xmm3, dword [edi + edx + 0xc]
vmulss xmm4, xmm1, dword [edi + edx + 0x14]
vfmadd231ss xmm4, xmm2, dword [edi + edx + 0x10]
vfmadd231ss xmm4, xmm0, dword [edi + edx + 0x18]
vaddss xmm4, xmm4, dword [edi + edx + 0x1c]
vmulss xmm1, xmm1, dword [edi + edx + 0x24]
vfmadd231ss xmm1, xmm2, dword [edi + edx + 0x20]
vfmadd231ss xmm1, xmm0, dword [edi + edx + 0x28]
vaddss xmm0, xmm1, dword [edi + edx + 0x2c]
vmovss dword [ebp - 0x18c0], xmm3
vmovss dword [ebp - 0x18bc], xmm4
vmovss dword [ebp - 0x18b8], xmm0
mov dword [ebp - 0x54], 0
lea edx, [eax + ecx + 4]
mov byte [ebp - 0x3b], 1
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x10]
cmp eax, dword [ecx + 0x14]
je 0x100709e8
mov edx, dword [edx]
mov dword [ebp - 0x68], edx
mov edx, dword [esi]
mov edi, dword [ebp - 0x18b8]
mov dword [eax + 8], edi
vmovsd xmm0, qword [ebp - 0x18c0]
vmovsd qword [eax], xmm0
vmovups xmmword [eax + 0xc], xmm5
mov dword [eax + 0x1c], 0
mov word [eax + 0x20], 1
mov dword [eax + 0x24], 0
mov dword [eax + 0x28], edx
mov edx, dword [ebp - 0x68]
mov dword [eax + 0x2c], edx
mov dword [eax + 0x30], 0
add dword [ecx + 0x10], 0x34
jmp 0x10070a10
shr esi, 4
inc esi
mov dword [ebp - 0x60], esi
and esi, 0xffffffe0
imul edx, esi, 0x34
add edx, ecx
add ecx, 0x67c
mov edi, esi
jmp 0x10070b9f
add ecx, 0x680
add esi, 0xffffffe0
je 0x10070ee1
test byte [ebp - 0x20], 1
jne 0x10070cf0
cmp byte [ebp - 0x24], 0
jne 0x10070d00
cmp byte [ebp - 0x28], 0
jne 0x10070d10
cmp byte [ebp - 0x2c], 0
jne 0x10070d20
cmp byte [ebp - 0x38], 0
jne 0x10070d30
cmp byte [ebp - 0x34], 0
jne 0x10070d40
cmp byte [ebp - 0x58], 0
jne 0x10070d50
cmp byte [ebp - 0x2d], 0
jne 0x10070d60
test byte [ebp - 0x20], 1
jne 0x10070d70
cmp byte [ebp - 0x24], 0
jne 0x10070d80
cmp byte [ebp - 0x28], 0
jne 0x10070d90
cmp byte [ebp - 0x2c], 0
jne 0x10070da0
cmp byte [ebp - 0x38], 0
jne 0x10070db0
cmp byte [ebp - 0x34], 0
jne 0x10070dc0
cmp byte [ebp - 0x58], 0
jne 0x10070dd0
cmp byte [ebp - 0x2d], 0
jne 0x10070de0
test byte [ebp - 0x20], 1
jne 0x10070df0
cmp byte [ebp - 0x24], 0
jne 0x10070e00
cmp byte [ebp - 0x28], 0
jne 0x10070e10
cmp byte [ebp - 0x2c], 0
jne 0x10070e20
cmp byte [ebp - 0x38], 0
jne 0x10070e30
cmp byte [ebp - 0x34], 0
jne 0x10070e40
cmp byte [ebp - 0x58], 0
jne 0x10070e50
cmp byte [ebp - 0x2d], 0
jne 0x10070e60
test byte [ebp - 0x20], 1
jne 0x10070e70
cmp byte [ebp - 0x24], 0
jne 0x10070e80
cmp byte [ebp - 0x28], 0
jne 0x10070e90
cmp byte [ebp - 0x2c], 0
jne 0x10070ea0
cmp byte [ebp - 0x38], 0
jne 0x10070eb0
cmp byte [ebp - 0x34], 0
jne 0x10070ec0
cmp byte [ebp - 0x58], 0
jne 0x10070ecd
cmp byte [ebp - 0x2d], 0
je 0x10070b90
jmp 0x10070eda
mov dword [ecx - 0x64c], ebx
cmp byte [ebp - 0x24], 0
je 0x10070bb3
mov dword [ecx - 0x618], ebx
cmp byte [ebp - 0x28], 0
je 0x10070bbd
mov dword [ecx - 0x5e4], ebx
cmp byte [ebp - 0x2c], 0
je 0x10070bc7
mov dword [ecx - 0x5b0], ebx
cmp byte [ebp - 0x38], 0
je 0x10070bd1
mov dword [ecx - 0x57c], ebx
cmp byte [ebp - 0x34], 0
je 0x10070bdb
mov dword [ecx - 0x548], ebx
cmp byte [ebp - 0x58], 0
je 0x10070be5
mov dword [ecx - 0x514], ebx
cmp byte [ebp - 0x2d], 0
je 0x10070bef
mov dword [ecx - 0x4e0], ebx
test byte [ebp - 0x20], 1
je 0x10070bf9
mov dword [ecx - 0x4ac], ebx
cmp byte [ebp - 0x24], 0
je 0x10070c03
mov dword [ecx - 0x478], ebx
cmp byte [ebp - 0x28], 0
je 0x10070c0d
mov dword [ecx - 0x444], ebx
cmp byte [ebp - 0x2c], 0
je 0x10070c17
mov dword [ecx - 0x410], ebx
cmp byte [ebp - 0x38], 0
je 0x10070c21
mov dword [ecx - 0x3dc], ebx
cmp byte [ebp - 0x34], 0
je 0x10070c2b
mov dword [ecx - 0x3a8], ebx
cmp byte [ebp - 0x58], 0
je 0x10070c35
mov dword [ecx - 0x374], ebx
cmp byte [ebp - 0x2d], 0
je 0x10070c3f
mov dword [ecx - 0x340], ebx
test byte [ebp - 0x20], 1
je 0x10070c49
mov dword [ecx - 0x30c], ebx
cmp byte [ebp - 0x24], 0
je 0x10070c53
mov dword [ecx - 0x2d8], ebx
cmp byte [ebp - 0x28], 0
je 0x10070c5d
mov dword [ecx - 0x2a4], ebx
cmp byte [ebp - 0x2c], 0
je 0x10070c67
mov dword [ecx - 0x270], ebx
cmp byte [ebp - 0x38], 0
je 0x10070c71
mov dword [ecx - 0x23c], ebx
cmp byte [ebp - 0x34], 0
je 0x10070c7b
mov dword [ecx - 0x208], ebx
cmp byte [ebp - 0x58], 0
je 0x10070c85
mov dword [ecx - 0x1d4], ebx
cmp byte [ebp - 0x2d], 0
je 0x10070c8f
mov dword [ecx - 0x1a0], ebx
test byte [ebp - 0x20], 1
je 0x10070c99
mov dword [ecx - 0x16c], ebx
cmp byte [ebp - 0x24], 0
je 0x10070ca3
mov dword [ecx - 0x138], ebx
cmp byte [ebp - 0x28], 0
je 0x10070cad
mov dword [ecx - 0x104], ebx
cmp byte [ebp - 0x2c], 0
je 0x10070cb7
mov dword [ecx - 0xd0], ebx
cmp byte [ebp - 0x38], 0
je 0x10070cc1
mov dword [ecx - 0x9c], ebx
cmp byte [ebp - 0x34], 0
je 0x10070ccb
mov dword [ecx - 0x68], ebx
cmp byte [ebp - 0x58], 0
je 0x10070cd5
mov dword [ecx - 0x34], ebx
cmp byte [ebp - 0x2d], 0
je 0x10070b90
mov dword [ecx], ebx
jmp 0x10070b90
cmp dword [ebp - 0x60], edi
mov edi, dword [ebp - 0x70]
jne 0x10070efb
jmp 0x100708c0
add edx, 0x34
cmp edx, eax
je 0x100708c0
cmp byte [ebp - 0x7c], 0
je 0x10070ef0
mov dword [edx + 0x30], ebx
jmp 0x10070ef0
cmp byte [ebp + 0x14], 0
je 0x100712dd
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov ebx, dword [eax]
push 0x1844
push 0
lea eax, [ebp - 0x18c0]
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov eax, dword [0x10132be8]
test al, 1
je 0x100713da
mov edi, dword [0x10132be4]
mov eax, dword [edi + 4]
mov eax, dword [ebx + eax - 0x14]
test eax, eax
je 0x10070f5b
vmovss xmm0, dword [eax + 0x80]
vmovss dword [ebp - 0x18c0], xmm0
mov eax, dword [0x10132ba8]
test al, 1
je 0x10071438
mov edi, dword [0x10132ba4]
mov dword [ebp - 0x10], 0xffffffff
lea edx, [ebp - 0x18bc]
lea esi, [ebp - 0x18b0]
mov eax, dword [edi + 4]
mov ecx, dword [eax + ebx + 8]
mov dword [edx + 8], ecx
vmovsd xmm0, qword [eax + ebx]
vmovsd qword [edx], xmm0
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x28]
mov ecx, dword [eax + 8]
mov dword [esi + 8], ecx
vmovsd xmm0, qword [eax]
vmovsd qword [esi], xmm0
mov eax, dword [0x10132bb0]
test al, 1
je 0x10071496
mov edi, dword [0x10132bac]
lea edx, [ebp - 0x18a4]
mov eax, dword [edi + 4]
mov ecx, dword [eax + ebx + 8]
mov dword [edx + 8], ecx
vmovsd xmm0, qword [eax + ebx]
vmovsd qword [edx], xmm0
mov eax, dword [0x10132bb8]
test al, 1
je 0x100714f4
mov edi, dword [0x10132bb4]
lea edx, [ebp - 0x188c]
mov eax, dword [edi + 4]
mov ecx, dword [eax + ebx + 8]
mov dword [ebp - 0x1890], ecx
vmovsd xmm0, qword [eax + ebx]
vmovsd qword [ebp - 0x1898], xmm0
mov eax, dword [ebx + 0x26ac]
mov dword [ebp - 0x88], eax
mov eax, dword [ebx + 0x26b0]
mov dword [ebp - 0x84], eax
mov eax, dword [ebx + 0x2920]
shl eax, 4
lea eax, [eax + eax*2]
push eax
push dword [ebx + 0x2914]
push edx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [ebx + 0x2920]
mov dword [ebp - 0x8c], eax
mov eax, dword [ebx + 0x2690]
mov dword [ebp - 0x80], eax
mov ecx, dword [ebp + 8]
mov eax, dword [ecx]
mov esi, dword [ecx + 4]
mov ecx, dword [esi + 0x14]
mov dword [ebp - 0x20], ecx
mov ebx, dword [eax]
mov eax, dword [0x10132ba8]
test al, 1
je 0x10071552
mov edi, dword [0x10132ba4]
mov dword [ebp - 0x10], 0xffffffff
lea eax, [esi + 0x60]
mov ecx, dword [edi + 4]
mov edx, dword [eax + 8]
mov dword [ecx + ebx + 8], edx
vmovsd xmm0, qword [eax]
vmovsd qword [ecx + ebx], xmm0
mov edx, dword [0x1012d320]
mov ecx, ebx
push eax
call dword [edx + 0x18]
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0xc]
test eax, eax
je 0x100710f4
lea ecx, [esi + 0x6c]
mov dword [ebp - 0x2c], ecx
lea edx, [esi + 0x78]
vmovss xmm0, dword [ebx + 0x9920]
vmovss dword [ebp - 0x24], xmm0
vmovss xmm0, dword [ebx + 0x9924]
vmovss dword [ebp - 0x28], xmm0
mov edi, dword [0x1012d320]
mov ecx, eax
push edx
push dword [ebp - 0x2c]
call dword [edi + 0x28]
vmovss xmm0, dword [ebp - 0x24]
vmovss dword [ebx + 0x9920], xmm0
vmovss xmm0, dword [ebp - 0x28]
vmovss dword [ebx + 0x9924], xmm0
mov eax, dword [ebp - 0x20]
cmp eax, 3
jae 0x100712f3
imul edi, eax, 0x1b50
lea eax, [esi + edi]
add eax, 0x35c
mov dword [ebp - 0x20], eax
vmovss xmm0, dword [esi + edi + 0x1b60]
mov dword [ebp - 0x54], 0
vmovss dword [ebp - 0x50], xmm0
mov dword [ebp - 0x4c], 0
mov eax, dword [0x1012d320]
mov ecx, ebx
lea edx, [ebp - 0x54]
push edx
call dword [eax + 0x14]
mov eax, dword [esi + edi + 0x1b5c]
shl eax, 4
lea eax, [eax + eax*2]
push eax
push dword [ebp - 0x20]
push dword [ebx + 0x2914]
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [0x1012d320]
mov eax, dword [eax + 0x2c]
mov eax, dword [eax + 0xa]
mov eax, dword [eax]
mov dword [ebx + 0x2690], eax
mov ebx, dword [ebp + 8]
mov esi, dword [ebx + 0xc]
mov ecx, dword [ebx + 0x10]
cmp esi, ecx
mov edi, dword [ebp - 0x5c]
vmovd xmm1, dword [ebp + 0x20]
vmovss xmm2, dword [ebp + 0x1c]
vmovss xmm0, dword [ebp + 0x18]
je 0x100711d4
mov dword [ebp - 0x20], ecx
nop
sub esp, 0x18
vmovd dword [esp + 0x14], xmm1
vmovss dword [esp + 0x10], xmm2
vmovss dword [esp + 0xc], xmm0
mov dword [esp + 4], esi
mov dword [esp], ebx
mov dword [esp + 8], 0
mov ecx, edi
call fcn.1006dab0
vmovss xmm0, dword [ebp + 0x18]
vmovss xmm2, dword [ebp + 0x1c]
vmovd xmm1, dword [ebp + 0x20]
mov ecx, dword [ebp - 0x20]
add esi, 0x34
cmp esi, ecx
jne 0x10071190
mov eax, dword [ebx]
mov esi, dword [eax]
mov eax, dword [0x10132ba8]
test al, 1
je 0x100715b3
mov edi, dword [0x10132ba4]
lea edx, [ebp - 0x18bc]
lea ebx, [ebp - 0x188c]
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 eax, dword [0x1012d320]
mov ecx, esi
lea edx, [ebp - 0x18b0]
push edx
call dword [eax + 0x18]
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0xc]
test eax, eax
je 0x10071277
lea edx, [ebp - 0x1898]
vmovss xmm0, dword [esi + 0x9920]
vmovss dword [ebp - 0x20], xmm0
vmovss xmm0, dword [esi + 0x9924]
vmovss dword [ebp - 0x24], xmm0
mov edi, esi
mov esi, dword [0x1012d320]
mov ecx, eax
push edx
lea eax, [ebp - 0x18a4]
push eax
call dword [esi + 0x28]
mov esi, edi
vmovss xmm0, dword [ebp - 0x20]
vmovss dword [edi + 0x9920], xmm0
vmovss xmm0, dword [ebp - 0x24]
vmovss dword [edi + 0x9924], xmm0
vmovss xmm0, dword [ebp - 0x18c0]
mov dword [ebp - 0x54], 0
vmovss dword [ebp - 0x50], xmm0
mov dword [ebp - 0x4c], 0
mov eax, dword [0x1012d320]
mov ecx, esi
lea edx, [ebp - 0x54]
push edx
call dword [eax + 0x14]
mov eax, dword [ebp - 0x88]
mov dword [esi + 0x26ac], eax
mov eax, dword [ebp - 0x84]
mov dword [esi + 0x26b0], eax
mov eax, dword [ebp - 0x8c]
shl eax, 4
lea eax, [eax + eax*2]
push eax
push ebx
push dword [esi + 0x2914]
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [ebp - 0x80]
mov dword [esi + 0x2690], eax
mov eax, dword [ebp - 0x18]
mov dword fs:[0], eax
add esp, 0x18b8
pop esi
pop edi
pop ebx
pop ebp
ret 0x1c
call fcn.1007cfb0
mov dword [ebp - 0x58], edx
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x24], ecx
or eax, 1
mov dword [0x10132ba0], eax
mov eax, dword [0x1012d324]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x10], 0
lea ecx, [ebp - 0x18c0]
mov dword [ebp - 0x20], ecx
push str.CBaseAnimating__m_nHitboxSet
call fcn.100083b0
mov esi, dword [ebp - 0x18b0]
cmp dword [ebp - 0x18ac], 0x10
jb 0x10071346
mov eax, dword [ebp - 0x18c0]
mov dword [ebp - 0x20], eax
test esi, esi
je 0x10071611
mov eax, esi
and eax, 3
mov dword [ebp - 0x28], eax
cmp esi, 4
jae 0x10071622
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x1007166b
mov dword [ebp - 0x34], ecx
or eax, 1
mov dword [0x1012d47c], eax
mov eax, dword [0x1012d324]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x10], 2
lea ecx, [ebp - 0x18c0]
mov dword [ebp - 0x20], ecx
push str.CBaseAttributableItem__m_iItemDefinitionIndex
call fcn.100083b0
mov esi, dword [ebp - 0x18b0]
cmp dword [ebp - 0x18ac], 0x10
jb 0x100713b0
mov eax, dword [ebp - 0x18c0]
mov dword [ebp - 0x20], eax
test esi, esi
je 0x10071618
mov eax, esi
and eax, 3
mov dword [ebp - 0x2c], eax
cmp esi, 4
jae 0x100716fe
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x10071747
call fcn.1000c040
mov dword [ebp - 0x28], ebx
or eax, 1
mov dword [0x10132be8], eax
mov eax, dword [0x1012d324]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x10], 4
lea ecx, [ebp - 0x54]
mov dword [ebp - 0x20], ecx
push str.CCSPlayer__m_bIsScoped
call fcn.100083b0
mov esi, dword [ebp - 0x44]
cmp dword [ebp - 0x40], 0x10
jb 0x10071413
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x20], eax
test esi, esi
je 0x100717d4
mov eax, esi
and eax, 3
mov dword [ebp - 0x24], eax
cmp esi, 4
jae 0x10071810
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x10071859
mov dword [ebp - 0x28], ebx
or eax, 1
mov dword [0x10132ba8], eax
mov eax, dword [0x1012d324]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x10], 6
lea ecx, [ebp - 0x54]
mov dword [ebp - 0x20], ecx
push str.CBaseEntity__m_vecOrigin
call fcn.100083b0
mov esi, dword [ebp - 0x44]
cmp dword [ebp - 0x40], 0x10
jb 0x10071471
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x20], eax
test esi, esi
je 0x100717de
mov eax, esi
and eax, 3
mov dword [ebp - 0x24], eax
cmp esi, 4
jae 0x100718e0
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x10071929
mov dword [ebp - 0x28], ebx
or eax, 1
mov dword [0x10132bb0], eax
mov eax, dword [0x1012d324]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x10], 8
lea ecx, [ebp - 0x54]
mov dword [ebp - 0x20], ecx
push str.CBaseEntity__m_vecMins
call fcn.100083b0
mov esi, dword [ebp - 0x44]
cmp dword [ebp - 0x40], 0x10
jb 0x100714cf
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x20], eax
test esi, esi
je 0x100717e8
mov eax, esi
and eax, 3
mov dword [ebp - 0x24], eax
cmp esi, 4
jae 0x100719b7
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x10071a00
mov dword [ebp - 0x28], ebx
or eax, 1
mov dword [0x10132bb8], eax
mov eax, dword [0x1012d324]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x10], 0xa
lea ecx, [ebp - 0x54]
mov dword [ebp - 0x20], ecx
push str.CBaseEntity__m_vecMaxs
call fcn.100083b0
mov esi, dword [ebp - 0x44]
cmp dword [ebp - 0x40], 0x10
jb 0x1007152d
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x20], eax
test esi, esi
je 0x100717f2
mov eax, esi
and eax, 3
mov dword [ebp - 0x24], eax
cmp esi, 4
jae 0x10071a87
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x10071ad0
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x38], ebx
or eax, 1
mov dword [0x10132ba8], eax
mov eax, dword [0x1012d324]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x10], 0xc
lea ecx, [ebp - 0x54]
mov dword [ebp - 0x24], ecx
push str.CBaseEntity__m_vecOrigin
call fcn.100083b0
mov esi, dword [ebp - 0x44]
cmp dword [ebp - 0x40], 0x10
jb 0x1007158e
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x24], eax
test esi, esi
je 0x100717fc
mov eax, esi
and eax, 3
mov dword [ebp - 0x28], eax
cmp esi, 4
jae 0x10071b57
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x10071ba0
mov dword [ebp - 0x2c], esi
or eax, 1
mov dword [0x10132ba8], eax
mov eax, dword [0x1012d324]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x10], 0xe
lea ecx, [ebp - 0x54]
mov dword [ebp - 0x20], ecx
push str.CBaseEntity__m_vecOrigin
call fcn.100083b0
mov esi, dword [ebp - 0x44]
cmp dword [ebp - 0x40], 0x10
jb 0x100715ec
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x20], eax
test esi, esi
je 0x10071806
mov eax, esi
and eax, 3
mov dword [ebp - 0x24], eax
cmp esi, 4
jae 0x10071c31
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x10071c7a
mov ecx, 0x811c9dc5
jmp 0x10071688
mov ecx, 0x811c9dc5
jmp 0x10071764
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 0x10071631
cmp dword [ebp - 0x28], 0
je 0x10071688
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 0x10071676
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 0x10071d14
add ecx, ecx
mov ebx, dword [eax + ecx*4]
cmp esi, dword [edi + 0x18]
jne 0x100716c7
cmp dword [edi + 0x1c], 0x10
jb 0x100716b3
mov eax, dword [edi + 8]
jmp 0x100716b6
lea eax, [edi + 8]
push esi
push eax
push dword [ebp - 0x20]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100716d9
cmp edi, ebx
je 0x10071d14
mov edi, dword [edi + 4]
cmp esi, dword [edi + 0x18]
je 0x100716a8
jmp 0x100716c7
add edi, 0x20
lea ecx, [ebp - 0x18c0]
call fcn.100029d0
mov dword [0x10132b9c], edi
mov ecx, dword [ebp - 0x24]
mov esi, dword [ebp - 0x38]
mov ebx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x58]
jmp 0x10070718
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 0x1007170d
cmp dword [ebp - 0x2c], 0
je 0x10071764
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 - 0x2c], edi
jne 0x10071752
mov edx, dword [ebp - 0x38]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov edi, dword [eax + ecx*8 + 4]
cmp edi, dword [edx + 4]
je 0x10071d28
add ecx, ecx
mov ebx, dword [eax + ecx*4]
cmp esi, dword [edi + 0x18]
jne 0x100717a3
cmp dword [edi + 0x1c], 0x10
jb 0x1007178f
mov eax, dword [edi + 8]
jmp 0x10071792
lea eax, [edi + 8]
push esi
push eax
push dword [ebp - 0x20]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100717b5
cmp edi, ebx
je 0x10071d28
mov edi, dword [edi + 4]
cmp esi, dword [edi + 0x18]
je 0x10071784
jmp 0x100717a3
add edi, 0x20
lea ecx, [ebp - 0x18c0]
call fcn.100029d0
mov dword [0x1012d478], edi
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x34]
jmp 0x10070802
mov ecx, 0x811c9dc5
jmp 0x10071876
mov ecx, 0x811c9dc5
jmp 0x10071946
mov ecx, 0x811c9dc5
jmp 0x10071a1d
mov ecx, 0x811c9dc5
jmp 0x10071aed
mov ecx, 0x811c9dc5
jmp 0x10071bbd
mov ecx, 0x811c9dc5
jmp 0x10071c97
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 0x1007181f
cmp dword [ebp - 0x24], 0
je 0x10071876
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 - 0x24], edi
jne 0x10071864
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 0x10071d3c
add ecx, ecx
mov ebx, dword [eax + ecx*4]
cmp esi, dword [edi + 0x18]
jne 0x100718b5
cmp dword [edi + 0x1c], 0x10
jb 0x100718a1
mov eax, dword [edi + 8]
jmp 0x100718a4
lea eax, [edi + 8]
push esi
push eax
push dword [ebp - 0x20]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100718c7
cmp edi, ebx
je 0x10071d3c
mov edi, dword [edi + 4]
cmp esi, dword [edi + 0x18]
je 0x10071896
jmp 0x100718b5
add edi, 0x20
lea ecx, [ebp - 0x54]
call fcn.100029d0
mov dword [0x10132be4], edi
mov ebx, dword [ebp - 0x28]
jmp 0x10070f40
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 0x100718ef
cmp dword [ebp - 0x24], 0
je 0x10071946
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 - 0x24], edi
jne 0x10071934
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 0x10071d50
add ecx, ecx
mov ebx, dword [eax + ecx*4]
cmp esi, dword [edi + 0x18]
jne 0x10071985
cmp dword [edi + 0x1c], 0x10
jb 0x10071971
mov eax, dword [edi + 8]
jmp 0x10071974
lea eax, [edi + 8]
push esi
push eax
push dword [ebp - 0x20]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x10071997
cmp edi, ebx
je 0x10071d50
mov edi, dword [edi + 4]
cmp esi, dword [edi + 0x18]
je 0x10071966
jmp 0x10071985
add edi, 0x20
lea ecx, [ebp - 0x54]
call fcn.100029d0
mov dword [0x10132ba4], edi
mov dword [ebp - 0x10], 0xffffffff
mov ebx, dword [ebp - 0x28]
jmp 0x10070f75
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 0x100719c6
cmp dword [ebp - 0x24], 0
je 0x10071a1d
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 - 0x24], edi
jne 0x10071a0b
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 0x10071d64
add ecx, ecx
mov ebx, dword [eax + ecx*4]
cmp esi, dword [edi + 0x18]
jne 0x10071a5c
cmp dword [edi + 0x1c], 0x10
jb 0x10071a48
mov eax, dword [edi + 8]
jmp 0x10071a4b
lea eax, [edi + 8]
push esi
push eax
push dword [ebp - 0x20]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x10071a6e
cmp edi, ebx
je 0x10071d64
mov edi, dword [edi + 4]
cmp esi, dword [edi + 0x18]
je 0x10071a3d
jmp 0x10071a5c
add edi, 0x20
lea ecx, [ebp - 0x54]
call fcn.100029d0
mov dword [0x10132bac], edi
mov ebx, dword [ebp - 0x28]
jmp 0x10070fbc
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 0x10071a96
cmp dword [ebp - 0x24], 0
je 0x10071aed
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 - 0x24], edi
jne 0x10071adb
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 0x10071d78
add ecx, ecx
mov ebx, dword [eax + ecx*4]
cmp esi, dword [edi + 0x18]
jne 0x10071b2c
cmp dword [edi + 0x1c], 0x10
jb 0x10071b18
mov eax, dword [edi + 8]
jmp 0x10071b1b
lea eax, [edi + 8]
push esi
push eax
push dword [ebp - 0x20]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x10071b3e
cmp edi, ebx
je 0x10071d78
mov edi, dword [edi + 4]
cmp esi, dword [edi + 0x18]
je 0x10071b0d
jmp 0x10071b2c
add edi, 0x20
lea ecx, [ebp - 0x54]
call fcn.100029d0
mov dword [0x10132bb4], edi
mov ebx, dword [ebp - 0x28]
jmp 0x10070fe8
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 0x10071b66
cmp dword [ebp - 0x28], 0
je 0x10071bbd
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 - 0x28], edi
jne 0x10071bab
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 0x10071d8c
add ecx, ecx
mov ebx, dword [eax + ecx*4]
cmp esi, dword [edi + 0x18]
jne 0x10071bfc
cmp dword [edi + 0x1c], 0x10
jb 0x10071be8
mov eax, dword [edi + 8]
jmp 0x10071beb
lea eax, [edi + 8]
push esi
push eax
push dword [ebp - 0x24]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x10071c0e
cmp edi, ebx
je 0x10071d8c
mov edi, dword [edi + 4]
cmp esi, dword [edi + 0x18]
je 0x10071bdd
jmp 0x10071bfc
add edi, 0x20
lea ecx, [ebp - 0x54]
call fcn.100029d0
mov dword [0x10132ba4], edi
mov dword [ebp - 0x10], 0xffffffff
mov ebx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x34]
jmp 0x1007107b
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 0x10071c40
cmp dword [ebp - 0x24], 0
je 0x10071c97
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 - 0x24], edi
jne 0x10071c85
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 0x10071da0
add ecx, ecx
mov ebx, dword [eax + ecx*4]
cmp esi, dword [edi + 0x18]
jne 0x10071cd6
cmp dword [edi + 0x1c], 0x10
jb 0x10071cc2
mov eax, dword [edi + 8]
jmp 0x10071cc5
lea eax, [edi + 8]
push esi
push eax
push dword [ebp - 0x20]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x10071ce8
cmp edi, ebx
je 0x10071da0
mov edi, dword [edi + 4]
cmp esi, dword [edi + 0x18]
je 0x10071cb7
jmp 0x10071cd6
add edi, 0x20
lea ecx, [ebp - 0x54]
call fcn.100029d0
mov dword [0x10132ba4], edi
mov dword [ebp - 0x10], 0xffffffff
lea edx, [ebp - 0x18bc]
lea ebx, [ebp - 0x188c]
mov esi, dword [ebp - 0x2c]
jmp 0x100711f7
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], 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
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], 0xf
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, 0x18
add ebp, 0xc
lea ecx, [ebp - 0x18c0]
call fcn.100029d0
add esp, 0x18
pop ebp
ret