Function at 0x10087640
Capabilities:
Inspect section memory permissions

Disassembly:
sub esp, 0x64
mov eax, dword [0x10143964]
xor eax, esp
mov dword [esp + 0x60], eax
push ebp
mov ebp, dword [esp + 0x78]
push esi
mov esi, dword [esp + 0x70]
push edi
mov edi, dword [esp + 0x7c]
mov dword [esp + 0x24], ebp
test edi, edi
je 0x1008bb0e
mov esi, dword [esi + 0x10]
mov dword [esp + 0xc], esi
test esi, esi
je 0x1008bb0e
mov eax, dword [esp + 0x78]
push ebx
xor ebx, ebx
cmp eax, 0x100
jg 0x10089fa9
je 0x10089d78
dec eax
cmp eax, 0x31
ja case.default.0x1008ac4a
movzx eax, byte [eax + 0x1008bbb0]
jmp dword [eax*4 + 0x1008bb28]
lea eax, [esi + 0x268]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [esp + 0x7c]
add eax, 0xfffffffc
cmp eax, 0x17
ja case.0x100876cc.6
movzx eax, byte [eax + 0x1008bc04]
jmp dword [eax*4 + 0x1008bbe4]
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0xc8]
and eax, 0x100000
or eax, 0
je 0x100877c6
mov esi, 1
jmp 0x100877c8
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0xc8]
and eax, 0x800000
or eax, 0
je 0x100877c6
mov esi, 1
jmp 0x100877c8
mov ecx, dword [esp + 0x10]
test byte [ecx + 0xd0], 4
je 0x10088afa
mov eax, dword [ecx + 0xc8]
and eax, 0x40
or eax, 0
je 0x100877c6
mov esi, 1
jmp 0x100877c8
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0xc8]
and eax, 0x400000
or eax, 0
je 0x100877c6
mov esi, 1
jmp 0x100877c8
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0xc8]
and eax, 0x100
or eax, 0
je 0x100877c6
mov esi, 1
jmp 0x100877c8
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0xc8]
and eax, 2
or eax, 0
je 0x100877c6
mov esi, 1
jmp 0x100877c8
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0xc8]
and eax, 0x200
or eax, 0
je 0x100877c6
push dword [ecx + 0x1e4]
call fcn.100acbc0
mov ecx, dword [esp + 0x14]
add esp, 4
mov esi, eax
jmp 0x100877c8
mov ecx, dword [esp + 0x10]
mov ebx, 0x7b
xor esi, esi
cmp dword [ebp], 4
lea eax, [ecx + 0x268]
push eax
jae 0x100877fc
mov ebx, 0x16
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, ebx
mov dword [ebp], 0
pop ebx
pop edi
pop esi
pop ebp
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.100f06e3
add esp, 0x64
ret
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test ebx, ebx
jne 0x10088a79
mov dword [edi], esi
mov eax, ebx
pop ebx
pop edi
pop esi
mov dword [ebp], 4
pop ebp
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.100f06e3
add esp, 0x64
ret
test byte [esi + 0xd0], 1
jne 0x10088a74
cmp dword [ebp], 4
jb 0x10088a74
mov eax, dword [esi + 0xc8]
and eax, 0x2000000
or eax, 0
je 0x10087872
mov eax, 1
mov dword [edi], eax
mov eax, ebx
pop ebx
pop edi
pop esi
mov dword [ebp], 4
pop ebp
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.100f06e3
add esp, 0x64
ret
xor eax, eax
mov dword [edi], eax
mov eax, ebx
pop ebx
pop edi
pop esi
mov dword [ebp], 4
pop ebp
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.100f06e3
add esp, 0x64
ret
cmp dword [ebp], 4
jb 0x10088a74
mov eax, dword [esi + 0x21c]
mov dword [edi], eax
mov eax, ebx
pop ebx
pop edi
pop esi
mov dword [ebp], 4
pop ebp
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.100f06e3
add esp, 0x64
ret
cmp dword [ebp], 4
jb 0x10088a74
mov eax, dword [esi + 0xcc]
mov ecx, dword [esi + 0xc8]
mov dword [esp + 0x64], eax
mov eax, ecx
and eax, 8
or eax, 0
je 0x10087872
and ecx, 0x10
or ecx, ebx
je 0x1008784f
mov eax, 2
jmp 0x10087874
cmp dword [ebp], 8
jb 0x10088a74
mov edx, dword [esi + 0xd0]
mov ecx, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
test dl, 2
jne 0x1008795a
test edx, 0x400000
jne 0x1008795a
mov eax, dword [edi]
cmp eax, 2
jbe 0x100879d6
push 1
push eax
push esi
call fcn.100b2350
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x1008798e
mov ebx, 2
mov dword [ebp], 0
mov eax, ebx
pop ebx
pop edi
pop esi
pop ebp
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.100f06e3
add esp, 0x64
ret
lea eax, [esi + 0x268]
push eax
call ecx
mov eax, dword [esp + 0x10]
mov esi, dword [eax + 0x214]
test esi, esi
je 0x100879c0
lea eax, [esi + 0x584]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [esp + 0x10]
add eax, 0x268
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, dword [esi + 0x32c]
mov dword [edi + 4], eax
lea eax, [esi + 0x584]
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, ebx
mov dword [ebp], 8
pop ebx
pop edi
pop esi
pop ebp
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.100f06e3
add esp, 0x64
ret
add eax, 0x268
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov esi, dword [esp + 0x10]
mov ecx, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [esi + 0xd0]
test al, 2
jne 0x100879f7
test eax, 0x400000
jne 0x100879f7
test al, 1
je 0x10088a74
cmp dword [edi], ebx
jne 0x10088a74
lea eax, [esi + 0x268]
push eax
call ecx
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0x220]
mov dword [edi + 4], eax
lea eax, [ecx + 0x268]
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, ebx
mov dword [ebp], 8
pop ebx
pop edi
pop esi
pop ebp
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.100f06e3
add esp, 0x64
ret
cmp dword [ebp], 0xc
jb 0x10088a74
mov edx, dword [esi + 0xd0]
mov ecx, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
test dl, 2
jne 0x10087a93
test edx, 0x400000
jne 0x10087a93
mov eax, dword [edi]
cmp eax, 2
jbe 0x10087af1
push 1
push eax
push esi
call fcn.100b2350
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x10087ac7
mov ebx, 2
mov dword [ebp], eax
mov eax, ebx
pop ebx
pop edi
pop esi
pop ebp
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.100f06e3
add esp, 0x64
ret
lea eax, [esi + 0x268]
push eax
call ecx
mov eax, dword [esp + 0x10]
mov esi, dword [eax + 0x214]
test esi, esi
je 0x10087adb
lea eax, [esi + 0x584]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [esp + 0x10]
add eax, 0x268
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, dword [esi + 0x3c4]
mov dword [edi + 4], eax
mov eax, dword [esi + 0x3cc]
jmp 0x1008aa3f
add eax, 0x268
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov esi, dword [esp + 0x10]
mov ecx, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [esi + 0xd0]
test al, 2
jne 0x10087b12
test eax, 0x400000
jne 0x10087b12
test al, 1
je 0x10088a74
cmp dword [edi], ebx
jne 0x10088a74
lea eax, [esi + 0x268]
push eax
call ecx
mov eax, dword [esp + 0x10]
push dword [eax + 0x124]
call fcn.100acb70
mov ecx, dword [esp + 0x14]
add esp, 4
mov dword [edi + 4], eax
mov eax, dword [ecx + 0x14c]
mov dword [edi + 8], eax
lea eax, [ecx + 0x268]
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, ebx
mov dword [ebp], 0xc
pop ebx
pop edi
pop esi
pop ebp
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.100f06e3
add esp, 0x64
ret
cmp dword [ebp], 8
jb 0x10088a74
mov edx, dword [esi + 0xd0]
mov ecx, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
test dl, 2
jne 0x10087bc3
test edx, 0x400000
jne 0x10087bc3
mov eax, dword [edi]
cmp eax, 2
jbe 0x10087c21
push 1
push eax
push esi
call fcn.100b2350
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x10087bf7
mov ebx, 2
mov dword [ebp], eax
mov eax, ebx
pop ebx
pop edi
pop esi
pop ebp
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.100f06e3
add esp, 0x64
ret
lea eax, [esi + 0x268]
push eax
call ecx
mov eax, dword [esp + 0x10]
mov esi, dword [eax + 0x214]
test esi, esi
je 0x10087c0b
lea eax, [esi + 0x584]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [esp + 0x10]
add eax, 0x268
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, dword [esi + 0x4a4]
mov dword [edi + 4], eax
lea eax, [esi + 0x584]
jmp 0x10087a13
add eax, 0x268
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov esi, dword [esp + 0x10]
mov ecx, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [esi + 0xd0]
test al, 2
jne 0x10087c42
test eax, 0x400000
jne 0x10087c42
test al, 1
je 0x10088a74
cmp dword [edi], ebx
jne 0x10088a74
lea eax, [esi + 0x268]
push eax
call ecx
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0x1f8]
jmp 0x10087a0a
cmp dword [ebp], 8
jb 0x10088a74
mov edx, dword [esi + 0xd0]
mov eax, dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ecx, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov dword [esp + 0x14], eax
test dl, 2
jne 0x10087cc0
test edx, 0x400000
jne 0x10087cc0
mov eax, dword [edi]
cmp eax, 2
jbe 0x10087d26
push 1
push eax
push esi
call fcn.100b2350
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x10087cf2
mov ebx, 2
mov dword [ebp], eax
mov eax, ebx
pop ebx
pop edi
pop esi
pop ebp
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.100f06e3
add esp, 0x64
ret
lea eax, [esi + 0x268]
push eax
call ecx
mov eax, dword [esp + 0x10]
mov esi, dword [eax + 0x214]
test esi, esi
je 0x10087d12
lea eax, [esi + 0x584]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [esp + 0x10]
add eax, 0x268
push eax
call dword [esp + 0x18]
lea eax, [esi + 0x30]
push eax
push esi
call fcn.10097ac0
add esp, 8
mov dword [edi + 4], eax
lea eax, [esi + 0x584]
push eax
call dword [esp + 0x18]
jmp 0x10087a1a
add eax, 0x268
push eax
call dword [esp + 0x18]
mov esi, dword [esp + 0x10]
mov ecx, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [esi + 0xd0]
test al, 2
jne 0x10087d47
test eax, 0x400000
jne 0x10087d47
test al, 1
je 0x10088a74
cmp dword [edi], ebx
jne 0x10088a74
lea eax, [esi + 0x268]
push eax
call ecx
mov edx, dword [esp + 0x10]
mov esi, dword [edx + 0xd0]
mov ecx, dword [edx + 0x218]
and esi, 0x4000000
cmp ecx, 0xffff
jb 0x10087d83
lea eax, [edx + 0x268]
xor ecx, ecx
push eax
mov dword [edi + 4], ecx
call dword [esp + 0x18]
jmp 0x10087a1a
test esi, esi
mov dword [esp + 0x60], 0x30
mov eax, 0x44
cmove eax, dword [esp + 0x60]
sub ecx, eax
lea eax, [edx + 0x268]
push eax
mov dword [edi + 4], ecx
call dword [esp + 0x18]
jmp 0x10087a1a
cmp dword [ebp], 0xb
jb 0x10088a74
xorps xmm0, xmm0
lea eax, [esi + 0x268]
movq qword [edi], xmm0
mov word [edi + 8], bx
push eax
mov byte [edi + 0xa], bl
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edx, dword [esp + 0x10]
mov ecx, dword [edx + 0xc8]
mov eax, ecx
and eax, 0x400
or eax, 0
je 0x10087df0
mov byte [edi], 1
mov ecx, dword [edx + 0xc8]
mov eax, ecx
and eax, 0x800
or eax, 0
je 0x10087e06
mov byte [edi + 1], 1
mov ecx, dword [edx + 0xc8]
mov eax, ecx
and eax, 0x1000
or eax, 0
je 0x10087e1c
mov byte [edi + 2], 1
mov ecx, dword [edx + 0xc8]
mov eax, ecx
and eax, 0x4000
or eax, 0
je 0x10087e32
mov byte [edi + 3], 1
mov ecx, dword [edx + 0xc8]
mov eax, ecx
and eax, 0x2000
or eax, 0
je 0x10087e48
mov byte [edi + 4], 1
mov ecx, dword [edx + 0xc8]
mov eax, ecx
and eax, 0x8000
or eax, 0
je 0x10087e5e
mov byte [edi + 5], 1
mov ecx, dword [edx + 0xc8]
mov eax, ecx
and eax, 0x20000
or eax, 0
je 0x10087e74
mov byte [edi + 6], 1
mov ecx, dword [edx + 0xc8]
mov eax, ecx
and eax, 0x10000
or eax, 0
je 0x10087e8a
mov byte [edi + 7], 1
mov ecx, dword [edx + 0xc8]
mov eax, ecx
and eax, 0x40000
or eax, 0
je 0x10087ea0
mov byte [edi + 8], 1
mov ecx, dword [edx + 0xc8]
mov eax, ecx
and eax, 0x4000000
or eax, 0
je 0x10087eb6
mov byte [edi + 9], 1
mov ecx, dword [edx + 0xc8]
and ecx, 0x80000
or ecx, ebx
je 0x10087ec4
mov byte [edi + 0xa], 1
lea eax, [edx + 0x268]
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, ebx
mov dword [ebp], 0xb
pop ebx
pop edi
pop esi
pop ebp
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.100f06e3
add esp, 0x64
ret
cmp dword [ebp], 4
jb 0x10088a74
lea eax, [esi + 0x268]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0x1ec]
mov dword [edi], eax
lea eax, [ecx + 0x268]
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, ebx
mov dword [ebp], 4
pop ebx
pop edi
pop esi
pop ebp
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.100f06e3
add esp, 0x64
ret
cmp dword [ebp], 0x98
jb 0x10088a74
mov ecx, dword [esi + 0xd0]
mov eax, dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov dword [esp + 0x1c], eax
test cl, 2
jne 0x10087fa4
test ecx, 0x400000
jne 0x10087fa4
mov eax, dword [edi + 0x80]
cmp eax, 2
jbe 0x10087f9e
push 1
push eax
push esi
call fcn.100b2350
add esp, 0xc
mov dword [esp + 0x14], eax
test eax, eax
jne 0x10087fde
mov ebx, 2
mov dword [ebp], eax
mov eax, ebx
pop ebx
pop edi
pop esi
pop ebp
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.100f06e3
add esp, 0x64
ret
mov dword [esp + 0x14], ebx
jmp 0x10087fe2
lea eax, [esi + 0x268]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0x214]
mov dword [esp + 0x14], eax
test eax, eax
je 0x10087fd3
add eax, 0x584
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, dword [esp + 0x10]
lea eax, [ecx + 0x268]
push eax
call dword [esp + 0x20]
mov esi, dword [esp + 0x10]
cmp word [edi], 0x17
jne 0x10088035
cmp word [edi + 8], bx
jne 0x1008802d
cmp word [edi + 0xa], bx
jne 0x1008802d
cmp word [edi + 0xc], bx
jne 0x1008802d
cmp word [edi + 0xe], bx
jne 0x1008802d
cmp word [edi + 0x10], bx
jne 0x1008802d
mov eax, 0xffff
cmp word [edi + 0x12], ax
jne 0x1008802d
lea eax, [esp + 0x60]
push edi
push eax
call fcn.10092120
mov esi, dword [esp + 0x18]
lea edx, [esp + 0x68]
add esp, 8
mov dword [esp + 0x18], edx
jmp 0x1008803b
mov edx, edi
mov dword [esp + 0x18], edx
jmp 0x1008803b
mov edx, edi
mov dword [esp + 0x18], edi
cmp dword [esp + 0x14], ebx
je 0x10088057
mov esi, dword [esp + 0x14]
push edx
push esi
call fcn.100b2500
mov edx, eax
add esp, 8
mov dword [esp + 0x24], edx
jmp 0x100880a0
mov dword [esp + 0x24], ebx
lea eax, [esi + 0x2b0]
mov ecx, 1
lock xadd dword [eax], ecx
push 0
push 0
lea eax, [esp + 0x2c]
push eax
push edx
lea eax, [esp + 0x20]
push eax
call fcn.100b1d00
mov esi, eax
add esp, 0x14
test esi, esi
jne 0x1008809c
mov eax, dword [esp + 0x10]
or ecx, 0xffffffff
add eax, 0x2b0
lock xadd dword [eax], ecx
jmp 0x1008813b
mov edx, dword [esp + 0x24]
test edx, edx
jne 0x100882b8
mov eax, dword [esp + 0x18]
movzx ecx, word [eax]
cmp ecx, 2
je 0x100880fe
cmp ecx, 0x17
jne 0x100880f5
add eax, 8
push eax
call fcn.10086ab0
add esp, 4
test al, al
jne 0x1008812f
lea eax, [esi + 0x584]
mov ebx, 0x16
push eax
call dword [esp + 0x20]
mov eax, ebx
mov dword [ebp], 0
pop ebx
pop edi
pop esi
pop ebp
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.100f06e3
add esp, 0x64
ret
cmp ecx, 0x7b
jne 0x1008828c
cmp dword [eax + 4], ebx
je 0x10088133
lea eax, [esi + 0x584]
mov ebx, 0x16
push eax
call dword [esp + 0x20]
mov eax, ebx
mov dword [ebp], 0
pop ebx
pop edi
pop esi
pop ebp
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.100f06e3
add esp, 0x64
ret
mov edx, dword [esp + 0x24]
test esi, esi
jne 0x100882b8
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0xd0]
test al, 2
jne 0x10088164
test eax, 0x400000
jne 0x10088164
test al, 1
je 0x10088a74
cmp dword [edi + 0x80], ebx
jne 0x10088a74
lea eax, [ecx + 0x268]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, dword [esp + 0x10]
mov ax, word [ecx + 0x178]
mov word [edi + 0x94], ax
push dword [ecx + 0x12c]
call fcn.100acb70
mov edx, dword [esp + 0x14]
add esp, 4
mov dword [edi + 0x84], eax
mov eax, dword [edi + 0x8c]
mov dword [edi + 0x80], ebx
mov cl, byte [edx + 0x204]
test cl, 1
je 0x100881c6
and cl, 0xfc
or eax, 0x200
mov byte [edi + 0x96], cl
mov dword [edi + 0x8c], eax
test dword [edx + 0xd0], 0x4000000
mov ecx, eax
je 0x100881f6
mov esi, dword [edx + 0x200]
test esi, esi
jns 0x100881f6
and esi, 0xfffff
or ecx, 0x100
mov dword [edi + 0x90], esi
mov dword [edi + 0x8c], ecx
mov eax, dword [edx + 0x170]
mov dword [edi + 0x88], eax
mov eax, dword [edx + 0xc8]
and eax, 4
or eax, 0
jne 0x10088215
or ecx, 1
jmp 0x10088218
or ecx, 2
mov dword [edi + 0x8c], ecx
mov eax, dword [edx + 0xc8]
and eax, 1
or eax, 0
jne 0x1008825c
lea eax, [edx + 0x268]
or ecx, 8
push eax
mov dword [edi + 0x8c], ecx
call dword [esp + 0x20]
mov eax, ebx
mov dword [ebp], 0x98
pop ebx
pop edi
pop esi
pop ebp
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.100f06e3
add esp, 0x64
ret
lea eax, [edx + 0x268]
or ecx, 0x10
push eax
mov dword [edi + 0x8c], ecx
call dword [esp + 0x20]
mov eax, ebx
mov dword [ebp], 0x98
pop ebx
pop edi
pop esi
pop ebp
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.100f06e3
add esp, 0x64
ret
lea eax, [esi + 0x584]
mov ebx, 0x66
push eax
call dword [esp + 0x20]
mov eax, ebx
mov dword [ebp], 0
pop ebx
pop edi
pop esi
pop ebp
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.100f06e3
add esp, 0x64
ret
mov dword [edi + 0x8c], ebx
test edx, edx
je 0x10088393
mov eax, dword [edx + 0x1a4]
mov dword [edi + 0x84], eax
mov ax, word [edx + 0x1aa]
mov word [edi + 0x94], ax
mov ecx, dword [edx + 0x94]
mov dword [edi + 0x88], ecx
movzx eax, word [edx + 0x74]
sub eax, 2
je 0x10088309
sub eax, 0x15
je 0x10088304
sub eax, 0x64
jne 0x10088312
lea eax, [ecx - 0xc]
jmp 0x1008830c
lea eax, [ecx - 0x34]
jmp 0x1008830c
lea eax, [ecx - 0x20]
mov dword [edi + 0x88], eax
test byte [edx + 0x1a8], 4
mov eax, ebx
mov ecx, ebx
setne al
inc eax
mov dword [edi + 0x8c], eax
test byte [edx + 0x1a8], 2
setne cl
lea ecx, [ecx*8 + 8]
or ecx, eax
mov dword [edi + 0x8c], ecx
mov al, byte [edx + 0x190]
test al, 1
je 0x1008835e
and al, 0xfc
or ecx, 0x200
mov byte [edi + 0x96], al
mov dword [edi + 0x8c], ecx
cmp word [edx + 0x74], 0x17
jne 0x10088435
mov eax, dword [edx + 0x18c]
test eax, eax
jns 0x10088435
and eax, 0xfffff
or ecx, 0x100
mov dword [edi + 0x90], eax
mov dword [edi + 0x8c], ecx
jmp 0x10088435
mov ax, word [esi + 0x48c]
xor ecx, ecx
mov word [edi + 0x94], ax
mov eax, dword [esi + 0x474]
mov dword [edi + 0x88], eax
mov al, byte [esi + 0x4b8]
test al, 1
je 0x100883d0
and al, 0xfc
mov dword [edi + 0x8c], 0x200
mov byte [edi + 0x96], al
mov ecx, 0x200
mov eax, dword [esi + 0x368]
test eax, eax
jns 0x100883f1
and eax, 0xfffff
or ecx, 0x100
mov dword [edi + 0x90], eax
mov dword [edi + 0x8c], ecx
mov eax, dword [esi + 0x4f0]
and eax, 4
or eax, 0
je 0x10088404
or ecx, 2
jmp 0x10088407
or ecx, 1
mov dword [edi + 0x8c], ecx
mov eax, dword [esi + 0x4f0]
and eax, 1
or eax, 0
je 0x10088420
or ecx, 0x10
jmp 0x10088423
or ecx, 8
mov dword [edi + 0x8c], ecx
mov eax, dword [esi + 0x3b0]
mov dword [edi + 0x84], eax
mov eax, dword [esi + 0x2e4]
mov dword [edi + 0x80], eax
lea eax, [esi + 0x584]
push eax
call dword [esp + 0x20]
mov eax, ebx
mov dword [ebp], 0x98
pop ebx
pop edi
pop esi
pop ebp
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.100f06e3
add esp, 0x64
ret
cmp dword [ebp], 0x10
jb 0x10088a74
mov edx, dword [esi + 0xd0]
mov ecx, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
test dl, 2
jne 0x100884c5
test edx, 0x400000
jne 0x100884c5
mov eax, dword [edi]
cmp eax, 2
jbe 0x10088553
push 1
push eax
push esi
call fcn.100b2350
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x100884f9
mov ebx, 2
mov dword [ebp], eax
mov eax, ebx
pop ebx
pop edi
pop esi
pop ebp
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.100f06e3
add esp, 0x64
ret
lea eax, [esi + 0x268]
push eax
call ecx
mov eax, dword [esp + 0x10]
mov esi, dword [eax + 0x214]
test esi, esi
je 0x1008853d
lea eax, [esi + 0x584]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [esp + 0x10]
add eax, 0x268
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, dword [esi + 0x42c]
mov dword [edi + 4], eax
mov eax, dword [esi + 0x434]
mov dword [edi + 8], eax
mov eax, dword [esi + 0x430]
mov dword [edi + 0xc], eax
lea eax, [esi + 0x584]
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, ebx
mov dword [ebp], 0x10
pop ebx
pop edi
pop esi
pop ebp
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.100f06e3
add esp, 0x64
ret
add eax, 0x268
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov esi, dword [esp + 0x10]
mov ecx, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [esi + 0xd0]
test al, 2
jne 0x10088574
test eax, 0x400000
jne 0x10088574
test al, 1
je 0x10088a74
cmp dword [edi], ebx
jne 0x10088a74
lea eax, [esi + 0x268]
push eax
call ecx
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0x144]
mov dword [edi + 4], eax
mov eax, dword [ecx + 0x140]
mov dword [edi + 8], eax
mov eax, dword [ecx + 0x13c]
mov dword [edi + 0xc], eax
lea eax, [ecx + 0x268]
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, ebx
mov dword [ebp], 0x10
pop ebx
pop edi
pop esi
pop ebp
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.100f06e3
add esp, 0x64
ret
cmp dword [ebp], 0x14
jb 0x10088a74
mov edx, dword [esi + 0xd0]
mov ecx, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
test dl, 2
jne 0x10088622
test edx, 0x400000
jne 0x10088622
mov eax, dword [edi]
cmp eax, 2
jbe 0x100886ce
push 1
push eax
push esi
call fcn.100b2350
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x10088656
mov ebx, 2
mov dword [ebp], eax
mov eax, ebx
pop ebx
pop edi
pop esi
pop ebp
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.100f06e3
add esp, 0x64
ret
lea eax, [esi + 0x268]
push eax
call ecx
mov eax, dword [esp + 0x10]
mov esi, dword [eax + 0x214]
test esi, esi
je 0x100886b8
lea eax, [esi + 0x584]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [esp + 0x10]
add eax, 0x268
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push dword [esi + 0x3c0]
call fcn.100acb70
mov dword [edi + 0xc], eax
add esp, 4
movzx eax, word [esi + 0x48a]
mov word [edi + 0x10], ax
movzx eax, word [esi + 0x39c]
mov word [edi + 0x12], ax
mov eax, dword [esi + 0x348]
mov dword [edi + 4], eax
mov eax, dword [esi + 0x34c]
mov dword [edi + 8], eax
lea eax, [esi + 0x584]
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, ebx
mov dword [ebp], 0x14
pop ebx
pop edi
pop esi
pop ebp
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.100f06e3
add esp, 0x64
ret
add eax, 0x268
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov esi, dword [esp + 0x10]
mov ecx, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [esi + 0xd0]
test al, 2
jne 0x100886ef
test eax, 0x400000
jne 0x100886ef
test al, 1
je 0x10088a74
cmp dword [edi], ebx
jne 0x10088a74
lea eax, [esi + 0x268]
push eax
call ecx
mov eax, dword [esp + 0x10]
push dword [eax + 0x1e0]
call fcn.100acb70
mov esi, dword [esp + 0x14]
add esp, 4
mov dword [edi + 0xc], eax
mov ax, word [esi + 0x176]
mov word [edi + 0x10], ax
xor eax, eax
mov word [edi + 0x12], ax
mov dword [edi + 4], eax
mov eax, dword [esi + 0xc4]
mov edx, dword [eax + 0x94]
mov ecx, dword [eax + 0x8c]
sub edx, dword [eax + 0x90]
sub ecx, dword [eax + 0x88]
lea eax, [esi + 0x268]
cmp ecx, edx
push eax
cmovge ecx, edx
mov dword [edi + 8], ecx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, ebx
mov dword [ebp], 0x14
pop ebx
pop edi
pop esi
pop ebp
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.100f06e3
add esp, 0x64
ret
cmp dword [ebp], 0x80
jb 0x10088a74
mov edx, dword [esi + 0xd0]
mov ecx, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
test dl, 2
jne 0x100887d5
test edx, 0x400000
jne 0x100887d5
mov eax, dword [edi + 0x1c]
cmp eax, 2
jbe 0x1008885d
push 1
push eax
push esi
call fcn.100b2350
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x10088809
mov ebx, 2
mov dword [ebp], eax
mov eax, ebx
pop ebx
pop edi
pop esi
pop ebp
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.100f06e3
add esp, 0x64
ret
lea eax, [esi + 0x268]
push eax
call ecx
mov eax, dword [esp + 0x10]
mov esi, dword [eax + 0x214]
test esi, esi
je 0x10088847
lea eax, [esi + 0x584]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [esp + 0x10]
add eax, 0x268
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
movups xmm0, xmmword [esi + 0x5c]
movups xmmword [edi], xmm0
movups xmm0, xmmword [esi + 0x6c]
movups xmmword [edi + 0x10], xmm0
mov eax, dword [esi + 0x7c]
mov dword [edi + 0x20], eax
lea eax, [esi + 0x584]
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, ebx
mov dword [ebp], 0x80
pop ebx
pop edi
pop esi
pop ebp
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.100f06e3
add esp, 0x64
ret
add eax, 0x268
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov esi, dword [esp + 0x10]
mov ecx, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [esi + 0xd0]
test al, 2
jne 0x1008887f
test eax, 0x400000
jne 0x1008887f
test al, 1
je 0x10088a74
cmp dword [edi + 0x1c], ebx
jne 0x10088a74
lea eax, [esi + 0x268]
push eax
call ecx
mov ecx, dword [esp + 0x10]
movups xmm0, xmmword [ecx + 0x238]
movups xmmword [edi], xmm0
movups xmm0, xmmword [ecx + 0x248]
movups xmmword [edi + 0x10], xmm0
mov eax, dword [ecx + 0x258]
mov dword [edi + 0x20], eax
lea eax, [ecx + 0x268]
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, ebx
mov dword [ebp], 0x80
pop ebx
pop edi
pop esi
pop ebp
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.100f06e3
add esp, 0x64
ret
cmp dword [ebp], 8
jb 0x10088a74
lea eax, [esi + 0x268]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, dword [esp + 0x10]
movzx eax, word [ecx + 0x17c]
mov word [edi], ax
movzx eax, word [ecx + 0x17e]
mov word [edi + 2], ax
movzx eax, word [ecx + 0x174]
mov word [edi + 4], ax
movzx eax, word [ecx + 0x148]
mov word [edi + 6], ax
lea eax, [ecx + 0x268]
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, ebx
mov dword [ebp], 8
pop ebx
pop edi
pop esi
pop ebp
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.100f06e3
add esp, 0x64
ret
cmp dword [ebp], 0x88
jb 0x10088a74
mov eax, dword [esi + 0xd0]
test al, 2
jne 0x1008899e
test eax, 0x400000
jne 0x1008899e
mov eax, dword [edi + 0x80]
cmp eax, 2
jbe 0x10088a74
push 1
push eax
push esi
call fcn.100b2350
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x100889da
mov ebx, 2
mov dword [ebp], eax
mov eax, ebx
pop ebx
pop edi
pop esi
pop ebp
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.100f06e3
add esp, 0x64
ret
lea eax, [esi + 0x268]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [esp + 0x10]
mov esi, dword [eax + 0x214]
test esi, esi
je 0x10088a68
lea eax, [esi + 0x584]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [esp + 0x10]
add eax, 0x268
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ecx, dword [esi + 0x224]
add ecx, 0x74
movzx eax, word [ecx]
sub eax, 2
je 0x10088a19
sub eax, 0x15
je 0x10088a01
sub eax, 0x64
jne 0x10088a3f
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [edi], eax
mov dword [edi + 4], ecx
jmp 0x10088a3f
movups xmm0, xmmword [ecx]
movups xmmword [edi], xmm0
movq xmm0, qword [ecx + 0x10]
movq qword [edi + 0x10], xmm0
mov eax, dword [ecx + 0x18]
mov dword [edi + 0x18], eax
jmp 0x10088a3f
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0xc8]
and eax, 0x800000
or eax, 0
je 0x10088a39
push edi
push ecx
call fcn.10092160
add esp, 8
jmp 0x10088a3f
movups xmm0, xmmword [ecx]
movups xmmword [edi], xmm0
lea eax, [esi + 0x584]
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, ebx
mov dword [ebp], 0x88
pop ebx
pop edi
pop esi
pop ebp
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.100f06e3
add esp, 0x64
ret
add eax, 0x268
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ebx, 0x16
mov dword [ebp], 0
mov eax, ebx
pop ebx
pop edi
pop esi
pop ebp
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.100f06e3
add esp, 0x64
ret
cmp dword [ebp], 4
jb 0x10088a74
lea eax, [esi + 0x268]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, dword [esp + 0x10]
mov esi, dword [ecx + 0x168]
test esi, esi
jne 0x10088adf
lea eax, [ecx + 0x268]
mov dword [ebp], 4
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, ebx
pop ebx
pop edi
pop esi
pop ebp
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.100f06e3
add esp, 0x64
ret
movzx edx, word [esi + 2]
lea eax, [esi + 2]
lea ecx, [edx*2 + 4]
cmp dword [ebp], ecx
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x10]
jae 0x10088b11
lea eax, [ecx + 0x268]
mov ebx, 0x16
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x10088a79
mov dword [edi], edx
xor ebp, ebp
xor edx, edx
cmp bp, word [eax]
mov ebp, dword [esp + 0x28]
jae 0x10088b47
lea ecx, [edi + 4]
sub esi, edi
mov edi, eax
nop word [eax + eax]
mov ax, word [esi + ecx]
lea ecx, [ecx + 2]
mov word [ecx - 2], ax
inc edx
movzx eax, word [edi]
cmp edx, eax
jl 0x10088b30
mov ecx, dword [esp + 0x10]
lea eax, [ecx + 0x268]
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, dword [esp + 0x2c]
mov dword [ebp], eax
mov eax, ebx
pop ebx
pop edi
pop esi
pop ebp
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.100f06e3
add esp, 0x64
ret
cmp dword [ebp], 8
jb 0x10088a74
mov edx, dword [esi + 0xd0]
mov ecx, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
test dl, 2
jne 0x10088bb4
test edx, 0x400000
jne 0x10088bb4
mov eax, dword [edi]
cmp eax, 2
jbe 0x10088c14
push 1
push eax
push esi
call fcn.100b2350
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x10088be8
lea ebx, [eax + 2]
jmp 0x10088a79
lea eax, [esi + 0x268]
push eax
call ecx
mov eax, dword [esp + 0x10]
mov esi, dword [eax + 0x214]
test esi, esi
je 0x10088bfe
lea eax, [esi + 0x584]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [esp + 0x10]
add eax, 0x268
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ax, word [esi + 0x460]
mov word [edi + 4], ax
lea eax, [esi + 0x584]
jmp 0x10087a13
add eax, 0x268
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov esi, dword [esp + 0x10]
mov ecx, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [esi + 0xd0]
test al, 2
jne 0x10088c35
test eax, 0x400000
jne 0x10088c35
test al, 1
je 0x10088a74
cmp dword [edi], ebx
jne 0x10088a74
lea eax, [esi + 0x268]
push eax
call ecx
mov ecx, dword [esp + 0x10]
mov ax, word [ecx + 0x16c]
mov word [edi + 4], ax
jmp 0x10087a0d
cmp dword [ebp], 8
jb 0x10088a74
mov eax, dword [esi + 0xd0]
test al, 2
jne 0x10088c92
test eax, 0x400000
jne 0x10088c92
mov eax, dword [edi]
cmp eax, 2
jbe 0x10088c8e
push 1
push eax
push esi
call fcn.100b2350
mov edx, eax
add esp, 0xc
test edx, edx
jne 0x10088cd2
lea ebx, [eax + 2]
jmp 0x10088a79
xor edx, edx
jmp 0x10088cd6
lea eax, [esi + 0x268]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0x214]
mov dword [esp + 0x60], eax
test eax, eax
je 0x10088cc1
add eax, 0x584
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, dword [esp + 0x10]
lea eax, [ecx + 0x268]
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov edx, dword [esp + 0x60]
mov esi, dword [esp + 0x10]
movzx eax, word [edi + 4]
dec eax
cmp eax, 0xd
ja case.default.0x10088ce4
jmp dword [eax*4 + 0x1008bc1c]
mov dword [esp + 0x20], 0x800
mov ecx, 0x800
jmp 0x10088dc5
mov dword [esp + 0x20], 0x1000
mov ecx, 0x1000
jmp 0x10088dc5
mov dword [esp + 0x20], 0x2000
mov ecx, 0x2000
jmp 0x10088dc5
mov dword [esp + 0x20], 0x4000
mov ecx, 0x4000
jmp 0x10088dc5
mov dword [esp + 0x20], 0x8000
mov ecx, 0x8000
jmp 0x10088dc5
mov dword [esp + 0x20], 0x10000
mov ecx, 0x10000
jmp 0x10088dc5
mov dword [esp + 0x20], 0x20000
mov ecx, 0x20000
jmp 0x10088dc5
mov dword [esp + 0x20], 0x40000
mov ecx, 0x40000
jmp 0x10088dc5
mov dword [esp + 0x20], 0x80000
mov ecx, 0x80000
jmp 0x10088dc5
mov dword [esp + 0x20], 0x4000000
mov ecx, 0x4000000
jmp 0x10088dc5
mov ebx, 0x81
jmp 0x10088e4a
mov dword [esp + 0x20], 0x20000000
mov ecx, 0x20000000
jmp 0x10088dc5
mov dword [esp + 0x20], 0x40000000
mov ecx, 0x40000000
jmp 0x10088dc5
mov dword [esp + 0x20], getsockname
mov ecx, bind
test edx, edx
je 0x10088de3
mov eax, ecx
and eax, dword [edx + 0x4f0]
cmp eax, ecx
jne 0x10088ddc
mov al, 1
mov byte [edi + 6], al
jmp 0x10088e4e
xor al, al
mov byte [edi + 6], al
jmp 0x10088e4e
mov eax, dword [esi + 0xd0]
test al, 2
jne 0x10088e04
test eax, 0x400000
jne 0x10088e04
test al, 1
je 0x10088a74
cmp dword [edi], ebx
jne 0x10088a74
lea eax, [esi + 0x268]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
and eax, dword [esi + 0xc8]
cmp eax, dword [esp + 0x20]
jne 0x10088e35
mov al, 1
mov byte [edi + 6], al
lea eax, [esi + 0x268]
jmp 0x10087a13
xor al, al
mov byte [edi + 6], al
lea eax, [esi + 0x268]
jmp 0x10087a13
mov ebx, 0x16
test edx, edx
je 0x10088e5b
lea eax, [edx + 0x584]
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test ebx, ebx
jne 0x10088a79
jmp 0x10087a1a
cmp dword [ebp], 4
jb 0x10088a74
lea eax, [esi + 0x268]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0xc8]
and eax, 0x8000000
or eax, 0
je 0x10088e9d
mov eax, 1
jmp 0x10087f0e
xor eax, eax
jmp 0x10087f0e
cmp dword [ebp], 4
jb 0x10088a74
lea eax, [esi + 0x268]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0xc8]
and eax, 0x10000000
jmp 0x10088e8e
cmp dword [ebp], 0x10
jb 0x10088a74
mov edx, dword [esi + 0xd0]
mov ecx, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
test dl, 2
jne 0x10088f15
test edx, 0x400000
jne 0x10088f15
mov eax, dword [edi + 0xc]
cmp eax, 2
jbe 0x10088fa8
push 1
push eax
push esi
call fcn.100b2350
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x10088f49
lea ebx, [eax + 2]
jmp 0x10088a79
lea eax, [esi + 0x268]
push eax
call ecx
mov eax, dword [esp + 0x10]
mov esi, dword [eax + 0x214]
test esi, esi
je 0x10088f92
lea eax, [esi + 0x584]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [esp + 0x10]
add eax, 0x268
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ax, word [esi + 0x5c]
mov word [edi], ax
movzx eax, word [esi + 0x60]
and eax, 0xfff0
mov word [edi + 2], ax
mov eax, dword [esi + 0x64]
mov dword [edi + 4], eax
mov eax, dword [esi + 0x68]
mov dword [edi + 8], eax
lea eax, [esi + 0x584]
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, ebx
mov dword [ebp], 0x10
pop ebx
pop edi
pop esi
pop ebp
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.100f06e3
add esp, 0x64
ret
add eax, 0x268
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov esi, dword [esp + 0x10]
mov ecx, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [esi + 0xd0]
test al, 2
jne 0x10088fca
test eax, 0x400000
jne 0x10088fca
test al, 1
je 0x10088a74
cmp dword [edi + 0xc], ebx
jne 0x10088a74
lea eax, [esi + 0x268]
push eax
call ecx
mov ecx, dword [esp + 0x10]
mov ax, word [ecx + 0x238]
mov word [edi], ax
movzx eax, word [ecx + 0x23c]
and eax, 0xfff0
mov word [edi + 2], ax
mov eax, dword [ecx + 0x240]
mov dword [edi + 4], eax
mov eax, dword [ecx + 0x244]
mov dword [edi + 8], eax
lea eax, [ecx + 0x268]
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, ebx
mov dword [ebp], 0x10
pop ebx
pop edi
pop esi
pop ebp
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.100f06e3
add esp, 0x64
ret
cmp dword [ebp], 0xc
jb 0x10088a74
mov edx, dword [esi + 0xd0]
mov ecx, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
test dl, 2
jne 0x10089071
test edx, 0x400000
jne 0x10089071
mov eax, dword [edi + 8]
cmp eax, 2
jbe 0x100890d1
push 1
push eax
push esi
call fcn.100b2350
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x100890a5
lea ebx, [eax + 2]
jmp 0x10088a79
lea eax, [esi + 0x268]
push eax
call ecx
mov eax, dword [esp + 0x10]
mov esi, dword [eax + 0x214]
test esi, esi
je 0x100890bb
lea eax, [esi + 0x584]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [esp + 0x10]
add eax, 0x268
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ax, word [esi + 0x60]
and ax, 0xf
mov word [edi], ax
mov eax, dword [esi + 0x6c]
mov dword [edi + 4], eax
jmp 0x1008aa42
add eax, 0x268
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov esi, dword [esp + 0x10]
mov ecx, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [esi + 0xd0]
test al, 2
jne 0x100890f3
test eax, 0x400000
jne 0x100890f3
test al, 1
je 0x10088a74
cmp dword [edi + 8], ebx
jne 0x10088a74
lea eax, [esi + 0x268]
push eax
call ecx
mov ecx, dword [esp + 0x10]
mov ax, word [ecx + 0x23c]
and ax, 0xf
mov word [edi], ax
mov eax, dword [ecx + 0x248]
mov dword [edi + 4], eax
lea eax, [ecx + 0x268]
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, ebx
mov dword [ebp], 0xc
pop ebx
pop edi
pop esi
pop ebp
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.100f06e3
add esp, 0x64
ret
cmp dword [ebp], 0x90
jb 0x10088a74
mov ecx, dword [esi + 0xd0]
mov eax, dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov dword [esp + 0x1c], eax
test cl, 2
jne 0x10089196
test ecx, 0x400000
jne 0x10089196
mov eax, dword [edi + 0x80]
cmp eax, 2
jbe 0x10089190
push 1
push eax
push esi
call fcn.100b2350
add esp, 0xc
mov dword [esp + 0x14], eax
test eax, eax
jne 0x100891d0
lea ebx, [eax + 2]
jmp 0x10088a79
mov dword [esp + 0x14], ebx
jmp 0x100891d4
lea eax, [esi + 0x268]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0x214]
mov dword [esp + 0x14], eax
test eax, eax
je 0x100891c5
add eax, 0x584
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, dword [esp + 0x10]
lea eax, [ecx + 0x268]
push eax
call dword [esp + 0x20]
mov esi, dword [esp + 0x10]
cmp word [edi], 0x17
mov eax, 0xffff
jne 0x10089227
cmp word [edi + 8], bx
jne 0x1008921f
cmp word [edi + 0xa], bx
jne 0x1008921f
cmp word [edi + 0xc], bx
jne 0x1008921f
cmp word [edi + 0xe], bx
jne 0x1008921f
cmp word [edi + 0x10], bx
jne 0x1008921f
cmp word [edi + 0x12], ax
jne 0x1008921f
lea eax, [esp + 0x60]
push edi
push eax
call fcn.10092120
mov esi, dword [esp + 0x18]
lea edx, [esp + 0x68]
add esp, 8
mov dword [esp + 0x18], edx
jmp 0x1008922d
mov edx, edi
mov dword [esp + 0x18], edx
jmp 0x1008922d
mov edx, edi
mov dword [esp + 0x18], edi
cmp dword [esp + 0x14], ebx
je 0x10089249
mov esi, dword [esp + 0x14]
push edx
push esi
call fcn.100b2500
mov ecx, eax
add esp, 8
mov dword [esp + 0x24], ecx
jmp 0x1008928f
mov dword [esp + 0x24], ebx
lea eax, [esi + 0x2b0]
mov ecx, 1
lock xadd dword [eax], ecx
push 0
push 0
lea eax, [esp + 0x2c]
push eax
push edx
lea eax, [esp + 0x20]
push eax
call fcn.100b1d00
mov esi, eax
add esp, 0x14
test esi, esi
jne 0x1008928b
mov eax, dword [esp + 0x10]
or ecx, 0xffffffff
add eax, 0x2b0
lock xadd dword [eax], ecx
jmp 0x100892fc
mov ecx, dword [esp + 0x24]
test ecx, ecx
jne 0x1008939e
mov eax, dword [esp + 0x18]
movzx edx, word [eax]
cmp edx, 2
je 0x100892d6
cmp edx, 0x17
jne 0x100892cd
add eax, 8
push eax
call fcn.10086ab0
add esp, 4
test al, al
jne 0x100892f0
lea eax, [esi + 0x584]
mov ebx, 0x16
push eax
call dword [esp + 0x20]
jmp 0x10088a79
cmp edx, 0x7b
jne 0x10089385
cmp dword [eax + 4], ebx
je 0x100892f4
lea eax, [esi + 0x584]
mov ebx, 0x16
push eax
call dword [esp + 0x20]
jmp 0x10088a79
mov ecx, dword [esp + 0x24]
test esi, esi
jne 0x1008939a
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0xd0]
test al, 2
jne 0x10089325
test eax, 0x400000
jne 0x10089325
test al, 1
je 0x10088a74
cmp dword [edi + 0x80], ebx
jne 0x10088a74
lea eax, [ecx + 0x268]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, dword [esp + 0x10]
movzx eax, word [ecx + 0x178]
mov word [edi + 0x84], ax
movzx eax, word [ecx + 0x17a]
mov word [edi + 0x86], ax
mov eax, 0xffff
mov word [edi + 0x88], ax
lea eax, [ecx + 0x268]
push eax
call dword [esp + 0x20]
mov eax, ebx
mov dword [ebp], 0x90
pop ebx
pop edi
pop esi
pop ebp
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.100f06e3
add esp, 0x64
ret
lea eax, [esi + 0x584]
mov ebx, 0x66
push eax
call dword [esp + 0x20]
jmp 0x10088a79
test ecx, ecx
je 0x100893b5
mov ax, word [ecx + 0x1aa]
mov word [edi + 0x84], ax
movzx eax, word [ecx + 0x1ac]
jmp 0x100893ca
mov ax, word [esi + 0x48c]
mov word [edi + 0x84], ax
movzx eax, word [esi + 0x48e]
mov word [edi + 0x86], ax
mov eax, 0xffff
mov word [edi + 0x88], ax
mov eax, dword [esi + 0x2e4]
mov dword [edi + 0x80], eax
lea eax, [esi + 0x584]
push eax
call dword [esp + 0x20]
mov eax, ebx
mov dword [ebp], 0x90
pop ebx
pop edi
pop esi
pop ebp
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.100f06e3
add esp, 0x64
ret
cmp dword [ebp], 0x88
jb 0x10088a74
mov ecx, dword [esi + 0xd0]
mov eax, dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov dword [esp + 0x1c], eax
test cl, 2
jne 0x10089466
test ecx, 0x400000
jne 0x10089466
mov eax, dword [edi + 0x80]
cmp eax, 2
jbe 0x10089460
push 1
push eax
push esi
call fcn.100b2350
add esp, 0xc
mov dword [esp + 0x14], eax
test eax, eax
jne 0x100894a0
lea ebx, [eax + 2]
jmp 0x10088a79
mov dword [esp + 0x14], ebx
jmp 0x100894a4
lea eax, [esi + 0x268]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0x214]
mov dword [esp + 0x14], eax
test eax, eax
je 0x10089495
add eax, 0x584
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, dword [esp + 0x10]
lea eax, [ecx + 0x268]
push eax
call dword [esp + 0x20]
mov esi, dword [esp + 0x10]
cmp word [edi], 0x17
jne 0x100894f7
cmp word [edi + 8], bx
jne 0x100894ef
cmp word [edi + 0xa], bx
jne 0x100894ef
cmp word [edi + 0xc], bx
jne 0x100894ef
cmp word [edi + 0xe], bx
jne 0x100894ef
cmp word [edi + 0x10], bx
jne 0x100894ef
mov eax, 0xffff
cmp word [edi + 0x12], ax
jne 0x100894ef
lea eax, [esp + 0x60]
push edi
push eax
call fcn.10092120
mov esi, dword [esp + 0x18]
lea edx, [esp + 0x68]
add esp, 8
mov dword [esp + 0x18], edx
jmp 0x100894fd
mov edx, edi
mov dword [esp + 0x18], edx
jmp 0x100894fd
mov edx, edi
mov dword [esp + 0x18], edi
cmp dword [esp + 0x14], ebx
je 0x10089519
mov esi, dword [esp + 0x14]
push edx
push esi
call fcn.100b2500
mov ecx, eax
add esp, 8
mov dword [esp + 0x24], ecx
jmp 0x1008955f
mov dword [esp + 0x24], ebx
lea eax, [esi + 0x2b0]
mov ecx, 1
lock xadd dword [eax], ecx
push 0
push 0
lea eax, [esp + 0x2c]
push eax
push edx
lea eax, [esp + 0x20]
push eax
call fcn.100b1d00
mov esi, eax
add esp, 0x14
test esi, esi
jne 0x1008955b
mov eax, dword [esp + 0x10]
or ecx, 0xffffffff
add eax, 0x2b0
lock xadd dword [eax], ecx
jmp 0x100895cc
mov ecx, dword [esp + 0x24]
test ecx, ecx
jne 0x10089654
mov eax, dword [esp + 0x18]
movzx edx, word [eax]
cmp edx, 2
je 0x100895a6
cmp edx, 0x17
jne 0x1008959d
add eax, 8
push eax
call fcn.10086ab0
add esp, 4
test al, al
jne 0x100895c0
lea eax, [esi + 0x584]
mov ebx, 0x16
push eax
call dword [esp + 0x20]
jmp 0x10088a79
cmp edx, 0x7b
jne 0x1008963b
cmp dword [eax + 4], ebx
je 0x100895c4
lea eax, [esi + 0x584]
mov ebx, 0x16
push eax
call dword [esp + 0x20]
jmp 0x10088a79
mov ecx, dword [esp + 0x24]
test esi, esi
jne 0x10089650
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0xd0]
test al, 2
jne 0x100895f5
test eax, 0x400000
jne 0x100895f5
test al, 1
je 0x10088a74
cmp dword [edi + 0x80], ebx
jne 0x10088a74
lea eax, [ecx + 0x268]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, dword [esp + 0x10]
mov ax, word [ecx + 0x208]
mov word [edi + 0x84], ax
lea eax, [ecx + 0x268]
push eax
call dword [esp + 0x20]
mov eax, ebx
mov dword [ebp], 0x88
pop ebx
pop edi
pop esi
pop ebp
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.100f06e3
add esp, 0x64
ret
lea eax, [esi + 0x584]
mov ebx, 0x66
push eax
call dword [esp + 0x20]
jmp 0x10088a79
test ecx, ecx
je 0x1008965d
movzx eax, word [ecx + 0x1b0]
jmp 0x10089664
movzx eax, word [esi + 0x4fc]
mov word [edi + 0x84], ax
lea eax, [esi + 0x584]
push eax
call dword [esp + 0x20]
mov eax, ebx
mov dword [ebp], 0x88
pop ebx
pop edi
pop esi
pop ebp
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.100f06e3
add esp, 0x64
ret
cmp dword [ebp], 8
jb 0x10088a74
mov edx, dword [esi + 0xd0]
mov ecx, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
test dl, 2
jne 0x100896d6
test edx, 0x400000
jne 0x100896d6
mov eax, dword [edi]
cmp eax, 2
jbe 0x10089735
push 1
push eax
push esi
call fcn.100b2350
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x1008970a
lea ebx, [eax + 2]
jmp 0x10088a79
lea eax, [esi + 0x268]
push eax
call ecx
mov eax, dword [esp + 0x10]
mov esi, dword [eax + 0x214]
test esi, esi
je 0x1008971f
lea eax, [esi + 0x584]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [esp + 0x10]
add eax, 0x268
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
movzx eax, byte [esi + 0x4bb]
mov dword [edi + 4], eax
lea eax, [esi + 0x584]
jmp 0x10087a13
add eax, 0x268
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov esi, dword [esp + 0x10]
mov ecx, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [esi + 0xd0]
test al, 2
jne 0x10089756
test eax, 0x400000
jne 0x10089756
test al, 1
je 0x10088a74
cmp dword [edi], ebx
jne 0x10088a74
lea eax, [esi + 0x268]
push eax
call ecx
mov ecx, dword [esp + 0x10]
movzx eax, byte [ecx + 0x230]
jmp 0x10087a0a
cmp dword [ebp], 8
jb 0x10088a74
mov edx, dword [esi + 0xd0]
mov ecx, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
test dl, 2
jne 0x100897b3
test edx, 0x400000
jne 0x100897b3
mov eax, dword [edi]
cmp eax, 2
jbe 0x10089812
push 1
push eax
push esi
call fcn.100b2350
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x100897e7
lea ebx, [eax + 2]
jmp 0x10088a79
lea eax, [esi + 0x268]
push eax
call ecx
mov eax, dword [esp + 0x10]
mov esi, dword [eax + 0x214]
test esi, esi
je 0x100897fc
lea eax, [esi + 0x584]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [esp + 0x10]
add eax, 0x268
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
movzx eax, byte [esi + 0x4bc]
mov dword [edi + 4], eax
lea eax, [esi + 0x584]
jmp 0x10087a13
add eax, 0x268
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov esi, dword [esp + 0x10]
mov ecx, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [esi + 0xd0]
test al, 2
jne 0x10089833
test eax, 0x400000
jne 0x10089833
test al, 1
je 0x10088a74
cmp dword [edi], ebx
jne 0x10088a74
lea eax, [esi + 0x268]
push eax
call ecx
mov ecx, dword [esp + 0x10]
movzx eax, byte [ecx + 0x231]
jmp 0x10087a0a
cmp dword [ebp], 8
jb 0x10088a74
mov edx, dword [esi + 0xd0]
mov ecx, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
test dl, 2
jne 0x10089890
test edx, 0x400000
jne 0x10089890
mov eax, dword [edi]
cmp eax, 2
jbe 0x100898ef
push 1
push eax
push esi
call fcn.100b2350
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x100898c4
lea ebx, [eax + 2]
jmp 0x10088a79
lea eax, [esi + 0x268]
push eax
call ecx
mov eax, dword [esp + 0x10]
mov esi, dword [eax + 0x214]
test esi, esi
je 0x100898d9
lea eax, [esi + 0x584]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [esp + 0x10]
add eax, 0x268
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
movzx eax, byte [esi + 0x4bd]
mov dword [edi + 4], eax
lea eax, [esi + 0x584]
jmp 0x10087a13
add eax, 0x268
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov esi, dword [esp + 0x10]
mov ecx, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [esi + 0xd0]
test al, 2
jne 0x10089910
test eax, 0x400000
jne 0x10089910
test al, 1
je 0x10088a74
cmp dword [edi], ebx
jne 0x10088a74
lea eax, [esi + 0x268]
push eax
call ecx
mov ecx, dword [esp + 0x10]
movzx eax, byte [ecx + 0x232]
jmp 0x10087a0a
cmp dword [ebp], 8
jb 0x10088a74
mov edx, dword [esi + 0xd0]
mov ecx, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
test dl, 2
jne 0x1008996d
test edx, 0x400000
jne 0x1008996d
mov eax, dword [edi]
cmp eax, 2
jbe 0x100899cc
push 1
push eax
push esi
call fcn.100b2350
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x100899a1
lea ebx, [eax + 2]
jmp 0x10088a79
lea eax, [esi + 0x268]
push eax
call ecx
mov eax, dword [esp + 0x10]
mov esi, dword [eax + 0x214]
test esi, esi
je 0x100899b6
lea eax, [esi + 0x584]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [esp + 0x10]
add eax, 0x268
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
movzx eax, byte [esi + 0x4be]
mov dword [edi + 4], eax
lea eax, [esi + 0x584]
jmp 0x10087a13
add eax, 0x268
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov esi, dword [esp + 0x10]
mov ecx, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [esi + 0xd0]
test al, 2
jne 0x100899ed
test eax, 0x400000
jne 0x100899ed
test al, 1
je 0x10088a74
cmp dword [edi], ebx
jne 0x10088a74
lea eax, [esi + 0x268]
push eax
call ecx
mov ecx, dword [esp + 0x10]
movzx eax, byte [ecx + 0x234]
jmp 0x10087a0a
cmp dword [ebp], 8
jb 0x10088a74
mov edx, dword [esi + 0xd0]
mov ecx, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
test dl, 2
jne 0x10089a4a
test edx, 0x400000
jne 0x10089a4a
mov eax, dword [edi]
cmp eax, 2
jbe 0x10089aa9
push 1
push eax
push esi
call fcn.100b2350
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x10089a7e
lea ebx, [eax + 2]
jmp 0x10088a79
lea eax, [esi + 0x268]
push eax
call ecx
mov eax, dword [esp + 0x10]
mov esi, dword [eax + 0x214]
test esi, esi
je 0x10089a93
lea eax, [esi + 0x584]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [esp + 0x10]
add eax, 0x268
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
movzx eax, byte [esi + 0x4bf]
mov dword [edi + 4], eax
lea eax, [esi + 0x584]
jmp 0x10087a13
add eax, 0x268
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov esi, dword [esp + 0x10]
mov ecx, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [esi + 0xd0]
test al, 2
jne 0x10089aca
test eax, 0x400000
jne 0x10089aca
test al, 1
je 0x10088a74
cmp dword [edi], ebx
jne 0x10088a74
lea eax, [esi + 0x268]
push eax
call ecx
mov ecx, dword [esp + 0x10]
movzx eax, byte [ecx + 0x235]
jmp 0x10087a0a
cmp dword [ebp], 8
jb 0x10088a74
mov edx, dword [esi + 0xd0]
mov ecx, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
test dl, 2
jne 0x10089b27
test edx, 0x400000
jne 0x10089b27
mov eax, dword [edi]
cmp eax, 2
jbe 0x10089b86
push 1
push eax
push esi
call fcn.100b2350
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x10089b5b
lea ebx, [eax + 2]
jmp 0x10088a79
lea eax, [esi + 0x268]
push eax
call ecx
mov eax, dword [esp + 0x10]
mov esi, dword [eax + 0x214]
test esi, esi
je 0x10089b70
lea eax, [esi + 0x584]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [esp + 0x10]
add eax, 0x268
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
movzx eax, byte [esi + 0x4c0]
mov dword [edi + 4], eax
lea eax, [esi + 0x584]
jmp 0x10087a13
add eax, 0x268
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov esi, dword [esp + 0x10]
mov ecx, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [esi + 0xd0]
test al, 2
jne 0x10089ba7
test eax, 0x400000
jne 0x10089ba7
test al, 1
je 0x10088a74
cmp dword [edi], ebx
jne 0x10088a74
lea eax, [esi + 0x268]
push eax
call ecx
mov ecx, dword [esp + 0x10]
movzx eax, byte [ecx + 0x236]
jmp 0x10087a0a
cmp dword [ebp], 8
jb 0x10088a74
mov edx, dword [esi + 0xd0]
mov ecx, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
test dl, 2
jne 0x10089c04
test edx, 0x400000
jne 0x10089c04
mov eax, dword [edi]
cmp eax, 2
jbe 0x10089c63
push 1
push eax
push esi
call fcn.100b2350
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x10089c38
lea ebx, [eax + 2]
jmp 0x10088a79
lea eax, [esi + 0x268]
push eax
call ecx
mov eax, dword [esp + 0x10]
mov esi, dword [eax + 0x214]
test esi, esi
je 0x10089c4d
lea eax, [esi + 0x584]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [esp + 0x10]
add eax, 0x268
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
movzx eax, byte [esi + 0x4c1]
mov dword [edi + 4], eax
lea eax, [esi + 0x584]
jmp 0x10087a13
add eax, 0x268
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov esi, dword [esp + 0x10]
mov ecx, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [esi + 0xd0]
test al, 2
jne 0x10089c84
test eax, 0x400000
jne 0x10089c84
test al, 1
je 0x10088a74
cmp dword [edi], ebx
jne 0x10088a74
lea eax, [esi + 0x268]
push eax
call ecx
mov ecx, dword [esp + 0x10]
movzx eax, byte [ecx + 0x237]
jmp 0x10087a0a
cmp dword [ebp], 8
jb 0x10088a74
mov edx, dword [esi + 0xd0]
mov ecx, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
test dl, 2
jne 0x10089ce1
test edx, 0x400000
jne 0x10089ce1
mov eax, dword [edi]
cmp eax, 2
jbe 0x10089d3f
push 1
push eax
push esi
call fcn.100b2350
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x10089d15
lea ebx, [eax + 2]
jmp 0x10088a79
lea eax, [esi + 0x268]
push eax
call ecx
mov eax, dword [esp + 0x10]
mov esi, dword [eax + 0x214]
test esi, esi
je 0x10089d29
lea eax, [esi + 0x584]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [esp + 0x10]
add eax, 0x268
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, dword [esi + 0x4f8]
mov dword [edi + 4], eax
lea eax, [esi + 0x584]
jmp 0x10087a13
add eax, 0x268
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov esi, dword [esp + 0x10]
mov ecx, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [esi + 0xd0]
test al, 2
jne 0x10089d60
test eax, 0x400000
jne 0x10089d60
test al, 1
je 0x10088a74
cmp dword [edi], ebx
jne 0x10088a74
lea eax, [esi + 0x268]
push eax
call ecx
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0x224]
jmp 0x10087a0a
cmp dword [ebp], 0xb0
jb 0x10088a74
mov eax, dword [esi + 0xd0]
test al, 2
jne 0x10089dbf
test eax, 0x400000
jne 0x10089dbf
mov eax, dword [edi]
cmp eax, 2
jbe 0x10088a74
push 1
push eax
push esi
call fcn.100b2350
mov esi, eax
mov dword [esp + 0x24], eax
add esp, 0xc
test esi, esi
jne 0x10089dff
lea ebx, [eax + 2]
jmp 0x10088a79
lea eax, [esi + 0x268]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [esp + 0x10]
mov esi, dword [eax + 0x214]
mov dword [esp + 0x18], esi
test esi, esi
je 0x10088a68
lea eax, [esi + 0x584]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [esp + 0x10]
add eax, 0x268
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push dword [esi + 0x30]
add esi, 0x30
call fcn.100a7cf0
mov ecx, dword [esp + 0x1c]
mov dword [edi + 4], eax
push esi
push ecx
mov eax, dword [ecx + 0x2e4]
mov dword [edi], eax
mov eax, dword [ecx + 0x348]
mov dword [edi + 8], eax
movzx eax, word [ecx + 0x37c]
mov word [edi + 0xc], ax
movzx eax, word [ecx + 0x3ac]
add ax, word [ecx + 0x38c]
mov word [edi + 0xe], ax
movzx eax, word [ecx + 0x480]
mov word [edi + 0x10], ax
movzx eax, word [ecx + 0x482]
mov word [edi + 0x12], ax
call fcn.10097ac0
mov esi, dword [esp + 0x24]
add esp, 0xc
mov dword [edi + 0x14], eax
mov edx, dword [esi + 0x224]
test edx, edx
je 0x10089f61
movzx eax, word [edx + 0x74]
sub eax, 2
je 0x10089eb5
sub eax, 0x15
je 0x10089e95
sub eax, 0x64
jne 0x10089ebd
mov eax, dword [edx + 0x74]
mov ecx, dword [edx + 0x78]
mov dword [edi + 0x18], eax
mov dword [edi + 0x1c], ecx
jmp 0x10089ebd
movups xmm0, xmmword [edx + 0x74]
movups xmmword [edi + 0x18], xmm0
movq xmm0, qword [edx + 0x84]
movq qword [edi + 0x28], xmm0
mov eax, dword [edx + 0x8c]
mov dword [edi + 0x30], eax
jmp 0x10089ebd
movups xmm0, xmmword [edx + 0x74]
movups xmmword [edi + 0x18], xmm0
mov ax, word [esi + 0x580]
mov word [edi + 0x1a], ax
movzx eax, word [edx + 0x1a8]
test eax, 0x200
je 0x10089ee2
mov dword [edi + 0x9c], 0x200
jmp 0x10089ef4
and al, 1
movzx eax, al
neg eax
sbb eax, eax
add eax, 2
mov dword [edi + 0x9c], eax
mov eax, dword [edx + 0x158]
mov dword [edi + 0xa0], eax
mov eax, dword [edx + 0xac]
sar eax, 3
mov dword [edi + 0xa4], eax
mov eax, dword [edx + 0xc0]
mov dword [edi + 0xa8], eax
mov ecx, dword [edx + 0x94]
mov dword [edi + 0xac], ecx
mov eax, dword [esi + 0x224]
movzx eax, word [eax + 0x74]
sub eax, 2
je 0x10089f56
sub eax, 0x15
je 0x10089f4b
sub eax, 0x64
jne 0x10089f74
lea eax, [ecx - 0xc]
mov dword [edi + 0xac], eax
jmp 0x10089f74
lea eax, [ecx - 0x34]
mov dword [edi + 0xac], eax
jmp 0x10089f74
lea eax, [ecx - 0x20]
mov dword [edi + 0xac], eax
jmp 0x10089f74
push 0x98
lea eax, [edi + 0x18]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov eax, dword [esi + 0x2e4]
mov dword [edi + 0x98], eax
lea eax, [esi + 0x584]
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, ebx
mov dword [ebp], 0xb0
pop ebx
pop edi
pop esi
pop ebp
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.100f06e3
add esp, 0x64
ret
cmp eax, 0x900
jg 0x1008a992
je 0x1008a8b5
add eax, 0xfffffeff
cmp eax, 7
ja case.default.0x1008ac4a
jmp dword [eax*4 + 0x1008bc54]
cmp dword [ebp], 4
jb 0x10088a74
lea eax, [esi + 0x268]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0xd0]
test al, 2
jne 0x10088afa
test eax, 0x400000
jne 0x10088afa
mov eax, dword [ecx + 0x214]
xor esi, esi
test eax, eax
je 0x1008a018
nop
mov eax, dword [eax + 0x10]
inc esi
test eax, eax
jne 0x1008a010
lea eax, [ecx + 0x268]
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov dword [edi], esi
jmp 0x10087f1d
cmp dword [ebp], 4
jb 0x10088a74
lea eax, [esi + 0x268]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0xd0]
test cl, 2
jne 0x1008a119
test ecx, 0x400000
jne 0x1008a119
mov ebx, dword [ebp]
xor esi, esi
mov ecx, dword [eax + 0x214]
sub ebx, 4
shr ebx, 2
test ecx, ecx
je 0x1008a0e8
lea edx, [edi + 4]
nop word [eax + eax]
cmp esi, ebx
jae 0x1008a0ce
mov eax, dword [ecx + 0x2e4]
mov dword [edx], eax
add edx, 4
add esi, 1
je 0x1008a0ce
mov ecx, dword [ecx + 0x10]
test ecx, ecx
jne 0x1008a080
mov eax, dword [esp + 0x10]
add eax, 0x268
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
lea eax, [esi*4 + 4]
mov dword [edi], esi
xor ebx, ebx
mov dword [ebp], eax
mov eax, ebx
pop ebx
pop edi
pop esi
pop ebp
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.100f06e3
add esp, 0x64
ret
mov eax, dword [esp + 0x10]
mov ebx, 0x16
add eax, 0x268
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x10088a79
add eax, 0x268
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
xor esi, esi
xor ebx, ebx
mov dword [edi], esi
lea eax, [esi*4 + 4]
mov dword [ebp], eax
mov eax, ebx
pop ebx
pop edi
pop esi
pop ebp
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.100f06e3
add esp, 0x64
ret
add eax, 0x268
mov ebx, 0x16
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x10088a79
cmp dword [ebp], 0x98
jb 0x10088a74
mov ecx, dword [esi + 0xd0]
test cl, 2
jne 0x1008a17c
test ecx, 0x400000
jne 0x1008a17c
mov eax, dword [edi + 0x80]
cmp eax, 2
jbe 0x1008a176
push 1
push eax
push esi
call fcn.100b2350
add esp, 0xc
mov dword [esp + 0x14], eax
test eax, eax
jne 0x1008a1b6
lea ebx, [eax + 2]
jmp 0x10088a79
mov dword [esp + 0x14], ebx
jmp 0x1008a1ba
lea eax, [esi + 0x268]
mov esi, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
push eax
call esi
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0x214]
mov dword [esp + 0x14], eax
test eax, eax
je 0x1008a1a9
add eax, 0x584
push eax
call esi
mov ecx, dword [esp + 0x10]
lea eax, [ecx + 0x268]
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov esi, dword [esp + 0x10]
cmp word [edi], 0x17
jne 0x1008a20d
cmp word [edi + 8], bx
jne 0x1008a205
cmp word [edi + 0xa], bx
jne 0x1008a205
cmp word [edi + 0xc], bx
jne 0x1008a205
cmp word [edi + 0xe], bx
jne 0x1008a205
cmp word [edi + 0x10], bx
jne 0x1008a205
mov eax, 0xffff
cmp word [edi + 0x12], ax
jne 0x1008a205
lea eax, [esp + 0x60]
push edi
push eax
call fcn.10092120
mov esi, dword [esp + 0x18]
lea edx, [esp + 0x68]
add esp, 8
mov dword [esp + 0x38], edx
jmp 0x1008a213
mov edx, edi
mov dword [esp + 0x38], edx
jmp 0x1008a213
mov edx, edi
mov dword [esp + 0x38], edi
mov eax, dword [esp + 0x14]
test eax, eax
je 0x1008a231
push edx
push eax
call fcn.100b2500
mov ecx, dword [esp + 0x1c]
mov edx, eax
add esp, 8
mov dword [esp + 0x18], edx
jmp 0x1008a27a
mov dword [esp + 0x18], ebx
lea eax, [esi + 0x2b0]
mov ecx, 1
lock xadd dword [eax], ecx
push 0
push 0
lea eax, [esp + 0x20]
push eax
push edx
lea eax, [esp + 0x20]
push eax
call fcn.100b1d00
mov ecx, eax
add esp, 0x14
test ecx, ecx
jne 0x1008a276
mov eax, dword [esp + 0x10]
or ecx, 0xffffffff
add eax, 0x2b0
lock xadd dword [eax], ecx
jmp 0x10087939
mov edx, dword [esp + 0x18]
test edx, edx
je 0x1008a33f
movzx eax, word [edx + 0x1a8]
test eax, 0x200
je 0x1008a29c
mov dword [edi + 0x84], 0x200
jmp 0x1008a2ae
and al, 1
movzx eax, al
neg eax
sbb eax, eax
add eax, 2
mov dword [edi + 0x84], eax
mov eax, dword [edx + 0x158]
mov dword [edi + 0x88], eax
mov eax, dword [edx + 0xac]
sar eax, 3
mov dword [edi + 0x8c], eax
mov eax, dword [edx + 0xc0]
mov dword [edi + 0x90], eax
mov eax, dword [ecx + 0x2e4]
mov dword [edi + 0x80], eax
mov eax, dword [esp + 0x38]
mov edx, dword [edx + 0x94]
mov dword [edi + 0x94], edx
movzx eax, word [eax]
sub eax, 2
je 0x1008a30d
sub eax, 0x15
je 0x1008a308
sub eax, 0x64
jne 0x1008a316
lea eax, [edx - 0xc]
jmp 0x1008a310
lea eax, [edx - 0x34]
jmp 0x1008a310
lea eax, [edx - 0x20]
mov dword [edi + 0x94], eax
lea eax, [ecx + 0x584]
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, ebx
mov dword [ebp], 0x98
pop ebx
pop edi
pop esi
pop ebp
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.100f06e3
add esp, 0x64
ret
lea eax, [ecx + 0x584]
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ebx, 2
jmp 0x10088a79
cmp dword [ebp], 0x20
jb 0x10088a74
mov eax, dword [esi + 0xd0]
test al, 2
jne 0x1008a396
test eax, 0x400000
jne 0x1008a396
mov eax, dword [edi]
cmp eax, 2
jbe 0x10088a74
push 1
push eax
push esi
call fcn.100b2350
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x1008a3d2
lea ebx, [eax + 2]
jmp 0x10088a79
lea eax, [esi + 0x268]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [esp + 0x10]
mov esi, dword [eax + 0x214]
test esi, esi
je 0x10088a68
lea eax, [esi + 0x584]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [esp + 0x10]
add eax, 0x268
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, dword [esi + 0x504]
mov dword [edi + 4], eax
mov eax, dword [esi + 0x508]
mov dword [edi + 8], eax
mov eax, dword [esi + 0x50c]
mov dword [edi + 0xc], eax
mov eax, dword [esi + 0x510]
mov dword [edi + 0x10], eax
mov eax, dword [esi + 0x514]
mov dword [edi + 0x14], eax
mov eax, dword [esi + 0x518]
mov dword [edi + 0x18], eax
mov eax, dword [esi + 0x51c]
mov dword [edi + 0x1c], eax
lea eax, [esi + 0x584]
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, ebx
mov dword [ebp], 0x20
pop ebx
pop edi
pop esi
pop ebp
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.100f06e3
add esp, 0x64
ret
cmp dword [ebp], 8
jb 0x10088a74
mov edx, dword [esi + 0xd0]
mov ecx, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
test dl, 2
jne 0x1008a482
test edx, 0x400000
jne 0x1008a482
mov eax, dword [edi]
cmp eax, 2
jbe 0x1008a516
push 1
push eax
push esi
call fcn.100b2350
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x1008a4b6
lea ebx, [eax + 2]
jmp 0x10088a79
lea eax, [esi + 0x268]
push eax
call ecx
mov eax, dword [esp + 0x10]
mov esi, dword [eax + 0x214]
test esi, esi
je 0x1008a500
lea eax, [esi + 0x584]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [esp + 0x10]
add eax, 0x268
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, dword [esi + 0x438]
push eax
mov dword [esp + 0x64], eax
call fcn.100c2db0
mov dword [esp + 0x30], eax
add esp, 4
add eax, 8
mov dword [esp + 0x48], eax
cmp dword [ebp], eax
jb 0x1008b05f
lea eax, [edi + 8]
push eax
push dword [esp + 0x64]
call fcn.100c5000
mov eax, dword [esp + 0x34]
add esp, 8
mov dword [edi + 4], eax
mov eax, dword [esp + 0x48]
mov dword [ebp], eax
jmp 0x1008b064
add eax, 0x268
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov esi, dword [esp + 0x10]
mov ecx, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [esi + 0xd0]
test al, 2
jne 0x1008a537
test eax, 0x400000
jne 0x1008a537
test al, 1
je 0x10088a74
cmp dword [edi], ebx
jne 0x10088a74
lea eax, [esi + 0x268]
push eax
call ecx
mov eax, dword [esp + 0x10]
mov esi, dword [eax + 0x164]
push esi
call fcn.100c2db0
mov dword [esp + 0x64], eax
add esp, 4
add eax, 8
mov dword [esp + 0x2c], eax
cmp dword [ebp], eax
jae 0x1008a576
mov eax, dword [esp + 0x10]
mov ebx, 0x16
add eax, 0x268
jmp 0x1008b06a
lea eax, [edi + 8]
push eax
push esi
call fcn.100c5000
mov eax, dword [esp + 0x68]
add esp, 8
mov dword [edi + 4], eax
mov eax, dword [esp + 0x2c]
mov dword [ebp], eax
mov eax, dword [esp + 0x10]
add eax, 0x268
jmp 0x1008b06a
cmp dword [ebp], 8
jb 0x10088a74
mov eax, dword [esi + 0xd0]
test al, 2
jne 0x1008a5df
test eax, 0x400000
jne 0x1008a5df
mov eax, dword [edi]
cmp eax, 2
jbe 0x10087939
push 1
push eax
push esi
call fcn.100b2350
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x1008a617
lea ebx, [eax + 2]
jmp 0x10088a79
lea eax, [esi + 0x268]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [esp + 0x10]
mov esi, dword [eax + 0x214]
test esi, esi
je 0x1008a661
lea eax, [esi + 0x584]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [esp + 0x10]
add eax, 0x268
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, dword [esi + 0x43c]
push eax
mov dword [esp + 0x64], eax
call fcn.100c2db0
mov dword [esp + 0x30], eax
add esp, 4
add eax, 8
mov dword [esp + 0x48], eax
cmp dword [ebp], eax
jb 0x1008b05f
lea eax, [edi + 8]
push eax
push dword [esp + 0x64]
call fcn.100c5000
mov eax, dword [esp + 0x34]
add esp, 8
mov dword [edi + 4], eax
mov eax, dword [esp + 0x48]
mov dword [ebp], eax
jmp 0x1008b064
add eax, 0x268
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ebx, 2
jmp 0x10088a79
cmp dword [ebp], 0x18
jb 0x10088a74
mov eax, dword [esi + 0xd0]
test al, 2
jne 0x1008a6f8
test eax, 0x400000
jne 0x1008a6f8
mov eax, dword [edi]
cmp eax, 2
jbe 0x1008a6b8
push 1
push eax
push esi
call fcn.100b2350
mov esi, eax
add esp, 0xc
test esi, esi
je 0x10087939
movzx eax, word [edi + 4]
jmp 0x1008a738
xor esi, esi
mov ebx, 0x16
test esi, esi
je 0x10088a79
lea eax, [esi + 0x584]
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test ebx, ebx
jne 0x10088a79
mov eax, ebx
mov dword [ebp], 0x18
pop ebx
pop edi
pop esi
pop ebp
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.100f06e3
add esp, 0x64
ret
lea eax, [esi + 0x268]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [esp + 0x10]
mov esi, dword [eax + 0x214]
test esi, esi
je 0x1008a724
lea eax, [esi + 0x584]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [esp + 0x10]
add eax, 0x268
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
movzx eax, word [edi + 4]
test esi, esi
je 0x1008a6ba
cmp ax, word [esi + 0x482]
jae 0x1008a6ba
cmp word [edi + 6], 0xf
jne 0x1008a6ba
movzx eax, ax
lea ecx, [eax + eax*2]
mov eax, dword [esi + 0x21c]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 0x1c]
mov dword [edi + 8], eax
mov dword [edi + 0xc], ebx
mov eax, dword [esi + 0x21c]
mov eax, dword [eax + ecx*8 + 0x20]
mov dword [edi + 0x10], eax
mov dword [edi + 0x14], ebx
jmp 0x1008a6c7
cmp dword [ebp], 0x18
jb 0x10088a74
mov eax, dword [esi + 0xd0]
mov ecx, dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov dword [esp + 0x28], ecx
test al, 2
jne 0x1008a803
test eax, 0x400000
jne 0x1008a803
mov eax, dword [edi]
cmp eax, 2
jbe 0x1008a7c5
push 1
push eax
push esi
call fcn.100b2350
mov esi, eax
add esp, 0xc
test esi, esi
je 0x10087939
movzx eax, word [edi + 6]
jmp 0x1008a841
xor esi, esi
mov ebx, 0x16
test esi, esi
je 0x10088a79
lea eax, [esi + 0x584]
push eax
call dword [esp + 0x2c]
test ebx, ebx
jne 0x10088a79
mov eax, ebx
mov dword [ebp], 0x18
pop ebx
pop edi
pop esi
pop ebp
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.100f06e3
add esp, 0x64
ret
lea eax, [esi + 0x268]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [esp + 0x10]
mov esi, dword [eax + 0x214]
test esi, esi
je 0x1008a82f
lea eax, [esi + 0x584]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [esp + 0x10]
add eax, 0x268
push eax
call dword [esp + 0x2c]
movzx eax, word [edi + 6]
test esi, esi
je 0x1008a7c7
test ax, ax
je 0x1008a7c7
cmp ax, 3
jbe 0x1008a856
cmp ax, 0xf
jne 0x1008a7c7
cmp ax, 0xf
jne 0x1008a885
mov eax, dword [esi + 0x530]
mov ecx, dword [esi + 0x534]
mov dword [edi + 8], eax
mov dword [edi + 0xc], ecx
mov eax, dword [esi + 0x550]
mov ecx, dword [esi + 0x554]
mov dword [edi + 0x10], eax
mov dword [edi + 0x14], ecx
jmp 0x1008a7d4
movzx edx, ax
mov eax, dword [esi + edx*8 + 0x530]
mov ecx, dword [esi + edx*8 + 0x534]
mov dword [edi + 8], eax
mov dword [edi + 0xc], ecx
mov eax, dword [esi + edx*8 + 0x550]
mov ecx, dword [esi + edx*8 + 0x554]
mov dword [edi + 0x10], eax
mov dword [edi + 0x14], ecx
jmp 0x1008a7d4
cmp dword [ebp], 8
jb 0x10088a74
mov edx, dword [esi + 0xd0]
mov ecx, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
test dl, 2
jne 0x1008a8f9
test edx, 0x400000
jne 0x1008a8f9
mov eax, dword [edi]
cmp eax, 2
jbe 0x1008a958
push 1
push eax
push esi
call fcn.100b2350
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x1008a92d
lea ebx, [eax + 2]
jmp 0x10088a79
lea eax, [esi + 0x268]
push eax
call ecx
mov eax, dword [esp + 0x10]
mov esi, dword [eax + 0x214]
test esi, esi
je 0x1008a942
lea eax, [esi + 0x584]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [esp + 0x10]
add eax, 0x268
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
movzx eax, byte [esi + 0x4c4]
mov dword [edi + 4], eax
lea eax, [esi + 0x584]
jmp 0x10087a13
add eax, 0x268
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov esi, dword [esp + 0x10]
mov ecx, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [esi + 0xd0]
test al, 2
jne 0x1008a979
test eax, 0x400000
jne 0x1008a979
test al, 1
je 0x10088a74
cmp dword [edi], ebx
jne 0x10088a74
lea eax, [esi + 0x268]
push eax
call ecx
mov ecx, dword [esp + 0x10]
movzx eax, byte [ecx + 0x228]
jmp 0x10087a0a
cmp eax, 0x1200
jg 0x1008ac2b
je 0x1008ab4f
add eax, 0xffffeeff
cmp eax, 4
ja case.default.0x1008ac4a
jmp dword [eax*4 + 0x1008bc74]
cmp dword [ebp], 0xc
jb 0x10088a74
mov eax, dword [esi + 0xd0]
test al, 2
jne 0x1008a9f8
test eax, 0x400000
jne 0x1008a9f8
mov eax, dword [edi]
cmp eax, 2
jbe 0x1008aa77
push 1
push eax
push esi
call fcn.100b2350
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x1008aa30
lea ebx, [eax + 2]
jmp 0x10088a79
lea eax, [esi + 0x268]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [esp + 0x10]
mov esi, dword [eax + 0x214]
test esi, esi
je 0x1008aa6b
lea eax, [esi + 0x584]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [esp + 0x10]
add eax, 0x268
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, dword [esi + 0x2d8]
mov dword [edi + 4], eax
mov eax, dword [esi + 0x2d4]
mov dword [edi + 8], eax
lea eax, [esi + 0x584]
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, ebx
mov dword [ebp], 0xc
pop ebx
pop edi
pop esi
pop ebp
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.100f06e3
add esp, 0x64
ret
add eax, 0x268
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ebx, 0x7e
jmp 0x10088a79
cmp dword [ebp], 0xc
jb 0x10088a74
mov eax, dword [esi + 0xd0]
test al, 2
jne 0x1008aabd
test eax, 0x400000
jne 0x1008aabd
mov eax, dword [edi]
cmp eax, 2
jbe 0x1008aa77
push 1
push eax
push esi
call fcn.100b2350
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x1008aaf5
lea ebx, [eax + 2]
jmp 0x10088a79
lea eax, [esi + 0x268]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [esp + 0x10]
mov esi, dword [eax + 0x214]
test esi, esi
je 0x1008aa6b
lea eax, [esi + 0x584]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [esp + 0x10]
add eax, 0x268
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, dword [esi + 0x358]
mov dword [edi + 4], eax
mov eax, dword [esi + 0x3a8]
add eax, dword [esi + 0x388]
jmp 0x1008aa3f
push ebp
push edi
call sym.datachannel.dll_public:_unsigned_int___thiscall_rtc::RTCP_ReportBlock::getLossPercentage_void_const
add esp, 8
mov ebx, eax
jmp 0x1008b071
cmp dword [ebp], 0x20
jb 0x10088a74
push edi
call fcn.100b1710
add esp, 4
mov dword [ebp], 0x20
mov eax, ebx
pop ebx
pop edi
pop esi
pop ebp
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.100f06e3
add esp, 0x64
ret
cmp dword [ebp], 8
jb 0x10088a74
mov edx, dword [esi + 0xd0]
mov ecx, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
test dl, 2
jne 0x1008ab93
test edx, 0x400000
jne 0x1008ab93
mov eax, dword [edi]
cmp eax, 2
jbe 0x1008abf2
push 1
push eax
push esi
call fcn.100b2350
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x1008abc7
lea ebx, [eax + 2]
jmp 0x10088a79
lea eax, [esi + 0x268]
push eax
call ecx
mov eax, dword [esp + 0x10]
mov esi, dword [eax + 0x214]
test esi, esi
je 0x1008abdc
lea eax, [esi + 0x584]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [esp + 0x10]
add eax, 0x268
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
movzx eax, byte [esi + 0x4dd]
mov dword [edi + 4], eax
lea eax, [esi + 0x584]
jmp 0x10087a13
add eax, 0x268
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov esi, dword [esp + 0x10]
mov ecx, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [esi + 0xd0]
test al, 2
jne 0x1008ac13
test eax, 0x400000
jne 0x1008ac13
test al, 1
je 0x10088a74
cmp dword [edi], ebx
jne 0x10088a74
lea eax, [esi + 0x268]
push eax
call ecx
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0x22c]
jmp 0x10087a0a
cmp eax, 0x3001
jg 0x1008b095
je 0x1008b07e
add eax, 0xffffedfe
cmp eax, 4
ja case.default.0x1008ac4a
jmp dword [eax*4 + 0x1008bc88]
cmp dword [ebp], 8
jb 0x10088a74
mov edx, dword [esi + 0xd0]
mov eax, dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ecx, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov dword [esp + 0x14], eax
test dl, 2
jne 0x1008ac9e
test edx, 0x400000
jne 0x1008ac9e
mov eax, dword [edi]
cmp eax, 2
jbe 0x1008acfe
push 1
push eax
push esi
call fcn.100b2350
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x1008acd0
lea ebx, [eax + 2]
jmp 0x10088a79
lea eax, [esi + 0x268]
push eax
call ecx
mov eax, dword [esp + 0x10]
mov esi, dword [eax + 0x214]
test esi, esi
je 0x1008acea
lea eax, [esi + 0x584]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [esp + 0x10]
add eax, 0x268
push eax
call dword [esp + 0x18]
movzx eax, byte [esi + 0x4c2]
mov dword [edi + 4], eax
lea eax, [esi + 0x584]
push eax
call dword [esp + 0x18]
jmp 0x10087a1a
add eax, 0x268
push eax
call dword [esp + 0x18]
mov esi, dword [esp + 0x10]
mov ecx, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [esi + 0xd0]
test al, 2
jne 0x1008ad1f
test eax, 0x400000
jne 0x1008ad1f
test al, 1
je 0x10088a74
cmp dword [edi], ebx
jne 0x10088a74
lea eax, [esi + 0x268]
push eax
call ecx
mov ecx, dword [esp + 0x10]
xor eax, eax
cmp byte [ecx + 0x233], al
setne al
mov dword [edi + 4], eax
lea eax, [ecx + 0x268]
push eax
call dword [esp + 0x18]
jmp 0x10087a1a
cmp dword [ebp], 8
jb 0x10088a74
mov edx, dword [esi + 0xd0]
mov ecx, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
test dl, 2
jne 0x1008ad8e
test edx, 0x400000
jne 0x1008ad8e
mov eax, dword [edi]
cmp eax, 2
jbe 0x1008adec
push 1
push eax
push esi
call fcn.100b2350
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x1008adc2
lea ebx, [eax + 2]
jmp 0x10088a79
lea eax, [esi + 0x268]
push eax
call ecx
mov eax, dword [esp + 0x10]
mov esi, dword [eax + 0x214]
test esi, esi
je 0x1008add6
lea eax, [esi + 0x584]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [esp + 0x10]
add eax, 0x268
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, dword [esi + 0x280]
mov dword [edi + 4], eax
lea eax, [esi + 0x584]
jmp 0x10087a13
add eax, 0x268
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov esi, dword [esp + 0x10]
mov ecx, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [esi + 0xd0]
test al, 2
jne 0x1008ae0d
test eax, 0x400000
jne 0x1008ae0d
test al, 1
je 0x10088a74
cmp dword [edi], ebx
jne 0x10088a74
lea eax, [esi + 0x268]
push eax
call ecx
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0x158]
jmp 0x10087a0a
cmp dword [ebp], 0xc
jb 0x10088a74
mov eax, dword [esi + 0xd0]
test al, 2
jne 0x1008ae66
test eax, 0x400000
jne 0x1008ae66
mov eax, dword [edi + 4]
cmp eax, 2
jbe 0x10088a74
push 1
push eax
push esi
call fcn.100b2350
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x1008aea0
lea ebx, [eax + 2]
jmp 0x10088a79
mov ebx, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
lea eax, [esi + 0x268]
push eax
call ebx
mov eax, dword [esp + 0x10]
mov esi, dword [eax + 0x214]
test esi, esi
je 0x10088a68
lea eax, [esi + 0x584]
push eax
call ebx
mov eax, dword [esp + 0x10]
add eax, 0x268
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, dword [esi + 0x278]
test eax, eax
jne 0x1008aeb4
mov ebx, 0x81
jmp 0x1008b064
push edi
push 0
push esi
call eax
add esp, 0xc
mov dword [ebp], 0xc
mov ebx, eax
jmp 0x1008b064
cmp dword [ebp], 8
jb 0x10088a74
mov edx, dword [esi + 0xd0]
mov ecx, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
test dl, 2
jne 0x1008af0f
test edx, 0x400000
jne 0x1008af0f
mov eax, dword [edi]
cmp eax, 2
jbe 0x1008af6d
push 1
push eax
push esi
call fcn.100b2350
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x1008af43
lea ebx, [eax + 2]
jmp 0x10088a79
lea eax, [esi + 0x268]
push eax
call ecx
mov eax, dword [esp + 0x10]
mov esi, dword [eax + 0x214]
test esi, esi
je 0x1008af57
lea eax, [esi + 0x584]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [esp + 0x10]
add eax, 0x268
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, dword [esi + 0x2b4]
mov dword [edi + 4], eax
lea eax, [esi + 0x584]
jmp 0x10087a13
add eax, 0x268
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov esi, dword [esp + 0x10]
mov ecx, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [esi + 0xd0]
test al, 2
jne 0x1008af8e
test eax, 0x400000
jne 0x1008af8e
test al, 1
je 0x10088a74
cmp dword [edi], ebx
jne 0x10088a74
lea eax, [esi + 0x268]
push eax
call ecx
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0x15c]
jmp 0x10087a0a
cmp dword [ebp], 8
jb 0x10088a74
mov eax, dword [esi + 0xd0]
test al, 2
jne 0x1008afe6
test eax, 0x400000
jne 0x1008afe6
mov eax, dword [edi]
cmp eax, 2
jbe 0x10088a74
push 1
push eax
push esi
call fcn.100b2350
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x1008b022
lea ebx, [eax + 2]
jmp 0x10088a79
lea eax, [esi + 0x268]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [esp + 0x10]
mov esi, dword [eax + 0x214]
test esi, esi
je 0x10088a68
lea eax, [esi + 0x584]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [esp + 0x10]
add eax, 0x268
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
movzx ecx, word [edi + 4]
cmp cx, word [esi + 0x482]
jae 0x1008b05f
lea eax, [edi + 6]
push eax
mov eax, ecx
lea eax, [eax + eax*2]
shl eax, 4
add eax, dword [esi + 0x21c]
push eax
lea eax, [esi + 0x30]
push eax
mov eax, dword [esi + 0x2a8]
push esi
call eax
add esp, 0x10
test eax, eax
js 0x1008b05f
mov dword [ebp], 8
jmp 0x1008b064
mov ebx, 0x16
lea eax, [esi + 0x584]
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test ebx, ebx
je 0x10088a80
jmp 0x10088a79
cmp dword [ebp], 4
jb 0x10088a74
mov eax, dword [esi + 0x2b4]
mov dword [edi], eax
jmp 0x10087f1d
cmp eax, 0x8003
jg 0x1008b2ea
je 0x1008b175
sub eax, 0x3003
je 0x1008b0bd
sub eax, 1
je 0x1008b0c7
sub eax, 0xffd
jne case.default.0x1008ac4a
mov ebx, 0x82
jmp 0x10088a79
cmp dword [ebp], 8
jb 0x10088a74
mov eax, dword [esi + 0xd0]
test al, 2
jne 0x1008b107
test eax, 0x400000
jne 0x1008b107
mov eax, dword [edi]
cmp eax, 2
jbe 0x10088a74
push 1
push eax
push esi
call fcn.100b2350
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x1008b143
lea ebx, [eax + 2]
jmp 0x10088a79
lea eax, [esi + 0x268]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [esp + 0x10]
mov esi, dword [eax + 0x214]
test esi, esi
je 0x10088a68
lea eax, [esi + 0x584]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [esp + 0x10]
add eax, 0x268
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, dword [esi + 0x2b8]
mov dword [edi + 4], eax
lea eax, [esi + 0x584]
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, ebx
mov dword [ebp], 8
pop ebx
pop edi
pop esi
pop ebp
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.100f06e3
add esp, 0x64
ret
cmp dword [ebp], 4
jb 0x10088a74
mov eax, dword [esi + 0xd0]
test al, 2
jne 0x1008b1b9
test eax, 0x400000
jne 0x1008b1b9
mov eax, dword [edi]
cmp eax, 2
jbe 0x10087939
push 1
push eax
push esi
call fcn.100b2350
mov esi, eax
mov dword [esp + 0x24], eax
add esp, 0xc
test esi, esi
jne 0x1008b1f9
lea ebx, [eax + 2]
jmp 0x10088a79
lea eax, [esi + 0x268]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [esp + 0x10]
mov esi, dword [eax + 0x214]
mov dword [esp + 0x18], esi
test esi, esi
je 0x1008a661
lea eax, [esi + 0x584]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [esp + 0x10]
add eax, 0x268
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov edx, dword [ebp]
add edi, 4
sub edx, 4
mov dword [ebp], 4
mov eax, dword [esi + 0x1c4]
mov dword [esp + 0x28], edx
mov dword [esp + 0x60], eax
test eax, eax
je 0x1008b2c8
mov ebx, eax
movzx eax, word [ebx + 0x74]
lea ecx, [ebx + 0x74]
sub eax, 2
je 0x1008b247
sub eax, 0x15
je 0x1008b240
sub eax, 0x64
jne 0x1008b2c2
lea esi, [eax + 8]
jmp 0x1008b265
mov esi, 0x1c
jmp 0x1008b265
mov eax, dword [esp + 0x10]
mov esi, 0x1c
mov eax, dword [eax + 0xc8]
and eax, 0x800000
or eax, 0
jne 0x1008b265
mov esi, 0x10
cmp edx, esi
jb 0x1008b2c2
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0xc8]
and eax, 0x800000
or eax, 0
je 0x1008b28f
cmp word [ecx], 2
jne 0x1008b28f
push edi
push ecx
call fcn.10092160
add esp, 8
jmp 0x1008b29a
push esi
push ecx
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x28]
sub edx, esi
mov dword [esp + 0x28], edx
mov ax, word [eax + 0x580]
mov word [edi + 2], ax
add edi, esi
add dword [ebp], esi
mov ebx, dword [ebx]
test ebx, ebx
jne 0x1008b221
mov esi, dword [esp + 0x18]
xor ebx, ebx
lea eax, [esi + 0x584]
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, ebx
pop ebx
pop edi
pop esi
pop ebp
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.100f06e3
add esp, 0x64
ret
cmp eax, 0x8006
jg 0x1008ba86
je 0x1008b994
sub eax, 0x8004
je 0x1008b424
sub eax, 1
jne case.default.0x1008ac4a
cmp dword [ebp], 4
jb 0x10088a74
lea eax, [esi + 0x268]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [esp + 0x10]
push 0x1014b5dc
mov dword [esp + 0x2c], eax
call dword [sym.imp.KERNEL32.dll_AcquireSRWLockShared]
mov eax, dword [esp + 0x28]
xor esi, esi
push dword [eax + 0x2b4]
call fcn.100b17b0
add esp, 4
test eax, eax
je 0x1008b409
mov edx, dword [esp + 0x28]
test byte [edx + 0xd0], 4
je 0x1008b3be
mov eax, dword [eax + 0xc]
mov dword [esp + 0x28], eax
test eax, eax
je 0x1008b409
mov ecx, dword [eax]
test ecx, ecx
je 0x1008b3b1
movzx eax, word [ecx + 0x18]
sub eax, 2
je 0x1008b38f
sub eax, 0x15
je 0x1008b39f
sub eax, 0x64
jne 0x1008b3a7
add esi, 8
jmp 0x1008b3a7
mov eax, dword [edx + 0xc8]
and eax, 0x800000
or eax, 0
je 0x1008b3a4
add esi, 0x1c
jmp 0x1008b3a7
add esi, 0x10
mov ecx, dword [ecx]
test ecx, ecx
jne 0x1008b377
mov eax, dword [esp + 0x28]
mov eax, dword [eax + 8]
mov dword [esp + 0x28], eax
test eax, eax
jne 0x1008b371
jmp 0x1008b409
mov ecx, dword [edx + 0xbc]
test ecx, ecx
je 0x1008b409
nop dword [eax + eax]
mov eax, dword [ecx + 8]
movzx eax, word [eax + 0x18]
sub eax, 2
je 0x1008b3eb
sub eax, 0x15
je 0x1008b3fb
sub eax, 0x64
jne 0x1008b403
add esi, 8
jmp 0x1008b403
mov eax, dword [edx + 0xc8]
and eax, 0x800000
or eax, 0
je 0x1008b400
add esi, 0x1c
jmp 0x1008b403
add esi, 0x10
mov ecx, dword [ecx]
test ecx, ecx
jne 0x1008b3d0
push 0x1014b5dc
call dword [sym.imp.KERNEL32.dll_ReleaseSRWLockShared]
mov eax, dword [esp + 0x10]
mov dword [edi], esi
add eax, 0x268
jmp 0x10087f16
cmp dword [ebp], 4
jb 0x10088a74
mov eax, dword [esi + 0xd0]
test al, 2
jne 0x1008b468
test eax, 0x400000
jne 0x1008b468
mov eax, dword [edi]
cmp eax, 2
jbe 0x1008b462
push 1
push eax
push esi
call fcn.100b2350
add esp, 0xc
mov dword [esp + 0x14], eax
test eax, eax
jne 0x1008b4a2
lea ebx, [eax + 2]
jmp 0x10088a79
mov dword [esp + 0x14], ebx
jmp 0x1008b4a6
lea eax, [esi + 0x268]
mov esi, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
push eax
call esi
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x214]
mov dword [esp + 0x14], ecx
test ecx, ecx
je 0x1008b496
lea eax, [ecx + 0x584]
push eax
call esi
mov eax, dword [esp + 0x10]
add eax, 0x268
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov esi, dword [esp + 0x10]
mov eax, dword [ebp]
sub eax, 4
push 0x1014b5dc
mov dword [esp + 0x28], eax
call dword [sym.imp.KERNEL32.dll_AcquireSRWLockShared]
xor ebp, ebp
add edi, 4
mov dword [esp + 0x34], ebp
cmp dword [esp + 0x24], ebx
je 0x1008b957
mov eax, dword [esp + 0x14]
test eax, eax
je 0x1008b525
movzx ecx, byte [eax + 0x4c9]
mov dword [esp + 0x58], ecx
movzx ecx, byte [eax + 0x4ca]
mov dword [esp + 0x2c], ecx
movzx ecx, byte [eax + 0x4c6]
mov dword [esp + 0x18], ecx
movzx ecx, byte [eax + 0x4cb]
mov dword [esp + 0x5c], ecx
movzx ecx, byte [eax + 0x4cc]
mov dword [esp + 0x48], ecx
movzx ecx, byte [eax + 0x4c7]
movzx eax, byte [eax + 0x4c8]
mov dword [esp + 0x50], ecx
mov dword [esp + 0x4c], eax
jmp 0x1008b58d
mov eax, dword [esi + 0xd0]
mov dword [esp + 0x58], 1
mov dword [esp + 0x2c], 1
mov dword [esp + 0x5c], 1
mov dword [esp + 0x48], 1
test eax, 0x4000000
je 0x1008b56b
mov eax, dword [esi + 0x20]
shr eax, 0xf
not eax
mov dword [esp + 0x50], 1
and eax, 1
mov dword [esp + 0x18], eax
jmp 0x1008b589
mov dword [esp + 0x50], ebx
test eax, eax
jns 0x1008b581
mov dword [esp + 0x4c], 1
mov dword [esp + 0x18], ebx
jmp 0x1008b58d
mov dword [esp + 0x18], 1
mov dword [esp + 0x4c], ebx
push dword [esi + 0x2b4]
call fcn.100b17b0
add esp, 4
test eax, eax
jne 0x1008b5a6
xor ebp, ebp
jmp 0x1008b957
test byte [esi + 0xd0], 4
je 0x1008b867
mov eax, dword [eax + 0xc]
mov dword [esp + 0x60], eax
test eax, eax
je 0x1008b957
mov ecx, dword [esp + 0x58]
test ecx, ecx
jne 0x1008b5d4
cmp dword [eax + 0x20], 0x18
je 0x1008b6fc
mov edx, dword [eax]
mov dword [esp + 0x54], edx
test edx, edx
je 0x1008b6fc
lea eax, [ebp + 0x10]
mov dword [esp + 0x1c], eax
lea ecx, [ebp + 8]
lea eax, [ebp + 0x1c]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x14]
test eax, eax
je 0x1008b619
push edx
push eax
call fcn.10097dd0
add esp, 8
test eax, eax
jne 0x1008b6de
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x54]
movzx eax, word [edx + 0x18]
add edx, 0x18
sub eax, 2
je 0x1008b794
sub eax, 0x15
je 0x1008b678
sub eax, 0x64
jne 0x1008b6de
cmp dword [esp + 0x4c], ebx
je 0x1008b6de
cmp ecx, dword [esp + 0x24]
ja 0x1008b957
mov eax, dword [edx]
add ebp, 8
mov ecx, dword [edx + 4]
add dword [esp + 0x20], 8
add dword [esp + 0x30], 8
mov dword [edi], eax
mov dword [edi + 4], ecx
mov ax, word [esi + 0x3a]
mov word [edi + 2], ax
add edi, 8
add dword [esp + 0x1c], 8
mov dword [esp + 0x34], ebp
jmp 0x1008b6de
cmp dword [esp + 0x50], ebx
je 0x1008b6de
movzx eax, word [edx + 8]
mov ecx, eax
mov dword [esp + 0x38], eax
shr dword [esp + 0x38], 8
mov ebp, ecx
mov dword [esp + 0x40], ecx
shr ebp, 8
mov byte [esp + 0x3f], cl
shr ecx, 8
mov dword [esp + 0x44], ebp
test ax, ax
jne 0x1008b710
mov ah, al
mov cl, byte [esp + 0x44]
cmp word [edx + 0xa], bx
jne 0x1008b714
mov ah, byte [esp + 0x40]
cmp word [edx + 0xc], bx
jne 0x1008b714
cmp word [edx + 0xe], bx
jne 0x1008b714
cmp word [edx + 0x10], bx
jne 0x1008b714
cmp word [edx + 0x12], bx
jne 0x1008b714
cmp word [edx + 0x14], bx
jne 0x1008b714
cmp word [edx + 0x16], bx
jne 0x1008b714
mov ebp, dword [esp + 0x34]
mov edx, dword [esp + 0x54]
mov ecx, dword [esp + 0x20]
mov edx, dword [edx]
mov dword [esp + 0x54], edx
test edx, edx
jne 0x1008b5f7
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x58]
mov eax, dword [eax + 8]
mov dword [esp + 0x60], eax
test eax, eax
jne 0x1008b5c6
jmp 0x1008b957
mov ah, byte [esp + 0x3f]
cmp ah, 0xfe
jne 0x1008b72d
mov al, cl
mov byte [esp + 0x38], cl
and al, 0xc0
cmp al, 0x80
jne 0x1008b72d
cmp dword [esp + 0x5c], ebx
je 0x1008b6da
jmp 0x1008b731
mov cl, byte [esp + 0x38]
cmp dword [esp + 0x48], ebx
jne 0x1008b744
cmp ah, 0xfe
jne 0x1008b744
and cl, 0xc0
cmp cl, 0xc0
je 0x1008b6da
mov ecx, dword [esp + 0x30]
mov ebp, dword [esp + 0x34]
cmp ecx, dword [esp + 0x24]
ja 0x1008b957
movups xmm0, xmmword [edx]
add dword [esp + 0x20], 0x1c
add ebp, 0x1c
add ecx, 0x1c
mov dword [esp + 0x34], ebp
movups xmmword [edi], xmm0
mov dword [esp + 0x30], ecx
movq xmm0, qword [edx + 0x10]
movq qword [edi + 0x10], xmm0
mov eax, dword [edx + 0x18]
mov dword [edi + 0x18], eax
mov ax, word [esi + 0x3a]
mov word [edi + 2], ax
add edi, 0x1c
add dword [esp + 0x1c], 0x1c
jmp 0x1008b6de
cmp dword [esp + 0x18], ebx
je 0x1008b6de
mov eax, dword [edx + 4]
mov ecx, eax
shr ecx, 8
test eax, eax
je 0x1008b6de
cmp dword [esp + 0x2c], ebx
jne 0x1008b7dd
cmp al, 0xa
je 0x1008b6de
cmp al, 0xac
jne 0x1008b7d0
cmp cl, 0x10
jb 0x1008b7dd
cmp cl, 0x20
jbe 0x1008b6de
jmp 0x1008b7dd
cmp al, 0xc0
jne 0x1008b7dd
cmp cl, 0xa8
je 0x1008b6de
mov eax, dword [esi + 0xc8]
and eax, 0x800000
or eax, 0
je 0x1008b82b
mov eax, dword [esp + 0x24]
cmp dword [esp + 0x30], eax
ja 0x1008b957
push edi
push edx
call fcn.10092160
mov ax, word [esi + 0x3a]
add ebp, 0x1c
add dword [esp + 0x28], 0x1c
add esp, 8
add dword [esp + 0x30], 0x1c
mov word [edi + 2], ax
add edi, 0x1c
add dword [esp + 0x1c], 0x1c
mov dword [esp + 0x34], ebp
jmp 0x1008b6de
mov ecx, dword [esp + 0x1c]
cmp ecx, dword [esp + 0x24]
ja 0x1008b957
movups xmm0, xmmword [edx]
add dword [esp + 0x20], 0x10
add ebp, 0x10
add dword [esp + 0x30], 0x10
movups xmmword [edi], xmm0
mov ax, word [esi + 0x3a]
mov word [edi + 2], ax
add edi, 0x10
add ecx, 0x10
mov dword [esp + 0x34], ebp
mov dword [esp + 0x1c], ecx
jmp 0x1008b6de
mov eax, dword [esi + 0xbc]
mov dword [esp + 0x18], eax
test eax, eax
je 0x1008b957
nop dword [eax]
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x1008b8a0
push dword [eax + 8]
push ecx
call fcn.10097dd0
add esp, 8
test eax, eax
jne 0x1008b945
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 8]
movzx eax, word [ecx + 0x18]
mov edx, eax
sub edx, 2
je 0x1008b8ca
sub edx, 0x15
je 0x1008b8c3
sub edx, 0x64
je 0x1008b8bc
xor edx, edx
jmp 0x1008b8cf
mov edx, 8
jmp 0x1008b8cf
mov edx, 0x1c
jmp 0x1008b8cf
mov edx, 0x10
lea ebx, [edx + ebp]
cmp ebx, dword [esp + 0x24]
mov dword [esp + 0x60], ebx
mov ebx, 0
ja 0x1008b957
sub eax, 2
je 0x1008b916
sub eax, 0x15
je 0x1008b8fd
sub eax, 0x64
jne 0x1008b91d
mov eax, dword [ecx + 0x18]
mov ecx, dword [ecx + 0x1c]
mov dword [edi], eax
mov dword [edi + 4], ecx
jmp 0x1008b91d
movups xmm0, xmmword [ecx + 0x18]
movups xmmword [edi], xmm0
movq xmm0, qword [ecx + 0x28]
movq qword [edi + 0x10], xmm0
mov eax, dword [ecx + 0x30]
mov dword [edi + 0x18], eax
jmp 0x1008b91d
movups xmm0, xmmword [ecx + 0x18]
movups xmmword [edi], xmm0
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 8]
movzx eax, word [eax + 0x18]
sub eax, 2
je 0x1008b937
sub eax, 0x15
je 0x1008b937
sub eax, 0x64
jne 0x1008b93f
mov ax, word [esi + 0x3a]
mov word [edi + 2], ax
mov ebp, dword [esp + 0x60]
add edi, edx
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov dword [esp + 0x18], eax
test eax, eax
jne 0x1008b880
push 0x1014b5dc
call dword [sym.imp.KERNEL32.dll_ReleaseSRWLockShared]
mov eax, dword [esp + 0x14]
test eax, eax
je 0x1008b976
add eax, 0x584
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ecx, dword [esp + 0x28]
lea eax, [ebp + 4]
mov dword [ecx], eax
mov eax, ebx
pop ebx
pop edi
pop esi
pop ebp
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.100f06e3
add esp, 0x64
ret
cmp dword [ebp], 4
jb 0x10088a74
mov eax, dword [esi + 0xd0]
test al, 2
jne 0x1008b9d4
test eax, 0x400000
jne 0x1008b9d4
mov eax, dword [edi]
cmp eax, 2
jbe 0x1008aa77
push 1
push eax
push esi
call fcn.100b2350
mov edx, eax
add esp, 0xc
test edx, edx
jne 0x1008ba11
lea ebx, [eax + 2]
jmp 0x10088a79
lea eax, [esi + 0x268]
mov esi, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
push eax
call esi
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0x214]
mov dword [esp + 0x60], eax
test eax, eax
je 0x1008ba6f
add eax, 0x584
push eax
call esi
mov eax, dword [esp + 0x10]
add eax, 0x268
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov edx, dword [esp + 0x60]
mov ecx, dword [edx + 0x1c4]
xor esi, esi
test ecx, ecx
je 0x1008ba5b
mov ebp, dword [esp + 0x10]
movzx eax, word [ecx + 0x74]
sub eax, 2
je 0x1008ba39
sub eax, 0x15
je 0x1008ba49
sub eax, 0x64
jne 0x1008ba51
add esi, 8
jmp 0x1008ba51
mov eax, dword [ebp + 0xc8]
and eax, 0x800000
or eax, 0
je 0x1008ba4e
add esi, 0x1c
jmp 0x1008ba51
add esi, 0x10
mov ecx, dword [ecx]
test ecx, ecx
jne 0x1008ba21
mov ebp, dword [esp + 0x28]
lea eax, [edx + 0x584]
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov dword [edi], esi
jmp 0x10087f1d
lea eax, [ecx + 0x268]
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ebx, 0x7e
jmp 0x10088a79
cmp eax, 0x800b
je 0x1008bac4
cmp eax, 0x9f00
je 0x1008ba9e
mov ebx, 0x7b
jmp 0x10088a79
cmp dword [ebp], 4
jb 0x10088a74
lea eax, [esi + 0x268]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0x1e8]
jmp 0x10087f0e
cmp dword [ebp], 8
jb 0x10088a74
mov eax, dword [edi + 4]
cmp eax, 2
jne 0x1008bae4
mov dword [edi + 4], 0x10
xor ebx, ebx
jmp 0x10087a1a
cmp eax, 0x17
jne 0x1008baf7
mov dword [edi + 4], 0x1c
xor ebx, ebx
jmp 0x10087a1a
cmp eax, 0x7b
jne 0x10088a74
mov dword [edi + 4], 8
xor ebx, ebx
jmp 0x10087a1a
mov ecx, dword [esp + 0x6c]
mov eax, 0x16
pop edi
pop esi
pop ebp
xor ecx, esp
call fcn.100f06e3
add esp, 0x64
ret