Function at 0x1015e210
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x102ce404
mov eax, dword fs:[0]
push eax
sub esp, 0x60
mov eax, dword [0x1066bbc0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x68], edi
mov dword [ebp - 4], 0
cmp byte [0x106ccd1c], 0
mov eax, dword [ebp + 0x1c]
mov edx, dword [ebp + 8]
mov esi, dword [ebp + 0x18]
je 0x1015e373
cmp eax, 0xf
lea ecx, [ebp + 8]
push 0xf
cmova ecx, edx
mov edx, esi
push str.BP_VH_Bigfoot_C
push ecx
call fcn.100f1270
add esp, 0xc
cmp eax, 0xffffffff
je 0x1015e36d
xorps xmm0, xmm0
mov ecx, edi
push 7
movups xmmword [edi], xmm0
push str.Bigfoot
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0
call fcn.10053700
lea ecx, [edi + 0x18]
mov byte [ebp - 4], 1
xorps xmm0, xmm0
push 7
movups xmmword [ecx], xmm0
push str.Bigfoot
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
call fcn.10053700
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x4c]
push 6
xorps xmm0, xmm0
mov dword [ebp - 0x3c], 0
push 0x10652dbc
movups xmmword [ebp - 0x4c], xmm0
mov dword [ebp - 0x38], 0
call fcn.10057a20
lea esi, [edi + 0x30]
mov dword [ebp - 0x2c], esi
lea eax, [ebp - 0x4c]
mov byte [ebp - 4], 3
push eax
lea ecx, [ebp - 0x28]
call fcn.10057400
sub esp, 0x18
mov byte [ebp - 4], 4
lea eax, [ebp - 0x28]
mov ecx, esp
push eax
call fcn.10057400
lea ecx, [ebp - 0x64]
call fcn.100fb940
add esp, 0x18
mov edx, eax
mov byte [ebp - 4], 5
mov ecx, esi
call fcn.10056bd0
lea ecx, [ebp - 0x64]
call fcn.100575c0
lea ecx, [ebp - 0x28]
call fcn.100575c0
lea ecx, [ebp - 0x4c]
call fcn.100575c0
movss xmm0, dword [0x106cdd60]
mov eax, dword [0x106d63e0]
movss dword [edi + 0x48], xmm0
movups xmm0, xmmword [0x106cbce0]
jmp 0x1015e9ac
mov eax, dword [ebp + 0x1c]
mov edx, dword [ebp + 8]
cmp byte [0x106cdf90], 0
je 0x1015e48b
cmp eax, 0xf
lea ecx, [ebp + 8]
push 7
cmova ecx, edx
mov edx, esi
push str.CoupeRB
push ecx
call fcn.100f1270
add esp, 0xc
cmp eax, 0xffffffff
je 0x1015e48b
xorps xmm0, xmm0
mov ecx, edi
push 7
movups xmmword [edi], xmm0
push str.CoupeRB
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0
call fcn.10053700
lea ecx, [edi + 0x18]
mov byte [ebp - 4], 6
xorps xmm0, xmm0
push 7
movups xmmword [ecx], xmm0
push str.CoupeRB
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
call fcn.10053700
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x4c]
push 0xa
xorps xmm0, xmm0
mov dword [ebp - 0x3c], 0
push 0x10652dcc
movups xmmword [ebp - 0x4c], xmm0
mov dword [ebp - 0x38], 0
call fcn.10057a20
lea esi, [edi + 0x30]
mov dword [ebp - 0x2c], esi
lea eax, [ebp - 0x4c]
mov byte [ebp - 4], 8
push eax
lea ecx, [ebp - 0x28]
call fcn.10057400
sub esp, 0x18
mov byte [ebp - 4], 9
lea eax, [ebp - 0x28]
mov ecx, esp
push eax
call fcn.10057400
lea ecx, [ebp - 0x64]
call fcn.100fb940
add esp, 0x18
mov edx, eax
mov byte [ebp - 4], 0xa
mov ecx, esi
call fcn.10056bd0
lea ecx, [ebp - 0x64]
call fcn.100575c0
lea ecx, [ebp - 0x28]
call fcn.100575c0
lea ecx, [ebp - 0x4c]
call fcn.100575c0
movss xmm0, dword [0x106cede4]
mov eax, dword [0x106d608c]
movss dword [edi + 0x48], xmm0
movups xmm0, xmmword [0x106cc300]
jmp 0x1015e9ac
cmp byte [0x106cbe8d], 0
je 0x1015e5a5
cmp dword [ebp + 0x1c], 0xf
lea ecx, [ebp + 8]
push 4
cmova ecx, dword [ebp + 8]
mov edx, esi
push str.BRDM
push ecx
call fcn.100f1270
add esp, 0xc
cmp eax, 0xffffffff
je 0x1015e5a5
xorps xmm0, xmm0
mov ecx, edi
push 4
movups xmmword [edi], xmm0
push str.BRDM
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0
call fcn.10053700
lea ecx, [edi + 0x18]
mov byte [ebp - 4], 0xb
xorps xmm0, xmm0
push 4
movups xmmword [ecx], xmm0
push str.BRDM
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
call fcn.10053700
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x4c]
push 7
xorps xmm0, xmm0
mov dword [ebp - 0x3c], 0
push 0x10652e44
movups xmmword [ebp - 0x4c], xmm0
mov dword [ebp - 0x38], 0
call fcn.10057a20
lea esi, [edi + 0x30]
mov dword [ebp - 0x2c], esi
lea eax, [ebp - 0x4c]
mov byte [ebp - 4], 0xd
push eax
lea ecx, [ebp - 0x28]
call fcn.10057400
sub esp, 0x18
mov byte [ebp - 4], 0xe
lea eax, [ebp - 0x28]
mov ecx, esp
push eax
call fcn.10057400
lea ecx, [ebp - 0x64]
call fcn.100fb940
add esp, 0x18
mov edx, eax
mov byte [ebp - 4], 0xf
mov ecx, esi
call fcn.10056bd0
lea ecx, [ebp - 0x64]
call fcn.100575c0
lea ecx, [ebp - 0x28]
call fcn.100575c0
lea ecx, [ebp - 0x4c]
call fcn.100575c0
movss xmm0, dword [0x106cc1fc]
mov eax, dword [0x106d6144]
movss dword [edi + 0x48], xmm0
movups xmm0, xmmword [0x106cdedc]
jmp 0x1015e9ac
cmp byte [0x106cccee], 0
mov eax, dword [ebp + 8]
je 0x1015e65a
cmp dword [ebp + 0x1c], 0xf
lea ecx, [ebp + 8]
cmova ecx, eax
mov dword [ebp - 0x2c], ecx
cmp esi, 7
jb 0x1015e65a
lea eax, [ecx - 6]
add eax, esi
mov dword [ebp - 0x30], eax
sub eax, ecx
push eax
push 0x53
push ecx
call sub.VCRUNTIME140.dll_memchr
mov ecx, eax
add esp, 0xc
test ecx, ecx
je 0x1015e657
nop word [eax + eax]
mov edx, ecx
mov esi, str.Scooter
mov edi, 3
mov eax, dword [edx]
cmp eax, dword [esi]
jne 0x1015e60b
add edx, 4
add esi, 4
or edi, 0xffffffff
mov al, byte [edx]
cmp al, byte [esi]
jne 0x1015e632
mov al, byte [edx + 1]
cmp al, byte [esi + 1]
jne 0x1015e632
mov al, byte [edx + 2]
cmp al, byte [esi + 2]
jne 0x1015e632
cmp edi, 0xffffffff
je 0x1015e62e
mov al, byte [edx + 3]
cmp al, byte [esi + 3]
jne 0x1015e632
xor eax, eax
jmp 0x1015e637
sbb eax, eax
or eax, 1
test eax, eax
je 0x1015e6fb
mov eax, dword [ebp - 0x30]
inc ecx
sub eax, ecx
push eax
push 0x53
push ecx
call sub.VCRUNTIME140.dll_memchr
mov ecx, eax
add esp, 0xc
test ecx, ecx
jne 0x1015e5f0
mov eax, dword [ebp + 8]
cmp byte [0x106cc418], 0
mov esi, dword [ebp + 0x18]
je 0x1015ea30
cmp dword [ebp + 0x1c], 0xf
lea ecx, [ebp + 8]
cmova ecx, eax
mov dword [ebp - 0x30], ecx
cmp esi, 0xf
jb 0x1015e81d
lea eax, [esi - 0xe]
add eax, ecx
mov dword [ebp - 0x2c], eax
sub eax, ecx
push eax
push 0x56
push ecx
call sub.VCRUNTIME140.dll_memchr
mov edi, eax
add esp, 0xc
test edi, edi
je 0x1015e81d
mov ecx, edi
mov edx, str.VH_Motorcycle_C
mov esi, 0xb
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x1015e6c1
add ecx, 4
add edx, 4
sub esi, 4
jae 0x1015e6b0
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x1015e7f1
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x1015e7f1
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x1015e7f1
cmp esi, 0xffffffff
je 0x1015e6f4
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x1015e7f1
xor eax, eax
jmp 0x1015e7f6
sub ecx, dword [ebp - 0x2c]
cmp ecx, 0xffffffff
je 0x1015e657
mov edi, dword [ebp - 0x34]
xorps xmm0, xmm0
push 7
push str.Scooter
mov ecx, edi
movups xmmword [edi], xmm0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0
call fcn.10053700
lea ecx, [edi + 0x18]
mov byte [ebp - 4], 0x10
xorps xmm0, xmm0
push 7
movups xmmword [ecx], xmm0
push str.Scooter
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
call fcn.10053700
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x4c]
push 8
xorps xmm0, xmm0
mov dword [ebp - 0x3c], 0
push 0x10652e54
movups xmmword [ebp - 0x4c], xmm0
mov dword [ebp - 0x38], 0
call fcn.10057a20
lea esi, [edi + 0x30]
mov dword [ebp - 0x2c], esi
lea eax, [ebp - 0x4c]
mov byte [ebp - 4], 0x12
push eax
lea ecx, [ebp - 0x28]
call fcn.10057400
sub esp, 0x18
mov byte [ebp - 4], 0x13
lea eax, [ebp - 0x28]
mov ecx, esp
push eax
call fcn.10057400
lea ecx, [ebp - 0x64]
call fcn.100fb940
add esp, 0x18
mov edx, eax
mov byte [ebp - 4], 0x14
mov ecx, esi
call fcn.10056bd0
lea ecx, [ebp - 0x64]
call fcn.100575c0
lea ecx, [ebp - 0x28]
call fcn.100575c0
lea ecx, [ebp - 0x4c]
call fcn.100575c0
movss xmm0, dword [0x106cec50]
mov eax, dword [0x106d6088]
movss dword [edi + 0x48], xmm0
movups xmm0, xmmword [0x106ced30]
jmp 0x1015e9ac
sbb eax, eax
or eax, 1
test eax, eax
je 0x1015e8bb
mov eax, dword [ebp - 0x2c]
inc edi
sub eax, edi
push eax
push 0x56
push edi
call sub.VCRUNTIME140.dll_memchr
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x1015e6a0
mov esi, dword [ebp + 0x18]
cmp dword [ebp + 0x1c], 0xf
lea ecx, [ebp + 8]
mov edx, dword [ebp + 8]
cmova ecx, edx
mov dword [ebp - 0x30], ecx
cmp esi, 0x11
jb 0x1015ea33
lea eax, [ecx - 0x10]
add eax, esi
mov dword [ebp - 0x2c], eax
sub eax, ecx
push eax
push 0x56
push ecx
call sub.VCRUNTIME140.dll_memchr
mov edi, eax
add esp, 0xc
test edi, edi
je 0x1015ea30
nop word [eax + eax]
mov ecx, edi
mov edx, str.VH_Motorcycle_1_C
mov esi, 0xd
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x1015e881
add ecx, 4
add edx, 4
sub esi, 4
jae 0x1015e870
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x1015ea04
cmp esi, 0xfffffffd
je 0x1015e8b4
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x1015ea04
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x1015ea04
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x1015ea04
xor eax, eax
jmp 0x1015ea09
sub edi, dword [ebp - 0x30]
cmp edi, 0xffffffff
je 0x1015e81a
mov edi, dword [ebp - 0x34]
xorps xmm0, xmm0
push 0xa
push str.Motorcycle
mov ecx, edi
movups xmmword [edi], xmm0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0
call fcn.10053700
lea ecx, [edi + 0x18]
mov byte [ebp - 4], 0x15
xorps xmm0, xmm0
push 0xa
movups xmmword [ecx], xmm0
push str.Motorcycle
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
call fcn.10053700
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x4c]
push 0xc
xorps xmm0, xmm0
mov dword [ebp - 0x3c], 0
push 0x10652e28
movups xmmword [ebp - 0x4c], xmm0
mov dword [ebp - 0x38], 0
call fcn.10057a20
lea esi, [edi + 0x30]
mov dword [ebp - 0x2c], esi
lea eax, [ebp - 0x4c]
mov byte [ebp - 4], 0x17
push eax
lea ecx, [ebp - 0x28]
call fcn.10057400
sub esp, 0x18
mov byte [ebp - 4], 0x18
lea eax, [ebp - 0x28]
mov ecx, esp
push eax
call fcn.10057400
lea ecx, [ebp - 0x64]
call fcn.100fb940
add esp, 0x18
mov byte [ebp - 4], 0x19
mov edx, eax
mov ecx, esi
call fcn.10056bd0
lea ecx, [ebp - 0x64]
call fcn.100575c0
lea ecx, [ebp - 0x28]
call fcn.100575c0
lea ecx, [ebp - 0x4c]
call fcn.100575c0
movss xmm0, dword [0x106cd7f0]
mov eax, dword [0x106d62f8]
movss dword [edi + 0x48], xmm0
movups xmm0, xmmword [0x106ce460]
mov ecx, dword [ebp + 0x1c]
mov dword [edi + 0x5c], eax
movups xmmword [edi + 0x4c], xmm0
cmp ecx, 0xf
jbe 0x1015e9e7
mov edx, dword [ebp + 8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1015e9dd
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1015f941
push ecx
push edx
call fcn.102c1b57
add esp, 8
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.102c15f2
mov esp, ebp
pop ebp
ret
sbb eax, eax
or eax, 1
test eax, eax
je 0x1015eadb
mov eax, dword [ebp - 0x2c]
inc edi
sub eax, edi
push eax
push 0x56
push edi
call sub.VCRUNTIME140.dll_memchr
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x1015e860
mov esi, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp byte [0x106ce9e1], 0
mov eax, dword [ebp + 0x1c]
je 0x1015ebc3
cmp eax, 0xf
lea ecx, [ebp + 8]
cmova ecx, edx
mov dword [ebp - 0x30], ecx
cmp esi, 0xe
jb 0x1015ebc3
lea eax, [ecx - 0xd]
add eax, esi
mov dword [ebp - 0x2c], eax
sub eax, ecx
push eax
push 0x4d
push ecx
call sub.VCRUNTIME140.dll_memchr
mov edi, eax
add esp, 0xc
test edi, edi
je 0x1015ebc0
nop dword [eax + eax]
mov ecx, edi
mov edx, str.MotorcycleCart
mov esi, 0xa
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x1015eaa1
add ecx, 4
add edx, 4
sub esi, 4
jae 0x1015ea90
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x1015eb97
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x1015eb97
cmp esi, 0xfffffffe
je 0x1015ead4
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x1015eb97
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x1015eb97
xor eax, eax
jmp 0x1015eb9c
sub edi, dword [ebp - 0x30]
cmp edi, 0xffffffff
je 0x1015ea2d
mov edi, dword [ebp - 0x34]
xorps xmm0, xmm0
push 0xa
push str.Motorcycle
mov ecx, edi
movups xmmword [edi], xmm0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0
call fcn.10053700
lea ecx, [edi + 0x18]
mov byte [ebp - 4], 0x1a
xorps xmm0, xmm0
push 0xa
movups xmmword [ecx], xmm0
push str.Motorcycle
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
call fcn.10053700
mov byte [ebp - 4], 0x1b
lea ecx, [ebp - 0x4c]
push 0xc
xorps xmm0, xmm0
mov dword [ebp - 0x3c], 0
push 0x10652e28
movups xmmword [ebp - 0x4c], xmm0
mov dword [ebp - 0x38], 0
call fcn.10057a20
lea esi, [edi + 0x30]
mov dword [ebp - 0x2c], esi
lea eax, [ebp - 0x4c]
mov byte [ebp - 4], 0x1c
push eax
lea ecx, [ebp - 0x28]
call fcn.10057400
sub esp, 0x18
mov byte [ebp - 4], 0x1d
lea eax, [ebp - 0x28]
mov ecx, esp
push eax
call fcn.10057400
lea ecx, [ebp - 0x64]
call fcn.100fb940
add esp, 0x18
mov byte [ebp - 4], 0x1e
jmp 0x1015e972
sbb eax, eax
or eax, 1
test eax, eax
je 0x1015ec6b
mov eax, dword [ebp - 0x2c]
inc edi
sub eax, edi
push eax
push 0x4d
push edi
call sub.VCRUNTIME140.dll_memchr
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x1015ea80
mov eax, dword [ebp + 0x1c]
cmp byte [0x106ceaac], 0
mov edi, dword [ebp + 8]
je 0x1015ed8d
cmp eax, 0xf
lea ecx, [ebp + 8]
mov eax, dword [ebp + 0x18]
cmova ecx, edi
mov dword [ebp - 0x30], ecx
cmp eax, 0xa
jb 0x1015ed90
add eax, 0xfffffff7
add eax, ecx
mov dword [ebp - 0x2c], eax
sub eax, ecx
push eax
push 0x53
push ecx
call sub.VCRUNTIME140.dll_memchr
mov edi, eax
add esp, 0xc
test edi, edi
je 0x1015ed8a
nop dword [eax + eax]
mov ecx, edi
mov edx, str.Snowmobile
mov esi, 6
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x1015ec31
add ecx, 4
add edx, 4
sub esi, 4
jae 0x1015ec20
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x1015ed61
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x1015ed61
cmp esi, 0xfffffffe
je 0x1015ec64
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x1015ed61
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x1015ed61
xor eax, eax
jmp 0x1015ed66
sub edi, dword [ebp - 0x30]
cmp edi, 0xffffffff
je 0x1015ebc0
mov edi, dword [ebp - 0x34]
xorps xmm0, xmm0
push 0xe
push str.MotorcycleCart
mov ecx, edi
movups xmmword [edi], xmm0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0
call fcn.10053700
lea ecx, [edi + 0x18]
mov byte [ebp - 4], 0x1f
xorps xmm0, xmm0
push 0xe
movups xmmword [ecx], xmm0
push str.MotorcycleCart
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
call fcn.10053700
mov byte [ebp - 4], 0x20
lea ecx, [ebp - 0x4c]
push 0x13
xorps xmm0, xmm0
mov dword [ebp - 0x3c], 0
push 0x10652eb0
movups xmmword [ebp - 0x4c], xmm0
mov dword [ebp - 0x38], 0
call fcn.10057a20
lea esi, [edi + 0x30]
mov dword [ebp - 0x2c], esi
lea eax, [ebp - 0x4c]
mov byte [ebp - 4], 0x21
push eax
lea ecx, [ebp - 0x28]
call fcn.10057400
sub esp, 0x18
mov byte [ebp - 4], 0x22
lea eax, [ebp - 0x28]
mov ecx, esp
push eax
call fcn.10057400
lea ecx, [ebp - 0x64]
call fcn.100fb940
add esp, 0x18
mov edx, eax
mov byte [ebp - 4], 0x23
mov ecx, esi
call fcn.10056bd0
lea ecx, [ebp - 0x64]
call fcn.100575c0
lea ecx, [ebp - 0x28]
call fcn.100575c0
lea ecx, [ebp - 0x4c]
call fcn.100575c0
movss xmm0, dword [0x106cd064]
mov eax, dword [0x106d63a8]
movss dword [edi + 0x48], xmm0
movups xmm0, xmmword [0x106cc8ac]
jmp 0x1015e9ac
sbb eax, eax
or eax, 1
test eax, eax
je 0x1015edfa
mov eax, dword [ebp - 0x2c]
inc edi
sub eax, edi
push eax
push 0x53
push edi
call sub.VCRUNTIME140.dll_memchr
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x1015ec10
mov edi, dword [ebp + 8]
mov eax, dword [ebp + 0x18]
cmp byte [0x106cdbc4], 0
mov edx, dword [ebp + 0x1c]
je 0x1015ef18
cmp edx, 0xf
lea esi, [ebp + 8]
cmova esi, edi
cmp eax, 3
jb 0x1015ef18
lea edi, [esi + eax]
lea eax, [edi - 2]
sub eax, esi
push eax
push 0x54
push esi
call sub.VCRUNTIME140.dll_memchr
mov ecx, eax
add esp, 0xc
test ecx, ecx
je 0x1015ef15
movzx eax, byte [ecx]
cmp al, 0x54
jne 0x1015eeec
movzx eax, byte [ecx + 1]
cmp al, 0x75
jne 0x1015eeec
movzx eax, byte [ecx + 2]
cmp al, 0x6b
jne 0x1015eeec
xor eax, eax
jmp 0x1015eef1
sub edi, dword [ebp - 0x30]
cmp edi, 0xffffffff
je 0x1015ed8a
mov edi, dword [ebp - 0x34]
xorps xmm0, xmm0
push 0xa
push str.Snowmobile
mov ecx, edi
movups xmmword [edi], xmm0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0
call fcn.10053700
lea ecx, [edi + 0x18]
mov byte [ebp - 4], 0x24
xorps xmm0, xmm0
push 0xa
movups xmmword [ecx], xmm0
push str.Snowmobile
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
call fcn.10053700
mov byte [ebp - 4], 0x25
lea ecx, [ebp - 0x4c]
push 0xf
xorps xmm0, xmm0
mov dword [ebp - 0x3c], 0
push 0x10652e68
movups xmmword [ebp - 0x4c], xmm0
mov dword [ebp - 0x38], 0
call fcn.10057a20
lea esi, [edi + 0x30]
mov dword [ebp - 0x2c], esi
lea eax, [ebp - 0x4c]
mov byte [ebp - 4], 0x26
push eax
lea ecx, [ebp - 0x28]
call fcn.10057400
sub esp, 0x18
mov byte [ebp - 4], 0x27
lea eax, [ebp - 0x28]
mov ecx, esp
push eax
call fcn.10057400
lea ecx, [ebp - 0x64]
call fcn.100fb940
add esp, 0x18
mov edx, eax
mov byte [ebp - 4], 0x28
mov ecx, esi
call fcn.10056bd0
lea ecx, [ebp - 0x64]
call fcn.100575c0
lea ecx, [ebp - 0x28]
call fcn.100575c0
lea ecx, [ebp - 0x4c]
call fcn.100575c0
movss xmm0, dword [0x106cc79c]
mov eax, dword [0x106d5f9c]
movss dword [edi + 0x48], xmm0
movups xmm0, xmmword [0x106cebf4]
jmp 0x1015e9ac
sbb eax, eax
or eax, 1
test eax, eax
je 0x1015efb7
inc ecx
lea eax, [edi - 2]
sub eax, ecx
push eax
push 0x54
push ecx
call sub.VCRUNTIME140.dll_memchr
mov ecx, eax
add esp, 0xc
test ecx, ecx
jne 0x1015edd0
mov edx, dword [ebp + 0x1c]
cmp byte [0x106ce794], 0
mov eax, dword [ebp + 0x18]
je 0x1015f0d8
cmp edx, 0xf
lea ecx, [ebp + 8]
cmova ecx, dword [ebp + 8]
mov dword [ebp - 0x30], ecx
cmp eax, 5
jb 0x1015f0d8
add eax, 0xfffffffc
add eax, ecx
mov dword [ebp - 0x2c], eax
sub eax, ecx
push eax
push 0x42
push ecx
call sub.VCRUNTIME140.dll_memchr
mov ecx, eax
add esp, 0xc
test ecx, ecx
je 0x1015f0d5
nop
mov edx, ecx
mov esi, str.Buggy
mov edi, 1
mov eax, dword [edx]
cmp eax, dword [esi]
jne 0x1015ef7d
add edx, 4
mov edi, 0xfffffffd
add esi, 4
mov al, byte [edx]
cmp al, byte [esi]
jne 0x1015f0ac
cmp edi, 0xfffffffd
je 0x1015efb0
mov al, byte [edx + 1]
cmp al, byte [esi + 1]
jne 0x1015f0ac
mov al, byte [edx + 2]
cmp al, byte [esi + 2]
jne 0x1015f0ac
mov al, byte [edx + 3]
cmp al, byte [esi + 3]
jne 0x1015f0ac
xor eax, eax
jmp 0x1015f0b1
sub ecx, esi
cmp ecx, 0xffffffff
je 0x1015ef15
mov edi, dword [ebp - 0x34]
xorps xmm0, xmm0
push 3
push 0x103484a0
mov ecx, edi
movups xmmword [edi], xmm0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0
call fcn.10053700
lea ecx, [edi + 0x18]
mov byte [ebp - 4], 0x29
xorps xmm0, xmm0
push 3
movups xmmword [ecx], xmm0
push 0x103484a0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
call fcn.10053700
mov byte [ebp - 4], 0x2a
lea ecx, [ebp - 0x4c]
push 9
xorps xmm0, xmm0
mov dword [ebp - 0x3c], 0
push 0x10652e88
movups xmmword [ebp - 0x4c], xmm0
mov dword [ebp - 0x38], 0
call fcn.10057a20
lea esi, [edi + 0x30]
mov dword [ebp - 0x2c], esi
lea eax, [ebp - 0x4c]
mov byte [ebp - 4], 0x2b
push eax
lea ecx, [ebp - 0x28]
call fcn.10057400
sub esp, 0x18
mov byte [ebp - 4], 0x2c
lea eax, [ebp - 0x28]
mov ecx, esp
push eax
call fcn.10057400
lea ecx, [ebp - 0x64]
call fcn.100fb940
add esp, 0x18
mov edx, eax
mov byte [ebp - 4], 0x2d
mov ecx, esi
call fcn.10056bd0
lea ecx, [ebp - 0x64]
call fcn.100575c0
lea ecx, [ebp - 0x28]
call fcn.100575c0
lea ecx, [ebp - 0x4c]
call fcn.100575c0
movss xmm0, dword [0x106ccc6c]
mov eax, dword [0x106d62dc]
movss dword [edi + 0x48], xmm0
movups xmm0, xmmword [0x106ce1a8]
jmp 0x1015e9ac
sbb eax, eax
or eax, 1
test eax, eax
je 0x1015f156
mov eax, dword [ebp - 0x2c]
inc ecx
sub eax, ecx
push eax
push 0x42
push ecx
call sub.VCRUNTIME140.dll_memchr
mov ecx, eax
add esp, 0xc
test ecx, ecx
jne 0x1015ef60
mov eax, dword [ebp + 0x18]
cmp byte [0x106cc3f4], 0
je 0x1015f435
cmp dword [ebp + 0x1c], 0xf
lea edi, [ebp + 8]
cmova edi, dword [ebp + 8]
cmp eax, 4
jb 0x1015f27d
add eax, 0xfffffffd
add eax, edi
sub eax, edi
push eax
push 0x6f
push edi
call sub.VCRUNTIME140.dll_memchr
mov esi, eax
add esp, 0xc
test esi, esi
je 0x1015f27a
mov ecx, esi
mov edx, str.open
mov eax, dword [ecx]
cmp eax, dword [edx]
je 0x1015f14f
cmp al, byte [edx]
jne 0x1015f24c
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x1015f24c
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x1015f24c
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x1015f24c
xor eax, eax
jmp 0x1015f251
sub ecx, dword [ebp - 0x30]
cmp ecx, 0xffffffff
je 0x1015f0d5
mov edi, dword [ebp - 0x34]
xorps xmm0, xmm0
push 5
push str.Buggy
mov ecx, edi
movups xmmword [edi], xmm0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0
call fcn.10053700
lea ecx, [edi + 0x18]
mov byte [ebp - 4], 0x2e
xorps xmm0, xmm0
push 5
movups xmmword [ecx], xmm0
push str.Buggy
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
call fcn.10053700
mov byte [ebp - 4], 0x2f
lea ecx, [ebp - 0x4c]
push 5
xorps xmm0, xmm0
mov dword [ebp - 0x3c], 0
push 0x10652f08
movups xmmword [ebp - 0x4c], xmm0
mov dword [ebp - 0x38], 0
call fcn.10057a20
lea esi, [edi + 0x30]
mov dword [ebp - 0x2c], esi
lea eax, [ebp - 0x4c]
mov byte [ebp - 4], 0x30
push eax
lea ecx, [ebp - 0x28]
call fcn.10057400
sub esp, 0x18
mov byte [ebp - 4], 0x31
lea eax, [ebp - 0x28]
mov ecx, esp
push eax
call fcn.10057400
lea ecx, [ebp - 0x64]
call fcn.100fb940
add esp, 0x18
mov edx, eax
mov byte [ebp - 4], 0x32
mov ecx, esi
call fcn.10056bd0
lea ecx, [ebp - 0x64]
call fcn.100575c0
lea ecx, [ebp - 0x28]
call fcn.100575c0
lea ecx, [ebp - 0x4c]
call fcn.100575c0
movss xmm0, dword [0x106cced4]
mov eax, dword [0x106d6264]
movss dword [edi + 0x48], xmm0
movups xmm0, xmmword [0x106ceb74]
jmp 0x1015e9ac
sbb eax, eax
or eax, 1
test eax, eax
je 0x1015f317
mov eax, dword [ebp + 0x18]
inc esi
add eax, 0xfffffffd
add eax, edi
sub eax, esi
push eax
push 0x6f
push esi
call sub.VCRUNTIME140.dll_memchr
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x1015f116
mov eax, dword [ebp + 0x18]
mov edi, dword [ebp + 0x1c]
lea ecx, [ebp + 8]
cmp edi, 0xf
cmova ecx, dword [ebp + 8]
mov dword [ebp - 0x30], ecx
cmp eax, 5
jb 0x1015f438
add eax, 0xfffffffc
add eax, ecx
mov dword [ebp - 0x2c], eax
sub eax, ecx
push eax
push 0x63
push ecx
call sub.VCRUNTIME140.dll_memchr
mov ecx, eax
add esp, 0xc
test ecx, ecx
je 0x1015f438
nop word [eax + eax]
mov edx, ecx
mov esi, str.close
mov edi, 1
mov eax, dword [edx]
cmp eax, dword [esi]
jne 0x1015f2dd
add edx, 4
mov edi, 0xfffffffd
add esi, 4
mov al, byte [edx]
cmp al, byte [esi]
jne 0x1015f40c
cmp edi, 0xfffffffd
je 0x1015f310
mov al, byte [edx + 1]
cmp al, byte [esi + 1]
jne 0x1015f40c
mov al, byte [edx + 2]
cmp al, byte [esi + 2]
jne 0x1015f40c
mov al, byte [edx + 3]
cmp al, byte [esi + 3]
jne 0x1015f40c
xor eax, eax
jmp 0x1015f411
sub esi, edi
cmp esi, 0xffffffff
je 0x1015f27a
mov edi, dword [ebp - 0x34]
xorps xmm0, xmm0
push 0xb
push str.Sports_Open
mov ecx, edi
movups xmmword [edi], xmm0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0
call fcn.10053700
lea ecx, [edi + 0x18]
mov byte [ebp - 4], 0x33
xorps xmm0, xmm0
push 0xb
movups xmmword [ecx], xmm0
push str.Sports_Open
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
call fcn.10053700
mov byte [ebp - 4], 0x34
lea ecx, [ebp - 0x4c]
push 0x11
xorps xmm0, xmm0
mov dword [ebp - 0x3c], 0
push 0x10652ee4
movups xmmword [ebp - 0x4c], xmm0
mov dword [ebp - 0x38], 0
call fcn.10057a20
lea esi, [edi + 0x30]
mov dword [ebp - 0x2c], esi
lea eax, [ebp - 0x4c]
mov byte [ebp - 4], 0x35
push eax
lea ecx, [ebp - 0x28]
call fcn.10057400
sub esp, 0x18
mov byte [ebp - 4], 0x36
lea eax, [ebp - 0x28]
mov ecx, esp
push eax
call fcn.10057400
lea ecx, [ebp - 0x64]
call fcn.100fb940
add esp, 0x18
mov edx, eax
mov byte [ebp - 4], 0x37
mov ecx, esi
call fcn.10056bd0
lea ecx, [ebp - 0x64]
call fcn.100575c0
lea ecx, [ebp - 0x28]
call fcn.100575c0
lea ecx, [ebp - 0x4c]
call fcn.100575c0
movss xmm0, dword [0x106cc610]
mov eax, dword [0x106d62ac]
movss dword [edi + 0x48], xmm0
movups xmm0, xmmword [0x106cc84c]
jmp 0x1015e9ac
sbb eax, eax
or eax, 1
test eax, eax
je 0x1015f4d7
mov eax, dword [ebp - 0x2c]
inc ecx
sub eax, ecx
push eax
push 0x63
push ecx
call sub.VCRUNTIME140.dll_memchr
mov ecx, eax
add esp, 0xc
test ecx, ecx
jne 0x1015f2c0
mov edi, dword [ebp + 0x1c]
cmp byte [0x106cef50], 0
mov esi, dword [ebp + 8]
mov eax, dword [ebp + 0x18]
je 0x1015f5fc
cmp edi, 0xf
lea ecx, [ebp + 8]
cmova ecx, esi
mov dword [ebp - 0x30], ecx
cmp eax, 5
jb 0x1015f5fc
add eax, 0xfffffffc
add eax, ecx
mov dword [ebp - 0x2c], eax
sub eax, ecx
push eax
push 0x44
push ecx
call sub.VCRUNTIME140.dll_memchr
mov ecx, eax
add esp, 0xc
test ecx, ecx
je 0x1015f5f9
mov edx, ecx
mov esi, str.Dacia
mov edi, 1
mov eax, dword [edx]
cmp eax, dword [esi]
jne 0x1015f49d
add edx, 4
mov edi, 0xfffffffd
add esi, 4
mov al, byte [edx]
cmp al, byte [esi]
jne 0x1015f5cd
cmp edi, 0xfffffffd
je 0x1015f4d0
mov al, byte [edx + 1]
cmp al, byte [esi + 1]
jne 0x1015f5cd
mov al, byte [edx + 2]
cmp al, byte [esi + 2]
jne 0x1015f5cd
mov al, byte [edx + 3]
cmp al, byte [esi + 3]
jne 0x1015f5cd
xor eax, eax
jmp 0x1015f5d2
sub ecx, dword [ebp - 0x30]
cmp ecx, 0xffffffff
je 0x1015f435
mov edi, dword [ebp - 0x34]
xorps xmm0, xmm0
push 0xc
push str.Sports_Close
mov ecx, edi
movups xmmword [edi], xmm0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0
call fcn.10053700
lea ecx, [edi + 0x18]
mov byte [ebp - 4], 0x38
xorps xmm0, xmm0
push 0xc
movups xmmword [ecx], xmm0
push str.Sports_Close
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
call fcn.10053700
mov byte [ebp - 4], 0x39
lea ecx, [ebp - 0x4c]
push 0x11
xorps xmm0, xmm0
mov dword [ebp - 0x3c], 0
push 0x10652f1c
movups xmmword [ebp - 0x4c], xmm0
mov dword [ebp - 0x38], 0
call fcn.10057a20
lea esi, [edi + 0x30]
mov dword [ebp - 0x2c], esi
lea eax, [ebp - 0x4c]
mov byte [ebp - 4], 0x3a
push eax
lea ecx, [ebp - 0x28]
call fcn.10057400
sub esp, 0x18
mov byte [ebp - 4], 0x3b
lea eax, [ebp - 0x28]
mov ecx, esp
push eax
call fcn.10057400
lea ecx, [ebp - 0x64]
call fcn.100fb940
add esp, 0x18
mov edx, eax
mov byte [ebp - 4], 0x3c
mov ecx, esi
call fcn.10056bd0
lea ecx, [ebp - 0x64]
call fcn.100575c0
lea ecx, [ebp - 0x28]
call fcn.100575c0
lea ecx, [ebp - 0x4c]
call fcn.100575c0
movss xmm0, dword [0x106cc610]
mov eax, dword [0x106d6188]
movss dword [edi + 0x48], xmm0
movups xmm0, xmmword [0x106cc84c]
jmp 0x1015e9ac
sbb eax, eax
or eax, 1
test eax, eax
je 0x1015f680
mov eax, dword [ebp - 0x2c]
inc ecx
sub eax, ecx
push eax
push 0x44
push ecx
call sub.VCRUNTIME140.dll_memchr
mov ecx, eax
add esp, 0xc
test ecx, ecx
jne 0x1015f480
mov esi, dword [ebp + 8]
mov eax, dword [ebp + 0x18]
cmp byte [0x106cc94c], 0
mov edx, dword [ebp + 0x1c]
je 0x1015f7a7
cmp edx, 0xf
lea edi, [ebp + 8]
cmova edi, esi
cmp eax, 4
jb 0x1015f7a7
add eax, 0xfffffffd
add eax, edi
sub eax, edi
push eax
push 0x52
push edi
call sub.VCRUNTIME140.dll_memchr
mov esi, eax
add esp, 0xc
test esi, esi
je 0x1015f7a4
nop dword [eax + eax]
mov ecx, esi
mov edx, str.Rony
mov eax, dword [ecx]
cmp eax, dword [edx]
je 0x1015f679
cmp al, byte [edx]
jne 0x1015f776
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x1015f776
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x1015f776
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x1015f776
xor eax, eax
jmp 0x1015f77b
sub ecx, dword [ebp - 0x30]
cmp ecx, 0xffffffff
je 0x1015f5f6
mov edi, dword [ebp - 0x34]
xorps xmm0, xmm0
push 5
push str.Dacia
mov ecx, edi
movups xmmword [edi], xmm0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0
call fcn.10053700
lea ecx, [edi + 0x18]
mov byte [ebp - 4], 0x3d
xorps xmm0, xmm0
push 5
movups xmmword [ecx], xmm0
push str.Dacia
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
call fcn.10053700
mov byte [ebp - 4], 0x3e
lea ecx, [ebp - 0x4c]
push 7
xorps xmm0, xmm0
mov dword [ebp - 0x3c], 0
push 0x10652f40
movups xmmword [ebp - 0x4c], xmm0
mov dword [ebp - 0x38], 0
call fcn.10057a20
lea esi, [edi + 0x30]
mov dword [ebp - 0x2c], esi
lea eax, [ebp - 0x4c]
mov byte [ebp - 4], 0x3f
push eax
lea ecx, [ebp - 0x28]
call fcn.10057400
sub esp, 0x18
mov byte [ebp - 4], 0x40
lea eax, [ebp - 0x28]
mov ecx, esp
push eax
call fcn.10057400
lea ecx, [ebp - 0x64]
call fcn.100fb940
add esp, 0x18
mov edx, eax
mov byte [ebp - 4], 0x41
mov ecx, esi
call fcn.10056bd0
lea ecx, [ebp - 0x64]
call fcn.100575c0
lea ecx, [ebp - 0x28]
call fcn.100575c0
lea ecx, [ebp - 0x4c]
call fcn.100575c0
movss xmm0, dword [0x106cc1dc]
mov eax, dword [0x106d5fb8]
movss dword [edi + 0x48], xmm0
movups xmm0, xmmword [0x106cc3e0]
jmp 0x1015e9ac
sbb eax, eax
or eax, 1
test eax, eax
je 0x1015f81c
mov eax, dword [ebp + 0x18]
inc esi
add eax, 0xfffffffd
add eax, edi
sub eax, esi
push eax
push 0x52
push esi
call sub.VCRUNTIME140.dll_memchr
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x1015f640
mov edx, dword [ebp + 0x1c]
cmp byte [0x106cd279], 0
mov edi, dword [ebp + 8]
mov eax, dword [ebp + 0x18]
je 0x1015f998
cmp edx, 0xf
lea ecx, [ebp + 8]
cmova ecx, edi
mov dword [ebp - 0x30], ecx
cmp eax, 8
jb 0x1015f998
add eax, 0xfffffff9
add eax, ecx
mov dword [ebp - 0x2c], eax
sub eax, ecx
push eax
push 0x56
push ecx
call sub.VCRUNTIME140.dll_memchr
mov edi, eax
add esp, 0xc
test edi, edi
je 0x1015f992
nop
mov ecx, edi
mov edx, str.VH_UTV_C
mov esi, 4
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x1015f947
add ecx, 4
add edx, 4
sub esi, 4
jae 0x1015f800
xor eax, eax
jmp 0x1015f96e
sub esi, edi
cmp esi, 0xffffffff
je 0x1015f7a4
mov edi, dword [ebp - 0x34]
xorps xmm0, xmm0
push 4
push str.Rony
mov ecx, edi
movups xmmword [edi], xmm0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0
call fcn.10053700
lea ecx, [edi + 0x18]
mov byte [ebp - 4], 0x42
xorps xmm0, xmm0
push 4
movups xmmword [ecx], xmm0
push str.Rony
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
call fcn.10053700
mov byte [ebp - 4], 0x43
lea ecx, [ebp - 0x4c]
push 6
xorps xmm0, xmm0
mov dword [ebp - 0x3c], 0
push 0x10652f8c
movups xmmword [ebp - 0x4c], xmm0
mov dword [ebp - 0x38], 0
call fcn.10057a20
lea esi, [edi + 0x30]
mov dword [ebp - 0x2c], esi
lea eax, [ebp - 0x4c]
mov byte [ebp - 4], 0x44
push eax
lea ecx, [ebp - 0x28]
call fcn.10057400
sub esp, 0x18
mov byte [ebp - 4], 0x45
lea eax, [ebp - 0x28]
mov ecx, esp
push eax
call fcn.10057400
lea ecx, [ebp - 0x64]
call fcn.100fb940
add esp, 0x18
mov edx, eax
mov byte [ebp - 4], 0x46
mov ecx, esi
call fcn.10056bd0
lea ecx, [ebp - 0x64]
call fcn.100575c0
lea ecx, [ebp - 0x28]
call fcn.100575c0
lea ecx, [ebp - 0x4c]
call fcn.100575c0
movss xmm0, dword [0x106cc740]
mov eax, dword [0x106d6068]
movss dword [edi + 0x48], xmm0
movups xmm0, xmmword [0x106cdb80]
mov dword [edi + 0x5c], eax
movups xmmword [edi + 0x4c], xmm0
mov ecx, dword [ebp + 0x1c]
cmp ecx, 0xf
jbe 0x1015e9e7
mov edx, dword [ebp + 8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1015e9dd
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1015e9dd
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x1015f969
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x1015f969
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x1015f969
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x1015f969
xor eax, eax
jmp 0x1015f96e
sbb eax, eax
or eax, 1
test eax, eax
je 0x1015fa0a
mov eax, dword [ebp - 0x2c]
inc edi
sub eax, edi
push eax
push 0x56
push edi
call sub.VCRUNTIME140.dll_memchr
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x1015f7f0
mov eax, dword [ebp + 0x18]
mov edi, dword [ebp + 8]
cmp byte [0x106cc072], 0
mov edx, dword [ebp + 0x1c]
je 0x1015fb28
cmp edx, 0xf
lea esi, [ebp + 8]
cmova esi, edi
cmp eax, 3
jb 0x1015fb28
lea edi, [esi + eax]
lea eax, [edi - 2]
sub eax, esi
push eax
push 0x55
push esi
call sub.VCRUNTIME140.dll_memchr
mov ecx, eax
add esp, 0xc
test ecx, ecx
je 0x1015fb25
nop dword [eax + eax]
movzx eax, byte [ecx]
cmp al, 0x55
jne 0x1015fafc
movzx eax, byte [ecx + 1]
cmp al, 0x41
jne 0x1015fafc
movzx eax, byte [ecx + 2]
cmp al, 0x5a
jne 0x1015fafc
xor eax, eax
jmp 0x1015fb01
sub edi, dword [ebp - 0x30]
cmp edi, 0xffffffff
je 0x1015f992
mov edi, dword [ebp - 0x34]
xorps xmm0, xmm0
push 3
push 0x103485ac
mov ecx, edi
movups xmmword [edi], xmm0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0
call fcn.10053700
lea ecx, [edi + 0x18]
mov byte [ebp - 4], 0x47
xorps xmm0, xmm0
push 3
movups xmmword [ecx], xmm0
push 0x103485ac
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
call fcn.10053700
mov byte [ebp - 4], 0x48
lea ecx, [ebp - 0x4c]
push 8
xorps xmm0, xmm0
mov dword [ebp - 0x3c], 0
push 0x10652f68
movups xmmword [ebp - 0x4c], xmm0
mov dword [ebp - 0x38], 0
call fcn.10057a20
lea esi, [edi + 0x30]
mov dword [ebp - 0x2c], esi
lea eax, [ebp - 0x4c]
mov byte [ebp - 4], 0x49
push eax
lea ecx, [ebp - 0x28]
call fcn.10057400
sub esp, 0x18
mov byte [ebp - 4], 0x4a
lea eax, [ebp - 0x28]
mov ecx, esp
push eax
call fcn.10057400
lea ecx, [ebp - 0x64]
call fcn.100fb940
add esp, 0x18
mov edx, eax
mov byte [ebp - 4], 0x4b
mov ecx, esi
call fcn.10056bd0
lea ecx, [ebp - 0x64]
call fcn.100575c0
lea ecx, [ebp - 0x28]
call fcn.100575c0
lea ecx, [ebp - 0x4c]
call fcn.100575c0
movss xmm0, dword [0x106cca68]
mov eax, dword [0x106d6284]
movss dword [edi + 0x48], xmm0
movups xmm0, xmmword [0x106cceac]
jmp 0x1015e9ac
sbb eax, eax
or eax, 1
test eax, eax
je 0x1015fbc5
inc ecx
lea eax, [edi - 2]
sub eax, ecx
push eax
push 0x55
push ecx
call sub.VCRUNTIME140.dll_memchr
mov ecx, eax
add esp, 0xc
test ecx, ecx
jne 0x1015f9e0
mov edx, dword [ebp + 0x1c]
cmp byte [0x106ce666], 0
mov esi, dword [ebp + 8]
mov eax, dword [ebp + 0x18]
je 0x1015fce9
cmp edx, 0xf
lea ecx, [ebp + 8]
cmova ecx, esi
mov dword [ebp - 0x30], ecx
cmp eax, 7
jb 0x1015fce9
add eax, 0xfffffffa
add eax, ecx
mov dword [ebp - 0x2c], eax
sub eax, ecx
push eax
push 0x4d
push ecx
call sub.VCRUNTIME140.dll_memchr
mov ecx, eax
add esp, 0xc
test ecx, ecx
je 0x1015fce6
mov edx, ecx
mov esi, str.MiniBus
mov edi, 3
mov eax, dword [edx]
cmp eax, dword [esi]
jne 0x1015fb8b
add edx, 4
add esi, 4
or edi, 0xffffffff
mov al, byte [edx]
cmp al, byte [esi]
jne 0x1015fcba
mov al, byte [edx + 1]
cmp al, byte [esi + 1]
jne 0x1015fcba
mov al, byte [edx + 2]
cmp al, byte [esi + 2]
jne 0x1015fcba
cmp edi, 0xffffffff
je 0x1015fbbe
mov al, byte [edx + 3]
cmp al, byte [esi + 3]
jne 0x1015fcba
xor eax, eax
jmp 0x1015fcbf
sub ecx, esi
cmp ecx, 0xffffffff
je 0x1015fb25
mov edi, dword [ebp - 0x34]
xorps xmm0, xmm0
push 3
push 0x103485cc
mov ecx, edi
movups xmmword [edi], xmm0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0
call fcn.10053700
lea ecx, [edi + 0x18]
mov byte [ebp - 4], 0x4c
xorps xmm0, xmm0
push 3
movups xmmword [ecx], xmm0
push 0x103485cc
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
call fcn.10053700
mov byte [ebp - 4], 0x4d
lea ecx, [ebp - 0x4c]
push 7
xorps xmm0, xmm0
mov dword [ebp - 0x3c], 0
push 0x10652f7c
movups xmmword [ebp - 0x4c], xmm0
mov dword [ebp - 0x38], 0
call fcn.10057a20
lea esi, [edi + 0x30]
mov dword [ebp - 0x2c], esi
lea eax, [ebp - 0x4c]
mov byte [ebp - 4], 0x4e
push eax
lea ecx, [ebp - 0x28]
call fcn.10057400
sub esp, 0x18
mov byte [ebp - 4], 0x4f
lea eax, [ebp - 0x28]
mov ecx, esp
push eax
call fcn.10057400
lea ecx, [ebp - 0x64]
call fcn.100fb940
add esp, 0x18
mov edx, eax
mov byte [ebp - 4], 0x50
mov ecx, esi
call fcn.10056bd0
lea ecx, [ebp - 0x64]
call fcn.100575c0
lea ecx, [ebp - 0x28]
call fcn.100575c0
lea ecx, [ebp - 0x4c]
call fcn.100575c0
movss xmm0, dword [0x106ccf74]
mov eax, dword [0x106d6060]
movss dword [edi + 0x48], xmm0
movups xmm0, xmmword [0x106ce3f4]
jmp 0x1015e9ac
sbb eax, eax
or eax, 1
test eax, eax
je 0x1015fd87
mov eax, dword [ebp - 0x2c]
inc ecx
sub eax, ecx
push eax
push 0x4d
push ecx
call sub.VCRUNTIME140.dll_memchr
mov ecx, eax
add esp, 0xc
test ecx, ecx
jne 0x1015fb70
mov esi, dword [ebp + 8]
mov eax, dword [ebp + 0x18]
cmp byte [0x106cc43c], 0
mov edx, dword [ebp + 0x1c]
je 0x1015fea9
cmp edx, 0xf
lea ecx, [ebp + 8]
cmova ecx, esi
mov dword [ebp - 0x30], ecx
cmp eax, 5
jb 0x1015fea9
add eax, 0xfffffffc
add eax, ecx
mov dword [ebp - 0x2c], eax
sub eax, ecx
push eax
push 0x50
push ecx
call sub.VCRUNTIME140.dll_memchr
mov ecx, eax
add esp, 0xc
test ecx, ecx
je 0x1015fea6
nop
mov edx, ecx
mov esi, str.PG117
mov edi, 1
mov eax, dword [edx]
cmp eax, dword [esi]
jne 0x1015fd4d
add edx, 4
mov edi, 0xfffffffd
add esi, 4
mov al, byte [edx]
cmp al, byte [esi]
jne 0x1015fe7d
cmp edi, 0xfffffffd
je 0x1015fd80
mov al, byte [edx + 1]
cmp al, byte [esi + 1]
jne 0x1015fe7d
mov al, byte [edx + 2]
cmp al, byte [esi + 2]
jne 0x1015fe7d
mov al, byte [edx + 3]
cmp al, byte [esi + 3]
jne 0x1015fe7d
xor eax, eax
jmp 0x1015fe82
sub ecx, dword [ebp - 0x30]
cmp ecx, 0xffffffff
je 0x1015fce3
mov edi, dword [ebp - 0x34]
xorps xmm0, xmm0
push 7
push str.MiniBus
mov ecx, edi
movups xmmword [edi], xmm0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0
call fcn.10053700
lea ecx, [edi + 0x18]
mov byte [ebp - 4], 0x51
xorps xmm0, xmm0
push 7
movups xmmword [ecx], xmm0
push str.MiniBus
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
call fcn.10053700
mov byte [ebp - 4], 0x52
lea ecx, [ebp - 0x4c]
push 5
xorps xmm0, xmm0
mov dword [ebp - 0x3c], 0
push 0x10652fc8
movups xmmword [ebp - 0x4c], xmm0
mov dword [ebp - 0x38], 0
call fcn.10057a20
lea esi, [edi + 0x30]
mov dword [ebp - 0x2c], esi
lea eax, [ebp - 0x4c]
mov byte [ebp - 4], 0x53
push eax
lea ecx, [ebp - 0x28]
call fcn.10057400
sub esp, 0x18
mov byte [ebp - 4], 0x54
lea eax, [ebp - 0x28]
mov ecx, esp
push eax
call fcn.10057400
lea ecx, [ebp - 0x64]
call fcn.100fb940
add esp, 0x18
mov edx, eax
mov byte [ebp - 4], 0x55
mov ecx, esi
call fcn.10056bd0
lea ecx, [ebp - 0x64]
call fcn.100575c0
lea ecx, [ebp - 0x28]
call fcn.100575c0
lea ecx, [ebp - 0x4c]
call fcn.100575c0
movss xmm0, dword [0x106ceac4]
mov eax, dword [0x106d6160]
movss dword [edi + 0x48], xmm0
movups xmm0, xmmword [0x106cc2d4]
jmp 0x1015e9ac
sbb eax, eax
or eax, 1
test eax, eax
je 0x1015ff1c
mov eax, dword [ebp - 0x2c]
inc ecx
sub eax, ecx
push eax
push 0x50
push ecx
call sub.VCRUNTIME140.dll_memchr
mov ecx, eax
add esp, 0xc
test ecx, ecx
jne 0x1015fd30
mov edx, dword [ebp + 0x1c]
cmp byte [0x106cd12a], 0
mov eax, dword [ebp + 0x18]
je 0x1016005c
cmp edx, 0xf
lea ecx, [ebp + 8]
mov edx, dword [ebp + 8]
cmova ecx, edx
mov dword [ebp - 0x30], ecx
cmp eax, 8
jb 0x1016005f
add eax, 0xfffffff9
add eax, ecx
mov dword [ebp - 0x2c], eax
sub eax, ecx
push eax
push 0x41
push ecx
call sub.VCRUNTIME140.dll_memchr
mov edi, eax
add esp, 0xc
test edi, edi
je 0x10160059
mov ecx, edi
mov edx, str.AquaRail
mov esi, 4
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x1016000e
add ecx, 4
add edx, 4
sub esi, 4
jae 0x1015ff00
xor eax, eax
jmp 0x10160035
sub ecx, dword [ebp - 0x30]
cmp ecx, 0xffffffff
je 0x1015fea6
mov edi, dword [ebp - 0x34]
xorps xmm0, xmm0
push 5
push str.PG117
mov ecx, edi
movups xmmword [edi], xmm0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0
call fcn.10053700
lea ecx, [edi + 0x18]
mov byte [ebp - 4], 0x56
xorps xmm0, xmm0
push 5
movups xmmword [ecx], xmm0
push str.PG117
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
call fcn.10053700
mov byte [ebp - 4], 0x57
lea ecx, [ebp - 0x4c]
push 6
xorps xmm0, xmm0
mov dword [ebp - 0x3c], 0
push 0x10652fd4
movups xmmword [ebp - 0x4c], xmm0
mov dword [ebp - 0x38], 0
call fcn.10057a20
lea esi, [edi + 0x30]
mov dword [ebp - 0x2c], esi
lea eax, [ebp - 0x4c]
mov byte [ebp - 4], 0x58
push eax
lea ecx, [ebp - 0x28]
call fcn.10057400
sub esp, 0x18
mov byte [ebp - 4], 0x59
lea eax, [ebp - 0x28]
mov ecx, esp
push eax
call fcn.10057400
lea ecx, [ebp - 0x64]
call fcn.100fb940
add esp, 0x18
mov edx, eax
mov byte [ebp - 4], 0x5a
mov ecx, esi
call fcn.10056bd0
lea ecx, [ebp - 0x64]
call fcn.100575c0
lea ecx, [ebp - 0x28]
call fcn.100575c0
lea ecx, [ebp - 0x4c]
call fcn.100575c0
movss xmm0, dword [0x106ce068]
mov eax, dword [0x106d5ebc]
movss dword [edi + 0x48], xmm0
movups xmm0, xmmword [0x106ce180]
jmp 0x1015e9ac
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x10160030
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x10160030
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x10160030
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x10160030
xor eax, eax
jmp 0x10160035
sbb eax, eax
or eax, 1
test eax, eax
je 0x101600e0
mov eax, dword [ebp - 0x2c]
inc edi
sub eax, edi
push eax
push 0x41
push edi
call sub.VCRUNTIME140.dll_memchr
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x1015fef1
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp byte [0x106cc7ec], 0
je 0x10160204
cmp dword [ebp + 0x1c], 0xf
lea edi, [ebp + 8]
cmova edi, edx
cmp eax, 4
jb 0x10160204
add eax, 0xfffffffd
add eax, edi
sub eax, edi
push eax
push 0x41
push edi
call sub.VCRUNTIME140.dll_memchr
mov esi, eax
add esp, 0xc
test esi, esi
je 0x10160204
nop dword [eax]
mov ecx, esi
mov edx, str.ATV1
mov eax, dword [ecx]
cmp eax, dword [edx]
je 0x101600d9
cmp al, byte [edx]
jne 0x101601d6
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x101601d6
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x101601d6
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x101601d6
xor eax, eax
jmp 0x101601db
sub edi, dword [ebp - 0x30]
cmp edi, 0xffffffff
je 0x10160059
mov edi, dword [ebp - 0x34]
xorps xmm0, xmm0
push 8
push str.AquaRail
mov ecx, edi
movups xmmword [edi], xmm0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0
call fcn.10053700
lea ecx, [edi + 0x18]
mov byte [ebp - 4], 0x5b
xorps xmm0, xmm0
push 8
movups xmmword [ecx], xmm0
push str.AquaRail
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
call fcn.10053700
mov byte [ebp - 4], 0x5c
lea ecx, [ebp - 0x4c]
push 7
xorps xmm0, xmm0
mov dword [ebp - 0x3c], 0
push 0x10652fa8
movups xmmword [ebp - 0x4c], xmm0
mov dword [ebp - 0x38], 0
call fcn.10057a20
lea esi, [edi + 0x30]
mov dword [ebp - 0x2c], esi
lea eax, [ebp - 0x4c]
mov byte [ebp - 4], 0x5d
push eax
lea ecx, [ebp - 0x28]
call fcn.10057400
sub esp, 0x18
mov byte [ebp - 4], 0x5e
lea eax, [ebp - 0x28]
mov ecx, esp
push eax
call fcn.10057400
lea ecx, [ebp - 0x64]
call fcn.100fb940
add esp, 0x18
mov edx, eax
mov byte [ebp - 4], 0x5f
mov ecx, esi
call fcn.10056bd0
lea ecx, [ebp - 0x64]
call fcn.100575c0
lea ecx, [ebp - 0x28]
call fcn.100575c0
lea ecx, [ebp - 0x4c]
call fcn.100575c0
movss xmm0, dword [0x106cddd8]
mov eax, dword [0x106d631c]
movss dword [edi + 0x48], xmm0
movups xmm0, xmmword [0x106ceec8]
jmp 0x1015e9ac
sbb eax, eax
or eax, 1
test eax, eax
je 0x101602a6
mov eax, dword [ebp + 0x18]
inc esi
add eax, 0xfffffffd
add eax, edi
sub eax, esi
push eax
push 0x41
push esi
call sub.VCRUNTIME140.dll_memchr
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x101600a0
mov edi, dword [ebp - 0x34]
xorps xmm0, xmm0
push 7
push str.Unknown
mov ecx, edi
movups xmmword [edi], xmm0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0
call fcn.10053700
lea ecx, [edi + 0x18]
mov byte [ebp - 4], 0x62
xorps xmm0, xmm0
push 7
movups xmmword [ecx], xmm0
push str.Unknown
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
call fcn.10053700
lea ecx, [edi + 0x30]
mov byte [ebp - 4], 0x63
xorps xmm0, xmm0
push 7
movups xmmword [ecx], xmm0
push str.Unknown
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
call fcn.10053700
mov dword [edi + 0x48], 0
mov dword [edi + 0x5c], 0
mov dword [edi + 0x4c], 0
mov dword [edi + 0x50], 0
mov dword [edi + 0x54], 0
mov dword [edi + 0x58], 0
jmp 0x1015f90f
sub esi, edi
cmp esi, 0xffffffff
je 0x10160204
mov edi, dword [ebp - 0x34]
xorps xmm0, xmm0
push 4
push str.ATV1
mov ecx, edi
movups xmmword [edi], xmm0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0
call fcn.10053700
lea ecx, [edi + 0x18]
mov byte [ebp - 4], 0x60
xorps xmm0, xmm0
push 4
movups xmmword [ecx], xmm0
push str.ATV1
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
call fcn.10053700
lea ecx, [edi + 0x30]
mov byte [ebp - 4], 0x61
xorps xmm0, xmm0
push 4
movups xmmword [ecx], xmm0
push str.ATV1
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
call fcn.10053700
movss xmm0, dword [0x106ccee0]
mov eax, dword [0x106d6360]
movss dword [edi + 0x48], xmm0
movups xmm0, xmmword [0x106cc350]
jmp 0x1015e9ac