46b0ab:	66 89 0e             	mov    %cx,(%esi)
46b0ae:	83 c6 02             	add    $0x2,%esi
46b0b1:	ff 70 e4             	push   -0x1c(%eax)
46b0b4:	8b ce                	mov    %esi,%ecx
46b0b6:	8b c3                	mov    %ebx,%eax
46b0b8:	2b cf                	sub    %edi,%ecx
46b0ba:	d1 f9                	sar    $1,%ecx
46b0bc:	2b c1                	sub    %ecx,%eax
46b0be:	40                   	inc    %eax
46b0bf:	50                   	push   %eax
46b0c0:	56                   	push   %esi
46b0c1:	e8 a1 cd ff ff       	call   0x467e67
46b0c6:	83 c4 0c             	add    $0xc,%esp
46b0c9:	85 c0                	test   %eax,%eax
46b0cb:	0f 85 98 00 00 00    	jne    0x46b169
46b0d1:	8b ce                	mov    %esi,%ecx
46b0d3:	8d 51 02             	lea    0x2(%ecx),%edx
46b0d6:	66 8b 01             	mov    (%ecx),%ax
46b0d9:	83 c1 02             	add    $0x2,%ecx
46b0dc:	66 3b 45 fc          	cmp    -0x4(%ebp),%ax
46b0e0:	75 f4                	jne    0x46b0d6
46b0e2:	2b ca                	sub    %edx,%ecx
46b0e4:	d1 f9                	sar    $1,%ecx
46b0e6:	6a 3a                	push   $0x3a
46b0e8:	58                   	pop    %eax
46b0e9:	8d 34 4e             	lea    (%esi,%ecx,2),%esi
46b0ec:	66 89 06             	mov    %ax,(%esi)
46b0ef:	83 c6 02             	add    $0x2,%esi
46b0f2:	8b 45 f8             	mov    -0x8(%ebp),%eax
46b0f5:	8b ce                	mov    %esi,%ecx
46b0f7:	2b cf                	sub    %edi,%ecx
46b0f9:	d1 f9                	sar    $1,%ecx
46b0fb:	ff 30                	push   (%eax)
46b0fd:	8b c3                	mov    %ebx,%eax
46b0ff:	2b c1                	sub    %ecx,%eax
46b101:	40                   	inc    %eax
46b102:	50                   	push   %eax
46b103:	56                   	push   %esi
46b104:	e8 5e cd ff ff       	call   0x467e67
46b109:	83 c4 0c             	add    $0xc,%esp
46b10c:	85 c0                	test   %eax,%eax
46b10e:	75 59                	jne    0x46b169
46b110:	8b ce                	mov    %esi,%ecx
46b112:	8d 51 02             	lea    0x2(%ecx),%edx
46b115:	66 8b 01             	mov    (%ecx),%ax
46b118:	83 c1 02             	add    $0x2,%ecx
46b11b:	66 3b 45 fc          	cmp    -0x4(%ebp),%ax
46b11f:	75 f4                	jne    0x46b115
46b121:	8b 45 f8             	mov    -0x8(%ebp),%eax
46b124:	2b ca                	sub    %edx,%ecx
46b126:	d1 f9                	sar    $1,%ecx
46b128:	83 c0 04             	add    $0x4,%eax
46b12b:	6a 3a                	push   $0x3a
46b12d:	89 45 f8             	mov    %eax,-0x8(%ebp)
46b130:	8d 34 4e             	lea    (%esi,%ecx,2),%esi
46b133:	8b 4d f4             	mov    -0xc(%ebp),%ecx
46b136:	41                   	inc    %ecx
46b137:	89 4d f4             	mov    %ecx,-0xc(%ebp)
46b13a:	83 f9 07             	cmp    $0x7,%ecx
46b13d:	59                   	pop    %ecx
46b13e:	0f 82 67 ff ff ff    	jb     0x46b0ab
46b144:	33 c0                	xor    %eax,%eax
46b146:	66 89 06             	mov    %ax,(%esi)
46b149:	50                   	push   %eax
46b14a:	e8 ea 71 00 00       	call   0x472339
46b14f:	80 7d f0 00          	cmpb   $0x0,-0x10(%ebp)
46b153:	59                   	pop    %ecx
46b154:	74 0a                	je     0x46b160
46b156:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
46b159:	83 a1 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%ecx)
46b160:	8b c7                	mov    %edi,%eax
46b162:	5f                   	pop    %edi
46b163:	5e                   	pop    %esi
46b164:	5b                   	pop    %ebx
46b165:	8b e5                	mov    %ebp,%esp
46b167:	5d                   	pop    %ebp
46b168:	c3                   	ret
46b169:	33 c0                	xor    %eax,%eax
46b16b:	50                   	push   %eax
46b16c:	50                   	push   %eax
46b16d:	50                   	push   %eax
46b16e:	50                   	push   %eax
46b16f:	50                   	push   %eax
46b170:	e8 8e 1b fe ff       	call   0x44cd03
46b175:	cc                   	int3
46b176:	8b ff                	mov    %edi,%edi
46b178:	55                   	push   %ebp
46b179:	8b ec                	mov    %esp,%ebp
46b17b:	83 ec 1c             	sub    $0x1c,%esp
46b17e:	53                   	push   %ebx
46b17f:	56                   	push   %esi
46b180:	57                   	push   %edi
46b181:	33 db                	xor    %ebx,%ebx
46b183:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
46b186:	53                   	push   %ebx
46b187:	89 5d fc             	mov    %ebx,-0x4(%ebp)
46b18a:	e8 79 3e fe ff       	call   0x44f008
46b18f:	8b 45 e8             	mov    -0x18(%ebp),%eax
46b192:	6a 0c                	push   $0xc
46b194:	5f                   	pop    %edi
46b195:	8b 80 9c 00 00 00    	mov    0x9c(%eax),%eax
46b19b:	05 1c 01 00 00       	add    $0x11c,%eax
46b1a0:	89 45 f8             	mov    %eax,-0x8(%ebp)
46b1a3:	8b f0                	mov    %eax,%esi
46b1a5:	8b 56 d0             	mov    -0x30(%esi),%edx
46b1a8:	8d 4a 02             	lea    0x2(%edx),%ecx
46b1ab:	66 8b 02             	mov    (%edx),%ax
46b1ae:	83 c2 02             	add    $0x2,%edx
46b1b1:	66 3b 45 fc          	cmp    -0x4(%ebp),%ax
46b1b5:	75 f4                	jne    0x46b1ab
46b1b7:	2b d1                	sub    %ecx,%edx
46b1b9:	8b 0e                	mov    (%esi),%ecx
46b1bb:	d1 fa                	sar    $1,%edx
46b1bd:	8d 41 02             	lea    0x2(%ecx),%eax
46b1c0:	89 45 f4             	mov    %eax,-0xc(%ebp)
46b1c3:	66 8b 01             	mov    (%ecx),%ax
46b1c6:	83 c1 02             	add    $0x2,%ecx
46b1c9:	66 3b 45 fc          	cmp    -0x4(%ebp),%ax
46b1cd:	75 f4                	jne    0x46b1c3
46b1cf:	2b 4d f4             	sub    -0xc(%ebp),%ecx
46b1d2:	83 c3 02             	add    $0x2,%ebx
46b1d5:	d1 f9                	sar    $1,%ecx
46b1d7:	83 c6 04             	add    $0x4,%esi
46b1da:	8d 04 11             	lea    (%ecx,%edx,1),%eax
46b1dd:	03 d8                	add    %eax,%ebx
46b1df:	83 ef 01             	sub    $0x1,%edi
46b1e2:	75 c1                	jne    0x46b1a5
46b1e4:	8d 04 5d 02 00 00 00 	lea    0x2(,%ebx,2),%eax
46b1eb:	50                   	push   %eax
46b1ec:	e8 39 bb 00 00       	call   0x476d2a
46b1f1:	8b f8                	mov    %eax,%edi
46b1f3:	33 c0                	xor    %eax,%eax
46b1f5:	59                   	pop    %ecx
46b1f6:	85 ff                	test   %edi,%edi
46b1f8:	75 07                	jne    0x46b201
46b1fa:	8b f8                	mov    %eax,%edi
46b1fc:	e9 a9 00 00 00       	jmp    0x46b2aa
46b201:	6a 3a                	push   $0x3a
46b203:	89 45 f4             	mov    %eax,-0xc(%ebp)
46b206:	8b f7                	mov    %edi,%esi
46b208:	8b 45 f8             	mov    -0x8(%ebp),%eax
46b20b:	59                   	pop    %ecx
46b20c:	66 89 0e             	mov    %cx,(%esi)
46b20f:	83 c6 02             	add    $0x2,%esi
46b212:	ff 70 d0             	push   -0x30(%eax)
46b215:	8b ce                	mov    %esi,%ecx
46b217:	8b c3                	mov    %ebx,%eax
46b219:	2b cf                	sub    %edi,%ecx
46b21b:	d1 f9                	sar    $1,%ecx
46b21d:	2b c1                	sub    %ecx,%eax
46b21f:	40                   	inc    %eax
46b220:	50                   	push   %eax
46b221:	56                   	push   %esi
46b222:	e8 40 cc ff ff       	call   0x467e67
46b227:	83 c4 0c             	add    $0xc,%esp
46b22a:	85 c0                	test   %eax,%eax
46b22c:	0f 85 98 00 00 00    	jne    0x46b2ca
46b232:	8b ce                	mov    %esi,%ecx
46b234:	8d 51 02             	lea    0x2(%ecx),%edx
46b237:	66 8b 01             	mov    (%ecx),%ax
46b23a:	83 c1 02             	add    $0x2,%ecx
46b23d:	66 3b 45 fc          	cmp    -0x4(%ebp),%ax
46b241:	75 f4                	jne    0x46b237
46b243:	2b ca                	sub    %edx,%ecx
46b245:	d1 f9                	sar    $1,%ecx
46b247:	6a 3a                	push   $0x3a
46b249:	58                   	pop    %eax
46b24a:	8d 34 4e             	lea    (%esi,%ecx,2),%esi
46b24d:	66 89 06             	mov    %ax,(%esi)
46b250:	83 c6 02             	add    $0x2,%esi
46b253:	8b 45 f8             	mov    -0x8(%ebp),%eax
46b256:	8b ce                	mov    %esi,%ecx
46b258:	2b cf                	sub    %edi,%ecx
46b25a:	d1 f9                	sar    $1,%ecx
46b25c:	ff 30                	push   (%eax)
46b25e:	8b c3                	mov    %ebx,%eax
46b260:	2b c1                	sub    %ecx,%eax
46b262:	40                   	inc    %eax
46b263:	50                   	push   %eax
46b264:	56                   	push   %esi
46b265:	e8 fd cb ff ff       	call   0x467e67
46b26a:	83 c4 0c             	add    $0xc,%esp
46b26d:	85 c0                	test   %eax,%eax
46b26f:	75 59                	jne    0x46b2ca
46b271:	8b ce                	mov    %esi,%ecx
46b273:	8d 51 02             	lea    0x2(%ecx),%edx
46b276:	66 8b 01             	mov    (%ecx),%ax
46b279:	83 c1 02             	add    $0x2,%ecx
46b27c:	66 3b 45 fc          	cmp    -0x4(%ebp),%ax
46b280:	75 f4                	jne    0x46b276
46b282:	8b 45 f8             	mov    -0x8(%ebp),%eax
46b285:	2b ca                	sub    %edx,%ecx
46b287:	d1 f9                	sar    $1,%ecx
46b289:	83 c0 04             	add    $0x4,%eax
46b28c:	6a 3a                	push   $0x3a
46b28e:	89 45 f8             	mov    %eax,-0x8(%ebp)
46b291:	8d 34 4e             	lea    (%esi,%ecx,2),%esi
46b294:	8b 4d f4             	mov    -0xc(%ebp),%ecx
46b297:	41                   	inc    %ecx
46b298:	89 4d f4             	mov    %ecx,-0xc(%ebp)
46b29b:	83 f9 0c             	cmp    $0xc,%ecx
46b29e:	59                   	pop    %ecx
46b29f:	0f 82 67 ff ff ff    	jb     0x46b20c
46b2a5:	33 c0                	xor    %eax,%eax
46b2a7:	66 89 06             	mov    %ax,(%esi)
46b2aa:	50                   	push   %eax
46b2ab:	e8 89 70 00 00       	call   0x472339
46b2b0:	80 7d f0 00          	cmpb   $0x0,-0x10(%ebp)
46b2b4:	59                   	pop    %ecx
46b2b5:	74 0a                	je     0x46b2c1
46b2b7:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
46b2ba:	83 a1 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%ecx)
46b2c1:	8b c7                	mov    %edi,%eax
46b2c3:	5f                   	pop    %edi
46b2c4:	5e                   	pop    %esi
46b2c5:	5b                   	pop    %ebx
46b2c6:	8b e5                	mov    %ebp,%esp
46b2c8:	5d                   	pop    %ebp
46b2c9:	c3                   	ret
46b2ca:	33 c0                	xor    %eax,%eax
46b2cc:	50                   	push   %eax
46b2cd:	50                   	push   %eax
46b2ce:	50                   	push   %eax
46b2cf:	50                   	push   %eax
46b2d0:	50                   	push   %eax
46b2d1:	e8 2d 1a fe ff       	call   0x44cd03
46b2d6:	cc                   	int3
46b2d7:	8b ff                	mov    %edi,%edi
46b2d9:	55                   	push   %ebp
46b2da:	8b ec                	mov    %esp,%ebp
46b2dc:	83 ec 28             	sub    $0x28,%esp
46b2df:	56                   	push   %esi
46b2e0:	57                   	push   %edi
46b2e1:	33 f6                	xor    %esi,%esi
46b2e3:	8d 4d d8             	lea    -0x28(%ebp),%ecx
46b2e6:	56                   	push   %esi
46b2e7:	e8 1c 3d fe ff       	call   0x44f008
46b2ec:	8b 45 dc             	mov    -0x24(%ebp),%eax
46b2ef:	8b d6                	mov    %esi,%edx
46b2f1:	89 75 f0             	mov    %esi,-0x10(%ebp)
46b2f4:	bf 64 01 00 00       	mov    $0x164,%edi
46b2f9:	89 55 f8             	mov    %edx,-0x8(%ebp)
46b2fc:	53                   	push   %ebx
46b2fd:	8b 88 9c 00 00 00    	mov    0x9c(%eax),%ecx
46b303:	8b c6                	mov    %esi,%eax
46b305:	89 4d fc             	mov    %ecx,-0x4(%ebp)
46b308:	89 45 f4             	mov    %eax,-0xc(%ebp)
46b30b:	83 fa 01             	cmp    $0x1,%edx
46b30e:	75 2b                	jne    0x46b33b
46b310:	57                   	push   %edi
46b311:	e8 14 ba 00 00       	call   0x476d2a
46b316:	89 45 f4             	mov    %eax,-0xc(%ebp)
46b319:	59                   	pop    %ecx
46b31a:	85 c0                	test   %eax,%eax
46b31c:	0f 84 8f 06 00 00    	je     0x46b9b1
46b322:	57                   	push   %edi
46b323:	56                   	push   %esi
46b324:	50                   	push   %eax
46b325:	e8 36 8b fd ff       	call   0x443e60
46b32a:	8b 45 f4             	mov    -0xc(%ebp),%eax
46b32d:	83 c4 0c             	add    $0xc,%esp
46b330:	8b 4d fc             	mov    -0x4(%ebp),%ecx
46b333:	89 7d f0             	mov    %edi,-0x10(%ebp)
46b336:	bf 64 01 00 00       	mov    $0x164,%edi
46b33b:	8b d6                	mov    %esi,%edx
46b33d:	89 45 ec             	mov    %eax,-0x14(%ebp)
46b340:	29 4d ec             	sub    %ecx,-0x14(%ebp)
46b343:	8b d9                	mov    %ecx,%ebx
46b345:	89 55 e8             	mov    %edx,-0x18(%ebp)
46b348:	83 7d f8 01          	cmpl   $0x1,-0x8(%ebp)
46b34c:	75 25                	jne    0x46b373
46b34e:	8d 0c 38             	lea    (%eax,%edi,1),%ecx
46b351:	8b 45 ec             	mov    -0x14(%ebp),%eax
46b354:	89 0c 18             	mov    %ecx,(%eax,%ebx,1)
46b357:	ff 33                	push   (%ebx)
46b359:	8b 45 f0             	mov    -0x10(%ebp),%eax
46b35c:	2b c7                	sub    %edi,%eax
46b35e:	50                   	push   %eax
46b35f:	51                   	push   %ecx
46b360:	e8 d1 4e 00 00       	call   0x470236
46b365:	83 c4 0c             	add    $0xc,%esp
46b368:	85 c0                	test   %eax,%eax
46b36a:	0f 85 5a 06 00 00    	jne    0x46b9ca
46b370:	8b 55 e8             	mov    -0x18(%ebp),%edx
46b373:	8b 0b                	mov    (%ebx),%ecx
46b375:	8d 41 01             	lea    0x1(%ecx),%eax
46b378:	89 45 e8             	mov    %eax,-0x18(%ebp)
46b37b:	8a 01                	mov    (%ecx),%al
46b37d:	41                   	inc    %ecx
46b37e:	84 c0                	test   %al,%al
46b380:	75 f9                	jne    0x46b37b
46b382:	2b 4d e8             	sub    -0x18(%ebp),%ecx
46b385:	47                   	inc    %edi
46b386:	8b 45 f4             	mov    -0xc(%ebp),%eax
46b389:	03 f9                	add    %ecx,%edi
46b38b:	42                   	inc    %edx
46b38c:	83 c3 04             	add    $0x4,%ebx
46b38f:	89 55 e8             	mov    %edx,-0x18(%ebp)
46b392:	83 fa 07             	cmp    $0x7,%edx
46b395:	72 b1                	jb     0x46b348
46b397:	8b 5d fc             	mov    -0x4(%ebp),%ebx
46b39a:	8b d6                	mov    %esi,%edx
46b39c:	89 55 e8             	mov    %edx,-0x18(%ebp)
46b39f:	83 c3 1c             	add    $0x1c,%ebx
46b3a2:	83 7d f8 01          	cmpl   $0x1,-0x8(%ebp)
46b3a6:	75 27                	jne    0x46b3cf
46b3a8:	8b 45 ec             	mov    -0x14(%ebp),%eax
46b3ab:	8b 4d f4             	mov    -0xc(%ebp),%ecx
46b3ae:	03 cf                	add    %edi,%ecx
46b3b0:	89 0c 03             	mov    %ecx,(%ebx,%eax,1)
46b3b3:	ff 33                	push   (%ebx)
46b3b5:	8b 45 f0             	mov    -0x10(%ebp),%eax
46b3b8:	2b c7                	sub    %edi,%eax
46b3ba:	50                   	push   %eax
46b3bb:	51                   	push   %ecx
46b3bc:	e8 75 4e 00 00       	call   0x470236
46b3c1:	83 c4 0c             	add    $0xc,%esp
46b3c4:	85 c0                	test   %eax,%eax
46b3c6:	0f 85 fe 05 00 00    	jne    0x46b9ca
46b3cc:	8b 55 e8             	mov    -0x18(%ebp),%edx
46b3cf:	8b 0b                	mov    (%ebx),%ecx
46b3d1:	8d 41 01             	lea    0x1(%ecx),%eax
46b3d4:	89 45 e8             	mov    %eax,-0x18(%ebp)
46b3d7:	8a 01                	mov    (%ecx),%al
46b3d9:	41                   	inc    %ecx
46b3da:	84 c0                	test   %al,%al
46b3dc:	75 f9                	jne    0x46b3d7
46b3de:	2b 4d e8             	sub    -0x18(%ebp),%ecx
46b3e1:	47                   	inc    %edi
46b3e2:	03 f9                	add    %ecx,%edi
46b3e4:	83 c3 04             	add    $0x4,%ebx
46b3e7:	42                   	inc    %edx
46b3e8:	89 55 e8             	mov    %edx,-0x18(%ebp)
46b3eb:	83 fa 07             	cmp    $0x7,%edx
46b3ee:	72 b2                	jb     0x46b3a2
46b3f0:	8b 5d fc             	mov    -0x4(%ebp),%ebx
46b3f3:	8b d6                	mov    %esi,%edx
46b3f5:	89 55 e8             	mov    %edx,-0x18(%ebp)
46b3f8:	83 c3 38             	add    $0x38,%ebx
46b3fb:	83 7d f8 01          	cmpl   $0x1,-0x8(%ebp)
46b3ff:	75 27                	jne    0x46b428
46b401:	8b 45 ec             	mov    -0x14(%ebp),%eax
46b404:	8b 4d f4             	mov    -0xc(%ebp),%ecx
46b407:	03 cf                	add    %edi,%ecx
46b409:	89 0c 03             	mov    %ecx,(%ebx,%eax,1)
46b40c:	ff 33                	push   (%ebx)
46b40e:	8b 45 f0             	mov    -0x10(%ebp),%eax
46b411:	2b c7                	sub    %edi,%eax
46b413:	50                   	push   %eax
46b414:	51                   	push   %ecx