Function at 0x1007d4e0
Capabilities:
Inspect section memory permissions

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x74c
mov eax, dword [0x100a70b4]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, ecx
push edi
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 ecx, dword [esi + 0x28]
mov eax, dword [ecx]
movzx edx, ax
cmp eax, 0xffffffff
jne 0x1007d592
mov eax, dword [ecx + 0x44]
mov dword [ecx], eax
inc dword [ecx + 0x44]
movzx edx, ax
xor eax, eax
mov dword [ebp - 0x1c8], 1
mov word [ebp - 0x208], dx
mov word [ebp - 0x206], ax
cmp byte [esi + 0x5131], al
je 0x1007d5dd
cmp dword [esi + 0x5158], eax
jne 0x1007d5dd
mov edx, dword [esi + 0x1c]
mov dword [edx + 4], eax
mov dword [edx + 8], eax
mov dword [edx + 0x10], 1
mov dword [edx + 0x14], eax
mov ecx, dword [edx + 4]
mov eax, dword [edx]
mov dword [eax + ecx*4], 0xfffe0201
jmp 0x1007d5fc
mov edx, dword [esi + 0x1c]
mov dword [edx + 4], eax
mov dword [edx + 8], eax
mov dword [edx + 0x10], 1
mov dword [edx + 0x14], eax
mov ecx, dword [edx + 4]
mov eax, dword [edx]
mov dword [eax + ecx*4], 0xfffe0200
mov eax, dword [edx + 4]
mov edi, 0x100a80d4
mov dword [edx + 8], eax
inc dword [edx + 4]
mov ecx, dword [esi + 0x1c]
mov dword [ebp - 0xac], ecx
lea edx, [edi + 1]
mov al, byte [edi]
inc edi
test al, al
jne 0x1007d616
mov eax, dword [ebp - 0xac]
sub edi, edx
mov ecx, dword [ecx + 4]
inc edi
mov eax, dword [eax]
lea ebx, [edi + 3]
shr ebx, 2
inc ebx
mov edx, ebx
shl edx, 0x10
or edx, 0xfffe
mov dword [eax + ecx*4], edx
mov ecx, dword [ebp - 0xac]
push ebx
mov eax, dword [ecx + 4]
mov dword [ecx + 8], eax
inc dword [ecx + 4]
call fcn.10077eb0
mov edx, dword [ebp - 0xac]
push edi
push 0x100a80d4
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 - 0xac]
lea eax, [ebx - 1]
add esp, 0xc
add dword [ecx + 4], eax
mov ebx, dword [esi + 4]
mov eax, ebx
shr eax, 0x12
mov edi, ebx
and eax, 1
shr edi, 0x13
mov dword [ebp - 0x17c], eax
and edi, 1
shr ebx, 2
shl eax, 6
and ebx, 1
add eax, 4
mov dword [ebp - 0x180], edi
mov dword [ebp - 0x120], ebx
mov dword [ebp - 0xdc], eax
test edi, edi
je 0x1007d6d3
or eax, 0x80
mov dword [ebp - 0xdc], eax
mov ecx, dword [esi + 0x28]
mov eax, dword [ecx]
cmp eax, 0xffffffff
jne 0x1007d6e5
mov eax, dword [ecx + 0x44]
mov dword [ecx], eax
inc dword [ecx + 0x44]
mov ecx, dword [esi + 0x1c]
push eax
push 0
push 0
call fcn.10077a00
test byte [esi + 0x18], 2
je 0x1007d76d
test ebx, ebx
je 0x1007d76d
mov ecx, dword [esi + 0x28]
mov eax, dword [ecx + 4]
cmp eax, 0xffffffff
jne 0x1007d710
mov eax, dword [ecx + 0x44]
mov dword [ecx + 4], eax
inc dword [ecx + 0x44]
mov ecx, dword [esi + 0x1c]
push eax
push 0
push 3
call fcn.10077a00
mov ecx, dword [esi + 0x28]
mov eax, dword [ecx + 4]
movzx edx, ax
cmp eax, 0xffffffff
jne 0x1007d737
mov eax, dword [ecx + 0x44]
mov dword [ecx + 4], eax
inc dword [ecx + 0x44]
movzx edx, ax
xor eax, eax
mov word [ebp - 0x8c], dx
mov word [ebp - 0x8a], ax
mov dword [ebp - 0x148], eax
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0x14c], 1
mov dword [ebp - 0x144], 0xe40000
mov dword [ebp - 0x140], eax
mov eax, dword [esi + 4]
mov dword [ebp - 0xac], 0
mov dword [ebp - 0xc4], 0
test eax, 0x800000
je 0x1007d7f5
test al, 2
je 0x1007d7ba
mov ecx, dword [esi + 0x28]
mov eax, dword [ecx + 0x1c]
cmp eax, 0xffffffff
jne 0x1007d7a3
mov eax, dword [ecx + 0x44]
mov dword [ecx + 0x1c], eax
inc dword [ecx + 0x44]
mov ecx, dword [esi + 0x1c]
push eax
push 1
push 0
call fcn.10077a00
mov dword [ebp - 0xac], 1
test byte [esi + 0x18], 2
je 0x1007d7f5
test ebx, ebx
je 0x1007d7f5
test byte [esi + 4], 8
je 0x1007d7f5
mov ecx, dword [esi + 0x28]
mov eax, dword [ecx + 0x20]
cmp eax, 0xffffffff
jne 0x1007d7de
mov eax, dword [ecx + 0x44]
mov dword [ecx + 0x20], eax
inc dword [ecx + 0x44]
mov ecx, dword [esi + 0x1c]
push eax
push 1
push 3
call fcn.10077a00
mov dword [ebp - 0xc4], 1
cmp dword [ebp - 0x17c], 0
je 0x1007d912
test byte [esi + 4], 0x10
je 0x1007d898
mov ecx, dword [esi + 0x28]
mov eax, dword [ecx + 0x14]
cmp eax, 0xffffffff
jne 0x1007d820
mov eax, dword [ecx + 0x44]
mov dword [ecx + 0x14], eax
inc dword [ecx + 0x44]
mov ecx, dword [esi + 0x1c]
push eax
push 0
push 0xa
call fcn.10077a00
mov ecx, dword [esi + 0x28]
mov eax, dword [ecx + 0x14]
movzx edx, ax
cmp eax, 0xffffffff
jne 0x1007d847
mov eax, dword [ecx + 0x44]
mov dword [ecx + 0x14], eax
inc dword [ecx + 0x44]
movzx edx, ax
xor ecx, ecx
mov word [ebp - 0x8c], dx
xor ebx, ebx
mov dword [ebp - 0x1c0], ecx
mov edx, 0xe40000
mov word [ebp - 0x8a], bx
mov eax, 1
mov dword [ebp - 0x15c], ecx
mov ecx, dword [ebp - 0x8c]
mov dword [ebp - 0x1bc], edx
mov dword [ebp - 0x160], eax
mov dword [ebp - 0x158], edx
mov dword [ebp - 0xc8], ecx
mov dword [ebp - 0x154], ecx
jmp 0x1007d93c
xor eax, eax
mov dword [ebp - 0xbc], 2
mov dword [ebp - 0xb0], eax
lea ecx, [ebp - 0xbc]
mov dword [ebp - 0xb8], eax
lea eax, [ebp - 0x98]
push 3
push eax
mov dword [ebp - 0xb4], 0xe40000
call fcn.100777f0
mov ecx, dword [ebp - 0x94]
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0x1c0], ecx
mov dword [ebp - 0x15c], ecx
mov ecx, dword [ebp - 0x90]
mov dword [ebp - 0x1bc], ecx
mov dword [ebp - 0x158], ecx
mov ecx, dword [ebp - 0x8c]
mov dword [ebp - 0x160], eax
mov dword [ebp - 0xc8], ecx
mov dword [ebp - 0x154], ecx
jmp 0x1007d93c
mov eax, dword [ebp - 0x154]
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp - 0x158]
mov dword [ebp - 0x1bc], eax
mov eax, dword [ebp - 0x15c]
mov dword [ebp - 0x1c0], eax
mov eax, dword [ebp - 0x160]
mov dword [ebp - 0x1c4], eax
test edi, edi
je 0x1007da65
test byte [esi + 4], 0x20
je 0x1007d9e6
mov ecx, dword [esi + 0x28]
mov eax, dword [ecx + 0x18]
cmp eax, 0xffffffff
jne 0x1007d968
mov eax, dword [ecx + 0x44]
mov dword [ecx + 0x18], eax
inc dword [ecx + 0x44]
mov ecx, dword [esi + 0x1c]
push eax
push 1
push 0xa
call fcn.10077a00
mov ecx, dword [esi + 0x28]
mov eax, dword [ecx + 0x18]
movzx edx, ax
cmp eax, 0xffffffff
jne 0x1007d98f
mov eax, dword [ecx + 0x44]
mov dword [ecx + 0x18], eax
inc dword [ecx + 0x44]
movzx edx, ax
mov word [ebp - 0x8c], dx
mov ecx, 1
xor edx, edx
mov dword [ebp - 0xf8], ecx
xor edi, edi
mov dword [ebp - 0x10c], ecx
mov eax, 0xe40000
mov word [ebp - 0x8a], di
mov ecx, dword [ebp - 0x8c]
mov dword [ebp - 0x13c], eax
mov dword [ebp - 0xe0], edx
mov dword [ebp - 0x108], edx
mov dword [ebp - 0x104], eax
mov dword [ebp - 0x174], ecx
mov dword [ebp - 0x100], ecx
jmp 0x1007da95
xor eax, eax
mov dword [ebp - 0xbc], 2
push eax
mov dword [ebp - 0xb0], eax
lea ecx, [ebp - 0xbc]
mov dword [ebp - 0xb8], eax
lea eax, [ebp - 0x98]
push eax
mov dword [ebp - 0xb4], 0xe40000
call fcn.100777f0
mov ecx, dword [ebp - 0x98]
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0xf8], ecx
mov dword [ebp - 0x10c], ecx
mov ecx, dword [ebp - 0x94]
mov dword [ebp - 0xe0], ecx
mov dword [ebp - 0x108], ecx
mov ecx, dword [ebp - 0x8c]
mov dword [ebp - 0x13c], eax
mov dword [ebp - 0x104], eax
mov dword [ebp - 0x174], ecx
mov dword [ebp - 0x100], ecx
jmp 0x1007da95
mov eax, dword [ebp - 0x100]
mov dword [ebp - 0x174], eax
mov eax, dword [ebp - 0x104]
mov dword [ebp - 0x13c], eax
mov eax, dword [ebp - 0x108]
mov dword [ebp - 0xe0], eax
mov eax, dword [ebp - 0x10c]
mov dword [ebp - 0xf8], eax
test byte [esi + 8], 0x20
je 0x1007db6e
test byte [esi + 4], 0x40
je 0x1007db02
mov ecx, dword [esi + 0x28]
mov eax, dword [ecx + 8]
cmp eax, 0xffffffff
jne 0x1007dab9
mov eax, dword [ecx + 0x44]
mov dword [ecx + 8], eax
inc dword [ecx + 0x44]
mov ecx, dword [esi + 0x1c]
push eax
push 0
push 4
call fcn.10077a00
mov ecx, dword [esi + 0x28]
mov eax, dword [ecx + 8]
movzx edx, ax
cmp eax, 0xffffffff
jne 0x1007dae0
mov eax, dword [ecx + 0x44]
mov dword [ecx + 8], eax
inc dword [ecx + 0x44]
movzx edx, ax
xor eax, eax
mov word [ebp - 0x8c], dx
mov word [ebp - 0x8a], ax
mov dword [ebp - 0x1f0], 1
mov dword [ebp - 0x1ec], eax
jmp 0x1007db5c
push 2
lea eax, [ebp - 0x98]
mov dword [ebp - 0xbc], 2
push eax
lea ecx, [ebp - 0xbc]
mov dword [ebp - 0xb0], 0x62
mov dword [ebp - 0xb4], 0xe40000
mov dword [ebp - 0xb8], 0
call fcn.100777f0
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0x1f0], eax
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0x1ec], eax
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x1e8], eax
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0x1e4], eax
test byte [esi + 0x18], 4
je 0x1007dd3c
test byte [esi + 4], 0x80
je 0x1007dbfc
mov ecx, dword [esi + 0x28]
mov eax, dword [ecx + 0xc]
cmp eax, 0xffffffff
jne 0x1007db92
mov eax, dword [ecx + 0x44]
mov dword [ecx + 0xc], eax
inc dword [ecx + 0x44]
mov ecx, dword [esi + 0x1c]
push eax
push 0
push 1
call fcn.10077a00
mov ecx, dword [esi + 0x28]
mov eax, dword [ecx + 0xc]
movzx edx, ax
cmp eax, 0xffffffff
jne 0x1007dbb9
mov eax, dword [ecx + 0x44]
mov dword [ecx + 0xc], eax
inc dword [ecx + 0x44]
movzx edx, ax
mov eax, 1
mov word [ebp - 0x8c], dx
mov dword [ebp - 0x1b8], eax
xor eax, eax
mov word [ebp - 0x8a], ax
mov edi, dword [ebp - 0x8c]
mov dword [ebp - 0x1cc], 0
mov dword [ebp - 0x18c], 0xe40000
mov dword [ebp - 0x1d0], edi
mov dword [ebp - 0x188], edi
jmp 0x1007dc67
xor eax, eax
mov dword [ebp - 0xbc], 2
push eax
mov dword [ebp - 0xb0], eax
lea ecx, [ebp - 0xbc]
mov dword [ebp - 0xb8], eax
lea eax, [ebp - 0x98]
push eax
mov dword [ebp - 0xb4], 0xe40000
call fcn.100777f0
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0x1b8], eax
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0x1cc], eax
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x18c], eax
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0x1d0], eax
mov dword [ebp - 0x188], eax
mov eax, dword [esi + 4]
test eax, 0x4000000
je 0x1007dd16
test eax, 0x10000
je 0x1007dd00
mov ecx, dword [esi + 0x28]
mov eax, dword [ecx + 0x10]
cmp eax, 0xffffffff
jne 0x1007dc94
mov eax, dword [ecx + 0x44]
mov dword [ecx + 0x10], eax
inc dword [ecx + 0x44]
mov ecx, dword [esi + 0x1c]
push eax
push 0
push 2
call fcn.10077a00
mov ecx, dword [esi + 0x28]
mov eax, dword [ecx + 0x10]
movzx edx, ax
cmp eax, 0xffffffff
jne 0x1007dcbb
mov eax, dword [ecx + 0x44]
mov dword [ecx + 0x10], eax
inc dword [ecx + 0x44]
movzx edx, ax
xor eax, eax
mov dword [ebp - 0x178], 1
mov word [ebp - 0x8c], dx
mov word [ebp - 0x8a], ax
mov edi, dword [ebp - 0x8c]
mov dword [ebp - 0xc0], 0
mov dword [ebp - 0x19c], 0xe40000
mov dword [ebp - 0xfc], edi
mov dword [ebp - 0x198], edi
jmp 0x1007dd84
mov dword [ebp - 0x178], 2
mov dword [ebp - 0x8c], 2
jmp 0x1007dcd5
mov edi, dword [ebp - 0x198]
mov eax, dword [ebp - 0x1a0]
mov dword [ebp - 0xfc], edi
mov edi, dword [ebp - 0x1a4]
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0x178], edi
jmp 0x1007dd84
mov eax, dword [ebp - 0x188]
mov dword [ebp - 0x1d0], eax
mov eax, dword [ebp - 0x190]
mov dword [ebp - 0x1cc], eax
mov eax, dword [ebp - 0x194]
mov dword [ebp - 0x1b8], eax
mov eax, dword [ebp - 0x198]
mov dword [ebp - 0xfc], eax
mov eax, dword [ebp - 0x1a0]
mov dword [ebp - 0xc0], eax
mov eax, dword [ebp - 0x1a4]
mov dword [ebp - 0x178], eax
mov eax, 1
lea ebx, [ebp - 0x88]
rol eax, 0
mov edx, 0x24
mov ecx, 5
mov dword [ebp - 0x204], eax
mov dword [ebp - 0x138], eax
mov dword [ebp - 0x184], edx
mov dword [ebp - 0x134], ecx
test byte [esi + 5], al
je 0x1007de9c
mov ecx, dword [esi + 0x28]
mov eax, dword [ecx + edx]
mov dword [ebp - 0x150], eax
cmp eax, 0xffffffff
jne 0x1007dde0
mov eax, dword [ecx + 0x44]
mov dword [ecx + edx], eax
inc dword [ecx + 0x44]
mov eax, dword [ecx + edx]
mov dword [ebp - 0x150], eax
mov edi, dword [esi + 0x1c]
push 0x10
mov byte [edi + 0x18], 0
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [eax + ecx*4], 0x1f
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0x134]
mov dword [edi + 8], eax
or ecx, 0x80000000
inc dword [edi + 4]
mov edx, dword [edi + 4]
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 - 0x150]
or edx, 0x900f0000
mov dword [eax + ecx*4], edx
inc dword [edi + 4]
mov edx, dword [edi + 4]
mov ecx, dword [edi + 8]
sub edx, ecx
mov eax, dword [edi]
dec edx
shl edx, 0x18
or dword [eax + ecx*4], edx
mov ecx, edi
call fcn.10077eb0
inc dword [edi + 0x10]
cmp byte [edi + 0x18], 0
je 0x1007de50
inc dword [edi + 0x14]
mov edx, dword [ebp - 0x184]
mov byte [edi + 0x18], 1
mov ecx, dword [esi + 0x28]
mov eax, dword [ecx + edx]
movzx edi, ax
cmp eax, 0xffffffff
jne 0x1007de75
mov eax, dword [ecx + 0x44]
mov dword [ecx + edx], eax
inc dword [ecx + 0x44]
movzx edi, word [ecx + edx]
mov ecx, dword [ebp - 0x134]
xor eax, eax
mov dword [ebx], 1
mov word [ebp - 0x8c], di
mov word [ebp - 0x8a], ax
mov dword [ebx + 4], eax
mov eax, dword [ebp - 0x8c]
jmp 0x1007dead
xor eax, eax
mov dword [ebx], 2
mov dword [ebp - 0x1a8], eax
mov dword [ebx + 4], eax
mov dword [ebx + 8], 0xe40000
add edx, 4
mov dword [ebx + 0xc], eax
add ecx, 0x10000
mov eax, dword [ebp - 0x138]
add ebx, 0x10
rol eax, 1
mov dword [ebp - 0x184], edx
mov dword [ebp - 0x134], ecx
mov dword [ebp - 0x138], eax
cmp edx, 0x44
jb 0x1007ddb4
cmp dword [ebp - 0xac], 0
mov eax, dword [ebp - 0xf8]
mov dword [ebp - 0x184], eax
mov dword [ebp - 0x200], eax
mov eax, dword [ebp - 0xe0]
mov dword [ebp - 0x150], eax
mov dword [ebp - 0x1fc], eax
mov eax, dword [ebp - 0x13c]
mov dword [ebp - 0x1f8], eax
mov eax, dword [ebp - 0x174]
mov dword [ebp - 0x134], eax
mov dword [ebp - 0x1f4], eax
je 0x1007e15d
mov ecx, dword [esi + 0x28]
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x94], 2
mov dword [ebp - 0x90], 0xf0000
mov eax, dword [ecx + 0x1c]
mov dword [ebp - 0x8c], 0
movzx edx, ax
cmp eax, 0xffffffff
jne 0x1007df77
mov eax, dword [ecx + 0x44]
mov dword [ecx + 0x1c], eax
inc dword [ecx + 0x44]
movzx edx, ax
mov ecx, dword [esi + 0x1c]
xor eax, eax
mov word [ebp - 0xae], ax
lea eax, [ebp - 0xbc]
push eax
lea eax, [ebp - 0x98]
mov dword [ebp - 0xbc], 1
push eax
push 1
mov word [ebp - 0xb0], dx
mov dword [ebp - 0xb4], 0xe40000
mov dword [ebp - 0xb8], 0
call fcn.10077a80
mov ecx, dword [esi + 0x28]
mov dword [ebp - 0x130], 0
mov dword [ebp - 0x124], 2
mov dword [ebp - 0x128], 0xe40000
mov eax, dword [ecx]
mov dword [ebp - 0x12c], 0
movzx edx, ax
cmp eax, 0xffffffff
jne 0x1007dffd
mov eax, dword [ecx + 0x44]
mov dword [ecx], eax
inc dword [ecx + 0x44]
movzx edx, ax
mov ecx, dword [esi + 0x1c]
xor eax, eax
mov word [ebp - 0xae], ax
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x8c], eax
lea eax, [ebp - 0xbc]
push eax
lea eax, [ebp - 0x130]
mov dword [ebp - 0xbc], 1
push eax
lea eax, [ebp - 0x98]
mov word [ebp - 0xb0], dx
push eax
push 2
mov dword [ebp - 0xb4], 0xe40000
mov dword [ebp - 0xb8], 0x1000000
mov dword [ebp - 0x94], 2
mov dword [ebp - 0x90], 0x70000
call fcn.10077b10
mov ecx, dword [esi + 0x28]
mov dword [ebp - 0x130], 0
mov dword [ebp - 0x124], 2
mov dword [ebp - 0x128], 0xe40000
mov eax, dword [ecx]
mov dword [ebp - 0x12c], 0
movzx edx, ax
cmp eax, 0xffffffff
jne 0x1007e0aa
mov eax, dword [ecx + 0x44]
mov dword [ecx], eax
inc dword [ecx + 0x44]
movzx edx, ax
xor eax, eax
mov dword [ebp - 0xbc], 1
mov word [ebp - 0xae], ax
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x8c], eax
lea eax, [ebp - 0xbc]
push eax
lea eax, [ebp - 0x130]
mov word [ebp - 0xb0], dx
push eax
lea eax, [ebp - 0xd8]
mov dword [ebp - 0xb4], 0xe40000
push eax
lea eax, [ebp - 0x98]
mov dword [ebp - 0xb8], 0
push eax
push ecx
mov ecx, dword [esi + 0x1c]
mov dword [ebp - 0xd8], 2
mov dword [ebp - 0xcc], 9
mov dword [ebp - 0xd0], 0xff0000
mov dword [ebp - 0x94], 2
mov dword [ebp - 0x90], 0x70000
call fcn.10077ba0
mov dword [ebp - 0x8c], 2
mov edi, dword [ebp - 0x8c]
mov dword [ebp - 0x1c8], 0
jmp 0x1007e163
mov edi, dword [ebp - 0x208]
cmp dword [ebp - 0xc4], 0
mov dword [ebp - 0xac], edi
je 0x1007e3ca
mov ecx, dword [esi + 0x28]
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x94], 3
mov dword [ebp - 0x90], 0x70000
mov eax, dword [ecx + 0x20]
mov dword [ebp - 0x8c], 0
movzx edx, ax
cmp eax, 0xffffffff
jne 0x1007e1b8
mov eax, dword [ecx + 0x44]
mov dword [ecx + 0x20], eax
inc dword [ecx + 0x44]
movzx edx, ax
mov ecx, dword [esi + 0x1c]
xor eax, eax
mov word [ebp - 0xae], ax
lea eax, [ebp - 0xbc]
push eax
lea eax, [ebp - 0x98]
mov dword [ebp - 0xbc], 1
push eax
push 1
mov word [ebp - 0xb0], dx
mov dword [ebp - 0xb4], 0xe40000
mov dword [ebp - 0xb8], 0
call fcn.10077a80
mov ecx, dword [esi + 0x28]
mov dword [ebp - 0x130], 0
mov dword [ebp - 0x124], 3
mov dword [ebp - 0x128], 0xe40000
mov eax, dword [ecx + 4]
mov dword [ebp - 0x12c], 0
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x94], 3
mov dword [ebp - 0x90], 0x70000
mov dword [ebp - 0x8c], 0
movzx edx, ax
cmp eax, 0xffffffff
jne 0x1007e268
mov eax, dword [ecx + 0x44]
mov dword [ecx + 4], eax
inc dword [ecx + 0x44]
movzx edx, ax
mov ecx, dword [esi + 0x1c]
xor eax, eax
mov word [ebp - 0xae], ax
lea eax, [ebp - 0xbc]
push eax
lea eax, [ebp - 0x130]
mov dword [ebp - 0xbc], 1
push eax
lea eax, [ebp - 0x98]
mov word [ebp - 0xb0], dx
push eax
push 2
mov dword [ebp - 0xb4], 0xe40000
mov dword [ebp - 0xb8], 0x1000000
call fcn.10077b10
mov ecx, dword [esi + 0x28]
mov dword [ebp - 0x130], 0
mov dword [ebp - 0x124], 3
mov dword [ebp - 0x128], 0xe40000
mov eax, dword [ecx + 4]
mov dword [ebp - 0x12c], 0
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x94], 3
mov dword [ebp - 0x90], 0x70000
mov dword [ebp - 0x8c], 0
movzx edx, ax
cmp eax, 0xffffffff
jne 0x1007e31f
mov eax, dword [ecx + 0x44]
mov dword [ecx + 4], eax
inc dword [ecx + 0x44]
movzx edx, ax
xor eax, eax
mov dword [ebp - 0xbc], 1
mov word [ebp - 0xae], ax
mov dword [ebp - 0xd4], eax
lea eax, [ebp - 0xbc]
push eax
lea eax, [ebp - 0x130]
mov word [ebp - 0xb0], dx
push eax
lea eax, [ebp - 0xd8]
mov dword [ebp - 0xb4], 0xe40000
push eax
lea eax, [ebp - 0x98]
mov dword [ebp - 0xb8], 0
push eax
push ecx
mov ecx, dword [esi + 0x1c]
mov dword [ebp - 0xd8], 2
mov dword [ebp - 0xcc], 9
mov dword [ebp - 0xd0], 0xff0000
call fcn.10077ba0
mov dword [ebp - 0x8c], 3
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0x14c], 0
mov dword [ebp - 0x148], 0
mov dword [ebp - 0x144], 0xe40000
mov dword [ebp - 0x140], eax
mov eax, dword [esi + 0x18]
test al, 4
je 0x1007f584
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0x1c]
shr eax, 0x12
and eax, 3
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x138], eax
xor eax, eax
mov dword [ebp - 0xb0], eax
mov dword [ebp - 0xb8], eax
lea eax, [ebp - 0xbc]
push eax
lea eax, [ebp - 0x98]
mov dword [ebp - 0x94], 8
push eax
push 1
mov dword [ebp - 0x90], 0x10000
mov dword [ebp - 0x8c], 0
mov dword [ebp - 0xbc], 2
mov dword [ebp - 0xb4], 0xff0000
call fcn.10077a80
mov ecx, dword [esi + 0x1c]
xor eax, eax
mov dword [ebp - 0xb0], eax
mov dword [ebp - 0xb4], eax
mov dword [ebp - 0xb8], eax
lea eax, [ebp - 0xbc]
push eax
lea eax, [ebp - 0x98]
mov dword [ebp - 0x98], 0
push eax
push 1
mov dword [ebp - 0x94], 7
mov dword [ebp - 0x90], 0xf0000
mov dword [ebp - 0x8c], 0
mov dword [ebp - 0xbc], 2
call fcn.10077a80
mov eax, dword [esi + 0x18]
test al, 2
je 0x1007e523
xor eax, eax
mov dword [ebp - 0x98], 0
push eax
mov dword [ebp - 0xb0], eax
lea ecx, [ebp - 0xbc]
mov dword [ebp - 0xb8], eax
lea eax, [ebp - 0x170]
push eax
mov dword [ebp - 0x94], 1
mov dword [ebp - 0x90], 0x70000
mov dword [ebp - 0x8c], 0
mov dword [ebp - 0xbc], 2
mov dword [ebp - 0xb4], 0xe40000
call fcn.100777f0
mov ecx, dword [esi + 0x1c]
lea eax, [ebp - 0x170]
push eax
lea eax, [ebp - 0x98]
push eax
push 1
call fcn.10077a80
mov eax, dword [esi + 0x18]
test al, 1
je 0x1007e589
mov ecx, dword [esi + 0x1c]
xor eax, eax
mov dword [ebp - 0xb0], eax
mov dword [ebp - 0xb8], eax
lea eax, [ebp - 0xbc]
push eax
lea eax, [ebp - 0x98]
mov dword [ebp - 0x98], 0
push eax
push 1
mov dword [ebp - 0x94], 0
mov dword [ebp - 0x90], 0xf0000
mov dword [ebp - 0x8c], 0
mov dword [ebp - 0xbc], 2
mov dword [ebp - 0xb4], 0xe40000
call fcn.10077a80
mov ax, word [ebp - 0x186]
xor ebx, ebx
mov di, word [ebp - 0x196]
mov word [ebp - 0xc2], ax
mov word [ebp - 0xf2], di
jmp 0x1007e5b0
mov edi, dword [ebp - 0x1cc]
mov eax, ebx
mov edx, dword [ebp - 0x1b8]
mov ecx, dword [ebp - 0x1d0]
mov dword [ebp - 0xd4], edi
mov di, word [ebp - 0xc2]
mov word [ebp - 0xca], di
mov di, word [ebp - 0xf2]
mov dword [ebp - 0xd8], edx
mov word [ebp - 0xcc], cx
sub eax, 1
je 0x1007e60d
sub eax, 1
je 0x1007e606
sub eax, 1
je 0x1007e5ff
xor eax, eax
jmp 0x1007e612
mov eax, 0xff0000
jmp 0x1007e612
mov eax, 0xaa0000
jmp 0x1007e612
mov eax, 0x550000
mov dword [ebp - 0xd0], eax
cmp ebx, dword [ebp - 0x138]
jne 0x1007e659
mov dword [ebp - 0x208], 8
mov eax, dword [ebp - 0x208]
mov dword [ebp - 0xd8], 0
mov dword [ebp - 0xd4], 0
mov dword [ebp - 0xd0], 0
mov dword [ebp - 0xcc], eax
jmp 0x1007e724
mov edi, dword [esi + 0x1c]
mov dword [ebp - 0x128], eax
mov eax, dword [ebp - 0xcc]
shr eax, 0x10
mov word [ebp - 0x122], ax
mov eax, dword [edi]
mov word [ebp - 0x124], cx
mov ecx, dword [edi + 4]
mov dword [ebp - 0xbc], 0
mov dword [ebp - 0xb0], 8
mov dword [ebp - 0xb4], 0
mov dword [eax + ecx*4], 2
mov eax, dword [edi + 4]
mov dword [edi + 8], eax
inc dword [edi + 4]
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [ebp - 0xb8], 0
mov dword [ebp - 0x130], edx
mov dword [ebp - 0x12c], 0x1000000
mov dword [eax + ecx*4], 0x80010008
lea eax, [ebp - 0xbc]
inc dword [edi + 4]
mov ecx, edi
push eax
call fcn.10077d50
lea eax, [ebp - 0x130]
mov ecx, edi
push eax
call fcn.10077d50
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.10077eb0
inc dword [edi + 0x10]
cmp byte [edi + 0x18], 0
je 0x1007e719
inc dword [edi + 0x14]
mov byte [edi + 0x18], 1
mov di, word [ebp - 0xf2]
test dword [esi + 4], 0x4000000
je 0x1007f038
mov eax, ebx
mov word [ebp - 0x1d2], di
sub eax, 1
je 0x1007e792
sub eax, 1
je 0x1007e786
sub eax, 1
mov eax, dword [ebp - 0x178]
mov dword [ebp - 0x1e0], eax
mov eax, dword [ebp - 0xfc]
mov word [ebp - 0x1d4], ax
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0x1dc], eax
je 0x1007e77a
mov dword [ebp - 0x1d8], 0
jmp 0x1007e7c1
mov dword [ebp - 0x1d8], 0xff0000
jmp 0x1007e7c1
mov dword [ebp - 0x1d8], 0xaa0000
jmp 0x1007e79c
mov dword [ebp - 0x1d8], 0x550000
mov eax, dword [ebp - 0x178]
mov dword [ebp - 0x1e0], eax
mov eax, dword [ebp - 0xfc]
mov word [ebp - 0x1d4], ax
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0x1dc], eax
mov edi, dword [esi + 0x1c]
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [eax + ecx*4], 1
mov eax, dword [edi + 4]
mov dword [edi + 8], eax
inc dword [edi + 4]
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [eax + ecx*4], 0x8002000a
lea eax, [ebp - 0x1e0]
inc dword [edi + 4]
mov ecx, edi
push eax
call fcn.10077d50
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.10077eb0
inc dword [edi + 0x10]
cmp byte [edi + 0x18], 0
je 0x1007e81e
inc dword [edi + 0x14]
mov byte [edi + 0x18], 1
mov ecx, dword [esi + 0x24]
push 4
mov dword [ebp - 0x194], 0
mov dword [ebp - 0x188], 0xa
lea eax, [ecx + 0x14]
mov dword [ebp - 0x18c], 0x550000
push eax
lea eax, [ebp - 0x170]
mov dword [ebp - 0x190], 0
push eax
call fcn.100bde08
mov edi, dword [esi + 0x1c]
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [eax + ecx*4], 5
mov eax, dword [edi + 4]
mov dword [edi + 8], eax
inc dword [edi + 4]
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [eax + ecx*4], 0x8002000a
lea eax, [ebp - 0x194]
inc dword [edi + 4]
mov ecx, edi
push eax
call fcn.10077d50
lea eax, [ebp - 0x170]
mov ecx, edi
push eax
call fcn.10077d50
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.10077eb0
inc dword [edi + 0x10]
cmp byte [edi + 0x18], 0
je 0x1007e8ca
inc dword [edi + 0x14]
mov byte [edi + 0x18], 1
mov ecx, dword [esi + 0x24]
push 4
mov dword [ebp - 0x1a4], 0
mov dword [ebp - 0x198], 0xa
lea eax, [ecx + 0x1c]
mov dword [ebp - 0x19c], 0x550000
push eax
lea eax, [ebp - 0x404]
mov dword [ebp - 0x1a0], 0
push eax
call fcn.10078890
mov edi, dword [esi + 0x1c]
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [eax + ecx*4], 2
mov eax, dword [edi + 4]
mov dword [edi + 8], eax
inc dword [edi + 4]
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [eax + ecx*4], 0x8002000a
lea eax, [ebp - 0x1a4]
inc dword [edi + 4]
mov ecx, edi
push eax
call fcn.10077d50
lea eax, [ebp - 0x404]
mov ecx, edi
push eax
call fcn.10077d50
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.10077eb0
inc dword [edi + 0x10]
cmp byte [edi + 0x18], 0
je 0x1007e976
inc dword [edi + 0x14]
mov byte [edi + 0x18], 1
mov edi, dword [esi + 0x1c]
mov dword [ebp - 0xf0], 0
mov dword [ebp - 0xe4], 0xa
mov dword [ebp - 0xe8], 0x550000
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [ebp - 0xec], 0
mov dword [eax + ecx*4], 0x2e
mov eax, dword [edi + 4]
mov dword [edi + 8], eax
inc dword [edi + 4]
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [eax + ecx*4], 0xb0010000
lea eax, [ebp - 0xf0]
inc dword [edi + 4]
mov ecx, edi
push eax
call fcn.10077d50
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.10077eb0
inc dword [edi + 0x10]
cmp byte [edi + 0x18], 0
je 0x1007e9ff
inc dword [edi + 0x14]
sub esp, 0x10
mov dword [ebp - 0x398], 0x10004
mov eax, dword [ebp - 0x398]
mov ecx, esp
mov dword [ebp - 0x8c], eax
sub esp, 0x10
mov dword [ebp - 0x388], 6
mov eax, dword [ebp - 0x388]
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0xe40000
mov dword [ecx + 0xc], eax
mov ecx, esp
sub esp, 0x10
mov dword [ebp - 0x318], 0x10000
mov eax, dword [ebp - 0x318]
mov byte [edi + 0x18], 1
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 - 0x1c8]
sub esp, 0x10
mov dword [ebp - 0x98], 2
mov dword [ebp - 0x94], 0
mov dword [eax], ecx
mov ecx, dword [ebp - 0xac]
mov dword [eax + 4], 0
mov dword [eax + 8], 0xe40000
mov dword [eax + 0xc], ecx
mov eax, esp
mov ecx, esi
mov dword [ebp - 0x90], 0xe40000
mov dword [eax], 0
mov dword [eax + 4], 0xc
mov dword [eax + 8], 0xf0000
mov dword [eax + 0xc], 0
call fcn.1007c190
sub esp, 0x10
mov dword [ebp - 0x378], 6
mov eax, dword [ebp - 0x378]
mov ecx, esp
sub esp, 0x10
mov dword [ebp - 0x368], 0x12
mov dword [ebp - 0x358], 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 - 0x368]
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 - 0x358]
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.1007c190
sub esp, 0x10
mov dword [ebp - 0x3a8], 6
mov eax, dword [ebp - 0x3a8]
mov ecx, esp
mov dword [ebp - 0x3d8], 0x1a
mov dword [ebp - 0x3b8], 0xa
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0xe40000
mov dword [ecx + 0xc], eax
mov eax, dword [ebp - 0x3d8]
sub esp, 0x10
mov ecx, esp
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 - 0x3b8]
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.1007c190
mov edi, dword [esi + 0x1c]
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [eax + ecx*4], 4
mov eax, dword [edi + 4]
mov dword [edi + 8], eax
inc dword [edi + 4]
mov ecx, dword [edi + 4]
mov eax, dword [edi]
cmp ebx, dword [ebp - 0x138]
jne 0x1007ecda
mov dword [eax + ecx*4], 0xc00f0000
lea eax, [ebp - 0x234]
inc dword [edi + 4]
mov ecx, edi
push eax
mov dword [ebp - 0x244], 0
mov dword [ebp - 0x238], 7
mov dword [ebp - 0x23c], 0xe40000
mov dword [ebp - 0x240], 0
mov dword [ebp - 0x234], 0
mov dword [ebp - 0x228], 9
mov dword [ebp - 0x22c], 0xe40000
mov dword [ebp - 0x230], 0
call fcn.10077d50
lea eax, [ebp - 0xd8]
mov ecx, edi
push eax
call fcn.10077d50
lea eax, [ebp - 0x244]
jmp 0x1007ed56
mov dword [eax + ecx*4], 0x800f0007
lea eax, [ebp - 0x254]
inc dword [edi + 4]
mov ecx, edi
push eax
mov dword [ebp - 0x264], 0
mov dword [ebp - 0x258], 7
mov dword [ebp - 0x25c], 0xe40000
mov dword [ebp - 0x260], 0
mov dword [ebp - 0x254], 0
mov dword [ebp - 0x248], 9
mov dword [ebp - 0x24c], 0xe40000
mov dword [ebp - 0x250], 0
call fcn.10077d50
lea eax, [ebp - 0xd8]
mov ecx, edi
push eax
call fcn.10077d50
lea eax, [ebp - 0x264]
push eax
mov ecx, edi
call fcn.10077d50
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.10077eb0
inc dword [edi + 0x10]
cmp byte [edi + 0x18], 0
je 0x1007ed86
inc dword [edi + 0x14]
mov byte [edi + 0x18], 1
mov eax, dword [esi + 0x18]
test al, 1
je 0x1007ee57
mov edi, dword [esi + 0x1c]
xor eax, eax
mov dword [ebp - 0x278], eax
mov dword [ebp - 0x280], eax
mov dword [ebp - 0x274], eax
mov ecx, dword [edi + 4]
mov dword [ebp - 0x270], eax
mov eax, dword [edi]
mov dword [ebp - 0x284], 0
mov dword [ebp - 0x27c], 0xe40000
mov dword [ebp - 0x268], 0xa
mov dword [eax + ecx*4], 4
mov eax, dword [edi + 4]
mov dword [edi + 8], eax
inc dword [edi + 4]
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [ebp - 0x26c], 0xe40000
mov dword [eax + ecx*4], 0x80070000
lea eax, [ebp - 0x274]
inc dword [edi + 4]
mov ecx, edi
push eax
call fcn.10077d50
lea eax, [ebp - 0xd8]
mov ecx, edi
push eax
call fcn.10077d50
lea eax, [ebp - 0x284]
mov ecx, edi
push eax
call fcn.10077d50
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.10077eb0
inc dword [edi + 0x10]
cmp byte [edi + 0x18], 0
je 0x1007ee50
inc dword [edi + 0x14]
mov byte [edi + 0x18], 1
mov eax, dword [esi + 0x18]
test al, 2
je 0x1007f572
cmp dword [ebp - 0x120], 0
je 0x1007f572
mov edi, dword [esi + 0x1c]
mov dword [ebp - 0x294], 2
mov dword [ebp - 0x288], 0x16
mov dword [ebp - 0x28c], 0xe40000
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [ebp - 0x290], 0
mov dword [eax + ecx*4], 0x17
mov eax, dword [edi + 4]
mov dword [edi + 8], eax
inc dword [edi + 4]
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [eax + ecx*4], 0x80070006
lea eax, [ebp - 0x14c]
inc dword [edi + 4]
mov ecx, edi
push eax
call fcn.10077d50
lea eax, [ebp - 0x294]
mov ecx, edi
push eax
call fcn.10077d50
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.10077eb0
inc dword [edi + 0x10]
cmp byte [edi + 0x18], 0
je 0x1007eeff
inc dword [edi + 0x14]
mov byte [edi + 0x18], 1
mov edi, dword [esi + 0x1c]
mov dword [ebp - 0x2a4], 0
mov dword [ebp - 0x298], 6
mov dword [ebp - 0x29c], 0xe40000
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [ebp - 0x2a0], 0
mov dword [eax + ecx*4], 0x17
mov eax, dword [edi + 4]
mov dword [edi + 8], eax
inc dword [edi + 4]
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [eax + ecx*4], 0x8007000b
lea eax, [ebp - 0x2a4]
inc dword [edi + 4]
mov ecx, edi
push eax
call fcn.10077d50
lea eax, [ebp - 0x98]
mov ecx, edi
push eax
call fcn.10077d50
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.10077eb0
inc dword [edi + 0x10]
cmp byte [edi + 0x18], 0
je 0x1007ef96
inc dword [edi + 0x14]
mov byte [edi + 0x18], 1
mov edi, dword [esi + 0x1c]
mov dword [ebp - 0x2b4], 0
mov dword [ebp - 0x2a8], 1
mov dword [ebp - 0x2ac], 0xe40000
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [ebp - 0x2b0], 0
mov dword [ebp - 0x224], 0
mov dword [ebp - 0x218], 0xb
mov dword [eax + ecx*4], 4
mov eax, dword [edi + 4]
mov dword [edi + 8], eax
inc dword [edi + 4]
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [ebp - 0x21c], 0xe40000
mov dword [ebp - 0x220], 0
mov dword [eax + ecx*4], 0x80070001
lea eax, [ebp - 0x224]
inc dword [edi + 4]
mov ecx, edi
push eax
call fcn.10077d50
lea eax, [ebp - 0xd8]
mov ecx, edi
push eax
call fcn.10077d50
lea eax, [ebp - 0x2b4]
jmp 0x1007f53e
test ebx, ebx
jne 0x1007f041
lea eax, [ebx + 0xa]
jmp 0x1007f04e
mov eax, ebx
shl eax, 6
add eax, 0x460
shr eax, 4
mov word [ebp - 0x328], ax
xor eax, eax
mov word [ebp - 0x326], ax
test ebx, ebx
jne 0x1007f067
lea eax, [ebx + 0xe]
jmp 0x1007f074
mov eax, ebx
shl eax, 6
add eax, 0x520
shr eax, 4
mov word [ebp - 0x3c8], ax
xor eax, eax
mov word [ebp - 0x3c6], ax
mov dword [ebp - 0x1b0], eax
mov eax, dword [ebp - 0x3c8]
mov dword [ebp - 0x1b4], 2
mov dword [ebp - 0x1ac], 0xe40000
mov dword [ebp - 0x1a8], eax
test ebx, ebx
jne 0x1007f0b3
lea eax, [ebx + 3]
jmp 0x1007f0c0
mov eax, ebx
shl eax, 6
add eax, 0x3a0
shr eax, 4
sub esp, 0x10
mov word [ebp - 0x348], ax
mov ecx, esp
mov dword [ebp - 0x3e8], 6
xor eax, eax
sub esp, 0x10
mov word [ebp - 0x346], ax
mov dword [ecx], eax
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x3e8]
mov dword [ecx + 8], 0xe40000
mov dword [ecx + 0xc], eax
mov ecx, esp
mov eax, dword [ebp - 0x348]
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 - 0x1c8]
sub esp, 0x10
mov dword [eax], ecx
mov ecx, dword [ebp - 0xac]
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.1007c190
mov edi, dword [esi + 0x1c]
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [eax + ecx*4], 4
mov eax, dword [edi + 4]
mov dword [edi + 8], eax
inc dword [edi + 4]
mov ecx, dword [edi + 4]
mov eax, dword [edi]
cmp ebx, dword [ebp - 0x138]
jne 0x1007f20b
mov dword [eax + ecx*4], 0xc00f0000
lea eax, [ebp - 0x2c4]
inc dword [edi + 4]
mov ecx, edi
push eax
mov dword [ebp - 0x2d4], 0
mov dword [ebp - 0x2c8], 7
mov dword [ebp - 0x2cc], 0xe40000
mov dword [ebp - 0x2d0], 0
mov dword [ebp - 0x2c4], 0
mov dword [ebp - 0x2b8], 9
mov dword [ebp - 0x2bc], 0xe40000
mov dword [ebp - 0x2c0], 0
call fcn.10077d50
lea eax, [ebp - 0xd8]
mov ecx, edi
push eax
call fcn.10077d50
lea eax, [ebp - 0x2d4]
jmp 0x1007f287
mov dword [eax + ecx*4], 0x800f0007
lea eax, [ebp - 0x2e4]
inc dword [edi + 4]
mov ecx, edi
push eax
mov dword [ebp - 0x2f4], 0
mov dword [ebp - 0x2e8], 7
mov dword [ebp - 0x2ec], 0xe40000
mov dword [ebp - 0x2f0], 0
mov dword [ebp - 0x2e4], 0
mov dword [ebp - 0x2d8], 9
mov dword [ebp - 0x2dc], 0xe40000
mov dword [ebp - 0x2e0], 0
call fcn.10077d50
lea eax, [ebp - 0xd8]
mov ecx, edi
push eax
call fcn.10077d50
lea eax, [ebp - 0x2f4]
push eax
mov ecx, edi
call fcn.10077d50
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.10077eb0
inc dword [edi + 0x10]
cmp byte [edi + 0x18], 0
je 0x1007f2b7
inc dword [edi + 0x14]
mov byte [edi + 0x18], 1
mov eax, dword [esi + 0x18]
test al, 1
je 0x1007f421
sub esp, 0x10
mov dword [ebp - 0x338], 6
mov eax, dword [ebp - 0x338]
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 - 0x328]
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 - 0x1c8]
sub esp, 0x10
mov dword [eax], ecx
mov ecx, dword [ebp - 0xac]
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.1007c190
mov edi, dword [esi + 0x1c]
xor eax, eax
mov dword [ebp - 0x308], eax
mov dword [ebp - 0x310], eax
mov dword [ebp - 0x304], eax
mov ecx, dword [edi + 4]
mov dword [ebp - 0x300], eax
mov eax, dword [edi]
mov dword [ebp - 0x314], 0
mov dword [ebp - 0x30c], 0xe40000
mov dword [ebp - 0x2f8], 0xa
mov dword [eax + ecx*4], 4
mov eax, dword [edi + 4]
mov dword [edi + 8], eax
inc dword [edi + 4]
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [ebp - 0x2fc], 0xe40000
mov dword [eax + ecx*4], 0x80070000
lea eax, [ebp - 0x304]
inc dword [edi + 4]
mov ecx, edi
push eax
call fcn.10077d50
lea eax, [ebp - 0xd8]
mov ecx, edi
push eax
call fcn.10077d50
lea eax, [ebp - 0x314]
mov ecx, edi
push eax
call fcn.10077d50
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.10077eb0
inc dword [edi + 0x10]
cmp byte [edi + 0x18], 0
je 0x1007f41a
inc dword [edi + 0x14]
mov byte [edi + 0x18], 1
mov eax, dword [esi + 0x18]
test al, 2
je 0x1007f572
cmp dword [ebp - 0x120], 0
je 0x1007f572
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]
mov dword [edi + 8], eax
inc dword [edi + 4]
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [eax + ecx*4], 0x8007000b
lea eax, [ebp - 0x14c]
inc dword [edi + 4]
mov ecx, edi
push eax
call fcn.10077d50
lea eax, [ebp - 0x1b4]
mov ecx, edi
push eax
call fcn.10077d50
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.10077eb0
inc dword [edi + 0x10]
cmp byte [edi + 0x18], 0
je 0x1007f4a1
inc dword [edi + 0x14]
mov byte [edi + 0x18], 1
mov edi, dword [esi + 0x1c]
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0x9c], 1
mov dword [ebp - 0xa0], 0xe40000
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [ebp - 0xa4], 0
mov dword [ebp - 0x11c], 0
mov dword [ebp - 0x110], 0xb
mov dword [eax + ecx*4], 4
mov eax, dword [edi + 4]
mov dword [edi + 8], eax
inc dword [edi + 4]
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [ebp - 0x114], 0xe40000
mov dword [ebp - 0x118], 0
mov dword [eax + ecx*4], 0x80070001
lea eax, [ebp - 0x11c]
inc dword [edi + 4]
mov ecx, edi
push eax
call fcn.10077d50
lea eax, [ebp - 0xd8]
mov ecx, edi
push eax
call fcn.10077d50
lea eax, [ebp - 0xa8]
push eax
mov ecx, edi
call fcn.10077d50
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.10077eb0
inc dword [edi + 0x10]
cmp byte [edi + 0x18], 0
je 0x1007f56e
inc dword [edi + 0x14]
mov byte [edi + 0x18], 1
inc ebx
cmp ebx, dword [ebp - 0x138]
jbe 0x1007e5b0
jmp 0x1007f738
test al, 1
je 0x1007f618
sub esp, 0x10
mov dword [ebp - 0x1a8], 0xa
mov ecx, esp
xor eax, eax
sub esp, 0x10
mov dword [ebp - 0x8c], 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 - 0x1a8]
mov dword [ecx + 8], 0xe40000
mov dword [ecx + 0xc], eax
mov eax, esp
mov ecx, dword [ebp - 0x1c8]
sub esp, 0x10
mov dword [eax], ecx
mov ecx, esi
mov dword [eax + 4], 0
mov dword [eax + 8], 0xe40000
mov dword [eax + 0xc], edi
mov eax, esp
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0xf0000
mov dword [eax + 0xc], 0
call fcn.1007c190
mov eax, dword [esi + 0x18]
test al, 2
je 0x1007f684
cmp dword [ebp - 0x120], 0
je 0x1007f684
mov ecx, dword [esi + 0x24]
push 0x40
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x94], 1
lea eax, [ecx + 0xe0]
mov dword [ebp - 0x90], 0x70000
push eax
lea eax, [ebp - 0x170]
mov dword [ebp - 0x8c], 0
push eax
call fcn.10078890
mov ecx, dword [esi + 0x1c]
lea eax, [ebp - 0x170]
push eax
lea eax, [ebp - 0x14c]
push eax
lea eax, [ebp - 0x98]
push eax
push 0x17
call fcn.10077b10
mov ecx, dword [esi + 0x24]
push 0x40
mov dword [ebp - 0x1a8], 0xb
lea eax, [ecx + 0x30]
push eax
lea eax, [ebp - 0x98]
push eax
call fcn.10078890
mov eax, dword [ebp - 0x1a8]
sub esp, 0x10
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 - 0x98]
sub esp, 0x10
mov dword [ecx], eax
mov eax, dword [ebp - 0x94]
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x90]
mov dword [ecx + 8], eax
mov eax, dword [ebp - 0x8c]
mov dword [ecx + 0xc], eax
mov eax, esp
mov ecx, dword [ebp - 0x1c8]
sub esp, 0x10
mov dword [eax], ecx
mov ecx, dword [ebp - 0xac]
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.1007c190
test byte [esi + 0x18], 2
je 0x1007f829
cmp dword [ebp - 0x120], 0
je 0x1007f829
cmp dword [esi + 4], 0
jge 0x1007f829
mov ecx, dword [esi + 0x1c]
lea eax, [ebp - 0xa8]
push eax
lea eax, [ebp - 0x98]
mov dword [ebp - 0xa8], 0
push eax
push 0x24
mov dword [ebp - 0x9c], 1
mov dword [ebp - 0xa0], 0xe40000
mov dword [ebp - 0xa4], 0
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x94], 0xb
mov dword [ebp - 0x90], 0x70000
mov dword [ebp - 0x8c], 0
call fcn.10077a80
mov ecx, dword [esi + 0x1c]
lea eax, [ebp - 0xa8]
push eax
lea eax, [ebp - 0x98]
mov dword [ebp - 0xa8], 0
push eax
push 1
mov dword [ebp - 0x9c], 0xb
mov dword [ebp - 0xa0], 0xe40000
mov dword [ebp - 0xa4], 0
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x94], 1
mov dword [ebp - 0x90], 0x70000
mov dword [ebp - 0x8c], 0
call fcn.10077a80
test dword [esi + 4], 0x1000000
je 0x10080340
mov ecx, dword [esi + 0x24]
push 0x10
lea eax, [ecx + 0x660]
push eax
lea eax, [ebp - 0xf0]
push eax
call fcn.10078890
mov ecx, dword [esi + 0x24]
push 0x10
lea eax, [ecx + 0x670]
push eax
lea eax, [ebp - 0x14c]
push eax
call fcn.10078890
mov ecx, dword [esi + 0x24]
push 0x10
lea eax, [ecx + 0x640]
push eax
lea eax, [ebp - 0xd8]
push eax
call fcn.10078890
mov ecx, dword [esi + 0x24]
push 0x10
lea eax, [ecx + 0x650]
push eax
lea eax, [ebp - 0x160]
push eax
call fcn.10078890
test dword [esi + 4], 0x40000000
je 0x1007faf6
mov eax, dword [esi + 8]
mov edx, eax
mov ecx, eax
shr edx, 0xa
mov edi, eax
shr ecx, 0xc
shr edi, 0xe
and ecx, 3
shr eax, 0x10
and edi, 3
and edx, 3
mov dword [ebp - 0xac], ecx
and eax, 3
mov dword [ebp - 0x138], edi
test byte [esi + 4], 0x10
je 0x1007f9ec
cmp edx, 1
jne 0x1007f90b
mov ecx, dword [ebp - 0x1c0]
mov edi, dword [ebp - 0x1c4]
mov dword [ebp - 0xf4], ecx
mov ecx, dword [ebp - 0x1bc]
mov dword [ebp - 0xc0], ecx
mov ecx, dword [ebp - 0xc8]
mov dword [ebp - 0xe4], ecx
jmp 0x1007f929
mov ecx, dword [ebp - 0xe8]
mov edi, dword [ebp - 0xf0]
mov dword [ebp - 0xc0], ecx
mov ecx, dword [ebp - 0xec]
mov dword [ebp - 0xf4], ecx
mov ecx, dword [ebp - 0xac]
mov dword [ebp - 0xc4], edi
cmp ecx, 1
jne 0x1007f970
mov edi, dword [ebp - 0x1c4]
mov dword [ebp - 0x14c], edi
mov edi, dword [ebp - 0x1c0]
mov dword [ebp - 0x148], edi
mov edi, dword [ebp - 0x1bc]
mov dword [ebp - 0x144], edi
mov edi, dword [ebp - 0xc8]
mov dword [ebp - 0x140], edi
mov edi, dword [ebp - 0xc4]
cmp dword [ebp - 0x138], 1
jne 0x1007f9af
mov ecx, dword [ebp - 0x1c4]
mov dword [ebp - 0xd8], ecx
mov ecx, dword [ebp - 0x1c0]
mov dword [ebp - 0xd4], ecx
mov ecx, dword [ebp - 0x1bc]
mov dword [ebp - 0xd0], ecx
mov ecx, dword [ebp - 0xc8]
mov dword [ebp - 0xcc], ecx
mov ecx, dword [ebp - 0xac]
cmp eax, 1
jne 0x1007fa16
mov edi, dword [ebp - 0x1c4]
mov dword [ebp - 0x160], edi
mov edi, dword [ebp - 0x1c0]
mov dword [ebp - 0x15c], edi
mov edi, dword [ebp - 0x1bc]
mov dword [ebp - 0x158], edi
mov edi, dword [ebp - 0xc8]
mov dword [ebp - 0x154], edi
mov edi, dword [ebp - 0xc4]
jmp 0x1007fa16
mov ecx, dword [ebp - 0xe8]
mov edi, dword [ebp - 0xf0]
mov dword [ebp - 0xc0], ecx
mov ecx, dword [ebp - 0xec]
mov dword [ebp - 0xf4], ecx
mov ecx, dword [ebp - 0xac]
mov dword [ebp - 0xc4], edi
test byte [esi + 4], 0x20
je 0x1007fb1a
cmp edx, 2
jne 0x1007fa5d
mov edx, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0x174]
mov edi, dword [ebp - 0xf8]
mov dword [ebp - 0xf4], edx
mov edx, dword [ebp - 0x13c]
mov dword [ebp - 0xe4], ecx
mov ecx, dword [ebp - 0xac]
mov dword [ebp - 0xc4], edi
mov dword [ebp - 0xc0], edx
jmp 0x1007fa63
mov edx, dword [ebp - 0x13c]
cmp ecx, 2
mov ecx, dword [ebp - 0xf8]
jne 0x1007fa98
mov edi, dword [ebp - 0xe0]
mov dword [ebp - 0x148], edi
mov edi, dword [ebp - 0x174]
mov dword [ebp - 0x140], edi
mov edi, dword [ebp - 0xc4]
mov dword [ebp - 0x14c], ecx
mov dword [ebp - 0x144], edx
cmp dword [ebp - 0x138], 2
jne 0x1007facb
mov edi, dword [ebp - 0xe0]
mov dword [ebp - 0xd4], edi
mov edi, dword [ebp - 0x174]
mov dword [ebp - 0xcc], edi
mov edi, dword [ebp - 0xc4]
mov dword [ebp - 0xd8], ecx
mov dword [ebp - 0xd0], edx
cmp eax, 2
jne 0x1007fb1a
mov eax, dword [ebp - 0xe0]
mov dword [ebp - 0x15c], eax
mov eax, dword [ebp - 0x174]
mov dword [ebp - 0x160], ecx
mov dword [ebp - 0x158], edx
mov dword [ebp - 0x154], eax
jmp 0x1007fb1a
mov eax, dword [ebp - 0xe8]
mov edi, dword [ebp - 0xf0]
mov dword [ebp - 0xc0], eax
mov eax, dword [ebp - 0xec]
mov dword [ebp - 0xf4], eax
mov dword [ebp - 0xc4], edi
mov ebx, dword [ebp - 0xd8]
mov dword [ebp - 0x110], 0xa
mov eax, dword [ebp - 0x110]
mov dword [ebp - 0x124], eax
mov eax, dword [ebp - 0x160]
mov dword [ebp - 0x130], 0
mov dword [ebp - 0x12c], 0
mov dword [ebp - 0x128], 0xe40000
mov dword [ebp - 0x194], 0
mov dword [ebp - 0x190], 0xa
mov dword [ebp - 0x18c], 0x70000
mov dword [ebp - 0x188], 0
cmp eax, 2
je 0x1007fbd1
cmp ebx, 2
je 0x1007fbd1
cmp ebx, 1
jne 0x1007fb95
cmp eax, ebx
je 0x1007fbd1
mov ecx, dword [esi + 0x24]
push 0x10
lea eax, [ecx + 0x70]
push eax
lea eax, [ebp - 0x170]
push eax
call fcn.10078890
lea eax, [ebp - 0x160]
push eax
lea eax, [ebp - 0x170]
push eax
lea eax, [ebp - 0xd8]
push eax
lea eax, [ebp - 0x194]
push eax
push ecx
mov ecx, dword [esi + 0x1c]
call fcn.10077ba0
jmp 0x1007fc3c
mov ecx, dword [esi + 0x1c]
lea eax, [ebp - 0xd8]
push eax
lea eax, [ebp - 0x194]
push eax
push 1
call fcn.10077a80
mov ecx, dword [esi + 0x24]
push 0x10
lea eax, [ecx + 0x70]
push eax
lea eax, [ebp - 0x170]
push eax
call fcn.10078890
mov ecx, dword [esi + 0x1c]
lea eax, [ebp - 0x170]
push eax
lea eax, [ebp - 0x130]
push eax
lea eax, [ebp - 0x194]
push eax
push 5
call fcn.10077b10
mov ecx, dword [esi + 0x1c]
lea eax, [ebp - 0x160]
push eax
lea eax, [ebp - 0x130]
push eax
lea eax, [ebp - 0x194]
push eax
push 2
call fcn.10077b10
test dword [esi + 4], 0x20000000
je 0x1007fcef
cmp dword [ebp - 0x180], 0
je 0x1007fcef
xor ecx, ecx
mov dword [ebp - 0x8c], 0xb
mov eax, 0xe40000
mov dword [ebp - 0x184], ecx
mov dword [ebp - 0x13c], eax
xor edx, edx
mov dword [ebp - 0x1f8], eax
mov eax, dword [ebp - 0x8c]
push 4
mov dword [ebp - 0x200], ecx
mov dword [ebp - 0x98], ecx
mov dword [ebp - 0x8c], ecx
mov ecx, dword [esi + 0x24]
mov dword [ebp - 0x134], eax
mov dword [ebp - 0x1f4], eax
lea eax, [ebp - 0x170]
push ecx
push eax
mov dword [ebp - 0x150], edx
mov dword [ebp - 0x1fc], edx
mov dword [ebp - 0x94], 0xb
mov dword [ebp - 0x90], 0x70000
call fcn.10078890
mov ecx, dword [esi + 0x1c]
lea eax, [ebp - 0x170]
push eax
lea eax, [ebp - 0x98]
push eax
push 1
call fcn.10077a80
mov edi, dword [ebp - 0xc4]
mov edx, dword [esi + 8]
mov eax, dword [esi + 0x24]
shr edx, 3
and edx, 0xffffff01
mov cl, dl
mov dword [ebp - 0xc8], edx
xor cl, 1
mov byte [eax + 0xfa94], cl
test byte [esi + 8], 1
je 0x1007fe95
test dl, dl
jne 0x1007fd4e
mov ecx, dword [esi + 0x1c]
xor eax, eax
mov dword [ebp - 0x9c], eax
mov dword [ebp - 0xa4], eax
lea eax, [ebp - 0xa8]
push eax
mov dword [ebp - 0xa8], 7
mov dword [ebp - 0xa0], 0xe40000
call fcn.10077cb0
mov ecx, dword [ebp - 0x184]
xor eax, eax
sub esp, 0x10
mov dword [ebp - 0x1a8], eax
mov eax, esp
mov dword [ebp - 0x8c], 1
sub esp, 0x10
mov dword [eax], ecx
mov ecx, dword [ebp - 0x150]
mov dword [eax + 4], ecx
mov ecx, dword [ebp - 0x13c]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x134]
mov dword [eax + 0xc], ecx
mov eax, esp
mov ecx, dword [ebp - 0x110]
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 - 0xd4]
sub esp, 0x10
mov dword [eax], ebx
mov dword [eax + 4], ecx
mov ecx, dword [ebp - 0xd0]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0xcc]
mov dword [eax + 0xc], ecx
mov eax, esp
mov ecx, dword [ebp - 0xf4]
sub esp, 0x10
mov ebx, dword [ebp - 0x120]
mov dword [eax], edi
mov dword [eax + 4], ecx
mov ecx, dword [ebp - 0xc0]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0xe4]
mov dword [eax + 0xc], ecx
mov ecx, esp
mov eax, dword [ebp - 0x8c]
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 - 0x1a8]
push ebx
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.100bde08
mov edx, dword [ebp - 0xc8]
test dl, dl
jne 0x1007fe9b
mov edi, dword [esi + 0x1c]
push 0x10
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [eax + ecx*4], 0x1d
mov eax, dword [edi + 4]
mov ecx, eax
mov dword [edi + 8], eax
inc dword [edi + 4]
mov edx, dword [edi + 4]
mov eax, dword [edi]
sub edx, ecx
dec edx
shl edx, 0x18
or dword [eax + ecx*4], edx
mov ecx, edi
call fcn.10077eb0
inc dword [edi + 0x10]
cmp byte [edi + 0x18], 0
je 0x1007fe89
inc dword [edi + 0x14]
mov edx, dword [ebp - 0xc8]
mov byte [edi + 0x18], 1
jmp 0x1007fe9b
mov ebx, dword [ebp - 0x120]
test byte [esi + 8], 2
je 0x10080025
test dl, dl
jne 0x1007fee0
mov ecx, dword [esi + 0x1c]
lea eax, [ebp - 0xa8]
push eax
mov dword [ebp - 0xa8], 7
mov dword [ebp - 0x9c], 1
mov dword [ebp - 0xa0], 0xe40000
mov dword [ebp - 0xa4], 0
call fcn.10077cb0
mov ecx, dword [ebp - 0x184]
xor eax, eax
sub esp, 0x10
mov dword [ebp - 0x1a8], eax
mov eax, esp
mov edi, dword [ebp - 0xd8]
sub esp, 0x10
mov dword [ebp - 0x8c], 1
mov dword [eax], ecx
mov ecx, dword [ebp - 0x150]
mov dword [eax + 4], ecx
mov ecx, dword [ebp - 0x13c]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x134]
mov dword [eax + 0xc], ecx
mov eax, esp
mov ecx, dword [ebp - 0x110]
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 - 0xd4]
sub esp, 0x10
mov dword [eax], edi
mov dword [eax + 4], ecx
mov ecx, dword [ebp - 0xd0]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0xcc]
mov dword [eax + 0xc], ecx
mov eax, esp
mov ecx, dword [ebp - 0xc4]
sub esp, 0x10
mov dword [eax], ecx
mov ecx, dword [ebp - 0xf4]
mov dword [eax + 4], ecx
mov ecx, dword [ebp - 0xc0]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0xe4]
mov dword [eax + 0xc], ecx
mov ecx, esp
mov eax, dword [ebp - 0x8c]
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 - 0x1a8]
push ebx
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.1007c2d0
mov eax, dword [ebp - 0xc8]
test al, al
jne 0x10080031
mov edi, dword [esi + 0x1c]
push 0x10
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [eax + ecx*4], 0x1d
mov eax, dword [edi + 4]
mov ecx, eax
mov dword [edi + 8], eax
inc dword [edi + 4]
mov edx, dword [edi + 4]
mov eax, dword [edi]
sub edx, ecx
dec edx
shl edx, 0x18
or dword [eax + ecx*4], edx
mov ecx, edi
call fcn.10077eb0
inc dword [edi + 0x10]
cmp byte [edi + 0x18], 0
je 0x10080021
inc dword [edi + 0x14]
mov byte [edi + 0x18], 1
mov edi, dword [ebp - 0xd8]
mov eax, dword [ebp - 0xc8]
test byte [esi + 8], 4
je 0x100801b4
test al, al
jne 0x10080076
mov ecx, dword [esi + 0x1c]
lea eax, [ebp - 0xa8]
push eax
mov dword [ebp - 0xa8], 7
mov dword [ebp - 0x9c], 2
mov dword [ebp - 0xa0], 0xe40000
mov dword [ebp - 0xa4], 0
call fcn.10077cb0
mov ecx, dword [ebp - 0x184]
xor eax, eax
sub esp, 0x10
mov dword [ebp - 0x1a8], eax
mov eax, esp
mov dword [ebp - 0x8c], 1
sub esp, 0x10
mov dword [eax], ecx
mov ecx, dword [ebp - 0x150]
mov dword [eax + 4], ecx
mov ecx, dword [ebp - 0x13c]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x134]
mov dword [eax + 0xc], ecx
mov eax, esp
mov ecx, dword [ebp - 0x110]
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 - 0xd4]
sub esp, 0x10
mov dword [eax], edi
mov dword [eax + 4], ecx
mov ecx, dword [ebp - 0xd0]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0xcc]
mov dword [eax + 0xc], ecx
mov eax, esp
mov ecx, dword [ebp - 0xc4]
sub esp, 0x10
mov edi, dword [ebp - 0xe4]
mov dword [eax], ecx
mov ecx, dword [ebp - 0xf4]
mov dword [eax + 4], ecx
mov ecx, dword [ebp - 0xc0]
mov dword [eax + 8], ecx
mov ecx, esp
mov dword [eax + 0xc], edi
sub esp, 0x10
mov eax, dword [ebp - 0x8c]
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 - 0x1a8]
push ebx
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.1007c2d0
cmp byte [ebp - 0xc8], 0
jne 0x100801ba
mov edi, dword [esi + 0x1c]
push 0x10
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [eax + ecx*4], 0x1d
mov eax, dword [edi + 4]
mov ecx, eax
mov dword [edi + 8], eax
inc dword [edi + 4]
mov edx, dword [edi + 4]
mov eax, dword [edi]
sub edx, ecx
dec edx
shl edx, 0x18
or dword [eax + ecx*4], edx
mov ecx, edi
call fcn.10077eb0
inc dword [edi + 0x10]
cmp byte [edi + 0x18], 0
je 0x100801b0
inc dword [edi + 0x14]
mov byte [edi + 0x18], 1
mov edi, dword [ebp - 0xe4]
cmp dword [ebp - 0x17c], 0
je 0x1008027e
mov ecx, dword [esi + 0x1c]
lea eax, [ebp - 0x130]
push eax
lea eax, [ebp - 0x98]
mov dword [ebp - 0x98], 5
push eax
push 1
mov dword [ebp - 0x94], 0
mov dword [ebp - 0x90], 0x70000
mov dword [ebp - 0x8c], 0
call fcn.10077a80
mov eax, dword [ebp - 0xc4]
mov ecx, dword [esi + 0x1c]
mov dword [ebp - 0xa8], eax
mov eax, dword [ebp - 0xf4]
mov dword [ebp - 0xa4], eax
mov ax, word [ebp - 0xe2]
mov word [ebp - 0x9a], ax
lea eax, [ebp - 0xa8]
push eax
lea eax, [ebp - 0x98]
mov word [ebp - 0x9c], di
push eax
push 1
mov dword [ebp - 0xa0], 0xff0000
mov dword [ebp - 0x98], 5
mov dword [ebp - 0x94], 0
mov dword [ebp - 0x90], 0x80000
mov dword [ebp - 0x8c], 0
call fcn.10077a80
cmp dword [ebp - 0x180], 0
je 0x100803d2
test dword [esi + 4], 0x20000000
mov ecx, dword [esi + 0x1c]
mov dword [ebp - 0x98], 5
mov dword [ebp - 0x94], 1
mov dword [ebp - 0x8c], 0
je 0x1008032b
lea eax, [ebp - 0x14c]
mov dword [ebp - 0x90], 0x70000
push eax
lea eax, [ebp - 0x200]
push eax
lea eax, [ebp - 0x98]
push eax
push 5
call fcn.10077b10
mov eax, dword [ebp - 0x14c]
mov dword [ebp - 0xa8], eax
movzx eax, word [ebp - 0x140]
mov word [ebp - 0x9c], ax
mov eax, dword [ebp - 0x148]
mov dword [ebp - 0xa4], eax
movzx eax, word [ebp - 0x13e]
mov word [ebp - 0x9a], ax
lea eax, [ebp - 0xa8]
mov dword [ebp - 0xa0], 0xff0000
mov dword [ebp - 0x90], 0x80000
jmp 0x100803a2
mov dword [ebp - 0x90], 0xf0000
lea eax, [ebp - 0x10c]
jmp 0x100803c3
cmp dword [ebp - 0x17c], 0
je 0x10080389
mov ecx, dword [esi + 0x1c]
lea eax, [ebp - 0x160]
push eax
lea eax, [ebp - 0x98]
mov dword [ebp - 0x98], 5
push eax
push 1
mov dword [ebp - 0x94], 0
mov dword [ebp - 0x90], 0xf0000
mov dword [ebp - 0x8c], 0
call fcn.10077a80
cmp dword [ebp - 0x180], 0
je 0x100803d2
mov dword [ebp - 0x90], 0xf0000
lea eax, [ebp - 0x10c]
mov ecx, dword [esi + 0x1c]
mov dword [ebp - 0x98], 5
mov dword [ebp - 0x94], 1
mov dword [ebp - 0x8c], 0
push eax
lea eax, [ebp - 0x98]
push eax
push 1
call fcn.10077a80
mov edx, dword [esi + 4]
mov eax, edx
mov edi, dword [ebp - 0xdc]
and eax, 0x8200000
cmp eax, 0x8200000
jne 0x100806eb
mov ebx, dword [esi + 8]
or edi, 0x2000
shr ebx, 0x14
mov dword [ebp - 0xdc], edi
and ebx, 3
je 0x10080f25
push 0
push 0xb
lea ecx, [ebp - 0x108]
call fcn.10077860
mov edi, dword [ebp - 0x108]
mov ecx, dword [esi + 0x1c]
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0x8c], 0
mov dword [ebp - 0x94], edi
test edx, 0x10000000
je 0x10080579
xor eax, eax
mov dword [ebp - 0xa0], 0xe40000
mov dword [ebp - 0x9c], eax
mov dword [ebp - 0xa4], eax
mov dword [ebp - 0x11c], eax
mov dword [ebp - 0x110], eax
mov dword [ebp - 0x118], eax
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0x104]
mov dword [ebp - 0x90], eax
lea eax, [ebp - 0xa8]
push eax
lea eax, [ebp - 0x11c]
mov dword [ebp - 0x114], 0xe40000
push eax
lea eax, [ebp - 0x98]
push eax
push 8
call fcn.10077b10
mov eax, dword [ebp - 0x100]
mov ecx, dword [esi + 0x1c]
mov dword [ebp - 0xa0], eax
xor eax, eax
mov word [ebp - 0x9a], ax
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0x104]
mov dword [ebp - 0x90], eax
lea eax, [ebp - 0xa8]
push eax
lea eax, [ebp - 0x98]
mov dword [ebp - 0xa8], 0
push eax
push 7
mov word [ebp - 0x9c], di
mov dword [ebp - 0xa4], 0
mov dword [ebp - 0x94], edi
mov dword [ebp - 0x8c], 0
call fcn.10077a80
mov eax, dword [ebp - 0x100]
mov ecx, dword [esi + 0x1c]
mov dword [ebp - 0xa0], eax
xor eax, eax
mov word [ebp - 0x9a], ax
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0x104]
mov dword [ebp - 0x90], eax
lea eax, [ebp - 0xa8]
push eax
lea eax, [ebp - 0x98]
mov dword [ebp - 0xa8], 0
push eax
mov word [ebp - 0x9c], di
mov dword [ebp - 0xa4], 0
mov dword [ebp - 0x94], edi
mov dword [ebp - 0x8c], 0
push 6
jmp 0x100805b7
mov eax, dword [ebp - 0x104]
mov dword [ebp - 0x90], eax
xor eax, eax
mov dword [ebp - 0x9c], eax
mov dword [ebp - 0xa4], eax
lea eax, [ebp - 0xa8]
push eax
lea eax, [ebp - 0x98]
mov dword [ebp - 0x98], 0
push eax
mov dword [ebp - 0xa0], 0xaa0000
push 0x23
call fcn.10077a80
sub ebx, 1
je 0x10080dac
sub ebx, 1
je 0x10080c8f
sub ebx, 1
jne 0x100806e5
mov ecx, dword [esi + 0x24]
xor eax, eax
mov word [ebp - 0x9a], ax
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0x104]
mov dword [ebp - 0x90], eax
lea eax, [ecx + 0x90]
push 4
push eax
lea eax, [ebp - 0x170]
mov dword [ebp - 0xa8], ebx
mov ebx, dword [ebp - 0x100]
push eax
mov word [ebp - 0x9c], di
mov dword [ebp - 0xa0], ebx
mov dword [ebp - 0xa4], 0
mov dword [ebp - 0x94], edi
mov dword [ebp - 0x8c], 0
call fcn.10078890
mov ecx, dword [esi + 0x1c]
lea eax, [ebp - 0x170]
push eax
lea eax, [ebp - 0xa8]
push eax
lea eax, [ebp - 0x98]
push eax
push 5
call fcn.10077b10
mov ecx, dword [esi + 0x24]
xor eax, eax
mov word [ebp - 0x9a], ax
push 4
mov dword [ebp - 0xa8], 0
lea eax, [ecx + 0x94]
mov word [ebp - 0x9c], di
push eax
lea eax, [ebp - 0x170]
mov dword [ebp - 0xa0], ebx
push eax
mov dword [ebp - 0xa4], 0
call fcn.10078890
mov ecx, dword [esi + 0x1c]
lea eax, [ebp - 0x170]
push eax
lea eax, [ebp - 0xa8]
mov dword [ebp - 0x98], 4
push eax
lea eax, [ebp - 0x98]
mov dword [ebp - 0x94], 1
push eax
push 2
mov dword [ebp - 0x90], 0xf0000
mov dword [ebp - 0x8c], 0
call fcn.10077b10
mov edi, dword [ebp - 0xdc]
mov eax, dword [esi + 8]
test al, 0x20
je 0x100812b0
test dword [esi + 4], 0x100000
je 0x100812b0
or edi, 0x20
mov dword [ebp - 0xdc], edi
test al, 0x10
je 0x10081270
push 0
push 0xb
lea ecx, [ebp - 0xec]
call fcn.10077860
mov edi, dword [ebp - 0xec]
xor eax, eax
mov ecx, dword [esi + 0x1c]
mov dword [ebp - 0x9c], eax
mov dword [ebp - 0xa4], eax
mov dword [ebp - 0x11c], eax
mov dword [ebp - 0x110], eax
mov dword [ebp - 0x118], eax
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x8c], eax
lea eax, [ebp - 0xa8]
push eax
lea eax, [ebp - 0x11c]
mov dword [ebp - 0x94], edi
mov edi, dword [ebp - 0xe8]
push eax
lea eax, [ebp - 0x98]
mov dword [ebp - 0xa8], 0
push eax
push 8
mov dword [ebp - 0xa0], 0xe40000
mov dword [ebp - 0x114], 0xe40000
mov dword [ebp - 0x90], edi
call fcn.10077b10
mov eax, dword [ebp - 0xec]
xor ecx, ecx
mov ebx, dword [ebp - 0xe4]
mov word [ebp - 0x9c], ax
mov dword [ebp - 0x94], eax
lea eax, [ebp - 0xa8]
push eax
lea eax, [ebp - 0x98]
mov word [ebp - 0x9a], cx
push eax
mov dword [ebp - 0x98], ecx
mov dword [ebp - 0x8c], ecx
mov ecx, dword [esi + 0x1c]
push 7
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0xa0], ebx
mov dword [ebp - 0xa4], 0
mov dword [ebp - 0x90], edi
call fcn.10077a80
mov eax, dword [ebp - 0xec]
xor ecx, ecx
mov word [ebp - 0x9c], ax
mov dword [ebp - 0x94], eax
lea eax, [ebp - 0xa8]
push eax
lea eax, [ebp - 0x98]
mov word [ebp - 0x9a], cx
push eax
mov dword [ebp - 0x98], ecx
mov dword [ebp - 0x8c], ecx
mov ecx, dword [esi + 0x1c]
push 6
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0xa0], ebx
mov dword [ebp - 0xa4], 0
mov dword [ebp - 0x90], edi
call fcn.10077a80
push 0
push 0xa
lea ecx, [ebp - 0x108]
call fcn.10077860
mov eax, dword [ebp - 0x108]
mov ecx, dword [esi + 0x24]
mov dword [ebp - 0x94], eax
mov eax, dword [ebp - 0x104]
mov dword [ebp - 0x90], eax
push 4
lea eax, [ecx + 0x634]
mov dword [ebp - 0x98], 0
push eax
lea eax, [ebp - 0x170]
mov dword [ebp - 0x8c], 0
push eax
call fcn.10078890
mov ecx, dword [esi + 0x1c]
lea eax, [ebp - 0x170]
push eax
lea eax, [ebp - 0x98]
push eax
push 1
call fcn.10077a80
mov ecx, dword [ebp - 0x100]
mov eax, dword [ebp - 0x108]
mov edi, dword [ebp - 0xec]
mov dword [ebp - 0xa0], ecx
xor ecx, ecx
mov word [ebp - 0x9a], cx
mov dword [ebp - 0x11c], ecx
mov dword [ebp - 0x118], ecx
mov word [ebp - 0x10e], cx
mov dword [ebp - 0x98], ecx
mov dword [ebp - 0x8c], ecx
mov ecx, dword [esi + 0x24]
mov word [ebp - 0x9c], ax
mov dword [ebp - 0x94], eax
mov eax, dword [ebp - 0x104]
mov dword [ebp - 0x90], eax
lea eax, [ecx + 0x638]
push 4
push eax
lea eax, [ebp - 0x170]
mov dword [ebp - 0xa8], 0
push eax
mov dword [ebp - 0xa4], 0
mov word [ebp - 0x110], di
mov dword [ebp - 0x114], ebx
call fcn.100bde08
lea eax, [ebp - 0xa8]
push eax
lea eax, [ebp - 0x11c]
push eax
lea eax, [ebp - 0x170]
push eax
lea eax, [ebp - 0x98]
push eax
push ecx
mov ecx, dword [esi + 0x1c]
call fcn.10077ba0
mov ecx, dword [esi + 0x24]
xor eax, eax
mov word [ebp - 0x9a], ax
mov dword [ebp - 0x11c], eax
mov dword [ebp - 0x118], eax
mov word [ebp - 0x10e], ax
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0x104]
mov dword [ebp - 0x90], eax
lea eax, [ecx + 0x630]
push 4
push eax
lea eax, [ebp - 0x170]
mov word [ebp - 0x9c], di
mov edi, dword [ebp - 0x100]
mov dword [ebp - 0xa0], ebx
mov ebx, dword [ebp - 0x108]
push eax
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0xa4], 0
mov word [ebp - 0x110], bx
mov dword [ebp - 0x114], edi
mov dword [ebp - 0x94], ebx
mov dword [ebp - 0x8c], 0
call fcn.10078890
lea eax, [ebp - 0x170]
push eax
lea eax, [ebp - 0xa8]
push eax
lea eax, [ebp - 0x11c]
push eax
lea eax, [ebp - 0x98]
push eax
push ecx
mov ecx, dword [esi + 0x1c]
call fcn.10077ba0
cmp byte [esi + 0x5131], 0
mov edx, dword [esi + 0x24]
je 0x10080fa7
xor eax, eax
mov dword [ebp - 0xa8], 0
push 4
mov word [ebp - 0x9a], ax
mov ecx, edx
push edx
lea eax, [ebp - 0x170]
mov word [ebp - 0x9c], bx
push eax
mov dword [ebp - 0xa0], edi
mov dword [ebp - 0xa4], 0
call fcn.10078890
mov ecx, dword [esi + 0x1c]
lea eax, [ebp - 0x170]
push eax
lea eax, [ebp - 0xa8]
push eax
push 6
call fcn.10077c40
mov ecx, dword [esi + 0x24]
push 4
lea eax, [ecx + 0x620]
push eax
lea eax, [ebp - 0x170]
push eax
call fcn.10078890
mov ecx, dword [esi + 0x1c]
lea eax, [ebp - 0x170]
push eax
lea eax, [ebp - 0x98]
mov dword [ebp - 0x98], 4
push eax
push 1
mov dword [ebp - 0x94], 2
mov dword [ebp - 0x90], 0xf0000
mov dword [ebp - 0x8c], 0
call fcn.10077a80
mov ecx, dword [esi + 0x1c]
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
mov dword [eax + edx*4], 0x2a
mov eax, dword [ecx + 4]
mov dword [ecx + 8], eax
inc dword [ecx + 4]
call fcn.10077df0
mov ecx, dword [esi + 0x1c]
xor eax, eax
mov word [ebp - 0x9a], ax
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0x104]
mov dword [ebp - 0x90], eax
lea eax, [ebp - 0xa8]
push eax
lea eax, [ebp - 0x98]
mov dword [ebp - 0xa8], 0
push eax
push 7
mov word [ebp - 0x9c], bx
mov dword [ebp - 0xa0], edi
mov dword [ebp - 0xa4], 0
mov dword [ebp - 0x94], ebx
mov dword [ebp - 0x8c], 0
call fcn.10077a80
mov ecx, dword [esi + 0x24]
xor eax, eax
mov word [ebp - 0x9a], ax
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0x104]
mov dword [ebp - 0x90], eax
lea eax, [ecx + 0x62c]
push 4
push eax
lea eax, [ebp - 0x170]
mov dword [ebp - 0xa8], 0
push eax
mov word [ebp - 0x9c], bx
mov dword [ebp - 0xa0], edi
mov dword [ebp - 0xa4], 0
mov dword [ebp - 0x94], ebx
mov dword [ebp - 0x8c], 0
call fcn.10078890
mov ecx, dword [esi + 0x1c]
lea eax, [ebp - 0x170]
push eax
lea eax, [ebp - 0xa8]
push eax
lea eax, [ebp - 0x98]
push eax
push 5
call fcn.10077b10
mov ecx, dword [esi + 0x1c]
xor eax, eax
mov word [ebp - 0x9a], ax
mov dword [ebp - 0x8c], eax
lea eax, [ebp - 0xa8]
push eax
lea eax, [ebp - 0x1f0]
mov dword [ebp - 0xa8], 0
push eax
lea eax, [ebp - 0x98]
mov word [ebp - 0x9c], bx
push eax
push 5
mov dword [ebp - 0xa0], edi
mov dword [ebp - 0xa4], 0
mov dword [ebp - 0x98], 4
mov dword [ebp - 0x94], 2
mov dword [ebp - 0x90], 0xf0000
call fcn.10077b10
mov ecx, dword [esi + 0x1c]
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
mov dword [eax + edx*4], 0x2b
mov eax, dword [ecx + 4]
mov dword [ecx + 8], eax
inc dword [ecx + 4]
call fcn.10077df0
jmp 0x100812b0
mov ebx, dword [ebp - 0x100]
xor eax, eax
mov word [ebp - 0x9a], ax
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0x104]
mov dword [ebp - 0x90], eax
lea eax, [ebp - 0x54c]
push eax
mov dword [ebp - 0xa8], 0
mov word [ebp - 0x9c], di
mov dword [ebp - 0xa0], ebx
mov dword [ebp - 0xa4], 0
mov dword [ebp - 0x94], edi
mov dword [ebp - 0x8c], 0
call fcn.100784b0
mov ecx, dword [esi + 0x1c]
push eax
lea eax, [ebp - 0xa8]
push eax
lea eax, [ebp - 0x98]
push eax
push 5
call fcn.10077b10
mov ecx, dword [esi + 0x1c]
xor eax, eax
mov word [ebp - 0x9a], ax
mov dword [ebp - 0x11c], eax
mov dword [ebp - 0x118], eax
mov word [ebp - 0x10e], ax
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0x104]
mov dword [ebp - 0x90], eax
lea eax, [ebp - 0xa8]
push eax
lea eax, [ebp - 0x11c]
mov dword [ebp - 0xa8], 0
push eax
lea eax, [ebp - 0x98]
mov word [ebp - 0x9c], di
push eax
push 5
mov dword [ebp - 0xa0], ebx
mov dword [ebp - 0xa4], 0
mov word [ebp - 0x110], di
mov dword [ebp - 0x114], ebx
mov dword [ebp - 0x94], edi
mov dword [ebp - 0x8c], 0
call fcn.10077b10
xor eax, eax
mov word [ebp - 0x9a], ax
lea eax, [ebp - 0xa8]
push eax
lea eax, [ebp - 0x4ec]
jmp 0x10080e39
mov ebx, dword [ebp - 0x100]
xor eax, eax
mov word [ebp - 0x9a], ax
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0x104]
mov dword [ebp - 0x90], eax
lea eax, [ebp - 0x4fc]
push eax
mov dword [ebp - 0xa8], 0
mov word [ebp - 0x9c], di
mov dword [ebp - 0xa0], ebx
mov dword [ebp - 0xa4], 0
mov dword [ebp - 0x94], edi
mov dword [ebp - 0x8c], 0
call fcn.100784b0
mov ecx, dword [esi + 0x1c]
push eax
lea eax, [ebp - 0xa8]
push eax
lea eax, [ebp - 0x98]
push eax
push 5
call fcn.10077b10
xor eax, eax
mov word [ebp - 0x9a], ax
lea eax, [ebp - 0xa8]
push eax
lea eax, [ebp - 0x50c]
push ecx
push eax
mov dword [ebp - 0xa4], 0x1000000
mov dword [ebp - 0xa0], ebx
mov word [ebp - 0x9c], di
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0x8c], 0
mov dword [ebp - 0x90], 0xf0000
mov dword [ebp - 0x94], 0xa
mov dword [ebp - 0x98], 0
call fcn.10078470
mov ecx, dword [esi + 0x1c]
add esp, 4
push eax
lea eax, [ebp - 0x98]
push eax
push 0x20
call fcn.10077b10
push 0
push 0xa
lea ecx, [ebp - 0xd4]
call fcn.10077860
mov ax, word [ebp - 0xd4]
mov ecx, dword [esi + 0x1c]
mov word [ebp - 0x9c], ax
mov eax, dword [ebp - 0xcc]
mov dword [ebp - 0xa0], eax
xor eax, eax
mov word [ebp - 0x9a], ax
mov dword [ebp - 0x8c], eax
lea eax, [ebp - 0xa8]
push eax
lea eax, [ebp - 0x98]
mov dword [ebp - 0xa8], 0
push eax
push 1
mov dword [ebp - 0xa4], 0
mov dword [ebp - 0x98], 4
mov dword [ebp - 0x94], 1
mov dword [ebp - 0x90], 0xf0000
call fcn.10077a80
jmp 0x100806e5
mov eax, dword [ebp - 0xf8]
mov ecx, dword [esi + 0x1c]
mov dword [ebp - 0xa8], eax
mov eax, dword [ebp - 0x174]
mov word [ebp - 0x9c], ax
mov eax, dword [ebp - 0xe0]
mov dword [ebp - 0xa4], eax
mov ax, word [ebp - 0xfe]
mov word [ebp - 0x9a], ax
lea eax, [ebp - 0xa8]
push eax
lea eax, [ebp - 0x98]
mov dword [ebp - 0xa0], 0xff0000
push eax
push 1
mov dword [ebp - 0x98], 4
mov dword [ebp - 0x94], 1
mov dword [ebp - 0x90], 0xf0000
mov dword [ebp - 0x8c], 0
call fcn.10077a80
jmp 0x100806eb
push 2
push 0xa
lea ecx, [ebp - 0xd4]
call fcn.10077860
push 1
push 0xa
lea ecx, [ebp - 0xec]
call fcn.10077860
xor eax, eax
mov dword [ebp - 0xa0], edi
mov edi, dword [ebp - 0xec]
mov ecx, edx
mov word [ebp - 0x9a], ax
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0xe8]
push 4
mov dword [ebp - 0x90], eax
lea eax, [ebp - 0x170]
push edx
push eax
mov dword [ebp - 0xa8], 0
mov word [ebp - 0x9c], bx
mov dword [ebp - 0xa4], 0
mov dword [ebp - 0x94], edi
mov dword [ebp - 0x8c], 0
call fcn.10078890
mov ecx, dword [esi + 0x1c]
lea eax, [ebp - 0x170]
push eax
lea eax, [ebp - 0xa8]
push eax
lea eax, [ebp - 0x98]
push eax
push 0xc
call fcn.10077b10
mov eax, dword [ebp - 0xe4]
mov ecx, dword [esi + 0x24]
mov dword [ebp - 0xa0], eax
xor eax, eax
mov word [ebp - 0x9a], ax
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0xd0]
mov dword [ebp - 0x90], eax
lea eax, [ecx + 0x620]
push 4
push eax
lea eax, [ebp - 0x170]
mov word [ebp - 0x9c], di
mov edi, dword [ebp - 0xd4]
push eax
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0xa4], 0
mov dword [ebp - 0x94], edi
mov dword [ebp - 0x8c], 0
call fcn.10078890
mov ecx, dword [esi + 0x1c]
lea eax, [ebp - 0x170]
push eax
lea eax, [ebp - 0xa8]
push eax
lea eax, [ebp - 0x98]
push eax
push 5
call fcn.10077b10
mov ecx, dword [ebp - 0x100]
xor eax, eax
mov word [ebp - 0x9a], ax
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0x104]
mov dword [ebp - 0x90], eax
lea eax, [ebp - 0xa8]
push eax
lea eax, [ebp - 0x98]
mov dword [ebp - 0xa8], 0
push eax
mov word [ebp - 0x9c], bx
mov dword [ebp - 0xa0], ecx
mov dword [ebp - 0xa4], 0
mov dword [ebp - 0x94], ebx
mov dword [ebp - 0x8c], 0
push 7
mov ecx, dword [esi + 0x1c]
call fcn.10077a80
mov eax, dword [ebp - 0x100]
mov ecx, dword [esi + 0x24]
mov dword [ebp - 0xa0], eax
xor eax, eax
mov word [ebp - 0x9a], ax
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0x104]
mov dword [ebp - 0x90], eax
lea eax, [ecx + 0x62c]
push 4
push eax
lea eax, [ebp - 0x170]
mov dword [ebp - 0xa8], 0
push eax
mov word [ebp - 0x9c], bx
mov dword [ebp - 0xa4], 0
mov dword [ebp - 0x94], ebx
mov dword [ebp - 0x8c], 0
call fcn.10078890
mov ecx, dword [esi + 0x1c]
lea eax, [ebp - 0x170]
push eax
lea eax, [ebp - 0xa8]
push eax
lea eax, [ebp - 0x98]
push eax
push 5
call fcn.10077b10
mov eax, dword [ebp - 0xcc]
mov dword [ebp - 0xa0], eax
xor eax, eax
mov word [ebp - 0x9a], ax
mov dword [ebp - 0x11c], eax
mov eax, dword [ebp - 0x100]
mov dword [ebp - 0x114], eax
xor eax, eax
mov word [ebp - 0x10e], ax
mov dword [ebp - 0x8c], eax
lea eax, [ebp - 0xa8]
push eax
lea eax, [ebp - 0x11c]
mov dword [ebp - 0xa8], 0
push eax
lea eax, [ebp - 0x1f0]
mov word [ebp - 0x9c], di
push eax
lea eax, [ebp - 0x98]
mov dword [ebp - 0xa4], 0
push eax
push ecx
mov ecx, dword [esi + 0x1c]
mov word [ebp - 0x110], bx
mov dword [ebp - 0x118], 0
mov dword [ebp - 0x98], 4
mov dword [ebp - 0x94], 2
mov dword [ebp - 0x90], 0xf0000
call fcn.10077ba0
jmp 0x100812b0
mov ecx, dword [esi + 0x1c]
lea eax, [ebp - 0x1f0]
push eax
lea eax, [ebp - 0x98]
mov dword [ebp - 0x98], 4
push eax
push 1
mov dword [ebp - 0x94], 2
mov dword [ebp - 0x90], 0xf0000
mov dword [ebp - 0x8c], 0
call fcn.10077a80
mov ecx, dword [esi + 8]
xor edi, edi
mov edx, dword [ebp - 0xdc]
shr ecx, 6
and ecx, 0xf
mov dword [ebp - 0x180], edi
mov eax, ecx
mov dword [ebp - 0x150], ecx
shl eax, 8
or edx, eax
mov dword [ebp - 0xdc], edx
test ecx, ecx
je 0x1008293f
mov dword [ebp - 0x14c], edi
mov dword [ebp - 0x140], 0xa
mov dword [ebp - 0x144], 0xe40000
mov dword [ebp - 0x148], edi
mov dword [ebp - 0x10c], edi
mov dword [ebp - 0x108], 0xa
mov dword [ebp - 0x104], 0xf0000
mov dword [ebp - 0x100], edi
mov dword [ebp - 0xe0], 0x10
mov dword [ebp - 0x17c], 0x1e0
push edi
mov ecx, esi
call fcn.10078280
mov ebx, eax
cmp ebx, 0x30000
ja 0x1008191e
je 0x10081437
cmp ebx, 0x10000
je 0x10081376
cmp ebx, 0x20000
jne 0x10081926
xor eax, eax
mov dword [ebp - 0x418], eax
lea ebx, [eax + 2]
jmp 0x100820a5
xor ecx, ecx
mov dword [ebp - 0x428], 1
mov eax, dword [ebp - 0x428]
xor edi, edi
mov edx, 0xe40000
mov dword [ebp - 0x134], edi
mov dword [ebp - 0xc0], edx
mov dword [ebp - 0xf8], ecx
mov dword [ebp - 0xf0], edi
mov dword [ebp - 0xec], ecx
mov dword [ebp - 0xe8], edx
mov dword [ebp - 0xfc], eax
mov dword [ebp - 0xe4], eax
cmp dword [ebp - 0x120], ecx
jne 0x1008142d
mov ecx, dword [esi + 0x24]
lea eax, [ebp - 0x454]
push 4
push ecx
push eax
call fcn.10078890
mov edi, dword [esi + 0x1c]
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [eax + ecx*4], 1
mov ecx, edi
mov eax, dword [edi + 4]
mov dword [edi + 8], eax
inc dword [edi + 4]
mov eax, dword [edi]
mov edx, dword [edi + 4]
mov dword [eax + edx*4], 0x80070001
lea eax, [ebp - 0x454]
inc dword [edi + 4]
push eax
call fcn.10077d50
mov ecx, edi
call fcn.10077df0
mov edi, dword [ebp - 0x134]
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ebp - 0xc0]
mov eax, dword [ebp - 0xfc]
mov ebx, 2
jmp 0x100820d8
test dword [esi + 4], 0x2000000
je 0x100816fb
mov edi, dword [esi + 0x1c]
xor eax, eax
mov dword [ebp - 0x9c], eax
mov dword [ebp - 0xa4], eax
mov dword [ebp - 0xa8], 0
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [ebp - 0xa0], 0xe40000
mov dword [eax + ecx*4], 0x24
mov ecx, edi
mov eax, dword [edi + 4]
mov dword [edi + 8], eax
inc dword [edi + 4]
mov eax, dword [edi]
mov edx, dword [edi + 4]
mov dword [eax + edx*4], 0x8007000a
lea eax, [ebp - 0xa8]
inc dword [edi + 4]
push eax
call fcn.10077d50
mov ecx, edi
call fcn.10077df0
cmp dword [ebp - 0x120], 0
mov edi, dword [esi + 0x1c]
mov ecx, dword [edi + 4]
mov eax, dword [edi]
je 0x100816a9
mov dword [eax + ecx*4], 8
mov eax, dword [edi + 4]
mov dword [edi + 8], eax
inc dword [edi + 4]
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [ebp - 0x314], 0
mov dword [ebp - 0x308], 0xa
mov dword [ebp - 0x30c], 0xe40000
mov dword [eax + ecx*4], 0x80010009
lea eax, [ebp - 0x11c]
inc dword [edi + 4]
mov ecx, edi
push eax
mov dword [ebp - 0x310], 0
mov dword [ebp - 0x11c], 0
mov dword [ebp - 0x110], 1
mov dword [ebp - 0x114], 0xe40000
mov dword [ebp - 0x118], 0
call fcn.10077d50
lea eax, [ebp - 0x314]
mov ecx, edi
push eax
call fcn.10077d50
mov ecx, edi
call fcn.10077df0
mov edi, dword [esi + 0x1c]
mov dword [ebp - 0x2f4], 0
mov dword [ebp - 0x2e8], 9
mov dword [ebp - 0x2ec], 0
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [ebp - 0x2f0], 0
mov dword [ebp - 0x304], 0
mov dword [ebp - 0x2f8], 9
mov dword [eax + ecx*4], 2
mov eax, dword [edi + 4]
mov dword [edi + 8], eax
inc dword [edi + 4]
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [ebp - 0x2fc], 0
mov dword [ebp - 0x300], 0
mov dword [eax + ecx*4], 0x80010009
lea eax, [ebp - 0x304]
inc dword [edi + 4]
mov ecx, edi
push eax
call fcn.10077d50
lea eax, [ebp - 0x2f4]
mov ecx, edi
push eax
call fcn.10077d50
mov ecx, edi
call fcn.10077df0
mov edi, dword [esi + 0x1c]
mov dword [ebp - 0x2c4], 0
mov dword [ebp - 0x2b8], 0xa
mov dword [ebp - 0x2bc], 0xe40000
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [ebp - 0x2c0], 0
mov dword [ebp - 0x2d4], 0
mov dword [ebp - 0x2c8], 1
mov dword [eax + ecx*4], 4
mov eax, dword [edi + 4]
mov dword [edi + 8], eax
inc dword [edi + 4]
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [ebp - 0x2cc], 0xe40000
mov dword [ebp - 0x2d0], 0
mov dword [ebp - 0x2e4], 0
mov dword [eax + ecx*4], 0x8007000b
lea eax, [ebp - 0x2e4]
inc dword [edi + 4]
mov ecx, edi
mov dword [ebp - 0x2d8], 9
mov dword [ebp - 0x2dc], 0
mov dword [ebp - 0x2e0], 0x1000000
push eax
call fcn.10077d50
lea eax, [ebp - 0x2d4]
mov ecx, edi
push eax
call fcn.10077d50
lea eax, [ebp - 0x2c4]
jmp 0x100818f5
mov dword [eax + ecx*4], 1
mov eax, dword [edi + 4]
mov dword [edi + 8], eax
inc dword [edi + 4]
mov eax, dword [edi]
mov ecx, dword [edi + 4]
mov dword [ebp - 0x2b4], 0
mov dword [ebp - 0x2a8], 0xa
mov dword [ebp - 0x2ac], 0xe40000
mov dword [eax + ecx*4], 0x8007000b
lea eax, [ebp - 0x2b4]
inc dword [edi + 4]
mov dword [ebp - 0x2b0], 0
jmp 0x100818f5
cmp dword [ebp - 0x120], 0
je 0x1008182f
mov edi, dword [esi + 0x1c]
mov dword [ebp - 0x2a4], 0
mov dword [ebp - 0x298], 1
mov dword [ebp - 0x29c], 0xaa0000
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [ebp - 0x2a0], 0
mov dword [ebp - 0x224], 0
mov dword [ebp - 0x218], 1
mov dword [eax + ecx*4], 2
mov eax, dword [edi + 4]
mov dword [edi + 8], eax
inc dword [edi + 4]
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [ebp - 0x21c], 0xaa0000
mov dword [ebp - 0x220], 0
mov dword [eax + ecx*4], 0x80010009
lea eax, [ebp - 0x224]
inc dword [edi + 4]
mov ecx, edi
push eax
call fcn.10077d50
lea eax, [ebp - 0x2a4]
mov ecx, edi
push eax
call fcn.10077d50
mov ecx, edi
call fcn.10077df0
mov edi, dword [esi + 0x1c]
mov dword [ebp - 0x284], 0
mov dword [ebp - 0x278], 1
mov dword [ebp - 0x27c], 0xe40000
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [ebp - 0x280], 0
mov dword [ebp - 0x294], 0
mov dword [ebp - 0x288], 9
mov dword [eax + ecx*4], 5
mov eax, dword [edi + 4]
mov dword [edi + 8], eax
inc dword [edi + 4]
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [ebp - 0x28c], 0
mov dword [ebp - 0x290], 0x1000000
mov dword [eax + ecx*4], 0x8007000b
lea eax, [ebp - 0x294]
inc dword [edi + 4]
mov ecx, edi
push eax
call fcn.10077d50
lea eax, [ebp - 0x284]
jmp 0x1008186e
mov ecx, dword [esi + 0x24]
lea eax, [ebp - 0x464]
push 4
push ecx
push eax
call fcn.10078890
mov edi, dword [esi + 0x1c]
mov eax, dword [edi]
mov ecx, dword [edi + 4]
mov dword [eax + ecx*4], 1
mov eax, dword [edi + 4]
mov dword [edi + 8], eax
inc dword [edi + 4]
mov eax, dword [edi]
mov edx, dword [edi + 4]
mov dword [eax + edx*4], 0x8007000b
lea eax, [ebp - 0x464]
inc dword [edi + 4]
push eax
mov ecx, edi
call fcn.10077d50
mov ecx, edi
call fcn.10077df0
mov ecx, dword [esi + 0x24]
push 4
mov dword [ebp - 0x274], 0
mov dword [ebp - 0x268], 0xb
lea eax, [ecx + 0xc]
mov dword [ebp - 0x26c], 0xe40000
push eax
lea eax, [ebp - 0x474]
mov dword [ebp - 0x270], 0
push eax
call fcn.10078890
mov edi, dword [esi + 0x1c]
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [eax + ecx*4], 2
mov eax, dword [edi + 4]
mov dword [edi + 8], eax
inc dword [edi + 4]
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [eax + ecx*4], 0x8004000b
lea eax, [ebp - 0x274]
inc dword [edi + 4]
mov ecx, edi
push eax
call fcn.10077d50
lea eax, [ebp - 0x474]
push eax
mov ecx, edi
call fcn.10077d50
mov ecx, edi
call fcn.10077df0
mov dword [ebp - 0x408], 0xb
mov ebx, 2
mov eax, dword [ebp - 0x408]
jmp 0x100820a5
cmp ebx, 0x40000
je 0x10081950
and ebx, 7
mov eax, ebx
add eax, eax
movzx ebx, byte [esi + ebx + 0xc]
shr ebx, 6
mov edi, dword [ebp + eax*8 - 0x88]
mov ecx, dword [ebp + eax*8 - 0x84]
mov edx, dword [ebp + eax*8 - 0x80]
mov eax, dword [ebp + eax*8 - 0x7c]
jmp 0x100820ae
test dword [esi + 4], 0x2000000
je 0x10081cc9
mov edi, dword [esi + 0x1c]
xor eax, eax
mov dword [ebp - 0x258], eax
mov dword [ebp - 0x260], eax
mov dword [ebp - 0x264], 0
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [ebp - 0x25c], 0xe40000
mov dword [eax + ecx*4], 0x24
mov ecx, edi
mov eax, dword [edi + 4]
mov dword [edi + 8], eax
inc dword [edi + 4]
mov eax, dword [edi]
mov edx, dword [edi + 4]
mov dword [eax + edx*4], 0x8007000a
lea eax, [ebp - 0x264]
inc dword [edi + 4]
push eax
call fcn.10077d50
mov ecx, edi
call fcn.10077df0
cmp dword [ebp - 0x120], 0
mov edi, dword [esi + 0x1c]
mov ecx, dword [edi + 4]
mov eax, dword [edi]
je 0x10081bbf
mov dword [eax + ecx*4], 8
mov eax, dword [edi + 4]
mov dword [edi + 8], eax
inc dword [edi + 4]
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [ebp - 0x244], 0
mov dword [ebp - 0x238], 0xa
mov dword [ebp - 0x23c], 0xe40000
mov dword [eax + ecx*4], 0x80010009
lea eax, [ebp - 0x254]
inc dword [edi + 4]
mov ecx, edi
push eax
mov dword [ebp - 0x240], 0
mov dword [ebp - 0x254], 0
mov dword [ebp - 0x248], 1
mov dword [ebp - 0x24c], 0xe40000
mov dword [ebp - 0x250], 0
call fcn.10077d50
lea eax, [ebp - 0x244]
mov ecx, edi
push eax
call fcn.10077d50
mov ecx, edi
call fcn.10077df0
mov edi, dword [esi + 0x1c]
mov dword [ebp - 0x334], 0
mov dword [ebp - 0x328], 9
mov dword [ebp - 0x32c], 0
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [ebp - 0x330], 0
mov dword [ebp - 0x234], 0
mov dword [ebp - 0x228], 9
mov dword [eax + ecx*4], 2
mov eax, dword [edi + 4]
mov dword [edi + 8], eax
inc dword [edi + 4]
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [ebp - 0x22c], 0
mov dword [ebp - 0x230], 0
mov dword [eax + ecx*4], 0x80010009
lea eax, [ebp - 0x234]
inc dword [edi + 4]
mov ecx, edi
push eax
call fcn.10077d50
lea eax, [ebp - 0x334]
mov ecx, edi
push eax
call fcn.10077d50
mov ecx, edi
call fcn.10077df0
mov edi, dword [esi + 0x1c]
mov dword [ebp - 0x3f4], 0
mov dword [ebp - 0x3e8], 0xa
mov dword [ebp - 0x3ec], 0xe40000
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [ebp - 0x3f0], 0
mov dword [ebp - 0x354], 0
mov dword [ebp - 0x348], 1
mov dword [eax + ecx*4], 4
mov eax, dword [edi + 4]
mov dword [edi + 8], eax
inc dword [edi + 4]
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [ebp - 0x34c], 0xe40000
mov dword [ebp - 0x350], 0
mov dword [ebp - 0x344], 0
mov dword [eax + ecx*4], 0x80070008
lea eax, [ebp - 0x344]
inc dword [edi + 4]
mov ecx, edi
mov dword [ebp - 0x338], 9
mov dword [ebp - 0x33c], 0
mov dword [ebp - 0x340], 0x1000000
push eax
call fcn.10077d50
lea eax, [ebp - 0x354]
mov ecx, edi
push eax
call fcn.10077d50
lea eax, [ebp - 0x3f4]
jmp 0x10081c0c
mov dword [eax + ecx*4], 1
mov eax, dword [edi + 4]
mov dword [edi + 8], eax
inc dword [edi + 4]
mov eax, dword [edi]
mov edx, dword [edi + 4]
mov dword [ebp - 0x3d4], 0
mov dword [ebp - 0x3c8], 0xa
mov dword [ebp - 0x3cc], 0xe40000
mov dword [eax + edx*4], 0x80070008
lea eax, [ebp - 0x3d4]
inc dword [edi + 4]
mov dword [ebp - 0x3d0], 0
push eax
mov ecx, edi
call fcn.10077d50
mov ecx, edi
call fcn.10077df0
mov ecx, dword [esi + 0x24]
push 4
lea eax, [ecx + 0xc]
push eax
lea eax, [ebp - 0x51c]
push eax
call fcn.10078890
mov edi, dword [esi + 0x1c]
mov dword [ebp - 0x3e0], 0x1000000
mov dword [ebp - 0x3c4], 0
mov ecx, dword [eax]
mov dword [ebp - 0x3e4], ecx
mov cx, word [eax + 0xc]
mov word [ebp - 0x3d8], cx
mov ecx, dword [eax + 8]
mov ax, word [eax + 0xe]
mov word [ebp - 0x3d6], ax
mov eax, dword [edi]
mov dword [ebp - 0x3dc], ecx
mov ecx, dword [edi + 4]
mov dword [ebp - 0x3b8], 8
mov dword [ebp - 0x3bc], 0xaa0000
mov dword [ebp - 0x3c0], 0
mov dword [eax + ecx*4], 2
mov eax, dword [edi + 4]
mov dword [edi + 8], eax
inc dword [edi + 4]
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [eax + ecx*4], 0x80040008
lea eax, [ebp - 0x3c4]
inc dword [edi + 4]
mov ecx, edi
push eax
call fcn.10077d50
lea eax, [ebp - 0x3e4]
jmp 0x10081dfb
cmp dword [ebp - 0x120], 0
je 0x1008203f
mov edi, dword [esi + 0x1c]
mov dword [ebp - 0x364], 0
mov dword [ebp - 0x358], 1
mov dword [ebp - 0x35c], 0xaa0000
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [ebp - 0x360], 0
mov dword [ebp - 0x3b4], 0
mov dword [ebp - 0x3a8], 1
mov dword [eax + ecx*4], 2
mov eax, dword [edi + 4]
mov dword [edi + 8], eax
inc dword [edi + 4]
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [ebp - 0x3ac], 0xaa0000
mov dword [ebp - 0x3b0], 0
mov dword [eax + ecx*4], 0x80010009
lea eax, [ebp - 0x3b4]
inc dword [edi + 4]
mov ecx, edi
push eax
call fcn.10077d50
lea eax, [ebp - 0x364]
mov ecx, edi
push eax
call fcn.10077d50
mov ecx, edi
call fcn.10077df0
mov edi, dword [esi + 0x1c]
mov dword [ebp - 0x384], 0
mov dword [ebp - 0x378], 1
mov dword [ebp - 0x37c], 0xe40000
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [ebp - 0x380], 0
mov dword [ebp - 0x374], 0
mov dword [ebp - 0x368], 9
mov dword [eax + ecx*4], 5
mov eax, dword [edi + 4]
mov dword [edi + 8], eax
inc dword [edi + 4]
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [ebp - 0x36c], 0
mov dword [ebp - 0x370], 0x1000000
mov dword [eax + ecx*4], 0x80070008
lea eax, [ebp - 0x374]
inc dword [edi + 4]
mov ecx, edi
push eax
call fcn.10077d50
lea eax, [ebp - 0x384]
push eax
mov ecx, edi
call fcn.10077d50
mov ecx, edi
call fcn.10077df0
mov edi, dword [esi + 0x1c]
mov dword [ebp - 0x394], 0
mov dword [ebp - 0x388], 8
mov dword [ebp - 0x38c], 0xe40000
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [ebp - 0x390], 0
mov dword [ebp - 0x324], 0
mov dword [ebp - 0x318], 8
mov dword [eax + ecx*4], 8
mov eax, dword [edi + 4]
mov dword [edi + 8], eax
inc dword [edi + 4]
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [ebp - 0x31c], 0xe40000
mov dword [ebp - 0x320], 0
mov dword [eax + ecx*4], 0x80040008
lea eax, [ebp - 0x324]
inc dword [edi + 4]
mov ecx, edi
push eax
call fcn.10077d50
lea eax, [ebp - 0x394]
mov ecx, edi
push eax
call fcn.10077d50
mov ecx, edi
call fcn.10077df0
mov edi, dword [esi + 0x1c]
mov dword [ebp - 0x3a4], 0
mov dword [ebp - 0x398], 8
mov dword [ebp - 0x39c], 0xaa0000
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [ebp - 0x3a0], 0
mov dword [eax + ecx*4], 7
mov ecx, edi
mov eax, dword [edi + 4]
mov dword [edi + 8], eax
inc dword [edi + 4]
mov eax, dword [edi]
mov edx, dword [edi + 4]
mov dword [eax + edx*4], 0x80040008
lea eax, [ebp - 0x3a4]
inc dword [edi + 4]
push eax
call fcn.10077d50
mov ecx, edi
call fcn.10077df0
mov ecx, dword [esi + 0x24]
push 4
mov dword [ebp - 0x214], 0
mov dword [ebp - 0x208], 8
lea eax, [ecx + 0x10]
mov dword [ebp - 0x20c], 0xaa0000
push eax
lea eax, [ebp - 0x484]
mov dword [ebp - 0x210], 0
push eax
call fcn.10078890
mov edi, dword [esi + 0x1c]
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [eax + ecx*4], 5
mov eax, dword [edi + 4]
mov dword [edi + 8], eax
inc dword [edi + 4]
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [eax + ecx*4], 0x80040008
lea eax, [ebp - 0x214]
inc dword [edi + 4]
mov ecx, edi
push eax
call fcn.10077d50
lea eax, [ebp - 0x484]
mov ecx, edi
push eax
call fcn.10077d50
mov ecx, edi
call fcn.10077df0
mov ecx, dword [esi + 0x24]
push 4
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x8c], 8
lea eax, [ecx + 0x10]
mov dword [ebp - 0x90], 0xaa0000
push eax
lea eax, [ebp - 0x494]
mov dword [ebp - 0x94], 0
push eax
mov dword [ebp - 0x1b4], 0
mov dword [ebp - 0x1a8], 8
mov dword [ebp - 0x1ac], 0xe40000
mov dword [ebp - 0x1b0], 0
call fcn.10078890
mov edi, dword [esi + 0x1c]
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [eax + ecx*4], 4
mov eax, dword [edi + 4]
mov dword [edi + 8], eax
inc dword [edi + 4]
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [eax + ecx*4], 0x8003000b
lea eax, [ebp - 0x1b4]
inc dword [edi + 4]
mov ecx, edi
push eax
call fcn.10077d50
lea eax, [ebp - 0x98]
mov ecx, edi
push eax
call fcn.10077d50
lea eax, [ebp - 0x494]
jmp 0x10082081
mov ecx, dword [esi + 0x24]
push 4
lea eax, [ecx + 0x10]
push eax
lea eax, [ebp - 0x4a4]
push eax
call fcn.10078890
mov edi, dword [esi + 0x1c]
mov eax, dword [edi]
mov ecx, dword [edi + 4]
mov dword [eax + ecx*4], 1
mov eax, dword [edi + 4]
mov dword [edi + 8], eax
inc dword [edi + 4]
mov eax, dword [edi]
mov edx, dword [edi + 4]
mov dword [eax + edx*4], 0x8003000b
lea eax, [ebp - 0x4a4]
inc dword [edi + 4]
push eax
mov ecx, edi
call fcn.10077d50
mov ecx, edi
call fcn.10077df0
mov dword [ebp - 0x438], 0xb
mov ebx, 1
mov eax, dword [ebp - 0x438]
xor edi, edi
mov edx, 0xe40000
xor ecx, ecx
mov dword [ebp - 0xe4], eax
mov dword [ebp - 0xfc], eax
mov dword [ebp - 0xe8], edx
mov dword [ebp - 0xec], ecx
mov dword [ebp - 0xf0], edi
mov dword [ebp - 0xf8], ecx
mov dword [ebp - 0xc0], edx
mov dword [ebp - 0x1a0], ecx
xor ecx, ecx
mov dword [ebp - 0x198], eax
mov eax, dword [ebp - 0x204]
mov dword [ebp - 0x1a4], edi
mov dword [ebp - 0x19c], edx
mov dword [ebp - 0xac], ecx
test byte [esi + 0xb], al
je 0x1008210e
mov ecx, 0x100
mov dword [ebp - 0xac], ecx
mov eax, dword [ebp - 0x180]
movzx eax, byte [esi + eax + 0xc]
shr eax, 4
and eax, 3
sub eax, 1
je 0x10082138
sub eax, 1
je 0x10082133
sub eax, 1
jne 0x10082141
or ecx, 4
jmp 0x1008213b
or ecx, 3
jmp 0x1008213b
or ecx, 2
mov dword [ebp - 0xac], ecx
mov edx, ecx
and edx, 0xfffffeff
mov dword [ebp - 0xc8], edx
je 0x1008264b
mov ecx, dword [ebp - 0x17c]
xor eax, eax
shr ecx, 4
mov word [ebp - 0x1f2], ax
mov dword [ebp - 0x200], 2
mov word [ebp - 0x1f4], cx
lea eax, [ecx + 1]
mov dword [ebp - 0x1f8], 0xe40000
mov word [ebp - 0x1e4], ax
xor eax, eax
mov word [ebp - 0x1e2], ax
lea eax, [ecx + 2]
mov word [ebp - 0x124], ax
xor eax, eax
mov word [ebp - 0x122], ax
lea eax, [ecx + 3]
mov word [ebp - 0xb0], ax
xor eax, eax
mov dword [ebp - 0x1fc], 0
mov dword [ebp - 0x1f0], 2
mov dword [ebp - 0x1e8], 0xe40000
mov dword [ebp - 0x1ec], 0
mov dword [ebp - 0x130], 2
mov dword [ebp - 0x128], 0xe40000
mov dword [ebp - 0x12c], 0
mov dword [ebp - 0xbc], 2
mov dword [ebp - 0xb4], 0xe40000
mov dword [ebp - 0xb8], 0
mov word [ebp - 0xae], ax
cmp edx, 4
jb 0x1008222e
mov dword [ebp - 0xc8], 4
cmp edi, 2
jne switch.0x10082309
mov edi, dword [esi + 0x1c]
mov eax, ebx
mov ecx, dword [edi + 4]
sub eax, 0
je 0x1008229f
sub eax, 1
je 0x1008227f
sub eax, 1
mov eax, dword [edi]
mov dword [eax + ecx*4], 1
mov eax, dword [edi + 4]
mov dword [edi + 8], eax
je 0x1008226e
inc dword [edi + 4]
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [eax + ecx*4], 0x800f000b
jmp 0x100822bd
inc dword [edi + 4]
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [eax + ecx*4], 0x8007000b
jmp 0x100822bd
mov eax, dword [edi]
mov dword [eax + ecx*4], 1
mov eax, dword [edi + 4]
mov dword [edi + 8], eax
inc dword [edi + 4]
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [eax + ecx*4], 0x8003000b
jmp 0x100822bd
mov eax, dword [edi]
mov dword [eax + ecx*4], 1
mov eax, dword [edi + 4]
mov dword [edi + 8], eax
inc dword [edi + 4]
mov edx, dword [edi + 4]
mov eax, dword [edi]
mov dword [eax + edx*4], 0x8001000b
inc dword [edi + 4]
lea eax, [ebp - 0xf0]
push eax
mov ecx, edi
call fcn.10077d50
mov ecx, edi
call fcn.10077df0
mov dword [ebp - 0x3f8], 0xb
mov eax, dword [ebp - 0x3f8]
mov dword [ebp - 0xf0], 0
mov dword [ebp - 0xec], 0
mov dword [ebp - 0xe8], 0xe40000
mov dword [ebp - 0xe4], eax
jmp dword [ebx*4 + 0x10082960]
lea eax, [ebp - 0x200]
push eax
lea eax, [ebp - 0x52c]
push eax
lea ecx, [ebp - 0xf0]
call fcn.10077700
mov ebx, dword [ebp - 0xc8]
lea ecx, [ebp - 0x10c]
push eax
push ebx
lea eax, [ebp - 0x53c]
push eax
call fcn.100775d0
mov ecx, dword [esi + 0x1c]
push eax
push 5
call fcn.10077b10
lea eax, [ebp - 0x1f0]
push eax
lea eax, [ebp - 0x14c]
push eax
push ebx
lea eax, [ebp - 0x64c]
push eax
lea ecx, [ebp - 0x10c]
call fcn.100775d0
mov ecx, dword [esi + 0x1c]
push eax
push 2
call fcn.10077b10
jmp 0x10082611
lea eax, [ebp - 0x200]
push eax
lea eax, [ebp - 0x55c]
push eax
lea ecx, [ebp - 0xf0]
call fcn.10077700
mov ebx, dword [ebp - 0xc8]
lea ecx, [ebp - 0x10c]
push eax
push ebx
lea eax, [ebp - 0x56c]
push eax
call fcn.100775d0
mov ecx, dword [esi + 0x1c]
push eax
push 5
call fcn.10077b10
lea eax, [ebp - 0x14c]
push eax
lea eax, [ebp - 0x1f0]
push eax
lea eax, [ebp - 0x57c]
push eax
lea ecx, [ebp - 0xf0]
call fcn.10077730
push eax
push ebx
lea eax, [ebp - 0x58c]
push eax
lea ecx, [ebp - 0x10c]
call fcn.100775d0
push eax
push ecx
mov ecx, dword [esi + 0x1c]
call fcn.10077ba0
lea eax, [ebp - 0x130]
push eax
lea eax, [ebp - 0x14c]
push eax
push ebx
lea eax, [ebp - 0x59c]
push eax
lea ecx, [ebp - 0x10c]
call fcn.100775d0
mov ecx, dword [esi + 0x1c]
push eax
push 2
call fcn.10077b10
jmp 0x10082611
lea eax, [ebp - 0x200]
push eax
lea eax, [ebp - 0x5ac]
push eax
lea ecx, [ebp - 0xf0]
call fcn.10077700
mov ebx, dword [ebp - 0xc8]
lea ecx, [ebp - 0x10c]
push eax
push ebx
lea eax, [ebp - 0x5bc]
push eax
call fcn.100775d0
mov ecx, dword [esi + 0x1c]
push eax
push 5
call fcn.10077b10
lea eax, [ebp - 0x14c]
push eax
lea eax, [ebp - 0x1f0]
push eax
lea eax, [ebp - 0x5cc]
push eax
lea ecx, [ebp - 0xf0]
call fcn.10077730
push eax
push ebx
lea eax, [ebp - 0x5dc]
push eax
lea ecx, [ebp - 0x10c]
call fcn.100775d0
push eax
push ecx
mov ecx, dword [esi + 0x1c]
call fcn.10077ba0
lea eax, [ebp - 0x14c]
push eax
lea eax, [ebp - 0x130]
push eax
lea eax, [ebp - 0x5ec]
push eax
lea ecx, [ebp - 0xf0]
call fcn.10077760
push eax
push ebx
lea eax, [ebp - 0x5fc]
push eax
lea ecx, [ebp - 0x10c]
call fcn.100775d0
push eax
push ecx
mov ecx, dword [esi + 0x1c]
call fcn.10077ba0
lea eax, [ebp - 0xbc]
push eax
lea eax, [ebp - 0x14c]
push eax
push ebx
lea eax, [ebp - 0x60c]
push eax
lea ecx, [ebp - 0x10c]
call fcn.100775d0
mov ecx, dword [esi + 0x1c]
push eax
push 2
call fcn.10077b10
jmp 0x10082611
xor edi, edi
dec ebx
xor eax, eax
mov dword [ebp - 0x1a4], edi
mov dword [ebp - 0xf8], eax
mov dword [ebp - 0x1a0], eax
mov eax, 0xe40000
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0x19c], eax
mov eax, dword [ebp - 0x140]
mov dword [ebp - 0xfc], eax
mov dword [ebp - 0x198], eax
lea eax, [ebp - 0x194]
push eax
push 7
push 0xb
lea ecx, [ebp - 0x4dc]
call fcn.10077860
mov ecx, eax
call fcn.10077970
lea eax, [ebp - 0x170]
push eax
push 7
push 0xb
lea ecx, [ebp - 0x4d0]
call fcn.10077860
mov ecx, eax
call fcn.10077940
test dword [ebp - 0xac], 0x100
mov eax, dword [ebp - 0xf8]
mov dword [ebp - 0x15c], eax
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0x158], eax
mov eax, dword [ebp - 0xfc]
mov dword [ebp - 0x160], edi
mov dword [ebp - 0x154], eax
je 0x1008286e
cmp byte [esi + 0x5130], 0
je 0x100827af
test edi, edi
je 0x1008276c
cmp ebx, 3
je 0x100827a5
lea eax, [ebp - 0x1a4]
push eax
lea eax, [ebp - 0x69c]
push eax
lea ecx, [ebp - 0x170]
call fcn.10077670
mov ecx, dword [esi + 0x1c]
push eax
push 1
call fcn.10077a80
push ebx
lea eax, [ebp - 0x6ac]
push eax
lea ecx, [ebp - 0x1a4]
call fcn.100777f0
push eax
lea eax, [ebp - 0x6bc]
push eax
lea ecx, [ebp - 0x170]
call fcn.10077640
mov ecx, dword [esi + 0x1c]
push eax
push 1
call fcn.10077a80
mov eax, dword [ebp - 0x194]
mov ebx, 3
mov dword [ebp - 0x160], eax
mov eax, dword [ebp - 0x190]
mov dword [ebp - 0x15c], eax
mov eax, dword [ebp - 0x18c]
mov dword [ebp - 0x158], eax
mov eax, dword [ebp - 0x188]
mov dword [ebp - 0x154], eax
jmp 0x1008286e
push ebx
lea eax, [ebp - 0x6cc]
push eax
lea ecx, [ebp - 0x1a4]
call fcn.100777f0
push eax
lea eax, [ebp - 0x6dc]
push eax
lea eax, [ebp - 0x6ec]
push eax
call fcn.100776d0
mov ecx, eax
call fcn.10077640
mov ecx, dword [esi + 0x1c]
push eax
push 1
call fcn.10077a80
mov ebx, 3
jmp 0x1008286e
push 0
push 0xa
lea ecx, [ebp - 0xd4]
call fcn.10077860
lea eax, [ebp - 0x4b4]
push eax
call fcn.10077940
push ebx
lea eax, [ebp - 0x6fc]
push eax
lea ecx, [ebp - 0x1a4]
call fcn.100777f0
mov ecx, dword [esi + 0x1c]
push eax
lea eax, [ebp - 0x4b4]
push eax
push 6
call fcn.10077a80
lea eax, [ebp - 0x4c4]
push eax
lea ecx, [ebp - 0xd4]
call fcn.10077970
lea eax, [ebp - 0x4c4]
push eax
lea eax, [ebp - 0x1a4]
push eax
lea eax, [ebx + 1]
push eax
lea eax, [ebp - 0x70c]
push eax
lea eax, [ebp - 0x71c]
push eax
lea ecx, [ebp - 0x160]
call fcn.100776d0
mov ecx, eax
call fcn.100775d0
mov ecx, dword [esi + 0x1c]
push eax
push 5
call fcn.10077b10
mov eax, dword [ebp - 0x194]
mov dword [ebp - 0x160], eax
mov eax, dword [ebp - 0x190]
mov dword [ebp - 0x15c], eax
mov eax, dword [ebp - 0x18c]
mov dword [ebp - 0x158], eax
mov eax, dword [ebp - 0x188]
mov dword [ebp - 0x154], eax
mov edi, dword [ebp - 0x180]
lea eax, [ebp - 0x160]
push eax
lea eax, [ebx + 1]
mov edx, edi
push eax
lea eax, [ebp - 0x72c]
push eax
lea ecx, [ebp - 0x73c]
call fcn.10077f50
mov ecx, eax
call fcn.100775d0
mov ecx, dword [esi + 0x1c]
push eax
push 1
call fcn.10077a80
cmp ebx, 3
ja case.0x100828aa.1
jmp dword [ebx*4 + 0x10082970]
mov ecx, dword [ebp - 0xe0]
mov eax, 3
mov edx, dword [ebp - 0xdc]
shl eax, cl
or edx, eax
mov dword [ebp - 0xdc], edx
jmp 0x10082908
mov edx, dword [ebp - 0xdc]
mov eax, dword [ebp - 0xe0]
bts edx, eax
mov dword [ebp - 0xdc], edx
jmp 0x1008290e
mov ecx, dword [ebp - 0xe0]
mov eax, 2
mov edx, dword [ebp - 0xdc]
shl eax, cl
or edx, eax
mov dword [ebp - 0xdc], edx
jmp 0x10082908
mov edx, dword [ebp - 0xdc]
mov eax, dword [ebp - 0xe0]
add dword [ebp - 0x17c], 0x40
add eax, 2
mov dword [ebp - 0xe0], eax
inc edi
mov eax, dword [ebp - 0x204]
rol eax, 1
mov dword [ebp - 0x180], edi
mov dword [ebp - 0x204], eax
cmp edi, dword [ebp - 0x150]
jb 0x10081336
mov dword [esi + 0x14], edx
mov ecx, dword [esi + 0x1c]
call fcn.10077d30
mov eax, dword [esi + 0x1c]
mov ecx, dword [ebp - 4]
pop edi
pop esi
mov eax, dword [eax]
xor ecx, ebp
pop ebx
call fcn.1009fbf0
mov esp, ebp
pop ebp
ret