Function at 0x1007d380
Capabilities:
Inspect section memory permissions

Disassembly:
mov edi, edi
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
sub esp, 0xb00
mov eax, dword [0x100a80a4]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov esi, ecx
push edi
mov dword [ebp - 0x140], esi
mov eax, dword [esi + 0x28]
mov dword [eax + 0x20], 0xffffffff
mov dword [eax + 0x1c], 0xffffffff
mov dword [eax + 0x18], 0xffffffff
mov dword [eax + 0x14], 0xffffffff
mov dword [eax + 0x10], 0xffffffff
mov dword [eax + 0xc], 0xffffffff
mov dword [eax + 8], 0xffffffff
mov dword [eax + 4], 0xffffffff
mov dword [eax], 0xffffffff
mov dword [eax + 0x24], 0xffffffff
mov dword [eax + 0x28], 0xffffffff
mov dword [eax + 0x2c], 0xffffffff
mov dword [eax + 0x30], 0xffffffff
mov dword [eax + 0x34], 0xffffffff
mov dword [eax + 0x38], 0xffffffff
mov dword [eax + 0x3c], 0xffffffff
mov dword [eax + 0x40], 0xffffffff
mov dword [eax + 0x44], 0
mov edx, dword [esi + 0x28]
mov eax, dword [edx]
movzx ecx, ax
cmp eax, 0xffffffff
jne 0x1007d44d
mov ecx, dword [edx + 0x44]
lea eax, [ecx + 1]
mov dword [edx + 0x44], eax
mov dword [edx], ecx
movzx ecx, cx
xor eax, eax
mov dword [ebp - 0x194], 1
mov word [ebp - 0x334], cx
mov word [ebp - 0x332], ax
cmp byte [esi + 0x5131], al
je 0x1007d491
cmp dword [esi + 0x5158], eax
jne 0x1007d491
mov edx, dword [esi + 0x1c]
mov dword [edx + 4], eax
mov dword [edx + 0x10], 1
mov dword [edx + 0x14], eax
mov eax, dword [edx]
mov dword [eax], 0xfffe0201
jmp 0x1007d4a9
mov edx, dword [esi + 0x1c]
mov dword [edx + 4], eax
mov dword [edx + 0x10], 1
mov dword [edx + 0x14], eax
mov eax, dword [edx]
mov dword [eax], 0xfffe0200
mov ecx, dword [edx + 4]
mov edi, 0x100a90c4
lea eax, [ecx + 1]
mov dword [edx + 4], eax
mov dword [edx + 8], ecx
lea edx, [edi + 1]
mov ecx, dword [esi + 0x1c]
mov dword [ebp - 0xdc], ecx
mov al, byte [edi]
inc edi
test al, al
jne 0x1007d4c6
mov ecx, dword [ecx + 4]
sub edi, edx
inc edi
lea eax, [edi + 3]
shr eax, 2
inc eax
mov dword [ebp - 0xb0], eax
mov edx, eax
mov eax, dword [ebp - 0xdc]
push dword [ebp - 0xb0]
shl edx, 0x10
or edx, 0xfffe
mov eax, dword [eax]
mov dword [eax + ecx*4], edx
mov edx, dword [ebp - 0xdc]
mov ecx, dword [edx + 4]
lea eax, [ecx + 1]
mov dword [edx + 4], eax
mov dword [edx + 8], ecx
mov ecx, edx
call fcn.10077d00
mov edx, dword [ebp - 0xdc]
push edi
push 0x100a90c4
mov ecx, dword [edx + 4]
mov eax, dword [edx]
mov dword [eax + ecx*4], 0x54584554
inc dword [edx + 4]
mov ecx, dword [edx + 4]
mov eax, dword [edx]
lea eax, [eax + ecx*4]
push eax
call sub.msvcrt.dll_memcpy
mov ecx, dword [ebp - 0xdc]
add esp, 0xc
mov eax, dword [ebp - 0xb0]
dec eax
add dword [ecx + 4], eax
mov ecx, dword [esi + 4]
mov eax, ecx
shr eax, 0x12
mov edi, ecx
and eax, 1
shr edi, 2
mov dword [ebp - 0xb0], eax
and edi, 1
shl eax, 6
add eax, 4
mov dword [ebp - 0x8c], ecx
mov dword [ebp - 0x118], edi
mov dword [ebp - 0x110], eax
test ecx, 0x80000
je 0x1007d595
or eax, 0x80
mov dword [ebp - 0x110], eax
mov edx, dword [esi + 0x28]
mov eax, dword [esi + 0x1c]
mov dword [ebp - 0xe8], eax
mov ecx, dword [edx]
cmp ecx, 0xffffffff
jne 0x1007d5b9
mov ecx, dword [edx + 0x44]
lea eax, [ecx + 1]
mov dword [edx + 0x44], eax
mov eax, dword [ebp - 0xe8]
mov dword [edx], ecx
push ecx
push 0
push 0
mov ecx, eax
call fcn.100777b0
test byte [esi + 0x18], 2
je 0x1007d650
test edi, edi
je 0x1007d650
mov edx, dword [esi + 0x28]
mov eax, dword [esi + 0x1c]
mov dword [ebp - 0xe8], eax
mov ecx, dword [edx + 4]
cmp ecx, 0xffffffff
jne 0x1007d5f9
mov ecx, dword [edx + 0x44]
lea eax, [ecx + 1]
mov dword [edx + 0x44], eax
mov eax, dword [ebp - 0xe8]
mov dword [edx + 4], ecx
push ecx
push 0
push 3
mov ecx, eax
call fcn.100777b0
mov edx, dword [esi + 0x28]
mov eax, dword [edx + 4]
movzx ecx, ax
cmp eax, 0xffffffff
jne 0x1007d622
mov ecx, dword [edx + 0x44]
lea eax, [ecx + 1]
mov dword [edx + 0x44], eax
mov dword [edx + 4], ecx
movzx ecx, cx
xor eax, eax
mov dword [ebp - 0x150], 1
mov dword [ebp - 0x14c], 0
mov dword [ebp - 0x148], 0xe40000
mov word [ebp - 0x144], cx
mov word [ebp - 0x142], ax
mov eax, dword [esi + 4]
mov dword [ebp - 0x1f0], 0
mov dword [ebp - 0xe8], 0
test eax, 0x800000
je 0x1007d6f2
test al, 2
je 0x1007d6b2
mov edx, dword [esi + 0x28]
mov eax, dword [esi + 0x1c]
mov dword [ebp - 0x1f0], eax
mov ecx, dword [edx + 0x1c]
cmp ecx, 0xffffffff
jne 0x1007d69c
mov ecx, dword [edx + 0x44]
lea eax, [ecx + 1]
mov dword [edx + 0x44], eax
mov eax, dword [ebp - 0x1f0]
mov dword [edx + 0x1c], ecx
push ecx
push 1
push 0
mov ecx, eax
call fcn.100777b0
mov dword [ebp - 0x1f0], 1
test byte [esi + 0x18], 2
je 0x1007d6f2
test edi, edi
je 0x1007d6f2
test byte [esi + 4], 8
je 0x1007d6f2
mov edx, dword [esi + 0x28]
mov edi, dword [esi + 0x1c]
mov ecx, dword [edx + 0x20]
cmp ecx, 0xffffffff
jne 0x1007d6dc
mov ecx, dword [edx + 0x44]
lea eax, [ecx + 1]
mov dword [edx + 0x44], eax
mov dword [edx + 0x20], ecx
push ecx
push 1
push 3
mov ecx, edi
call fcn.100777b0
mov dword [ebp - 0xe8], 1
cmp dword [ebp - 0xb0], 0
je 0x1007d817
test byte [esi + 4], 0x10
je 0x1007d79d
mov edx, dword [esi + 0x28]
mov edi, dword [esi + 0x1c]
mov ecx, dword [edx + 0x14]
cmp ecx, 0xffffffff
jne 0x1007d723
mov ecx, dword [edx + 0x44]
lea eax, [ecx + 1]
mov dword [edx + 0x44], eax
mov dword [edx + 0x14], ecx
push ecx
push 0
push 0xa
mov ecx, edi
call fcn.100777b0
mov edx, dword [esi + 0x28]
mov eax, dword [edx + 0x14]
movzx ecx, ax
cmp eax, 0xffffffff
jne 0x1007d74c
mov ecx, dword [edx + 0x44]
lea eax, [ecx + 1]
mov dword [edx + 0x44], eax
mov dword [edx + 0x14], ecx
movzx ecx, cx
mov eax, 1
mov word [ebp - 0xbc], cx
xor edx, edx
mov dword [ebp - 0x190], eax
mov dword [ebp - 0xc8], eax
xor eax, eax
mov dword [ebp - 0x18c], edx
mov dword [ebp - 0xc4], edx
mov edx, 0xe40000
mov word [ebp - 0xba], ax
mov ecx, dword [ebp - 0xbc]
mov dword [ebp - 0x188], edx
mov dword [ebp - 0xc0], edx
mov dword [ebp - 0x114], ecx
jmp 0x1007d847
xor eax, eax
mov dword [ebp - 0x660], 2
mov dword [ebp - 0x654], eax
lea ecx, [ebp - 0x660]
mov dword [ebp - 0x65c], eax
lea eax, [ebp - 0x9c]
push 3
push eax
mov dword [ebp - 0x658], 0xe40000
call fcn.10077570
mov ecx, dword [ebp - 0x98]
mov eax, dword [ebp - 0x9c]
mov dword [ebp - 0x18c], ecx
mov dword [ebp - 0xc4], ecx
mov ecx, dword [ebp - 0x94]
mov dword [ebp - 0x188], ecx
mov dword [ebp - 0xc0], ecx
mov ecx, dword [ebp - 0x90]
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0x114], ecx
mov dword [ebp - 0xbc], ecx
jmp 0x1007d841
mov eax, dword [ebp - 0xbc]
mov dword [ebp - 0x114], eax
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0x188], eax
mov eax, dword [ebp - 0xc4]
mov dword [ebp - 0x18c], eax
mov eax, dword [ebp - 0xc8]
mov dword [ebp - 0x190], eax
test dword [ebp - 0x8c], 0x80000
je 0x1007d974
test byte [esi + 4], 0x20
je 0x1007d8f5
mov edx, dword [esi + 0x28]
mov edi, dword [esi + 0x1c]
mov ecx, dword [edx + 0x18]
cmp ecx, 0xffffffff
jne 0x1007d87b
mov ecx, dword [edx + 0x44]
lea eax, [ecx + 1]
mov dword [edx + 0x44], eax
mov dword [edx + 0x18], ecx
push ecx
push 1
push 0xa
mov ecx, edi
call fcn.100777b0
mov edx, dword [esi + 0x28]
mov eax, dword [edx + 0x18]
movzx ecx, ax
cmp eax, 0xffffffff
jne 0x1007d8a4
mov ecx, dword [edx + 0x44]
lea eax, [ecx + 1]
mov dword [edx + 0x44], eax
mov dword [edx + 0x18], ecx
movzx ecx, cx
mov edx, 1
mov word [ebp - 0x100], cx
mov eax, 0xe40000
mov dword [ebp - 0xd8], edx
mov dword [ebp - 0x10c], edx
xor edx, edx
mov dword [ebp - 0xcc], eax
mov dword [ebp - 0x104], eax
xor eax, eax
mov word [ebp - 0xfe], ax
mov ecx, dword [ebp - 0x100]
mov dword [ebp - 0xd4], edx
mov dword [ebp - 0x108], edx
mov dword [ebp - 0xb8], ecx
jmp 0x1007d9a4
xor eax, eax
mov dword [ebp - 0x670], 2
push eax
mov dword [ebp - 0x664], eax
lea ecx, [ebp - 0x670]
mov dword [ebp - 0x66c], eax
lea eax, [ebp - 0x9c]
push eax
mov dword [ebp - 0x668], 0xe40000
call fcn.10077570
mov edx, dword [ebp - 0x9c]
mov eax, dword [ebp - 0x94]
mov ecx, dword [ebp - 0x90]
mov dword [ebp - 0xd8], edx
mov dword [ebp - 0x10c], edx
mov edx, dword [ebp - 0x98]
mov dword [ebp - 0xd4], edx
mov dword [ebp - 0x108], edx
mov dword [ebp - 0xcc], eax
mov dword [ebp - 0x104], eax
mov dword [ebp - 0xb8], ecx
mov dword [ebp - 0x100], ecx
jmp 0x1007d9a4
mov eax, dword [ebp - 0x100]
mov dword [ebp - 0xb8], eax
mov eax, dword [ebp - 0x104]
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0x108]
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0x10c]
mov dword [ebp - 0xd8], eax
test byte [esi + 8], 0x20
je 0x1007da93
test byte [esi + 4], 0x40
je 0x1007da27
mov edx, dword [esi + 0x28]
mov edi, dword [esi + 0x1c]
mov ecx, dword [edx + 8]
cmp ecx, 0xffffffff
jne 0x1007d9ce
mov ecx, dword [edx + 0x44]
lea eax, [ecx + 1]
mov dword [edx + 0x44], eax
mov dword [edx + 8], ecx
push ecx
push 0
push 4
mov ecx, edi
call fcn.100777b0
mov edx, dword [esi + 0x28]
mov eax, dword [edx + 8]
movzx ecx, ax
cmp eax, 0xffffffff
jne 0x1007d9f7
mov ecx, dword [edx + 0x44]
lea eax, [ecx + 1]
mov dword [edx + 0x44], eax
mov dword [edx + 8], ecx
movzx ecx, cx
xor eax, eax
mov dword [ebp - 0x1ac], 1
mov dword [ebp - 0x1a8], 0
mov dword [ebp - 0x1a4], 0
mov word [ebp - 0x1a0], cx
mov word [ebp - 0x19e], ax
jmp 0x1007da93
push 2
lea eax, [ebp - 0x9c]
mov dword [ebp - 0x680], 2
push eax
lea ecx, [ebp - 0x680]
mov dword [ebp - 0x674], 0x62
mov dword [ebp - 0x678], 0xe40000
mov dword [ebp - 0x67c], 0
call fcn.10077570
mov eax, dword [ebp - 0x9c]
mov dword [ebp - 0x1ac], eax
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0x1a8], eax
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0x1a4], eax
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x1a0], eax
test byte [esi + 0x18], 4
je 0x1007dc62
test byte [esi + 4], 0x80
je 0x1007db12
mov edx, dword [esi + 0x28]
mov edi, dword [esi + 0x1c]
mov ecx, dword [edx + 0xc]
cmp ecx, 0xffffffff
jne 0x1007dabd
mov ecx, dword [edx + 0x44]
lea eax, [ecx + 1]
mov dword [edx + 0x44], eax
mov dword [edx + 0xc], ecx
push ecx
push 0
push 1
mov ecx, edi
call fcn.100777b0
mov edx, dword [esi + 0x28]
mov eax, dword [edx + 0xc]
movzx ecx, ax
mov dword [ebp - 0xe0], ecx
cmp eax, 0xffffffff
jne 0x1007daf2
mov ecx, dword [edx + 0x44]
lea eax, [ecx + 1]
mov dword [edx + 0x44], eax
movzx eax, cx
mov dword [edx + 0xc], ecx
mov dword [ebp - 0xe0], eax
mov dword [ebp - 0xe4], 1
mov dword [ebp - 0x19c], 0
mov dword [ebp - 0x198], 0
jmp 0x1007db91
xor eax, eax
mov dword [ebp - 0x6b0], 2
push eax
mov dword [ebp - 0x6a4], eax
lea ecx, [ebp - 0x6b0]
mov dword [ebp - 0x6ac], eax
lea eax, [ebp - 0x9c]
push eax
mov dword [ebp - 0x6a8], 0xe40000
call fcn.10077570
mov eax, dword [ebp - 0x9c]
mov dword [ebp - 0xe4], eax
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0x19c], eax
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0x160], eax
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x15c], eax
mov ax, word [ebp - 0x15a]
mov dword [ebp - 0x198], eax
mov ax, word [ebp - 0x15c]
mov dword [ebp - 0xe0], eax
mov eax, dword [esi + 4]
test eax, 0x4000000
je 0x1007dc3c
test eax, 0x10000
je 0x1007dc0f
mov edx, dword [esi + 0x28]
mov edi, dword [esi + 0x1c]
mov ecx, dword [edx + 0x10]
cmp ecx, 0xffffffff
jne 0x1007dbc0
mov ecx, dword [edx + 0x44]
lea eax, [ecx + 1]
mov dword [edx + 0x44], eax
mov dword [edx + 0x10], ecx
push ecx
push 0
push 2
mov ecx, edi
call fcn.100777b0
mov edx, dword [esi + 0x28]
mov eax, dword [edx + 0x10]
movzx ecx, ax
cmp eax, 0xffffffff
jne 0x1007dbe9
mov ecx, dword [edx + 0x44]
lea eax, [ecx + 1]
mov dword [edx + 0x44], eax
mov dword [edx + 0x10], ecx
movzx ecx, cx
mov dword [ebp - 0x174], 1
mov dword [ebp - 0x16c], 0
movzx eax, cx
mov dword [ebp - 0xd0], 0
jmp 0x1007dcbe
mov dword [ebp - 0x174], 2
mov dword [ebp - 0x16c], 0
mov dword [ebp - 0x170], 2
mov dword [ebp - 0xd0], 0
jmp 0x1007dcc4
mov ecx, dword [ebp - 0xe8]
mov eax, dword [ebp - 0xe8]
mov dword [ebp - 0x16c], ecx
mov ecx, dword [ebp - 0xe8]
mov dword [ebp - 0x174], eax
mov dword [ebp - 0xd0], ecx
jmp 0x1007dcb8
mov ax, word [ebp - 0x15a]
mov dword [ebp - 0x198], eax
mov ax, word [ebp - 0x15c]
mov dword [ebp - 0xe0], eax
mov eax, dword [ebp - 0x164]
mov dword [ebp - 0x19c], eax
mov eax, dword [ebp - 0x168]
mov dword [ebp - 0xe4], eax
mov eax, dword [ebp - 0xe8]
mov dword [ebp - 0x16c], eax
mov eax, dword [ebp - 0xe8]
mov dword [ebp - 0x174], eax
mov eax, dword [ebp - 0xe8]
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0xe8]
mov dword [ebp - 0x170], eax
lea edi, [ebp - 0x88]
mov esi, 8
nop
mov ecx, edi
call fcn.10047ea0
add edi, 0x10
sub esi, 1
jne 0x1007dcd0
mov esi, dword [ebp - 0x140]
lea ecx, [ebp - 0x88]
mov edx, 1
mov dword [ebp - 0xdc], ecx
mov eax, 0x24
mov dword [ebp - 0xec], edx
mov edi, 5
mov dword [ebp - 0x11c], eax
mov dword [ebp - 0x154], edi
test byte [esi + 5], dl
je 0x1007de11
mov edx, dword [esi + 0x28]
add eax, edx
mov edi, dword [esi + 0x1c]
mov dword [ebp - 0xb4], eax
mov eax, dword [eax]
mov dword [ebp - 0x158], eax
cmp eax, 0xffffffff
jne 0x1007dd4d
mov ecx, dword [edx + 0x44]
mov dword [ebp - 0x158], ecx
lea eax, [ecx + 1]
mov dword [edx + 0x44], eax
mov eax, dword [ebp - 0xb4]
mov dword [eax], ecx
mov byte [edi + 0x18], 0
mov ecx, dword [edi + 4]
mov eax, dword [edi]
push 0x10
mov dword [eax + ecx*4], 0x1f
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0x154]
or ecx, 0x80000000
lea edx, [eax + 1]
mov dword [edi + 4], edx
mov dword [edi + 8], eax
mov eax, dword [edi]
mov dword [eax + edx*4], ecx
inc dword [edi + 4]
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov edx, dword [ebp - 0x158]
or edx, 0x900f0000
mov dword [eax + ecx*4], edx
inc dword [edi + 4]
mov ecx, dword [edi + 8]
mov edx, dword [edi + 4]
mov eax, dword [edi]
sub edx, ecx
dec edx
shl edx, 0x18
or dword [eax + ecx*4], edx
lea eax, [eax + ecx*4]
mov ecx, edi
call fcn.10077d00
inc dword [edi + 0x10]
cmp byte [edi + 0x18], 0
je 0x1007ddbd
inc dword [edi + 0x14]
mov byte [edi + 0x18], 1
mov edx, dword [esi + 0x28]
mov edi, dword [ebp - 0x11c]
mov ecx, dword [edi + edx]
cmp ecx, 0xffffffff
jne 0x1007ddde
mov ecx, dword [edx + 0x44]
lea eax, [ecx + 1]
mov dword [edx + 0x44], eax
mov dword [edi + edx], ecx
mov edx, dword [ebp - 0xec]
xor eax, eax
mov edi, dword [ebp - 0x154]
mov word [ebp - 0x214], cx
mov ecx, dword [ebp - 0xdc]
mov word [ebp - 0x212], ax
mov dword [ecx], 1
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x214]
jmp 0x1007de22
xor eax, eax
mov dword [ecx], 2
mov dword [ebp - 0x354], eax
mov dword [ecx + 4], eax
mov dword [ecx + 8], 0xe40000
add edi, 0x10000
mov dword [ecx + 0xc], eax
add ecx, 0x10
mov eax, dword [ebp - 0x11c]
add eax, 4
rol edx, 1
mov dword [ebp - 0x11c], eax
mov dword [ebp - 0x154], edi
mov dword [ebp - 0xdc], ecx
mov dword [ebp - 0xec], edx
cmp eax, 0x44
jb 0x1007dd12
cmp dword [ebp - 0x1f0], 0
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0x154], eax
mov dword [ebp - 0x1ec], eax
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 0x11c], eax
mov dword [ebp - 0x1e8], eax
mov eax, dword [ebp - 0xcc]
mov dword [ebp - 0x1e4], eax
mov eax, dword [ebp - 0xb8]
mov dword [ebp - 0x1e0], eax
je 0x1007e0d3
mov edx, dword [esi + 0x28]
mov edi, dword [esi + 0x1c]
mov ecx, dword [edx + 0x1c]
cmp ecx, 0xffffffff
jne 0x1007dec4
mov ecx, dword [edx + 0x44]
lea eax, [ecx + 1]
mov dword [edx + 0x44], eax
mov dword [edx + 0x1c], ecx
xor eax, eax
mov word [ebp - 0x6b4], cx
mov word [ebp - 0x6b2], ax
mov ecx, edi
mov dword [ebp - 0x9c], eax
mov dword [ebp - 0x90], eax
lea eax, [ebp - 0x6c0]
push eax
lea eax, [ebp - 0x9c]
mov dword [ebp - 0x6c0], 1
push eax
push 1
mov dword [ebp - 0x6b8], 0xe40000
mov dword [ebp - 0x6bc], 0
mov dword [ebp - 0x98], 2
mov dword [ebp - 0x94], 0xf0000
call fcn.10077840
mov edx, dword [esi + 0x28]
mov edi, dword [esi + 0x1c]
mov ecx, dword [edx]
cmp ecx, 0xffffffff
jne 0x1007df41
mov ecx, dword [edx + 0x44]
lea eax, [ecx + 1]
mov dword [edx + 0x44], eax
mov dword [edx], ecx
xor eax, eax
mov word [ebp - 0x394], cx
mov word [ebp - 0x392], ax
mov ecx, edi
mov dword [ebp - 0x13c], eax
mov dword [ebp - 0x138], eax
mov dword [ebp - 0x7e0], eax
mov dword [ebp - 0x7d4], eax
lea eax, [ebp - 0x3a0]
push eax
lea eax, [ebp - 0x13c]
mov dword [ebp - 0x3a0], 1
push eax
lea eax, [ebp - 0x7e0]
mov dword [ebp - 0x398], 0xe40000
push eax
push 2
mov dword [ebp - 0x39c], 0x1000000
mov dword [ebp - 0x130], 2
mov dword [ebp - 0x134], 0xe40000
mov dword [ebp - 0x7dc], 2
mov dword [ebp - 0x7d8], 0x70000
call fcn.100778d0
mov edx, dword [esi + 0x28]
mov edi, dword [esi + 0x1c]
mov ecx, dword [edx]
cmp ecx, 0xffffffff
jne 0x1007dfe5
mov ecx, dword [edx + 0x44]
lea eax, [ecx + 1]
mov dword [edx + 0x44], eax
mov dword [edx], ecx
xor eax, eax
mov word [ebp - 0x3b4], cx
mov word [ebp - 0x3b2], ax
lea ecx, [ebp - 0x3b0]
mov dword [ebp - 0x13c], eax
mov dword [ebp - 0x138], eax
mov dword [ebp - 0x3ac], eax
lea eax, [ebp - 0x858]
push 3
push eax
mov dword [ebp - 0x3c0], 1
mov dword [ebp - 0x3b8], 0xe40000
mov dword [ebp - 0x3bc], 0
mov dword [ebp - 0x130], 2
mov dword [ebp - 0x134], 0xe40000
mov dword [ebp - 0x3b0], 2
mov dword [ebp - 0x3a4], 9
mov dword [ebp - 0x3a8], 0xe40000
call fcn.10077570
lea eax, [ebp - 0x3c0]
mov dword [ebp - 0x7f0], 0
push eax
lea eax, [ebp - 0x13c]
mov dword [ebp - 0x7ec], 2
push eax
lea eax, [ebp - 0x858]
mov dword [ebp - 0x7e8], 0x70000
push eax
lea eax, [ebp - 0x7f0]
mov dword [ebp - 0x7e4], 0
push eax
push ecx
mov ecx, edi
call fcn.10077970
mov dword [ebp - 0x214], 2
mov eax, dword [ebp - 0x214]
mov dword [ebp - 0x194], 0
jmp 0x1007e0d9
mov eax, dword [ebp - 0x334]
cmp dword [ebp - 0xe8], 0
mov dword [ebp - 0xec], eax
je 0x1007e331
mov edx, dword [esi + 0x28]
mov edi, dword [esi + 0x1c]
mov ecx, dword [edx + 0x20]
cmp ecx, 0xffffffff
jne 0x1007e106
mov ecx, dword [edx + 0x44]
lea eax, [ecx + 1]
mov dword [edx + 0x44], eax
mov dword [edx + 0x20], ecx
xor eax, eax
mov word [ebp - 0x3c4], cx
mov word [ebp - 0x3c2], ax
mov ecx, edi
mov dword [ebp - 0x9c], eax
mov dword [ebp - 0x90], eax
lea eax, [ebp - 0x3d0]
push eax
lea eax, [ebp - 0x9c]
mov dword [ebp - 0x3d0], 1
push eax
push 1
mov dword [ebp - 0x3c8], 0xe40000
mov dword [ebp - 0x3cc], 0
mov dword [ebp - 0x98], 3
mov dword [ebp - 0x94], 0x70000
call fcn.10077840
mov edx, dword [esi + 0x28]
mov edi, dword [esi + 0x1c]
mov ecx, dword [edx + 4]
cmp ecx, 0xffffffff
jne 0x1007e185
mov ecx, dword [edx + 0x44]
lea eax, [ecx + 1]
mov dword [edx + 0x44], eax
mov dword [edx + 4], ecx
xor eax, eax
mov word [ebp - 0x3d4], cx
mov word [ebp - 0x3d2], ax
mov ecx, edi
mov dword [ebp - 0x13c], eax
mov dword [ebp - 0x138], eax
mov dword [ebp - 0x9c], eax
mov dword [ebp - 0x90], eax
lea eax, [ebp - 0x3e0]
push eax
lea eax, [ebp - 0x13c]
mov dword [ebp - 0x3e0], 1
push eax
lea eax, [ebp - 0x9c]
mov dword [ebp - 0x3d8], 0xe40000
push eax
push 2
mov dword [ebp - 0x3dc], 0x1000000
mov dword [ebp - 0x130], 3
mov dword [ebp - 0x134], 0xe40000
mov dword [ebp - 0x98], 3
mov dword [ebp - 0x94], 0x70000
call fcn.100778d0
mov edx, dword [esi + 0x28]
mov edi, dword [esi + 0x1c]
mov ecx, dword [edx + 4]
cmp ecx, 0xffffffff
jne 0x1007e22b
mov ecx, dword [edx + 0x44]
lea eax, [ecx + 1]
mov dword [edx + 0x44], eax
mov dword [edx + 4], ecx
xor eax, eax
mov word [ebp - 0x3f4], cx
mov word [ebp - 0x3f2], ax
lea ecx, [ebp - 0x3f0]
mov dword [ebp - 0x13c], eax
mov dword [ebp - 0x138], eax
mov dword [ebp - 0x3ec], eax
lea eax, [ebp - 0x868]
push 3
push eax
mov dword [ebp - 0x400], 1
mov dword [ebp - 0x3f8], 0xe40000
mov dword [ebp - 0x3fc], 0
mov dword [ebp - 0x130], 3
mov dword [ebp - 0x134], 0xe40000
mov dword [ebp - 0x3f0], 2
mov dword [ebp - 0x3e4], 9
mov dword [ebp - 0x3e8], 0xe40000
call fcn.10077570
lea eax, [ebp - 0x400]
mov dword [ebp - 0x9c], 0
push eax
lea eax, [ebp - 0x13c]
mov dword [ebp - 0x98], 3
push eax
lea eax, [ebp - 0x868]
mov dword [ebp - 0x94], 0x70000
push eax
lea eax, [ebp - 0x9c]
mov dword [ebp - 0x90], 0
push eax
push ecx
mov ecx, edi
call fcn.10077970
mov dword [ebp - 0x214], 3
mov eax, dword [ebp - 0x214]
mov dword [ebp - 0x150], 0
mov dword [ebp - 0x14c], 0
mov dword [ebp - 0x148], 0xe40000
mov dword [ebp - 0x144], eax
mov eax, dword [esi + 0x18]
test al, 4
je 0x1007f537
mov eax, dword [esi + 8]
lea ecx, [ebp - 0x410]
mov edi, dword [esi + 0x1c]
shr eax, 0x12
and eax, 3
mov dword [ebp - 0x410], 2
mov dword [ebp - 0x158], eax
xor eax, eax
mov dword [ebp - 0x404], eax
mov dword [ebp - 0x40c], eax
lea eax, [ebp - 0x878]
push 3
push eax
mov dword [ebp - 0x408], 0xe40000
call fcn.10077570
lea eax, [ebp - 0x878]
mov dword [ebp - 0x9c], 0
push eax
lea eax, [ebp - 0x9c]
mov dword [ebp - 0x98], 8
push eax
push 1
mov ecx, edi
mov dword [ebp - 0x94], 0x10000
mov dword [ebp - 0x90], 0
call fcn.10077840
mov edi, dword [esi + 0x1c]
lea ecx, [ebp - 0x420]
xor eax, eax
mov dword [ebp - 0x420], 2
push eax
mov dword [ebp - 0x414], eax
mov dword [ebp - 0x41c], eax
lea eax, [ebp - 0x888]
push eax
mov dword [ebp - 0x418], 0xe40000
call fcn.10077570
lea eax, [ebp - 0x888]
mov dword [ebp - 0x9c], 0
push eax
lea eax, [ebp - 0x9c]
mov dword [ebp - 0x98], 7
push eax
push 1
mov ecx, edi
mov dword [ebp - 0x94], 0xf0000
mov dword [ebp - 0x90], 0
call fcn.10077840
mov eax, dword [esi + 0x18]
test al, 2
je 0x1007e4bb
mov edi, dword [esi + 0x1c]
lea ecx, [ebp - 0x430]
xor eax, eax
mov dword [ebp - 0x430], 2
push eax
mov dword [ebp - 0x424], eax
mov dword [ebp - 0x42c], eax
lea eax, [ebp - 0x898]
push eax
mov dword [ebp - 0x428], 0xe40000
call fcn.10077570
lea eax, [ebp - 0x898]
mov dword [ebp - 0x9c], 0
push eax
lea eax, [ebp - 0x9c]
mov dword [ebp - 0x98], 1
push eax
push 1
mov ecx, edi
mov dword [ebp - 0x94], 0x70000
mov dword [ebp - 0x90], 0
call fcn.10077840
mov eax, dword [esi + 0x18]
test al, 1
je 0x1007e515
mov ecx, dword [esi + 0x1c]
xor eax, eax
mov dword [ebp - 0x434], eax
mov dword [ebp - 0x43c], eax
mov dword [ebp - 0x9c], eax
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x90], eax
lea eax, [ebp - 0x440]
push eax
lea eax, [ebp - 0x9c]
mov dword [ebp - 0x440], 2
push eax
push 1
mov dword [ebp - 0x438], 0xe40000
mov dword [ebp - 0x94], 0xf0000
call fcn.10077840
xor ecx, ecx
mov dword [ebp - 0xdc], ecx
lea ecx, [ecx]
mov edi, dword [ebp - 0x19c]
mov eax, ecx
mov dword [ebp - 0xf8], edi
mov edi, dword [ebp - 0x198]
mov word [ebp - 0xee], di
sub eax, 1
je 0x1007e58e
sub eax, 1
je 0x1007e56e
sub eax, 1
mov eax, dword [ebp - 0xe4]
mov dword [ebp - 0xfc], eax
mov eax, dword [ebp - 0xe0]
mov word [ebp - 0xf0], ax
je 0x1007e567
xor eax, eax
jmp 0x1007e5ac
mov eax, 0xff0000
jmp 0x1007e5ac
mov eax, dword [ebp - 0xe4]
mov dword [ebp - 0xfc], eax
mov eax, dword [ebp - 0xe0]
mov word [ebp - 0xf0], ax
mov eax, 0xaa0000
jmp 0x1007e5ac
mov eax, dword [ebp - 0xe4]
mov dword [ebp - 0xfc], eax
mov eax, dword [ebp - 0xe0]
mov word [ebp - 0xf0], ax
mov eax, 0x550000
mov dword [ebp - 0xf4], eax
cmp ecx, dword [ebp - 0x158]
jne 0x1007e5f3
mov dword [ebp - 0x214], 8
mov eax, dword [ebp - 0x214]
mov dword [ebp - 0xfc], 0
mov dword [ebp - 0xf8], 0
mov dword [ebp - 0xf4], 0
mov dword [ebp - 0xf0], eax
jmp 0x1007e6c9
mov edi, dword [esi + 0x1c]
mov ecx, dword [ebp - 0xe4]
mov dword [ebp - 0x448], eax
mov eax, dword [ebp - 0xf0]
mov dword [ebp - 0x450], ecx
mov ecx, dword [ebp - 0xe0]
mov word [ebp - 0x444], cx
mov dword [ebp - 0x44c], 0x1000000
shr eax, 0x10
mov word [ebp - 0x442], ax
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [ebp - 0x13c], 0
mov dword [ebp - 0x130], 8
mov dword [ebp - 0x134], 0
mov dword [eax + ecx*4], 2
mov eax, dword [edi + 4]
mov dword [ebp - 0x138], 0
lea ecx, [eax + 1]
mov dword [edi + 4], ecx
mov dword [edi + 8], eax
mov eax, dword [edi]
mov dword [eax + ecx*4], 0x80010008
lea eax, [ebp - 0x13c]
inc dword [edi + 4]
mov ecx, edi
push eax
call fcn.10077b30
lea eax, [ebp - 0x450]
mov ecx, edi
push eax
call fcn.10077b30
mov ecx, dword [edi + 8]
mov eax, dword [edi]
push 0x10
lea edx, [eax + ecx*4]
mov eax, dword [edi + 4]
sub eax, ecx
mov ecx, edi
dec eax
shl eax, 0x18
or dword [edx], eax
call fcn.10077d00
inc dword [edi + 0x10]
cmp byte [edi + 0x18], 0
je 0x1007e6bf
inc dword [edi + 0x14]
mov ecx, dword [ebp - 0xdc]
mov byte [edi + 0x18], 1
test dword [esi + 4], 0x4000000
je 0x1007efdd
mov edi, dword [esi + 0x1c]
mov eax, dword [ebp - 0x174]
mov dword [ebp - 0x1bc], eax
mov eax, dword [ebp - 0x170]
mov word [ebp - 0x1b0], ax
mov eax, dword [ebp - 0x16c]
mov dword [ebp - 0x1b8], eax
mov eax, dword [ebp - 0xd0]
mov word [ebp - 0x1ae], ax
sub ecx, 1
je 0x1007e73e
sub ecx, 1
je 0x1007e732
sub ecx, 1
je 0x1007e726
mov dword [ebp - 0x1b4], 0
jmp 0x1007e748
mov dword [ebp - 0x1b4], 0xff0000
jmp 0x1007e748
mov dword [ebp - 0x1b4], 0xaa0000
jmp 0x1007e748
mov dword [ebp - 0x1b4], 0x550000
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [eax + ecx*4], 1
mov eax, dword [edi + 4]
lea ecx, [eax + 1]
mov dword [edi + 4], ecx
mov dword [edi + 8], eax
mov eax, dword [edi]
mov dword [eax + ecx*4], 0x8002000a
lea eax, [ebp - 0x1bc]
inc dword [edi + 4]
mov ecx, edi
push eax
call fcn.10077b30
mov ecx, dword [edi + 8]
mov eax, dword [edi]
push 0x10
lea edx, [eax + ecx*4]
mov eax, dword [edi + 4]
sub eax, ecx
mov ecx, edi
dec eax
shl eax, 0x18
or dword [edx], eax
call fcn.10077d00
inc dword [edi + 0x10]
cmp byte [edi + 0x18], 0
je 0x1007e7a2
inc dword [edi + 0x14]
mov byte [edi + 0x18], 1
lea eax, [ebp - 0x8a8]
mov edi, dword [esi + 0x1c]
lea ecx, [ebp - 0x460]
push 1
push eax
mov dword [ebp - 0x460], 2
mov dword [ebp - 0x454], 1
mov dword [ebp - 0x458], 0xe40000
mov dword [ebp - 0x45c], 0
call fcn.10077570
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [ebp - 0x168], 0
mov dword [ebp - 0x15c], 0xa
mov dword [ebp - 0x160], 0x550000
mov dword [eax + ecx*4], 5
mov eax, dword [edi + 4]
mov dword [ebp - 0x164], 0
lea ecx, [eax + 1]
mov dword [edi + 4], ecx
mov dword [edi + 8], eax
mov eax, dword [edi]
mov dword [eax + ecx*4], 0x8002000a
lea eax, [ebp - 0x168]
inc dword [edi + 4]
mov ecx, edi
push eax
call fcn.10077b30
lea eax, [ebp - 0x8a8]
mov ecx, edi
push eax
call fcn.10077b30
mov ecx, dword [edi + 8]
mov eax, dword [edi]
push 0x10
lea edx, [eax + ecx*4]
mov eax, dword [edi + 4]
sub eax, ecx
mov ecx, edi
dec eax
shl eax, 0x18
or dword [edx], eax
call fcn.10077d00
inc dword [edi + 0x10]
cmp byte [edi + 0x18], 0
je 0x1007e875
inc dword [edi + 0x14]
mov byte [edi + 0x18], 1
mov ecx, dword [esi + 0x24]
mov edi, dword [esi + 0x1c]
push 4
lea eax, [ecx + 0x1c]
push eax
lea eax, [ebp - 0x8b8]
push eax
call fcn.10078870
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [ebp - 0x320], 0
mov dword [ebp - 0x314], 0xa
mov dword [ebp - 0x318], 0x550000
mov dword [eax + ecx*4], 2
mov eax, dword [edi + 4]
mov dword [ebp - 0x31c], 0
lea ecx, [eax + 1]
mov dword [edi + 4], ecx
mov dword [edi + 8], eax
mov eax, dword [edi]
mov dword [eax + ecx*4], 0x8002000a
lea eax, [ebp - 0x320]
inc dword [edi + 4]
mov ecx, edi
push eax
call fcn.10077b30
lea eax, [ebp - 0x8b8]
mov ecx, edi
push eax
call fcn.10077b30
mov ecx, dword [edi + 8]
mov eax, dword [edi]
push 0x10
lea edx, [eax + ecx*4]
mov eax, dword [edi + 4]
sub eax, ecx
mov ecx, edi
dec eax
shl eax, 0x18
or dword [edx], eax
call fcn.10077d00
inc dword [edi + 0x10]
cmp byte [edi + 0x18], 0
je 0x1007e921
inc dword [edi + 0x14]
mov byte [edi + 0x18], 1
mov edi, dword [esi + 0x1c]
mov dword [ebp - 0x330], 0
mov dword [ebp - 0x324], 0xa
mov dword [ebp - 0x328], 0x550000
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [ebp - 0x32c], 0
mov dword [eax + ecx*4], 0x2e
mov eax, dword [edi + 4]
lea ecx, [eax + 1]
mov dword [edi + 4], ecx
mov dword [edi + 8], eax
mov eax, dword [edi]
mov dword [eax + ecx*4], 0xb0010000
lea eax, [ebp - 0x330]
inc dword [edi + 4]
mov ecx, edi
push eax
call fcn.10077b30
mov ecx, dword [edi + 8]
mov eax, dword [edi]
push 0x10
lea edx, [eax + ecx*4]
mov eax, dword [edi + 4]
sub eax, ecx
mov ecx, edi
dec eax
shl eax, 0x18
or dword [edx], eax
call fcn.10077d00
inc dword [edi + 0x10]
cmp byte [edi + 0x18], 0
je 0x1007e9aa
inc dword [edi + 0x14]
sub esp, 0x10
mov dword [ebp - 0x354], 6
mov eax, dword [ebp - 0x354]
mov ecx, esp
sub esp, 0x10
mov dword [ebp - 0x334], 0x10000
mov byte [edi + 0x18], 1
mov dword [ebp - 0x2a0], 2
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0xe40000
mov dword [ecx + 0xc], eax
mov ecx, esp
mov eax, dword [ebp - 0x334]
sub esp, 0x10
mov dword [ebp - 0x29c], 0
mov dword [ebp - 0x298], 0xe40000
mov dword [ecx], 2
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0xe40000
mov dword [ecx + 0xc], eax
mov eax, esp
mov ecx, dword [ebp - 0x194]
sub esp, 0x10
mov dword [ebp - 0x294], 0x10004
mov dword [eax], ecx
mov ecx, dword [ebp - 0xec]
mov dword [eax + 4], 0
mov dword [eax + 8], 0xe40000
mov dword [eax + 0xc], ecx
mov eax, esp
mov ecx, esi
mov dword [eax], 0
mov dword [eax + 4], 0xc
mov dword [eax + 8], 0xf0000
mov dword [eax + 0xc], 0
call fcn.1007bf00
sub esp, 0x10
mov dword [ebp - 0x374], 6
mov eax, dword [ebp - 0x374]
mov ecx, esp
sub esp, 0x10
mov dword [ebp - 0x364], 0x12
mov dword [ebp - 0x384], 0xc
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0xe40000
mov dword [ecx + 0xc], eax
mov ecx, esp
mov eax, dword [ebp - 0x364]
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 - 0x384]
sub esp, 0x10
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0xe40000
mov dword [ecx + 0xc], eax
mov eax, esp
mov ecx, esi
mov dword [eax], 0
mov dword [eax + 4], 0xa
mov dword [eax + 8], 0xf0000
mov dword [eax + 0xc], 0
call fcn.1007bf00
sub esp, 0x10
mov dword [ebp - 0x7f4], 6
mov eax, dword [ebp - 0x7f4]
mov ecx, esp
sub esp, 0x10
mov dword [ebp - 0x6c4], 0x1a
mov dword [ebp - 0x684], 0xa
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0xe40000
mov dword [ecx + 0xc], eax
mov ecx, esp
mov eax, dword [ebp - 0x6c4]
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 - 0x684]
sub esp, 0x10
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0xe40000
mov dword [ecx + 0xc], eax
mov eax, esp
mov ecx, esi
mov dword [eax], 0
mov dword [eax + 4], 9
mov dword [eax + 8], 0xf0000
mov dword [eax + 0xc], 0
call fcn.1007bf00
mov edi, dword [esi + 0x1c]
mov eax, dword [ebp - 0x158]
cmp dword [ebp - 0xdc], eax
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [eax + ecx*4], 4
mov eax, dword [edi + 4]
lea ecx, [eax + 1]
mov dword [edi + 4], ecx
mov dword [edi + 8], eax
mov eax, dword [edi]
jne 0x1007ec7f
mov dword [eax + ecx*4], 0xc00f0000
lea eax, [ebp - 0x230]
inc dword [edi + 4]
mov ecx, edi
push eax
mov dword [ebp - 0x240], 0
mov dword [ebp - 0x234], 7
mov dword [ebp - 0x238], 0xe40000
mov dword [ebp - 0x23c], 0
mov dword [ebp - 0x230], 0
mov dword [ebp - 0x224], 9
mov dword [ebp - 0x228], 0xe40000
mov dword [ebp - 0x22c], 0
call fcn.10077b30
lea eax, [ebp - 0xfc]
mov ecx, edi
push eax
call fcn.10077b30
lea eax, [ebp - 0x240]
jmp 0x1007ecfb
mov dword [eax + ecx*4], 0x800f0007
lea eax, [ebp - 0x250]
inc dword [edi + 4]
mov ecx, edi
push eax
mov dword [ebp - 0x260], 0
mov dword [ebp - 0x254], 7
mov dword [ebp - 0x258], 0xe40000
mov dword [ebp - 0x25c], 0
mov dword [ebp - 0x250], 0
mov dword [ebp - 0x244], 9
mov dword [ebp - 0x248], 0xe40000
mov dword [ebp - 0x24c], 0
call fcn.10077b30
lea eax, [ebp - 0xfc]
mov ecx, edi
push eax
call fcn.10077b30
lea eax, [ebp - 0x260]
push eax
mov ecx, edi
call fcn.10077b30
mov ecx, dword [edi + 8]
mov eax, dword [edi]
push 0x10
lea edx, [eax + ecx*4]
mov eax, dword [edi + 4]
sub eax, ecx
mov ecx, edi
dec eax
shl eax, 0x18
or dword [edx], eax
call fcn.10077d00
inc dword [edi + 0x10]
cmp byte [edi + 0x18], 0
je 0x1007ed2b
inc dword [edi + 0x14]
mov byte [edi + 0x18], 1
mov eax, dword [esi + 0x18]
test al, 1
je 0x1007edfc
mov edi, dword [esi + 0x1c]
xor eax, eax
mov dword [ebp - 0x274], eax
mov dword [ebp - 0x27c], eax
mov dword [ebp - 0x270], eax
mov ecx, dword [edi + 4]
mov dword [ebp - 0x26c], eax
mov eax, dword [edi]
mov dword [ebp - 0x280], 0
mov dword [ebp - 0x278], 0xe40000
mov dword [ebp - 0x264], 0xa
mov dword [eax + ecx*4], 4
mov eax, dword [edi + 4]
mov dword [ebp - 0x268], 0xe40000
lea ecx, [eax + 1]
mov dword [edi + 4], ecx
mov dword [edi + 8], eax
mov eax, dword [edi]
mov dword [eax + ecx*4], 0x80070000
lea eax, [ebp - 0x270]
inc dword [edi + 4]
mov ecx, edi
push eax
call fcn.10077b30
lea eax, [ebp - 0xfc]
mov ecx, edi
push eax
call fcn.10077b30
lea eax, [ebp - 0x280]
mov ecx, edi
push eax
call fcn.10077b30
mov ecx, dword [edi + 8]
mov eax, dword [edi]
push 0x10
lea edx, [eax + ecx*4]
mov eax, dword [edi + 4]
sub eax, ecx
mov ecx, edi
dec eax
shl eax, 0x18
or dword [edx], eax
call fcn.10077d00
inc dword [edi + 0x10]
cmp byte [edi + 0x18], 0
je 0x1007edf5
inc dword [edi + 0x14]
mov byte [edi + 0x18], 1
mov eax, dword [esi + 0x18]
test al, 2
je 0x1007f519
cmp dword [ebp - 0x118], 0
je 0x1007f519
mov edi, dword [esi + 0x1c]
mov dword [ebp - 0x470], 2
mov dword [ebp - 0x464], 0x16
mov dword [ebp - 0x468], 0xe40000
mov dword [ebp - 0x46c], 0
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [eax + ecx*4], 0x17
mov eax, dword [edi + 4]
lea ecx, [eax + 1]
mov dword [edi + 4], ecx
mov dword [edi + 8], eax
mov eax, dword [edi]
mov dword [eax + ecx*4], 0x80070006
lea eax, [ebp - 0x150]
inc dword [edi + 4]
mov ecx, edi
push eax
call fcn.10077b30
lea eax, [ebp - 0x470]
mov ecx, edi
push eax
call fcn.10077b30
mov ecx, dword [edi + 8]
mov eax, dword [edi]
push 0x10
lea edx, [eax + ecx*4]
mov eax, dword [edi + 4]
sub eax, ecx
mov ecx, edi
dec eax
shl eax, 0x18
or dword [edx], eax
call fcn.10077d00
inc dword [edi + 0x10]
cmp byte [edi + 0x18], 0
je 0x1007eea4
inc dword [edi + 0x14]
mov byte [edi + 0x18], 1
mov edi, dword [esi + 0x1c]
mov dword [ebp - 0x290], 0
mov dword [ebp - 0x284], 6
mov dword [ebp - 0x288], 0xe40000
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [ebp - 0x28c], 0
mov dword [eax + ecx*4], 0x17
mov eax, dword [edi + 4]
lea ecx, [eax + 1]
mov dword [edi + 4], ecx
mov dword [edi + 8], eax
mov eax, dword [edi]
mov dword [eax + ecx*4], 0x8007000b
lea eax, [ebp - 0x290]
inc dword [edi + 4]
mov ecx, edi
push eax
call fcn.10077b30
lea eax, [ebp - 0x2a0]
mov ecx, edi
push eax
call fcn.10077b30
mov ecx, dword [edi + 8]
mov eax, dword [edi]
push 0x10
lea edx, [eax + ecx*4]
mov eax, dword [edi + 4]
sub eax, ecx
mov ecx, edi
dec eax
shl eax, 0x18
or dword [edx], eax
call fcn.10077d00
inc dword [edi + 0x10]
cmp byte [edi + 0x18], 0
je 0x1007ef3b
inc dword [edi + 0x14]
mov byte [edi + 0x18], 1
mov edi, dword [esi + 0x1c]
mov dword [ebp - 0x2c0], 0
mov dword [ebp - 0x2b4], 1
mov dword [ebp - 0x2b8], 0xe40000
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [ebp - 0x2bc], 0
mov dword [ebp - 0x2b0], 0
mov dword [ebp - 0x2a4], 0xb
mov dword [eax + ecx*4], 4
mov eax, dword [edi + 4]
mov dword [ebp - 0x2a8], 0xe40000
mov dword [ebp - 0x2ac], 0
lea ecx, [eax + 1]
mov dword [edi + 4], ecx
mov dword [edi + 8], eax
mov eax, dword [edi]
mov dword [eax + ecx*4], 0x80070001
lea eax, [ebp - 0x2b0]
inc dword [edi + 4]
mov ecx, edi
push eax
call fcn.10077b30
lea eax, [ebp - 0xfc]
mov ecx, edi
push eax
call fcn.10077b30
lea eax, [ebp - 0x2c0]
jmp 0x1007f4e5
mov dword [ebp - 0x184], 2
mov dword [ebp - 0x17c], 0xe40000
test ecx, ecx
jne 0x1007f014
mov dword [ebp - 0x90], 0xa
lea eax, [ecx + 3]
mov dword [ebp - 0x180], ecx
mov dword [ebp - 0x178], 0xe
jmp 0x1007f061
mov eax, ecx
shl eax, 6
add eax, 0x460
shr eax, 4
mov word [ebp - 0x90], ax
xor eax, eax
mov word [ebp - 0x8e], ax
mov dword [ebp - 0x180], eax
mov eax, ecx
shl eax, 6
add eax, 0x520
shr eax, 4
mov word [ebp - 0x178], ax
xor eax, eax
mov word [ebp - 0x176], ax
mov eax, ecx
shl eax, 6
add eax, 0x3a0
shr eax, 4
sub esp, 0x10
mov word [ebp - 0x1d0], ax
mov ecx, esp
mov dword [ebp - 0x694], 6
xor eax, eax
sub esp, 0x10
mov word [ebp - 0x1ce], ax
mov dword [ecx], eax
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x694]
mov dword [ecx + 8], 0xe40000
mov dword [ecx + 0xc], eax
mov ecx, esp
mov eax, dword [ebp - 0x1d0]
sub esp, 0x10
mov dword [ecx], 2
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0xe40000
mov dword [ecx + 0xc], eax
mov eax, esp
mov ecx, dword [ebp - 0x194]
sub esp, 0x10
mov dword [eax], ecx
mov ecx, dword [ebp - 0xec]
mov dword [eax + 4], 0
mov dword [eax + 8], 0xe40000
mov dword [eax + 0xc], ecx
mov eax, esp
mov ecx, esi
mov dword [eax], 0
mov dword [eax + 4], 9
mov dword [eax + 8], 0xf0000
mov dword [eax + 0xc], 0
call fcn.1007bf00
mov edi, dword [esi + 0x1c]
mov eax, dword [ebp - 0x158]
cmp dword [ebp - 0xdc], eax
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [eax + ecx*4], 4
mov eax, dword [edi + 4]
lea ecx, [eax + 1]
mov dword [edi + 4], ecx
mov dword [edi + 8], eax
mov eax, dword [edi]
jne 0x1007f1b2
mov dword [eax + ecx*4], 0xc00f0000
lea eax, [ebp - 0x2d0]
inc dword [edi + 4]
mov ecx, edi
push eax
mov dword [ebp - 0x2e0], 0
mov dword [ebp - 0x2d4], 7
mov dword [ebp - 0x2d8], 0xe40000
mov dword [ebp - 0x2dc], 0
mov dword [ebp - 0x2d0], 0
mov dword [ebp - 0x2c4], 9
mov dword [ebp - 0x2c8], 0xe40000
mov dword [ebp - 0x2cc], 0
call fcn.10077b30
lea eax, [ebp - 0xfc]
mov ecx, edi
push eax
call fcn.10077b30
lea eax, [ebp - 0x2e0]
jmp 0x1007f22e
mov dword [eax + ecx*4], 0x800f0007
lea eax, [ebp - 0x2f0]
inc dword [edi + 4]
mov ecx, edi
push eax
mov dword [ebp - 0x300], 0
mov dword [ebp - 0x2f4], 7
mov dword [ebp - 0x2f8], 0xe40000
mov dword [ebp - 0x2fc], 0
mov dword [ebp - 0x2f0], 0
mov dword [ebp - 0x2e4], 9
mov dword [ebp - 0x2e8], 0xe40000
mov dword [ebp - 0x2ec], 0
call fcn.10077b30
lea eax, [ebp - 0xfc]
mov ecx, edi
push eax
call fcn.10077b30
lea eax, [ebp - 0x300]
push eax
mov ecx, edi
call fcn.10077b30
mov ecx, dword [edi + 8]
mov eax, dword [edi]
push 0x10
lea edx, [eax + ecx*4]
mov eax, dword [edi + 4]
sub eax, ecx
mov ecx, edi
dec eax
shl eax, 0x18
or dword [edx], eax
call fcn.10077d00
inc dword [edi + 0x10]
cmp byte [edi + 0x18], 0
je 0x1007f25e
inc dword [edi + 0x14]
mov byte [edi + 0x18], 1
mov eax, dword [esi + 0x18]
test al, 1
je 0x1007f3c8
sub esp, 0x10
mov dword [ebp - 0x1c0], 6
mov eax, dword [ebp - 0x1c0]
mov ecx, esp
sub esp, 0x10
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0xe40000
mov dword [ecx + 0xc], eax
mov ecx, esp
mov eax, dword [ebp - 0x90]
sub esp, 0x10
mov dword [ecx], 2
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0xe40000
mov dword [ecx + 0xc], eax
mov eax, esp
mov ecx, dword [ebp - 0x194]
sub esp, 0x10
mov dword [eax], ecx
mov ecx, dword [ebp - 0xec]
mov dword [eax + 4], 0
mov dword [eax + 8], 0xe40000
mov dword [eax + 0xc], ecx
mov eax, esp
mov ecx, esi
mov dword [eax], 0
mov dword [eax + 4], 0xa
mov dword [eax + 8], 0xf0000
mov dword [eax + 0xc], 0
call fcn.1007bf00
mov edi, dword [esi + 0x1c]
xor eax, eax
mov dword [ebp - 0x304], eax
mov dword [ebp - 0x30c], eax
mov dword [ebp - 0x350], eax
mov ecx, dword [edi + 4]
mov dword [ebp - 0x34c], eax
mov eax, dword [edi]
mov dword [ebp - 0x310], 0
mov dword [ebp - 0x308], 0xe40000
mov dword [ebp - 0x344], 0xa
mov dword [eax + ecx*4], 4
mov eax, dword [edi + 4]
mov dword [ebp - 0x348], 0xe40000
lea ecx, [eax + 1]
mov dword [edi + 4], ecx
mov dword [edi + 8], eax
mov eax, dword [edi]
mov dword [eax + ecx*4], 0x80070000
lea eax, [ebp - 0x350]
inc dword [edi + 4]
mov ecx, edi
push eax
call fcn.10077b30
lea eax, [ebp - 0xfc]
mov ecx, edi
push eax
call fcn.10077b30
lea eax, [ebp - 0x310]
mov ecx, edi
push eax
call fcn.10077b30
mov ecx, dword [edi + 8]
mov eax, dword [edi]
push 0x10
lea edx, [eax + ecx*4]
mov eax, dword [edi + 4]
sub eax, ecx
mov ecx, edi
dec eax
shl eax, 0x18
or dword [edx], eax
call fcn.10077d00
inc dword [edi + 0x10]
cmp byte [edi + 0x18], 0
je 0x1007f3c1
inc dword [edi + 0x14]
mov byte [edi + 0x18], 1
mov eax, dword [esi + 0x18]
test al, 2
je 0x1007f519
cmp dword [ebp - 0x118], 0
je 0x1007f519
mov edi, dword [esi + 0x1c]
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [eax + ecx*4], 0x17
mov eax, dword [edi + 4]
lea ecx, [eax + 1]
mov dword [edi + 4], ecx
mov dword [edi + 8], eax
mov eax, dword [edi]
mov dword [eax + ecx*4], 0x8007000b
lea eax, [ebp - 0x150]
inc dword [edi + 4]
mov ecx, edi
push eax
call fcn.10077b30
lea eax, [ebp - 0x184]
mov ecx, edi
push eax
call fcn.10077b30
mov ecx, dword [edi + 8]
mov eax, dword [edi]
push 0x10
lea edx, [eax + ecx*4]
mov eax, dword [edi + 4]
sub eax, ecx
mov ecx, edi
dec eax
shl eax, 0x18
or dword [edx], eax
call fcn.10077d00
inc dword [edi + 0x10]
cmp byte [edi + 0x18], 0
je 0x1007f448
inc dword [edi + 0x14]
mov byte [edi + 0x18], 1
mov edi, dword [esi + 0x1c]
mov dword [ebp - 0xac], 0
mov dword [ebp - 0xa0], 1
mov dword [ebp - 0xa4], 0xe40000
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0x12c], 0
mov dword [ebp - 0x120], 0xb
mov dword [eax + ecx*4], 4
mov eax, dword [edi + 4]
mov dword [ebp - 0x124], 0xe40000
mov dword [ebp - 0x128], 0
lea ecx, [eax + 1]
mov dword [edi + 4], ecx
mov dword [edi + 8], eax
mov eax, dword [edi]
mov dword [eax + ecx*4], 0x80070001
lea eax, [ebp - 0x12c]
inc dword [edi + 4]
mov ecx, edi
push eax
call fcn.10077b30
lea eax, [ebp - 0xfc]
mov ecx, edi
push eax
call fcn.10077b30
lea eax, [ebp - 0xac]
push eax
mov ecx, edi
call fcn.10077b30
mov ecx, dword [edi + 8]
mov eax, dword [edi]
push 0x10
lea edx, [eax + ecx*4]
mov eax, dword [edi + 4]
sub eax, ecx
mov ecx, edi
dec eax
shl eax, 0x18
or dword [edx], eax
call fcn.10077d00
inc dword [edi + 0x10]
cmp byte [edi + 0x18], 0
je 0x1007f515
inc dword [edi + 0x14]
mov byte [edi + 0x18], 1
mov ecx, dword [ebp - 0xdc]
inc ecx
mov dword [ebp - 0xdc], ecx
cmp ecx, dword [ebp - 0x158]
jbe 0x1007e520
jmp 0x1007f6f0
test al, 1
je 0x1007f5d1
sub esp, 0x10
mov dword [ebp - 0x1d0], 0xa
mov ecx, esp
xor eax, eax
sub esp, 0x10
mov dword [ebp - 0x1c0], eax
mov dword [ecx], eax
mov dword [ecx + 4], eax
mov dword [ecx + 8], 0xe40000
mov dword [ecx + 0xc], eax
mov ecx, esp
sub esp, 0x10
mov dword [ecx], 2
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1d0]
mov dword [ecx + 8], 0xe40000
mov dword [ecx + 0xc], eax
mov eax, esp
mov ecx, dword [ebp - 0x194]
sub esp, 0x10
mov dword [eax], ecx
mov ecx, dword [ebp - 0xec]
mov dword [eax + 4], 0
mov dword [eax + 8], 0xe40000
mov dword [eax + 0xc], ecx
mov eax, esp
mov ecx, esi
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0xf0000
mov dword [eax + 0xc], 0
call fcn.1007bf00
mov eax, dword [esi + 0x18]
test al, 2
je 0x1007f64d
cmp dword [ebp - 0x118], 0
je 0x1007f64d
mov ecx, dword [esi + 0x1c]
lea eax, [ebp - 0x480]
push eax
lea eax, [ebp - 0x150]
mov dword [ebp - 0x480], 2
push eax
lea eax, [ebp - 0x9c]
mov dword [ebp - 0x474], 0xe
push eax
push 0x17
mov dword [ebp - 0x478], 0xe40000
mov dword [ebp - 0x47c], 0
mov dword [ebp - 0x9c], 0
mov dword [ebp - 0x98], 1
mov dword [ebp - 0x94], 0x70000
mov dword [ebp - 0x90], 0
call fcn.100778d0
sub esp, 0x10
mov dword [ebp - 0x1c0], 0xb
mov eax, dword [ebp - 0x1c0]
mov ecx, esp
sub esp, 0x10
mov dword [ebp - 0x1d0], 3
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0xe40000
mov dword [ecx + 0xc], eax
mov ecx, esp
mov eax, dword [ebp - 0x1d0]
sub esp, 0x10
mov dword [ecx], 2
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0xe40000
mov dword [ecx + 0xc], eax
mov eax, esp
mov ecx, dword [ebp - 0x194]
sub esp, 0x10
mov dword [eax], ecx
mov ecx, dword [ebp - 0xec]
mov dword [eax + 4], 0
mov dword [eax + 8], 0xe40000
mov dword [eax + 0xc], ecx
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.1007bf00
test byte [esi + 0x18], 2
je 0x1007f7e1
cmp dword [ebp - 0x118], 0
je 0x1007f7e1
cmp dword [esi + 4], 0
jge 0x1007f7e1
mov ecx, dword [esi + 0x1c]
lea eax, [ebp - 0xac]
push eax
lea eax, [ebp - 0x810]
mov dword [ebp - 0xac], 0
push eax
push 0x24
mov dword [ebp - 0xa0], 1
mov dword [ebp - 0xa4], 0xe40000
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0x810], 0
mov dword [ebp - 0x80c], 0xb
mov dword [ebp - 0x808], 0x70000
mov dword [ebp - 0x804], 0
call fcn.10077840
mov ecx, dword [esi + 0x1c]
lea eax, [ebp - 0xac]
push eax
lea eax, [ebp - 0x9c]
mov dword [ebp - 0xac], 0
push eax
push 1
mov dword [ebp - 0xa0], 0xb
mov dword [ebp - 0xa4], 0xe40000
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0x9c], 0
mov dword [ebp - 0x98], 1
mov dword [ebp - 0x94], 0x70000
mov dword [ebp - 0x90], 0
call fcn.10077840
test dword [esi + 4], 0x1000000
je 0x100802d7
mov ecx, dword [esi + 0x24]
push 0x10
mov dword [ebp - 0xd0], 2
mov dword [ebp - 0x15c], 0x66
lea eax, [ecx + 0x670]
mov dword [ebp - 0xdc], 0xe40000
push eax
lea eax, [ebp - 0xc8]
mov dword [ebp - 0xec], 0
push eax
call fcn.10078870
mov ecx, dword [esi + 0x24]
push 0x10
lea eax, [ecx + 0x640]
push eax
lea eax, [ebp - 0xfc]
push eax
call fcn.10078870
mov ecx, dword [esi + 0x24]
push 0x10
lea eax, [ecx + 0x650]
push eax
lea eax, [ebp - 0x150]
push eax
call fcn.10078870
mov edx, dword [esi + 4]
test edx, 0x40000000
je 0x1007fa62
mov ecx, dword [esi + 8]
test dl, 0x10
je 0x1007f971
mov eax, ecx
and eax, 0xc00
cmp eax, 0x400
jne 0x1007f8b7
mov eax, dword [ebp - 0x190]
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0x18c]
mov dword [ebp - 0xec], eax
mov eax, dword [ebp - 0x188]
mov dword [ebp - 0xdc], eax
mov eax, dword [ebp - 0x114]
mov dword [ebp - 0x15c], eax
mov eax, ecx
and eax, 0x3000
cmp eax, 0x1000
jne 0x1007f8f5
mov eax, dword [ebp - 0x190]
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp - 0x18c]
mov dword [ebp - 0xc4], eax
mov eax, dword [ebp - 0x188]
mov dword [ebp - 0xc0], eax
mov eax, dword [ebp - 0x114]
mov dword [ebp - 0xbc], eax
mov eax, ecx
and eax, 0xc000
cmp eax, 0x4000
jne 0x1007f933
mov eax, dword [ebp - 0x190]
mov dword [ebp - 0xfc], eax
mov eax, dword [ebp - 0x18c]
mov dword [ebp - 0xf8], eax
mov eax, dword [ebp - 0x188]
mov dword [ebp - 0xf4], eax
mov eax, dword [ebp - 0x114]
mov dword [ebp - 0xf0], eax
mov eax, ecx
and eax, 0x30000
cmp eax, 0x10000
jne 0x1007f971
mov eax, dword [ebp - 0x190]
mov dword [ebp - 0x150], eax
mov eax, dword [ebp - 0x18c]
mov dword [ebp - 0x14c], eax
mov eax, dword [ebp - 0x188]
mov dword [ebp - 0x148], eax
mov eax, dword [ebp - 0x114]
mov dword [ebp - 0x144], eax
test dl, 0x20
je 0x1007fa62
mov edx, dword [ebp - 0xcc]
mov eax, ecx
and eax, 0xc00
cmp eax, 0x800
jne 0x1007f9b8
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 0xec], eax
mov eax, dword [ebp - 0xb8]
mov dword [ebp - 0xdc], edx
mov dword [ebp - 0x15c], eax
mov eax, ecx
and eax, 0x3000
cmp eax, 0x2000
jne 0x1007f9f0
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 0xc4], eax
mov eax, dword [ebp - 0xb8]
mov dword [ebp - 0xc0], edx
mov dword [ebp - 0xbc], eax
mov eax, ecx
and eax, 0xc000
cmp eax, 0x8000
jne 0x1007fa2a
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0xfc], eax
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 0xf8], eax
mov eax, dword [ebp - 0xb8]
mov dword [ebp - 0xf4], edx
mov dword [ebp - 0xf0], eax
jmp 0x1007fa30
mov eax, dword [ebp - 0xb8]
and ecx, 0x30000
cmp ecx, 0x20000
jne 0x1007fa62
mov ecx, dword [ebp - 0xd8]
mov dword [ebp - 0x150], ecx
mov ecx, dword [ebp - 0xd4]
mov dword [ebp - 0x14c], ecx
mov dword [ebp - 0x148], edx
mov dword [ebp - 0x144], eax
mov ecx, dword [ebp - 0x150]
mov dword [ebp - 0x184], 0
mov dword [ebp - 0x180], 0
mov dword [ebp - 0x17c], 0xe40000
mov dword [ebp - 0x178], 0xa
mov dword [ebp - 0x13c], 0
mov dword [ebp - 0x138], 0xa
mov dword [ebp - 0x134], 0x70000
mov dword [ebp - 0x130], 0
cmp ecx, 2
je 0x1007fb0f
mov eax, dword [ebp - 0xfc]
cmp eax, 2
je 0x1007fb0f
cmp eax, 1
jne 0x1007fad1
cmp ecx, eax
je 0x1007fb0f
mov ecx, dword [esi + 0x24]
mov edi, dword [esi + 0x1c]
push 0x10
lea eax, [ecx + 0x70]
push eax
lea eax, [ebp - 0x8c8]
push eax
call fcn.10078870
lea eax, [ebp - 0x150]
push eax
lea eax, [ebp - 0x8c8]
push eax
lea eax, [ebp - 0xfc]
push eax
lea eax, [ebp - 0x13c]
push eax
push ecx
mov ecx, edi
call fcn.10077970
jmp 0x1007fb7c
mov ecx, dword [esi + 0x1c]
lea eax, [ebp - 0xfc]
push eax
lea eax, [ebp - 0x13c]
push eax
push 1
call fcn.10077840
mov ecx, dword [esi + 0x24]
mov edi, dword [esi + 0x1c]
push 0x10
lea eax, [ecx + 0x70]
push eax
lea eax, [ebp - 0x8d8]
push eax
call fcn.10078870
lea eax, [ebp - 0x8d8]
mov ecx, edi
push eax
lea eax, [ebp - 0x184]
push eax
lea eax, [ebp - 0x13c]
push eax
push 5
call fcn.100778d0
mov ecx, dword [esi + 0x1c]
lea eax, [ebp - 0x150]
push eax
lea eax, [ebp - 0x184]
push eax
lea eax, [ebp - 0x13c]
push eax
push 2
call fcn.100778d0
test dword [esi + 4], 0x20000000
je 0x1007fc30
test dword [ebp - 0x8c], 0x80000
je 0x1007fc30
mov ecx, dword [esi + 0x24]
xor eax, eax
mov edi, dword [esi + 0x1c]
mov dword [ebp - 0x154], eax
mov dword [ebp - 0x1ec], eax
mov dword [ebp - 0x11c], eax
mov dword [ebp - 0x1e8], eax
mov eax, 0xe40000
push 4
mov dword [ebp - 0xcc], eax
mov dword [ebp - 0x1e4], eax
lea eax, [ebp - 0x8e8]
push ecx
push eax
mov dword [ebp - 0x1e0], 0xb
mov dword [ebp - 0x9c], 0
mov dword [ebp - 0x98], 0xb
mov dword [ebp - 0x94], 0x70000
mov dword [ebp - 0x90], 0
call fcn.10078870
lea eax, [ebp - 0x8e8]
mov ecx, edi
push eax
lea eax, [ebp - 0x9c]
push eax
push 1
call fcn.10077840
mov edi, dword [ebp - 0x1e0]
mov dword [ebp - 0xb8], edi
jmp 0x1007fc36
mov edi, dword [ebp - 0xb8]
mov edx, dword [esi + 8]
mov eax, dword [esi + 0x24]
shr edx, 3
and edx, 0xffffff01
mov cl, dl
mov dword [ebp - 0x114], edx
xor cl, 1
mov byte [eax + 0xfa94], cl
test byte [esi + 8], 1
je 0x1007fdda
test dl, dl
jne 0x1007fc95
mov ecx, dword [esi + 0x1c]
xor eax, eax
mov dword [ebp - 0x484], eax
mov dword [ebp - 0x48c], eax
lea eax, [ebp - 0x490]
push eax
mov dword [ebp - 0x490], 7
mov dword [ebp - 0x488], 0xe40000
call fcn.10077a80
mov ecx, dword [ebp - 0x154]
xor eax, eax
sub esp, 0x10
mov dword [ebp - 0x1d0], eax
mov eax, esp
mov dword [ebp - 0x1c0], 1
sub esp, 0x10
mov dword [eax], ecx
mov ecx, dword [ebp - 0x11c]
mov dword [eax + 4], ecx
mov ecx, dword [ebp - 0xcc]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edi
mov eax, esp
mov ecx, dword [ebp - 0x178]
sub esp, 0x10
mov edi, dword [ebp - 0xfc]
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0xe40000
mov dword [eax + 0xc], ecx
mov eax, esp
mov ecx, dword [ebp - 0xf8]
sub esp, 0x10
mov dword [eax], edi
mov dword [eax + 4], ecx
mov ecx, dword [ebp - 0xf4]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0xf0]
mov dword [eax + 0xc], ecx
mov eax, esp
mov ecx, dword [ebp - 0xd0]
sub esp, 0x10
mov dword [eax], ecx
mov ecx, dword [ebp - 0xec]
mov dword [eax + 4], ecx
mov ecx, dword [ebp - 0xdc]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x15c]
mov dword [eax + 0xc], ecx
mov ecx, esp
mov eax, dword [ebp - 0x1c0]
sub esp, 0x10
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0xe40000
mov dword [ecx + 0xc], eax
mov ecx, esp
push dword [ebp - 0x118]
mov eax, dword [ebp - 0x1d0]
push 3
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0xe40000
mov dword [ecx + 0xc], eax
mov ecx, esi
call fcn.1007c040
mov edx, dword [ebp - 0x114]
test dl, dl
jne 0x1007fde0
mov edi, dword [esi + 0x1c]
push 0x10
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [eax + ecx*4], 0x1d
mov edx, dword [edi + 4]
lea eax, [edx + 1]
mov dword [edi + 4], eax
mov dword [edi + 8], edx
mov ecx, dword [edi]
mov eax, dword [ecx + edx*4]
mov dword [ecx + edx*4], eax
mov ecx, edi
call fcn.10077d00
inc dword [edi + 0x10]
cmp byte [edi + 0x18], 0
je 0x1007fdd0
inc dword [edi + 0x14]
mov edx, dword [ebp - 0x114]
mov byte [edi + 0x18], 1
mov edi, dword [ebp - 0xfc]
test byte [esi + 8], 2
je 0x1007ff64
test dl, dl
jne 0x1007fe25
mov ecx, dword [esi + 0x1c]
lea eax, [ebp - 0x4a0]
push eax
mov dword [ebp - 0x4a0], 7
mov dword [ebp - 0x494], 1
mov dword [ebp - 0x498], 0xe40000
mov dword [ebp - 0x49c], 0
call fcn.10077a80
mov ecx, dword [ebp - 0x154]
xor eax, eax
sub esp, 0x10
mov dword [ebp - 0x1d0], eax
mov eax, esp
mov dword [ebp - 0x1c0], 1
sub esp, 0x10
mov dword [eax], ecx
mov ecx, dword [ebp - 0x11c]
mov dword [eax + 4], ecx
mov ecx, dword [ebp - 0xcc]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0xb8]
mov dword [eax + 0xc], ecx
mov eax, esp
mov ecx, dword [ebp - 0x178]
sub esp, 0x10
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0xe40000
mov dword [eax + 0xc], ecx
mov eax, esp
mov ecx, dword [ebp - 0xf4]
sub esp, 0x10
mov dword [eax], edi
mov edi, dword [ebp - 0xf8]
mov dword [eax + 4], edi
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0xf0]
mov dword [eax + 0xc], ecx
mov eax, esp
mov ecx, dword [ebp - 0xd0]
sub esp, 0x10
mov dword [eax], ecx
mov ecx, dword [ebp - 0xec]
mov dword [eax + 4], ecx
mov ecx, dword [ebp - 0xdc]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x15c]
mov dword [eax + 0xc], ecx
mov ecx, esp
mov eax, dword [ebp - 0x1c0]
sub esp, 0x10
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0xe40000
mov dword [ecx + 0xc], eax
mov ecx, esp
push dword [ebp - 0x118]
mov eax, dword [ebp - 0x1d0]
push 1
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0xe40000
mov dword [ecx + 0xc], eax
mov ecx, esi
call fcn.1007c040
mov eax, dword [ebp - 0x114]
test al, al
jne 0x1007ff70
mov edi, dword [esi + 0x1c]
push 0x10
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [eax + ecx*4], 0x1d
mov edx, dword [edi + 4]
lea eax, [edx + 1]
mov dword [edi + 4], eax
mov dword [edi + 8], edx
mov ecx, dword [edi]
mov eax, dword [ecx + edx*4]
mov dword [ecx + edx*4], eax
mov ecx, edi
call fcn.10077d00
inc dword [edi + 0x10]
cmp byte [edi + 0x18], 0
je 0x1007ff60
inc dword [edi + 0x14]
mov byte [edi + 0x18], 1
mov edi, dword [ebp - 0xf8]
mov eax, dword [ebp - 0x114]
test byte [esi + 8], 4
je 0x100800f3
test al, al
jne 0x1007ffb5
mov ecx, dword [esi + 0x1c]
lea eax, [ebp - 0x4b0]
push eax
mov dword [ebp - 0x4b0], 7
mov dword [ebp - 0x4a4], 2
mov dword [ebp - 0x4a8], 0xe40000
mov dword [ebp - 0x4ac], 0
call fcn.10077a80
mov ecx, dword [ebp - 0x154]
xor eax, eax
sub esp, 0x10
mov dword [ebp - 0x1d0], eax
mov eax, esp
mov dword [ebp - 0x1c0], 1
sub esp, 0x10
mov dword [eax], ecx
mov ecx, dword [ebp - 0x11c]
mov dword [eax + 4], ecx
mov ecx, dword [ebp - 0xcc]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0xb8]
mov dword [eax + 0xc], ecx
mov eax, esp
mov ecx, dword [ebp - 0x178]
sub esp, 0x10
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0xe40000
mov dword [eax + 0xc], ecx
mov eax, esp
mov ecx, dword [ebp - 0xfc]
sub esp, 0x10
mov dword [eax], ecx
mov ecx, dword [ebp - 0xf4]
mov dword [eax + 4], edi
mov edi, dword [ebp - 0xd0]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0xf0]
mov dword [eax + 0xc], ecx
mov eax, esp
mov ecx, dword [ebp - 0xec]
sub esp, 0x10
mov dword [eax], edi
mov dword [eax + 4], ecx
mov ecx, dword [ebp - 0xdc]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x15c]
mov dword [eax + 0xc], ecx
mov ecx, esp
mov eax, dword [ebp - 0x1c0]
sub esp, 0x10
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0xe40000
mov dword [ecx + 0xc], eax
mov ecx, esp
push dword [ebp - 0x118]
mov eax, dword [ebp - 0x1d0]
push 2
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0xe40000
mov dword [ecx + 0xc], eax
mov ecx, esi
call fcn.1007c040
cmp byte [ebp - 0x114], 0
jne 0x100800f9
mov edi, dword [esi + 0x1c]
push 0x10
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [eax + ecx*4], 0x1d
mov edx, dword [edi + 4]
lea eax, [edx + 1]
mov dword [edi + 4], eax
mov dword [edi + 8], edx
mov ecx, dword [edi]
mov eax, dword [ecx + edx*4]
mov dword [ecx + edx*4], eax
mov ecx, edi
call fcn.10077d00
inc dword [edi + 0x10]
cmp byte [edi + 0x18], 0
je 0x100800ef
inc dword [edi + 0x14]
mov byte [edi + 0x18], 1
mov edi, dword [ebp - 0xd0]
cmp dword [ebp - 0xb0], 0
je 0x100801be
mov ecx, dword [esi + 0x1c]
lea eax, [ebp - 0x184]
push eax
lea eax, [ebp - 0x6e0]
mov dword [ebp - 0x6e0], 5
push eax
push 1
mov dword [ebp - 0x6dc], 0
mov dword [ebp - 0x6d8], 0x70000
mov dword [ebp - 0x6d4], 0
call fcn.10077840
mov ecx, dword [esi + 0x1c]
movzx eax, word [ebp - 0x15c]
mov word [ebp - 0x4b4], ax
mov eax, dword [ebp - 0xec]
mov dword [ebp - 0x4bc], eax
movzx eax, word [ebp - 0x15a]
mov word [ebp - 0x4b2], ax
lea eax, [ebp - 0x4c0]
push eax
lea eax, [ebp - 0x6f0]
mov dword [ebp - 0x4c0], edi
push eax
push 1
mov dword [ebp - 0x4b8], 0xff0000
mov dword [ebp - 0x6f0], 5
mov dword [ebp - 0x6ec], 0
mov dword [ebp - 0x6e8], 0x80000
mov dword [ebp - 0x6e4], 0
call fcn.10077840
test dword [ebp - 0x8c], 0x80000
je 0x1008036c
test dword [esi + 4], 0x20000000
mov ecx, dword [esi + 0x1c]
je 0x1008029d
lea eax, [ebp - 0xc8]
mov dword [ebp - 0x700], 5
push eax
lea eax, [ebp - 0x1ec]
mov dword [ebp - 0x6fc], 1
push eax
lea eax, [ebp - 0x700]
mov dword [ebp - 0x6f8], 0x70000
push eax
push 5
mov dword [ebp - 0x6f4], 0
call fcn.100778d0
mov ecx, dword [esi + 0x1c]
mov eax, dword [ebp - 0xc8]
mov dword [ebp - 0x4d0], eax
movzx eax, word [ebp - 0xbc]
mov word [ebp - 0x4c4], ax
mov eax, dword [ebp - 0xc4]
mov dword [ebp - 0x4cc], eax
movzx eax, word [ebp - 0xba]
mov word [ebp - 0x4c2], ax
lea eax, [ebp - 0x4d0]
push eax
mov dword [ebp - 0x4c8], 0xff0000
lea eax, [ebp - 0x710]
mov dword [ebp - 0x710], 5
mov dword [ebp - 0x70c], 1
mov dword [ebp - 0x708], 0x80000
mov dword [ebp - 0x704], 0
jmp 0x10080364
lea eax, [ebp - 0x10c]
mov dword [ebp - 0x720], 5
push eax
mov dword [ebp - 0x71c], 1
lea eax, [ebp - 0x720]
mov dword [ebp - 0x718], 0xf0000
mov dword [ebp - 0x714], 0
jmp 0x10080364
cmp dword [ebp - 0xb0], 0
je 0x10080320
mov ecx, dword [esi + 0x1c]
lea eax, [ebp - 0xc8]
push eax
lea eax, [ebp - 0x730]
mov dword [ebp - 0x730], 5
push eax
push 1
mov dword [ebp - 0x72c], 0
mov dword [ebp - 0x728], 0xf0000
mov dword [ebp - 0x724], 0
call fcn.10077840
test dword [ebp - 0x8c], 0x80000
je 0x1008036c
mov ecx, dword [esi + 0x1c]
lea eax, [ebp - 0x10c]
push eax
mov dword [ebp - 0x740], 5
lea eax, [ebp - 0x740]
mov dword [ebp - 0x73c], 1
mov dword [ebp - 0x738], 0xf0000
mov dword [ebp - 0x734], 0
push eax
push 1
call fcn.10077840
mov edx, dword [esi + 4]
mov eax, edx
and eax, 0x8200000
cmp eax, 0x8200000
jne 0x10080ac6
mov edi, dword [esi + 8]
or dword [ebp - 0x110], 0x2000
shr edi, 0x14
and edi, 3
mov dword [ebp - 0xb4], edi
je 0x10080a48
push 0
push 0xb
lea ecx, [ebp - 0xc4]
call fcn.100775e0
xor eax, eax
test edx, 0x10000000
je 0x10080514
mov ecx, dword [ebp - 0xc0]
mov edi, dword [ebp - 0xc4]
mov dword [ebp - 0xac], eax
mov dword [ebp - 0xa0], eax
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0x12c], eax
mov dword [ebp - 0x120], eax
mov dword [ebp - 0x128], eax
mov dword [ebp - 0x9c], eax
mov dword [ebp - 0x90], eax
lea eax, [ebp - 0xac]
push eax
lea eax, [ebp - 0x12c]
mov dword [ebp - 0x94], ecx
mov ecx, dword [esi + 0x1c]
push eax
lea eax, [ebp - 0x9c]
mov dword [ebp - 0xa4], 0xe40000
push eax
push 8
mov dword [ebp - 0x124], 0xe40000
mov dword [ebp - 0x98], edi
call fcn.100778d0
mov edx, dword [ebp - 0xbc]
xor eax, eax
mov ecx, dword [esi + 0x1c]
mov word [ebp - 0x9e], ax
mov dword [ebp - 0x9c], eax
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0x94], eax
lea eax, [ebp - 0xac]
push eax
lea eax, [ebp - 0x9c]
mov dword [ebp - 0xac], 0
push eax
push 7
mov word [ebp - 0xa0], di
mov dword [ebp - 0xa4], edx
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0x98], edi
mov dword [ebp - 0x90], 0
call fcn.10077840
mov eax, dword [ebp - 0xbc]
mov ecx, dword [esi + 0x1c]
mov dword [ebp - 0xa4], eax
xor eax, eax
mov word [ebp - 0x9e], ax
mov dword [ebp - 0x9c], eax
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0x94], eax
lea eax, [ebp - 0xac]
push eax
lea eax, [ebp - 0x9c]
mov dword [ebp - 0xac], 0
push eax
push 6
mov word [ebp - 0xa0], di
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0x98], edi
mov dword [ebp - 0x90], 0
call fcn.10077840
mov edi, dword [ebp - 0xb4]
jmp 0x10080574
mov ecx, dword [esi + 0x1c]
mov dword [ebp - 0x4d4], eax
mov dword [ebp - 0x4dc], eax
mov dword [ebp - 0x9c], eax
mov eax, dword [ebp - 0xc4]
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0x94], eax
lea eax, [ebp - 0x4e0]
push eax
lea eax, [ebp - 0x9c]
mov dword [ebp - 0x4e0], 0
push eax
push 0x23
mov dword [ebp - 0x4d8], 0xaa0000
mov dword [ebp - 0x90], 0
call fcn.10077840
sub edi, 1
je 0x100808ca
sub edi, 1
je 0x100806b4
sub edi, 1
jne 0x10080ac6
mov ecx, dword [esi + 0x24]
mov edi, dword [esi + 0x1c]
push 4
lea eax, [ecx + 0x90]
push eax
lea eax, [ebp - 0x8f8]
push eax
call fcn.10078870
mov eax, dword [ebp - 0xc4]
xor ecx, ecx
mov edx, dword [ebp - 0xbc]
mov word [ebp - 0xa0], ax
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0x94], eax
lea eax, [ebp - 0x8f8]
push eax
lea eax, [ebp - 0xac]
mov word [ebp - 0x9e], cx
push eax
lea eax, [ebp - 0x9c]
mov dword [ebp - 0x9c], ecx
push eax
mov dword [ebp - 0x90], ecx
mov ecx, edi
push 5
mov dword [ebp - 0xac], 0
mov dword [ebp - 0xa4], edx
mov dword [ebp - 0xa8], 0
call fcn.100778d0
mov ecx, dword [esi + 0x24]
mov edi, dword [esi + 0x1c]
push 4
lea eax, [ecx + 0x94]
push eax
lea eax, [ebp - 0x908]
push eax
call fcn.10078870
mov eax, dword [ebp - 0xc4]
mov ecx, edi
mov word [ebp - 0xa0], ax
mov eax, dword [ebp - 0xbc]
mov dword [ebp - 0xa4], eax
xor eax, eax
mov word [ebp - 0x9e], ax
mov dword [ebp - 0x744], eax
lea eax, [ebp - 0x908]
push eax
lea eax, [ebp - 0xac]
mov dword [ebp - 0xac], 0
push eax
lea eax, [ebp - 0x750]
mov dword [ebp - 0xa8], 0
push eax
push 2
mov dword [ebp - 0x750], 4
mov dword [ebp - 0x74c], 1
mov dword [ebp - 0x748], 0xf0000
call fcn.100778d0
jmp 0x10080ac6
mov edi, dword [esi + 0x1c]
lea eax, [ebp - 0xa1c]
push eax
call fcn.10078370
mov ecx, dword [ebp - 0xc4]
mov edx, dword [ebp - 0xbc]
push eax
lea eax, [ebp - 0xac]
mov word [ebp - 0xa0], cx
push eax
mov dword [ebp - 0x98], ecx
lea eax, [ebp - 0x9c]
mov ecx, dword [ebp - 0xc0]
mov dword [ebp - 0xa4], edx
xor edx, edx
push eax
mov dword [ebp - 0x94], ecx
mov ecx, edi
push 5
mov dword [ebp - 0xac], 0
mov dword [ebp - 0xa8], 0
mov word [ebp - 0x9e], dx
mov dword [ebp - 0x9c], edx
mov dword [ebp - 0x90], edx
call fcn.100778d0
mov eax, dword [ebp - 0xc4]
xor edx, edx
mov ecx, dword [ebp - 0xbc]
mov word [ebp - 0xa0], ax
mov word [ebp - 0x120], ax
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0x94], eax
lea eax, [ebp - 0xac]
push eax
lea eax, [ebp - 0x12c]
mov dword [ebp - 0xa4], ecx
push eax
mov dword [ebp - 0x124], ecx
lea eax, [ebp - 0x9c]
xor ecx, ecx
mov dword [ebp - 0xac], 0
push eax
mov word [ebp - 0x11e], cx
mov dword [ebp - 0x9c], ecx
mov dword [ebp - 0x90], ecx
mov ecx, dword [esi + 0x1c]
push 5
mov dword [ebp - 0xa8], 0
mov word [ebp - 0x9e], dx
mov dword [ebp - 0x12c], edx
mov dword [ebp - 0x128], edx
call fcn.100778d0
mov edi, dword [esi + 0x1c]
mov eax, dword [ebp - 0xc4]
mov word [ebp - 0x4e4], ax
mov eax, dword [ebp - 0xbc]
mov dword [ebp - 0x4e8], eax
xor eax, eax
mov word [ebp - 0x4e2], ax
lea eax, [ebp - 0xa2c]
push eax
mov dword [ebp - 0x4f0], 0
mov dword [ebp - 0x4ec], 0x1000000
call fcn.10078330
lea ecx, [ebp - 0x4f0]
mov dword [ebp - 0x9c], 0
push ecx
push eax
lea eax, [ebp - 0x9c]
mov dword [ebp - 0x98], 0xa
push eax
push 0x20
mov ecx, edi
mov dword [ebp - 0x94], 0xf0000
mov dword [ebp - 0x90], 0
call fcn.100778d0
mov edx, dword [esi + 0x1c]
lea ecx, [ebp - 0x828]
push 0
push 0xa
call fcn.100775e0
mov ax, word [ebp - 0x828]
mov ecx, edx
mov word [ebp - 0xa0], ax
mov eax, dword [ebp - 0x820]
mov dword [ebp - 0xa4], eax
xor eax, eax
mov word [ebp - 0x9e], ax
mov dword [ebp - 0x754], eax
lea eax, [ebp - 0xac]
push eax
mov dword [ebp - 0xac], 0
lea eax, [ebp - 0x760]
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0x760], 4
mov dword [ebp - 0x75c], 1
mov dword [ebp - 0x758], 0xf0000
jmp 0x10080abe
mov edi, dword [esi + 0x1c]
lea eax, [ebp - 0xa3c]
push eax
call fcn.10078370
mov ecx, dword [ebp - 0xc4]
mov edx, dword [ebp - 0xbc]
push eax
lea eax, [ebp - 0xac]
mov word [ebp - 0xa0], cx
push eax
mov dword [ebp - 0x98], ecx
lea eax, [ebp - 0x9c]
mov ecx, dword [ebp - 0xc0]
mov dword [ebp - 0xa4], edx
xor edx, edx
push eax
mov dword [ebp - 0x94], ecx
mov ecx, edi
push 5
mov dword [ebp - 0xac], 0
mov dword [ebp - 0xa8], 0
mov word [ebp - 0x9e], dx
mov dword [ebp - 0x9c], edx
mov dword [ebp - 0x90], edx
call fcn.100778d0
mov edi, dword [esi + 0x1c]
mov eax, dword [ebp - 0xc4]
mov word [ebp - 0x4f4], ax
mov eax, dword [ebp - 0xbc]
mov dword [ebp - 0x4f8], eax
xor eax, eax
mov word [ebp - 0x4f2], ax
lea eax, [ebp - 0xa4c]
push eax
mov dword [ebp - 0x500], 0
mov dword [ebp - 0x4fc], 0x1000000
call fcn.10078330
lea ecx, [ebp - 0x500]
mov dword [ebp - 0x9c], 0
push ecx
push eax
lea eax, [ebp - 0x9c]
mov dword [ebp - 0x98], 0xa
push eax
push 0x20
mov ecx, edi
mov dword [ebp - 0x94], 0xf0000
mov dword [ebp - 0x90], 0
call fcn.100778d0
mov edx, dword [esi + 0x1c]
lea ecx, [ebp - 0x81c]
push 0
push 0xa
call fcn.100775e0
mov ax, word [ebp - 0x81c]
mov ecx, edx
mov word [ebp - 0xa0], ax
mov eax, dword [ebp - 0x814]
mov dword [ebp - 0xa4], eax
xor eax, eax
mov word [ebp - 0x9e], ax
mov dword [ebp - 0x764], eax
lea eax, [ebp - 0xac]
push eax
mov dword [ebp - 0xac], 0
lea eax, [ebp - 0x770]
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0x770], 4
mov dword [ebp - 0x76c], 1
mov dword [ebp - 0x768], 0xf0000
jmp 0x10080abe
mov ecx, dword [esi + 0x1c]
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0x510], eax
movzx eax, word [ebp - 0x100]
mov word [ebp - 0x504], ax
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 0x50c], eax
movzx eax, word [ebp - 0xfe]
mov word [ebp - 0x502], ax
lea eax, [ebp - 0x510]
push eax
mov dword [ebp - 0x508], 0xff0000
lea eax, [ebp - 0x780]
mov dword [ebp - 0x780], 4
mov dword [ebp - 0x77c], 1
mov dword [ebp - 0x778], 0xf0000
mov dword [ebp - 0x774], 0
push eax
push 1
call fcn.10077840
mov eax, dword [esi + 8]
test al, 0x20
je 0x10081448
test dword [esi + 4], 0x100000
je 0x10081448
or dword [ebp - 0x110], 0x20
test al, 0x10
je 0x10081408
push 0
push 0xb
lea ecx, [ebp - 0x108]
call fcn.100775e0
mov edi, dword [ebp - 0x104]
xor eax, eax
mov ecx, dword [esi + 0x1c]
mov dword [ebp - 0xa0], eax
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0x12c], eax
mov dword [ebp - 0x120], eax
mov dword [ebp - 0x128], eax
mov dword [ebp - 0x9c], eax
mov eax, dword [ebp - 0x108]
mov dword [ebp - 0x98], eax
lea eax, [ebp - 0xac]
push eax
lea eax, [ebp - 0x12c]
mov dword [ebp - 0xac], 0
push eax
lea eax, [ebp - 0x9c]
mov dword [ebp - 0xa4], 0xe40000
push eax
push 8
mov dword [ebp - 0x124], 0xe40000
mov dword [ebp - 0x94], edi
mov dword [ebp - 0x90], 0
call fcn.100778d0
mov eax, dword [ebp - 0x100]
mov ecx, dword [ebp - 0x108]
mov dword [ebp - 0xa4], eax
xor eax, eax
mov word [ebp - 0x9e], ax
mov dword [ebp - 0x9c], eax
mov dword [ebp - 0x90], eax
lea eax, [ebp - 0xac]
push eax
lea eax, [ebp - 0x9c]
mov word [ebp - 0xa0], cx
push eax
mov dword [ebp - 0x98], ecx
mov ecx, dword [esi + 0x1c]
push 7
mov dword [ebp - 0xac], 0
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0x94], edi
call fcn.10077840
mov eax, dword [ebp - 0x100]
mov ecx, dword [ebp - 0x108]
mov dword [ebp - 0xa4], eax
xor eax, eax
mov word [ebp - 0x9e], ax
mov dword [ebp - 0x9c], eax
mov dword [ebp - 0x90], eax
lea eax, [ebp - 0xac]
push eax
lea eax, [ebp - 0x9c]
mov word [ebp - 0xa0], cx
push eax
mov dword [ebp - 0x98], ecx
mov ecx, dword [esi + 0x1c]
push 6
mov dword [ebp - 0xac], 0
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0x94], edi
call fcn.10077840
push 0
push 0xa
lea ecx, [ebp - 0xc4]
call fcn.100775e0
mov ecx, dword [esi + 0x24]
mov edi, dword [esi + 0x1c]
push 4
lea eax, [ecx + 0x634]
push eax
lea eax, [ebp - 0x918]
push eax
call fcn.10078870
mov eax, dword [ebp - 0xc4]
mov dword [ebp - 0x9c], 0
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0xc0]
mov ecx, edi
mov dword [ebp - 0x94], eax
lea eax, [ebp - 0x918]
push eax
lea eax, [ebp - 0x9c]
mov dword [ebp - 0x90], 0
push eax
push 1
call fcn.10077840
mov eax, dword [ebp - 0xc4]
mov ecx, dword [esi + 0x24]
mov edi, dword [esi + 0x1c]
mov word [ebp - 0xa0], ax
mov eax, dword [ebp - 0xbc]
mov dword [ebp - 0xa4], eax
xor eax, eax
mov word [ebp - 0x9e], ax
mov dword [ebp - 0x12c], eax
mov eax, dword [ebp - 0x108]
mov word [ebp - 0x120], ax
mov eax, dword [ebp - 0x100]
mov dword [ebp - 0x124], eax
xor eax, eax
mov word [ebp - 0x11e], ax
lea eax, [ecx + 0x638]
push 4
push eax
lea eax, [ebp - 0x928]
mov dword [ebp - 0xac], 0
push eax
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0x128], 0
call fcn.10078870
mov eax, dword [ebp - 0xc4]
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0x94], eax
lea eax, [ebp - 0xac]
push eax
lea eax, [ebp - 0x12c]
mov dword [ebp - 0x9c], 0
push eax
lea eax, [ebp - 0x928]
mov dword [ebp - 0x90], 0
push eax
lea eax, [ebp - 0x9c]
push eax
push ecx
mov ecx, edi
call fcn.10077970
mov ecx, dword [esi + 0x24]
mov edi, dword [esi + 0x1c]
push 4
lea eax, [ecx + 0x630]
push eax
lea eax, [ebp - 0x938]
push eax
call fcn.10078870
mov eax, dword [ebp - 0x108]
mov ecx, dword [ebp - 0xbc]
mov word [ebp - 0xa0], ax
mov eax, dword [ebp - 0x100]
mov dword [ebp - 0xa4], eax
xor eax, eax
mov word [ebp - 0x9e], ax
mov dword [ebp - 0x12c], eax
mov eax, dword [ebp - 0xc4]
mov word [ebp - 0x120], ax
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0x124], ecx
xor ecx, ecx
mov dword [ebp - 0x94], eax
lea eax, [ebp - 0x938]
mov dword [ebp - 0xac], 0
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0x128], 0
mov word [ebp - 0x11e], cx
mov dword [ebp - 0x9c], ecx
mov dword [ebp - 0x90], ecx
push eax
lea eax, [ebp - 0xac]
push eax
lea eax, [ebp - 0x12c]
push eax
lea eax, [ebp - 0x9c]
push eax
push ecx
mov ecx, edi
call fcn.10077970
cmp byte [esi + 0x5131], 0
mov edi, dword [esi + 0x1c]
mov edx, dword [esi + 0x24]
mov dword [ebp - 0xb4], edi
je 0x10081112
push 4
push edx
lea eax, [ebp - 0x948]
mov ecx, edx
push eax
call fcn.10078870
mov eax, dword [ebp - 0xc4]
mov ecx, edi
mov word [ebp - 0xa0], ax
mov eax, dword [ebp - 0xbc]
mov dword [ebp - 0xa4], eax
xor eax, eax
mov word [ebp - 0x9e], ax
lea eax, [ebp - 0x948]
push eax
lea eax, [ebp - 0xac]
mov dword [ebp - 0xac], 0
push eax
push 6
mov dword [ebp - 0xa8], 0
call fcn.10077a10
mov ecx, dword [esi + 0x24]
mov edi, dword [esi + 0x1c]
push 4
lea eax, [ecx + 0x620]
push eax
lea eax, [ebp - 0x958]
push eax
call fcn.10078870
lea eax, [ebp - 0x958]
mov dword [ebp - 0x790], 4
push eax
lea eax, [ebp - 0x790]
mov dword [ebp - 0x78c], 2
push eax
push 1
mov ecx, edi
mov dword [ebp - 0x788], 0xf0000
mov dword [ebp - 0x784], 0
call fcn.10077840
mov edi, dword [esi + 0x1c]
push 0x10
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [eax + ecx*4], 0x2a
mov edx, dword [edi + 4]
lea eax, [edx + 1]
mov dword [edi + 4], eax
mov dword [edi + 8], edx
mov ecx, dword [edi]
mov eax, dword [ecx + edx*4]
mov dword [ecx + edx*4], eax
mov ecx, edi
call fcn.10077d00
inc dword [edi + 0x10]
cmp byte [edi + 0x18], 0
je 0x10080f5b
inc dword [edi + 0x14]
mov eax, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0xbc]
mov word [ebp - 0xa0], ax
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0x94], eax
lea eax, [ebp - 0xac]
push eax
mov dword [ebp - 0xa4], ecx
lea eax, [ebp - 0x9c]
xor ecx, ecx
mov byte [edi + 0x18], 1
push eax
mov word [ebp - 0x9e], cx
mov dword [ebp - 0x9c], ecx
mov dword [ebp - 0x90], ecx
mov ecx, dword [esi + 0x1c]
push 7
mov dword [ebp - 0xac], 0
mov dword [ebp - 0xa8], 0
call fcn.10077840
mov ecx, dword [esi + 0x24]
mov edi, dword [esi + 0x1c]
push 4
lea eax, [ecx + 0x62c]
push eax
lea eax, [ebp - 0x968]
push eax
call fcn.10078870
mov eax, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0xbc]
mov word [ebp - 0xa0], ax
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0x94], eax
lea eax, [ebp - 0x968]
push eax
lea eax, [ebp - 0xac]
mov dword [ebp - 0xa4], ecx
push eax
xor ecx, ecx
mov dword [ebp - 0xac], 0
lea eax, [ebp - 0x9c]
mov word [ebp - 0x9e], cx
push eax
mov dword [ebp - 0x9c], ecx
mov dword [ebp - 0x90], ecx
mov ecx, edi
push 5
mov dword [ebp - 0xa8], 0
call fcn.100778d0
mov eax, dword [ebp - 0xc4]
mov ecx, dword [esi + 0x1c]
mov word [ebp - 0xa0], ax
mov eax, dword [ebp - 0xbc]
mov dword [ebp - 0xa4], eax
xor eax, eax
mov word [ebp - 0x9e], ax
mov dword [ebp - 0x794], eax
lea eax, [ebp - 0xac]
push eax
lea eax, [ebp - 0x1ac]
mov dword [ebp - 0xac], 0
push eax
lea eax, [ebp - 0x7a0]
mov dword [ebp - 0xa8], 0
push eax
push 5
mov dword [ebp - 0x7a0], 4
mov dword [ebp - 0x79c], 2
mov dword [ebp - 0x798], 0xf0000
call fcn.100778d0
mov edi, dword [esi + 0x1c]
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [eax + ecx*4], 0x2b
mov edx, dword [edi + 4]
lea eax, [edx + 1]
mov dword [edi + 4], eax
mov dword [edi + 8], edx
mov ecx, dword [edi]
mov eax, dword [ecx + edx*4]
mov dword [ecx + edx*4], eax
mov ecx, edi
push 0x10
call fcn.10077d00
inc dword [edi + 0x10]
cmp byte [edi + 0x18], 0
je 0x10081109
inc dword [edi + 0x14]
mov byte [edi + 0x18], 1
jmp 0x10081448
push 2
push 0xa
lea ecx, [ebp - 0x108]
call fcn.100775e0
push 1
push 0xa
lea ecx, [ebp - 0xf8]
call fcn.100775e0
push 4
push edx
lea eax, [ebp - 0x978]
mov ecx, edx
push eax
call fcn.10078870
mov eax, dword [ebp - 0xc4]
mov edi, dword [ebp - 0xf8]
mov ecx, dword [ebp - 0xb4]
mov word [ebp - 0xa0], ax
mov eax, dword [ebp - 0xbc]
mov dword [ebp - 0xa4], eax
xor eax, eax
mov word [ebp - 0x9e], ax
mov dword [ebp - 0x9c], eax
mov eax, dword [ebp - 0xf4]
mov dword [ebp - 0x94], eax
lea eax, [ebp - 0x978]
push eax
lea eax, [ebp - 0xac]
mov dword [ebp - 0xac], 0
push eax
lea eax, [ebp - 0x9c]
mov dword [ebp - 0xa8], 0
push eax
push 0xc
mov dword [ebp - 0x98], edi
mov dword [ebp - 0x90], 0
call fcn.100778d0
mov ecx, dword [esi + 0x24]
mov eax, dword [esi + 0x1c]
mov dword [ebp - 0xb4], eax
push 4
lea eax, [ecx + 0x620]
push eax
lea eax, [ebp - 0x848]
push eax
call 0x100bdc76
mov eax, dword [ebp - 0xf0]
mov ecx, dword [ebp - 0xb4]
mov dword [ebp - 0xa4], eax
xor eax, eax
mov word [ebp - 0x9e], ax
mov dword [ebp - 0x9c], eax
mov eax, dword [ebp - 0x108]
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0x104]
mov dword [ebp - 0x94], eax
lea eax, [ebp - 0x848]
push eax
lea eax, [ebp - 0xac]
mov dword [ebp - 0xac], 0
push eax
lea eax, [ebp - 0x9c]
mov word [ebp - 0xa0], di
push eax
push 5
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0x90], 0
call fcn.100778d0
mov eax, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0xbc]
mov dword [ebp - 0xa4], ecx
xor ecx, ecx
mov word [ebp - 0xa0], ax
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0xac], 0
mov dword [ebp - 0xa8], 0
mov word [ebp - 0x9e], cx
mov dword [ebp - 0x9c], ecx
mov dword [ebp - 0x94], eax
mov dword [ebp - 0x90], ecx
mov ecx, dword [esi + 0x1c]
lea eax, [ebp - 0xac]
push eax
lea eax, [ebp - 0x9c]
push eax
push 7
call fcn.10077840
mov ecx, dword [esi + 0x24]
mov edi, dword [esi + 0x1c]
push 4
lea eax, [ecx + 0x62c]
push eax
lea eax, [ebp - 0x988]
push eax
call fcn.10078870
mov eax, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0xbc]
mov word [ebp - 0xa0], ax
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0x94], eax
lea eax, [ebp - 0x988]
push eax
lea eax, [ebp - 0xac]
mov dword [ebp - 0xa4], ecx
push eax
xor ecx, ecx
mov dword [ebp - 0xac], 0
lea eax, [ebp - 0x9c]
mov word [ebp - 0x9e], cx
push eax
mov dword [ebp - 0x9c], ecx
mov dword [ebp - 0x90], ecx
mov ecx, edi
push 5
mov dword [ebp - 0xa8], 0
call fcn.100778d0
mov eax, dword [ebp - 0x108]
mov ecx, dword [esi + 0x1c]
mov word [ebp - 0xa0], ax
mov eax, dword [ebp - 0x100]
mov dword [ebp - 0xa4], eax
xor eax, eax
mov word [ebp - 0x9e], ax
mov dword [ebp - 0x12c], eax
mov eax, dword [ebp - 0xc4]
mov word [ebp - 0x120], ax
mov eax, dword [ebp - 0xbc]
mov dword [ebp - 0x124], eax
xor eax, eax
mov word [ebp - 0x11e], ax
mov dword [ebp - 0x7a4], eax
lea eax, [ebp - 0xac]
push eax
lea eax, [ebp - 0x12c]
mov dword [ebp - 0xac], 0
push eax
lea eax, [ebp - 0x1ac]
mov dword [ebp - 0xa8], 0
push eax
lea eax, [ebp - 0x7b0]
mov dword [ebp - 0x128], 0
push eax
push ecx
mov dword [ebp - 0x7b0], 4
mov dword [ebp - 0x7ac], 2
mov dword [ebp - 0x7a8], 0xf0000
call fcn.10077970
jmp 0x10081448
mov ecx, dword [esi + 0x1c]
lea eax, [ebp - 0x1ac]
push eax
lea eax, [ebp - 0x7c0]
mov dword [ebp - 0x7c0], 4
push eax
push 1
mov dword [ebp - 0x7bc], 2
mov dword [ebp - 0x7b8], 0xf0000
mov dword [ebp - 0x7b4], 0
call fcn.10077840
mov ecx, dword [esi + 8]
mov edx, dword [ebp - 0x110]
shr ecx, 6
and ecx, 0xf
mov eax, ecx
mov dword [ebp - 0xe8], ecx
shl eax, 8
or edx, eax
xor eax, eax
mov dword [ebp - 0x110], edx
mov dword [ebp - 0xe4], eax
test ecx, ecx
je 0x100832e4
mov dword [ebp - 0x11c], 1
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xbc], 0xa
mov dword [ebp - 0xc0], 0xe40000
mov dword [ebp - 0xc4], eax
mov dword [ebp - 0x214], 0xb
mov dword [ebp - 0x360], eax
mov dword [ebp - 0x35c], 0xb
mov dword [ebp - 0x358], 0xf0000
mov dword [ebp - 0x354], eax
mov edi, edi
push eax
mov ecx, esi
call fcn.10078130
cmp eax, 0x30000
ja 0x10081ae0
je 0x100815e9
cmp eax, 0x10000
je 0x10081529
cmp eax, 0x20000
jne 0x10081ae7
xor eax, eax
mov dword [ebp - 0xb8], 2
mov dword [ebp - 0x1c0], eax
mov eax, 0xe40000
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0x104], eax
mov eax, dword [ebp - 0x1c0]
jmp 0x1008229e
mov eax, 0xe40000
mov dword [ebp - 0x1d0], 1
xor ecx, ecx
mov dword [ebp - 0xd0], eax
xor edi, edi
mov dword [ebp - 0x104], eax
mov eax, dword [ebp - 0x1d0]
mov dword [ebp - 0xb4], edi
mov dword [ebp - 0xd8], ecx
mov dword [ebp - 0x10c], edi
mov dword [ebp - 0x108], ecx
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0x100], eax
cmp dword [ebp - 0x118], ecx
jne 0x100815da
mov ecx, dword [esi + 0x24]
lea eax, [ebp - 0x998]
mov edi, dword [esi + 0x1c]
push 4
push ecx
push eax
call fcn.10078870
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [eax + ecx*4], 1
mov ecx, edi
mov eax, dword [edi + 4]
lea edx, [eax + 1]
mov dword [edi + 4], edx
mov dword [edi + 8], eax
mov eax, dword [edi]
mov dword [eax + edx*4], 0x80070001
lea eax, [ebp - 0x998]
inc dword [edi + 4]
push eax
call fcn.10077b30
mov ecx, edi
call fcn.10077c00
mov edi, dword [ebp - 0xb4]
mov eax, dword [ebp - 0xd4]
mov ecx, dword [ebp - 0xd8]
mov dword [ebp - 0xb8], 2
jmp 0x100822c0
test dword [esi + 4], 0x2000000
mov edi, dword [esi + 0x1c]
je 0x100818ad
mov ecx, dword [edi + 4]
xor eax, eax
mov dword [ebp - 0xa0], eax
mov dword [ebp - 0xa8], eax
mov eax, dword [edi]
mov dword [ebp - 0xac], 0
mov dword [ebp - 0xa4], 0xe40000
mov dword [eax + ecx*4], 0x24
mov eax, dword [edi + 4]
lea ecx, [eax + 1]
mov dword [edi + 4], ecx
mov dword [edi + 8], eax
mov eax, dword [edi]
mov dword [eax + ecx*4], 0x8007000a
lea eax, [ebp - 0xac]
inc dword [edi + 4]
mov ecx, edi
push eax
call fcn.10077b30
mov ecx, edi
call fcn.10077c00
cmp dword [ebp - 0x118], 0
mov edi, dword [esi + 0x1c]
mov ecx, dword [edi + 4]
mov eax, dword [edi]
je 0x1008185b
mov dword [eax + ecx*4], 8
mov eax, dword [edi + 4]
mov dword [ebp - 0x310], 0
mov dword [ebp - 0x304], 0xa
mov dword [ebp - 0x308], 0xe40000
lea ecx, [eax + 1]
mov dword [ebp - 0x30c], 0
mov dword [edi + 4], ecx
mov dword [edi + 8], eax
mov eax, dword [edi]
mov dword [ebp - 0x12c], 0
mov dword [ebp - 0x120], 1
mov dword [ebp - 0x124], 0xe40000
mov dword [eax + ecx*4], 0x80010009
lea eax, [ebp - 0x12c]
inc dword [edi + 4]
mov ecx, edi
push eax
mov dword [ebp - 0x128], 0
call fcn.10077b30
lea eax, [ebp - 0x310]
mov ecx, edi
push eax
call fcn.10077b30
mov ecx, edi
call fcn.10077c00
mov edi, dword [esi + 0x1c]
mov dword [ebp - 0x300], 0
mov dword [ebp - 0x2f4], 9
mov dword [ebp - 0x2f8], 0
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [ebp - 0x2fc], 0
mov dword [ebp - 0x350], 0
mov dword [ebp - 0x344], 9
mov dword [eax + ecx*4], 2
mov eax, dword [edi + 4]
mov dword [ebp - 0x348], 0
mov dword [ebp - 0x34c], 0
lea ecx, [eax + 1]
mov dword [edi + 4], ecx
mov dword [edi + 8], eax
mov eax, dword [edi]
mov dword [eax + ecx*4], 0x80010009
lea eax, [ebp - 0x350]
inc dword [edi + 4]
mov ecx, edi
push eax
call fcn.10077b30
lea eax, [ebp - 0x300]
mov ecx, edi
push eax
call fcn.10077b30
mov ecx, edi
call fcn.10077c00
mov edi, dword [esi + 0x1c]
mov dword [ebp - 0x520], 0
mov dword [ebp - 0x514], 9
mov dword [ebp - 0x518], 0
mov dword [ebp - 0x51c], 0x1000000
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [ebp - 0x2e0], 0
mov dword [ebp - 0x2d4], 0xa
mov dword [ebp - 0x2d8], 0xe40000
mov dword [eax + ecx*4], 4
mov eax, dword [edi + 4]
mov dword [ebp - 0x2dc], 0
mov dword [ebp - 0x2f0], 0
mov dword [ebp - 0x2e4], 1
lea ecx, [eax + 1]
mov dword [ebp - 0x2e8], 0xe40000
mov dword [edi + 4], ecx
mov dword [edi + 8], eax
mov eax, dword [edi]
mov dword [ebp - 0x2ec], 0
mov dword [eax + ecx*4], 0x8007000b
lea eax, [ebp - 0x520]
inc dword [edi + 4]
mov ecx, edi
push eax
call fcn.10077b30
lea eax, [ebp - 0x2f0]
mov ecx, edi
push eax
call fcn.10077b30
lea eax, [ebp - 0x2e0]
jmp 0x10081aa1
mov dword [eax + ecx*4], 1
mov eax, dword [edi + 4]
mov dword [ebp - 0x2d0], 0
mov dword [ebp - 0x2c4], 0xa
mov dword [ebp - 0x2c8], 0xe40000
lea ecx, [eax + 1]
mov dword [ebp - 0x2cc], 0
mov dword [edi + 4], ecx
mov dword [edi + 8], eax
mov eax, dword [edi]
mov dword [eax + ecx*4], 0x8007000b
lea eax, [ebp - 0x2d0]
inc dword [edi + 4]
jmp 0x10081aa1
cmp dword [ebp - 0x118], 0
je 0x100819de
mov dword [ebp - 0x540], 0
mov dword [ebp - 0x534], 1
mov dword [ebp - 0x538], 0xaa0000
mov dword [ebp - 0x53c], 0
mov dword [ebp - 0x530], 0
mov dword [ebp - 0x524], 1
mov dword [ebp - 0x528], 0xaa0000
mov dword [ebp - 0x52c], 0
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [eax + ecx*4], 2
mov eax, dword [edi + 4]
lea ecx, [eax + 1]
mov dword [edi + 4], ecx
mov dword [edi + 8], eax
mov eax, dword [edi]
mov dword [eax + ecx*4], 0x80010009
lea eax, [ebp - 0x530]
inc dword [edi + 4]
mov ecx, edi
push eax
call fcn.10077b30
lea eax, [ebp - 0x540]
mov ecx, edi
push eax
call fcn.10077b30
mov ecx, edi
call fcn.10077c00
mov edi, dword [esi + 0x1c]
mov dword [ebp - 0x550], 0
mov dword [ebp - 0x544], 9
mov dword [ebp - 0x548], 0
mov dword [ebp - 0x54c], 0x1000000
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [ebp - 0x2c0], 0
mov dword [ebp - 0x2b4], 1
mov dword [ebp - 0x2b8], 0xe40000
mov dword [eax + ecx*4], 5
mov eax, dword [edi + 4]
mov dword [ebp - 0x2bc], 0
lea ecx, [eax + 1]
mov dword [edi + 4], ecx
mov dword [edi + 8], eax
mov eax, dword [edi]
mov dword [eax + ecx*4], 0x8007000b
lea eax, [ebp - 0x550]
inc dword [edi + 4]
mov ecx, edi
push eax
call fcn.10077b30
lea eax, [ebp - 0x2c0]
jmp 0x10081a1a
mov ecx, dword [esi + 0x24]
lea eax, [ebp - 0x9a8]
push 4
push ecx
push eax
call fcn.10078870
mov eax, dword [edi]
mov ecx, dword [edi + 4]
mov dword [eax + ecx*4], 1
mov eax, dword [edi + 4]
lea edx, [eax + 1]
mov dword [edi + 4], edx
mov dword [edi + 8], eax
mov eax, dword [edi]
mov dword [eax + edx*4], 0x8007000b
lea eax, [ebp - 0x9a8]
inc dword [edi + 4]
push eax
mov ecx, edi
call fcn.10077b30
mov ecx, edi
call fcn.10077c00
mov ecx, dword [esi + 0x24]
mov edi, dword [esi + 0x1c]
push 4
lea eax, [ecx + 0xc]
push eax
lea eax, [ebp - 0x9b8]
push eax
call fcn.10078870
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [ebp - 0x2b0], 0
mov dword [ebp - 0x2a4], 0xb
mov dword [ebp - 0x2a8], 0xe40000
mov dword [eax + ecx*4], 2
mov eax, dword [edi + 4]
mov dword [ebp - 0x2ac], 0
lea ecx, [eax + 1]
mov dword [edi + 4], ecx
mov dword [edi + 8], eax
mov eax, dword [edi]
mov dword [eax + ecx*4], 0x8004000b
lea eax, [ebp - 0x2b0]
inc dword [edi + 4]
mov ecx, edi
push eax
call fcn.10077b30
lea eax, [ebp - 0x9b8]
push eax
mov ecx, edi
call fcn.10077b30
mov ecx, edi
call fcn.10077c00
mov eax, 0xe40000
mov dword [ebp - 0x694], 0xb
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0x104], eax
mov eax, dword [ebp - 0x694]
mov dword [ebp - 0xb8], 2
jmp 0x1008229e
cmp eax, 0x40000
je 0x10081b2d
and eax, 7
mov dword [ebp - 0xb4], eax
add eax, eax
mov edx, dword [ebp + eax*8 - 0x80]
mov edi, dword [ebp + eax*8 - 0x88]
mov ecx, dword [ebp + eax*8 - 0x84]
mov eax, dword [ebp + eax*8 - 0x7c]
mov dword [ebp - 0xd0], edx
mov dword [ebp - 0x104], edx
mov edx, dword [ebp - 0xb4]
movzx edx, byte [esi + edx + 0xc]
shr edx, 6
mov dword [ebp - 0xb8], edx
jmp 0x100822a2
test dword [esi + 4], 0x2000000
mov edi, dword [esi + 0x1c]
je 0x10081eb2
mov ecx, dword [edi + 4]
xor eax, eax
mov dword [ebp - 0x294], eax
mov dword [ebp - 0x29c], eax
mov eax, dword [edi]
mov dword [ebp - 0x2a0], 0
mov dword [ebp - 0x298], 0xe40000
mov dword [eax + ecx*4], 0x24
mov ecx, edi
mov eax, dword [edi + 4]
lea edx, [eax + 1]
mov dword [edi + 4], edx
mov dword [edi + 8], eax
mov eax, dword [edi]
mov dword [eax + edx*4], 0x8007000a
lea eax, [ebp - 0x2a0]
inc dword [edi + 4]
push eax
call fcn.10077b30
mov ecx, edi
call fcn.10077c00
cmp dword [ebp - 0x118], 0
mov edi, dword [esi + 0x1c]
mov ecx, dword [edi + 4]
mov eax, dword [edi]
je 0x10081d9c
mov dword [eax + ecx*4], 8
mov eax, dword [edi + 4]
mov dword [ebp - 0x280], 0
mov dword [ebp - 0x274], 0xa
mov dword [ebp - 0x278], 0xe40000
lea ecx, [eax + 1]
mov dword [ebp - 0x27c], 0
mov dword [edi + 4], ecx
mov dword [edi + 8], eax
mov eax, dword [edi]
mov dword [ebp - 0x290], 0
mov dword [ebp - 0x284], 1
mov dword [ebp - 0x288], 0xe40000
mov dword [eax + ecx*4], 0x80010009
lea eax, [ebp - 0x290]
inc dword [edi + 4]
mov ecx, edi
push eax
mov dword [ebp - 0x28c], 0
call fcn.10077b30
lea eax, [ebp - 0x280]
mov ecx, edi
push eax
call fcn.10077b30
mov ecx, edi
call fcn.10077c00
mov edi, dword [esi + 0x1c]
mov dword [ebp - 0x260], 0
mov dword [ebp - 0x254], 9
mov dword [ebp - 0x258], 0
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [ebp - 0x25c], 0
mov dword [ebp - 0x270], 0
mov dword [ebp - 0x264], 9
mov dword [eax + ecx*4], 2
mov eax, dword [edi + 4]
mov dword [ebp - 0x268], 0
mov dword [ebp - 0x26c], 0
lea ecx, [eax + 1]
mov dword [edi + 4], ecx
mov dword [edi + 8], eax
mov eax, dword [edi]
mov dword [eax + ecx*4], 0x80010009
lea eax, [ebp - 0x270]
inc dword [edi + 4]
mov ecx, edi
push eax
call fcn.10077b30
lea eax, [ebp - 0x260]
mov ecx, edi
push eax
call fcn.10077b30
mov ecx, edi
call fcn.10077c00
mov edi, dword [esi + 0x1c]
mov dword [ebp - 0x560], 0
mov dword [ebp - 0x554], 9
mov dword [ebp - 0x558], 0
mov dword [ebp - 0x55c], 0x1000000
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [ebp - 0x240], 0
mov dword [ebp - 0x234], 0xa
mov dword [ebp - 0x238], 0xe40000
mov dword [eax + ecx*4], 4
mov eax, dword [edi + 4]
mov dword [ebp - 0x23c], 0
mov dword [ebp - 0x250], 0
mov dword [ebp - 0x244], 1
lea ecx, [eax + 1]
mov dword [ebp - 0x248], 0xe40000
mov dword [edi + 4], ecx
mov dword [edi + 8], eax
mov eax, dword [edi]
mov dword [ebp - 0x24c], 0
mov dword [eax + ecx*4], 0x80070008
lea eax, [ebp - 0x560]
inc dword [edi + 4]
mov ecx, edi
push eax
call fcn.10077b30
lea eax, [ebp - 0x250]
mov ecx, edi
push eax
call fcn.10077b30
lea eax, [ebp - 0x240]
jmp 0x10081de9
mov dword [eax + ecx*4], 1
mov eax, dword [edi + 4]
mov dword [ebp - 0x230], 0
mov dword [ebp - 0x224], 0xa
mov dword [ebp - 0x228], 0xe40000
lea edx, [eax + 1]
mov dword [ebp - 0x22c], 0
mov dword [edi + 4], edx
mov dword [edi + 8], eax
mov eax, dword [edi]
mov dword [eax + edx*4], 0x80070008
lea eax, [ebp - 0x230]
inc dword [edi + 4]
push eax
mov ecx, edi
call fcn.10077b30
mov ecx, edi
call fcn.10077c00
mov ecx, dword [esi + 0x24]
mov eax, dword [esi + 0x1c]
mov dword [ebp - 0xb4], eax
push 4
lea eax, [ecx + 0xc]
push eax
lea eax, [ebp - 0xa5c]
push eax
call fcn.10078870
movzx edi, word [eax + 0xe]
movzx ecx, word [eax + 0xc]
mov edx, dword [eax + 8]
mov eax, dword [eax]
mov word [ebp - 0x572], di
mov edi, dword [ebp - 0xb4]
mov word [ebp - 0x574], cx
mov dword [ebp - 0x580], eax
mov dword [ebp - 0x578], edx
mov dword [ebp - 0x57c], 0x1000000
mov dword [ebp - 0x570], 0
mov dword [ebp - 0x564], 8
mov dword [ebp - 0x568], 0xaa0000
mov dword [ebp - 0x56c], 0
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [eax + ecx*4], 2
mov eax, dword [edi + 4]
lea ecx, [eax + 1]
mov dword [edi + 4], ecx
mov dword [edi + 8], eax
mov eax, dword [edi]
mov dword [eax + ecx*4], 0x80040008
lea eax, [ebp - 0x570]
inc dword [edi + 4]
mov ecx, edi
push eax
call fcn.10077b30
lea eax, [ebp - 0x580]
jmp 0x10081fe1
cmp dword [ebp - 0x118], 0
je 0x10082225
mov dword [ebp - 0x5a0], 0
mov dword [ebp - 0x594], 1
mov dword [ebp - 0x598], 0xaa0000
mov dword [ebp - 0x59c], 0
mov dword [ebp - 0x590], 0
mov dword [ebp - 0x584], 1
mov dword [ebp - 0x588], 0xaa0000
mov dword [ebp - 0x58c], 0
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [eax + ecx*4], 2
mov eax, dword [edi + 4]
lea ecx, [eax + 1]
mov dword [edi + 4], ecx
mov dword [edi + 8], eax
mov eax, dword [edi]
mov dword [eax + ecx*4], 0x80010009
lea eax, [ebp - 0x590]
inc dword [edi + 4]
mov ecx, edi
push eax
call fcn.10077b30
lea eax, [ebp - 0x5a0]
mov ecx, edi
push eax
call fcn.10077b30
mov ecx, edi
call fcn.10077c00
mov edi, dword [esi + 0x1c]
mov dword [ebp - 0x5b0], 0
mov dword [ebp - 0x5a4], 9
mov dword [ebp - 0x5a8], 0
mov dword [ebp - 0x5ac], 0x1000000
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [ebp - 0x330], 0
mov dword [ebp - 0x324], 1
mov dword [ebp - 0x328], 0xe40000
mov dword [eax + ecx*4], 5
mov eax, dword [edi + 4]
mov dword [ebp - 0x32c], 0
lea ecx, [eax + 1]
mov dword [edi + 4], ecx
mov dword [edi + 8], eax
mov eax, dword [edi]
mov dword [eax + ecx*4], 0x80070008
lea eax, [ebp - 0x5b0]
inc dword [edi + 4]
mov ecx, edi
push eax
call fcn.10077b30
lea eax, [ebp - 0x330]
push eax
mov ecx, edi
call fcn.10077b30
mov ecx, edi
call fcn.10077c00
mov edi, dword [esi + 0x1c]
mov dword [ebp - 0x390], 0
mov dword [ebp - 0x384], 8
mov dword [ebp - 0x388], 0xe40000
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [ebp - 0x38c], 0
mov dword [ebp - 0x320], 0
mov dword [ebp - 0x314], 8
mov dword [eax + ecx*4], 8
mov eax, dword [edi + 4]
mov dword [ebp - 0x318], 0xe40000
mov dword [ebp - 0x31c], 0
lea ecx, [eax + 1]
mov dword [edi + 4], ecx
mov dword [edi + 8], eax
mov eax, dword [edi]
mov dword [eax + ecx*4], 0x80040008
lea eax, [ebp - 0x320]
inc dword [edi + 4]
mov ecx, edi
push eax
call fcn.10077b30
lea eax, [ebp - 0x390]
mov ecx, edi
push eax
call fcn.10077b30
mov ecx, edi
call fcn.10077c00
mov edi, dword [esi + 0x1c]
mov dword [ebp - 0x370], 0
mov dword [ebp - 0x364], 8
mov dword [ebp - 0x368], 0xaa0000
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [ebp - 0x36c], 0
mov dword [eax + ecx*4], 7
mov ecx, edi
mov eax, dword [edi + 4]
lea edx, [eax + 1]
mov dword [edi + 4], edx
mov dword [edi + 8], eax
mov eax, dword [edi]
mov dword [eax + edx*4], 0x80040008
lea eax, [ebp - 0x370]
inc dword [edi + 4]
push eax
call fcn.10077b30
mov ecx, edi
call fcn.10077c00
mov ecx, dword [esi + 0x24]
mov edi, dword [esi + 0x1c]
push 4
lea eax, [ecx + 0x10]
push eax
lea eax, [ebp - 0x9c8]
push eax
call fcn.10078870
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [ebp - 0x380], 0
mov dword [ebp - 0x374], 8
mov dword [ebp - 0x378], 0xaa0000
mov dword [eax + ecx*4], 5
mov eax, dword [edi + 4]
mov dword [ebp - 0x37c], 0
lea ecx, [eax + 1]
mov dword [edi + 4], ecx
mov dword [edi + 8], eax
mov eax, dword [edi]
mov dword [eax + ecx*4], 0x80040008
lea eax, [ebp - 0x380]
inc dword [edi + 4]
mov ecx, edi
push eax
call fcn.10077b30
lea eax, [ebp - 0x9c8]
mov ecx, edi
push eax
call fcn.10077b30
mov ecx, edi
call fcn.10077c00
mov ecx, dword [esi + 0x24]
mov edi, dword [esi + 0x1c]
push 4
lea eax, [ecx + 0x10]
push eax
lea eax, [ebp - 0x9d8]
push eax
call fcn.10078870
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [ebp - 0x9c], 0
mov dword [ebp - 0x90], 8
mov dword [ebp - 0x94], 0xaa0000
mov dword [eax + ecx*4], 4
mov eax, dword [edi + 4]
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x340], 0
mov dword [ebp - 0x334], 8
lea ecx, [eax + 1]
mov dword [ebp - 0x338], 0xe40000
mov dword [edi + 4], ecx
mov dword [edi + 8], eax
mov eax, dword [edi]
mov dword [ebp - 0x33c], 0
mov dword [eax + ecx*4], 0x8003000b
lea eax, [ebp - 0x340]
inc dword [edi + 4]
mov ecx, edi
push eax
call fcn.10077b30
lea eax, [ebp - 0x9c]
mov ecx, edi
push eax
call fcn.10077b30
lea eax, [ebp - 0x9d8]
jmp 0x10082264
mov ecx, dword [esi + 0x24]
push 4
lea eax, [ecx + 0x10]
push eax
lea eax, [ebp - 0x9e8]
push eax
call fcn.10078870
mov eax, dword [edi]
mov ecx, dword [edi + 4]
mov dword [eax + ecx*4], 1
mov eax, dword [edi + 4]
lea edx, [eax + 1]
mov dword [edi + 4], edx
mov dword [edi + 8], eax
mov eax, dword [edi]
mov dword [eax + edx*4], 0x8003000b
lea eax, [ebp - 0x9e8]
inc dword [edi + 4]
push eax
mov ecx, edi
call fcn.10077b30
mov ecx, edi
call fcn.10077c00
mov eax, 0xe40000
mov dword [ebp - 0x684], 0xb
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0x104], eax
mov eax, dword [ebp - 0x684]
mov dword [ebp - 0xb8], 1
xor edi, edi
xor ecx, ecx
mov dword [ebp - 0x100], eax
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0x108], ecx
mov dword [ebp - 0x10c], edi
mov dword [ebp - 0xd8], ecx
mov edx, dword [ebp - 0xd0]
mov dword [ebp - 0x1a4], edx
mov edx, dword [ebp - 0x11c]
mov dword [ebp - 0xa0c], 0xa
mov dword [ebp - 0x1ac], edi
mov dword [ebp - 0x1a8], ecx
mov dword [ebp - 0x1a0], eax
mov dword [ebp - 0xe0], 0
test byte [esi + 0xb], dl
je 0x10082307
mov dword [ebp - 0xe0], pe_nt_image_headers32
mov edx, dword [ebp - 0xe4]
movzx edx, byte [esi + edx + 0xc]
shr edx, 4
and edx, 3
sub edx, 1
je 0x1008233d
sub edx, 1
je 0x10082332
sub edx, 1
mov edx, dword [ebp - 0xe0]
jne 0x1008234c
or edx, 4
jmp 0x10082346
mov edx, dword [ebp - 0xe0]
or edx, 3
jmp 0x10082346
mov edx, dword [ebp - 0xe0]
or edx, 2
mov dword [ebp - 0xe0], edx
and edx, 0xfffffeff
mov dword [ebp - 0xcc], edx
mov edx, dword [ebp - 0xb8]
je 0x10082fcd
mov eax, dword [ebp - 0xe4]
xor esi, esi
shl eax, 6
add eax, 0x1e0
mov dword [ebp - 0x168], 2
shr eax, 4
movzx eax, ax
mov ecx, eax
mov word [ebp - 0x15c], ax
inc eax
mov dword [ebp - 0x160], 0xe40000
mov word [ebp - 0x1e0], ax
xor eax, eax
mov word [ebp - 0x1de], ax
lea eax, [ecx + 2]
mov dword [ebp - 0x164], 0
mov word [ebp - 0x130], ax
xor eax, eax
mov word [ebp - 0x12e], ax
lea eax, [ecx + 3]
mov word [ebp - 0x178], ax
xor eax, eax
cmp dword [ebp - 0xcc], 4
mov word [ebp - 0x15a], si
mov dword [ebp - 0x1ec], 2
mov dword [ebp - 0x1e4], 0xe40000
mov dword [ebp - 0x1e8], esi
mov dword [ebp - 0x13c], 2
mov dword [ebp - 0x134], 0xe40000
mov dword [ebp - 0x138], esi
mov dword [ebp - 0x184], 2
mov dword [ebp - 0x17c], 0xe40000
mov dword [ebp - 0x180], esi
mov word [ebp - 0x176], ax
jb 0x10082440
mov dword [ebp - 0xcc], 4
mov esi, dword [ebp - 0x140]
cmp edi, 2
jne 0x100824fb
mov edi, dword [esi + 0x1c]
sub edx, eax
mov eax, dword [edi]
mov ecx, dword [edi + 4]
mov dword [eax + ecx*4], 1
mov eax, dword [edi + 4]
je 0x10082495
lea ecx, [eax + 1]
mov dword [edi + 4], ecx
mov dword [edi + 8], eax
mov eax, dword [edi]
sub edx, 1
je 0x1008248c
sub edx, 1
je 0x10082483
mov dword [eax + ecx*4], 0x800f000b
jmp 0x100824a7
mov dword [eax + ecx*4], 0x8007000b
jmp 0x100824a7
mov dword [eax + ecx*4], 0x8003000b
jmp 0x100824a7
lea edx, [eax + 1]
mov dword [edi + 4], edx
mov dword [edi + 8], eax
mov eax, dword [edi]
mov dword [eax + edx*4], 0x8001000b
inc dword [edi + 4]
lea eax, [ebp - 0x10c]
push eax
mov ecx, edi
call fcn.10077b30
mov ecx, edi
call fcn.10077c00
xor edi, edi
mov dword [ebp - 0x6c4], 0xb
mov ecx, dword [ebp - 0x6c4]
xor edx, edx
mov dword [ebp - 0xa00], 0xb
mov dword [ebp - 0xd8], edx
mov dword [ebp - 0x104], 0xe40000
mov dword [ebp - 0xd4], ecx
mov dword [ebp - 0x100], ecx
jmp 0x10082507
mov ecx, dword [ebp - 0xd4]
mov edx, dword [ebp - 0xd8]
mov eax, dword [ebp - 0xb8]
jmp dword [eax*4 + 0x10083308]
mov eax, dword [esi + 0x1c]
mov dword [ebp - 0xb0], eax
mov dword [ebp - 0x5c0], edi
mov edi, dword [ebp - 0xcc]
mov eax, edi
mov word [ebp - 0x5b4], cx
shr ecx, 0x10
mov dword [ebp - 0x5b8], 0
mov dword [ebp - 0x5bc], edx
mov word [ebp - 0x5b2], cx
sub eax, 2
je 0x1008257f
sub eax, 1
je 0x10082573
sub eax, 1
je 0x10082567
mov dword [ebp - 0x8c], 0x8001000a
jmp 0x10082589
mov dword [ebp - 0x8c], 0x800f000a
jmp 0x10082589
mov dword [ebp - 0x8c], 0x8007000a
jmp 0x10082589
mov dword [ebp - 0x8c], 0x8003000a
mov edx, dword [ebp - 0xb0]
mov esi, dword [ebp - 0x8c]
mov ecx, dword [edx + 4]
mov eax, dword [edx]
mov dword [eax + ecx*4], 5
mov eax, dword [edx + 4]
lea ecx, [eax + 1]
mov dword [edx + 4], ecx
mov dword [edx + 8], eax
mov eax, dword [edx]
mov dword [eax + ecx*4], esi
lea eax, [ebp - 0x5c0]
inc dword [edx + 4]
mov ecx, edx
push eax
call fcn.10077b30
mov ecx, dword [ebp - 0xb0]
lea eax, [ebp - 0x168]
push eax
call fcn.10077b30
mov ecx, dword [ebp - 0xb0]
call fcn.10077c00
mov esi, dword [ebp - 0x140]
mov edx, dword [esi + 0x1c]
mov dword [ebp - 0xb4], edx
sub edi, 2
je 0x10082613
sub edi, 1
je 0x1008260c
sub edi, 1
je 0x10082605
mov edi, 0x8001000a
jmp 0x10082618
mov edi, 0x800f000a
jmp 0x10082618
mov edi, 0x8007000a
jmp 0x10082618
mov edi, 0x8003000a
mov ecx, dword [edx + 4]
mov eax, dword [edx]
mov dword [eax + ecx*4], 2
mov eax, dword [edx + 4]
lea ecx, [eax + 1]
mov dword [edx + 4], ecx
mov dword [edx + 8], eax
mov eax, dword [edx]
mov dword [eax + ecx*4], edi
lea eax, [ebp - 0xc8]
inc dword [edx + 4]
mov ecx, edx
push eax
call fcn.10077b30
mov ecx, dword [ebp - 0xb4]
lea eax, [ebp - 0x1ec]
push eax
call fcn.10077b30
mov ecx, dword [ebp - 0xb4]
jmp 0x10082f8e
mov eax, dword [esi + 0x1c]
mov dword [ebp - 0xb0], eax
mov ax, word [ebp - 0xfe]
mov word [ebp - 0x5c2], ax
mov eax, dword [ebp - 0xcc]
mov dword [ebp - 0x5d0], edi
mov word [ebp - 0x5c4], cx
mov dword [ebp - 0x5c8], 0
mov dword [ebp - 0x5cc], edx
sub eax, 2
je 0x100826d0
sub eax, 1
je 0x100826c4
sub eax, 1
je 0x100826b8
mov dword [ebp - 0x8c], 0x8001000a
jmp 0x100826da
mov dword [ebp - 0x8c], 0x800f000a
jmp 0x100826da
mov dword [ebp - 0x8c], 0x8007000a
jmp 0x100826da
mov dword [ebp - 0x8c], 0x8003000a
mov edx, dword [ebp - 0xb0]
mov esi, dword [ebp - 0x8c]
mov ecx, dword [edx + 4]
mov eax, dword [edx]
mov dword [eax + ecx*4], 5
mov eax, dword [edx + 4]
lea ecx, [eax + 1]
mov dword [edx + 4], ecx
mov dword [edx + 8], eax
mov eax, dword [edx]
mov dword [eax + ecx*4], esi
lea eax, [ebp - 0x5d0]
inc dword [edx + 4]
mov ecx, edx
push eax
call fcn.10077b30
mov ecx, dword [ebp - 0xb0]
lea eax, [ebp - 0x168]
push eax
call fcn.10077b30
mov ecx, dword [ebp - 0xb0]
call fcn.10077c00
mov esi, dword [ebp - 0x140]
mov eax, dword [ebp - 0xd4]
mov edx, dword [esi + 0x1c]
mov word [ebp - 0x5d4], ax
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0x5dc], eax
mov ax, word [ebp - 0xfe]
mov dword [ebp - 0x5e0], edi
mov edi, dword [ebp - 0xcc]
mov word [ebp - 0x5d2], ax
mov eax, edi
mov dword [ebp - 0xb0], edx
mov dword [ebp - 0x5d8], 0x550000
sub eax, 2
je 0x100827b2
sub eax, 1
je 0x100827a6
sub eax, 1
je 0x1008279a
mov dword [ebp - 0x8c], 0x8001000a
jmp 0x100827bc
mov dword [ebp - 0x8c], 0x800f000a
jmp 0x100827bc
mov dword [ebp - 0x8c], 0x8007000a
jmp 0x100827bc
mov dword [ebp - 0x8c], 0x8003000a
mov ecx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [ebp - 0x8c]
mov dword [eax + ecx*4], 4
mov eax, dword [edx + 4]
lea ecx, [eax + 1]
mov dword [edx + 4], ecx
mov dword [edx + 8], eax
mov eax, dword [edx]
mov dword [eax + ecx*4], esi
lea eax, [ebp - 0x5e0]
inc dword [edx + 4]
mov ecx, edx
push eax
call fcn.10077b30
mov ecx, dword [ebp - 0xb0]
lea eax, [ebp - 0x1ec]
push eax
call fcn.10077b30
mov ecx, dword [ebp - 0xb0]
lea eax, [ebp - 0xc8]
push eax
call fcn.10077b30
mov ecx, dword [ebp - 0xb0]
call fcn.10077c00
mov esi, dword [ebp - 0x140]
mov edx, dword [esi + 0x1c]
mov dword [ebp - 0xb4], edx
sub edi, 2
je 0x10082852
sub edi, 1
je 0x1008284b
sub edi, 1
je 0x10082844
mov edi, 0x8001000a
jmp 0x10082857
mov edi, 0x800f000a
jmp 0x10082857
mov edi, 0x8007000a
jmp 0x10082857
mov edi, 0x8003000a
mov ecx, dword [edx + 4]
mov eax, dword [edx]
mov dword [eax + ecx*4], 2
mov eax, dword [edx + 4]
lea ecx, [eax + 1]
mov dword [edx + 4], ecx
mov dword [edx + 8], eax
mov eax, dword [edx]
mov dword [eax + ecx*4], edi
lea eax, [ebp - 0xc8]
inc dword [edx + 4]
mov ecx, edx
push eax
call fcn.10077b30
mov ecx, dword [ebp - 0xb4]
lea eax, [ebp - 0x13c]
push eax
call fcn.10077b30
mov ecx, dword [ebp - 0xb4]
jmp 0x10082f8e
mov eax, dword [esi + 0x1c]
mov dword [ebp - 0xb0], eax
mov ax, word [ebp - 0xfe]
mov word [ebp - 0x5e2], ax
mov eax, dword [ebp - 0xcc]
mov dword [ebp - 0x5f0], edi
mov word [ebp - 0x5e4], cx
mov dword [ebp - 0x5e8], 0
mov dword [ebp - 0x5ec], edx
sub eax, 2
je 0x1008290f
sub eax, 1
je 0x10082903
sub eax, 1
je 0x100828f7
mov dword [ebp - 0x8c], 0x8001000a
jmp 0x10082919
mov dword [ebp - 0x8c], 0x800f000a
jmp 0x10082919
mov dword [ebp - 0x8c], 0x8007000a
jmp 0x10082919
mov dword [ebp - 0x8c], 0x8003000a
mov edx, dword [ebp - 0xb0]
mov esi, dword [ebp - 0x8c]
mov ecx, dword [edx + 4]
mov eax, dword [edx]
mov dword [eax + ecx*4], 5
mov eax, dword [edx + 4]
lea ecx, [eax + 1]
mov dword [edx + 4], ecx
mov dword [edx + 8], eax
mov eax, dword [edx]
mov dword [eax + ecx*4], esi
lea eax, [ebp - 0x5f0]
inc dword [edx + 4]
mov ecx, edx
push eax
call fcn.10077b30
mov ecx, dword [ebp - 0xb0]
lea eax, [ebp - 0x168]
push eax
call fcn.10077b30
mov ecx, dword [ebp - 0xb0]
call fcn.10077c00
mov esi, dword [ebp - 0x140]
mov eax, dword [ebp - 0xd4]
mov edx, dword [esi + 0x1c]
mov word [ebp - 0x5f4], ax
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0x5fc], eax
mov ax, word [ebp - 0xfe]
mov word [ebp - 0x5f2], ax
mov eax, dword [ebp - 0xcc]
mov dword [ebp - 0xb0], edx
mov dword [ebp - 0x600], edi
mov dword [ebp - 0x5f8], 0x550000
sub eax, 2
je 0x100829ef
sub eax, 1
je 0x100829e3
sub eax, 1
je 0x100829d7
mov dword [ebp - 0x8c], 0x8001000a
jmp 0x100829f9
mov dword [ebp - 0x8c], 0x800f000a
jmp 0x100829f9
mov dword [ebp - 0x8c], 0x8007000a
jmp 0x100829f9
mov dword [ebp - 0x8c], 0x8003000a
mov ecx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [ebp - 0x8c]
mov dword [eax + ecx*4], 4
mov eax, dword [edx + 4]
lea ecx, [eax + 1]
mov dword [edx + 4], ecx
mov dword [edx + 8], eax
mov eax, dword [edx]
mov dword [eax + ecx*4], esi
lea eax, [ebp - 0x600]
inc dword [edx + 4]
mov ecx, edx
push eax
call fcn.10077b30
mov ecx, dword [ebp - 0xb0]
lea eax, [ebp - 0x1ec]
push eax
call fcn.10077b30
mov ecx, dword [ebp - 0xb0]
lea eax, [ebp - 0xc8]
push eax
call fcn.10077b30
mov ecx, dword [ebp - 0xb0]
call fcn.10077c00
mov esi, dword [ebp - 0x140]
mov eax, dword [ebp - 0xd4]
mov edx, dword [esi + 0x1c]
mov word [ebp - 0x604], ax
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0x60c], eax
mov ax, word [ebp - 0xfe]
mov dword [ebp - 0x610], edi
mov edi, dword [ebp - 0xcc]
mov word [ebp - 0x602], ax
mov eax, edi
mov dword [ebp - 0xb0], edx
mov dword [ebp - 0x608], 0xaa0000
sub eax, 2
je 0x10082add
sub eax, 1
je 0x10082ad1
sub eax, 1
je 0x10082ac5
mov dword [ebp - 0x8c], 0x8001000a
jmp 0x10082ae7
mov dword [ebp - 0x8c], 0x800f000a
jmp 0x10082ae7
mov dword [ebp - 0x8c], 0x8007000a
jmp 0x10082ae7
mov dword [ebp - 0x8c], 0x8003000a
mov ecx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [ebp - 0x8c]
mov dword [eax + ecx*4], 4
mov eax, dword [edx + 4]
lea ecx, [eax + 1]
mov dword [edx + 4], ecx
mov dword [edx + 8], eax
mov eax, dword [edx]
mov dword [eax + ecx*4], esi
lea eax, [ebp - 0x610]
inc dword [edx + 4]
mov ecx, edx
push eax
call fcn.10077b30
mov ecx, dword [ebp - 0xb0]
lea eax, [ebp - 0x13c]
push eax
call fcn.10077b30
mov ecx, dword [ebp - 0xb0]
lea eax, [ebp - 0xc8]
push eax
call fcn.10077b30
mov ecx, dword [ebp - 0xb0]
call fcn.10077c00
mov esi, dword [ebp - 0x140]
mov edx, dword [esi + 0x1c]
mov dword [ebp - 0xb4], edx
sub edi, 2
je 0x10082b7d
sub edi, 1
je 0x10082b76
sub edi, 1
je 0x10082b6f
mov edi, 0x8001000a
jmp 0x10082b82
mov edi, 0x800f000a
jmp 0x10082b82
mov edi, 0x8007000a
jmp 0x10082b82
mov edi, 0x8003000a
mov ecx, dword [edx + 4]
mov eax, dword [edx]
mov dword [eax + ecx*4], 2
mov eax, dword [edx + 4]
lea ecx, [eax + 1]
mov dword [edx + 4], ecx
mov dword [edx + 8], eax
mov eax, dword [edx]
mov dword [eax + ecx*4], edi
lea eax, [ebp - 0xc8]
inc dword [edx + 4]
mov ecx, edx
push eax
call fcn.10077b30
mov ecx, dword [ebp - 0xb4]
lea eax, [ebp - 0x184]
push eax
call fcn.10077b30
mov ecx, dword [ebp - 0xb4]
jmp 0x10082f8e
call fcn.10077c00
mov edx, dword [ebp - 0xcc]
mov eax, 0xe40000
dec edx
mov dword [ebp - 0xd0], eax
xor edi, edi
mov dword [ebp - 0x1a4], eax
mov eax, dword [ebp - 0xbc]
xor ecx, ecx
mov dword [ebp - 0xb8], edx
mov dword [ebp - 0x1ac], edi
mov dword [ebp - 0x1a8], ecx
mov dword [ebp - 0x1a0], eax
test dword [ebp - 0xe0], 0x100
mov dword [ebp - 0x14c], ecx
mov ecx, dword [ebp - 0xd0]
mov dword [ebp - 0x9f4], 0xb
mov dword [ebp - 0x150], edi
mov dword [ebp - 0x148], ecx
mov dword [ebp - 0x144], eax
je 0x1008321e
cmp byte [esi + 0x5130], 0
je 0x1008314b
test edi, edi
je 0x100830f5
cmp edx, 3
je 0x1008313c
mov edi, dword [esi + 0x1c]
mov ecx, edi
push 1
mov dword [ebp - 0x7d0], 0
mov dword [ebp - 0x7cc], 0xb
mov dword [ebp - 0x7c8], 0x70000
mov dword [ebp - 0x7c4], 0
call fcn.10077bd0
lea eax, [ebp - 0x7d0]
push eax
call fcn.10077c40
lea eax, [ebp - 0x1ac]
mov ecx, edi
push eax
call fcn.10077b30
mov ecx, edi
call fcn.10077c00
mov eax, dword [esi + 0x1c]
lea ecx, [ebp - 0x1ac]
push dword [ebp - 0xb8]
mov dword [ebp - 0xb4], eax
lea eax, [ebp - 0xa6c]
push eax
call fcn.10077570
mov edi, eax
lea ecx, [ebp - 0x360]
lea eax, [ebp - 0xa7c]
push eax
call fcn.10077460
mov ecx, dword [ebp - 0xb4]
push edi
push eax
push 1
call fcn.10077840
mov eax, dword [ebp - 0x214]
mov dword [ebp - 0x150], 0
mov dword [ebp - 0x14c], 0
mov dword [ebp - 0x148], 0xe40000
mov dword [ebp - 0x144], eax
mov dword [ebp - 0xb8], 3
jmp 0x1008321e
mov eax, dword [esi + 0x1c]
lea ecx, [ebp - 0x1ac]
mov dword [ebp - 0xb4], eax
lea eax, [ebp - 0xafc]
push edx
push eax
call fcn.10077570
mov edi, eax
lea eax, [ebp - 0xa8c]
push eax
call fcn.100774c0
lea ecx, [ebp - 0xa9c]
push ecx
mov ecx, eax
call fcn.10077460
mov ecx, dword [ebp - 0xb4]
push edi
push eax
push 1
call fcn.10077840
mov dword [ebp - 0xb8], 3
jmp 0x1008321e
push 0
push 0xa
lea ecx, [ebp - 0xf8]
call fcn.100775e0
mov eax, dword [esi + 0x1c]
lea ecx, [ebp - 0x1ac]
mov dword [ebp - 0xb4], eax
lea eax, [ebp - 0xaac]
push edx
push eax
call fcn.10077570
mov edi, eax
lea ecx, [ebp - 0xf8]
lea eax, [ebp - 0x800]
push eax
call fcn.100776d0
mov ecx, dword [ebp - 0xb4]
lea eax, [ebp - 0x800]
push edi
push eax
push 6
call fcn.10077840
mov edi, dword [esi + 0x1c]
lea eax, [ebp - 0x838]
push eax
lea ecx, [ebp - 0xf8]
call fcn.10077700
lea eax, [ebp - 0xabc]
push eax
lea ecx, [ebp - 0x150]
call fcn.100774c0
mov ecx, dword [ebp - 0xb8]
inc ecx
push ecx
lea ecx, [ebp - 0xacc]
push ecx
mov ecx, eax
call fcn.100773e0
lea ecx, [ebp - 0x838]
push ecx
lea ecx, [ebp - 0x1ac]
push ecx
push eax
push 5
mov ecx, edi
call fcn.100778d0
mov eax, dword [ebp - 0x214]
mov dword [ebp - 0x150], 0
mov dword [ebp - 0x14c], 0
mov dword [ebp - 0x148], 0xe40000
mov dword [ebp - 0x144], eax
mov edi, dword [esi + 0x1c]
lea ecx, [ebp - 0xadc]
mov edx, dword [ebp - 0xe4]
call fcn.10077da0
mov ecx, dword [ebp - 0xb8]
inc ecx
push ecx
lea ecx, [ebp - 0xaec]
push ecx
mov ecx, eax
call fcn.100773e0
lea ecx, [ebp - 0x150]
push ecx
push eax
push 1
mov ecx, edi
call fcn.10077840
mov eax, dword [ebp - 0xb8]
cmp eax, 3
ja case.0x10083264.1
jmp dword [eax*4 + 0x10083318]
mov eax, dword [ebp - 0xe4]
lea ecx, [eax*2 + 0x10]
mov eax, 3
jmp 0x100832af
mov eax, dword [ebp - 0xe4]
mov ecx, dword [ebp - 0x110]
lea eax, [eax*2 + 0x10]
bts ecx, eax
mov dword [ebp - 0x110], ecx
jmp case.0x10083264.1
mov eax, dword [ebp - 0xe4]
lea ecx, [eax*2 + 0x10]
mov eax, 2
shl eax, cl
or dword [ebp - 0x110], eax
mov eax, dword [ebp - 0xe4]
mov edx, dword [ebp - 0x11c]
inc eax
rol edx, 1
mov dword [ebp - 0xe4], eax
mov dword [ebp - 0x11c], edx
cmp eax, dword [ebp - 0xe8]
jb 0x100814d0
mov edx, dword [ebp - 0x110]
mov dword [esi + 0x14], edx
mov ecx, dword [esi + 0x1c]
call fcn.10077b10
mov eax, dword [esi + 0x1c]
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
mov eax, dword [eax]
pop esi
call fcn.100a1500
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret