866069:	0f 8f 8d 03 00 00    	jg     0x8663fc
86606f:	3b 4d e4             	cmp    -0x1c(%ebp),%ecx
866072:	0f 8c 84 03 00 00    	jl     0x8663fc
866078:	3b 4d f0             	cmp    -0x10(%ebp),%ecx
86607b:	0f 8f 7b 03 00 00    	jg     0x8663fc
866081:	3b d9                	cmp    %ecx,%ebx
866083:	0f 85 da 01 00 00    	jne    0x866263
866089:	8d 97 84 00 00 00    	lea    0x84(%edi),%edx
86608f:	8b 02                	mov    (%edx),%eax
866091:	83 78 f4 00          	cmpl   $0x0,-0xc(%eax)
866095:	0f 84 9b 01 00 00    	je     0x866236
86609b:	3b 4d f0             	cmp    -0x10(%ebp),%ecx
86609e:	75 0d                	jne    0x8660ad
8660a0:	6a ff                	push   $0xffffffff
8660a2:	ff 15 3c 3e d8 00    	call   *0xd83e3c
8660a8:	e9 66 03 00 00       	jmp    0x866413
8660ad:	33 f6                	xor    %esi,%esi
8660af:	8b ca                	mov    %edx,%ecx
8660b1:	46                   	inc    %esi
8660b2:	53                   	push   %ebx
8660b3:	89 75 d4             	mov    %esi,-0x2c(%ebp)
8660b6:	e8 bd cb bb ff       	call   0x422c78
8660bb:	0f b7 c0             	movzwl %ax,%eax
8660be:	33 c9                	xor    %ecx,%ecx
8660c0:	89 45 d0             	mov    %eax,-0x30(%ebp)
8660c3:	41                   	inc    %ecx
8660c4:	83 65 ec 00          	andl   $0x0,-0x14(%ebp)
8660c8:	8d 43 01             	lea    0x1(%ebx),%eax
8660cb:	89 4d d8             	mov    %ecx,-0x28(%ebp)
8660ce:	89 45 e8             	mov    %eax,-0x18(%ebp)
8660d1:	8b 55 f0             	mov    -0x10(%ebp),%edx
8660d4:	3b c2                	cmp    %edx,%eax
8660d6:	7d 2e                	jge    0x866106
8660d8:	50                   	push   %eax
8660d9:	8d 8f 84 00 00 00    	lea    0x84(%edi),%ecx
8660df:	e8 94 cb bb ff       	call   0x422c78
8660e4:	66 3b 45 d0          	cmp    -0x30(%ebp),%ax
8660e8:	8b 45 e8             	mov    -0x18(%ebp),%eax
8660eb:	75 0d                	jne    0x8660fa
8660ed:	8b 4d d8             	mov    -0x28(%ebp),%ecx
8660f0:	46                   	inc    %esi
8660f1:	40                   	inc    %eax
8660f2:	89 75 d4             	mov    %esi,-0x2c(%ebp)
8660f5:	89 45 e8             	mov    %eax,-0x18(%ebp)
8660f8:	eb 05                	jmp    0x8660ff
8660fa:	33 c9                	xor    %ecx,%ecx
8660fc:	89 4d d8             	mov    %ecx,-0x28(%ebp)
8660ff:	85 c9                	test   %ecx,%ecx
866101:	75 ce                	jne    0x8660d1
866103:	8b 55 f0             	mov    -0x10(%ebp),%edx
866106:	8d 04 33             	lea    (%ebx,%esi,1),%eax
866109:	89 5d e8             	mov    %ebx,-0x18(%ebp)
86610c:	8b cb                	mov    %ebx,%ecx
86610e:	3b c2                	cmp    %edx,%eax
866110:	8d 87 80 00 00 00    	lea    0x80(%edi),%eax
866116:	7d 64                	jge    0x86617c
866118:	51                   	push   %ecx
866119:	8b c8                	mov    %eax,%ecx
86611b:	e8 58 cb bb ff       	call   0x422c78
866120:	66 3b 87 8c 00 00 00 	cmp    0x8c(%edi),%ax
866127:	74 44                	je     0x86616d
866129:	ff 75 e8             	push   -0x18(%ebp)
86612c:	8b 37                	mov    (%edi),%esi
86612e:	8d 8f 84 00 00 00    	lea    0x84(%edi),%ecx
866134:	e8 3f cb bb ff       	call   0x422c78
866139:	0f b7 c0             	movzwl %ax,%eax
86613c:	8d 8f 80 00 00 00    	lea    0x80(%edi),%ecx
866142:	50                   	push   %eax
866143:	ff 75 e8             	push   -0x18(%ebp)
866146:	e8 2d cb bb ff       	call   0x422c78
86614b:	8b 8e 64 01 00 00    	mov    0x164(%esi),%ecx
866151:	0f b7 c0             	movzwl %ax,%eax
866154:	50                   	push   %eax
866155:	e8 0b 65 bc ff       	call   0x42c665
86615a:	8b cf                	mov    %edi,%ecx
86615c:	ff 96 64 01 00 00    	call   *0x164(%esi)
866162:	85 c0                	test   %eax,%eax
866164:	0f 84 36 ff ff ff    	je     0x8660a0
86616a:	8b 75 d4             	mov    -0x2c(%ebp),%esi
86616d:	8b 4d e8             	mov    -0x18(%ebp),%ecx
866170:	41                   	inc    %ecx
866171:	89 4d e8             	mov    %ecx,-0x18(%ebp)
866174:	8d 04 31             	lea    (%ecx,%esi,1),%eax
866177:	3b 45 f0             	cmp    -0x10(%ebp),%eax
86617a:	eb 94                	jmp    0x866110
86617c:	56                   	push   %esi
86617d:	53                   	push   %ebx
86617e:	8d 4d e8             	lea    -0x18(%ebp),%ecx
866181:	89 45 d4             	mov    %eax,-0x2c(%ebp)
866184:	51                   	push   %ecx
866185:	8b c8                	mov    %eax,%ecx
866187:	e8 43 54 bd ff       	call   0x43b5cf
86618c:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
866190:	85 f6                	test   %esi,%esi
866192:	7e 3c                	jle    0x8661d0
866194:	8d 46 ff             	lea    -0x1(%esi),%eax
866197:	50                   	push   %eax
866198:	8d 45 d0             	lea    -0x30(%ebp),%eax
86619b:	50                   	push   %eax
86619c:	8d 4d e8             	lea    -0x18(%ebp),%ecx
86619f:	e8 f1 0c bc ff       	call   0x426e95
8661a4:	50                   	push   %eax
8661a5:	8d 4d e8             	lea    -0x18(%ebp),%ecx
8661a8:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
8661ac:	e8 3c c5 ba ff       	call   0x4126ed
8661b1:	8b 4d d0             	mov    -0x30(%ebp),%ecx
8661b4:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
8661b8:	8d 49 f0             	lea    -0x10(%ecx),%ecx
8661bb:	e8 54 ea b9 ff       	call   0x404c14
8661c0:	0f b7 87 8c 00 00 00 	movzwl 0x8c(%edi),%eax
8661c7:	8d 4d e8             	lea    -0x18(%ebp),%ecx
8661ca:	50                   	push   %eax
8661cb:	e8 b5 d1 bb ff       	call   0x423385
8661d0:	6a 00                	push   $0x0
8661d2:	8d 04 33             	lea    (%ebx,%esi,1),%eax
8661d5:	8b cf                	mov    %edi,%ecx
8661d7:	50                   	push   %eax
8661d8:	53                   	push   %ebx
8661d9:	e8 1c f3 bb ff       	call   0x4254fa
8661de:	8b 75 e8             	mov    -0x18(%ebp),%esi
8661e1:	56                   	push   %esi
8661e2:	6a 01                	push   $0x1
8661e4:	68 c2 00 00 00       	push   $0xc2
8661e9:	ff 77 20             	push   0x20(%edi)
8661ec:	ff 15 20 40 d8 00    	call   *0xd84020
8661f2:	6a 00                	push   $0x0
8661f4:	53                   	push   %ebx
8661f5:	53                   	push   %ebx
8661f6:	8b cf                	mov    %edi,%ecx
8661f8:	e8 fd f2 bb ff       	call   0x4254fa
8661fd:	33 c0                	xor    %eax,%eax
8661ff:	39 46 f4             	cmp    %eax,-0xc(%esi)
866202:	0f 8e c6 01 00 00    	jle    0x8663ce
866208:	8b 7d d4             	mov    -0x2c(%ebp),%edi
86620b:	50                   	push   %eax
86620c:	8d 4d e8             	lea    -0x18(%ebp),%ecx
86620f:	e8 64 ca bb ff       	call   0x422c78
866214:	0f b7 c0             	movzwl %ax,%eax
866217:	8b cf                	mov    %edi,%ecx
866219:	50                   	push   %eax
86621a:	8b 45 ec             	mov    -0x14(%ebp),%eax
86621d:	03 c3                	add    %ebx,%eax
86621f:	50                   	push   %eax
866220:	e8 1c c9 bc ff       	call   0x432b41
866225:	8b 45 ec             	mov    -0x14(%ebp),%eax
866228:	40                   	inc    %eax
866229:	89 45 ec             	mov    %eax,-0x14(%ebp)
86622c:	3b 46 f4             	cmp    -0xc(%esi),%eax
86622f:	7c da                	jl     0x86620b
866231:	e9 98 01 00 00       	jmp    0x8663ce
866236:	8d 45 d0             	lea    -0x30(%ebp),%eax
866239:	50                   	push   %eax
86623a:	8d 45 d4             	lea    -0x2c(%ebp),%eax
86623d:	50                   	push   %eax
86623e:	56                   	push   %esi
86623f:	ff 77 20             	push   0x20(%edi)
866242:	ff 15 20 40 d8 00    	call   *0xd84020
866248:	8b cf                	mov    %edi,%ecx
86624a:	e8 11 be bc ff       	call   0x432060
86624f:	ff 75 d0             	push   -0x30(%ebp)
866252:	ff 75 d4             	push   -0x2c(%ebp)
866255:	6a 01                	push   $0x1
866257:	8b cf                	mov    %edi,%ecx
866259:	e8 da 86 bc ff       	call   0x42e938
86625e:	e9 b0 01 00 00       	jmp    0x866413
866263:	8b 87 88 00 00 00    	mov    0x88(%edi),%eax
866269:	83 78 f4 00          	cmpl   $0x0,-0xc(%eax)
86626d:	0f 84 65 01 00 00    	je     0x8663d8
866273:	8d 87 84 00 00 00    	lea    0x84(%edi),%eax
866279:	33 f6                	xor    %esi,%esi
86627b:	53                   	push   %ebx
86627c:	8b c8                	mov    %eax,%ecx
86627e:	89 45 d0             	mov    %eax,-0x30(%ebp)
866281:	46                   	inc    %esi
866282:	e8 f1 c9 bb ff       	call   0x422c78
866287:	0f b7 c0             	movzwl %ax,%eax
86628a:	8d 7b 01             	lea    0x1(%ebx),%edi
86628d:	8b 5d d0             	mov    -0x30(%ebp),%ebx
866290:	89 45 d8             	mov    %eax,-0x28(%ebp)
866293:	33 c0                	xor    %eax,%eax
866295:	40                   	inc    %eax
866296:	83 65 ec 00          	andl   $0x0,-0x14(%ebp)
86629a:	89 45 d4             	mov    %eax,-0x2c(%ebp)
86629d:	3b 7d f0             	cmp    -0x10(%ebp),%edi
8662a0:	7d 1e                	jge    0x8662c0
8662a2:	57                   	push   %edi
8662a3:	8b cb                	mov    %ebx,%ecx
8662a5:	e8 ce c9 bb ff       	call   0x422c78
8662aa:	66 3b 45 d8          	cmp    -0x28(%ebp),%ax
8662ae:	75 07                	jne    0x8662b7
8662b0:	8b 45 d4             	mov    -0x2c(%ebp),%eax
8662b3:	46                   	inc    %esi
8662b4:	47                   	inc    %edi
8662b5:	eb 05                	jmp    0x8662bc
8662b7:	33 c0                	xor    %eax,%eax
8662b9:	89 45 d4             	mov    %eax,-0x2c(%ebp)
8662bc:	85 c0                	test   %eax,%eax
8662be:	75 dd                	jne    0x86629d
8662c0:	8b 45 e0             	mov    -0x20(%ebp),%eax
8662c3:	2b 45 dc             	sub    -0x24(%ebp),%eax
8662c6:	8b 7d e8             	mov    -0x18(%ebp),%edi
8662c9:	8b 5d cc             	mov    -0x34(%ebp),%ebx
8662cc:	89 75 d8             	mov    %esi,-0x28(%ebp)
8662cf:	3b c6                	cmp    %esi,%eax
8662d1:	7e 14                	jle    0x8662e7
8662d3:	6a ff                	push   $0xffffffff
8662d5:	ff 15 3c 3e d8 00    	call   *0xd83e3c
8662db:	6a 00                	push   $0x0
8662dd:	8d 04 33             	lea    (%ebx,%esi,1),%eax
8662e0:	50                   	push   %eax
8662e1:	53                   	push   %ebx
8662e2:	e9 25 01 00 00       	jmp    0x86640c
8662e7:	56                   	push   %esi
8662e8:	8d 87 80 00 00 00    	lea    0x80(%edi),%eax
8662ee:	53                   	push   %ebx
8662ef:	8d 4d e8             	lea    -0x18(%ebp),%ecx
8662f2:	89 45 d0             	mov    %eax,-0x30(%ebp)
8662f5:	51                   	push   %ecx
8662f6:	8b c8                	mov    %eax,%ecx
8662f8:	e8 d2 52 bd ff       	call   0x43b5cf
8662fd:	c7 45 fc 02 00 00 00 	movl   $0x2,-0x4(%ebp)
866304:	85 f6                	test   %esi,%esi
866306:	7e 69                	jle    0x866371
866308:	8b 75 e0             	mov    -0x20(%ebp),%esi
86630b:	8d 4d e8             	lea    -0x18(%ebp),%ecx
86630e:	2b 75 dc             	sub    -0x24(%ebp),%esi
866311:	8b 45 d8             	mov    -0x28(%ebp),%eax
866314:	2b c6                	sub    %esi,%eax
866316:	50                   	push   %eax
866317:	8d 45 cc             	lea    -0x34(%ebp),%eax
86631a:	50                   	push   %eax
86631b:	e8 75 0b bc ff       	call   0x426e95
866320:	50                   	push   %eax
866321:	8d 4d e8             	lea    -0x18(%ebp),%ecx
866324:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
866328:	e8 c0 c3 ba ff       	call   0x4126ed
86632d:	8b 4d cc             	mov    -0x34(%ebp),%ecx
866330:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
866334:	8d 49 f0             	lea    -0x10(%ecx),%ecx
866337:	e8 d8 e8 b9 ff       	call   0x404c14
86633c:	0f b7 87 8c 00 00 00 	movzwl 0x8c(%edi),%eax
866343:	8d 4d cc             	lea    -0x34(%ebp),%ecx
866346:	56                   	push   %esi
866347:	50                   	push   %eax
866348:	e8 d2 25 bd ff       	call   0x43891f
86634d:	8b 00                	mov    (%eax),%eax
86634f:	8d 4d e8             	lea    -0x18(%ebp),%ecx
866352:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
866356:	ff 70 f4             	push   -0xc(%eax)
866359:	50                   	push   %eax
86635a:	e8 0f f2 ba ff       	call   0x41556e
86635f:	8b 4d cc             	mov    -0x34(%ebp),%ecx
866362:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
866366:	8d 49 f0             	lea    -0x10(%ecx),%ecx
866369:	e8 a6 e8 b9 ff       	call   0x404c14
86636e:	8b 75 d8             	mov    -0x28(%ebp),%esi
866371:	6a 00                	push   $0x0
866373:	8d 04 33             	lea    (%ebx,%esi,1),%eax
866376:	8b cf                	mov    %edi,%ecx
866378:	50                   	push   %eax
866379:	53                   	push   %ebx
86637a:	e8 7b f1 bb ff       	call   0x4254fa
86637f:	8b 75 e8             	mov    -0x18(%ebp),%esi
866382:	56                   	push   %esi
866383:	6a 01                	push   $0x1
866385:	68 c2 00 00 00       	push   $0xc2
86638a:	ff 77 20             	push   0x20(%edi)
86638d:	ff 15 20 40 d8 00    	call   *0xd84020
866393:	6a 00                	push   $0x0
866395:	53                   	push   %ebx
866396:	53                   	push   %ebx
866397:	8b cf                	mov    %edi,%ecx
866399:	e8 5c f1 bb ff       	call   0x4254fa
86639e:	33 c0                	xor    %eax,%eax
8663a0:	39 46 f4             	cmp    %eax,-0xc(%esi)
8663a3:	7e 29                	jle    0x8663ce
8663a5:	8b 7d d0             	mov    -0x30(%ebp),%edi
8663a8:	50                   	push   %eax
8663a9:	8d 4d e8             	lea    -0x18(%ebp),%ecx
8663ac:	e8 c7 c8 bb ff       	call   0x422c78
8663b1:	0f b7 c0             	movzwl %ax,%eax
8663b4:	8b cf                	mov    %edi,%ecx
8663b6:	50                   	push   %eax
8663b7:	8b 45 ec             	mov    -0x14(%ebp),%eax
8663ba:	03 c3                	add    %ebx,%eax
8663bc:	50                   	push   %eax
8663bd:	e8 7f c7 bc ff       	call   0x432b41
8663c2:	8b 45 ec             	mov    -0x14(%ebp),%eax
8663c5:	40                   	inc    %eax
8663c6:	89 45 ec             	mov    %eax,-0x14(%ebp)
8663c9:	3b 46 f4             	cmp    -0xc(%esi),%eax
8663cc:	7c da                	jl     0x8663a8
8663ce:	8d 4e f0             	lea    -0x10(%esi),%ecx
8663d1:	e8 3e e8 b9 ff       	call   0x404c14
8663d6:	eb 3b                	jmp    0x866413
8663d8:	8d 45 cc             	lea    -0x34(%ebp),%eax
8663db:	50                   	push   %eax
8663dc:	8d 45 ec             	lea    -0x14(%ebp),%eax
8663df:	50                   	push   %eax
8663e0:	56                   	push   %esi
8663e1:	ff 77 20             	push   0x20(%edi)
8663e4:	ff 15 20 40 d8 00    	call   *0xd84020
8663ea:	8b cf                	mov    %edi,%ecx
8663ec:	e8 6f bc bc ff       	call   0x432060
8663f1:	ff 75 cc             	push   -0x34(%ebp)
8663f4:	ff 75 ec             	push   -0x14(%ebp)
8663f7:	e9 59 fe ff ff       	jmp    0x866255
8663fc:	6a ff                	push   $0xffffffff
8663fe:	ff 15 3c 3e d8 00    	call   *0xd83e3c
866404:	6a 00                	push   $0x0
866406:	ff 75 f0             	push   -0x10(%ebp)
866409:	ff 75 e4             	push   -0x1c(%ebp)
86640c:	8b cf                	mov    %edi,%ecx
86640e:	e8 e7 f0 bb ff       	call   0x4254fa
866413:	e8 ff 7f ba ff       	call   0x40e417
866418:	c2 0c 00             	ret    $0xc
86641b:	cc                   	int3
86641c:	cc                   	int3
86641d:	cc                   	int3
86641e:	cc                   	int3
86641f:	cc                   	int3
866420:	cc                   	int3
866421:	cc                   	int3
866422:	cc                   	int3
866423:	cc                   	int3
866424:	cc                   	int3
866425:	cc                   	int3
866426:	cc                   	int3
866427:	cc                   	int3
866428:	cc                   	int3
866429:	cc                   	int3
86642a:	cc                   	int3
86642b:	cc                   	int3
86642c:	cc                   	int3
86642d:	cc                   	int3
86642e:	cc                   	int3
86642f:	cc                   	int3
866430:	cc                   	int3
866431:	cc                   	int3
866432:	cc                   	int3
866433:	cc                   	int3
866434:	cc                   	int3
866435:	cc                   	int3
866436:	cc                   	int3
866437:	cc                   	int3
866438:	cc                   	int3
866439:	cc                   	int3
86643a:	cc                   	int3
86643b:	cc                   	int3
86643c:	cc                   	int3