Function at 0x10008250
Capabilities:
Delete registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100db199
mov eax, dword fs:[0]
push eax
sub esp, 0x28
push ebx
push esi
push edi
mov eax, dword [0x101279d8]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x24], edi
xor esi, esi
mov dword [ebp - 0x18], esi
lea eax, [edi + 8]
mov dword [edi + 4], vtable.IFilterVersion.0
push eax
mov dword [edi], vtable.CDirectVobSub.1.0
mov dword [edi + 4], vtable.CDirectVobSub.0
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov dword [ebp - 4], esi
call fcn.10095170
xor ecx, ecx
cmp eax, esi
setne cl
cmp ecx, esi
jne 0x100082bd
push 0x80004005
call fcn.10001150
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [edi + 0x20], eax
lea ecx, [edi + 0x48]
mov byte [ebp - 4], 1
call fcn.10038980
mov dword [edi + 0x13c], esi
mov byte [ebp - 4], 3
call fcn.1008e4fc
push eax
lea ecx, [ebp - 0x34]
call fcn.1008f80d
mov byte [ebp - 4], 4
mov dword [edi + 0x24], esi
call fcn.10095170
xor ecx, ecx
cmp eax, esi
setne cl
cmp ecx, esi
jne 0x10008311
push 0x80004005
call fcn.10001150
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea ebx, [eax + 0x10]
mov dword [ebp - 0x18], ebx
push 0x73
mov byte [ebp - 4], 5
call fcn.10095109
cmp eax, esi
je 0x1000833d
push 0x73
push eax
lea ecx, [ebp - 0x18]
call fcn.10001b90
mov ebx, dword [ebp - 0x18]
mov byte [ebp - 4], 6
call fcn.10095170
xor ecx, ecx
cmp eax, esi
setne cl
cmp ecx, esi
jne 0x1000835b
push 0x80004005
call fcn.10001150
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea esi, [eax + 0x10]
mov dword [ebp - 0x20], esi
push 0xdf
mov byte [ebp - 4], 7
call fcn.10095109
test eax, eax
je 0x1000838d
push 0xdf
push eax
lea ecx, [ebp - 0x20]
call fcn.10001b90
mov esi, dword [ebp - 0x20]
push 0
push ebx
push esi
mov ecx, 0x10129960
mov byte [ebp - 4], 8
call fcn.10097d68
test eax, eax
setne cl
lea eax, [esi - 0x10]
mov byte [edi + 0x28], cl
mov byte [ebp - 4], 6
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x100083c7
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea eax, [ebx - 0x10]
mov byte [ebp - 4], 4
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x100083e7
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.10095170
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x10008401
push 0x80004005
call fcn.10001150
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea ebx, [eax + 0x10]
mov dword [ebp - 0x20], ebx
push 0xaf
mov byte [ebp - 4], 9
call fcn.10095109
test eax, eax
je 0x10008433
push 0xaf
push eax
lea ecx, [ebp - 0x20]
call fcn.10001b90
mov ebx, dword [ebp - 0x20]
mov byte [ebp - 4], 0xa
call fcn.10095170
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x10008451
push 0x80004005
call fcn.10001150
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea esi, [eax + 0x10]
mov dword [ebp - 0x18], esi
push 0xdf
mov byte [ebp - 4], 0xb
call fcn.10095109
test eax, eax
je 0x10008483
push 0xdf
push eax
lea ecx, [ebp - 0x18]
call fcn.10001b90
mov esi, dword [ebp - 0x18]
push 4
push ebx
push esi
mov ecx, 0x10129960
mov byte [ebp - 4], 0xc
call fcn.10097d68
mov dword [edi + 0x2c], eax
lea eax, [esi - 0x10]
mov byte [ebp - 4], 0xa
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x100084b8
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea eax, [ebx - 0x10]
mov byte [ebp - 4], 4
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x100084d8
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.10095170
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x100084f2
push 0x80004005
call fcn.10001150
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea ebx, [eax + 0x10]
mov dword [ebp - 0x20], ebx
push 0xb0
mov byte [ebp - 4], 0xd
call fcn.10095109
test eax, eax
je 0x10008524
push 0xb0
push eax
lea ecx, [ebp - 0x20]
call fcn.10001b90
mov ebx, dword [ebp - 0x20]
mov byte [ebp - 4], 0xe
call fcn.10095170
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x10008542
push 0x80004005
call fcn.10001150
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea esi, [eax + 0x10]
mov dword [ebp - 0x18], esi
push 0xdf
mov byte [ebp - 4], 0xf
call fcn.10095109
test eax, eax
je 0x10008574
push 0xdf
push eax
lea ecx, [ebp - 0x18]
call fcn.10001b90
mov esi, dword [ebp - 0x18]
push 1
push ebx
push esi
mov ecx, 0x10129960
mov byte [ebp - 4], 0x10
call fcn.10097d68
test eax, eax
setne cl
lea eax, [esi - 0x10]
mov byte [edi + 0x30], cl
mov byte [ebp - 4], 0xe
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x100085ae
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea eax, [ebx - 0x10]
mov byte [ebp - 4], 4
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x100085ce
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.10095170
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x100085e8
push 0x80004005
call fcn.10001150
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea ebx, [eax + 0x10]
mov dword [ebp - 0x20], ebx
push 0x80
mov byte [ebp - 4], 0x11
call fcn.10095109
test eax, eax
je 0x1000861a
push 0x80
push eax
lea ecx, [ebp - 0x20]
call fcn.10001b90
mov ebx, dword [ebp - 0x20]
mov byte [ebp - 4], 0x12
call fcn.10095170
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x10008638
push 0x80004005
call fcn.10001150
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea esi, [eax + 0x10]
mov dword [ebp - 0x18], esi
push 0x69
mov byte [ebp - 4], 0x13
call fcn.10095109
test eax, eax
je 0x10008664
push 0x69
push eax
lea ecx, [ebp - 0x18]
call fcn.10001b90
mov esi, dword [ebp - 0x18]
push 0
push ebx
push esi
mov ecx, 0x10129960
mov byte [ebp - 4], 0x14
call fcn.10097d68
test eax, eax
setne cl
lea eax, [esi - 0x10]
mov byte [edi + 0x31], cl
mov byte [ebp - 4], 0x12
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x1000869e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea eax, [ebx - 0x10]
mov byte [ebp - 4], 4
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x100086be
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.10095170
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x100086d8
push 0x80004005
call fcn.10001150
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea ebx, [eax + 0x10]
mov dword [ebp - 0x20], ebx
push 0x81
mov byte [ebp - 4], 0x15
call fcn.10095109
test eax, eax
je 0x1000870a
push 0x81
push eax
lea ecx, [ebp - 0x20]
call fcn.10001b90
mov ebx, dword [ebp - 0x20]
mov byte [ebp - 4], 0x16
call fcn.10095170
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x10008728
push 0x80004005
call fcn.10001150
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea esi, [eax + 0x10]
mov dword [ebp - 0x18], esi
push 0x69
mov byte [ebp - 4], 0x17
call fcn.10095109
test eax, eax
je 0x10008754
push 0x69
push eax
lea ecx, [ebp - 0x18]
call fcn.10001b90
mov esi, dword [ebp - 0x18]
push 0x32
push ebx
push esi
mov ecx, 0x10129960
mov byte [ebp - 4], 0x18
call fcn.10097d68
mov dword [edi + 0x34], eax
lea eax, [esi - 0x10]
mov byte [ebp - 4], 0x16
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x10008789
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea eax, [ebx - 0x10]
mov byte [ebp - 4], 4
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x100087a9
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.10095170
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x100087c3
push 0x80004005
call fcn.10001150
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea ebx, [eax + 0x10]
mov dword [ebp - 0x20], ebx
push 0x82
mov byte [ebp - 4], 0x19
call fcn.10095109
test eax, eax
je 0x100087f5
push 0x82
push eax
lea ecx, [ebp - 0x20]
call fcn.10001b90
mov ebx, dword [ebp - 0x20]
mov byte [ebp - 4], 0x1a
call fcn.10095170
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x10008813
push 0x80004005
call fcn.10001150
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea esi, [eax + 0x10]
mov dword [ebp - 0x18], esi
push 0x69
mov byte [ebp - 4], 0x1b
call fcn.10095109
test eax, eax
je 0x1000883f
push 0x69
push eax
lea ecx, [ebp - 0x18]
call fcn.10001b90
mov esi, dword [ebp - 0x18]
push 0x5a
push ebx
push esi
mov ecx, 0x10129960
mov byte [ebp - 4], 0x1c
call fcn.10097d68
mov dword [edi + 0x38], eax
lea eax, [esi - 0x10]
mov byte [ebp - 4], 0x1a
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x10008874
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea eax, [ebx - 0x10]
mov byte [ebp - 4], 4
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x10008894
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.10095170
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x100088ae
push 0x80004005
call fcn.10001150
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea ebx, [eax + 0x10]
mov dword [ebp - 0x20], ebx
push 0x83
mov byte [ebp - 4], 0x1d
call fcn.10095109
test eax, eax
je 0x100088e0
push 0x83
push eax
lea ecx, [ebp - 0x20]
call fcn.10001b90
mov ebx, dword [ebp - 0x20]
mov byte [ebp - 4], 0x1e
call fcn.10095170
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x100088fe
push 0x80004005
call fcn.10001150
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea esi, [eax + 0x10]
mov dword [ebp - 0x18], esi
push 0x6a
mov byte [ebp - 4], 0x1f
call fcn.10095109
test eax, eax
je 0x1000892a
push 0x6a
push eax
lea ecx, [ebp - 0x18]
call fcn.10001b90
mov esi, dword [ebp - 0x18]
push 1
push ebx
push esi
mov ecx, 0x10129960
mov byte [ebp - 4], 0x20
call fcn.10097d68
test eax, eax
setne cl
lea eax, [esi - 0x10]
mov byte [edi + 0x3c], cl
mov byte [ebp - 4], 0x1e
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x10008964
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea eax, [ebx - 0x10]
mov byte [ebp - 4], 4
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x10008984
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.10095170
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x1000899e
push 0x80004005
call fcn.10001150
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea ebx, [eax + 0x10]
mov dword [ebp - 0x20], ebx
push 0x94
mov byte [ebp - 4], 0x21
call fcn.10095109
test eax, eax
je 0x100089d0
push 0x94
push eax
lea ecx, [ebp - 0x20]
call fcn.10001b90
mov ebx, dword [ebp - 0x20]
mov byte [ebp - 4], 0x22
call fcn.10095170
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x100089ee
push 0x80004005
call fcn.10001150
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea esi, [eax + 0x10]
mov dword [ebp - 0x18], esi
push 0x6a
mov byte [ebp - 4], 0x23
call fcn.10095109
test eax, eax
je 0x10008a1a
push 0x6a
push eax
lea ecx, [ebp - 0x18]
call fcn.10001b90
mov esi, dword [ebp - 0x18]
push 0
push ebx
push esi
mov ecx, 0x10129960
mov byte [ebp - 4], 0x24
call fcn.10097d68
test eax, eax
setne cl
lea eax, [esi - 0x10]
mov byte [edi + 0x3d], cl
mov byte [ebp - 4], 0x22
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x10008a54
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea eax, [ebx - 0x10]
mov byte [ebp - 4], 4
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x10008a74
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.10095170
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x10008a8e
push 0x80004005
call fcn.10001150
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea ebx, [eax + 0x10]
mov dword [ebp - 0x20], ebx
push 0x8a
mov byte [ebp - 4], 0x25
call fcn.10095109
test eax, eax
je 0x10008ac0
push 0x8a
push eax
lea ecx, [ebp - 0x20]
call fcn.10001b90
mov ebx, dword [ebp - 0x20]
mov byte [ebp - 4], 0x26
call fcn.10095170
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x10008ade
push 0x80004005
call fcn.10001150
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea esi, [eax + 0x10]
mov dword [ebp - 0x18], esi
push 0x6a
mov byte [ebp - 4], 0x27
call fcn.10095109
test eax, eax
je 0x10008b0a
push 0x6a
push eax
lea ecx, [ebp - 0x18]
call fcn.10001b90
mov esi, dword [ebp - 0x18]
push 0
push ebx
push esi
mov ecx, 0x10129960
mov byte [ebp - 4], 0x28
call fcn.10097d68
test eax, eax
setne cl
lea eax, [esi - 0x10]
mov byte [edi + 0x3e], cl
mov byte [ebp - 4], 0x26
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x10008b44
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea eax, [ebx - 0x10]
mov byte [ebp - 4], 4
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x10008b64
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [ebp - 0x14]
push ecx
push str.SoftwareGabest_vsfilterText
push SysReAllocString
mov dword [ebp - 0x14], 0
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyW]
test eax, eax
jne 0x10008b9c
mov edx, dword [ebp - 0x14]
push str.Style
push edx
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
mov eax, dword [ebp - 0x14]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
call fcn.10095170
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x10008bb6
push 0x80004005
call fcn.10001150
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea edi, [eax + 0x10]
mov dword [ebp - 0x20], edi
push 0xe0
mov byte [ebp - 4], 0x29
call fcn.10095109
test eax, eax
je 0x10008be8
push 0xe0
push eax
lea ecx, [ebp - 0x20]
call fcn.10001b90
mov edi, dword [ebp - 0x20]
mov byte [ebp - 4], 0x2a
call fcn.10095170
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x10008c06
push 0x80004005
call fcn.10001150
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea esi, [eax + 0x10]
mov dword [ebp - 0x18], esi
push 0x69
mov byte [ebp - 4], 0x2b
call fcn.10095109
test eax, eax
je 0x10008c32
push 0x69
push eax
lea ecx, [ebp - 0x18]
call fcn.10001b90
mov esi, dword [ebp - 0x18]
push 0x100e8020
push edi
push esi
lea ecx, [ebp - 0x28]
push ecx
mov bl, 0x2c
mov ecx, 0x10129960
mov byte [ebp - 4], bl
call fcn.1009810d
push eax
mov eax, dword [ebp - 0x24]
add eax, 0x48
push eax
mov byte [ebp - 4], 0x2d
call fcn.10038a00
mov eax, dword [ebp - 0x28]
add eax, 0xfffffff0
add esp, 8
mov byte [ebp - 4], bl
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x10008c82
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea eax, [esi - 0x10]
mov byte [ebp - 4], 0x2a
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x10008ca2
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea eax, [edi - 0x10]
mov byte [ebp - 4], 4
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x10008cc2
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.10095170
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x10008cdc
push 0x80004005
call fcn.10001150
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea ebx, [eax + 0x10]
mov dword [ebp - 0x20], ebx
push 0x72
mov byte [ebp - 4], 0x2e
call fcn.10095109
test eax, eax
je 0x10008d08
push 0x72
push eax
lea ecx, [ebp - 0x20]
call fcn.10001b90
mov ebx, dword [ebp - 0x20]
mov byte [ebp - 4], 0x2f
call fcn.10095170
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x10008d26
push 0x80004005
call fcn.10001150
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea esi, [eax + 0x10]
mov dword [ebp - 0x18], esi
push 0xdf
mov byte [ebp - 4], 0x30
call fcn.10095109
test eax, eax
je 0x10008d58
push 0xdf
push eax
lea ecx, [ebp - 0x18]
call fcn.10001b90
mov esi, dword [ebp - 0x18]
push 0
push ebx
push esi
mov ecx, 0x10129960
mov byte [ebp - 4], 0x31
call fcn.10097d68
mov edi, dword [ebp - 0x24]
test eax, eax
setne cl
lea eax, [esi - 0x10]
mov byte [edi + 0x109], cl
mov byte [ebp - 4], 0x2f
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x10008d98
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea eax, [ebx - 0x10]
mov byte [ebp - 4], 4
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x10008db8
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.10095170
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x10008dd2
push 0x80004005
call fcn.10001150
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea ebx, [eax + 0x10]
mov dword [ebp - 0x20], ebx
push 0x9c
mov byte [ebp - 4], 0x32
call fcn.10095109
test eax, eax
je 0x10008e04
push 0x9c
push eax
lea ecx, [ebp - 0x20]
call fcn.10001b90
mov ebx, dword [ebp - 0x20]
mov byte [ebp - 4], 0x33
call fcn.10095170
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x10008e22
push 0x80004005
call fcn.10001150
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea esi, [eax + 0x10]
mov dword [ebp - 0x18], esi
push 0xdf
mov byte [ebp - 4], 0x34
call fcn.10095109
test eax, eax
je 0x10008e54
push 0xdf
push eax
lea ecx, [ebp - 0x18]
call fcn.10001b90
mov esi, dword [ebp - 0x18]
push 0
push ebx
push esi
mov ecx, 0x10129960
mov byte [ebp - 4], 0x35
call fcn.10097d68
test eax, eax
setne cl
lea eax, [esi - 0x10]
mov byte [edi + 0x10a], cl
mov byte [ebp - 4], 0x33
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x10008e91
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea eax, [ebx - 0x10]
mov byte [ebp - 4], 4
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x10008eb1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.10095170
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x10008ecb
push 0x80004005
call fcn.10001150
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea ebx, [eax + 0x10]
mov dword [ebp - 0x20], ebx
push 0x76
mov byte [ebp - 4], 0x36
call fcn.10095109
test eax, eax
je 0x10008ef7
push 0x76
push eax
lea ecx, [ebp - 0x20]
call fcn.10001b90
mov ebx, dword [ebp - 0x20]
mov byte [ebp - 4], 0x37
call fcn.10095170
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x10008f15
push 0x80004005
call fcn.10001150
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea esi, [eax + 0x10]
mov dword [ebp - 0x18], esi
push 0xdf
mov byte [ebp - 4], 0x38
call fcn.10095109
test eax, eax
je 0x10008f47
push 0xdf
push eax
lea ecx, [ebp - 0x18]
call fcn.10001b90
mov esi, dword [ebp - 0x18]
push 0
push ebx
push esi
mov ecx, 0x10129960
mov byte [ebp - 4], 0x39
call fcn.10097d68
test eax, eax
setne cl
lea eax, [esi - 0x10]
mov byte [edi + 0x10b], cl
mov byte [ebp - 4], 0x37
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x10008f84
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea eax, [ebx - 0x10]
mov byte [ebp - 4], 4
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x10008fa4
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.10095170
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x10008fbe
push 0x80004005
call fcn.10001150
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea ebx, [eax + 0x10]
mov dword [ebp - 0x20], ebx
push 0x6d
mov byte [ebp - 4], 0x3a
call fcn.10095109
test eax, eax
je 0x10008fea
push 0x6d
push eax
lea ecx, [ebp - 0x20]
call fcn.10001b90
mov ebx, dword [ebp - 0x20]
mov byte [ebp - 4], 0x3b
call fcn.10095170
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x10009008
push 0x80004005
call fcn.10001150
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea esi, [eax + 0x10]
mov dword [ebp - 0x18], esi
push 0xdf
mov byte [ebp - 4], 0x3c
call fcn.10095109
test eax, eax
je 0x1000903a
push 0xdf
push eax
lea ecx, [ebp - 0x18]
call fcn.10001b90
mov esi, dword [ebp - 0x18]
push 0
push ebx
push esi
mov ecx, 0x10129960
mov byte [ebp - 4], 0x3d
call fcn.10097d68
test eax, eax
setne cl
lea eax, [esi - 0x10]
mov byte [edi + 0x128], cl
mov byte [ebp - 4], 0x3b
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x10009077
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea eax, [ebx - 0x10]
mov byte [ebp - 4], 4
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x10009097
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.10095170
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x100090b1
push 0x80004005
call fcn.10001150
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea ebx, [eax + 0x10]
mov dword [ebp - 0x20], ebx
push 0x9e
mov byte [ebp - 4], 0x3e
call fcn.10095109
test eax, eax
je 0x100090e3
push 0x9e
push eax
lea ecx, [ebp - 0x20]
call fcn.10001b90
mov ebx, dword [ebp - 0x20]
mov byte [ebp - 4], 0x3f
call fcn.10095170
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x10009101
push 0x80004005
call fcn.10001150
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea esi, [eax + 0x10]
mov dword [ebp - 0x18], esi
push 0xdf
mov byte [ebp - 4], 0x40
call fcn.10095109
test eax, eax
je 0x10009133
push 0xdf
push eax
lea ecx, [ebp - 0x18]
call fcn.10001b90
mov esi, dword [ebp - 0x18]
push 0
push ebx
push esi
mov ecx, 0x10129960
mov byte [ebp - 4], 0x41
call fcn.10097d68
neg eax
sbb eax, eax
neg eax
mov dword [edi + 0x10c], eax
lea eax, [esi - 0x10]
mov byte [ebp - 4], 0x3f
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x10009171
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea eax, [ebx - 0x10]
mov byte [ebp - 4], 4
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x10009191
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.10095170
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x100091ab
push 0x80004005
call fcn.10001150
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea esi, [eax + 0x10]
mov dword [ebp - 0x20], esi
push 0x91
mov byte [ebp - 4], 0x42
call fcn.10095109
test eax, eax
je 0x100091dd
push 0x91
push eax
lea ecx, [ebp - 0x20]
call fcn.10001b90
mov esi, dword [ebp - 0x20]
mov bl, 0x43
push 0x90
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], bl
call fcn.10001e10
mov eax, dword [eax]
push 0
push esi
push eax
mov ecx, 0x10129960
mov byte [ebp - 4], 0x44
call fcn.10097d68
mov dword [edi + 0x110], eax
mov eax, dword [ebp - 0x28]
add eax, 0xfffffff0
mov byte [ebp - 4], bl
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x1000922b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea eax, [esi - 0x10]
mov byte [ebp - 4], 4
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x1000924b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x92
lea ecx, [ebp - 0x20]
call fcn.10001e10
mov esi, eax
mov bl, 0x45
push 0x90
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], bl
call fcn.10001e10
mov esi, dword [esi]
mov eax, dword [eax]
push 0x3e8
push esi
push eax
mov ecx, 0x10129960
mov byte [ebp - 4], 0x46
call fcn.10097d68
mov dword [edi + 0x114], eax
mov eax, dword [ebp - 0x28]
add eax, 0xfffffff0
mov byte [ebp - 4], bl
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x100092ad
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x20]
add eax, 0xfffffff0
mov byte [ebp - 4], 4
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x100092d0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x97
lea ecx, [ebp - 0x20]
call fcn.10001e10
mov esi, eax
mov bl, 0x47
push 0x90
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], bl
call fcn.10001e10
mov esi, dword [esi]
mov eax, dword [eax]
push 0x3e8
push esi
push eax
mov ecx, 0x10129960
mov byte [ebp - 4], 0x48
call fcn.10097d68
mov dword [edi + 0x118], eax
mov eax, dword [ebp - 0x28]
add eax, 0xfffffff0
mov byte [ebp - 4], bl
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x10009332
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x20]
add eax, 0xfffffff0
mov byte [ebp - 4], 4
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x10009355
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x9d
lea ecx, [ebp - 0x20]
call fcn.10001e10
mov esi, eax
mov bl, 0x49
push 0x90
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], bl
call fcn.10001e10
mov esi, dword [esi]
mov eax, dword [eax]
push 0
push esi
push eax
mov ecx, 0x10129960
mov byte [ebp - 4], 0x4a
call fcn.10097d68
test eax, eax
mov eax, dword [ebp - 0x28]
setne cl
add eax, 0xfffffff0
mov byte [edi + 0x11c], cl
mov byte [ebp - 4], bl
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x100093b9
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x20]
add eax, 0xfffffff0
mov byte [ebp - 4], 4
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x100093dc
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0xaa
lea ecx, [ebp - 0x20]
call fcn.10001e10
mov esi, eax
mov bl, 0x4b
push 0x69
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], bl
call fcn.10001e10
mov esi, dword [esi]
mov eax, dword [eax]
push 0
push esi
push eax
mov ecx, 0x10129960
mov byte [ebp - 4], 0x4c
call fcn.10097d68
mov dword [edi + 0x40], eax
mov eax, dword [ebp - 0x28]
add eax, 0xfffffff0
mov byte [ebp - 4], bl
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x10009435
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x20]
add eax, 0xfffffff0
mov byte [ebp - 4], 4
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x10009458
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x7b
lea ecx, [ebp - 0x20]
mov dword [ebp - 0x1c], 0
call fcn.10001e10
mov esi, eax
mov ebx, 1
push 0x90
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x4d
mov dword [ebp - 0x18], ebx
call fcn.10001e10
mov esi, dword [esi]
mov eax, dword [eax]
lea ecx, [ebp - 0x2c]
push ecx
lea edx, [ebp - 0x1c]
push edx
push esi
push eax
mov ecx, 0x10129960
mov dword [ebp - 4], 0x4e
mov dword [ebp - 0x18], 3
call fcn.10097fc0
test eax, eax
je 0x100094b7
cmp dword [ebp - 0x1c], 0
mov byte [ebp - 0xd], bl
jne 0x100094bb
mov byte [ebp - 0xd], 0
mov eax, dword [ebp - 0x28]
add eax, 0xfffffff0
mov dword [ebp - 4], 0x4d
mov dword [ebp - 0x18], ebx
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x100094e4
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x20]
add eax, 0xfffffff0
mov dword [ebp - 4], 4
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x1000950a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp byte [ebp - 0xd], 0
je 0x10009541
cmp dword [ebp - 0x2c], 8
mov eax, dword [ebp - 0x1c]
je 0x10009527
fld qword [0x100e8018]
fstp qword [edi + 0x120]
jmp 0x10009538
mov ecx, dword [eax]
mov dword [edi + 0x120], ecx
mov edx, dword [eax + 4]
mov dword [edi + 0x124], edx
push eax
call fcn.1008e660
add esp, 4
xorps xmm0, xmm0
movss dword [edi + 0x130], xmm0
movss dword [edi + 0x12c], xmm0
movss xmm0, dword [0x100e8178]
lea ecx, [ebp - 0x34]
movss dword [edi + 0x138], xmm0
movss dword [edi + 0x134], xmm0
mov byte [edi + 0x140], 0
mov byte [ebp - 4], 3
call fcn.1008ef1c
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret