Function at 0x1007c680
Capabilities:
Inspect section memory permissions

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0xa7c
mov eax, dword [0x100a20a4]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, ecx
push edi
mov ecx, dword [esi + 0x28]
call fcn.10077130
mov ecx, dword [esi + 0x28]
lea eax, [ebp - 0x1cc]
push eax
call fcn.10076e70
cmp byte [esi + 0x5131], 0
je 0x1007c6ca
cmp dword [esi + 0x5158], 0
jne 0x1007c6ca
mov eax, 1
jmp 0x1007c6cc
xor eax, eax
mov ecx, dword [esi + 0x1c]
push eax
push 2
call fcn.100764f0
mov ecx, dword [esi + 0x1c]
push 0x100a30c4
call fcn.100768a0
mov ecx, dword [esi + 4]
mov edi, ecx
shr edi, 0x12
mov ebx, ecx
and edi, 1
shr ebx, 2
mov eax, edi
mov dword [ebp - 0x234], ecx
shl eax, 6
and ebx, 1
add eax, 4
mov dword [ebp - 0x13c], edi
mov dword [ebp - 0x1e0], ebx
mov dword [ebp - 0xcc], eax
test ecx, 0x80000
je 0x1007c72a
or eax, 0x80
mov dword [ebp - 0xcc], eax
push 7
lea ecx, [ebp - 0x128]
mov dword [ebp - 0x128], 0
call fcn.100762f0
push 6
lea ecx, [ebp - 0x11c]
mov dword [ebp - 0x11c], 1
call fcn.100762f0
mov ecx, dword [esi + 0x28]
mov eax, dword [ecx]
cmp eax, 0xffffffff
jne 0x1007c76a
mov eax, dword [ecx + 0x44]
mov dword [ecx], eax
inc dword [ecx + 0x44]
mov ecx, dword [esi + 0x1c]
push eax
push 0
push 0
call fcn.10076530
test byte [esi + 0x18], 2
je 0x1007c7d4
test ebx, ebx
je 0x1007c7d4
mov ecx, dword [esi + 0x28]
mov eax, dword [ecx + 4]
cmp eax, 0xffffffff
jne 0x1007c795
mov eax, dword [ecx + 0x44]
mov dword [ecx + 4], eax
inc dword [ecx + 0x44]
mov ecx, dword [esi + 0x1c]
push eax
push 0
push 3
call fcn.10076530
mov ecx, dword [esi + 0x28]
lea eax, [ebp - 0x104]
push eax
call fcn.10076eb0
mov ecx, dword [eax]
mov dword [ebp - 0x2c8], ecx
mov ecx, dword [eax + 4]
mov dword [ebp - 0x2c4], ecx
mov ecx, dword [eax + 8]
mov dword [ebp - 0x2c0], ecx
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x2bc], eax
mov eax, dword [esi + 4]
mov dword [ebp - 0x23c], 0
mov dword [ebp - 0x240], 0
test eax, 0x800000
je 0x1007c85c
test al, 2
je 0x1007c821
mov ecx, dword [esi + 0x28]
mov eax, dword [ecx + 0x1c]
cmp eax, 0xffffffff
jne 0x1007c80a
mov eax, dword [ecx + 0x44]
mov dword [ecx + 0x1c], eax
inc dword [ecx + 0x44]
mov ecx, dword [esi + 0x1c]
push eax
push 1
push 0
call fcn.10076530
mov dword [ebp - 0x23c], 1
test byte [esi + 0x18], 2
je 0x1007c85c
test ebx, ebx
je 0x1007c85c
test byte [esi + 4], 8
je 0x1007c85c
mov ecx, dword [esi + 0x28]
mov eax, dword [ecx + 0x20]
cmp eax, 0xffffffff
jne 0x1007c845
mov eax, dword [ecx + 0x44]
mov dword [ecx + 0x20], eax
inc dword [ecx + 0x44]
mov ecx, dword [esi + 0x1c]
push eax
push 1
push 3
call fcn.10076530
mov dword [ebp - 0x240], 1
test edi, edi
je 0x1007c8fe
test byte [esi + 4], 0x10
je 0x1007c8b9
mov ecx, dword [esi + 0x28]
mov eax, dword [ecx + 0x14]
cmp eax, 0xffffffff
jne 0x1007c87e
mov eax, dword [ecx + 0x44]
mov dword [ecx + 0x14], eax
inc dword [ecx + 0x44]
mov ecx, dword [esi + 0x1c]
push eax
push 0
push 0xa
call fcn.10076530
mov ecx, dword [esi + 0x28]
lea eax, [ebp - 0x104]
push eax
call fcn.10076ff0
mov ecx, dword [eax]
mov dword [ebp - 0x210], ecx
mov ecx, dword [eax + 4]
mov dword [ebp - 0x20c], ecx
mov ecx, dword [eax + 8]
mov dword [ebp - 0x208], ecx
mov eax, dword [eax + 0xc]
jmp 0x1007c8f8
mov ecx, dword [esi + 0x24]
push 4
lea eax, [ecx + 0xc]
push eax
lea eax, [ebp - 0x98]
push eax
call fcn.10077bb0
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0x210], eax
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0x20c], eax
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x208], eax
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0x204], eax
test dword [ebp - 0x234], 0x80000
je 0x1007c9a5
test byte [esi + 4], 0x20
je 0x1007c963
mov ecx, dword [esi + 0x28]
mov eax, dword [ecx + 0x18]
cmp eax, 0xffffffff
jne 0x1007c928
mov eax, dword [ecx + 0x44]
mov dword [ecx + 0x18], eax
inc dword [ecx + 0x44]
mov ecx, dword [esi + 0x1c]
push eax
push 1
push 0xa
call fcn.10076530
mov ecx, dword [esi + 0x28]
lea eax, [ebp - 0x104]
push eax
call fcn.10077040
mov ecx, dword [eax]
mov dword [ebp - 0x1dc], ecx
mov ecx, dword [eax + 4]
mov dword [ebp - 0x1d8], ecx
mov ecx, dword [eax + 8]
mov dword [ebp - 0x1d4], ecx
mov eax, dword [eax + 0xc]
jmp 0x1007c99f
mov ecx, dword [esi + 0x24]
lea eax, [ebp - 0x98]
push 4
push ecx
push eax
call fcn.10077bb0
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0x1dc], eax
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0x1d8], eax
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x1d4], eax
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0x1d0], eax
test byte [esi + 8], 0x20
je 0x1007ca4c
test byte [esi + 4], 0x40
je 0x1007ca04
mov ecx, dword [esi + 0x28]
mov eax, dword [ecx + 8]
cmp eax, 0xffffffff
jne 0x1007c9c9
mov eax, dword [ecx + 0x44]
mov dword [ecx + 8], eax
inc dword [ecx + 0x44]
mov ecx, dword [esi + 0x1c]
push eax
push 0
push 4
call fcn.10076530
mov ecx, dword [esi + 0x28]
lea eax, [ebp - 0x104]
push eax
call fcn.10076f00
mov ecx, dword [eax]
mov dword [ebp - 0x2d8], ecx
mov ecx, dword [eax + 4]
mov dword [ebp - 0x2d4], ecx
mov ecx, dword [eax + 8]
mov dword [ebp - 0x2d0], ecx
mov eax, dword [eax + 0xc]
jmp 0x1007ca46
mov ecx, dword [esi + 0x24]
push 4
lea eax, [ecx + 0x628]
push eax
lea eax, [ebp - 0x98]
push eax
call fcn.10077bb0
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0x2d8], eax
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0x2d4], eax
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x2d0], eax
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0x2cc], eax
test byte [esi + 0x18], 4
je 0x1007cb96
test byte [esi + 4], 0x80
je 0x1007caab
mov ecx, dword [esi + 0x28]
mov eax, dword [ecx + 0xc]
cmp eax, 0xffffffff
jne 0x1007ca70
mov eax, dword [ecx + 0x44]
mov dword [ecx + 0xc], eax
inc dword [ecx + 0x44]
mov ecx, dword [esi + 0x1c]
push eax
push 0
push 1
call fcn.10076530
mov ecx, dword [esi + 0x28]
lea eax, [ebp - 0x104]
push eax
call fcn.10076f50
mov ecx, dword [eax]
mov dword [ebp - 0x2b8], ecx
mov ecx, dword [eax + 4]
mov dword [ebp - 0x2b4], ecx
mov ecx, dword [eax + 8]
mov dword [ebp - 0x2b0], ecx
mov eax, dword [eax + 0xc]
jmp 0x1007cae7
mov ecx, dword [esi + 0x24]
lea eax, [ebp - 0x98]
push 4
push ecx
push eax
call fcn.10077bb0
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0x2b8], eax
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0x2b4], eax
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x2b0], eax
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0x2ac], eax
mov eax, dword [esi + 4]
test eax, 0x4000000
je 0x1007cb96
test eax, 0x10000
je 0x1007cb51
mov ecx, dword [esi + 0x28]
mov eax, dword [ecx + 0x10]
cmp eax, 0xffffffff
jne 0x1007cb16
mov eax, dword [ecx + 0x44]
mov dword [ecx + 0x10], eax
inc dword [ecx + 0x44]
mov ecx, dword [esi + 0x1c]
push eax
push 0
push 2
call fcn.10076530
mov ecx, dword [esi + 0x28]
lea eax, [ebp - 0x104]
push eax
call fcn.10076fa0
mov ecx, dword [eax]
mov dword [ebp - 0x2a8], ecx
mov ecx, dword [eax + 4]
mov dword [ebp - 0x2a4], ecx
mov ecx, dword [eax + 8]
mov dword [ebp - 0x2a0], ecx
mov eax, dword [eax + 0xc]
jmp 0x1007cb90
mov ecx, dword [esi + 0x24]
push 0x10
lea eax, [ecx + 0x20]
push eax
lea eax, [ebp - 0x98]
push eax
call fcn.10077bb0
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0x2a8], eax
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0x2a4], eax
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x2a0], eax
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0x29c], eax
mov eax, 1
mov dword [ebp - 0x9c], 0
mov ecx, 0x24
mov dword [ebp - 0x238], eax
lea edi, [ebp - 0x88]
mov dword [ebp - 0x278], ecx
lea esp, [esp]
test byte [esi + 5], al
je 0x1007cc3f
mov edx, dword [esi + 0x28]
mov eax, dword [edx + ecx]
cmp eax, 0xffffffff
jne 0x1007cbdc
mov eax, dword [edx + 0x44]
mov dword [edx + ecx], eax
inc dword [edx + 0x44]
mov eax, dword [edx + ecx]
mov ecx, dword [esi + 0x1c]
push eax
push dword [ebp - 0x9c]
push 5
call fcn.10076530
mov ecx, dword [esi + 0x28]
mov edx, dword [ebp - 0x278]
mov eax, dword [edx + ecx]
cmp eax, 0xffffffff
jne 0x1007cc0a
mov eax, dword [ecx + 0x44]
mov dword [edx + ecx], eax
inc dword [ecx + 0x44]
mov eax, dword [edx + ecx]
push 0xe40000
push eax
push 1
lea ecx, [ebp - 0x98]
call fcn.10076000
mov eax, dword [ebp - 0x98]
mov dword [edi], eax
mov eax, dword [ebp - 0x94]
mov dword [edi + 4], eax
mov eax, dword [ebp - 0x90]
mov dword [edi + 8], eax
mov eax, dword [ebp - 0x8c]
jmp 0x1007cc71
mov ecx, dword [esi + 0x24]
lea eax, [ebp - 0x138]
push 0x10
push ecx
push eax
call fcn.10077bb0
mov eax, dword [ebp - 0x138]
mov dword [edi], eax
mov eax, dword [ebp - 0x134]
mov dword [edi + 4], eax
mov eax, dword [ebp - 0x130]
mov dword [edi + 8], eax
mov eax, dword [ebp - 0x12c]
mov ecx, dword [ebp - 0x278]
inc dword [ebp - 0x9c]
add ecx, 4
mov dword [edi + 0xc], eax
add edi, 0x10
mov eax, dword [ebp - 0x238]
rol eax, 1
mov dword [ebp - 0x278], ecx
mov dword [ebp - 0x238], eax
cmp ecx, 0x44
jb 0x1007cbc0
mov eax, dword [ebp - 0x210]
lea ecx, [ebp - 0x110]
mov dword [ebp - 0x200], eax
mov eax, dword [ebp - 0x20c]
mov dword [ebp - 0x1fc], eax
mov eax, dword [ebp - 0x208]
mov dword [ebp - 0x1f8], eax
mov eax, dword [ebp - 0x204]
mov dword [ebp - 0x1f4], eax
mov eax, dword [ebp - 0x1dc]
mov dword [ebp - 0x230], eax
mov eax, dword [ebp - 0x1d8]
mov dword [ebp - 0x22c], eax
mov eax, dword [ebp - 0x1d4]
mov dword [ebp - 0x228], eax
mov eax, dword [ebp - 0x1d0]
push 7
mov dword [ebp - 0x224], eax
mov dword [ebp - 0x110], 2
call fcn.100762f0
cmp dword [ebp - 0x23c], 0
je 0x1007ced7
mov eax, dword [ebp - 0x110]
mov ecx, dword [esi + 0x28]
mov dword [ebp - 0x94], eax
mov eax, dword [ebp - 0x10c]
mov dword [ebp - 0x90], eax
lea eax, [ebp - 0x104]
push eax
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x8c], 0
call fcn.10077090
mov ecx, dword [esi + 0x1c]
push eax
lea eax, [ebp - 0x98]
push eax
push 1
call fcn.100765f0
push dword [ebp - 0x108]
lea ecx, [ebp - 0x288]
push dword [ebp - 0x110]
push 0
call fcn.10076000
mov ecx, dword [esi + 0x28]
lea eax, [ebp - 0x104]
push eax
call fcn.10076e70
movzx ecx, word [eax + 0xe]
push ecx
movzx ecx, word [eax + 0xc]
push 0x1000000
push dword [eax + 8]
push ecx
push dword [eax]
lea ecx, [ebp - 0x220]
call fcn.10076030
mov eax, dword [ebp - 0x110]
mov ecx, dword [esi + 0x1c]
mov dword [ebp - 0x94], eax
lea eax, [ebp - 0x220]
push eax
lea eax, [ebp - 0x288]
mov dword [ebp - 0x98], 0
push eax
lea eax, [ebp - 0x98]
mov dword [ebp - 0x90], 0x70000
push eax
push 2
mov dword [ebp - 0x8c], 0
call fcn.10076680
push dword [ebp - 0x108]
lea ecx, [ebp - 0x220]
push dword [ebp - 0x110]
push 0
call fcn.10076000
mov ecx, dword [esi + 0x24]
push 4
lea eax, [ecx + 0x9c]
push eax
lea eax, [ebp - 0x288]
push eax
call fcn.10077bb0
mov eax, dword [ebp - 0x110]
mov ecx, dword [esi + 0x28]
mov dword [ebp - 0x94], eax
lea eax, [ebp - 0x104]
push eax
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x90], 0x70000
mov dword [ebp - 0x8c], 0
call fcn.10076e70
mov ecx, dword [esi + 0x1c]
push eax
lea eax, [ebp - 0x220]
push eax
lea eax, [ebp - 0x288]
push eax
lea eax, [ebp - 0x98]
push eax
push 4
call fcn.10076710
push dword [ebp - 0x108]
push dword [ebp - 0x110]
push 0
lea ecx, [ebp - 0x98]
call fcn.10076000
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0x1cc], eax
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0x1c8], eax
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x1c4], eax
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0x1c0], eax
push 6
lea ecx, [ebp - 0xf4]
mov dword [ebp - 0xf4], 3
call fcn.100762f0
cmp dword [ebp - 0x240], 0
je 0x1007d0af
mov eax, dword [ebp - 0xf4]
mov ecx, dword [esi + 0x28]
mov dword [ebp - 0x94], eax
mov eax, dword [ebp - 0xf0]
mov dword [ebp - 0x90], eax
lea eax, [ebp - 0x104]
push eax
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x8c], 0
call fcn.100770e0
mov ecx, dword [esi + 0x1c]
push eax
lea eax, [ebp - 0x98]
push eax
push 1
call fcn.100765f0
push dword [ebp - 0xec]
lea ecx, [ebp - 0x288]
push dword [ebp - 0xf4]
push 0
call fcn.10076000
mov eax, dword [ebp - 0xf4]
mov ecx, dword [esi + 0x28]
mov dword [ebp - 0x94], eax
mov eax, dword [ebp - 0xf0]
mov dword [ebp - 0x90], eax
lea eax, [ebp - 0x104]
push eax
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x8c], 0
call fcn.10076eb0
movzx ecx, word [eax + 0xe]
push ecx
movzx ecx, word [eax + 0xc]
push 0x1000000
push dword [eax + 8]
push ecx
push dword [eax]
lea ecx, [ebp - 0x220]
call fcn.10076030
mov ecx, dword [esi + 0x1c]
lea eax, [ebp - 0x220]
push eax
lea eax, [ebp - 0x288]
push eax
lea eax, [ebp - 0x98]
push eax
push 2
call fcn.10076680
push dword [ebp - 0xec]
lea ecx, [ebp - 0x220]
push dword [ebp - 0xf4]
push 0
call fcn.10076000
mov eax, dword [ebp - 0xf4]
mov ecx, dword [esi + 0x24]
mov dword [ebp - 0x94], eax
mov eax, dword [ebp - 0xf0]
mov dword [ebp - 0x90], eax
push 4
lea eax, [ecx + 0x9c]
mov dword [ebp - 0x98], 0
push eax
lea eax, [ebp - 0x288]
mov dword [ebp - 0x8c], 0
push eax
call fcn.10077bb0
mov ecx, dword [esi + 0x28]
lea eax, [ebp - 0x104]
push eax
call fcn.10076eb0
mov ecx, dword [esi + 0x1c]
push eax
lea eax, [ebp - 0x220]
push eax
lea eax, [ebp - 0x288]
push eax
lea eax, [ebp - 0x98]
push eax
push 4
call fcn.10076710
push dword [ebp - 0xec]
lea ecx, [ebp - 0x98]
push dword [ebp - 0xf4]
push 0
call fcn.10076000
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0x2c8], eax
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0x2c4], eax
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x2c0], eax
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0x2bc], eax
mov eax, dword [esi + 0x18]
test al, 4
je 0x1007dfec
mov eax, dword [esi + 8]
lea ecx, [ebp - 0xf4]
shr eax, 0x12
and eax, 3
mov dword [ebp - 0xf4], 6
push 7
mov dword [ebp - 0x9c], eax
call fcn.100762f0
push 7
lea ecx, [ebp - 0xa8]
mov dword [ebp - 0xa8], 7
call fcn.100762f0
push 0
lea ecx, [ebp - 0x190]
mov dword [ebp - 0x190], 8
call fcn.100762f0
push 7
lea ecx, [ebp - 0x110]
mov dword [ebp - 0x110], 9
call fcn.100762f0
push 7
lea ecx, [ebp - 0x148]
mov dword [ebp - 0x148], 0xa
call fcn.100762f0
push 6
lea ecx, [ebp - 0x154]
mov dword [ebp - 0x154], 0xb
call fcn.100762f0
mov eax, dword [ebp - 0x190]
mov ecx, dword [esi + 0x24]
mov dword [ebp - 0x94], eax
mov eax, dword [ebp - 0x18c]
mov dword [ebp - 0x90], eax
push 4
lea eax, [ecx + 0xc]
mov dword [ebp - 0x98], 0
push eax
lea eax, [ebp - 0x220]
mov dword [ebp - 0x8c], 0
push eax
call fcn.10077bb0
mov ecx, dword [esi + 0x1c]
lea eax, [ebp - 0x220]
push eax
lea eax, [ebp - 0x98]
push eax
push 1
call fcn.100765f0
mov eax, dword [ebp - 0xa8]
mov ecx, dword [esi + 0x24]
mov dword [ebp - 0x94], eax
mov eax, dword [ebp - 0xa4]
push 4
mov dword [ebp - 0x90], eax
lea eax, [ebp - 0x220]
push ecx
push eax
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x8c], 0
call fcn.10077bb0
mov ecx, dword [esi + 0x1c]
lea eax, [ebp - 0x220]
push eax
lea eax, [ebp - 0x98]
push eax
push 1
call fcn.100765f0
mov eax, dword [esi + 0x18]
test al, 2
je 0x1007d262
mov eax, dword [ebp - 0x11c]
mov ecx, dword [esi + 0x24]
mov dword [ebp - 0x94], eax
mov eax, dword [ebp - 0x118]
push 4
mov dword [ebp - 0x90], eax
lea eax, [ebp - 0x220]
push ecx
push eax
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x8c], 0
call fcn.10077bb0
mov ecx, dword [esi + 0x1c]
lea eax, [ebp - 0x220]
push eax
lea eax, [ebp - 0x98]
push eax
push 1
call fcn.100765f0
mov eax, dword [esi + 0x18]
test al, 1
je 0x1007d2bc
mov eax, dword [ebp - 0x128]
mov ecx, dword [esi + 0x24]
mov dword [ebp - 0x94], eax
mov eax, dword [ebp - 0x124]
push 0x10
mov dword [ebp - 0x90], eax
lea eax, [ebp - 0x220]
push ecx
push eax
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x8c], 0
call fcn.10077bb0
mov ecx, dword [esi + 0x1c]
lea eax, [ebp - 0x220]
push eax
lea eax, [ebp - 0x98]
push eax
push 1
call fcn.100765f0
xor ebx, ebx
mov edi, edi
mov eax, ebx
lea ecx, [ebp - 0x2b8]
sub eax, 1
je 0x1007d2fa
sub eax, 1
je 0x1007d2ec
sub eax, 1
lea eax, [ebp - 0x264]
push eax
je 0x1007d2e5
call fcn.100760b0
jmp 0x1007d306
call fcn.10076140
jmp 0x1007d306
lea eax, [ebp - 0x264]
push eax
call fcn.10076110
jmp 0x1007d306
lea eax, [ebp - 0x264]
push eax
call fcn.100760e0
push dword [ebp - 0x188]
push dword [ebp - 0x190]
push 0
cmp ebx, dword [ebp - 0x9c]
jne 0x1007d35c
lea ecx, [ebp - 0x98]
call fcn.10076000
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0x264], eax
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0x260], eax
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x25c], eax
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0x258], eax
jmp 0x1007d3dc
lea ecx, [ebp - 0x538]
call fcn.10076000
push dword [ebp - 0x256]
mov eax, dword [ebp - 0x190]
lea ecx, [ebp - 0x548]
push 0x1000000
push dword [ebp - 0x25c]
mov dword [ebp - 0x134], eax
mov eax, dword [ebp - 0x18c]
mov dword [ebp - 0x130], eax
movzx eax, word [ebp - 0x258]
push eax
push dword [ebp - 0x264]
mov dword [ebp - 0x138], 0
mov dword [ebp - 0x12c], 0
call fcn.10076030
mov ecx, dword [esi + 0x1c]
lea eax, [ebp - 0x548]
push eax
lea eax, [ebp - 0x538]
push eax
lea eax, [ebp - 0x138]
push eax
push 2
call fcn.10076680
test dword [esi + 4], 0x4000000
je 0x1007db93
push 7
lea ecx, [ebp - 0xe8]
mov dword [ebp - 0xe8], 0xc
call fcn.100762f0
push 1
lea ecx, [ebp - 0x1ac]
mov dword [ebp - 0x1ac], 0xa
call fcn.100762f0
mov eax, dword [ebp - 0x1ac]
lea ecx, [ebp - 0x2a8]
mov dword [ebp - 0x170], eax
mov eax, dword [ebp - 0x1a8]
mov dword [ebp - 0x16c], eax
mov eax, ebx
mov dword [ebp - 0x174], 0
mov dword [ebp - 0x168], 0
sub eax, 1
je 0x1007d47d
sub eax, 1
je 0x1007d46f
sub eax, 1
lea eax, [ebp - 0x184]
push eax
je 0x1007d468
call fcn.100760b0
jmp 0x1007d489
call fcn.10076140
jmp 0x1007d489
lea eax, [ebp - 0x184]
push eax
call fcn.10076110
jmp 0x1007d489
lea eax, [ebp - 0x184]
push eax
call fcn.100760e0
mov ecx, dword [esi + 0x1c]
lea eax, [ebp - 0x184]
push eax
lea eax, [ebp - 0x174]
push eax
push 1
call fcn.100765f0
push dword [ebp - 0x1a4]
lea ecx, [ebp - 0x568]
push dword [ebp - 0x1ac]
push 0
call fcn.10076000
mov eax, dword [ebp - 0x1ac]
mov ecx, dword [esi + 0x24]
mov dword [ebp - 0x1ec], eax
mov eax, dword [ebp - 0x1a8]
mov dword [ebp - 0x1e8], eax
push 4
lea eax, [ecx + 0x14]
mov dword [ebp - 0x1f0], 0
push eax
lea eax, [ebp - 0x558]
mov dword [ebp - 0x1e4], 0
push eax
call fcn.10077bb0
mov ecx, dword [esi + 0x1c]
lea eax, [ebp - 0x558]
push eax
lea eax, [ebp - 0x568]
push eax
lea eax, [ebp - 0x1f0]
push eax
push 5
call fcn.10076680
push dword [ebp - 0x1a4]
lea ecx, [ebp - 0x588]
push dword [ebp - 0x1ac]
push 0
call fcn.10076000
mov eax, dword [ebp - 0x1ac]
mov ecx, dword [esi + 0x24]
mov dword [ebp - 0xb4], eax
mov eax, dword [ebp - 0x1a8]
mov dword [ebp - 0xb0], eax
push 4
lea eax, [ecx + 0x1c]
mov dword [ebp - 0xb8], 0
push eax
lea eax, [ebp - 0x578]
mov dword [ebp - 0xac], 0
push eax
call fcn.10077bb0
mov ecx, dword [esi + 0x1c]
lea eax, [ebp - 0x578]
push eax
lea eax, [ebp - 0x588]
push eax
lea eax, [ebp - 0xb8]
push eax
push 2
call fcn.10076680
push dword [ebp - 0x1a4]
lea ecx, [ebp - 0x598]
push dword [ebp - 0x1ac]
push 0
call fcn.10076000
mov ecx, dword [esi + 0x1c]
lea eax, [ebp - 0x598]
push eax
lea eax, [ebp - 0x1a0]
mov dword [ebp - 0x1a0], 3
push eax
push 0x2e
mov dword [ebp - 0x19c], 0
mov dword [ebp - 0x198], 0x10000
mov dword [ebp - 0x194], 0
call fcn.100765f0
mov dword [ebp - 0x44c], 0x10000
mov dword [ebp - 0x46c], 0x10004
mov dword [ebp - 0x358], 2
mov dword [ebp - 0x354], 0
push dword [ebp - 0xec]
mov eax, dword [ebp - 0x46c]
lea ecx, [ebp - 0x3d8]
push dword [ebp - 0xf4]
mov dword [ebp - 0x350], 0xe40000
push 0
mov dword [ebp - 0x34c], eax
call fcn.10076000
mov eax, dword [ebp - 0x3d8]
sub esp, 0x10
mov ecx, esp
mov edx, dword [ebp - 0xe8]
mov edi, dword [ebp - 0xe4]
sub esp, 0x10
mov dword [ecx], eax
mov eax, dword [ebp - 0x3d4]
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x3d0]
mov dword [ecx + 8], eax
mov eax, dword [ebp - 0x3cc]
mov dword [ecx + 0xc], eax
mov ecx, esp
mov eax, dword [ebp - 0x44c]
sub esp, 0x10
mov dword [ecx], 2
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0xe40000
mov dword [ecx + 0xc], eax
mov ecx, esp
mov eax, dword [ebp - 0x1cc]
sub esp, 0x10
mov dword [ecx], eax
mov eax, dword [ebp - 0x1c8]
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c4]
mov dword [ecx + 8], eax
mov eax, dword [ebp - 0x1c0]
mov dword [ecx + 0xc], eax
mov eax, esp
mov ecx, esi
mov dword [eax], 0
mov dword [eax + 4], edx
mov dword [eax + 8], edi
mov dword [eax + 0xc], 0
call fcn.1007b330
push dword [ebp - 0xec]
lea ecx, [ebp - 0x428]
push dword [ebp - 0xf4]
push 0
call fcn.10076000
mov ecx, dword [esi + 0x24]
push 0x40
lea eax, [ecx + 0x120]
push eax
lea eax, [ebp - 0x3f8]
push eax
call fcn.10077bb0
push dword [ebp - 0xe0]
lea ecx, [ebp - 0x3e8]
push dword [ebp - 0xe8]
push 0
call fcn.10076000
mov eax, dword [ebp - 0x428]
sub esp, 0x10
mov edx, dword [ebp - 0x148]
mov ecx, esp
mov edi, dword [ebp - 0x144]
sub esp, 0x10
mov dword [ecx], eax
mov eax, dword [ebp - 0x424]
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x420]
mov dword [ecx + 8], eax
mov eax, dword [ebp - 0x41c]
mov dword [ecx + 0xc], eax
mov ecx, esp
mov eax, dword [ebp - 0x3f8]
mov dword [ecx], eax
mov eax, dword [ebp - 0x3f4]
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x3f0]
mov dword [ecx + 8], eax
sub esp, 0x10
mov eax, dword [ebp - 0x3ec]
mov dword [ecx + 0xc], eax
mov ecx, esp
mov eax, dword [ebp - 0x3e8]
sub esp, 0x10
mov dword [ecx], eax
mov eax, dword [ebp - 0x3e4]
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x3e0]
mov dword [ecx + 8], eax
mov eax, dword [ebp - 0x3dc]
mov dword [ecx + 0xc], eax
mov eax, esp
mov ecx, esi
mov dword [eax], 0
mov dword [eax + 4], edx
mov dword [eax + 8], edi
mov dword [eax + 0xc], 0
call fcn.1007b330
push dword [ebp - 0xec]
lea ecx, [ebp - 0x408]
push dword [ebp - 0xf4]
push 0
call fcn.10076000
mov ecx, dword [esi + 0x24]
push 0x40
lea eax, [ecx + 0x1a0]
push eax
lea eax, [ebp - 0x2e8]
push eax
call fcn.10077bb0
push dword [ebp - 0x140]
lea ecx, [ebp - 0x318]
push dword [ebp - 0x148]
push 0
call fcn.10076000
mov eax, dword [ebp - 0x408]
sub esp, 0x10
mov ecx, esp
mov edx, dword [ebp - 0x110]
sub esp, 0x10
mov edi, dword [ebp - 0x10c]
mov dword [ecx], eax
mov eax, dword [ebp - 0x404]
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x400]
mov dword [ecx + 8], eax
mov eax, dword [ebp - 0x3fc]
mov dword [ecx + 0xc], eax
mov ecx, esp
mov eax, dword [ebp - 0x2e8]
sub esp, 0x10
mov dword [ecx], eax
mov eax, dword [ebp - 0x2e4]
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x2e0]
mov dword [ecx + 8], eax
mov eax, dword [ebp - 0x2dc]
mov dword [ecx + 0xc], eax
mov ecx, esp
mov eax, dword [ebp - 0x318]
sub esp, 0x10
mov dword [ecx], eax
mov eax, dword [ebp - 0x314]
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x310]
mov dword [ecx + 8], eax
mov eax, dword [ebp - 0x30c]
mov dword [ecx + 0xc], eax
mov eax, esp
mov ecx, esi
mov dword [eax], 0
mov dword [eax + 4], edx
mov dword [eax + 8], edi
mov dword [eax + 0xc], 0
call fcn.1007b330
push dword [ebp - 0xa0]
push dword [ebp - 0xa8]
push 0
cmp ebx, dword [ebp - 0x9c]
jne 0x1007d939
lea ecx, [ebp - 0x5a8]
call fcn.10076000
push dword [ebp - 0x108]
lea ecx, [ebp - 0x488]
push dword [ebp - 0x110]
push 0
call fcn.10076000
lea eax, [ebp - 0x5a8]
mov dword [ebp - 0x3c8], 4
push eax
lea eax, [ebp - 0x264]
mov dword [ebp - 0x3c4], 0
push eax
lea eax, [ebp - 0x488]
mov dword [ebp - 0x3c0], 0xf0000
push eax
mov dword [ebp - 0x3bc], 0
lea eax, [ebp - 0x3c8]
jmp 0x1007d9a4
lea ecx, [ebp - 0x498]
call fcn.10076000
push dword [ebp - 0x108]
lea ecx, [ebp - 0x4a8]
push dword [ebp - 0x110]
push 0
call fcn.10076000
mov eax, dword [ebp - 0xa8]
mov dword [ebp - 0x324], eax
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0x320], eax
lea eax, [ebp - 0x498]
push eax
lea eax, [ebp - 0x264]
mov dword [ebp - 0x328], 0
push eax
lea eax, [ebp - 0x4a8]
mov dword [ebp - 0x31c], 0
push eax
lea eax, [ebp - 0x328]
mov ecx, dword [esi + 0x1c]
push eax
push 4
call fcn.10076710
mov eax, dword [esi + 0x18]
test al, 1
je 0x1007da3f
push dword [ebp - 0x120]
lea ecx, [ebp - 0x4b8]
push dword [ebp - 0x128]
push 0
call fcn.10076000
push dword [ebp - 0x140]
lea ecx, [ebp - 0x4c8]
push dword [ebp - 0x148]
push 0
call fcn.10076000
mov eax, dword [ebp - 0x128]
mov ecx, dword [esi + 0x1c]
mov dword [ebp - 0x334], eax
lea eax, [ebp - 0x4b8]
push eax
lea eax, [ebp - 0x264]
mov dword [ebp - 0x338], 0
push eax
lea eax, [ebp - 0x4c8]
mov dword [ebp - 0x330], 0x70000
push eax
lea eax, [ebp - 0x338]
mov dword [ebp - 0x32c], 0
push eax
push 4
call fcn.10076710
mov eax, dword [esi + 0x18]
test al, 2
je 0x1007dfd4
cmp dword [ebp - 0x1e0], 0
je 0x1007dfd4
mov ecx, dword [esi + 0x24]
push 0x40
lea eax, [ecx + 0x160]
push eax
lea eax, [ebp - 0x4d8]
push eax
call fcn.10077bb0
mov eax, dword [ebp - 0xf4]
mov ecx, dword [esi + 0x1c]
mov dword [ebp - 0x344], eax
lea eax, [ebp - 0x4d8]
push eax
lea eax, [ebp - 0x2c8]
mov dword [ebp - 0x348], 0
push eax
lea eax, [ebp - 0x348]
mov dword [ebp - 0x340], 0x70000
push eax
push 0x17
mov dword [ebp - 0x33c], 0
call fcn.10076680
push dword [ebp - 0xec]
lea ecx, [ebp - 0x4e8]
push dword [ebp - 0xf4]
push 0
call fcn.10076000
mov eax, dword [ebp - 0x154]
mov ecx, dword [esi + 0x1c]
mov dword [ebp - 0x364], eax
lea eax, [ebp - 0x358]
push eax
lea eax, [ebp - 0x4e8]
mov dword [ebp - 0x368], 0
push eax
lea eax, [ebp - 0x368]
mov dword [ebp - 0x360], 0x70000
push eax
push 0x17
mov dword [ebp - 0x35c], 0
call fcn.10076680
push dword [ebp - 0x114]
lea ecx, [ebp - 0x4f8]
push dword [ebp - 0x11c]
push 0
call fcn.10076000
push dword [ebp - 0x14c]
lea ecx, [ebp - 0x508]
push dword [ebp - 0x154]
push 0
call fcn.10076000
mov eax, dword [ebp - 0x11c]
mov dword [ebp - 0x374], eax
lea eax, [ebp - 0x4f8]
push eax
lea eax, [ebp - 0x264]
mov dword [ebp - 0x378], 0
push eax
lea eax, [ebp - 0x508]
mov dword [ebp - 0x370], 0x70000
push eax
mov dword [ebp - 0x36c], 0
lea eax, [ebp - 0x378]
jmp 0x1007dfc9
mov ecx, dword [esi + 0x24]
push ebx
call fcn.100778d0
mov ecx, dword [esi + 0x24]
mov word [ebp - 0x214], ax
xor eax, eax
push ebx
mov word [ebp - 0x212], ax
call fcn.10077900
mov ecx, dword [esi + 0x24]
mov word [ebp - 0x45c], ax
xor eax, eax
mov word [ebp - 0x45a], ax
mov dword [ebp - 0x24c], eax
mov eax, dword [ebp - 0x45c]
push ebx
mov dword [ebp - 0x250], 2
mov dword [ebp - 0x248], 0xe40000
mov dword [ebp - 0x244], eax
call fcn.100778a0
push dword [ebp - 0xec]
mov word [ebp - 0x27c], ax
lea ecx, [ebp - 0x388]
push dword [ebp - 0xf4]
xor eax, eax
push eax
mov word [ebp - 0x27a], ax
call fcn.10076000
mov eax, dword [ebp - 0x388]
sub esp, 0x10
mov ecx, esp
mov edx, dword [ebp - 0x110]
mov edi, dword [ebp - 0x10c]
sub esp, 0x10
mov dword [ecx], eax
mov eax, dword [ebp - 0x384]
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x380]
mov dword [ecx + 8], eax
mov eax, dword [ebp - 0x37c]
mov dword [ecx + 0xc], eax
mov ecx, esp
mov eax, dword [ebp - 0x27c]
sub esp, 0x10
mov dword [ecx], 2
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0xe40000
mov dword [ecx + 0xc], eax
mov ecx, esp
mov eax, dword [ebp - 0x1cc]
sub esp, 0x10
mov dword [ecx], eax
mov eax, dword [ebp - 0x1c8]
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c4]
mov dword [ecx + 8], eax
mov eax, dword [ebp - 0x1c0]
mov dword [ecx + 0xc], eax
mov eax, esp
mov ecx, esi
mov dword [eax], 0
mov dword [eax + 4], edx
mov dword [eax + 8], edi
mov dword [eax + 0xc], 0
call fcn.1007b330
push dword [ebp - 0xa0]
push dword [ebp - 0xa8]
push 0
cmp ebx, dword [ebp - 0x9c]
jne 0x1007dd38
lea ecx, [ebp - 0x518]
call fcn.10076000
push dword [ebp - 0x108]
lea ecx, [ebp - 0x528]
push dword [ebp - 0x110]
push 0
call fcn.10076000
lea eax, [ebp - 0x518]
mov dword [ebp - 0x398], 4
push eax
lea eax, [ebp - 0x264]
mov dword [ebp - 0x394], 0
push eax
lea eax, [ebp - 0x528]
mov dword [ebp - 0x390], 0xf0000
push eax
mov dword [ebp - 0x38c], 0
lea eax, [ebp - 0x398]
jmp 0x1007dda3
lea ecx, [ebp - 0x418]
call fcn.10076000
push dword [ebp - 0x108]
lea ecx, [ebp - 0x438]
push dword [ebp - 0x110]
push 0
call fcn.10076000
mov eax, dword [ebp - 0xa8]
mov dword [ebp - 0x3b4], eax
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0x3b0], eax
lea eax, [ebp - 0x418]
push eax
lea eax, [ebp - 0x264]
mov dword [ebp - 0x3b8], 0
push eax
lea eax, [ebp - 0x438]
mov dword [ebp - 0x3ac], 0
push eax
lea eax, [ebp - 0x3b8]
mov ecx, dword [esi + 0x1c]
push eax
push 4
call fcn.10076710
mov eax, dword [esi + 0x18]
test al, 1
je 0x1007def4
push dword [ebp - 0xec]
lea ecx, [ebp - 0x3a8]
push dword [ebp - 0xf4]
push 0
call fcn.10076000
mov eax, dword [ebp - 0x3a8]
sub esp, 0x10
mov ecx, esp
mov edx, dword [ebp - 0x148]
mov edi, dword [ebp - 0x144]
sub esp, 0x10
mov dword [ecx], eax
mov eax, dword [ebp - 0x3a4]
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x3a0]
mov dword [ecx + 8], eax
mov eax, dword [ebp - 0x39c]
mov dword [ecx + 0xc], eax
mov ecx, esp
mov eax, dword [ebp - 0x214]
sub esp, 0x10
mov dword [ecx], 2
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0xe40000
mov dword [ecx + 0xc], eax
mov ecx, esp
mov eax, dword [ebp - 0x1cc]
sub esp, 0x10
mov dword [ecx], eax
mov eax, dword [ebp - 0x1c8]
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c4]
mov dword [ecx + 8], eax
mov eax, dword [ebp - 0x1c0]
mov dword [ecx + 0xc], eax
mov eax, esp
mov ecx, esi
mov dword [eax], 0
mov dword [eax + 4], edx
mov dword [eax + 8], edi
mov dword [eax + 0xc], 0
call 0x100b8dde
push dword [ebp - 0x120]
lea ecx, [ebp - 0x308]
push dword [ebp - 0x128]
push 0
call fcn.10076000
push dword [ebp - 0x140]
lea ecx, [ebp - 0x274]
push dword [ebp - 0x148]
push 0
call fcn.10076000
mov eax, dword [ebp - 0x128]
mov ecx, dword [esi + 0x1c]
mov dword [ebp - 0x2f4], eax
lea eax, [ebp - 0x308]
push eax
lea eax, [ebp - 0x264]
mov dword [ebp - 0x2f8], 0
push eax
lea eax, [ebp - 0x274]
mov dword [ebp - 0x2f0], 0x70000
push eax
lea eax, [ebp - 0x2f8]
mov dword [ebp - 0x2ec], 0
push eax
push 4
call fcn.10076710
mov eax, dword [esi + 0x18]
test al, 2
je 0x1007dfd4
cmp dword [ebp - 0x1e0], 0
je 0x1007dfd4
mov eax, dword [ebp - 0x154]
mov ecx, dword [esi + 0x1c]
mov dword [ebp - 0x1b8], eax
lea eax, [ebp - 0x250]
push eax
lea eax, [ebp - 0x2c8]
mov dword [ebp - 0x1bc], 0
push eax
lea eax, [ebp - 0x1bc]
mov dword [ebp - 0x1b4], 0x70000
push eax
push 0x17
mov dword [ebp - 0x1b0], 0
call fcn.10076680
push dword [ebp - 0x114]
lea ecx, [ebp - 0x164]
push dword [ebp - 0x11c]
push 0
call fcn.10076000
push dword [ebp - 0x14c]
lea ecx, [ebp - 0xc8]
push dword [ebp - 0x154]
push 0
call fcn.10076000
mov eax, dword [ebp - 0x11c]
mov dword [ebp - 0xd8], eax
lea eax, [ebp - 0x164]
push eax
lea eax, [ebp - 0x264]
mov dword [ebp - 0xdc], 0
push eax
lea eax, [ebp - 0xc8]
mov dword [ebp - 0xd4], 0x70000
push eax
mov dword [ebp - 0xd0], 0
lea eax, [ebp - 0xdc]
mov ecx, dword [esi + 0x1c]
push eax
push 4
call fcn.10076710
inc ebx
cmp ebx, dword [ebp - 0x9c]
jbe 0x1007d2c0
mov ebx, dword [ebp - 0x1e0]
jmp 0x1007e21a
test al, 1
je 0x1007e0cb
push dword [ebp - 0x120]
lea ecx, [ebp - 0xdc]
push dword [ebp - 0x128]
push 0
call fcn.10076000
mov ecx, dword [esi + 0x24]
push 0x40
lea eax, [ecx + 0xa0]
push eax
lea eax, [ebp - 0x1bc]
push eax
call fcn.10077bb0
mov eax, dword [ebp - 0xdc]
sub esp, 0x10
mov ecx, esp
mov edx, dword [ebp - 0x128]
sub esp, 0x10
mov edi, dword [ebp - 0x124]
mov dword [ecx], eax
mov eax, dword [ebp - 0xd8]
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0xd4]
mov dword [ecx + 8], eax
mov eax, dword [ebp - 0xd0]
mov dword [ecx + 0xc], eax
mov ecx, esp
mov eax, dword [ebp - 0x1bc]
sub esp, 0x10
mov dword [ecx], eax
mov eax, dword [ebp - 0x1b8]
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1b4]
mov dword [ecx + 8], eax
mov eax, dword [ebp - 0x1b0]
mov dword [ecx + 0xc], eax
mov ecx, esp
mov eax, dword [ebp - 0x1cc]
sub esp, 0x10
mov dword [ecx], eax
mov eax, dword [ebp - 0x1c8]
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c4]
mov dword [ecx + 8], eax
mov eax, dword [ebp - 0x1c0]
mov dword [ecx + 0xc], eax
mov eax, esp
mov ecx, esi
mov dword [eax], 0
mov dword [eax + 4], edx
mov dword [eax + 8], edi
mov dword [eax + 0xc], 0
call fcn.1007b330
mov eax, dword [esi + 0x18]
test al, 2
je 0x1007e136
test ebx, ebx
je 0x1007e136
mov eax, dword [ebp - 0x11c]
mov ecx, dword [esi + 0x24]
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0xd4], eax
push 0x40
lea eax, [ecx + 0xe0]
mov dword [ebp - 0xdc], 0
push eax
lea eax, [ebp - 0xc8]
mov dword [ebp - 0xd0], 0
push eax
call fcn.10077bb0
mov ecx, dword [esi + 0x1c]
lea eax, [ebp - 0xc8]
push eax
lea eax, [ebp - 0x2c8]
push eax
lea eax, [ebp - 0xdc]
push eax
push 0x17
call fcn.10076680
push 7
lea ecx, [ebp - 0xe8]
mov dword [ebp - 0xe8], 0xb
call fcn.100762f0
push dword [ebp - 0xe0]
lea ecx, [ebp - 0xdc]
push dword [ebp - 0xe8]
push 0
call fcn.10076000
mov ecx, dword [esi + 0x24]
push 0x40
lea eax, [ecx + 0x30]
push eax
lea eax, [ebp - 0x1bc]
push eax
call fcn.10077bb0
mov eax, dword [ebp - 0xdc]
sub esp, 0x10
mov ecx, esp
sub esp, 0x10
mov dword [ecx], eax
mov eax, dword [ebp - 0xd8]
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0xd4]
mov dword [ecx + 8], eax
mov eax, dword [ebp - 0xd0]
mov dword [ecx + 0xc], eax
mov ecx, esp
mov eax, dword [ebp - 0x1bc]
sub esp, 0x10
mov dword [ecx], eax
mov eax, dword [ebp - 0x1b8]
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1b4]
mov dword [ecx + 8], eax
mov eax, dword [ebp - 0x1b0]
mov dword [ecx + 0xc], eax
mov ecx, esp
mov eax, dword [ebp - 0x1cc]
sub esp, 0x10
mov dword [ecx], eax
mov eax, dword [ebp - 0x1c8]
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c4]
mov dword [ecx + 8], eax
mov eax, dword [ebp - 0x1c0]
mov dword [ecx + 0xc], eax
mov eax, esp
mov ecx, esi
mov dword [eax], 4
mov dword [eax + 4], 0
mov dword [eax + 8], 0xf0000
mov dword [eax + 0xc], 0
call fcn.1007b330
test byte [esi + 0x18], 2
je 0x1007e305
test ebx, ebx
je 0x1007e305
cmp dword [esi + 4], 0
jge 0x1007e305
push 7
lea ecx, [ebp - 0xe8]
mov dword [ebp - 0xe8], 0xb
call fcn.100762f0
push dword [ebp - 0x114]
lea ecx, [ebp - 0xc8]
push dword [ebp - 0x11c]
push 0
call fcn.10076000
mov eax, dword [ebp - 0xe8]
mov ecx, dword [esi + 0x1c]
mov dword [ebp - 0xd8], eax
lea eax, [ebp - 0xc8]
push eax
lea eax, [ebp - 0xdc]
mov dword [ebp - 0xdc], 0
push eax
push 0x24
mov dword [ebp - 0xd4], 0x70000
mov dword [ebp - 0xd0], 0
call fcn.100765f0
push dword [ebp - 0xe0]
lea ecx, [ebp - 0xc8]
push dword [ebp - 0xe8]
push 0
call fcn.10076000
mov eax, dword [ebp - 0x11c]
mov ecx, dword [esi + 0x1c]
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0xd4], eax
lea eax, [ebp - 0xc8]
push eax
lea eax, [ebp - 0xdc]
mov dword [ebp - 0xdc], 0
push eax
push 1
mov dword [ebp - 0xd0], 0
call fcn.100765f0
test dword [esi + 4], 0x1000000
je 0x1007ecbf
mov ecx, dword [esi + 0x24]
push 0x10
lea eax, [ecx + 0x660]
push eax
lea eax, [ebp - 0x1a0]
push eax
call fcn.10077bb0
mov ecx, dword [esi + 0x24]
push 0x10
lea eax, [ecx + 0x670]
push eax
lea eax, [ebp - 0x184]
push eax
call fcn.10077bb0
mov ecx, dword [esi + 0x24]
push 0x10
lea eax, [ecx + 0x640]
push eax
lea eax, [ebp - 0xb8]
push eax
call fcn.10077bb0
mov ecx, dword [esi + 0x24]
push 0x10
lea eax, [ecx + 0x650]
push eax
lea eax, [ebp - 0x138]
push eax
call fcn.10077bb0
mov eax, dword [esi + 4]
test eax, 0x40000000
je 0x1007e540
mov ecx, dword [esi + 8]
test al, 0x10
je 0x1007e462
mov edx, dword [ebp - 0x204]
mov eax, ecx
mov edi, dword [ebp - 0x208]
and eax, 0xc00
cmp eax, 0x400
jne 0x1007e3c9
mov eax, dword [ebp - 0x210]
mov dword [ebp - 0x1a0], eax
mov eax, dword [ebp - 0x20c]
mov dword [ebp - 0x19c], eax
mov dword [ebp - 0x198], edi
mov dword [ebp - 0x194], edx
mov eax, ecx
and eax, 0x3000
cmp eax, 0x1000
jne 0x1007e3fb
mov eax, dword [ebp - 0x210]
mov dword [ebp - 0x184], eax
mov eax, dword [ebp - 0x20c]
mov dword [ebp - 0x180], eax
mov dword [ebp - 0x17c], edi
mov dword [ebp - 0x178], edx
mov eax, ecx
and eax, 0xc000
cmp eax, 0x4000
jne 0x1007e42d
mov eax, dword [ebp - 0x210]
mov dword [ebp - 0xb8], eax
mov eax, dword [ebp - 0x20c]
mov dword [ebp - 0xb4], eax
mov dword [ebp - 0xb0], edi
mov dword [ebp - 0xac], edx
mov eax, ecx
and eax, 0x30000
cmp eax, 0x10000
jne 0x1007e45f
mov eax, dword [ebp - 0x210]
mov dword [ebp - 0x138], eax
mov eax, dword [ebp - 0x20c]
mov dword [ebp - 0x134], eax
mov dword [ebp - 0x130], edi
mov dword [ebp - 0x12c], edx
mov eax, dword [esi + 4]
test al, 0x20
je 0x1007e540
mov edx, dword [ebp - 0x1d0]
mov eax, ecx
mov edi, dword [ebp - 0x1d4]
and eax, 0xc00
cmp eax, 0x800
jne 0x1007e4a8
mov eax, dword [ebp - 0x1dc]
mov dword [ebp - 0x1a0], eax
mov eax, dword [ebp - 0x1d8]
mov dword [ebp - 0x19c], eax
mov dword [ebp - 0x198], edi
mov dword [ebp - 0x194], edx
mov eax, ecx
and eax, 0x3000
cmp eax, 0x2000
jne 0x1007e4da
mov eax, dword [ebp - 0x1dc]
mov dword [ebp - 0x184], eax
mov eax, dword [ebp - 0x1d8]
mov dword [ebp - 0x180], eax
mov dword [ebp - 0x17c], edi
mov dword [ebp - 0x178], edx
mov eax, ecx
and eax, 0xc000
cmp eax, 0x8000
jne 0x1007e50e
mov eax, dword [ebp - 0x1dc]
mov dword [ebp - 0xb8], eax
mov eax, dword [ebp - 0x1d8]
mov dword [ebp - 0xb4], eax
mov dword [ebp - 0xb0], edi
mov dword [ebp - 0xac], edx
jmp 0x1007e514
mov eax, dword [ebp - 0x1d8]
and ecx, 0x30000
cmp ecx, 0x20000
jne 0x1007e540
mov ecx, dword [ebp - 0x1dc]
mov dword [ebp - 0x138], ecx
mov dword [ebp - 0x134], eax
mov dword [ebp - 0x130], edi
mov dword [ebp - 0x12c], edx
push 7
lea ecx, [ebp - 0xe8]
mov dword [ebp - 0xe8], 0xa
call fcn.100762f0
push dword [ebp - 0xe0]
lea ecx, [ebp - 0xdc]
push dword [ebp - 0xe8]
push 0
call fcn.10076000
mov eax, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xdc]
mov dword [ebp - 0x1fc], eax
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 0x1f8], eax
mov eax, dword [ebp - 0xd0]
mov dword [ebp - 0x200], ecx
mov dword [ebp - 0x1f4], eax
mov dword [ebp - 0x98], ecx
mov ecx, dword [ebp - 0x138]
movzx eax, ax
mov dword [ebp - 0x94], eax
mov dword [ebp - 0x90], 0x70000
mov dword [ebp - 0x8c], 0
cmp ecx, 2
je 0x1007e61f
mov eax, dword [ebp - 0xb8]
cmp eax, 2
je 0x1007e61f
cmp eax, 1
jne 0x1007e5e2
cmp ecx, eax
je 0x1007e61f
mov ecx, dword [esi + 0x24]
push 0x10
lea eax, [ecx + 0x70]
push eax
lea eax, [ebp - 0xc8]
push eax
call fcn.10077bb0
mov ecx, dword [esi + 0x1c]
lea eax, [ebp - 0x138]
push eax
lea eax, [ebp - 0xc8]
push eax
lea eax, [ebp - 0xb8]
push eax
lea eax, [ebp - 0x98]
push eax
push 4
call fcn.10076710
jmp 0x1007e68a
mov ecx, dword [esi + 0x1c]
lea eax, [ebp - 0xb8]
push eax
lea eax, [ebp - 0x98]
push eax
push 1
call fcn.100765f0
mov ecx, dword [esi + 0x24]
push 0x10
lea eax, [ecx + 0x70]
push eax
lea eax, [ebp - 0xc8]
push eax
call fcn.10077bb0
mov ecx, dword [esi + 0x1c]
lea eax, [ebp - 0xc8]
push eax
lea eax, [ebp - 0x200]
push eax
lea eax, [ebp - 0x98]
push eax
push 5
call fcn.10076680
mov ecx, dword [esi + 0x1c]
lea eax, [ebp - 0x138]
push eax
lea eax, [ebp - 0x200]
push eax
lea eax, [ebp - 0x98]
push eax
push 2
call fcn.10076680
test dword [esi + 4], 0x20000000
je 0x1007e754
test dword [ebp - 0x234], 0x80000
je 0x1007e754
push 7
lea ecx, [ebp - 0xe8]
mov dword [ebp - 0xe8], 0xb
call fcn.100762f0
push dword [ebp - 0xe0]
lea ecx, [ebp - 0xdc]
push dword [ebp - 0xe8]
push 0
call fcn.10076000
mov eax, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xdc]
mov dword [ebp - 0x22c], eax
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 0x228], eax
mov eax, dword [ebp - 0xd0]
mov dword [ebp - 0x224], eax
movzx eax, ax
push 4
mov dword [ebp - 0x230], ecx
mov dword [ebp - 0x1bc], ecx
mov ecx, dword [esi + 0x24]
mov dword [ebp - 0x1b8], eax
lea eax, [ebp - 0xc8]
push ecx
push eax
mov dword [ebp - 0x1b4], 0x70000
mov dword [ebp - 0x1b0], 0
call fcn.10077bb0
mov ecx, dword [esi + 0x1c]
lea eax, [ebp - 0xc8]
push eax
lea eax, [ebp - 0x1bc]
push eax
push 1
call fcn.100765f0
mov edx, dword [esi + 8]
mov eax, dword [esi + 0x24]
shr edx, 3
and edx, 0xffffff01
mov cl, dl
mov dword [ebp - 0x9c], edx
xor cl, 1
mov byte [eax + 0xfa94], cl
test byte [esi + 8], 1
je 0x1007e8f9
test dl, dl
jne 0x1007e7b3
mov ecx, dword [esi + 0x1c]
xor eax, eax
mov dword [ebp - 0x168], eax
mov dword [ebp - 0x170], eax
lea eax, [ebp - 0x174]
push eax
mov dword [ebp - 0x174], 7
mov dword [ebp - 0x16c], 0xe40000
call fcn.10076820
push dword [ebp - 0x114]
lea ecx, [ebp - 0xdc]
push dword [ebp - 0x11c]
push 0
call fcn.10076000
push dword [ebp - 0x120]
lea ecx, [ebp - 0x250]
push dword [ebp - 0x128]
push 0
call fcn.10076000
mov eax, dword [ebp - 0x230]
sub esp, 0x10
mov ecx, esp
sub esp, 0x10
mov dword [ecx], eax
mov eax, dword [ebp - 0x22c]
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x228]
mov dword [ecx + 8], eax
mov eax, dword [ebp - 0x224]
mov dword [ecx + 0xc], eax
mov ecx, esp
mov eax, dword [ebp - 0x200]
sub esp, 0x10
mov dword [ecx], eax
mov eax, dword [ebp - 0x1fc]
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1f8]
mov dword [ecx + 8], eax
mov eax, dword [ebp - 0x1f4]
mov dword [ecx + 0xc], eax
mov ecx, esp
mov eax, dword [ebp - 0xb8]
sub esp, 0x10
mov dword [ecx], eax
mov eax, dword [ebp - 0xb4]
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0xb0]
mov dword [ecx + 8], eax
mov eax, dword [ebp - 0xac]
mov dword [ecx + 0xc], eax
mov ecx, esp
mov eax, dword [ebp - 0x1a0]
sub esp, 0x10
mov dword [ecx], eax
mov eax, dword [ebp - 0x19c]
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x198]
mov dword [ecx + 8], eax
mov eax, dword [ebp - 0x194]
mov dword [ecx + 0xc], eax
mov ecx, esp
mov eax, dword [ebp - 0xdc]
sub esp, 0x10
mov dword [ecx], eax
mov eax, dword [ebp - 0xd8]
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0xd4]
mov dword [ecx + 8], eax
mov eax, dword [ebp - 0xd0]
mov dword [ecx + 0xc], eax
mov ecx, esp
mov eax, dword [ebp - 0x250]
push ebx
push 3
mov dword [ecx], eax
mov eax, dword [ebp - 0x24c]
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x248]
mov dword [ecx + 8], eax
mov eax, dword [ebp - 0x244]
mov dword [ecx + 0xc], eax
mov ecx, esi
call fcn.1007b470
mov edx, dword [ebp - 0x9c]
test dl, dl
jne 0x1007e8f9
mov ecx, dword [esi + 0x1c]
push 0x1d
call fcn.100765b0
mov edx, dword [ebp - 0x9c]
test byte [esi + 8], 2
je 0x1007ea7d
test dl, dl
jne 0x1007e93e
mov ecx, dword [esi + 0x1c]
lea eax, [ebp - 0x174]
push eax
mov dword [ebp - 0x174], 7
mov dword [ebp - 0x168], 1
mov dword [ebp - 0x16c], 0xe40000
mov dword [ebp - 0x170], 0
call fcn.10076820
push dword [ebp - 0x114]
lea ecx, [ebp - 0xdc]
push dword [ebp - 0x11c]
push 0
call fcn.10076000
push dword [ebp - 0x120]
lea ecx, [ebp - 0x250]
push dword [ebp - 0x128]
push 0
call fcn.10076000
mov eax, dword [ebp - 0x230]
sub esp, 0x10
mov ecx, esp
sub esp, 0x10
mov dword [ecx], eax
mov eax, dword [ebp - 0x22c]
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x228]
mov dword [ecx + 8], eax
mov eax, dword [ebp - 0x224]
mov dword [ecx + 0xc], eax
mov ecx, esp
mov eax, dword [ebp - 0x200]
sub esp, 0x10
mov dword [ecx], eax
mov eax, dword [ebp - 0x1fc]
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1f8]
mov dword [ecx + 8], eax
mov eax, dword [ebp - 0x1f4]
mov dword [ecx + 0xc], eax
mov ecx, esp
mov eax, dword [ebp - 0xb8]
sub esp, 0x10
mov dword [ecx], eax
mov eax, dword [ebp - 0xb4]
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0xb0]
mov dword [ecx + 8], eax
mov eax, dword [ebp - 0xac]
mov dword [ecx + 0xc], eax
mov ecx, esp
mov eax, dword [ebp - 0x1a0]
sub esp, 0x10
mov dword [ecx], eax
mov eax, dword [ebp - 0x19c]
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x198]
mov dword [ecx + 8], eax
mov eax, dword [ebp - 0x194]
mov dword [ecx + 0xc], eax
mov ecx, esp
mov eax, dword [ebp - 0xdc]
sub esp, 0x10
mov dword [ecx], eax
mov eax, dword [ebp - 0xd8]
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0xd4]
mov dword [ecx + 8], eax
mov eax, dword [ebp - 0xd0]
mov dword [ecx + 0xc], eax
mov ecx, esp
mov eax, dword [ebp - 0x250]
push ebx
push 1
mov dword [ecx], eax
mov eax, dword [ebp - 0x24c]
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x248]
mov dword [ecx + 8], eax
mov eax, dword [ebp - 0x244]
mov dword [ecx + 0xc], eax
mov ecx, esi
call fcn.1007b470
cmp byte [ebp - 0x9c], 0
jne 0x1007ea7d
mov ecx, dword [esi + 0x1c]
push 0x1d
call fcn.100765b0
mov ecx, esi
call fcn.10076470
test byte [eax + 8], 4
je 0x1007ebd0
cmp byte [ebp - 0x9c], 0
jne 0x1007eaaf
mov ecx, dword [esi + 0x24]
lea eax, [ebp - 0x104]
push eax
call fcn.100773f0
mov ecx, dword [esi + 0x1c]
push eax
call fcn.10076820
lea eax, [ebp - 0x104]
push eax
lea ecx, [ebp - 0x11c]
call fcn.10076410
mov edi, eax
lea ecx, [ebp - 0x128]
lea eax, [ebp - 0x298]
push eax
call fcn.10076410
mov ecx, dword [ebp - 0x230]
sub esp, 0x10
mov edx, esp
mov ebx, eax
mov eax, dword [ebp - 0x200]
sub esp, 0x10
mov dword [edx], ecx
mov ecx, dword [ebp - 0x22c]
mov dword [edx + 4], ecx
mov ecx, dword [ebp - 0x228]
mov dword [edx + 8], ecx
mov ecx, dword [ebp - 0x224]
mov dword [edx + 0xc], ecx
mov ecx, esp
sub esp, 0x10
mov dword [ecx], eax
mov eax, dword [ebp - 0x1fc]
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1f8]
mov dword [ecx + 8], eax
mov eax, dword [ebp - 0x1f4]
mov dword [ecx + 0xc], eax
mov ecx, esp
mov eax, dword [ebp - 0xb8]
sub esp, 0x10
mov dword [ecx], eax
mov eax, dword [ebp - 0xb4]
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0xb0]
mov dword [ecx + 8], eax
mov eax, dword [ebp - 0xac]
mov dword [ecx + 0xc], eax
mov ecx, esp
mov eax, dword [ebp - 0x1a0]
sub esp, 0x10
mov dword [ecx], eax
mov eax, dword [ebp - 0x19c]
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x198]
mov dword [ecx + 8], eax
mov eax, dword [ebp - 0x194]
mov dword [ecx + 0xc], eax
mov ecx, esp
mov eax, dword [edi]
sub esp, 0x10
mov dword [ecx], eax
mov eax, dword [edi + 4]
mov dword [ecx + 4], eax
mov eax, dword [edi + 8]
mov dword [ecx + 8], eax
mov eax, dword [edi + 0xc]
mov dword [ecx + 0xc], eax
mov ecx, esp
mov eax, dword [ebx]
mov dword [ecx], eax
mov eax, dword [ebx + 4]
mov dword [ecx + 4], eax
mov eax, dword [ebx + 8]
mov dword [ecx + 8], eax
mov eax, dword [ebx + 0xc]
mov ebx, dword [ebp - 0x1e0]
push ebx
mov dword [ecx + 0xc], eax
mov ecx, esi
push 2
call fcn.1007b470
cmp byte [ebp - 0x9c], 0
jne 0x1007ebd0
mov ecx, dword [esi + 0x1c]
push 0x1d
call fcn.100765b0
cmp dword [ebp - 0x13c], 0
je 0x1007ec3b
lea eax, [ebp - 0x200]
push eax
lea eax, [ebp - 0x104]
push eax
lea ecx, [ebp - 0x298]
call fcn.10076b40
mov ecx, eax
call fcn.10075fa0
mov ecx, dword [esi + 0x1c]
push eax
push 1
call fcn.100765f0
lea eax, [ebp - 0x104]
push eax
lea ecx, [ebp - 0x1a0]
call fcn.10076140
push eax
lea eax, [ebp - 0x298]
push eax
lea ecx, [ebp - 0x448]
call fcn.10076b40
mov ecx, eax
call fcn.10075f40
mov ecx, dword [esi + 0x1c]
push eax
push 1
call fcn.100765f0
test dword [ebp - 0x234], 0x80000
je 0x1007ed0e
mov ecx, esi
call fcn.10076470
test dword [eax + 4], 0x20000000
je 0x1007ecf1
lea eax, [ebp - 0x184]
push eax
lea eax, [ebp - 0x230]
push eax
lea eax, [ebp - 0x104]
push eax
lea ecx, [ebp - 0x298]
call fcn.10076b60
mov ecx, eax
call fcn.10075fa0
mov ecx, dword [esi + 0x1c]
push eax
push 5
call fcn.10076680
lea eax, [ebp - 0x104]
push eax
lea ecx, [ebp - 0x184]
call fcn.10076140
push eax
lea eax, [ebp - 0x298]
push eax
lea ecx, [ebp - 0x448]
call fcn.10076b60
mov ecx, eax
call fcn.10075f40
jmp 0x1007ed03
cmp dword [ebp - 0x13c], 0
je 0x1007ece5
lea eax, [ebp - 0x210]
push eax
lea ecx, [ebp - 0x104]
call fcn.10076b40
mov ecx, dword [esi + 0x1c]
push eax
push 1
call fcn.100765f0
test dword [ebp - 0x234], 0x80000
je 0x1007ed0e
lea eax, [ebp - 0x1dc]
push eax
lea ecx, [ebp - 0x104]
call fcn.10076b60
mov ecx, dword [esi + 0x1c]
push eax
push 1
call fcn.100765f0
mov ecx, esi
call fcn.10076470
test dword [eax + 4], 0x8000000
je 0x1007f0d9
mov ecx, esi
call fcn.10076470
mov edi, dword [ebp - 0xcc]
test dword [eax + 4], 0x200000
je 0x1007f0df
push 7
or edi, 0x2000
lea ecx, [ebp - 0xe8]
push 0xa
mov dword [ebp - 0xcc], edi
call fcn.10076210
mov ecx, esi
call fcn.10076450
mov dword [ebp - 0x13c], eax
test eax, eax
je 0x1007f0bf
push 0
push 0xb
lea ecx, [ebp - 0xa8]
call fcn.10076210
mov ecx, esi
call fcn.10076470
test dword [eax + 4], 0x10000000
lea eax, [ebp - 0xc8]
push eax
je 0x1007ee56
lea ecx, [ebp - 0x128]
call fcn.10076410
lea eax, [ebp - 0x164]
push eax
lea ecx, [ebp - 0x128]
call fcn.10076410
lea eax, [ebp - 0x274]
push eax
lea ecx, [ebp - 0xa8]
call fcn.100763e0
mov ecx, dword [esi + 0x1c]
lea eax, [ebp - 0xc8]
push eax
lea eax, [ebp - 0x164]
push eax
lea eax, [ebp - 0x274]
push eax
push 8
call fcn.10076680
lea eax, [ebp - 0xc8]
push eax
lea ecx, [ebp - 0xa8]
call fcn.10076410
lea eax, [ebp - 0x164]
push eax
lea ecx, [ebp - 0xa8]
call fcn.100763e0
mov ecx, dword [esi + 0x1c]
lea eax, [ebp - 0xc8]
push eax
lea eax, [ebp - 0x164]
push eax
push 7
call fcn.100765f0
lea eax, [ebp - 0xc8]
push eax
lea ecx, [ebp - 0xa8]
call fcn.10076410
lea eax, [ebp - 0x164]
push eax
lea ecx, [ebp - 0xa8]
call fcn.100763e0
lea eax, [ebp - 0xc8]
push eax
lea eax, [ebp - 0x164]
push eax
push 6
jmp 0x1007ee8b
lea ecx, [ebp - 0xa8]
call fcn.100763e0
lea eax, [ebp - 0x104]
push eax
lea eax, [ebp - 0x298]
push eax
lea ecx, [ebp - 0x128]
call fcn.10076410
mov ecx, eax
call fcn.10076110
push eax
lea eax, [ebp - 0xc8]
push eax
push 0x23
mov ecx, dword [esi + 0x1c]
call fcn.100765f0
mov eax, dword [ebp - 0x13c]
sub eax, 1
je 0x1007efdc
sub eax, 1
je 0x1007ef44
sub eax, 1
jne 0x1007f0df
lea eax, [ebp - 0xc8]
push eax
lea ecx, [ebp - 0xa8]
call fcn.10076410
lea eax, [ebp - 0x164]
push eax
lea ecx, [ebp - 0xa8]
call fcn.100763e0
mov ecx, dword [esi + 0x24]
lea eax, [ebp - 0x104]
push eax
call fcn.10077580
mov ecx, dword [esi + 0x1c]
push eax
lea eax, [ebp - 0xc8]
push eax
lea eax, [ebp - 0x164]
push eax
push 5
call fcn.10076680
lea eax, [ebp - 0xc8]
push eax
lea ecx, [ebp - 0xa8]
call fcn.10076410
mov ecx, dword [esi + 0x24]
lea eax, [ebp - 0x104]
push eax
call fcn.100775c0
push eax
lea eax, [ebp - 0xc8]
push eax
lea ecx, [ebp - 0x298]
call fcn.10076b00
mov ecx, dword [esi + 0x1c]
push eax
push 2
call fcn.10076680
jmp 0x1007f0df
lea eax, [ebp - 0xc8]
push eax
lea ecx, [ebp - 0xa8]
call fcn.10076410
lea eax, [ebp - 0x164]
push eax
lea ecx, [ebp - 0xa8]
call fcn.100763e0
mov ecx, dword [esi + 0x24]
lea eax, [ebp - 0x104]
push eax
call fcn.10077600
mov ecx, dword [esi + 0x1c]
push eax
lea eax, [ebp - 0xc8]
push eax
lea eax, [ebp - 0x164]
push eax
push 5
call fcn.10076680
lea eax, [ebp - 0xc8]
push eax
lea ecx, [ebp - 0xa8]
call fcn.10076410
lea eax, [ebp - 0x164]
push eax
lea ecx, [ebp - 0xa8]
call fcn.10076410
lea eax, [ebp - 0x274]
push eax
lea ecx, [ebp - 0xa8]
call fcn.100763e0
lea eax, [ebp - 0xc8]
push eax
lea eax, [ebp - 0x164]
push eax
lea eax, [ebp - 0x274]
jmp 0x1007f01d
lea eax, [ebp - 0xc8]
push eax
lea ecx, [ebp - 0xa8]
call fcn.10076410
lea eax, [ebp - 0x164]
push eax
lea ecx, [ebp - 0xa8]
call fcn.100763e0
mov ecx, dword [esi + 0x24]
lea eax, [ebp - 0x104]
push eax
call fcn.10077600
push eax
lea eax, [ebp - 0xc8]
push eax
lea eax, [ebp - 0x164]
mov ecx, dword [esi + 0x1c]
push eax
push 5
call fcn.10076680
lea eax, [ebp - 0xc8]
push eax
lea ecx, [ebp - 0xe8]
call fcn.100763e0
lea eax, [ebp - 0x104]
push eax
lea eax, [ebp - 0x298]
push eax
lea ecx, [ebp - 0xa8]
call fcn.10076410
mov ecx, eax
call fcn.10076170
push eax
push ecx
mov ecx, dword [esi + 0x24]
lea eax, [ebp - 0x448]
push eax
call fcn.10077540
mov ecx, dword [esi + 0x1c]
add esp, 4
push eax
lea eax, [ebp - 0xc8]
push eax
push 0x20
call fcn.10076680
lea eax, [ebp - 0xc8]
push eax
lea eax, [ebp - 0x2e4]
push eax
lea ecx, [ebp - 0xe8]
call fcn.100763c0
mov ecx, eax
call fcn.10076410
lea eax, [ebp - 0xc8]
lea ecx, [ebp - 0x104]
push eax
call fcn.10076b00
mov ecx, dword [esi + 0x1c]
push eax
push 1
call fcn.100765f0
jmp 0x1007f0df
lea eax, [ebp - 0x104]
push eax
lea ecx, [ebp - 0x1dc]
call fcn.10076140
lea ecx, [ebp - 0x298]
jmp 0x1007f0ac
mov edi, dword [ebp - 0xcc]
mov ecx, esi
call fcn.10076470
test byte [eax + 8], 0x20
je 0x1007f5ef
mov ecx, esi
call fcn.10076470
test dword [eax + 4], 0x100000
je 0x1007f5ef
or edi, 0x20
mov ecx, esi
mov dword [ebp - 0xcc], edi
call fcn.10076470
test byte [eax + 8], 0x10
je 0x1007f5d2
push 0
push 0xb
lea ecx, [ebp - 0x154]
call fcn.10076210
lea eax, [ebp - 0xc8]
push eax
lea ecx, [ebp - 0x128]
call fcn.10076410
lea eax, [ebp - 0x164]
push eax
lea ecx, [ebp - 0x128]
call fcn.10076410
lea eax, [ebp - 0x274]
push eax
lea ecx, [ebp - 0x154]
call fcn.100763e0
mov ecx, dword [esi + 0x1c]
lea eax, [ebp - 0xc8]
push eax
lea eax, [ebp - 0x164]
push eax
lea eax, [ebp - 0x274]
push eax
push 8
call fcn.10076680
lea eax, [ebp - 0xc8]
push eax
lea ecx, [ebp - 0x154]
call fcn.10076410
lea eax, [ebp - 0x164]
push eax
lea ecx, [ebp - 0x154]
call fcn.100763e0
mov ecx, dword [esi + 0x1c]
lea eax, [ebp - 0xc8]
push eax
lea eax, [ebp - 0x164]
push eax
push 7
call fcn.100765f0
lea eax, [ebp - 0xc8]
push eax
lea ecx, [ebp - 0x154]
call fcn.10076410
lea eax, [ebp - 0x164]
push eax
lea ecx, [ebp - 0x154]
call fcn.100763e0
mov ecx, dword [esi + 0x1c]
lea eax, [ebp - 0xc8]
push eax
lea eax, [ebp - 0x164]
push eax
push 6
call fcn.100765f0
push 0
push 0xa
lea ecx, [ebp - 0xa8]
call fcn.10076210
lea eax, [ebp - 0xc8]
push eax
lea ecx, [ebp - 0xa8]
call fcn.100763e0
mov ecx, dword [esi + 0x24]
lea eax, [ebp - 0x104]
push eax
call fcn.100776c0
mov ecx, dword [esi + 0x1c]
push eax
lea eax, [ebp - 0xc8]
push eax
push 1
call fcn.100765f0
lea eax, [ebp - 0xc8]
push eax
lea ecx, [ebp - 0xa8]
call fcn.10076410
lea eax, [ebp - 0x164]
push eax
lea ecx, [ebp - 0x154]
call fcn.10076410
lea eax, [ebp - 0x274]
push eax
lea ecx, [ebp - 0xa8]
call fcn.100763e0
mov ecx, dword [esi + 0x24]
lea eax, [ebp - 0xc8]
push eax
lea eax, [ebp - 0x164]
push eax
lea eax, [ebp - 0x104]
push eax
call fcn.10077700
mov ecx, dword [esi + 0x1c]
push eax
lea eax, [ebp - 0x274]
push eax
push 4
call fcn.10076710
lea eax, [ebp - 0xc8]
push eax
lea ecx, [ebp - 0x154]
call fcn.10076410
lea eax, [ebp - 0x164]
push eax
lea ecx, [ebp - 0xa8]
call fcn.10076410
lea eax, [ebp - 0x274]
push eax
lea ecx, [ebp - 0xa8]
call fcn.100763e0
mov ecx, dword [esi + 0x24]
lea eax, [ebp - 0x104]
push eax
call fcn.10077680
mov ecx, dword [esi + 0x1c]
push eax
lea eax, [ebp - 0xc8]
push eax
lea eax, [ebp - 0x164]
push eax
lea eax, [ebp - 0x274]
push eax
push 4
call fcn.10076710
cmp byte [esi + 0x5131], 0
je 0x1007f443
lea eax, [ebp - 0xc8]
push eax
lea ecx, [ebp - 0xa8]
call fcn.10076410
mov ecx, dword [esi + 0x24]
lea eax, [ebp - 0x104]
push eax
call fcn.100774c0
mov ecx, dword [esi + 0x1c]
push eax
lea eax, [ebp - 0xc8]
push eax
push 6
call fcn.100767b0
mov ecx, dword [esi + 0x24]
lea eax, [ebp - 0x298]
push eax
call fcn.10077640
push eax
lea ecx, [ebp - 0x104]
call fcn.10076b20
mov ecx, dword [esi + 0x1c]
push eax
push 1
call fcn.100765f0
mov ecx, dword [esi + 0x1c]
push 0x2a
call fcn.100765b0
lea eax, [ebp - 0x164]
push eax
lea ecx, [ebp - 0xa8]
call fcn.10076410
lea eax, [ebp - 0xc8]
push eax
lea ecx, [ebp - 0xa8]
call fcn.100763e0
mov ecx, dword [esi + 0x1c]
lea eax, [ebp - 0x164]
push eax
lea eax, [ebp - 0xc8]
push eax
push 7
call fcn.100765f0
lea eax, [ebp - 0x274]
push eax
lea ecx, [ebp - 0xa8]
call fcn.10076410
lea eax, [ebp - 0xc8]
push eax
lea ecx, [ebp - 0xa8]
call fcn.100763e0
mov ecx, dword [esi + 0x24]
lea eax, [ebp - 0x104]
push eax
call fcn.10077740
mov ecx, dword [esi + 0x1c]
push eax
lea eax, [ebp - 0x274]
push eax
lea eax, [ebp - 0xc8]
push eax
push 5
call fcn.10076680
lea eax, [ebp - 0x308]
push eax
lea ecx, [ebp - 0xa8]
call fcn.10076410
lea eax, [ebp - 0x308]
push eax
lea eax, [ebp - 0x2d8]
push eax
lea ecx, [ebp - 0x104]
call fcn.10076b20
mov ecx, dword [esi + 0x1c]
push eax
push 5
call fcn.10076680
mov ecx, dword [esi + 0x1c]
push 0x2b
call fcn.100765b0
jmp 0x1007f5ef
push 2
push 0xa
lea ecx, [ebp - 0x190]
call fcn.10076210
push 1
push 0xa
lea ecx, [ebp - 0xe8]
call fcn.10076210
lea eax, [ebp - 0xc8]
push eax
lea ecx, [ebp - 0xa8]
call fcn.10076410
lea eax, [ebp - 0x164]
push eax
lea ecx, [ebp - 0xe8]
call fcn.100763e0
mov ecx, dword [esi + 0x24]
lea eax, [ebp - 0x104]
push eax
call fcn.100774c0
mov ecx, dword [esi + 0x1c]
push eax
lea eax, [ebp - 0xc8]
push eax
lea eax, [ebp - 0x164]
push eax
push 0xc
call fcn.10076680
lea eax, [ebp - 0x274]
push eax
lea ecx, [ebp - 0xe8]
call fcn.10076410
lea eax, [ebp - 0xc8]
push eax
lea ecx, [ebp - 0x190]
call fcn.100763e0
mov ecx, dword [esi + 0x24]
lea eax, [ebp - 0x104]
push eax
call fcn.10077640
mov ecx, dword [esi + 0x1c]
push eax
lea eax, [ebp - 0x274]
push eax
lea eax, [ebp - 0xc8]
push eax
push 5
call fcn.10076680
lea eax, [ebp - 0x308]
push eax
lea ecx, [ebp - 0xa8]
call fcn.10076410
lea eax, [ebp - 0xc8]
push eax
lea ecx, [ebp - 0xa8]
call fcn.100763e0
mov ecx, dword [esi + 0x1c]
lea eax, [ebp - 0x308]
push eax
lea eax, [ebp - 0xc8]
push eax
push 7
call fcn.100765f0
lea eax, [ebp - 0x438]
push eax
lea ecx, [ebp - 0xa8]
call fcn.10076410
lea eax, [ebp - 0xc8]
push eax
lea ecx, [ebp - 0xa8]
call fcn.100763e0
mov ecx, dword [esi + 0x24]
lea eax, [ebp - 0x104]
push eax
call fcn.10077740
push eax
lea eax, [ebp - 0x438]
push eax
lea eax, [ebp - 0xc8]
push eax
push 5
mov ecx, dword [esi + 0x1c]
call fcn.10076680
lea eax, [ebp - 0x418]
push eax
lea ecx, [ebp - 0x190]
call fcn.10076410
lea eax, [ebp - 0xc8]
push eax
lea ecx, [ebp - 0xa8]
call fcn.10076410
lea eax, [ebp - 0x418]
push eax
lea eax, [ebp - 0xc8]
push eax
lea eax, [ebp - 0x2d8]
push eax
lea ecx, [ebp - 0x104]
call fcn.10076b20
mov ecx, dword [esi + 0x1c]
push eax
push 4
call fcn.10076710
jmp 0x1007f5ef
lea eax, [ebp - 0x2d8]
push eax
lea ecx, [ebp - 0x104]
call fcn.10076b20
mov ecx, dword [esi + 0x1c]
push eax
push 1
call fcn.100765f0
mov ecx, esi
call fcn.10076460
mov edx, dword [ebp - 0xcc]
mov ecx, eax
shl ecx, 8
xor edi, edi
or edx, ecx
mov dword [ebp - 0x238], eax
mov dword [ebp - 0xcc], edx
mov dword [ebp - 0x13c], edi
test eax, eax
je 0x1008077f
mov dword [ebp - 0x9c], 0x10
lea esp, [esp]
push 6
push 0xb
lea ecx, [ebp - 0x148]
call fcn.10076210
lea eax, [ebp - 0xb8]
push eax
lea ecx, [ebp - 0x148]
call fcn.10076410
push edi
mov ecx, esi
call fcn.10077200
mov edx, eax
cmp edx, 0x30000
ja 0x1007fa67
je 0x1007f713
cmp edx, 0x10000
je 0x1007f69d
cmp edx, 0x20000
jne 0x1007fa6f
lea eax, [ebp - 0xa68]
push eax
lea ecx, [ebp - 0x128]
call fcn.10076410
mov ebx, 2
jmp 0x1007ff5f
lea eax, [ebp - 0x5e8]
push eax
lea ecx, [ebp - 0x11c]
call fcn.10076410
mov ecx, dword [eax]
mov dword [ebp - 0xb8], ecx
mov ecx, dword [eax + 4]
mov dword [ebp - 0xb4], ecx
mov ecx, dword [eax + 8]
mov dword [ebp - 0xb0], ecx
mov eax, dword [eax + 0xc]
mov dword [ebp - 0xac], eax
test ebx, ebx
jne 0x1007f709
lea eax, [ebp - 0xc8]
push eax
lea ecx, [ebp - 0x11c]
call fcn.100763e0
mov ecx, dword [esi + 0x24]
lea eax, [ebp - 0x5f8]
push eax
call fcn.100774c0
mov ecx, dword [esi + 0x1c]
push eax
lea eax, [ebp - 0xc8]
push eax
push 1
call fcn.100765f0
mov ebx, 2
jmp 0x1007ff82
mov ecx, esi
call fcn.10076470
test dword [eax + 4], 0x2000000
je 0x1007f8e9
push 6
push 0xa
lea ecx, [ebp - 0x1ac]
call fcn.10076210
push 0
push 9
lea ecx, [ebp - 0xe8]
call fcn.10076210
lea eax, [ebp - 0x164]
push eax
lea ecx, [ebp - 0x128]
call fcn.10076410
lea eax, [ebp - 0x274]
push eax
lea ecx, [ebp - 0x1ac]
call fcn.100763e0
mov ecx, dword [esi + 0x1c]
lea eax, [ebp - 0x164]
push eax
lea eax, [ebp - 0x274]
push eax
push 0x24
call fcn.100765f0
lea ecx, [ebp - 0x1ac]
test ebx, ebx
je 0x1007f8ae
lea eax, [ebp - 0x308]
push eax
call fcn.10076410
lea eax, [ebp - 0x438]
push eax
lea ecx, [ebp - 0x11c]
call fcn.10076410
lea eax, [ebp - 0x418]
push eax
lea ecx, [ebp - 0xe8]
call fcn.100763e0
mov ecx, dword [esi + 0x1c]
lea eax, [ebp - 0x308]
push eax
lea eax, [ebp - 0x438]
push eax
lea eax, [ebp - 0x418]
push eax
push 8
call fcn.10076680
lea eax, [ebp - 0x528]
push eax
lea ecx, [ebp - 0xe8]
call fcn.10076410
lea eax, [ebp - 0x518]
push eax
lea ecx, [ebp - 0xe8]
call fcn.10076410
lea eax, [ebp - 0x508]
push eax
lea ecx, [ebp - 0xe8]
call fcn.100763e0
mov ecx, dword [esi + 0x1c]
lea eax, [ebp - 0x528]
push eax
lea eax, [ebp - 0x518]
push eax
lea eax, [ebp - 0x508]
push eax
push 2
call fcn.10076680
lea eax, [ebp - 0x4f8]
push eax
lea ecx, [ebp - 0x1ac]
call fcn.10076410
lea eax, [ebp - 0x4e8]
push eax
lea ecx, [ebp - 0x11c]
call fcn.10076410
lea eax, [ebp - 0x4d8]
push eax
lea ecx, [ebp - 0x148]
call fcn.100763e0
lea eax, [ebp - 0x4f8]
push eax
lea eax, [ebp - 0x4e8]
push eax
lea eax, [ebp - 0x608]
push eax
lea eax, [ebp - 0x618]
push eax
lea ecx, [ebp - 0xe8]
call fcn.10076410
mov ecx, eax
call fcn.10076170
mov ecx, dword [esi + 0x1c]
push eax
lea eax, [ebp - 0x4d8]
push eax
push 4
call fcn.10076710
jmp 0x1007fa4b
lea eax, [ebp - 0x4c8]
push eax
call fcn.10076410
lea eax, [ebp - 0x4b8]
push eax
lea ecx, [ebp - 0x148]
call fcn.100763e0
mov ecx, dword [esi + 0x1c]
lea eax, [ebp - 0x4c8]
push eax
lea eax, [ebp - 0x4b8]
push eax
push 1
call fcn.100765f0
jmp 0x1007fa4b
test ebx, ebx
je 0x1007f9c4
push 0
push 9
lea ecx, [ebp - 0xa8]
call fcn.10076210
lea eax, [ebp - 0x4a8]
push eax
lea ecx, [ebp - 0xa8]
call fcn.100763e0
lea eax, [ebp - 0x628]
push eax
lea eax, [ebp - 0x638]
push eax
lea ecx, [ebp - 0x11c]
call fcn.10076410
mov ecx, eax
call fcn.10076110
push eax
lea eax, [ebp - 0x648]
push eax
lea eax, [ebp - 0x658]
push eax
lea ecx, [ebp - 0x11c]
call fcn.10076410
mov ecx, eax
call fcn.10076110
mov ecx, dword [esi + 0x1c]
push eax
lea eax, [ebp - 0x4a8]
push eax
push 2
call fcn.10076680
lea eax, [ebp - 0x498]
push eax
lea ecx, [ebp - 0x11c]
call fcn.10076410
lea eax, [ebp - 0x488]
push eax
lea ecx, [ebp - 0x148]
call fcn.100763e0
lea eax, [ebp - 0x498]
push eax
lea eax, [ebp - 0x668]
push eax
lea eax, [ebp - 0x678]
push eax
lea ecx, [ebp - 0xa8]
call fcn.10076410
mov ecx, eax
call fcn.10076170
mov ecx, dword [esi + 0x1c]
push eax
lea eax, [ebp - 0x488]
push eax
push 5
call fcn.10076680
jmp 0x1007f9f7
lea eax, [ebp - 0x5a8]
push eax
lea ecx, [ebp - 0x148]
call fcn.100763e0
mov ecx, dword [esi + 0x24]
lea eax, [ebp - 0x688]
push eax
call fcn.100774c0
mov ecx, dword [esi + 0x1c]
push eax
lea eax, [ebp - 0x5a8]
push eax
push 1
call fcn.100765f0
lea eax, [ebp - 0x598]
push eax
lea ecx, [ebp - 0x148]
call fcn.10076410
mov ecx, dword [esi + 0x24]
lea eax, [ebp - 0x698]
push eax
call fcn.10077420
push eax
lea eax, [ebp - 0x598]
push eax
lea eax, [ebp - 0x6a8]
push eax
lea eax, [ebp - 0x6b8]
push eax
lea ecx, [ebp - 0x148]
call fcn.100763e0
mov ecx, eax
call fcn.10075f10
mov ecx, dword [esi + 0x1c]
push eax
push 2
call fcn.10076680
lea eax, [ebp - 0x6c8]
push eax
lea ecx, [ebp - 0x148]
call fcn.10076410
mov ebx, 2
jmp 0x1007ff5f
cmp edx, 0x40000
je 0x1007fab2
and edx, 7
lea ecx, [ebp - 0x88]
mov eax, edx
shl eax, 4
add ecx, eax
push edx
mov eax, dword [ecx]
mov dword [ebp - 0xb8], eax
mov eax, dword [ecx + 4]
mov dword [ebp - 0xb4], eax
mov eax, dword [ecx + 8]
mov dword [ebp - 0xb0], eax
mov eax, dword [ecx + 0xc]
mov ecx, esi
mov dword [ebp - 0xac], eax
call fcn.100771e0
lea ebx, [eax - 1]
jmp 0x1007ff82
push 6
push 0xa
lea ecx, [ebp - 0xf4]
call fcn.10076210
push 0
push 9
lea ecx, [ebp - 0x154]
call fcn.10076210
push 6
push 8
lea ecx, [ebp - 0x190]
call fcn.10076210
mov ecx, esi
call fcn.10076470
test dword [eax + 4], 0x2000000
je 0x1007fce8
lea eax, [ebp - 0x588]
push eax
lea ecx, [ebp - 0x128]
call fcn.10076410
lea eax, [ebp - 0x578]
push eax
lea ecx, [ebp - 0xf4]
call fcn.100763e0
mov ecx, dword [esi + 0x1c]
lea eax, [ebp - 0x588]
push eax
lea eax, [ebp - 0x578]
push eax
push 0x24
call fcn.100765f0
lea ecx, [ebp - 0xf4]
test ebx, ebx
je 0x1007fc59
lea eax, [ebp - 0x568]
push eax
call fcn.10076410
lea eax, [ebp - 0x558]
push eax
lea ecx, [ebp - 0x11c]
call fcn.10076410
lea eax, [ebp - 0x538]
push eax
lea ecx, [ebp - 0x154]
call fcn.100763e0
mov ecx, dword [esi + 0x1c]
lea eax, [ebp - 0x568]
push eax
lea eax, [ebp - 0x558]
push eax
lea eax, [ebp - 0x538]
push eax
push 8
call fcn.10076680
lea eax, [ebp - 0x548]
push eax
lea ecx, [ebp - 0x154]
call fcn.10076410
lea eax, [ebp - 0x468]
push eax
lea ecx, [ebp - 0x154]
call fcn.10076410
lea eax, [ebp - 0x458]
push eax
lea ecx, [ebp - 0x154]
call fcn.100763e0
mov ecx, dword [esi + 0x1c]
lea eax, [ebp - 0x548]
push eax
lea eax, [ebp - 0x468]
push eax
lea eax, [ebp - 0x458]
push eax
push 2
call fcn.10076680
lea eax, [ebp - 0x478]
push eax
lea ecx, [ebp - 0xf4]
call fcn.10076410
lea eax, [ebp - 0x3a8]
push eax
lea ecx, [ebp - 0x11c]
call fcn.10076410
lea eax, [ebp - 0x3b8]
push eax
lea ecx, [ebp - 0x190]
call fcn.100763e0
lea eax, [ebp - 0x478]
push eax
lea eax, [ebp - 0x3a8]
push eax
lea eax, [ebp - 0x6d8]
push eax
lea eax, [ebp - 0x6e8]
push eax
lea ecx, [ebp - 0x154]
call fcn.10076410
mov ecx, eax
call fcn.10076170
mov ecx, dword [esi + 0x1c]
push eax
lea eax, [ebp - 0x3b8]
push eax
push 4
call fcn.10076710
jmp 0x1007fc8f
lea eax, [ebp - 0x398]
push eax
call fcn.10076410
lea eax, [ebp - 0x388]
push eax
lea ecx, [ebp - 0x190]
call fcn.100763e0
mov ecx, dword [esi + 0x1c]
lea eax, [ebp - 0x398]
push eax
lea eax, [ebp - 0x388]
push eax
push 1
call fcn.100765f0
mov ecx, dword [esi + 0x24]
lea eax, [ebp - 0x6f8]
push eax
call fcn.10077460
push eax
lea eax, [ebp - 0x708]
push eax
lea eax, [ebp - 0x718]
push eax
lea ecx, [ebp - 0x190]
call fcn.10076410
mov ecx, eax
call fcn.10076110
push eax
lea eax, [ebp - 0x728]
push eax
lea eax, [ebp - 0x738]
push eax
lea ecx, [ebp - 0x190]
call fcn.100763e0
mov ecx, eax
call fcn.10075f10
push eax
push 2
jmp 0x1007fdaa
test ebx, ebx
je 0x1007ff0d
lea eax, [ebp - 0x378]
push eax
lea ecx, [ebp - 0x154]
call fcn.100763e0
lea eax, [ebp - 0x748]
push eax
lea eax, [ebp - 0x758]
push eax
lea ecx, [ebp - 0x11c]
call fcn.10076410
mov ecx, eax
call fcn.10076110
push eax
lea eax, [ebp - 0x768]
push eax
lea eax, [ebp - 0x778]
push eax
lea ecx, [ebp - 0x11c]
call fcn.10076410
mov ecx, eax
call fcn.10076110
mov ecx, dword [esi + 0x1c]
push eax
lea eax, [ebp - 0x378]
push eax
push 2
call fcn.10076680
lea eax, [ebp - 0x368]
push eax
lea ecx, [ebp - 0x11c]
call fcn.10076410
lea eax, [ebp - 0x358]
push eax
lea ecx, [ebp - 0x190]
call fcn.100763e0
lea eax, [ebp - 0x368]
push eax
lea eax, [ebp - 0x788]
push eax
lea eax, [ebp - 0x798]
push eax
lea ecx, [ebp - 0x154]
call fcn.10076410
mov ecx, eax
call fcn.10076170
push eax
lea eax, [ebp - 0x358]
push eax
push 5
mov ecx, dword [esi + 0x1c]
call fcn.10076680
push 2
push 8
lea ecx, [ebp - 0x110]
call fcn.10076210
lea eax, [ebp - 0x348]
push eax
lea ecx, [ebp - 0x190]
call fcn.10076410
lea eax, [ebp - 0x338]
push eax
lea ecx, [ebp - 0x190]
call fcn.10076410
lea eax, [ebp - 0x328]
push eax
lea ecx, [ebp - 0x110]
call fcn.100763e0
mov ecx, dword [esi + 0x1c]
lea eax, [ebp - 0x348]
push eax
lea eax, [ebp - 0x338]
push eax
lea eax, [ebp - 0x328]
push eax
push 8
call fcn.10076680
lea eax, [ebp - 0x3c8]
push eax
lea ecx, [ebp - 0x110]
call fcn.10076410
lea eax, [ebp - 0x318]
push eax
lea ecx, [ebp - 0x110]
call fcn.100763e0
mov ecx, dword [esi + 0x1c]
lea eax, [ebp - 0x3c8]
push eax
lea eax, [ebp - 0x318]
push eax
push 7
call fcn.100765f0
lea eax, [ebp - 0x5c8]
push eax
lea ecx, [ebp - 0x110]
call fcn.10076410
lea eax, [ebp - 0x5d8]
push eax
lea ecx, [ebp - 0x110]
call fcn.100763e0
mov ecx, dword [esi + 0x24]
lea eax, [ebp - 0x7a8]
push eax
call fcn.10077500
mov ecx, dword [esi + 0x1c]
push eax
lea eax, [ebp - 0x5c8]
push eax
lea eax, [ebp - 0x5d8]
push eax
push 5
call fcn.10076680
lea eax, [ebp - 0x5b8]
push eax
lea ecx, [ebp - 0x110]
call fcn.10076410
lea eax, [ebp - 0x448]
push eax
lea ecx, [ebp - 0x190]
call fcn.10076410
mov ecx, dword [esi + 0x24]
lea eax, [ebp - 0x7b8]
push eax
call fcn.10077500
push eax
lea eax, [ebp - 0x5b8]
push eax
lea eax, [ebp - 0x448]
push eax
lea eax, [ebp - 0x7c8]
push eax
lea eax, [ebp - 0x7d8]
push eax
lea ecx, [ebp - 0x148]
call fcn.100763e0
mov ecx, eax
call fcn.10075f70
mov ecx, dword [esi + 0x1c]
push eax
push 4
call fcn.10076710
jmp 0x1007ff48
mov ecx, dword [esi + 0x24]
lea eax, [ebp - 0x928]
push eax
call fcn.10077500
push eax
lea eax, [ebp - 0x7e8]
push eax
lea eax, [ebp - 0x7f8]
push eax
lea ecx, [ebp - 0x148]
call fcn.100763e0
mov ecx, eax
call fcn.10075f70
mov ecx, dword [esi + 0x1c]
push eax
push 1
call fcn.100765f0
lea eax, [ebp - 0x808]
push eax
lea ecx, [ebp - 0x148]
call fcn.10076410
mov ebx, 1
mov ecx, dword [eax]
mov dword [ebp - 0xb8], ecx
mov ecx, dword [eax + 4]
mov dword [ebp - 0xb4], ecx
mov ecx, dword [eax + 8]
mov dword [ebp - 0xb0], ecx
mov eax, dword [eax + 0xc]
mov dword [ebp - 0xac], eax
lea eax, [ebp - 0x184]
push eax
push 7
push 0xa
lea ecx, [ebp - 0x404]
call fcn.10076210
mov ecx, eax
call fcn.10076410
lea eax, [ebp - 0x174]
push eax
push 7
push 0xa
lea ecx, [ebp - 0x3e4]
call fcn.10076210
mov ecx, eax
call fcn.100763e0
mov eax, dword [ebp - 0xb8]
mov ecx, esi
mov dword [ebp - 0x1f0], eax
mov eax, dword [ebp - 0xb4]
mov dword [ebp - 0x1ec], eax
mov eax, dword [ebp - 0xb0]
mov dword [ebp - 0x1e8], eax
mov eax, dword [ebp - 0xac]
push edi
mov dword [ebp - 0x1e4], eax
call fcn.10077260
mov ecx, eax
mov dword [ebp - 0x23c], eax
and ecx, 0xfffffeff
mov dword [ebp - 0x240], ecx
je 0x10080483
mov ecx, dword [esi + 0x24]
push edi
call fcn.10077930
mov edi, eax
lea ecx, [ebp - 0x1bc]
push edi
push 2
call fcn.10075fd0
lea ecx, [edi + 1]
push ecx
push 2
lea ecx, [ebp - 0x250]
call fcn.10075fd0
lea eax, [edi + 2]
push eax
push 2
lea ecx, [ebp - 0x2f8]
call fcn.10075fd0
lea eax, [edi + 3]
push eax
push 2
lea ecx, [ebp - 0x220]
call fcn.10075fd0
mov edi, dword [ebp - 0x240]
cmp edi, 4
jb 0x1008006a
mov edi, 4
lea eax, [ebp - 0xdc]
push eax
push 7
push 0xb
lea ecx, [ebp - 0x3f4]
call fcn.10076210
mov ecx, eax
call fcn.100763e0
lea ecx, [ebp - 0xb8]
call fcn.10076060
test eax, eax
je 0x1008014d
mov eax, ebx
sub eax, 0
je 0x100800e9
sub eax, 1
je 0x100800ce
sub eax, 1
lea eax, [ebp - 0xb8]
push eax
je 0x100800ba
lea eax, [ebp - 0xdc]
jmp 0x10080102
lea eax, [ebp - 0x818]
push eax
lea ecx, [ebp - 0xdc]
call fcn.10075fa0
jmp 0x10080102
lea eax, [ebp - 0xb8]
push eax
lea eax, [ebp - 0x828]
push eax
lea ecx, [ebp - 0xdc]
call fcn.10075f70
jmp 0x10080102
lea eax, [ebp - 0xb8]
push eax
lea eax, [ebp - 0x838]
push eax
lea ecx, [ebp - 0xdc]
call fcn.10075ee0
mov ecx, dword [esi + 0x1c]
push eax
push 1
call fcn.100765f0
lea eax, [ebp - 0x848]
push eax
push 7
push 0xb
lea ecx, [ebp - 0x424]
call fcn.10076210
mov ecx, eax
call fcn.10076410
mov ecx, dword [eax]
mov dword [ebp - 0xb8], ecx
mov ecx, dword [eax + 4]
mov dword [ebp - 0xb4], ecx
mov ecx, dword [eax + 8]
mov dword [ebp - 0xb0], ecx
mov eax, dword [eax + 0xc]
mov dword [ebp - 0xac], eax
cmp ebx, 3
ja case.default.0x10080156
jmp dword [ebx*4 + 0x100807a8]
lea eax, [ebp - 0x1bc]
push eax
lea eax, [ebp - 0x858]
push eax
lea ecx, [ebp - 0xb8]
call fcn.100760b0
push eax
push edi
lea eax, [ebp - 0x868]
push eax
lea ecx, [ebp - 0x174]
call fcn.10075e70
mov ecx, dword [esi + 0x1c]
push eax
push 5
call fcn.10076680
lea eax, [ebp - 0x250]
push eax
lea eax, [ebp - 0x184]
push eax
push edi
lea eax, [ebp - 0x878]
push eax
lea ecx, [ebp - 0x174]
call fcn.10075e70
mov ecx, dword [esi + 0x1c]
push eax
push 2
call fcn.10076680
jmp case.default.0x10080156
lea eax, [ebp - 0x1bc]
push eax
lea eax, [ebp - 0x888]
push eax
lea ecx, [ebp - 0xb8]
call fcn.100760b0
push eax
push edi
lea eax, [ebp - 0x898]
push eax
lea ecx, [ebp - 0x174]
call fcn.10075e70
mov ecx, dword [esi + 0x1c]
push eax
push 5
call fcn.10076680
lea eax, [ebp - 0x184]
push eax
lea eax, [ebp - 0x250]
push eax
lea eax, [ebp - 0x8a8]
push eax
lea ecx, [ebp - 0xb8]
call fcn.100760e0
push eax
push edi
lea eax, [ebp - 0x8b8]
push eax
lea ecx, [ebp - 0x174]
call fcn.10075e70
mov ecx, dword [esi + 0x1c]
push eax
push 4
call fcn.10076710
lea eax, [ebp - 0x2f8]
push eax
lea eax, [ebp - 0x184]
push eax
push edi
lea eax, [ebp - 0x8c8]
push eax
lea ecx, [ebp - 0x174]
call fcn.10075e70
mov ecx, dword [esi + 0x1c]
push eax
push 2
call fcn.10076680
jmp case.default.0x10080156
lea eax, [ebp - 0x1bc]
push eax
lea eax, [ebp - 0x8d8]
push eax
lea ecx, [ebp - 0xb8]
call fcn.100760b0
push eax
push edi
lea eax, [ebp - 0x8e8]
push eax
lea ecx, [ebp - 0x174]
call fcn.10075e70
mov ecx, dword [esi + 0x1c]
push eax
push 5
call fcn.10076680
lea eax, [ebp - 0x184]
push eax
lea eax, [ebp - 0x250]
push eax
lea eax, [ebp - 0x8f8]
push eax
lea ecx, [ebp - 0xb8]
call fcn.100760e0
push eax
push edi
lea eax, [ebp - 0x908]
push eax
lea ecx, [ebp - 0x174]
call fcn.10075e70
mov ecx, dword [esi + 0x1c]
push eax
push 4
call fcn.10076710
lea eax, [ebp - 0x184]
push eax
lea eax, [ebp - 0x2f8]
push eax
lea eax, [ebp - 0x918]
push eax
lea ecx, [ebp - 0xb8]
call fcn.10076110
push eax
push edi
lea eax, [ebp - 0xa78]
push eax
lea ecx, [ebp - 0x174]
call fcn.10075e70
mov ecx, dword [esi + 0x1c]
push eax
push 4
call fcn.10076710
lea eax, [ebp - 0x220]
push eax
lea eax, [ebp - 0x184]
push eax
push edi
lea eax, [ebp - 0x938]
push eax
lea ecx, [ebp - 0x174]
call fcn.10075e70
mov ecx, dword [esi + 0x1c]
push eax
push 2
call fcn.10076680
jmp case.default.0x10080156
lea eax, [ebp - 0x1bc]
push eax
lea eax, [ebp - 0x948]
push eax
lea ecx, [ebp - 0xb8]
call fcn.100760b0
push eax
push edi
lea eax, [ebp - 0x958]
push eax
lea ecx, [ebp - 0x174]
call fcn.10075e70
mov ecx, dword [esi + 0x1c]
push eax
push 5
call fcn.10076680
lea eax, [ebp - 0x184]
push eax
lea eax, [ebp - 0x250]
push eax
lea eax, [ebp - 0x968]
push eax
lea ecx, [ebp - 0xb8]
call fcn.100760e0
push eax
push edi
lea eax, [ebp - 0x978]
push eax
lea ecx, [ebp - 0x174]
call fcn.10075e70
mov ecx, dword [esi + 0x1c]
push eax
push 4
call fcn.10076710
lea eax, [ebp - 0x184]
push eax
lea eax, [ebp - 0x2f8]
push eax
lea eax, [ebp - 0x988]
push eax
lea ecx, [ebp - 0xb8]
call fcn.10076110
push eax
push edi
lea eax, [ebp - 0x998]
push eax
lea ecx, [ebp - 0x174]
call fcn.10075e70
mov ecx, dword [esi + 0x1c]
push eax
push 4
call fcn.10076710
lea eax, [ebp - 0x184]
push eax
lea eax, [ebp - 0x220]
push eax
lea eax, [ebp - 0x9a8]
push eax
lea ecx, [ebp - 0xb8]
call fcn.10076140
push eax
push edi
lea eax, [ebp - 0x9b8]
push eax
lea ecx, [ebp - 0x174]
call fcn.10075e70
mov ecx, dword [esi + 0x1c]
push eax
push 4
call fcn.10076710
mov eax, dword [ebp - 0x184]
lea ebx, [edi - 1]
mov edi, dword [ebp - 0x13c]
mov dword [ebp - 0x1f0], eax
mov eax, dword [ebp - 0x180]
mov dword [ebp - 0x1ec], eax
mov eax, dword [ebp - 0x17c]
mov dword [ebp - 0x1e8], eax
mov eax, dword [ebp - 0x178]
mov dword [ebp - 0x1e4], eax
lea eax, [ebp - 0x98]
push eax
push 7
push 0xb
lea ecx, [ebp - 0x3d4]
call fcn.10076210
mov ecx, eax
call fcn.10076410
lea eax, [ebp - 0x288]
push eax
push 7
push 0xb
lea ecx, [ebp - 0x19c]
call fcn.10076210
mov ecx, eax
call fcn.100763e0
test dword [ebp - 0x23c], 0x100
mov eax, dword [ebp - 0x1f0]
mov dword [ebp - 0x138], eax
mov eax, dword [ebp - 0x1ec]
mov dword [ebp - 0x134], eax
mov eax, dword [ebp - 0x1e8]
mov dword [ebp - 0x130], eax
mov eax, dword [ebp - 0x1e4]
mov dword [ebp - 0x12c], eax
je 0x100806c3
cmp byte [esi + 0x5130], 0
je 0x100805fe
lea ecx, [ebp - 0x1f0]
call fcn.10076070
test eax, eax
jne 0x100805b5
cmp ebx, 3
je 0x100805f4
lea eax, [ebp - 0x1f0]
push eax
lea eax, [ebp - 0x9c8]
push eax
lea ecx, [ebp - 0x288]
call fcn.10075fa0
mov ecx, dword [esi + 0x1c]
push eax
push 1
call fcn.100765f0
push ebx
lea eax, [ebp - 0x9d8]
push eax
lea ecx, [ebp - 0x1f0]
call fcn.100761a0
push eax
lea eax, [ebp - 0x9e8]
push eax
lea ecx, [ebp - 0x288]
call fcn.10075f40
mov ecx, dword [esi + 0x1c]
push eax
push 1
call fcn.100765f0
mov eax, dword [ebp - 0x98]
mov ebx, 3
mov dword [ebp - 0x138], eax
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0x134], eax
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x130], eax
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0x12c], eax
jmp 0x100806c3
push ebx
lea eax, [ebp - 0x9f8]
push eax
lea ecx, [ebp - 0x1f0]
call fcn.100761a0
push eax
lea eax, [ebp - 0xa08]
push eax
lea eax, [ebp - 0xa18]
push eax
lea ecx, [ebp - 0x1f0]
call fcn.10076080
mov ecx, eax
call fcn.10075f40
mov ecx, dword [esi + 0x1c]
push eax
push 1
call fcn.100765f0
mov ebx, 3
jmp 0x100806c3
push 0
push 0xa
lea ecx, [ebp - 0x2e4]
call fcn.10076210
lea eax, [ebp - 0x298]
push eax
lea ecx, [ebp - 0x2e4]
call fcn.100763e0
push ebx
lea eax, [ebp - 0xa28]
push eax
lea ecx, [ebp - 0x1f0]
call fcn.100761a0
mov ecx, dword [esi + 0x1c]
push eax
lea eax, [ebp - 0x298]
push eax
push 6
call fcn.100765f0
lea eax, [ebp - 0x104]
push eax
lea ecx, [ebp - 0x2e4]
call fcn.10076410
lea eax, [ebp - 0x104]
push eax
lea eax, [ebp - 0x1f0]
push eax
lea eax, [ebx + 1]
push eax
lea eax, [ebp - 0xa38]
push eax
lea eax, [ebp - 0xa48]
push eax
lea ecx, [ebp - 0x138]
call fcn.10076080
mov ecx, eax
call fcn.10075e70
mov ecx, dword [esi + 0x1c]
push eax
push 5
call fcn.10076680
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0x138], eax
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0x134], eax
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x130], eax
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0x12c], eax
lea eax, [ebp - 0x138]
mov edx, edi
push eax
lea eax, [ebx + 1]
push eax
lea eax, [ebp - 0xa58]
push eax
lea ecx, [ebp - 0x264]
call fcn.10076b80
mov ecx, eax
call fcn.10075e70
mov ecx, dword [esi + 0x1c]
push eax
push 1
call fcn.100765f0
cmp ebx, 3
ja case.0x100806f9.1
jmp dword [ebx*4 + 0x100807b8]
mov ecx, dword [ebp - 0x9c]
mov eax, 3
mov edx, dword [ebp - 0xcc]
shl eax, cl
or edx, eax
mov dword [ebp - 0xcc], edx
jmp 0x10080757
mov edx, dword [ebp - 0xcc]
mov eax, dword [ebp - 0x9c]
bts edx, eax
mov dword [ebp - 0xcc], edx
jmp 0x1008075d
mov ecx, dword [ebp - 0x9c]
mov eax, 2
mov edx, dword [ebp - 0xcc]
shl eax, cl
or edx, eax
mov dword [ebp - 0xcc], edx
jmp 0x10080757
mov edx, dword [ebp - 0xcc]
mov eax, dword [ebp - 0x9c]
mov ebx, dword [ebp - 0x1e0]
inc edi
add eax, 2
mov dword [ebp - 0x13c], edi
mov dword [ebp - 0x9c], eax
cmp edi, dword [ebp - 0x238]
jb 0x1007f630
push edx
mov ecx, esi
call fcn.10076440
mov ecx, dword [esi + 0x1c]
call fcn.10076920
mov ecx, dword [esi + 0x1c]
call fcn.100764e0
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.1009b610
mov esp, ebp
pop ebp
ret