Function at 0x10147c20
Capabilities:
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2f4
push esi
mov dword [ebp - 4], 0
mov dword [ebp - 0x3c], 0
mov dword [ebp - 8], 0
cmp dword [ebp + 0x10], 0
jne 0x10147c4f
mov eax, 0x16
jmp 0x1014d806
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 4], ecx
cmp dword [ebp - 4], 0
jne 0x10147c68
mov eax, 0x16
jmp 0x1014d806
mov dword [ebp - 0xc], 0
mov edx, dword [ebp + 0xc]
mov dword [ebp - 0x14], edx
cmp dword [ebp - 0x14], 0x100
jg 0x10147ca8
cmp dword [ebp - 0x14], 0x100
je 0x1014a88a
mov eax, dword [ebp - 0x14]
sub eax, 1
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0x31
ja case.default.0x10147d42
mov ecx, dword [ebp - 0x14]
jmp dword [ecx*4 + 0x1014d80c]
cmp dword [ebp - 0x14], 0x900
jg 0x10147cde
cmp dword [ebp - 0x14], 0x900
je 0x1014d1e8
mov edx, dword [ebp - 0x14]
sub edx, 0x101
mov dword [ebp - 0x14], edx
cmp dword [ebp - 0x14], 7
ja case.default.0x10147d42
mov eax, dword [ebp - 0x14]
jmp dword [eax*4 + 0x1014d8d4]
cmp dword [ebp - 0x14], 0x1200
jg 0x10147d14
cmp dword [ebp - 0x14], 0x1200
je 0x1014841b
mov ecx, dword [ebp - 0x14]
sub ecx, 0x1101
mov dword [ebp - 0x14], ecx
cmp dword [ebp - 0x14], 4
ja case.default.0x10147d42
mov edx, dword [ebp - 0x14]
jmp dword [edx*4 + 0x1014d8f4]
cmp dword [ebp - 0x14], 0x3001
jg 0x10147d49
cmp dword [ebp - 0x14], 0x3001
je 0x10148e8a
mov eax, dword [ebp - 0x14]
sub eax, 0x1202
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 4
ja case.default.0x10147d42
mov ecx, dword [ebp - 0x14]
jmp dword [ecx*4 + 0x1014d908]
cmp dword [ebp - 0x14], 0x8003
jg 0x10147d8b
cmp dword [ebp - 0x14], 0x8003
je 0x10149c56
cmp dword [ebp - 0x14], 0x3003
je 0x10148fc8
cmp dword [ebp - 0x14], 0x3004
je 0x10148ec8
cmp dword [ebp - 0x14], 0x4001
je 0x101480fc
jmp case.default.0x10147d42
cmp dword [ebp - 0x14], 0x8006
jg 0x10147dc0
cmp dword [ebp - 0x14], 0x8006
je 0x10149af9
cmp dword [ebp - 0x14], 0x8004
je 0x10149e3b
cmp dword [ebp - 0x14], 0x8005
je 0x10149a9a
jmp case.default.0x10147d42
cmp dword [ebp - 0x14], 0x800b
je 0x10148adc
cmp dword [ebp - 0x14], 0x9f00
je 0x10149a3c
jmp case.default.0x10147d42
mov edx, dword [ebp - 4]
add edx, 0x264
push edx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0xe4], eax
mov ecx, dword [ebp - 0xe4]
sub ecx, 4
mov dword [ebp - 0xe4], ecx
cmp dword [ebp - 0xe4], 0x17
ja case.0x10147e21.2
mov edx, dword [ebp - 0xe4]
movzx eax, byte [edx + 0x1014d93c]
jmp dword [eax*4 + 0x1014d91c]
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xc8]
and edx, 0x100000
mov eax, dword [ecx + 0xcc]
and eax, 0
mov dword [ebp - 0x1e4], edx
mov dword [ebp - 0x1e0], eax
cmp dword [ebp - 0x1e4], 0x100000
jne 0x10147e6d
cmp dword [ebp - 0x1e0], 0
jne 0x10147e6d
mov dword [ebp - 0x144], 1
jmp 0x10147e77
mov dword [ebp - 0x144], 0
mov ecx, dword [ebp - 0x144]
mov dword [ebp - 0x3c], ecx
jmp 0x101480c2
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xc8]
and eax, 0x800000
mov ecx, dword [edx + 0xcc]
and ecx, 0
mov dword [ebp - 0x1ec], eax
mov dword [ebp - 0x1e8], ecx
cmp dword [ebp - 0x1ec], 0x800000
jne 0x10147ec9
cmp dword [ebp - 0x1e8], 0
jne 0x10147ec9
mov dword [ebp - 0x148], 1
jmp 0x10147ed3
mov dword [ebp - 0x148], 0
mov edx, dword [ebp - 0x148]
mov dword [ebp - 0x3c], edx
jmp 0x101480c2
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xd0]
and ecx, 4
je 0x10147f43
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xc8]
and eax, 0x40
mov ecx, dword [edx + 0xcc]
and ecx, 0
mov dword [ebp - 0x1f4], eax
mov dword [ebp - 0x1f0], ecx
cmp dword [ebp - 0x1f4], 0x40
jne 0x10147f2e
cmp dword [ebp - 0x1f0], 0
jne 0x10147f2e
mov dword [ebp - 0x14c], 1
jmp 0x10147f38
mov dword [ebp - 0x14c], 0
mov edx, dword [ebp - 0x14c]
mov dword [ebp - 0x3c], edx
jmp 0x10147f4f
mov dword [ebp - 0xc], 0x16
jmp 0x101480d1
jmp 0x101480c2
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xc8]
and ecx, 0x400000
mov edx, dword [eax + 0xcc]
and edx, 0
mov dword [ebp - 0x1fc], ecx
mov dword [ebp - 0x1f8], edx
cmp dword [ebp - 0x1fc], 0x400000
jne 0x10147f99
cmp dword [ebp - 0x1f8], 0
jne 0x10147f99
mov dword [ebp - 0x150], 1
jmp 0x10147fa3
mov dword [ebp - 0x150], 0
mov eax, dword [ebp - 0x150]
mov dword [ebp - 0x3c], eax
jmp 0x101480c2
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xc8]
and edx, 0x100
mov eax, dword [ecx + 0xcc]
and eax, 0
mov dword [ebp - 0x204], edx
mov dword [ebp - 0x200], eax
cmp dword [ebp - 0x204], 0x100
jne 0x10147ff6
cmp dword [ebp - 0x200], 0
jne 0x10147ff6
mov dword [ebp - 0x154], 1
jmp 0x10148000
mov dword [ebp - 0x154], 0
mov ecx, dword [ebp - 0x154]
mov dword [ebp - 0x3c], ecx
jmp 0x101480c2
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xc8]
and eax, 2
mov ecx, dword [edx + 0xcc]
and ecx, 0
mov dword [ebp - 0x20c], eax
mov dword [ebp - 0x208], ecx
cmp dword [ebp - 0x20c], 2
jne 0x1014804d
cmp dword [ebp - 0x208], 0
jne 0x1014804d
mov dword [ebp - 0x158], 1
jmp 0x10148057
mov dword [ebp - 0x158], 0
mov edx, dword [ebp - 0x158]
mov dword [ebp - 0x3c], edx
jmp 0x101480c2
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xc8]
and ecx, 0x200
mov edx, dword [eax + 0xcc]
and edx, 0
mov dword [ebp - 0x214], ecx
mov dword [ebp - 0x210], edx
cmp dword [ebp - 0x214], 0x200
jne 0x101480b2
cmp dword [ebp - 0x210], 0
jne 0x101480b2
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x1e4]
push ecx
call fcn.1017aaf0
add esp, 4
mov dword [ebp - 0x3c], eax
jmp 0x101480b9
mov dword [ebp - 0x3c], 0
jmp 0x101480c2
mov dword [ebp - 0xc], 0x7b
mov edx, dword [ebp + 0x14]
cmp dword [edx], 4
jae 0x101480d1
mov dword [ebp - 0xc], 0x16
mov eax, dword [ebp - 4]
add eax, 0x264
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp dword [ebp - 0xc], 0
jne 0x101480f7
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp - 0x3c]
mov dword [ecx], edx
mov eax, dword [ebp + 0x14]
mov dword [eax], 4
jmp 0x1014d7f4
mov dword [ebp - 0xc], 0x82
jmp 0x1014d7f4
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xd0]
and edx, 1
je 0x10148122
mov dword [ebp - 0xc], 0x16
jmp 0x1014d7f4
mov eax, dword [ebp + 0x14]
cmp dword [eax], 4
jae 0x10148138
mov dword [ebp - 0xc], 0x16
jmp 0x1014d7f4
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 0x18c], ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xc8]
and eax, 0x2000000
mov ecx, dword [edx + 0xcc]
and ecx, 0
mov dword [ebp - 0x21c], eax
mov dword [ebp - 0x218], ecx
cmp dword [ebp - 0x21c], 0x2000000
jne 0x10148185
cmp dword [ebp - 0x218], 0
jne 0x10148185
mov dword [ebp - 0x15c], 1
jmp 0x1014818f
mov dword [ebp - 0x15c], 0
mov edx, dword [ebp - 0x18c]
mov eax, dword [ebp - 0x15c]
mov dword [edx], eax
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 4
jmp 0x1014d7f4
mov edx, dword [ebp + 0x14]
cmp dword [edx], 4
jae 0x101481c1
mov dword [ebp - 0xc], 0x16
jmp 0x1014d7f4
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x190], eax
mov ecx, dword [ebp - 0x190]
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x218]
mov dword [ecx], eax
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 4
jmp 0x1014d7f4
mov edx, dword [ebp + 0x14]
cmp dword [edx], 4
jae 0x101481ff
mov dword [ebp - 0xc], 0x16
jmp 0x1014d7f4
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x114], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xc8]
and edx, 8
mov eax, dword [ecx + 0xcc]
and eax, 0
mov dword [ebp - 0x224], edx
mov dword [ebp - 0x220], eax
cmp dword [ebp - 0x224], 8
jne 0x1014828a
cmp dword [ebp - 0x220], 0
jne 0x1014828a
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xc8]
and edx, 0x10
mov eax, dword [ecx + 0xcc]
and eax, 0
mov dword [ebp - 0x22c], edx
mov dword [ebp - 0x228], eax
cmp dword [ebp - 0x22c], 0x10
jne 0x1014827c
cmp dword [ebp - 0x228], 0
jne 0x1014827c
mov ecx, dword [ebp - 0x114]
mov dword [ecx], 2
jmp 0x10148288
mov edx, dword [ebp - 0x114]
mov dword [edx], 1
jmp 0x10148296
mov eax, dword [ebp - 0x114]
mov dword [eax], 0
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 4
jmp 0x1014d7f4
mov edx, dword [ebp + 0x14]
cmp dword [edx], 8
jae 0x101482ba
mov dword [ebp - 0xc], 0x16
jmp 0x1014d7f4
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x78], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xd0]
and edx, 2
jne 0x101482df
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xd0]
and ecx, 0x400000
je 0x10148322
mov edx, dword [ebp - 4]
add edx, 0x264
push edx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x210]
mov dword [ebp - 8], ecx
cmp dword [ebp - 8], 0
je 0x10148311
mov edx, dword [ebp - 8]
add edx, 0x57c
push edx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [ebp - 4]
add eax, 0x264
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x1014835c
mov ecx, dword [ebp - 0x78]
cmp dword [ecx], 2
jbe 0x10148355
push 1
mov edx, dword [ebp - 0x78]
mov eax, dword [edx]
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.10180640
add esp, 0xc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x10148353
mov dword [ebp - 0xc], 2
jmp 0x1014d7f4
jmp 0x1014835c
mov dword [ebp - 8], 0
cmp dword [ebp - 8], 0
je 0x10148387
mov edx, dword [ebp - 8]
movzx eax, byte [edx + 0x4be]
mov ecx, dword [ebp - 0x78]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 8]
add edx, 0x57c
push edx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x10148407
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xd0]
and ecx, 2
jne 0x101483bb
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xd0]
and eax, 0x400000
jne 0x101483bb
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xd0]
and edx, 1
je 0x10148400
mov eax, dword [ebp - 0x78]
cmp dword [eax], 0
jne 0x10148400
mov ecx, dword [ebp - 4]
add ecx, 0x264
push ecx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edx, dword [ebp - 4]
movzx eax, byte [edx + 0x22f]
test eax, eax
je 0x101483e5
mov ecx, dword [ebp - 0x78]
mov dword [ecx + 4], 1
jmp 0x101483ef
mov edx, dword [ebp - 0x78]
mov dword [edx + 4], 0
mov eax, dword [ebp - 4]
add eax, 0x264
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x10148407
mov dword [ebp - 0xc], 0x16
cmp dword [ebp - 0xc], 0
jne 0x10148416
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 8
jmp 0x1014d7f4
mov edx, dword [ebp + 0x14]
cmp dword [edx], 8
jae 0x10148431
mov dword [ebp - 0xc], 0x16
jmp 0x1014d7f4
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x90], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xd0]
and edx, 2
jne 0x10148459
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xd0]
and ecx, 0x400000
je 0x1014849c
mov edx, dword [ebp - 4]
add edx, 0x264
push edx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x210]
mov dword [ebp - 8], ecx
cmp dword [ebp - 8], 0
je 0x1014848b
mov edx, dword [ebp - 8]
add edx, 0x57c
push edx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [ebp - 4]
add eax, 0x264
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x101484dc
mov ecx, dword [ebp - 0x90]
cmp dword [ecx], 2
jbe 0x101484d5
push 1
mov edx, dword [ebp - 0x90]
mov eax, dword [edx]
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.10180640
add esp, 0xc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x101484d3
mov dword [ebp - 0xc], 2
jmp 0x1014d7f4
jmp 0x101484dc
mov dword [ebp - 8], 0
cmp dword [ebp - 8], 0
je 0x10148507
mov edx, dword [ebp - 8]
movzx eax, byte [edx + 0x4d9]
mov ecx, dword [ebp - 0x90]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 8]
add edx, 0x57c
push edx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x10148579
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xd0]
and ecx, 2
jne 0x1014853e
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xd0]
and eax, 0x400000
jne 0x1014853e
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xd0]
and edx, 1
je 0x10148572
mov eax, dword [ebp - 0x90]
cmp dword [eax], 0
jne 0x10148572
mov ecx, dword [ebp - 4]
add ecx, 0x264
push ecx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edx, dword [ebp - 0x90]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x228]
mov dword [edx + 4], ecx
mov edx, dword [ebp - 4]
add edx, 0x264
push edx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x10148579
mov dword [ebp - 0xc], 0x16
cmp dword [ebp - 0xc], 0
jne 0x10148588
mov eax, dword [ebp + 0x14]
mov dword [eax], 8
jmp 0x1014d7f4
mov ecx, dword [ebp + 0x14]
cmp dword [ecx], 8
jae 0x101485a3
mov dword [ebp - 0xc], 0x16
jmp 0x1014d7f4
mov edx, dword [ebp + 0x10]
mov dword [ebp - 0x94], edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xd0]
and ecx, 2
jne 0x101485ca
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xd0]
and eax, 0x400000
je 0x1014860e
mov ecx, dword [ebp - 4]
add ecx, 0x264
push ecx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x210]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x101485fc
mov ecx, dword [ebp - 8]
add ecx, 0x57c
push ecx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edx, dword [ebp - 4]
add edx, 0x264
push edx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x1014864e
mov eax, dword [ebp - 0x94]
cmp dword [eax], 2
jbe 0x10148647
push 1
mov ecx, dword [ebp - 0x94]
mov edx, dword [ecx]
push edx
mov eax, dword [ebp - 4]
push eax
call fcn.10180640
add esp, 0xc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x10148645
mov dword [ebp - 0xc], 2
jmp 0x1014d7f4
jmp 0x1014864e
mov dword [ebp - 8], 0
cmp dword [ebp - 8], 0
je 0x10148678
mov ecx, dword [ebp - 0x94]
mov edx, dword [ebp - 8]
mov eax, dword [edx + 0x280]
mov dword [ecx + 4], eax
mov ecx, dword [ebp - 8]
add ecx, 0x57c
push ecx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x101486ea
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xd0]
and eax, 2
jne 0x101486b0
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xd0]
and edx, 0x400000
jne 0x101486b0
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xd0]
and ecx, 1
je 0x101486e3
mov edx, dword [ebp - 0x94]
cmp dword [edx], 0
jne 0x101486e3
mov eax, dword [ebp - 4]
add eax, 0x264
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, dword [ebp - 0x94]
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x158]
mov dword [ecx + 4], eax
mov ecx, dword [ebp - 4]
add ecx, 0x264
push ecx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x101486ea
mov dword [ebp - 0xc], 0x16
cmp dword [ebp - 0xc], 0
jne 0x101486f9
mov edx, dword [ebp + 0x14]
mov dword [edx], 8
jmp 0x1014d7f4
mov eax, dword [ebp + 0x14]
cmp dword [eax], 0xc
jae 0x10148714
mov dword [ebp - 0xc], 0x16
jmp 0x1014d7f4
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 0x118], ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xd0]
and eax, 2
jne 0x1014873c
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xd0]
and edx, 0x400000
je 0x1014877e
mov eax, dword [ebp - 4]
add eax, 0x264
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x210]
mov dword [ebp - 8], edx
cmp dword [ebp - 8], 0
je 0x1014876c
mov eax, dword [ebp - 8]
add eax, 0x57c
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, dword [ebp - 4]
add ecx, 0x264
push ecx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x101487c0
mov edx, dword [ebp - 0x118]
cmp dword [edx + 4], 2
jbe 0x101487b9
push 1
mov eax, dword [ebp - 0x118]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [ebp - 4]
push edx
call fcn.10180640
add esp, 0xc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x101487b7
mov dword [ebp - 0xc], 2
jmp 0x1014d7f4
jmp 0x101487c0
mov dword [ebp - 8], 0
cmp dword [ebp - 8], 0
jne 0x101487cf
mov dword [ebp - 0xc], 0x16
jmp 0x1014881a
mov eax, dword [ebp - 8]
cmp dword [eax + 0x278], 0
jne 0x101487e4
mov dword [ebp - 0xc], 0x81
jmp 0x1014880b
mov ecx, dword [ebp - 0x118]
push ecx
push 0
mov edx, dword [ebp - 8]
push edx
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 0x278]
call ecx
add esp, 0xc
mov dword [ebp - 0xc], eax
mov edx, dword [ebp + 0x14]
mov dword [edx], 0xc
mov eax, dword [ebp - 8]
add eax, 0x57c
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x1014d7f4
mov ecx, dword [ebp + 0x14]
cmp dword [ecx], 8
jae 0x10148835
mov dword [ebp - 0xc], 0x16
jmp 0x1014d7f4
mov edx, dword [ebp + 0x10]
mov dword [ebp - 0x98], edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xd0]
and ecx, 2
jne 0x1014885c
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xd0]
and eax, 0x400000
je 0x101488a0
mov ecx, dword [ebp - 4]
add ecx, 0x264
push ecx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x210]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x1014888e
mov ecx, dword [ebp - 8]
add ecx, 0x57c
push ecx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edx, dword [ebp - 4]
add edx, 0x264
push edx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x101488e0
mov eax, dword [ebp - 0x98]
cmp dword [eax], 2
jbe 0x101488d9
push 1
mov ecx, dword [ebp - 0x98]
mov edx, dword [ecx]
push edx
mov eax, dword [ebp - 4]
push eax
call fcn.10180640
add esp, 0xc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x101488d7
mov dword [ebp - 0xc], 2
jmp 0x1014d7f4
jmp 0x101488e0
mov dword [ebp - 8], 0
cmp dword [ebp - 8], 0
je 0x1014890a
mov ecx, dword [ebp - 0x98]
mov edx, dword [ebp - 8]
mov eax, dword [edx + 0x2b4]
mov dword [ecx + 4], eax
mov ecx, dword [ebp - 8]
add ecx, 0x57c
push ecx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x1014897c
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xd0]
and eax, 2
jne 0x10148942
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xd0]
and edx, 0x400000
jne 0x10148942
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xd0]
and ecx, 1
je 0x10148975
mov edx, dword [ebp - 0x98]
cmp dword [edx], 0
jne 0x10148975
mov eax, dword [ebp - 4]
add eax, 0x264
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, dword [ebp - 0x98]
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x15c]
mov dword [ecx + 4], eax
mov ecx, dword [ebp - 4]
add ecx, 0x264
push ecx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x1014897c
mov dword [ebp - 0xc], 0x16
cmp dword [ebp - 0xc], 0
jne 0x1014898b
mov edx, dword [ebp + 0x14]
mov dword [edx], 8
jmp 0x1014d7f4
mov eax, dword [ebp + 0x14]
cmp dword [eax], 8
jae 0x101489a6
mov dword [ebp - 0xc], 0x16
jmp 0x1014d7f4
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 0x9c], ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xd0]
and eax, 2
jne 0x101489ce
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xd0]
and edx, 0x400000
je 0x10148a10
mov eax, dword [ebp - 4]
add eax, 0x264
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x210]
mov dword [ebp - 8], edx
cmp dword [ebp - 8], 0
je 0x101489fe
mov eax, dword [ebp - 8]
add eax, 0x57c
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, dword [ebp - 4]
add ecx, 0x264
push ecx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x10148a50
mov edx, dword [ebp - 0x9c]
cmp dword [edx], 2
jbe 0x10148a49
push 1
mov eax, dword [ebp - 0x9c]
mov ecx, dword [eax]
push ecx
mov edx, dword [ebp - 4]
push edx
call fcn.10180640
add esp, 0xc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x10148a47
mov dword [ebp - 0xc], 2
jmp 0x1014d7f4
jmp 0x10148a50
mov dword [ebp - 8], 0
cmp dword [ebp - 8], 0
je 0x10148ad0
mov eax, dword [ebp - 0x9c]
movzx ecx, word [eax + 4]
mov edx, dword [ebp - 8]
movzx eax, word [edx + 0x47e]
cmp ecx, eax
jge 0x10148aac
mov ecx, dword [ebp - 0x9c]
add ecx, 6
push ecx
mov edx, dword [ebp - 0x9c]
movzx eax, word [edx + 4]
imul ecx, eax, 0x30
mov edx, dword [ebp - 8]
add ecx, dword [edx + 0x21c]
push ecx
mov eax, dword [ebp - 8]
add eax, 0x30
push eax
mov ecx, dword [ebp - 8]
push ecx
mov edx, dword [ebp - 8]
mov eax, dword [edx + 0x2a8]
call eax
add esp, 0x10
test eax, eax
jge 0x10148ab5
mov dword [ebp - 0xc], 0x16
jmp 0x10148abe
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 8
mov edx, dword [ebp - 8]
add edx, 0x57c
push edx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x10148ad7
mov dword [ebp - 0xc], 0x16
jmp 0x1014d7f4
mov eax, dword [ebp + 0x14]
cmp dword [eax], 8
jae 0x10148af2
mov dword [ebp - 0xc], 0x16
jmp 0x1014d7f4
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 0x160], ecx
mov dword [ebp - 0xc], 0x16
mov edx, dword [ebp - 0x160]
cmp dword [edx + 4], 0x7b
jne 0x10148b22
mov eax, dword [ebp - 0x160]
mov dword [eax + 4], 8
mov dword [ebp - 0xc], 0
cmp dword [ebp - 0xc], 0
je 0x10148b2a
jmp 0x10148b33
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 8
jmp 0x1014d7f4
mov edx, dword [ebp + 0x14]
cmp dword [edx], 4
jae 0x10148b4e
mov dword [ebp - 0xc], 0x16
jmp 0x1014d7f4
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x194], eax
mov ecx, dword [ebp - 4]
add ecx, 0x264
push ecx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xd0]
and eax, 2
jne 0x10148b86
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xd0]
and edx, 0x400000
je 0x10148ba1
mov dword [ebp - 0xc], 0x16
mov eax, dword [ebp - 4]
add eax, 0x264
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x1014d7f4
mov dword [ebp - 0x11c], 0
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x210]
mov dword [ebp - 8], edx
jmp 0x10148bc2
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 8], ecx
cmp dword [ebp - 8], 0
je 0x10148bd9
mov edx, dword [ebp - 0x11c]
add edx, 1
mov dword [ebp - 0x11c], edx
jmp 0x10148bb9
mov eax, dword [ebp - 4]
add eax, 0x264
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ecx, dword [ebp - 0x194]
mov edx, dword [ebp - 0x11c]
mov dword [ecx], edx
mov eax, dword [ebp + 0x14]
mov dword [eax], 4
jmp 0x1014d7f4
mov ecx, dword [ebp + 0x14]
cmp dword [ecx], 4
jae 0x10148c1a
mov dword [ebp - 0xc], 0x16
jmp 0x1014d7f4
mov edx, dword [ebp + 0x10]
mov dword [ebp - 0x164], edx
mov eax, dword [ebp - 4]
add eax, 0x264
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xd0]
and edx, 2
jne 0x10148c51
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xd0]
and ecx, 0x400000
je 0x10148c6d
mov dword [ebp - 0xc], 0x16
mov edx, dword [ebp - 4]
add edx, 0x264
push edx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x1014d7f4
mov dword [ebp - 0x5c], 0
mov eax, dword [ebp + 0x14]
mov ecx, dword [eax]
sub ecx, 4
shr ecx, 2
mov dword [ebp - 0x198], ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x210]
mov dword [ebp - 8], eax
jmp 0x10148c9c
mov ecx, dword [ebp - 8]
mov edx, dword [ecx + 0x10]
mov dword [ebp - 8], edx
cmp dword [ebp - 8], 0
je 0x10148ce4
mov eax, dword [ebp - 0x5c]
cmp eax, dword [ebp - 0x198]
jae 0x10148cd9
mov ecx, dword [ebp - 0x5c]
mov edx, dword [ebp - 0x164]
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x2e4]
mov dword [edx + ecx*4 + 4], eax
mov ecx, dword [ebp - 0x5c]
add ecx, 1
mov dword [ebp - 0x5c], ecx
jne 0x10148cd7
mov dword [ebp - 0xc], 0x16
jmp 0x10148ce4
jmp 0x10148ce2
mov dword [ebp - 0xc], 0x16
jmp 0x10148ce4
jmp 0x10148c93
mov edx, dword [ebp - 4]
add edx, 0x264
push edx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp dword [ebp - 0xc], 0
jne 0x10148d14
mov eax, dword [ebp - 0x164]
mov ecx, dword [ebp - 0x5c]
mov dword [eax], ecx
mov edx, dword [ebp - 0x5c]
lea eax, [edx*4 + 4]
mov ecx, dword [ebp + 0x14]
mov dword [ecx], eax
jmp 0x1014d7f4
mov edx, dword [ebp + 0x14]
cmp dword [edx], 8
jae 0x10148d2f
mov dword [ebp - 0xc], 0x16
jmp 0x1014d7f4
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0xa0], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xd0]
and edx, 2
jne 0x10148d57
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xd0]
and ecx, 0x400000
je 0x10148d9a
mov edx, dword [ebp - 4]
add edx, 0x264
push edx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x210]
mov dword [ebp - 8], ecx
cmp dword [ebp - 8], 0
je 0x10148d89
mov edx, dword [ebp - 8]
add edx, 0x57c
push edx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [ebp - 4]
add eax, 0x264
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x10148dda
mov ecx, dword [ebp - 0xa0]
cmp dword [ecx], 2
jbe 0x10148dd3
push 1
mov edx, dword [ebp - 0xa0]
mov eax, dword [edx]
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.10180640
add esp, 0xc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x10148dd1
mov dword [ebp - 0xc], 2
jmp 0x1014d7f4
jmp 0x10148dda
mov dword [ebp - 8], 0
cmp dword [ebp - 8], 0
je 0x10148e04
mov edx, dword [ebp - 0xa0]
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 0x32c]
mov dword [edx + 4], ecx
mov edx, dword [ebp - 8]
add edx, 0x57c
push edx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x10148e76
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xd0]
and ecx, 2
jne 0x10148e3b
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xd0]
and eax, 0x400000
jne 0x10148e3b
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xd0]
and edx, 1
je 0x10148e6f
mov eax, dword [ebp - 0xa0]
cmp dword [eax], 0
jne 0x10148e6f
mov ecx, dword [ebp - 4]
add ecx, 0x264
push ecx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edx, dword [ebp - 0xa0]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x21c]
mov dword [edx + 4], ecx
mov edx, dword [ebp - 4]
add edx, 0x264
push edx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x10148e76
mov dword [ebp - 0xc], 0x16
cmp dword [ebp - 0xc], 0
jne 0x10148e85
mov eax, dword [ebp + 0x14]
mov dword [eax], 8
jmp 0x1014d7f4
mov ecx, dword [ebp + 0x14]
cmp dword [ecx], 4
jae 0x10148ea0
mov dword [ebp - 0xc], 0x16
jmp 0x1014d7f4
mov edx, dword [ebp + 0x10]
mov dword [ebp - 0x19c], edx
mov eax, dword [ebp - 0x19c]
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x2b0]
mov dword [eax], edx
mov eax, dword [ebp + 0x14]
mov dword [eax], 4
jmp 0x1014d7f4
mov ecx, dword [ebp + 0x14]
cmp dword [ecx], 8
jae 0x10148ede
mov dword [ebp - 0xc], 0x16
jmp 0x1014d7f4
mov edx, dword [ebp + 0x10]
mov dword [ebp - 0x120], edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xd0]
and ecx, 2
jne 0x10148f05
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xd0]
and eax, 0x400000
je 0x10148f49
mov ecx, dword [ebp - 4]
add ecx, 0x264
push ecx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x210]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x10148f37
mov ecx, dword [ebp - 8]
add ecx, 0x57c
push ecx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edx, dword [ebp - 4]
add edx, 0x264
push edx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x10148f89
mov eax, dword [ebp - 0x120]
cmp dword [eax], 2
jbe 0x10148f82
push 1
mov ecx, dword [ebp - 0x120]
mov edx, dword [ecx]
push edx
mov eax, dword [ebp - 4]
push eax
call fcn.10180640
add esp, 0xc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x10148f80
mov dword [ebp - 0xc], 2
jmp 0x1014d7f4
jmp 0x10148f89
mov dword [ebp - 8], 0
cmp dword [ebp - 8], 0
jne 0x10148f98
mov dword [ebp - 0xc], 0x16
jmp 0x10148fc3
mov ecx, dword [ebp - 0x120]
mov edx, dword [ebp - 8]
mov eax, dword [edx + 0x2b8]
mov dword [ecx + 4], eax
mov ecx, dword [ebp - 8]
add ecx, 0x57c
push ecx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov edx, dword [ebp + 0x14]
mov dword [edx], 8
jmp 0x1014d7f4
mov dword [ebp - 0xc], 0x82
jmp 0x1014d7f4
mov eax, dword [ebp + 0x14]
cmp dword [eax], 0xc
jae 0x10148fea
mov dword [ebp - 0xc], 0x16
jmp 0x1014d7f4
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 0xe8], ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xd0]
and eax, 2
jne 0x10149012
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xd0]
and edx, 0x400000
je 0x10149054
mov eax, dword [ebp - 4]
add eax, 0x264
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x210]
mov dword [ebp - 8], edx
cmp dword [ebp - 8], 0
je 0x10149042
mov eax, dword [ebp - 8]
add eax, 0x57c
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, dword [ebp - 4]
add ecx, 0x264
push ecx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x10149094
mov edx, dword [ebp - 0xe8]
cmp dword [edx], 2
jbe 0x1014908d
push 1
mov eax, dword [ebp - 0xe8]
mov ecx, dword [eax]
push ecx
mov edx, dword [ebp - 4]
push edx
call fcn.10180640
add esp, 0xc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x1014908b
mov dword [ebp - 0xc], 2
jmp 0x1014d7f4
jmp 0x10149094
mov dword [ebp - 8], 0
cmp dword [ebp - 8], 0
je 0x101490d8
mov eax, dword [ebp - 0xe8]
mov ecx, dword [ebp - 8]
mov edx, dword [ecx + 0x2d8]
mov dword [eax + 4], edx
mov eax, dword [ebp - 0xe8]
mov ecx, dword [ebp - 8]
mov edx, dword [ecx + 0x2d4]
mov dword [eax + 8], edx
mov eax, dword [ebp - 8]
add eax, 0x57c
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0xc
jmp 0x101490df
mov dword [ebp - 0xc], 0x7e
jmp 0x1014d7f4
mov edx, dword [ebp + 0x14]
cmp dword [edx], 0xc
jae 0x101490fa
mov dword [ebp - 0xc], 0x16
jmp 0x1014d7f4
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x60], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xd0]
and edx, 2
jne 0x1014911f
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xd0]
and ecx, 0x400000
je 0x10149162
mov edx, dword [ebp - 4]
add edx, 0x264
push edx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x210]
mov dword [ebp - 8], ecx
cmp dword [ebp - 8], 0
je 0x10149151
mov edx, dword [ebp - 8]
add edx, 0x57c
push edx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [ebp - 4]
add eax, 0x264
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x1014919c
mov ecx, dword [ebp - 0x60]
cmp dword [ecx], 2
jbe 0x10149195
push 1
mov edx, dword [ebp - 0x60]
mov eax, dword [edx]
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.10180640
add esp, 0xc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x10149193
mov dword [ebp - 0xc], 2
jmp 0x1014d7f4
jmp 0x1014919c
mov dword [ebp - 8], 0
cmp dword [ebp - 8], 0
je 0x101491d5
mov edx, dword [ebp - 0x60]
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 0x3c0]
mov dword [edx + 4], ecx
mov edx, dword [ebp - 0x60]
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 0x3c8]
mov dword [edx + 8], ecx
mov edx, dword [ebp - 8]
add edx, 0x57c
push edx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x10149261
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xd0]
and ecx, 2
jne 0x10149209
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xd0]
and eax, 0x400000
jne 0x10149209
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xd0]
and edx, 1
je 0x1014925a
mov eax, dword [ebp - 0x60]
cmp dword [eax], 0
jne 0x1014925a
mov ecx, dword [ebp - 4]
add ecx, 0x264
push ecx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edx, 4
shl edx, 0
mov eax, dword [ebp - 4]
mov ecx, dword [eax + edx + 0x120]
push ecx
call fcn.1017aa10
add esp, 4
mov edx, dword [ebp - 0x60]
mov dword [edx + 4], eax
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x14c]
mov dword [eax + 8], edx
mov eax, dword [ebp - 4]
add eax, 0x264
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x10149261
mov dword [ebp - 0xc], 0x16
cmp dword [ebp - 0xc], 0
jne 0x10149270
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0xc
jmp 0x1014d7f4
mov edx, dword [ebp + 0x14]
cmp dword [edx], 0xc
jae 0x1014928b
mov dword [ebp - 0xc], 0x16
jmp 0x1014d7f4
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0xec], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xd0]
and edx, 2
jne 0x101492b3
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xd0]
and ecx, 0x400000
je 0x101492f6
mov edx, dword [ebp - 4]
add edx, 0x264
push edx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x210]
mov dword [ebp - 8], ecx
cmp dword [ebp - 8], 0
je 0x101492e5
mov edx, dword [ebp - 8]
add edx, 0x57c
push edx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [ebp - 4]
add eax, 0x264
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x10149336
mov ecx, dword [ebp - 0xec]
cmp dword [ecx], 2
jbe 0x1014932f
push 1
mov edx, dword [ebp - 0xec]
mov eax, dword [edx]
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.10180640
add esp, 0xc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x1014932d
mov dword [ebp - 0xc], 2
jmp 0x1014d7f4
jmp 0x10149336
mov dword [ebp - 8], 0
cmp dword [ebp - 8], 0
je 0x10149383
mov edx, dword [ebp - 0xec]
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 0x358]
mov dword [edx + 4], ecx
mov edx, dword [ebp - 8]
mov eax, dword [edx + 0x384]
mov ecx, dword [ebp - 8]
add eax, dword [ecx + 0x3a4]
mov edx, dword [ebp - 0xec]
mov dword [edx + 8], eax
mov eax, dword [ebp - 8]
add eax, 0x57c
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0xc
jmp 0x1014938a
mov dword [ebp - 0xc], 0x7e
jmp 0x1014d7f4
mov edx, dword [ebp + 0x14]
cmp dword [edx], 8
jae 0x101493a5
mov dword [ebp - 0xc], 0x16
jmp 0x1014d7f4
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0xa4], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xd0]
and edx, 2
jne 0x101493cd
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xd0]
and ecx, 0x400000
je 0x10149410
mov edx, dword [ebp - 4]
add edx, 0x264
push edx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x210]
mov dword [ebp - 8], ecx
cmp dword [ebp - 8], 0
je 0x101493ff
mov edx, dword [ebp - 8]
add edx, 0x57c
push edx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [ebp - 4]
add eax, 0x264
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x10149450
mov ecx, dword [ebp - 0xa4]
cmp dword [ecx], 2
jbe 0x10149449
push 1
mov edx, dword [ebp - 0xa4]
mov eax, dword [edx]
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.10180640
add esp, 0xc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x10149447
mov dword [ebp - 0xc], 2
jmp 0x1014d7f4
jmp 0x10149450
mov dword [ebp - 8], 0
cmp dword [ebp - 8], 0
je 0x1014947a
mov edx, dword [ebp - 0xa4]
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 0x4a0]
mov dword [edx + 4], ecx
mov edx, dword [ebp - 8]
add edx, 0x57c
push edx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x101494ec
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xd0]
and ecx, 2
jne 0x101494b1
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xd0]
and eax, 0x400000
jne 0x101494b1
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xd0]
and edx, 1
je 0x101494e5
mov eax, dword [ebp - 0xa4]
cmp dword [eax], 0
jne 0x101494e5
mov ecx, dword [ebp - 4]
add ecx, 0x264
push ecx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edx, dword [ebp - 0xa4]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x1f8]
mov dword [edx + 4], ecx
mov edx, dword [ebp - 4]
add edx, 0x264
push edx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x101494ec
mov dword [ebp - 0xc], 0x16
cmp dword [ebp - 0xc], 0
jne 0x101494fb
mov eax, dword [ebp + 0x14]
mov dword [eax], 8
jmp 0x1014d7f4
mov ecx, dword [ebp + 0x14]
cmp dword [ecx], 8
jae 0x10149516
mov dword [ebp - 0xc], 0x16
jmp 0x1014d7f4
mov edx, dword [ebp + 0x10]
mov dword [ebp - 0x7c], edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xd0]
and ecx, 2
jne 0x1014953a
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xd0]
and eax, 0x400000
je 0x1014957e
mov ecx, dword [ebp - 4]
add ecx, 0x264
push ecx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x210]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x1014956c
mov ecx, dword [ebp - 8]
add ecx, 0x57c
push ecx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edx, dword [ebp - 4]
add edx, 0x264
push edx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x101495b8
mov eax, dword [ebp - 0x7c]
cmp dword [eax], 2
jbe 0x101495b1
push 1
mov ecx, dword [ebp - 0x7c]
mov edx, dword [ecx]
push edx
mov eax, dword [ebp - 4]
push eax
call fcn.10180640
add esp, 0xc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x101495af
mov dword [ebp - 0xc], 2
jmp 0x1014d7f4
jmp 0x101495b8
mov dword [ebp - 8], 0
cmp dword [ebp - 8], 0
je 0x101495ec
mov ecx, dword [ebp - 8]
add ecx, 0x30
push ecx
mov edx, dword [ebp - 8]
push edx
call fcn.101602b0
add esp, 8
mov ecx, dword [ebp - 0x7c]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 8]
add edx, 0x57c
push edx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x1014969e
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xd0]
and ecx, 2
jne 0x10149620
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xd0]
and eax, 0x400000
jne 0x10149620
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xd0]
and edx, 1
je 0x10149697
mov eax, dword [ebp - 0x7c]
cmp dword [eax], 0
jne 0x10149697
mov ecx, dword [ebp - 4]
add ecx, 0x264
push ecx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xd0]
and eax, 0x4000000
je 0x1014964c
mov dword [ebp - 0x168], 0x30
jmp 0x10149656
mov dword [ebp - 0x168], 0x30
mov ecx, dword [ebp - 4]
cmp dword [ecx + 0x214], 0xffff
jb 0x10149671
mov edx, dword [ebp - 0x7c]
mov dword [edx + 4], 0
jmp 0x10149686
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x214]
sub ecx, dword [ebp - 0x168]
mov edx, dword [ebp - 0x7c]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 4]
add eax, 0x264
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x1014969e
mov dword [ebp - 0xc], 0x16
cmp dword [ebp - 0xc], 0
jne 0x101496ad
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 8
jmp 0x1014d7f4
mov edx, dword [ebp + 0x14]
push edx
mov eax, dword [ebp + 0x10]
push eax
call fcn.1017a650
add esp, 8
mov dword [ebp - 0xc], eax
jmp 0x1014d7f4
mov ecx, dword [ebp + 0x14]
cmp dword [ecx], 0xb
jae 0x101496e0
mov dword [ebp - 0xc], 0x16
jmp 0x1014d7f4
mov edx, dword [ebp + 0x10]
mov dword [ebp - 0x34], edx
push 0xb
push 0
mov eax, dword [ebp - 0x34]
push eax
call fcn.103170a0
add esp, 0xc
mov ecx, dword [ebp - 4]
add ecx, 0x264
push ecx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xc8]
and eax, 0x400
mov ecx, dword [edx + 0xcc]
and ecx, 0
mov dword [ebp - 0x234], eax
mov dword [ebp - 0x230], ecx
cmp dword [ebp - 0x234], 0x400
jne 0x10149744
cmp dword [ebp - 0x230], 0
jne 0x10149744
mov edx, dword [ebp - 0x34]
mov byte [edx], 1
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xc8]
and ecx, 0x800
mov edx, dword [eax + 0xcc]
and edx, 0
mov dword [ebp - 0x23c], ecx
mov dword [ebp - 0x238], edx
cmp dword [ebp - 0x23c], 0x800
jne 0x10149784
cmp dword [ebp - 0x238], 0
jne 0x10149784
mov eax, dword [ebp - 0x34]
mov byte [eax + 1], 1
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xc8]
and edx, 0x1000
mov eax, dword [ecx + 0xcc]
and eax, 0
mov dword [ebp - 0x244], edx
mov dword [ebp - 0x240], eax
cmp dword [ebp - 0x244], 0x1000
jne 0x101497c4
cmp dword [ebp - 0x240], 0
jne 0x101497c4
mov ecx, dword [ebp - 0x34]
mov byte [ecx + 2], 1
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xc8]
and eax, 0x4000
mov ecx, dword [edx + 0xcc]
and ecx, 0
mov dword [ebp - 0x24c], eax
mov dword [ebp - 0x248], ecx
cmp dword [ebp - 0x24c], 0x4000
jne 0x10149803
cmp dword [ebp - 0x248], 0
jne 0x10149803
mov edx, dword [ebp - 0x34]
mov byte [edx + 3], 1
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xc8]
and ecx, 0x2000
mov edx, dword [eax + 0xcc]
and edx, 0
mov dword [ebp - 0x254], ecx
mov dword [ebp - 0x250], edx
cmp dword [ebp - 0x254], 0x2000
jne 0x10149843
cmp dword [ebp - 0x250], 0
jne 0x10149843
mov eax, dword [ebp - 0x34]
mov byte [eax + 4], 1
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xc8]
and edx, 0x8000
mov eax, dword [ecx + 0xcc]
and eax, 0
mov dword [ebp - 0x25c], edx
mov dword [ebp - 0x258], eax
cmp dword [ebp - 0x25c], 0x8000
jne 0x10149883
cmp dword [ebp - 0x258], 0
jne 0x10149883
mov ecx, dword [ebp - 0x34]
mov byte [ecx + 5], 1
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xc8]
and eax, 0x20000
mov ecx, dword [edx + 0xcc]
and ecx, 0
mov dword [ebp - 0x264], eax
mov dword [ebp - 0x260], ecx
cmp dword [ebp - 0x264], 0x20000
jne 0x101498c2
cmp dword [ebp - 0x260], 0
jne 0x101498c2
mov edx, dword [ebp - 0x34]
mov byte [edx + 6], 1
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xc8]
and ecx, 0x10000
mov edx, dword [eax + 0xcc]
and edx, 0
mov dword [ebp - 0x26c], ecx
mov dword [ebp - 0x268], edx
cmp dword [ebp - 0x26c], 0x10000
jne 0x10149902
cmp dword [ebp - 0x268], 0
jne 0x10149902
mov eax, dword [ebp - 0x34]
mov byte [eax + 7], 1
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xc8]
and edx, 0x40000
mov eax, dword [ecx + 0xcc]
and eax, 0
mov dword [ebp - 0x274], edx
mov dword [ebp - 0x270], eax
cmp dword [ebp - 0x274], 0x40000
jne 0x10149942
cmp dword [ebp - 0x270], 0
jne 0x10149942
mov ecx, dword [ebp - 0x34]
mov byte [ecx + 8], 1
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xc8]
and eax, 0x4000000
mov ecx, dword [edx + 0xcc]
and ecx, 0
mov dword [ebp - 0x27c], eax
mov dword [ebp - 0x278], ecx
cmp dword [ebp - 0x27c], 0x4000000
jne 0x10149981
cmp dword [ebp - 0x278], 0
jne 0x10149981
mov edx, dword [ebp - 0x34]
mov byte [edx + 9], 1
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xc8]
and ecx, 0x80000
mov edx, dword [eax + 0xcc]
and edx, 0
mov dword [ebp - 0x284], ecx
mov dword [ebp - 0x280], edx
cmp dword [ebp - 0x284], 0x80000
jne 0x101499c1
cmp dword [ebp - 0x280], 0
jne 0x101499c1
mov eax, dword [ebp - 0x34]
mov byte [eax + 0xa], 1
mov ecx, dword [ebp - 4]
add ecx, 0x264
push ecx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov edx, dword [ebp + 0x14]
mov dword [edx], 0xb
jmp 0x1014d7f4
mov eax, dword [ebp + 0x14]
cmp dword [eax], 4
jae 0x101499f5
mov dword [ebp - 0xc], 0x16
jmp 0x1014d7f4
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 0x1a0], ecx
mov edx, dword [ebp - 4]
add edx, 0x264
push edx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [ebp - 0x1a0]
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x1ec]
mov dword [eax], edx
mov eax, dword [ebp - 4]
add eax, 0x264
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 4
jmp 0x1014d7f4
mov edx, dword [ebp + 0x14]
cmp dword [edx], 4
jae 0x10149a52
mov dword [ebp - 0xc], 0x16
jmp 0x1014d7f4
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x1a4], eax
mov ecx, dword [ebp - 4]
add ecx, 0x264
push ecx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edx, dword [ebp - 0x1a4]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x1e8]
mov dword [edx], ecx
mov edx, dword [ebp - 4]
add edx, 0x264
push edx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, dword [ebp + 0x14]
mov dword [eax], 4
jmp 0x1014d7f4
mov ecx, dword [ebp + 0x14]
cmp dword [ecx], 4
jae 0x10149ab0
mov dword [ebp - 0xc], 0x16
jmp 0x1014d7f4
mov edx, dword [ebp + 0x10]
mov dword [ebp - 0x1a8], edx
mov eax, dword [ebp - 4]
add eax, 0x264
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, dword [ebp - 4]
push ecx
call fcn.101478b0
add esp, 4
mov edx, dword [ebp - 0x1a8]
mov dword [edx], eax
mov eax, dword [ebp - 4]
add eax, 0x264
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 4
jmp 0x1014d7f4
mov edx, dword [ebp + 0x14]
cmp dword [edx], 4
jae 0x10149b0f
mov dword [ebp - 0xc], 0x16
jmp 0x1014d7f4
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x124], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xd0]
and edx, 2
jne 0x10149b37
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xd0]
and ecx, 0x400000
je 0x10149b7a
mov edx, dword [ebp - 4]
add edx, 0x264
push edx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x210]
mov dword [ebp - 8], ecx
cmp dword [ebp - 8], 0
je 0x10149b69
mov edx, dword [ebp - 8]
add edx, 0x57c
push edx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [ebp - 4]
add eax, 0x264
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x10149bba
mov ecx, dword [ebp - 0x124]
cmp dword [ecx], 2
jbe 0x10149bb3
push 1
mov edx, dword [ebp - 0x124]
mov eax, dword [edx]
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.10180640
add esp, 0xc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x10149bb1
mov dword [ebp - 0xc], 2
jmp 0x1014d7f4
jmp 0x10149bba
mov dword [ebp - 8], 0
cmp dword [ebp - 8], 0
je 0x10149c4a
mov dword [ebp - 0x128], 0
mov edx, dword [ebp - 8]
mov eax, dword [edx + 0x1c4]
mov dword [ebp - 0xf0], eax
jmp 0x10149bed
mov ecx, dword [ebp - 0xf0]
mov edx, dword [ecx]
mov dword [ebp - 0xf0], edx
cmp dword [ebp - 0xf0], 0
je 0x10149c22
mov eax, dword [ebp - 0xf0]
movzx ecx, word [eax + 0x74]
mov dword [ebp - 0x1ac], ecx
cmp dword [ebp - 0x1ac], 0x7b
je 0x10149c11
jmp 0x10149c20
mov edx, dword [ebp - 0x128]
add edx, 8
mov dword [ebp - 0x128], edx
jmp 0x10149bdf
mov eax, dword [ebp - 8]
add eax, 0x57c
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ecx, dword [ebp - 0x124]
mov edx, dword [ebp - 0x128]
mov dword [ecx], edx
mov eax, dword [ebp + 0x14]
mov dword [eax], 4
jmp 0x10149c51
mov dword [ebp - 0xc], 0x7e
jmp 0x1014d7f4
mov ecx, dword [ebp + 0x14]
cmp dword [ecx], 4
jae 0x10149c6c
mov dword [ebp - 0xc], 0x16
jmp 0x1014d7f4
mov edx, dword [ebp + 0x10]
mov dword [ebp - 0x12c], edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xd0]
and ecx, 2
jne 0x10149c93
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xd0]
and eax, 0x400000
je 0x10149cd7
mov ecx, dword [ebp - 4]
add ecx, 0x264
push ecx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x210]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x10149cc5
mov ecx, dword [ebp - 8]
add ecx, 0x57c
push ecx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edx, dword [ebp - 4]
add edx, 0x264
push edx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x10149d17
mov eax, dword [ebp - 0x12c]
cmp dword [eax], 2
jbe 0x10149d10
push 1
mov ecx, dword [ebp - 0x12c]
mov edx, dword [ecx]
push edx
mov eax, dword [ebp - 4]
push eax
call fcn.10180640
add esp, 0xc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x10149d0e
mov dword [ebp - 0xc], 2
jmp 0x1014d7f4
jmp 0x10149d17
mov dword [ebp - 8], 0
cmp dword [ebp - 8], 0
je 0x10149e2f
mov ecx, dword [ebp + 0x14]
mov edx, dword [ecx]
sub edx, 4
mov dword [ebp - 0x130], edx
mov eax, dword [ebp + 0x14]
mov dword [eax], 4
mov ecx, 0x1c
imul edx, ecx, 0
mov eax, dword [ebp - 0x12c]
lea ecx, [eax + edx + 4]
mov dword [ebp - 0xf4], ecx
mov edx, dword [ebp - 8]
mov eax, dword [edx + 0x1c4]
mov dword [ebp - 0xa8], eax
jmp 0x10149d6f
mov ecx, dword [ebp - 0xa8]
mov edx, dword [ecx]
mov dword [ebp - 0xa8], edx
cmp dword [ebp - 0xa8], 0
je 0x10149e1d
mov eax, dword [ebp - 0xa8]
movzx ecx, word [eax + 0x74]
mov dword [ebp - 0x1b0], ecx
cmp dword [ebp - 0x1b0], 0x7b
je 0x10149d97
jmp 0x10149da0
mov dword [ebp - 0x64], 8
jmp 0x10149da7
mov dword [ebp - 0x64], 0
cmp dword [ebp - 0x64], 0
jne 0x10149daf
jmp 0x10149e1d
mov edx, dword [ebp - 0x130]
cmp edx, dword [ebp - 0x64]
jae 0x10149dbc
jmp 0x10149e1d
mov eax, dword [ebp - 0x64]
push eax
mov ecx, dword [ebp - 0xa8]
add ecx, 0x74
push ecx
mov edx, dword [ebp - 0xf4]
push edx
call fcn.10316b20
add esp, 0xc
mov eax, dword [ebp - 0xf4]
mov ecx, dword [ebp - 8]
mov dx, word [ecx + 0x578]
mov word [eax + 2], dx
mov eax, dword [ebp - 0xf4]
add eax, dword [ebp - 0x64]
mov dword [ebp - 0xf4], eax
mov ecx, dword [ebp - 0x130]
sub ecx, dword [ebp - 0x64]
mov dword [ebp - 0x130], ecx
mov edx, dword [ebp + 0x14]
mov eax, dword [edx]
add eax, dword [ebp - 0x64]
mov ecx, dword [ebp + 0x14]
mov dword [ecx], eax
jmp 0x10149d61
mov edx, dword [ebp - 8]
add edx, 0x57c
push edx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x10149e36
mov dword [ebp - 0xc], 2
jmp 0x1014d7f4
mov eax, dword [ebp + 0x14]
cmp dword [eax], 4
jae 0x10149e51
mov dword [ebp - 0xc], 0x16
jmp 0x1014d7f4
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 0x134], ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xd0]
and eax, 2
jne 0x10149e79
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xd0]
and edx, 0x400000
je 0x10149ebb
mov eax, dword [ebp - 4]
add eax, 0x264
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x210]
mov dword [ebp - 8], edx
cmp dword [ebp - 8], 0
je 0x10149ea9
mov eax, dword [ebp - 8]
add eax, 0x57c
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, dword [ebp - 4]
add ecx, 0x264
push ecx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x10149efb
mov edx, dword [ebp - 0x134]
cmp dword [edx], 2
jbe 0x10149ef4
push 1
mov eax, dword [ebp - 0x134]
mov ecx, dword [eax]
push ecx
mov edx, dword [ebp - 4]
push edx
call fcn.10180640
add esp, 0xc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x10149ef2
mov dword [ebp - 0xc], 2
jmp 0x1014d7f4
jmp 0x10149efb
mov dword [ebp - 8], 0
mov eax, dword [ebp + 0x14]
mov ecx, dword [eax]
sub ecx, 4
mov dword [ebp - 0x1b4], ecx
mov edx, 0x1c
imul eax, edx, 0
mov ecx, dword [ebp - 0x134]
lea edx, [ecx + eax + 4]
push edx
mov eax, dword [ebp - 0x1b4]
push eax
mov ecx, dword [ebp - 8]
push ecx
mov edx, dword [ebp - 4]
push edx
call fcn.10147780
add esp, 0x10
mov dword [ebp - 0x1b8], eax
cmp dword [ebp - 8], 0
je 0x10149f4e
mov eax, dword [ebp - 8]
add eax, 0x57c
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ecx, dword [ebp - 0x1b8]
add ecx, 4
mov edx, dword [ebp + 0x14]
mov dword [edx], ecx
jmp 0x1014d7f4
mov eax, dword [ebp + 0x14]
cmp dword [eax], 0x98
jae 0x10149f7a
mov dword [ebp - 0xc], 0x16
jmp 0x1014d7f4
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xd0]
and eax, 2
jne 0x10149f9f
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xd0]
and edx, 0x400000
je 0x10149fe1
mov eax, dword [ebp - 4]
add eax, 0x264
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x210]
mov dword [ebp - 8], edx
cmp dword [ebp - 8], 0
je 0x10149fcf
mov eax, dword [ebp - 8]
add eax, 0x57c
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, dword [ebp - 4]
add ecx, 0x264
push ecx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x1014a023
mov edx, dword [ebp - 0x10]
cmp dword [edx + 0x80], 2
jbe 0x1014a01c
push 1
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 0x80]
push ecx
mov edx, dword [ebp - 4]
push edx
call fcn.10180640
add esp, 0xc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x1014a01a
mov dword [ebp - 0xc], 2
jmp 0x1014d7f4
jmp 0x1014a023
mov dword [ebp - 8], 0
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0xf8], eax
cmp dword [ebp - 8], 0
je 0x1014a04a
mov ecx, dword [ebp - 0xf8]
push ecx
mov edx, dword [ebp - 8]
push edx
call fcn.1017ec30
add esp, 8
mov dword [ebp - 0x38], eax
jmp 0x1014a096
mov dword [ebp - 0x38], 0
mov eax, 1
mov ecx, dword [ebp - 4]
add ecx, 0x2ac
lock xadd dword [ecx], eax
push 0
push 0
lea edx, [ebp - 0x38]
push edx
mov eax, dword [ebp - 0xf8]
push eax
lea ecx, [ebp - 4]
push ecx
call fcn.10180020
add esp, 0x14
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x1014a096
or edx, 0xffffffff
mov eax, dword [ebp - 4]
add eax, 0x2ac
lock xadd dword [eax], edx
cmp dword [ebp - 8], 0
je 0x1014a101
cmp dword [ebp - 0x38], 0
jne 0x1014a101
mov ecx, dword [ebp - 0xf8]
movzx edx, word [ecx]
cmp edx, 0x7b
jne 0x1014a0e6
mov eax, dword [ebp - 0xf8]
mov dword [ebp - 0x1bc], eax
mov ecx, dword [ebp - 0x1bc]
cmp dword [ecx + 4], 0
je 0x1014a0e4
mov dword [ebp - 0xc], 0x16
mov edx, dword [ebp - 8]
add edx, 0x57c
push edx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x1014d7f4
jmp 0x1014a101
mov dword [ebp - 0xc], 0x66
mov eax, dword [ebp - 8]
add eax, 0x57c
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x1014d7f4
cmp dword [ebp - 8], 0
je 0x1014a428
mov ecx, dword [ebp - 0x10]
mov dword [ecx + 0x8c], 0
cmp dword [ebp - 0x38], 0
je 0x1014a242
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x38]
mov ecx, dword [eax + 0x1a0]
mov dword [edx + 0x84], ecx
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x38]
mov cx, word [eax + 0x1a6]
mov word [edx + 0x94], cx
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x38]
mov ecx, dword [eax + 0x94]
mov dword [edx + 0x88], ecx
mov edx, dword [ebp - 0x38]
movzx eax, word [edx + 0x74]
mov dword [ebp - 0x1c0], eax
cmp dword [ebp - 0x1c0], 0x7b
je 0x1014a172
jmp 0x1014a187
mov ecx, dword [ebp - 0x10]
mov edx, dword [ecx + 0x88]
sub edx, 0xc
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x88], edx
mov ecx, dword [ebp - 0x38]
movzx edx, word [ecx + 0x1a4]
and edx, 4
je 0x1014a1ad
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 0x8c]
or ecx, 2
mov edx, dword [ebp - 0x10]
mov dword [edx + 0x8c], ecx
jmp 0x1014a1c2
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 0x8c]
or ecx, 1
mov edx, dword [ebp - 0x10]
mov dword [edx + 0x8c], ecx
mov eax, dword [ebp - 0x38]
movzx ecx, word [eax + 0x1a4]
and ecx, 2
je 0x1014a1e8
mov edx, dword [ebp - 0x10]
mov eax, dword [edx + 0x8c]
or eax, 0x10
mov ecx, dword [ebp - 0x10]
mov dword [ecx + 0x8c], eax
jmp 0x1014a1fd
mov edx, dword [ebp - 0x10]
mov eax, dword [edx + 0x8c]
or eax, 8
mov ecx, dword [ebp - 0x10]
mov dword [ecx + 0x8c], eax
mov edx, dword [ebp - 0x38]
movzx eax, byte [edx + 0x18c]
and eax, 1
je 0x1014a23d
mov ecx, dword [ebp - 0x38]
movzx edx, byte [ecx + 0x18c]
and edx, 0xfc
mov eax, dword [ebp - 0x10]
mov byte [eax + 0x96], dl
mov ecx, dword [ebp - 0x10]
mov edx, dword [ecx + 0x8c]
or edx, 0x200
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x8c], edx
jmp 0x1014a402
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 8]
mov ax, word [edx + 0x488]
mov word [ecx + 0x94], ax
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 8]
mov eax, dword [edx + 0x470]
mov dword [ecx + 0x88], eax
mov ecx, dword [ebp - 8]
movzx edx, byte [ecx + 0x4b4]
and edx, 1
je 0x1014a2a8
mov eax, dword [ebp - 8]
movzx ecx, byte [eax + 0x4b4]
and ecx, 0xfc
mov edx, dword [ebp - 0x10]
mov byte [edx + 0x96], cl
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 0x8c]
or ecx, 0x200
mov edx, dword [ebp - 0x10]
mov dword [edx + 0x8c], ecx
cmp dword [ebp - 8], 0
je 0x1014a2e1
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 0x4e8]
and ecx, 4
mov edx, dword [eax + 0x4ec]
and edx, 0
mov dword [ebp - 0x28c], ecx
mov dword [ebp - 0x288], edx
cmp dword [ebp - 0x28c], 4
jne 0x1014a2e1
cmp dword [ebp - 0x288], 0
je 0x1014a320
cmp dword [ebp - 8], 0
jne 0x1014a337
cmp dword [ebp - 4], 0
je 0x1014a337
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xc8]
and ecx, 4
mov edx, dword [eax + 0xcc]
and edx, 0
mov dword [ebp - 0x294], ecx
mov dword [ebp - 0x290], edx
cmp dword [ebp - 0x294], 4
jne 0x1014a337
cmp dword [ebp - 0x290], 0
jne 0x1014a337
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 0x8c]
or ecx, 2
mov edx, dword [ebp - 0x10]
mov dword [edx + 0x8c], ecx
jmp 0x1014a34c
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 0x8c]
or ecx, 1
mov edx, dword [ebp - 0x10]
mov dword [edx + 0x8c], ecx
cmp dword [ebp - 8], 0
je 0x1014a385
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 0x4e8]
and ecx, 1
mov edx, dword [eax + 0x4ec]
and edx, 0
mov dword [ebp - 0x29c], ecx
mov dword [ebp - 0x298], edx
cmp dword [ebp - 0x29c], 1
jne 0x1014a385
cmp dword [ebp - 0x298], 0
je 0x1014a3c4
cmp dword [ebp - 8], 0
jne 0x1014a3db
cmp dword [ebp - 4], 0
je 0x1014a3db
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xc8]
and ecx, 1
mov edx, dword [eax + 0xcc]
and edx, 0
mov dword [ebp - 0x2a4], ecx
mov dword [ebp - 0x2a0], edx
cmp dword [ebp - 0x2a4], 1
jne 0x1014a3db
cmp dword [ebp - 0x2a0], 0
jne 0x1014a3db
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 0x8c]
or ecx, 0x10
mov edx, dword [ebp - 0x10]
mov dword [edx + 0x8c], ecx
jmp 0x1014a3f0
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 0x8c]
or ecx, 8
mov edx, dword [ebp - 0x10]
mov dword [edx + 0x8c], ecx
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 8]
mov edx, dword [ecx + 0x3ac]
mov dword [eax + 0x84], edx
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 8]
mov edx, dword [ecx + 0x2e4]
mov dword [eax + 0x80], edx
mov eax, dword [ebp - 8]
add eax, 0x57c
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x1014a5dd
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xd0]
and edx, 2
jne 0x1014a469
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xd0]
and ecx, 0x400000
jne 0x1014a469
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xd0]
and eax, 1
je 0x1014a5d6
mov ecx, dword [ebp - 0x10]
cmp dword [ecx + 0x80], 0
jne 0x1014a5d6
mov edx, dword [ebp - 4]
add edx, 0x264
push edx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 4]
mov dx, word [ecx + 0x178]
mov word [eax + 0x94], dx
mov eax, 4
imul ecx, eax, 3
mov edx, dword [ebp - 4]
mov eax, dword [edx + ecx + 0x120]
push eax
call fcn.1017aa10
add esp, 4
mov ecx, dword [ebp - 0x10]
mov dword [ecx + 0x84], eax
mov edx, dword [ebp - 0x10]
mov dword [edx + 0x80], 0
mov eax, dword [ebp - 4]
movzx ecx, byte [eax + 0x200]
and ecx, 1
je 0x1014a4fc
mov edx, dword [ebp - 4]
movzx eax, byte [edx + 0x200]
and eax, 0xfc
mov ecx, dword [ebp - 0x10]
mov byte [ecx + 0x96], al
mov edx, dword [ebp - 0x10]
mov eax, dword [edx + 0x8c]
or eax, 0x200
mov ecx, dword [ebp - 0x10]
mov dword [ecx + 0x8c], eax
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x170]
mov dword [edx + 0x88], ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xc8]
and eax, 4
mov ecx, dword [edx + 0xcc]
and ecx, 0
mov dword [ebp - 0x2ac], eax
mov dword [ebp - 0x2a8], ecx
mov edx, dword [ebp - 0x2ac]
or edx, dword [ebp - 0x2a8]
jne 0x1014a554
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 0x8c]
or ecx, 1
mov edx, dword [ebp - 0x10]
mov dword [edx + 0x8c], ecx
jmp 0x1014a569
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 0x8c]
or ecx, 2
mov edx, dword [ebp - 0x10]
mov dword [edx + 0x8c], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xc8]
and ecx, 1
mov edx, dword [eax + 0xcc]
and edx, 0
mov dword [ebp - 0x2b4], ecx
mov dword [ebp - 0x2b0], edx
mov eax, dword [ebp - 0x2b4]
or eax, dword [ebp - 0x2b0]
jne 0x1014a5af
mov ecx, dword [ebp - 0x10]
mov edx, dword [ecx + 0x8c]
or edx, 8
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x8c], edx
jmp 0x1014a5c4
mov ecx, dword [ebp - 0x10]
mov edx, dword [ecx + 0x8c]
or edx, 0x10
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x8c], edx
mov ecx, dword [ebp - 4]
add ecx, 0x264
push ecx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x1014a5dd
mov dword [ebp - 0xc], 0x16
cmp dword [ebp - 0xc], 0
jne 0x1014a5ec
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x98
jmp 0x1014d7f4
mov eax, dword [ebp + 0x14]
cmp dword [eax], 0x98
jae 0x1014a60a
mov dword [ebp - 0xc], 0x16
jmp 0x1014d7f4
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 0x2c], ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xd0]
and eax, 2
jne 0x1014a62f
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xd0]
and edx, 0x400000
je 0x1014a671
mov eax, dword [ebp - 4]
add eax, 0x264
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x210]
mov dword [ebp - 8], edx
cmp dword [ebp - 8], 0
je 0x1014a65f
mov eax, dword [ebp - 8]
add eax, 0x57c
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, dword [ebp - 4]
add ecx, 0x264
push ecx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x1014a6b3
mov edx, dword [ebp - 0x2c]
cmp dword [edx + 0x80], 2
jbe 0x1014a6ac
push 1
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax + 0x80]
push ecx
mov edx, dword [ebp - 4]
push edx
call fcn.10180640
add esp, 0xc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x1014a6aa
mov dword [ebp - 0xc], 2
jmp 0x1014d7f4
jmp 0x1014a6b3
mov dword [ebp - 8], 0
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x138], eax
cmp dword [ebp - 8], 0
je 0x1014a6da
mov ecx, dword [ebp - 0x138]
push ecx
mov edx, dword [ebp - 8]
push edx
call fcn.1017ec30
add esp, 8
mov dword [ebp - 0x40], eax
jmp 0x1014a726
mov dword [ebp - 0x40], 0
mov eax, 1
mov ecx, dword [ebp - 4]
add ecx, 0x2ac
lock xadd dword [ecx], eax
push 0
push 0
lea edx, [ebp - 0x40]
push edx
mov eax, dword [ebp - 0x138]
push eax
lea ecx, [ebp - 4]
push ecx
call fcn.10180020
add esp, 0x14
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x1014a726
or edx, 0xffffffff
mov eax, dword [ebp - 4]
add eax, 0x2ac
lock xadd dword [eax], edx
cmp dword [ebp - 8], 0
je 0x1014a82d
cmp dword [ebp - 0x40], 0
je 0x1014a82d
mov ecx, dword [ebp - 0x40]
movzx edx, word [ecx + 0x1a4]
and edx, 0x200
je 0x1014a75b
mov eax, dword [ebp - 0x2c]
mov dword [eax + 0x84], 0x200
jmp 0x1014a786
mov ecx, dword [ebp - 0x40]
movzx edx, word [ecx + 0x1a4]
and edx, 1
je 0x1014a779
mov eax, dword [ebp - 0x2c]
mov dword [eax + 0x84], 1
jmp 0x1014a786
mov ecx, dword [ebp - 0x2c]
mov dword [ecx + 0x84], 2
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x40]
mov ecx, dword [eax + 0x158]
mov dword [edx + 0x88], ecx
mov edx, dword [ebp - 0x40]
mov eax, dword [edx + 0xac]
sar eax, 3
mov ecx, dword [ebp - 0x2c]
mov dword [ecx + 0x8c], eax
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x40]
mov ecx, dword [eax + 0xc0]
mov dword [edx + 0x90], ecx
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 0x2e4]
mov dword [edx + 0x80], ecx
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x40]
mov ecx, dword [eax + 0x94]
mov dword [edx + 0x94], ecx
mov edx, dword [ebp - 0x138]
movzx eax, word [edx]
mov dword [ebp - 0x1c4], eax
cmp dword [ebp - 0x1c4], 0x7b
je 0x1014a7fd
jmp 0x1014a812
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ecx + 0x94]
sub edx, 0xc
mov eax, dword [ebp - 0x2c]
mov dword [eax + 0x94], edx
mov ecx, dword [ebp - 8]
add ecx, 0x57c
push ecx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x98
jmp 0x1014a849
cmp dword [ebp - 8], 0
je 0x1014a842
mov eax, dword [ebp - 8]
add eax, 0x57c
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov dword [ebp - 0xc], 2
jmp 0x1014d7f4
mov ecx, dword [ebp + 0x14]
cmp dword [ecx], 0x20
jae 0x1014a864
mov dword [ebp - 0xc], 0x16
jmp 0x1014d7f4
mov edx, dword [ebp + 0x10]
mov dword [ebp - 0x1c8], edx
mov eax, dword [ebp - 0x1c8]
push eax
call fcn.1017d9c0
add esp, 4
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x20
jmp 0x1014d7f4
mov edx, dword [ebp + 0x14]
cmp dword [edx], 0xb0
jae 0x1014a8a3
mov dword [ebp - 0xc], 0x16
jmp 0x1014d7f4
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xd0]
and edx, 2
jne 0x1014a8c8
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xd0]
and ecx, 0x400000
je 0x1014a90b
mov edx, dword [ebp - 4]
add edx, 0x264
push edx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x210]
mov dword [ebp - 8], ecx
cmp dword [ebp - 8], 0
je 0x1014a8fa
mov edx, dword [ebp - 8]
add edx, 0x57c
push edx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [ebp - 4]
add eax, 0x264
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x1014a945
mov ecx, dword [ebp - 0x18]
cmp dword [ecx], 2
jbe 0x1014a93e
push 1
mov edx, dword [ebp - 0x18]
mov eax, dword [edx]
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.10180640
add esp, 0xc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x1014a93c
mov dword [ebp - 0xc], 2
jmp 0x1014d7f4
jmp 0x1014a945
mov dword [ebp - 8], 0
cmp dword [ebp - 8], 0
jne 0x1014a957
mov dword [ebp - 0xc], 0x16
jmp 0x1014d7f4
mov edx, dword [ebp - 8]
mov eax, dword [edx + 0x30]
push eax
call fcn.10172e40
add esp, 4
mov ecx, dword [ebp - 0x18]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 0x2e4]
mov dword [edx], ecx
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 0x348]
mov dword [edx + 8], ecx
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 8]
mov cx, word [eax + 0x378]
mov word [edx + 0xc], cx
mov edx, dword [ebp - 8]
mov eax, dword [edx + 0x388]
mov ecx, dword [ebp - 8]
add eax, dword [ecx + 0x3a8]
mov edx, dword [ebp - 0x18]
mov word [edx + 0xe], ax
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 8]
mov dx, word [ecx + 0x47c]
mov word [eax + 0x10], dx
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 8]
mov dx, word [ecx + 0x47e]
mov word [eax + 0x12], dx
mov eax, dword [ebp - 8]
add eax, 0x30
push eax
mov ecx, dword [ebp - 8]
push ecx
call fcn.101602b0
add esp, 8
mov edx, dword [ebp - 0x18]
mov dword [edx + 0x14], eax
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 0x224]
mov dword [ebp - 0x4c], ecx
cmp dword [ebp - 0x4c], 0
je 0x1014ab17
mov edx, dword [ebp - 8]
mov eax, dword [edx + 0x224]
movzx ecx, word [eax + 0x74]
mov dword [ebp - 0x1cc], ecx
cmp dword [ebp - 0x1cc], 0x7b
je 0x1014aa22
jmp 0x1014aa3a
push 8
mov edx, dword [ebp - 0x4c]
add edx, 0x74
push edx
mov eax, dword [ebp - 0x18]
add eax, 0x18
push eax
call fcn.10316b20
add esp, 0xc
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 8]
mov ax, word [edx + 0x578]
mov word [ecx + 0x1a], ax
mov ecx, dword [ebp - 0x4c]
movzx edx, word [ecx + 0x1a4]
and edx, 0x200
je 0x1014aa6c
mov eax, dword [ebp - 0x18]
mov dword [eax + 0x9c], 0x200
jmp 0x1014aa97
mov ecx, dword [ebp - 0x4c]
movzx edx, word [ecx + 0x1a4]
and edx, 1
je 0x1014aa8a
mov eax, dword [ebp - 0x18]
mov dword [eax + 0x9c], 1
jmp 0x1014aa97
mov ecx, dword [ebp - 0x18]
mov dword [ecx + 0x9c], 2
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x4c]
mov ecx, dword [eax + 0x158]
mov dword [edx + 0xa0], ecx
mov edx, dword [ebp - 0x4c]
mov eax, dword [edx + 0xac]
sar eax, 3
mov ecx, dword [ebp - 0x18]
mov dword [ecx + 0xa4], eax
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x4c]
mov ecx, dword [eax + 0xc0]
mov dword [edx + 0xa8], ecx
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x4c]
mov ecx, dword [eax + 0x94]
mov dword [edx + 0xac], ecx
mov edx, dword [ebp - 8]
mov eax, dword [edx + 0x224]
movzx ecx, word [eax + 0x74]
mov dword [ebp - 0x1d0], ecx
cmp dword [ebp - 0x1d0], 0x7b
je 0x1014ab00
jmp 0x1014ab15
mov edx, dword [ebp - 0x18]
mov eax, dword [edx + 0xac]
sub eax, 0xc
mov ecx, dword [ebp - 0x18]
mov dword [ecx + 0xac], eax
jmp 0x1014ab2d
push 0x98
push 0
mov edx, dword [ebp - 0x18]
add edx, 0x18
push edx
call fcn.103170a0
add esp, 0xc
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 8]
mov edx, dword [ecx + 0x2e4]
mov dword [eax + 0x98], edx
mov eax, dword [ebp - 8]
add eax, 0x57c
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0xb0
jmp 0x1014d7f4
mov edx, dword [ebp + 0x14]
cmp dword [edx], 0x10
jae 0x1014ab72
mov dword [ebp - 0xc], 0x16
jmp 0x1014d7f4
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x44], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xd0]
and edx, 2
jne 0x1014ab97
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xd0]
and ecx, 0x400000
je 0x1014abda
mov edx, dword [ebp - 4]
add edx, 0x264
push edx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x210]
mov dword [ebp - 8], ecx
cmp dword [ebp - 8], 0
je 0x1014abc9
mov edx, dword [ebp - 8]
add edx, 0x57c
push edx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [ebp - 4]
add eax, 0x264
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x1014ac14
mov ecx, dword [ebp - 0x44]
cmp dword [ecx], 2
jbe 0x1014ac0d
push 1
mov edx, dword [ebp - 0x44]
mov eax, dword [edx]
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.10180640
add esp, 0xc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x1014ac0b
mov dword [ebp - 0xc], 2
jmp 0x1014d7f4
jmp 0x1014ac14
mov dword [ebp - 8], 0
cmp dword [ebp - 8], 0
je 0x1014ac5c
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 0x428]
mov dword [edx + 4], ecx
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 0x430]
mov dword [edx + 8], ecx
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 0x42c]
mov dword [edx + 0xc], ecx
mov edx, dword [ebp - 8]
add edx, 0x57c
push edx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x1014ace6
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xd0]
and ecx, 2
jne 0x1014ac90
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xd0]
and eax, 0x400000
jne 0x1014ac90
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xd0]
and edx, 1
je 0x1014acdf
mov eax, dword [ebp - 0x44]
cmp dword [eax], 0
jne 0x1014acdf
mov ecx, dword [ebp - 4]
add ecx, 0x264
push ecx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x144]
mov dword [edx + 4], ecx
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x140]
mov dword [edx + 8], ecx
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x13c]
mov dword [edx + 0xc], ecx
mov edx, dword [ebp - 4]
add edx, 0x264
push edx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x1014ace6
mov dword [ebp - 0xc], 0x16
cmp dword [ebp - 0xc], 0
jne 0x1014acf5
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x10
jmp 0x1014d7f4
mov ecx, dword [ebp + 0x14]
cmp dword [ecx], 0x20
jae 0x1014ad10
mov dword [ebp - 0xc], 0x16
jmp 0x1014d7f4
mov edx, dword [ebp + 0x10]
mov dword [ebp - 0x48], edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xd0]
and ecx, 2
jne 0x1014ad34
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xd0]
and eax, 0x400000
je 0x1014ad78
mov ecx, dword [ebp - 4]
add ecx, 0x264
push ecx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x210]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x1014ad66
mov ecx, dword [ebp - 8]
add ecx, 0x57c
push ecx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edx, dword [ebp - 4]
add edx, 0x264
push edx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x1014adb2
mov eax, dword [ebp - 0x48]
cmp dword [eax], 2
jbe 0x1014adab
push 1
mov ecx, dword [ebp - 0x48]
mov edx, dword [ecx]
push edx
mov eax, dword [ebp - 4]
push eax
call fcn.10180640
add esp, 0xc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x1014ada9
mov dword [ebp - 0xc], 2
jmp 0x1014d7f4
jmp 0x1014adb2
mov dword [ebp - 8], 0
cmp dword [ebp - 8], 0
je 0x1014ae40
mov ecx, dword [ebp - 0x48]
mov edx, dword [ebp - 8]
mov eax, dword [edx + 0x4fc]
mov dword [ecx + 4], eax
mov ecx, dword [ebp - 0x48]
mov edx, dword [ebp - 8]
mov eax, dword [edx + 0x500]
mov dword [ecx + 8], eax
mov ecx, dword [ebp - 0x48]
mov edx, dword [ebp - 8]
mov eax, dword [edx + 0x504]
mov dword [ecx + 0xc], eax
mov ecx, dword [ebp - 0x48]
mov edx, dword [ebp - 8]
mov eax, dword [edx + 0x508]
mov dword [ecx + 0x10], eax
mov ecx, dword [ebp - 0x48]
mov edx, dword [ebp - 8]
mov eax, dword [edx + 0x50c]
mov dword [ecx + 0x14], eax
mov ecx, dword [ebp - 0x48]
mov edx, dword [ebp - 8]
mov eax, dword [edx + 0x510]
mov dword [ecx + 0x18], eax
mov ecx, dword [ebp - 0x48]
mov edx, dword [ebp - 8]
mov eax, dword [edx + 0x514]
mov dword [ecx + 0x1c], eax
mov ecx, dword [ebp - 8]
add ecx, 0x57c
push ecx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x20
jmp 0x1014ae47
mov dword [ebp - 0xc], 0x16
jmp 0x1014d7f4
mov eax, dword [ebp + 0x14]
cmp dword [eax], 0x14
jae 0x1014ae62
mov dword [ebp - 0xc], 0x16
jmp 0x1014d7f4
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 0x30], ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xd0]
and eax, 2
jne 0x1014ae87
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xd0]
and edx, 0x400000
je 0x1014aec9
mov eax, dword [ebp - 4]
add eax, 0x264
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x210]
mov dword [ebp - 8], edx
cmp dword [ebp - 8], 0
je 0x1014aeb7
mov eax, dword [ebp - 8]
add eax, 0x57c
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, dword [ebp - 4]
add ecx, 0x264
push ecx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x1014af03
mov edx, dword [ebp - 0x30]
cmp dword [edx], 2
jbe 0x1014aefc
push 1
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax]
push ecx
mov edx, dword [ebp - 4]
push edx
call fcn.10180640
add esp, 0xc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x1014aefa
mov dword [ebp - 0xc], 2
jmp 0x1014d7f4
jmp 0x1014af03
mov dword [ebp - 8], 0
cmp dword [ebp - 8], 0
je 0x1014af75
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 0x3bc]
push ecx
call fcn.1017aa10
add esp, 4
mov edx, dword [ebp - 0x30]
mov dword [edx + 0xc], eax
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 8]
mov dx, word [ecx + 0x486]
mov word [eax + 0x10], dx
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 8]
mov dx, word [ecx + 0x398]
mov word [eax + 0x12], dx
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 8]
mov edx, dword [ecx + 0x348]
mov dword [eax + 4], edx
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 8]
mov edx, dword [ecx + 0x34c]
mov dword [eax + 8], edx
mov eax, dword [ebp - 8]
add eax, 0x57c
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x1014b0ad
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xd0]
and edx, 2
jne 0x1014afb2
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xd0]
and ecx, 0x400000
jne 0x1014afb2
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xd0]
and eax, 1
je 0x1014b0a6
mov ecx, dword [ebp - 0x30]
cmp dword [ecx], 0
jne 0x1014b0a6
mov edx, dword [ebp - 4]
add edx, 0x264
push edx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x1e0]
push ecx
call fcn.1017aa10
add esp, 4
mov edx, dword [ebp - 0x30]
mov dword [edx + 0xc], eax
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 4]
mov dx, word [ecx + 0x176]
mov word [eax + 0x10], dx
xor eax, eax
mov ecx, dword [ebp - 0x30]
mov word [ecx + 0x12], ax
mov edx, dword [ebp - 0x30]
mov dword [edx + 4], 0
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xc4]
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xc4]
mov ecx, dword [ecx + 0x8c]
sub ecx, dword [eax + 0x88]
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xc4]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0xc4]
mov eax, dword [eax + 0x94]
sub eax, dword [edx + 0x90]
cmp ecx, eax
jge 0x1014b064
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xc4]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xc4]
mov edx, dword [edx + 0x8c]
sub edx, dword [ecx + 0x88]
mov dword [ebp - 0x16c], edx
jmp 0x1014b088
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xc4]
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xc4]
mov ecx, dword [ecx + 0x94]
sub ecx, dword [eax + 0x90]
mov dword [ebp - 0x16c], ecx
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x16c]
mov dword [edx + 8], eax
mov ecx, dword [ebp - 4]
add ecx, 0x264
push ecx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x1014b0ad
mov dword [ebp - 0xc], 0x16
cmp dword [ebp - 0xc], 0
jne 0x1014b0bc
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x14
jmp 0x1014d7f4
mov eax, dword [ebp + 0x14]
cmp dword [eax], 0x80
jae 0x1014b0da
mov dword [ebp - 0xc], 0x16
jmp 0x1014d7f4
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 0xac], ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xd0]
and eax, 2
jne 0x1014b102
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xd0]
and edx, 0x400000
je 0x1014b144
mov eax, dword [ebp - 4]
add eax, 0x264
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x210]
mov dword [ebp - 8], edx
cmp dword [ebp - 8], 0
je 0x1014b132
mov eax, dword [ebp - 8]
add eax, 0x57c
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, dword [ebp - 4]
add ecx, 0x264
push ecx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x1014b186
mov edx, dword [ebp - 0xac]
cmp dword [edx + 0x1c], 2
jbe 0x1014b17f
push 1
mov eax, dword [ebp - 0xac]
mov ecx, dword [eax + 0x1c]
push ecx
mov edx, dword [ebp - 4]
push edx
call fcn.10180640
add esp, 0xc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x1014b17d
mov dword [ebp - 0xc], 2
jmp 0x1014d7f4
jmp 0x1014b186
mov dword [ebp - 8], 0
cmp dword [ebp - 8], 0
je 0x1014b1b6
push 0x24
mov eax, dword [ebp - 8]
add eax, 0x5c
push eax
mov ecx, dword [ebp - 0xac]
push ecx
call fcn.10316b20
add esp, 0xc
mov edx, dword [ebp - 8]
add edx, 0x57c
push edx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x1014b232
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xd0]
and ecx, 2
jne 0x1014b1ee
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xd0]
and eax, 0x400000
jne 0x1014b1ee
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xd0]
and edx, 1
je 0x1014b22b
mov eax, dword [ebp - 0xac]
cmp dword [eax + 0x1c], 0
jne 0x1014b22b
mov ecx, dword [ebp - 4]
add ecx, 0x264
push ecx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
push 0x24
mov edx, dword [ebp - 4]
add edx, 0x234
push edx
mov eax, dword [ebp - 0xac]
push eax
call fcn.10316b20
add esp, 0xc
mov ecx, dword [ebp - 4]
add ecx, 0x264
push ecx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x1014b232
mov dword [ebp - 0xc], 0x16
cmp dword [ebp - 0xc], 0
jne 0x1014b241
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x80
jmp 0x1014d7f4
mov eax, dword [ebp + 0x14]
cmp dword [eax], 8
jae 0x1014b25c
mov dword [ebp - 0xc], 0x16
jmp 0x1014d7f4
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 0xfc], ecx
mov edx, dword [ebp - 4]
add edx, 0x264
push edx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [ebp - 0xfc]
mov ecx, dword [ebp - 4]
mov dx, word [ecx + 0x17c]
mov word [eax], dx
mov eax, dword [ebp - 0xfc]
mov ecx, dword [ebp - 4]
mov dx, word [ecx + 0x17e]
mov word [eax + 2], dx
mov eax, dword [ebp - 0xfc]
mov ecx, dword [ebp - 4]
mov dx, word [ecx + 0x174]
mov word [eax + 4], dx
mov eax, dword [ebp - 0xfc]
mov ecx, dword [ebp - 4]
mov dx, word [ecx + 0x148]
mov word [eax + 6], dx
mov eax, dword [ebp - 4]
add eax, 0x264
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 8
jmp 0x1014d7f4
mov edx, dword [ebp + 0x14]
cmp dword [edx], 0x88
jae 0x1014b2fa
mov dword [ebp - 0xc], 0x16
jmp 0x1014d7f4
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x13c], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xd0]
and edx, 2
jne 0x1014b322
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xd0]
and ecx, 0x400000
je 0x1014b365
mov edx, dword [ebp - 4]
add edx, 0x264
push edx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x210]
mov dword [ebp - 8], ecx
cmp dword [ebp - 8], 0
je 0x1014b354
mov edx, dword [ebp - 8]
add edx, 0x57c
push edx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [ebp - 4]
add eax, 0x264
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x1014b3ad
mov ecx, dword [ebp - 0x13c]
cmp dword [ecx + 0x80], 2
jbe 0x1014b3a6
push 1
mov edx, dword [ebp - 0x13c]
mov eax, dword [edx + 0x80]
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.10180640
add esp, 0xc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x1014b3a4
mov dword [ebp - 0xc], 2
jmp 0x1014d7f4
jmp 0x1014b3ad
mov dword [ebp - 8], 0
cmp dword [ebp - 8], 0
je 0x1014b412
mov edx, dword [ebp - 8]
mov eax, dword [edx + 0x224]
add eax, 0x74
mov dword [ebp - 0x170], eax
mov ecx, dword [ebp - 0x170]
movzx edx, word [ecx]
mov dword [ebp - 0x1d4], edx
cmp dword [ebp - 0x1d4], 0x7b
je 0x1014b3df
jmp 0x1014b3f7
push 8
mov eax, dword [ebp - 0x170]
push eax
mov ecx, dword [ebp - 0x13c]
push ecx
call fcn.10316b20
add esp, 0xc
mov edx, dword [ebp - 8]
add edx, 0x57c
push edx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x88
jmp 0x1014b419
mov dword [ebp - 0xc], 0x16
jmp 0x1014d7f4
mov ecx, dword [ebp + 0x14]
cmp dword [ecx], 4
jae 0x1014b434
mov dword [ebp - 0xc], 0x16
jmp 0x1014d7f4
mov edx, dword [ebp + 0x10]
mov dword [ebp - 0x174], edx
mov eax, dword [ebp - 4]
add eax, 0x264
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x168]
mov dword [ebp - 0xb4], edx
cmp dword [ebp - 0xb4], 0
jne 0x1014b482
mov eax, dword [ebp + 0x14]
mov dword [eax], 4
mov ecx, dword [ebp - 4]
add ecx, 0x264
push ecx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x1014d7f4
mov edx, dword [ebp - 0xb4]
movzx eax, word [edx + 2]
lea ecx, [eax + eax + 4]
mov dword [ebp - 0x178], ecx
mov edx, dword [ebp + 0x14]
mov eax, dword [edx]
cmp eax, dword [ebp - 0x178]
jae 0x1014b4bf
mov dword [ebp - 0xc], 0x16
mov ecx, dword [ebp - 4]
add ecx, 0x264
push ecx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x1014d7f4
mov edx, dword [ebp - 0xb4]
movzx eax, word [edx + 2]
mov ecx, dword [ebp - 0x174]
mov dword [ecx], eax
mov dword [ebp - 0xb0], 0
jmp 0x1014b4ec
mov edx, dword [ebp - 0xb0]
add edx, 1
mov dword [ebp - 0xb0], edx
mov eax, dword [ebp - 0xb4]
movzx ecx, word [eax + 2]
cmp dword [ebp - 0xb0], ecx
jge 0x1014b522
mov edx, dword [ebp - 0xb0]
mov eax, dword [ebp - 0x174]
mov ecx, dword [ebp - 0xb0]
mov esi, dword [ebp - 0xb4]
mov cx, word [esi + ecx*2 + 4]
mov word [eax + edx*2 + 4], cx
jmp 0x1014b4dd
mov edx, dword [ebp - 4]
add edx, 0x264
push edx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp - 0x178]
mov dword [eax], ecx
jmp 0x1014d7f4
mov edx, dword [ebp + 0x14]
cmp dword [edx], 8
jae 0x1014b558
mov dword [ebp - 0xc], 0x16
jmp 0x1014d7f4
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0xb8], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xd0]
and edx, 2
jne 0x1014b580
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xd0]
and ecx, 0x400000
je 0x1014b5c3
mov edx, dword [ebp - 4]
add edx, 0x264
push edx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x210]
mov dword [ebp - 8], ecx
cmp dword [ebp - 8], 0
je 0x1014b5b2
mov edx, dword [ebp - 8]
add edx, 0x57c
push edx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [ebp - 4]
add eax, 0x264
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x1014b603
mov ecx, dword [ebp - 0xb8]
cmp dword [ecx], 2
jbe 0x1014b5fc
push 1
mov edx, dword [ebp - 0xb8]
mov eax, dword [edx]
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.10180640
add esp, 0xc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x1014b5fa
mov dword [ebp - 0xc], 2
jmp 0x1014d7f4
jmp 0x1014b603
mov dword [ebp - 8], 0
cmp dword [ebp - 8], 0
je 0x1014b62f
mov edx, dword [ebp - 0xb8]
mov eax, dword [ebp - 8]
mov cx, word [eax + 0x45c]
mov word [edx + 4], cx
mov edx, dword [ebp - 8]
add edx, 0x57c
push edx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x1014b6a3
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xd0]
and ecx, 2
jne 0x1014b666
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xd0]
and eax, 0x400000
jne 0x1014b666
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xd0]
and edx, 1
je 0x1014b69c
mov eax, dword [ebp - 0xb8]
cmp dword [eax], 0
jne 0x1014b69c
mov ecx, dword [ebp - 4]
add ecx, 0x264
push ecx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edx, dword [ebp - 0xb8]
mov eax, dword [ebp - 4]
mov cx, word [eax + 0x16c]
mov word [edx + 4], cx
mov edx, dword [ebp - 4]
add edx, 0x264
push edx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x1014b6a3
mov dword [ebp - 0xc], 0x16
cmp dword [ebp - 0xc], 0
jne 0x1014b6b2
mov eax, dword [ebp + 0x14]
mov dword [eax], 8
jmp 0x1014d7f4
mov dword [ebp - 0x80], 0
mov dword [ebp - 0x50], 0
mov ecx, dword [ebp + 0x14]
cmp dword [ecx], 8
jae 0x1014b6db
mov dword [ebp - 0xc], 0x16
jmp 0x1014d7f4
mov edx, dword [ebp + 0x10]
mov dword [ebp - 0x68], edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xd0]
and ecx, 2
jne 0x1014b6ff
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xd0]
and eax, 0x400000
je 0x1014b743
mov ecx, dword [ebp - 4]
add ecx, 0x264
push ecx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x210]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x1014b731
mov ecx, dword [ebp - 8]
add ecx, 0x57c
push ecx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edx, dword [ebp - 4]
add edx, 0x264
push edx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x1014b77d
mov eax, dword [ebp - 0x68]
cmp dword [eax], 2
jbe 0x1014b776
push 1
mov ecx, dword [ebp - 0x68]
mov edx, dword [ecx]
push edx
mov eax, dword [ebp - 4]
push eax
call fcn.10180640
add esp, 0xc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x1014b774
mov dword [ebp - 0xc], 2
jmp 0x1014d7f4
jmp 0x1014b77d
mov dword [ebp - 8], 0
cmp dword [ebp - 8], 0
je 0x1014b7ef
mov ecx, dword [ebp - 8]
mov edx, dword [ecx + 0x434]
mov dword [ebp - 0x80], edx
mov eax, dword [ebp - 0x80]
push eax
call fcn.101985f0
add esp, 4
mov dword [ebp - 0x50], eax
mov ecx, dword [ebp - 0x50]
add ecx, 8
mov edx, dword [ebp + 0x14]
cmp dword [edx], ecx
jae 0x1014b7b4
mov dword [ebp - 0xc], 0x16
jmp 0x1014b7db
mov eax, dword [ebp - 0x68]
add eax, 8
push eax
mov ecx, dword [ebp - 0x80]
push ecx
call fcn.10198610
add esp, 8
mov edx, dword [ebp - 0x68]
mov eax, dword [ebp - 0x50]
mov dword [edx + 4], eax
mov ecx, dword [ebp - 0x50]
add ecx, 8
mov edx, dword [ebp + 0x14]
mov dword [edx], ecx
mov eax, dword [ebp - 8]
add eax, 0x57c
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x1014b8a9
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xd0]
and edx, 2
jne 0x1014b828
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xd0]
and ecx, 0x400000
jne 0x1014b828
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xd0]
and eax, 1
je 0x1014b8a2
mov ecx, dword [ebp - 0x68]
cmp dword [ecx], 0
jne 0x1014b8a2
mov edx, dword [ebp - 4]
add edx, 0x264
push edx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x164]
mov dword [ebp - 0x80], ecx
mov edx, dword [ebp - 0x80]
push edx
call fcn.101985f0
add esp, 4
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x50]
add eax, 8
mov ecx, dword [ebp + 0x14]
cmp dword [ecx], eax
jae 0x1014b869
mov dword [ebp - 0xc], 0x16
jmp 0x1014b890
mov edx, dword [ebp - 0x68]
add edx, 8
push edx
mov eax, dword [ebp - 0x80]
push eax
call fcn.10198610
add esp, 8
mov ecx, dword [ebp - 0x68]
mov edx, dword [ebp - 0x50]
mov dword [ecx + 4], edx
mov eax, dword [ebp - 0x50]
add eax, 8
mov ecx, dword [ebp + 0x14]
mov dword [ecx], eax
mov edx, dword [ebp - 4]
add edx, 0x264
push edx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x1014b8a9
mov dword [ebp - 0xc], 0x16
jmp 0x1014d7f4
mov dword [ebp - 0x140], 0
mov dword [ebp - 0x104], 0
mov eax, dword [ebp + 0x14]
cmp dword [eax], 8
jae 0x1014b8d8
mov dword [ebp - 0xc], 0x16
jmp 0x1014d7f4
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 0x100], ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xd0]
and eax, 2
jne 0x1014b900
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xd0]
and edx, 0x400000
je 0x1014b942
mov eax, dword [ebp - 4]
add eax, 0x264
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x210]
mov dword [ebp - 8], edx
cmp dword [ebp - 8], 0
je 0x1014b930
mov eax, dword [ebp - 8]
add eax, 0x57c
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, dword [ebp - 4]
add ecx, 0x264
push ecx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x1014b982
mov edx, dword [ebp - 0x100]
cmp dword [edx], 2
jbe 0x1014b97b
push 1
mov eax, dword [ebp - 0x100]
mov ecx, dword [eax]
push ecx
mov edx, dword [ebp - 4]
push edx
call fcn.10180640
add esp, 0xc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x1014b979
mov dword [ebp - 0xc], 2
jmp 0x1014d7f4
jmp 0x1014b982
mov dword [ebp - 8], 0
cmp dword [ebp - 8], 0
je 0x1014ba11
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 0x438]
mov dword [ebp - 0x140], ecx
mov edx, dword [ebp - 0x140]
push edx
call fcn.101985f0
add esp, 4
mov dword [ebp - 0x104], eax
mov eax, dword [ebp - 0x104]
add eax, 8
mov ecx, dword [ebp + 0x14]
cmp dword [ecx], eax
jae 0x1014b9c9
mov dword [ebp - 0xc], 0x16
jmp 0x1014b9ff
mov edx, dword [ebp - 0x100]
add edx, 8
push edx
mov eax, dword [ebp - 0x140]
push eax
call fcn.10198610
add esp, 8
mov ecx, dword [ebp - 0x100]
mov edx, dword [ebp - 0x104]
mov dword [ecx + 4], edx
mov eax, dword [ebp - 0x104]
add eax, 8
mov ecx, dword [ebp + 0x14]
mov dword [ecx], eax
mov edx, dword [ebp - 8]
add edx, 0x57c
push edx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x1014ba18
mov dword [ebp - 0xc], 2
jmp 0x1014d7f4
mov eax, dword [ebp + 0x14]
cmp dword [eax], 8
jae 0x1014ba33
mov dword [ebp - 0xc], 0x16
jmp 0x1014d7f4
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 0x84], ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xd0]
and eax, 2
jne 0x1014ba5b
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xd0]
and edx, 0x400000
je 0x1014ba9d
mov eax, dword [ebp - 4]
add eax, 0x264
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x210]
mov dword [ebp - 8], edx
cmp dword [ebp - 8], 0
je 0x1014ba8b
mov eax, dword [ebp - 8]
add eax, 0x57c
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, dword [ebp - 4]
add ecx, 0x264
push ecx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x1014badd
mov edx, dword [ebp - 0x84]
cmp dword [edx], 2
jbe 0x1014bad6
push 1
mov eax, dword [ebp - 0x84]
mov ecx, dword [eax]
push ecx
mov edx, dword [ebp - 4]
push edx
call fcn.10180640
add esp, 0xc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x1014bad4
mov dword [ebp - 0xc], 2
jmp 0x1014d7f4
jmp 0x1014badd
mov dword [ebp - 8], 0
mov eax, dword [ebp - 0x84]
movzx ecx, word [eax + 4]
mov dword [ebp - 0x108], ecx
mov edx, dword [ebp - 0x108]
sub edx, 1
mov dword [ebp - 0x108], edx
cmp dword [ebp - 0x108], 0xd
ja case.default.0x1014bb0f
mov eax, dword [ebp - 0x108]
jmp dword [eax*4 + 0x1014d954]
mov dword [ebp - 0x1c], 0x800
jmp 0x1014bbaf
mov dword [ebp - 0x1c], 0x1000
jmp 0x1014bbaf
mov dword [ebp - 0x1c], 0x2000
jmp 0x1014bbaf
mov dword [ebp - 0x1c], 0x4000
jmp 0x1014bbaf
mov dword [ebp - 0x1c], 0x8000
jmp 0x1014bbaf
mov dword [ebp - 0x1c], 0x10000
jmp 0x1014bbaf
mov dword [ebp - 0x1c], 0x20000
jmp 0x1014bbaf
mov dword [ebp - 0x1c], 0x40000
jmp 0x1014bbaf
mov dword [ebp - 0x1c], 0x80000
jmp 0x1014bbaf
mov dword [ebp - 0x1c], 0x4000000
jmp 0x1014bbaf
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xc], 0x81
jmp 0x1014bbaf
mov dword [ebp - 0x1c], 0x20000000
jmp 0x1014bbaf
mov dword [ebp - 0x1c], 0x40000000
jmp 0x1014bbaf
mov dword [ebp - 0x1c], getsockname
jmp 0x1014bbaf
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xc], 0x16
cmp dword [ebp - 0x1c], 0
jbe 0x1014bd74
cmp dword [ebp - 8], 0
je 0x1014bc99
cmp dword [ebp - 8], 0
je 0x1014bc16
mov ecx, dword [ebp - 0x1c]
xor edx, edx
mov eax, dword [ebp - 8]
and ecx, dword [eax + 0x4e8]
and edx, dword [eax + 0x4ec]
mov eax, dword [ebp - 0x1c]
xor esi, esi
mov dword [ebp - 0x2bc], ecx
mov dword [ebp - 0x2b8], edx
mov dword [ebp - 0x2c4], eax
mov dword [ebp - 0x2c0], esi
mov ecx, dword [ebp - 0x2bc]
cmp ecx, dword [ebp - 0x2c4]
jne 0x1014bc16
mov edx, dword [ebp - 0x2b8]
cmp edx, dword [ebp - 0x2c0]
je 0x1014bc7b
cmp dword [ebp - 8], 0
jne 0x1014bc6f
cmp dword [ebp - 4], 0
je 0x1014bc6f
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
mov edx, dword [ebp - 4]
and eax, dword [edx + 0xc8]
and ecx, dword [edx + 0xcc]
mov edx, dword [ebp - 0x1c]
xor esi, esi
mov dword [ebp - 0x2cc], eax
mov dword [ebp - 0x2c8], ecx
mov dword [ebp - 0x2d4], edx
mov dword [ebp - 0x2d0], esi
mov eax, dword [ebp - 0x2cc]
cmp eax, dword [ebp - 0x2d4]
jne 0x1014bc6f
mov ecx, dword [ebp - 0x2c8]
cmp ecx, dword [ebp - 0x2d0]
je 0x1014bc7b
mov dword [ebp - 0x17c], 0
jmp 0x1014bc85
mov dword [ebp - 0x17c], 1
mov edx, dword [ebp - 0x84]
mov al, byte [ebp - 0x17c]
mov byte [edx + 6], al
jmp 0x1014bd74
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xd0]
and edx, 2
jne 0x1014bcd9
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xd0]
and ecx, 0x400000
jne 0x1014bcd9
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xd0]
and eax, 1
je 0x1014bd6d
mov ecx, dword [ebp - 0x84]
cmp dword [ecx], 0
jne 0x1014bd6d
mov edx, dword [ebp - 4]
add edx, 0x264
push edx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
mov edx, dword [ebp - 4]
and eax, dword [edx + 0xc8]
and ecx, dword [edx + 0xcc]
mov edx, dword [ebp - 0x1c]
xor esi, esi
mov dword [ebp - 0x2dc], eax
mov dword [ebp - 0x2d8], ecx
mov dword [ebp - 0x2e4], edx
mov dword [ebp - 0x2e0], esi
mov eax, dword [ebp - 0x2dc]
cmp eax, dword [ebp - 0x2e4]
jne 0x1014bd42
mov ecx, dword [ebp - 0x2d8]
cmp ecx, dword [ebp - 0x2e0]
jne 0x1014bd42
mov dword [ebp - 0x180], 1
jmp 0x1014bd4c
mov dword [ebp - 0x180], 0
mov edx, dword [ebp - 0x84]
mov al, byte [ebp - 0x180]
mov byte [edx + 6], al
mov ecx, dword [ebp - 4]
add ecx, 0x264
push ecx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x1014bd74
mov dword [ebp - 0xc], 0x16
cmp dword [ebp - 8], 0
je 0x1014bd8a
mov edx, dword [ebp - 8]
add edx, 0x57c
push edx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp dword [ebp - 0xc], 0
jne 0x1014bd99
mov eax, dword [ebp + 0x14]
mov dword [eax], 8
jmp 0x1014d7f4
mov ecx, dword [ebp + 0x14]
cmp dword [ecx], 4
jae 0x1014bdb2
mov dword [ebp - 0xc], 0x16
jmp 0x1014be35
mov edx, dword [ebp - 4]
add edx, 0x264
push edx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xc8]
and ecx, 0x8000000
mov edx, dword [eax + 0xcc]
and edx, 0
mov dword [ebp - 0x2ec], ecx
mov dword [ebp - 0x2e8], edx
cmp dword [ebp - 0x2ec], 0x8000000
jne 0x1014be07
cmp dword [ebp - 0x2e8], 0
jne 0x1014be07
mov dword [ebp - 0x184], 1
jmp 0x1014be11
mov dword [ebp - 0x184], 0
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x184]
mov dword [eax], ecx
mov edx, dword [ebp - 4]
add edx, 0x264
push edx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, dword [ebp + 0x14]
mov dword [eax], 4
jmp 0x1014d7f4
mov ecx, dword [ebp + 0x14]
cmp dword [ecx], 4
jae 0x1014be4e
mov dword [ebp - 0xc], 0x16
jmp 0x1014bed1
mov edx, dword [ebp - 4]
add edx, 0x264
push edx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xc8]
and ecx, 0x10000000
mov edx, dword [eax + 0xcc]
and edx, 0
mov dword [ebp - 0x2f4], ecx
mov dword [ebp - 0x2f0], edx
cmp dword [ebp - 0x2f4], 0x10000000
jne 0x1014bea3
cmp dword [ebp - 0x2f0], 0
jne 0x1014bea3
mov dword [ebp - 0x188], 1
jmp 0x1014bead
mov dword [ebp - 0x188], 0
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x188]
mov dword [eax], ecx
mov edx, dword [ebp - 4]
add edx, 0x264
push edx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, dword [ebp + 0x14]
mov dword [eax], 4
jmp 0x1014d7f4
mov ecx, dword [ebp + 0x14]
cmp dword [ecx], 0x10
jae 0x1014beec
mov dword [ebp - 0xc], 0x16
jmp 0x1014d7f4
mov edx, dword [ebp + 0x10]
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xd0]
and ecx, 2
jne 0x1014bf10
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xd0]
and eax, 0x400000
je 0x1014bf54
mov ecx, dword [ebp - 4]
add ecx, 0x264
push ecx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x210]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x1014bf42
mov ecx, dword [ebp - 8]
add ecx, 0x57c
push ecx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edx, dword [ebp - 4]
add edx, 0x264
push edx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x1014bf90
mov eax, dword [ebp - 0x20]
cmp dword [eax + 0xc], 2
jbe 0x1014bf89
push 1
mov ecx, dword [ebp - 0x20]
mov edx, dword [ecx + 0xc]
push edx
mov eax, dword [ebp - 4]
push eax
call fcn.10180640
add esp, 0xc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x1014bf87
mov dword [ebp - 0xc], 2
jmp 0x1014d7f4
jmp 0x1014bf90
mov dword [ebp - 8], 0
cmp dword [ebp - 8], 0
je 0x1014bff2
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 8]
mov ax, word [edx + 0x5c]
mov word [ecx], ax
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 8]
mov ax, word [edx + 0x60]
mov word [ecx + 2], ax
mov ecx, dword [ebp - 0x20]
movzx edx, word [ecx + 2]
and edx, 0xfff0
mov eax, dword [ebp - 0x20]
mov word [eax + 2], dx
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 8]
mov eax, dword [edx + 0x64]
mov dword [ecx + 4], eax
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 8]
mov eax, dword [edx + 0x68]
mov dword [ecx + 8], eax
mov ecx, dword [ebp - 8]
add ecx, 0x57c
push ecx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x1014c0a3
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xd0]
and eax, 2
jne 0x1014c028
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xd0]
and edx, 0x400000
jne 0x1014c028
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xd0]
and ecx, 1
je 0x1014c09c
mov edx, dword [ebp - 0x20]
cmp dword [edx + 0xc], 0
jne 0x1014c09c
mov eax, dword [ebp - 4]
add eax, 0x264
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 4]
mov ax, word [edx + 0x234]
mov word [ecx], ax
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 4]
mov ax, word [edx + 0x238]
mov word [ecx + 2], ax
mov ecx, dword [ebp - 0x20]
movzx edx, word [ecx + 2]
and edx, 0xfff0
mov eax, dword [ebp - 0x20]
mov word [eax + 2], dx
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x23c]
mov dword [ecx + 4], eax
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x240]
mov dword [ecx + 8], eax
mov ecx, dword [ebp - 4]
add ecx, 0x264
push ecx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x1014c0a3
mov dword [ebp - 0xc], 0x16
cmp dword [ebp - 0xc], 0
jne 0x1014c0b2
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x10
jmp 0x1014d7f4
mov eax, dword [ebp + 0x14]
cmp dword [eax], 0xc
jae 0x1014c0cd
mov dword [ebp - 0xc], 0x16
jmp 0x1014d7f4
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 0x6c], ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xd0]
and eax, 2
jne 0x1014c0f2
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xd0]
and edx, 0x400000
je 0x1014c134
mov eax, dword [ebp - 4]
add eax, 0x264
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x210]
mov dword [ebp - 8], edx
cmp dword [ebp - 8], 0
je 0x1014c122
mov eax, dword [ebp - 8]
add eax, 0x57c
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, dword [ebp - 4]
add ecx, 0x264
push ecx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x1014c170
mov edx, dword [ebp - 0x6c]
cmp dword [edx + 8], 2
jbe 0x1014c169
push 1
mov eax, dword [ebp - 0x6c]
mov ecx, dword [eax + 8]
push ecx
mov edx, dword [ebp - 4]
push edx
call fcn.10180640
add esp, 0xc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x1014c167
mov dword [ebp - 0xc], 2
jmp 0x1014d7f4
jmp 0x1014c170
mov dword [ebp - 8], 0
cmp dword [ebp - 8], 0
je 0x1014c1a6
mov eax, dword [ebp - 8]
movzx ecx, word [eax + 0x60]
and ecx, 0xf
mov edx, dword [ebp - 0x6c]
mov word [edx], cx
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 8]
mov edx, dword [ecx + 0x6c]
mov dword [eax + 4], edx
mov eax, dword [ebp - 8]
add eax, 0x57c
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x1014c226
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xd0]
and edx, 2
jne 0x1014c1dc
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xd0]
and ecx, 0x400000
jne 0x1014c1dc
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xd0]
and eax, 1
je 0x1014c21f
mov ecx, dword [ebp - 0x6c]
cmp dword [ecx + 8], 0
jne 0x1014c21f
mov edx, dword [ebp - 4]
add edx, 0x264
push edx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [ebp - 4]
movzx ecx, word [eax + 0x238]
and ecx, 0xf
mov edx, dword [ebp - 0x6c]
mov word [edx], cx
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x244]
mov dword [eax + 4], edx
mov eax, dword [ebp - 4]
add eax, 0x264
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x1014c226
mov dword [ebp - 0xc], 0x16
cmp dword [ebp - 0xc], 0
jne 0x1014c235
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0xc
jmp 0x1014d7f4
mov edx, dword [ebp + 0x14]
cmp dword [edx], 0x90
jae 0x1014c253
mov dword [ebp - 0xc], 0x16
jmp 0x1014d7f4
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xd0]
and edx, 2
jne 0x1014c278
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xd0]
and ecx, 0x400000
je 0x1014c2bb
mov edx, dword [ebp - 4]
add edx, 0x264
push edx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x210]
mov dword [ebp - 8], ecx
cmp dword [ebp - 8], 0
je 0x1014c2aa
mov edx, dword [ebp - 8]
add edx, 0x57c
push edx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [ebp - 4]
add eax, 0x264
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x1014c2fd
mov ecx, dword [ebp - 0x24]
cmp dword [ecx + 0x80], 2
jbe 0x1014c2f6
push 1
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 0x80]
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.10180640
add esp, 0xc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x1014c2f4
mov dword [ebp - 0xc], 2
jmp 0x1014d7f4
jmp 0x1014c2fd
mov dword [ebp - 8], 0
mov edx, dword [ebp - 0x24]
mov dword [ebp - 0x10c], edx
cmp dword [ebp - 8], 0
je 0x1014c327
mov eax, dword [ebp - 0x10c]
push eax
mov ecx, dword [ebp - 8]
push ecx
call fcn.1017ec30
add esp, 8
mov dword [ebp - 0x88], eax
jmp 0x1014c379
mov dword [ebp - 0x88], 0
mov edx, 1
mov eax, dword [ebp - 4]
add eax, 0x2ac
lock xadd dword [eax], edx
push 0
push 0
lea ecx, [ebp - 0x88]
push ecx
mov edx, dword [ebp - 0x10c]
push edx
lea eax, [ebp - 4]
push eax
call fcn.10180020
add esp, 0x14
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x1014c379
or ecx, 0xffffffff
mov edx, dword [ebp - 4]
add edx, 0x2ac
lock xadd dword [edx], ecx
cmp dword [ebp - 8], 0
je 0x1014c3e8
cmp dword [ebp - 0x88], 0
jne 0x1014c3e8
mov eax, dword [ebp - 0x10c]
movzx ecx, word [eax]
cmp ecx, 0x7b
jne 0x1014c3cc
mov edx, dword [ebp - 0x10c]
mov dword [ebp - 0x1d8], edx
mov eax, dword [ebp - 0x1d8]
cmp dword [eax + 4], 0
je 0x1014c3ca
mov dword [ebp - 0xc], 0x16
mov ecx, dword [ebp - 8]
add ecx, 0x57c
push ecx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x1014d7f4
jmp 0x1014c3e8
mov dword [ebp - 0xc], 0x66
mov edx, dword [ebp - 8]
add edx, 0x57c
push edx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x1014d7f4
cmp dword [ebp - 8], 0
je 0x1014c498
cmp dword [ebp - 0x88], 0
je 0x1014c43a
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x88]
mov dx, word [ecx + 0x1a6]
mov word [eax + 0x84], dx
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x88]
mov dx, word [ecx + 0x1a8]
mov word [eax + 0x86], dx
mov eax, 0xffff
mov ecx, dword [ebp - 0x24]
mov word [ecx + 0x88], ax
jmp 0x1014c471
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 8]
mov cx, word [eax + 0x488]
mov word [edx + 0x84], cx
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 8]
mov cx, word [eax + 0x48a]
mov word [edx + 0x86], cx
mov edx, 0xffff
mov eax, dword [ebp - 0x24]
mov word [eax + 0x88], dx
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 8]
mov eax, dword [edx + 0x2e4]
mov dword [ecx + 0x80], eax
mov ecx, dword [ebp - 8]
add ecx, 0x57c
push ecx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x1014c52f
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xd0]
and eax, 2
jne 0x1014c4d1
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xd0]
and edx, 0x400000
jne 0x1014c4d1
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xd0]
and ecx, 1
je 0x1014c528
mov edx, dword [ebp - 0x24]
cmp dword [edx + 0x80], 0
jne 0x1014c528
mov eax, dword [ebp - 4]
add eax, 0x264
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 4]
mov ax, word [edx + 0x178]
mov word [ecx + 0x84], ax
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 4]
mov ax, word [edx + 0x17a]
mov word [ecx + 0x86], ax
mov ecx, 0xffff
mov edx, dword [ebp - 0x24]
mov word [edx + 0x88], cx
mov eax, dword [ebp - 4]
add eax, 0x264
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x1014c52f
mov dword [ebp - 0xc], 0x16
cmp dword [ebp - 0xc], 0
jne 0x1014c53e
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x90
jmp 0x1014d7f4
mov edx, dword [ebp + 0x14]
cmp dword [edx], 0x88
jae 0x1014c55c
mov dword [ebp - 0xc], 0x16
jmp 0x1014d7f4
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x70], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xd0]
and edx, 2
jne 0x1014c581
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xd0]
and ecx, 0x400000
je 0x1014c5c4
mov edx, dword [ebp - 4]
add edx, 0x264
push edx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x210]
mov dword [ebp - 8], ecx
cmp dword [ebp - 8], 0
je 0x1014c5b3
mov edx, dword [ebp - 8]
add edx, 0x57c
push edx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [ebp - 4]
add eax, 0x264
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x1014c606
mov ecx, dword [ebp - 0x70]
cmp dword [ecx + 0x80], 2
jbe 0x1014c5ff
push 1
mov edx, dword [ebp - 0x70]
mov eax, dword [edx + 0x80]
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.10180640
add esp, 0xc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x1014c5fd
mov dword [ebp - 0xc], 2
jmp 0x1014d7f4
jmp 0x1014c606
mov dword [ebp - 8], 0
mov edx, dword [ebp - 0x70]
mov dword [ebp - 0xe0], edx
cmp dword [ebp - 8], 0
je 0x1014c630
mov eax, dword [ebp - 0xe0]
push eax
mov ecx, dword [ebp - 8]
push ecx
call fcn.1017ec30
add esp, 8
mov dword [ebp - 0xbc], eax
jmp 0x1014c682
mov dword [ebp - 0xbc], 0
mov edx, 1
mov eax, dword [ebp - 4]
add eax, 0x2ac
lock xadd dword [eax], edx
push 0
push 0
lea ecx, [ebp - 0xbc]
push ecx
mov edx, dword [ebp - 0xe0]
push edx
lea eax, [ebp - 4]
push eax
call fcn.10180020
add esp, 0x14
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x1014c682
or ecx, 0xffffffff
mov edx, dword [ebp - 4]
add edx, 0x2ac
lock xadd dword [edx], ecx
cmp dword [ebp - 8], 0
je 0x1014c6f1
cmp dword [ebp - 0xbc], 0
jne 0x1014c6f1
mov eax, dword [ebp - 0xe0]
movzx ecx, word [eax]
cmp ecx, 0x7b
jne 0x1014c6d5
mov edx, dword [ebp - 0xe0]
mov dword [ebp - 0x1dc], edx
mov eax, dword [ebp - 0x1dc]
cmp dword [eax + 4], 0
je 0x1014c6d3
mov dword [ebp - 0xc], 0x16
mov ecx, dword [ebp - 8]
add ecx, 0x57c
push ecx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x1014d7f4
jmp 0x1014c6f1
mov dword [ebp - 0xc], 0x66
mov edx, dword [ebp - 8]
add edx, 0x57c
push edx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x1014d7f4
cmp dword [ebp - 8], 0
je 0x1014c73e
cmp dword [ebp - 0xbc], 0
je 0x1014c719
mov eax, dword [ebp - 0x70]
mov ecx, dword [ebp - 0xbc]
mov dx, word [ecx + 0x1ac]
mov word [eax + 0x84], dx
jmp 0x1014c72d
mov eax, dword [ebp - 0x70]
mov ecx, dword [ebp - 8]
mov dx, word [ecx + 0x4f4]
mov word [eax + 0x84], dx
mov eax, dword [ebp - 8]
add eax, 0x57c
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x1014c7b3
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xd0]
and edx, 2
jne 0x1014c777
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xd0]
and ecx, 0x400000
jne 0x1014c777
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xd0]
and eax, 1
je 0x1014c7ac
mov ecx, dword [ebp - 0x70]
cmp dword [ecx + 0x80], 0
jne 0x1014c7ac
mov edx, dword [ebp - 4]
add edx, 0x264
push edx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [ebp - 0x70]
mov ecx, dword [ebp - 4]
mov dx, word [ecx + 0x204]
mov word [eax + 0x84], dx
mov eax, dword [ebp - 4]
add eax, 0x264
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x1014c7b3
mov dword [ebp - 0xc], 0x16
cmp dword [ebp - 0xc], 0
jne 0x1014c7c2
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x88
jmp 0x1014d7f4
mov edx, dword [ebp + 0x14]
cmp dword [edx], 8
jae 0x1014c7dd
mov dword [ebp - 0xc], 0x16
jmp 0x1014d7f4
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0xc0], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xd0]
and edx, 2
jne 0x1014c805
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xd0]
and ecx, 0x400000
je 0x1014c848
mov edx, dword [ebp - 4]
add edx, 0x264
push edx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x210]
mov dword [ebp - 8], ecx
cmp dword [ebp - 8], 0
je 0x1014c837
mov edx, dword [ebp - 8]
add edx, 0x57c
push edx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [ebp - 4]
add eax, 0x264
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x1014c888
mov ecx, dword [ebp - 0xc0]
cmp dword [ecx], 2
jbe 0x1014c881
push 1
mov edx, dword [ebp - 0xc0]
mov eax, dword [edx]
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.10180640
add esp, 0xc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x1014c87f
mov dword [ebp - 0xc], 2
jmp 0x1014d7f4
jmp 0x1014c888
mov dword [ebp - 8], 0
cmp dword [ebp - 8], 0
je 0x1014c8b3
mov edx, dword [ebp - 8]
movzx eax, byte [edx + 0x4b7]
mov ecx, dword [ebp - 0xc0]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 8]
add edx, 0x57c
push edx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x1014c926
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xd0]
and ecx, 2
jne 0x1014c8ea
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xd0]
and eax, 0x400000
jne 0x1014c8ea
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xd0]
and edx, 1
je 0x1014c91f
mov eax, dword [ebp - 0xc0]
cmp dword [eax], 0
jne 0x1014c91f
mov ecx, dword [ebp - 4]
add ecx, 0x264
push ecx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edx, dword [ebp - 4]
movzx eax, byte [edx + 0x22c]
mov ecx, dword [ebp - 0xc0]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 4]
add edx, 0x264
push edx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x1014c926
mov dword [ebp - 0xc], 0x16
cmp dword [ebp - 0xc], 0
jne 0x1014c935
mov eax, dword [ebp + 0x14]
mov dword [eax], 8
jmp 0x1014d7f4
mov ecx, dword [ebp + 0x14]
cmp dword [ecx], 8
jae 0x1014c950
mov dword [ebp - 0xc], 0x16
jmp 0x1014d7f4
mov edx, dword [ebp + 0x10]
mov dword [ebp - 0xc4], edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xd0]
and ecx, 2
jne 0x1014c977
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xd0]
and eax, 0x400000
je 0x1014c9bb
mov ecx, dword [ebp - 4]
add ecx, 0x264
push ecx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x210]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x1014c9a9
mov ecx, dword [ebp - 8]
add ecx, 0x57c
push ecx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edx, dword [ebp - 4]
add edx, 0x264
push edx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x1014c9fb
mov eax, dword [ebp - 0xc4]
cmp dword [eax], 2
jbe 0x1014c9f4
push 1
mov ecx, dword [ebp - 0xc4]
mov edx, dword [ecx]
push edx
mov eax, dword [ebp - 4]
push eax
call fcn.10180640
add esp, 0xc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x1014c9f2
mov dword [ebp - 0xc], 2
jmp 0x1014d7f4
jmp 0x1014c9fb
mov dword [ebp - 8], 0
cmp dword [ebp - 8], 0
je 0x1014ca26
mov ecx, dword [ebp - 8]
movzx edx, byte [ecx + 0x4b8]
mov eax, dword [ebp - 0xc4]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 8]
add ecx, 0x57c
push ecx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x1014ca99
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xd0]
and eax, 2
jne 0x1014ca5e
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xd0]
and edx, 0x400000
jne 0x1014ca5e
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xd0]
and ecx, 1
je 0x1014ca92
mov edx, dword [ebp - 0xc4]
cmp dword [edx], 0
jne 0x1014ca92
mov eax, dword [ebp - 4]
add eax, 0x264
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, dword [ebp - 4]
movzx edx, byte [ecx + 0x22d]
mov eax, dword [ebp - 0xc4]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 4]
add ecx, 0x264
push ecx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x1014ca99
mov dword [ebp - 0xc], 0x16
cmp dword [ebp - 0xc], 0
jne 0x1014caa8
mov edx, dword [ebp + 0x14]
mov dword [edx], 8
jmp 0x1014d7f4
mov eax, dword [ebp + 0x14]
cmp dword [eax], 8
jae 0x1014cac3
mov dword [ebp - 0xc], 0x16
jmp 0x1014d7f4
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 0xc8], ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xd0]
and eax, 2
jne 0x1014caeb
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xd0]
and edx, 0x400000
je 0x1014cb2d
mov eax, dword [ebp - 4]
add eax, 0x264
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x210]
mov dword [ebp - 8], edx
cmp dword [ebp - 8], 0
je 0x1014cb1b
mov eax, dword [ebp - 8]
add eax, 0x57c
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, dword [ebp - 4]
add ecx, 0x264
push ecx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x1014cb6d
mov edx, dword [ebp - 0xc8]
cmp dword [edx], 2
jbe 0x1014cb66
push 1
mov eax, dword [ebp - 0xc8]
mov ecx, dword [eax]
push ecx
mov edx, dword [ebp - 4]
push edx
call fcn.10180640
add esp, 0xc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x1014cb64
mov dword [ebp - 0xc], 2
jmp 0x1014d7f4
jmp 0x1014cb6d
mov dword [ebp - 8], 0
cmp dword [ebp - 8], 0
je 0x1014cb97
mov eax, dword [ebp - 8]
movzx ecx, byte [eax + 0x4b9]
mov edx, dword [ebp - 0xc8]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 8]
add eax, 0x57c
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x1014cc0a
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xd0]
and edx, 2
jne 0x1014cbcf
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xd0]
and ecx, 0x400000
jne 0x1014cbcf
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xd0]
and eax, 1
je 0x1014cc03
mov ecx, dword [ebp - 0xc8]
cmp dword [ecx], 0
jne 0x1014cc03
mov edx, dword [ebp - 4]
add edx, 0x264
push edx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [ebp - 4]
movzx ecx, byte [eax + 0x22e]
mov edx, dword [ebp - 0xc8]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 4]
add eax, 0x264
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x1014cc0a
mov dword [ebp - 0xc], 0x16
cmp dword [ebp - 0xc], 0
jne 0x1014cc19
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 8
jmp 0x1014d7f4
mov edx, dword [ebp + 0x14]
cmp dword [edx], 8
jae 0x1014cc34
mov dword [ebp - 0xc], 0x16
jmp 0x1014d7f4
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x8c], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xd0]
and edx, 2
jne 0x1014cc5c
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xd0]
and ecx, 0x400000
je 0x1014cc9f
mov edx, dword [ebp - 4]
add edx, 0x264
push edx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x210]
mov dword [ebp - 8], ecx
cmp dword [ebp - 8], 0
je 0x1014cc8e
mov edx, dword [ebp - 8]
add edx, 0x57c
push edx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [ebp - 4]
add eax, 0x264
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x1014ccdf
mov ecx, dword [ebp - 0x8c]
cmp dword [ecx], 2
jbe 0x1014ccd8
push 1
mov edx, dword [ebp - 0x8c]
mov eax, dword [edx]
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.10180640
add esp, 0xc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x1014ccd6
mov dword [ebp - 0xc], 2
jmp 0x1014d7f4
jmp 0x1014ccdf
mov dword [ebp - 8], 0
cmp dword [ebp - 8], 0
je 0x1014cd0a
mov edx, dword [ebp - 8]
movzx eax, byte [edx + 0x4ba]
mov ecx, dword [ebp - 0x8c]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 8]
add edx, 0x57c
push edx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x1014cd7d
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xd0]
and ecx, 2
jne 0x1014cd41
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xd0]
and eax, 0x400000
jne 0x1014cd41
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xd0]
and edx, 1
je 0x1014cd76
mov eax, dword [ebp - 0x8c]
cmp dword [eax], 0
jne 0x1014cd76
mov ecx, dword [ebp - 4]
add ecx, 0x264
push ecx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edx, dword [ebp - 4]
movzx eax, byte [edx + 0x230]
mov ecx, dword [ebp - 0x8c]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 4]
add edx, 0x264
push edx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x1014cd7d
mov dword [ebp - 0xc], 0x16
cmp dword [ebp - 0xc], 0
jne 0x1014cd8c
mov eax, dword [ebp + 0x14]
mov dword [eax], 8
jmp 0x1014d7f4
mov ecx, dword [ebp + 0x14]
cmp dword [ecx], 8
jae 0x1014cda7
mov dword [ebp - 0xc], 0x16
jmp 0x1014d7f4
mov edx, dword [ebp + 0x10]
mov dword [ebp - 0xcc], edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xd0]
and ecx, 2
jne 0x1014cdce
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xd0]
and eax, 0x400000
je 0x1014ce12
mov ecx, dword [ebp - 4]
add ecx, 0x264
push ecx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x210]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x1014ce00
mov ecx, dword [ebp - 8]
add ecx, 0x57c
push ecx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edx, dword [ebp - 4]
add edx, 0x264
push edx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x1014ce52
mov eax, dword [ebp - 0xcc]
cmp dword [eax], 2
jbe 0x1014ce4b
push 1
mov ecx, dword [ebp - 0xcc]
mov edx, dword [ecx]
push edx
mov eax, dword [ebp - 4]
push eax
call fcn.10180640
add esp, 0xc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x1014ce49
mov dword [ebp - 0xc], 2
jmp 0x1014d7f4
jmp 0x1014ce52
mov dword [ebp - 8], 0
cmp dword [ebp - 8], 0
je 0x1014ce7d
mov ecx, dword [ebp - 8]
movzx edx, byte [ecx + 0x4bb]
mov eax, dword [ebp - 0xcc]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 8]
add ecx, 0x57c
push ecx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x1014cef0
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xd0]
and eax, 2
jne 0x1014ceb5
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xd0]
and edx, 0x400000
jne 0x1014ceb5
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xd0]
and ecx, 1
je 0x1014cee9
mov edx, dword [ebp - 0xcc]
cmp dword [edx], 0
jne 0x1014cee9
mov eax, dword [ebp - 4]
add eax, 0x264
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, dword [ebp - 4]
movzx edx, byte [ecx + 0x231]
mov eax, dword [ebp - 0xcc]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 4]
add ecx, 0x264
push ecx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x1014cef0
mov dword [ebp - 0xc], 0x16
cmp dword [ebp - 0xc], 0
jne 0x1014ceff
mov edx, dword [ebp + 0x14]
mov dword [edx], 8
jmp 0x1014d7f4
mov eax, dword [ebp + 0x14]
cmp dword [eax], 8
jae 0x1014cf1a
mov dword [ebp - 0xc], 0x16
jmp 0x1014d7f4
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 0xd0], ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xd0]
and eax, 2
jne 0x1014cf42
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xd0]
and edx, 0x400000
je 0x1014cf84
mov eax, dword [ebp - 4]
add eax, 0x264
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x210]
mov dword [ebp - 8], edx
cmp dword [ebp - 8], 0
je 0x1014cf72
mov eax, dword [ebp - 8]
add eax, 0x57c
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, dword [ebp - 4]
add ecx, 0x264
push ecx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x1014cfc4
mov edx, dword [ebp - 0xd0]
cmp dword [edx], 2
jbe 0x1014cfbd
push 1
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax]
push ecx
mov edx, dword [ebp - 4]
push edx
call fcn.10180640
add esp, 0xc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x1014cfbb
mov dword [ebp - 0xc], 2
jmp 0x1014d7f4
jmp 0x1014cfc4
mov dword [ebp - 8], 0
cmp dword [ebp - 8], 0
je 0x1014cfee
mov eax, dword [ebp - 8]
movzx ecx, byte [eax + 0x4bc]
mov edx, dword [ebp - 0xd0]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 8]
add eax, 0x57c
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x1014d061
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xd0]
and edx, 2
jne 0x1014d026
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xd0]
and ecx, 0x400000
jne 0x1014d026
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xd0]
and eax, 1
je 0x1014d05a
mov ecx, dword [ebp - 0xd0]
cmp dword [ecx], 0
jne 0x1014d05a
mov edx, dword [ebp - 4]
add edx, 0x264
push edx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [ebp - 4]
movzx ecx, byte [eax + 0x232]
mov edx, dword [ebp - 0xd0]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 4]
add eax, 0x264
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x1014d061
mov dword [ebp - 0xc], 0x16
cmp dword [ebp - 0xc], 0
jne 0x1014d070
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 8
jmp 0x1014d7f4
mov edx, dword [ebp + 0x14]
cmp dword [edx], 8
jae 0x1014d08b
mov dword [ebp - 0xc], 0x16
jmp 0x1014d7f4
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0xd4], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xd0]
and edx, 2
jne 0x1014d0b3
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xd0]
and ecx, 0x400000
je 0x1014d0f6
mov edx, dword [ebp - 4]
add edx, 0x264
push edx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x210]
mov dword [ebp - 8], ecx
cmp dword [ebp - 8], 0
je 0x1014d0e5
mov edx, dword [ebp - 8]
add edx, 0x57c
push edx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [ebp - 4]
add eax, 0x264
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x1014d136
mov ecx, dword [ebp - 0xd4]
cmp dword [ecx], 2
jbe 0x1014d12f
push 1
mov edx, dword [ebp - 0xd4]
mov eax, dword [edx]
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.10180640
add esp, 0xc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x1014d12d
mov dword [ebp - 0xc], 2
jmp 0x1014d7f4
jmp 0x1014d136
mov dword [ebp - 8], 0
cmp dword [ebp - 8], 0
je 0x1014d161
mov edx, dword [ebp - 8]
movzx eax, byte [edx + 0x4bd]
mov ecx, dword [ebp - 0xd4]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 8]
add edx, 0x57c
push edx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x1014d1d4
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xd0]
and ecx, 2
jne 0x1014d198
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xd0]
and eax, 0x400000
jne 0x1014d198
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xd0]
and edx, 1
je 0x1014d1cd
mov eax, dword [ebp - 0xd4]
cmp dword [eax], 0
jne 0x1014d1cd
mov ecx, dword [ebp - 4]
add ecx, 0x264
push ecx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edx, dword [ebp - 4]
movzx eax, byte [edx + 0x233]
mov ecx, dword [ebp - 0xd4]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 4]
add edx, 0x264
push edx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x1014d1d4
mov dword [ebp - 0xc], 0x16
cmp dword [ebp - 0xc], 0
jne 0x1014d1e3
mov eax, dword [ebp + 0x14]
mov dword [eax], 8
jmp 0x1014d7f4
mov ecx, dword [ebp + 0x14]
cmp dword [ecx], 8
jae 0x1014d1fe
mov dword [ebp - 0xc], 0x16
jmp 0x1014d7f4
mov edx, dword [ebp + 0x10]
mov dword [ebp - 0xd8], edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xd0]
and ecx, 2
jne 0x1014d225
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xd0]
and eax, 0x400000
je 0x1014d269
mov ecx, dword [ebp - 4]
add ecx, 0x264
push ecx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x210]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x1014d257
mov ecx, dword [ebp - 8]
add ecx, 0x57c
push ecx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edx, dword [ebp - 4]
add edx, 0x264
push edx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x1014d2a9
mov eax, dword [ebp - 0xd8]
cmp dword [eax], 2
jbe 0x1014d2a2
push 1
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ecx]
push edx
mov eax, dword [ebp - 4]
push eax
call fcn.10180640
add esp, 0xc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x1014d2a0
mov dword [ebp - 0xc], 2
jmp 0x1014d7f4
jmp 0x1014d2a9
mov dword [ebp - 8], 0
cmp dword [ebp - 8], 0
je 0x1014d2d4
mov ecx, dword [ebp - 8]
movzx edx, byte [ecx + 0x4c0]
mov eax, dword [ebp - 0xd8]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 8]
add ecx, 0x57c
push ecx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x1014d347
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xd0]
and eax, 2
jne 0x1014d30c
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xd0]
and edx, 0x400000
jne 0x1014d30c
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xd0]
and ecx, 1
je 0x1014d340
mov edx, dword [ebp - 0xd8]
cmp dword [edx], 0
jne 0x1014d340
mov eax, dword [ebp - 4]
add eax, 0x264
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, dword [ebp - 4]
movzx edx, byte [ecx + 0x224]
mov eax, dword [ebp - 0xd8]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 4]
add ecx, 0x264
push ecx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x1014d347
mov dword [ebp - 0xc], 0x16
cmp dword [ebp - 0xc], 0
jne 0x1014d356
mov edx, dword [ebp + 0x14]
mov dword [edx], 8
jmp 0x1014d7f4
mov eax, dword [ebp + 0x14]
cmp dword [eax], 0x18
jae 0x1014d371
mov dword [ebp - 0xc], 0x16
jmp 0x1014d7f4
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 0x74], ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xd0]
and eax, 2
jne 0x1014d396
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xd0]
and edx, 0x400000
je 0x1014d3d8
mov eax, dword [ebp - 4]
add eax, 0x264
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x210]
mov dword [ebp - 8], edx
cmp dword [ebp - 8], 0
je 0x1014d3c6
mov eax, dword [ebp - 8]
add eax, 0x57c
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, dword [ebp - 4]
add ecx, 0x264
push ecx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x1014d412
mov edx, dword [ebp - 0x74]
cmp dword [edx], 2
jbe 0x1014d40b
push 1
mov eax, dword [ebp - 0x74]
mov ecx, dword [eax]
push ecx
mov edx, dword [ebp - 4]
push edx
call fcn.10180640
add esp, 0xc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x1014d409
mov dword [ebp - 0xc], 2
jmp 0x1014d7f4
jmp 0x1014d412
mov dword [ebp - 8], 0
mov eax, dword [ebp - 0x74]
mov cx, word [eax + 4]
mov word [ebp - 0x54], cx
mov edx, dword [ebp - 0x74]
mov ax, word [edx + 6]
mov word [ebp - 0x110], ax
cmp dword [ebp - 8], 0
je 0x1014d4a3
movzx ecx, word [ebp - 0x54]
mov edx, dword [ebp - 8]
movzx eax, word [edx + 0x47e]
cmp ecx, eax
jge 0x1014d4a3
movzx ecx, word [ebp - 0x110]
cmp ecx, 0xf
jne 0x1014d4a3
movzx edx, word [ebp - 0x54]
imul eax, edx, 0x30
mov ecx, dword [ebp - 8]
mov edx, dword [ecx + 0x21c]
add edx, eax
mov eax, 4
imul ecx, eax, 0
mov edx, dword [edx + ecx + 0x1c]
xor eax, eax
mov ecx, dword [ebp - 0x74]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
movzx edx, word [ebp - 0x54]
imul eax, edx, 0x30
mov ecx, dword [ebp - 8]
mov edx, dword [ecx + 0x21c]
add edx, eax
mov eax, 4
imul ecx, eax, 0
mov edx, dword [edx + ecx + 0x20]
xor eax, eax
mov ecx, dword [ebp - 0x74]
mov dword [ecx + 0x10], edx
mov dword [ecx + 0x14], eax
jmp 0x1014d4aa
mov dword [ebp - 0xc], 0x16
cmp dword [ebp - 8], 0
je 0x1014d4c0
mov edx, dword [ebp - 8]
add edx, 0x57c
push edx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp dword [ebp - 0xc], 0
jne 0x1014d4cf
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x18
jmp 0x1014d7f4
mov ecx, dword [ebp + 0x14]
cmp dword [ecx], 0x18
jae 0x1014d4ea
mov dword [ebp - 0xc], 0x16
jmp 0x1014d7f4
mov edx, dword [ebp + 0x10]
mov dword [ebp - 0x58], edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xd0]
and ecx, 2
jne 0x1014d50e
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xd0]
and eax, 0x400000
je 0x1014d552
mov ecx, dword [ebp - 4]
add ecx, 0x264
push ecx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x210]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x1014d540
mov ecx, dword [ebp - 8]
add ecx, 0x57c
push ecx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edx, dword [ebp - 4]
add edx, 0x264
push edx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x1014d58c
mov eax, dword [ebp - 0x58]
cmp dword [eax], 2
jbe 0x1014d585
push 1
mov ecx, dword [ebp - 0x58]
mov edx, dword [ecx]
push edx
mov eax, dword [ebp - 4]
push eax
call fcn.10180640
add esp, 0xc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x1014d583
mov dword [ebp - 0xc], 2
jmp 0x1014d7f4
jmp 0x1014d58c
mov dword [ebp - 8], 0
mov ecx, dword [ebp - 0x58]
mov dx, word [ecx + 6]
mov word [ebp - 0x28], dx
cmp dword [ebp - 8], 0
je 0x1014d650
movzx eax, word [ebp - 0x28]
test eax, eax
je 0x1014d650
movzx ecx, word [ebp - 0x28]
cmp ecx, 3
jle 0x1014d5c3
movzx edx, word [ebp - 0x28]
cmp edx, 0xf
jne 0x1014d650
movzx eax, word [ebp - 0x28]
cmp eax, 0xf
jne 0x1014d612
mov ecx, 8
imul edx, ecx, 0
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 8]
mov esi, dword [ecx + edx + 0x528]
mov edx, dword [ecx + edx + 0x52c]
mov dword [eax + 8], esi
mov dword [eax + 0xc], edx
mov eax, 8
imul ecx, eax, 0
mov edx, dword [ebp - 0x58]
mov eax, dword [ebp - 8]
mov esi, dword [eax + ecx + 0x548]
mov ecx, dword [eax + ecx + 0x54c]
mov dword [edx + 0x10], esi
mov dword [edx + 0x14], ecx
jmp 0x1014d64e
movzx edx, word [ebp - 0x28]
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 8]
mov esi, dword [ecx + edx*8 + 0x528]
mov edx, dword [ecx + edx*8 + 0x52c]
mov dword [eax + 8], esi
mov dword [eax + 0xc], edx
movzx eax, word [ebp - 0x28]
mov ecx, dword [ebp - 0x58]
mov edx, dword [ebp - 8]
mov esi, dword [edx + eax*8 + 0x548]
mov eax, dword [edx + eax*8 + 0x54c]
mov dword [ecx + 0x10], esi
mov dword [ecx + 0x14], eax
jmp 0x1014d657
mov dword [ebp - 0xc], 0x16
cmp dword [ebp - 8], 0
je 0x1014d66d
mov ecx, dword [ebp - 8]
add ecx, 0x57c
push ecx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp dword [ebp - 0xc], 0
jne 0x1014d67c
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x18
jmp 0x1014d7f4
mov eax, dword [ebp + 0x14]
cmp dword [eax], 8
jae 0x1014d697
mov dword [ebp - 0xc], 0x16
jmp 0x1014d7f4
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 0xdc], ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xd0]
and eax, 2
jne 0x1014d6bf
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xd0]
and edx, 0x400000
je 0x1014d701
mov eax, dword [ebp - 4]
add eax, 0x264
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x210]
mov dword [ebp - 8], edx
cmp dword [ebp - 8], 0
je 0x1014d6ef
mov eax, dword [ebp - 8]
add eax, 0x57c
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, dword [ebp - 4]
add ecx, 0x264
push ecx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x1014d741
mov edx, dword [ebp - 0xdc]
cmp dword [edx], 2
jbe 0x1014d73a
push 1
mov eax, dword [ebp - 0xdc]
mov ecx, dword [eax]
push ecx
mov edx, dword [ebp - 4]
push edx
call fcn.10180640
add esp, 0xc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x1014d738
mov dword [ebp - 0xc], 2
jmp 0x1014d7f4
jmp 0x1014d741
mov dword [ebp - 8], 0
cmp dword [ebp - 8], 0
je 0x1014d76a
mov eax, dword [ebp - 0xdc]
mov ecx, dword [ebp - 8]
mov edx, dword [ecx + 0x4f0]
mov dword [eax + 4], edx
mov eax, dword [ebp - 8]
add eax, 0x57c
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x1014d7dc
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xd0]
and edx, 2
jne 0x1014d7a2
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xd0]
and ecx, 0x400000
jne 0x1014d7a2
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xd0]
and eax, 1
je 0x1014d7d5
mov ecx, dword [ebp - 0xdc]
cmp dword [ecx], 0
jne 0x1014d7d5
mov edx, dword [ebp - 4]
add edx, 0x264
push edx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [ebp - 0xdc]
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x220]
mov dword [eax + 4], edx
mov eax, dword [ebp - 4]
add eax, 0x264
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x1014d7dc
mov dword [ebp - 0xc], 0x16
cmp dword [ebp - 0xc], 0
jne 0x1014d7eb
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 8
jmp 0x1014d7f4
mov dword [ebp - 0xc], 0x7b
cmp dword [ebp - 0xc], 0
je 0x1014d803
mov edx, dword [ebp + 0x14]
mov dword [edx], 0
mov eax, dword [ebp - 0xc]
pop esi
mov esp, ebp
pop ebp
ret