42b085:	57                   	push   %edi
42b086:	e8 75 fc ff ff       	call   0x42ad00
42b08b:	83 c4 0c             	add    $0xc,%esp
42b08e:	eb 4b                	jmp    0x42b0db
42b090:	53                   	push   %ebx
42b091:	e8 f3 da ff ff       	call   0x428b89
42b096:	56                   	push   %esi
42b097:	50                   	push   %eax
42b098:	57                   	push   %edi
42b099:	e8 62 fc ff ff       	call   0x42ad00
42b09e:	83 c4 10             	add    $0x10,%esp
42b0a1:	b9 a8 ad 4b 00       	mov    $0x4bada8,%ecx
42b0a6:	e8 f3 4d fe ff       	call   0x40fe9e
42b0ab:	53                   	push   %ebx
42b0ac:	8b f0                	mov    %eax,%esi
42b0ae:	e8 7c db ff ff       	call   0x428c2f
42b0b3:	56                   	push   %esi
42b0b4:	50                   	push   %eax
42b0b5:	57                   	push   %edi
42b0b6:	e8 45 fc ff ff       	call   0x42ad00
42b0bb:	83 c4 10             	add    $0x10,%esp
42b0be:	b9 ac ad 4b 00       	mov    $0x4badac,%ecx
42b0c3:	e8 d6 4d fe ff       	call   0x40fe9e
42b0c8:	53                   	push   %ebx
42b0c9:	8b f0                	mov    %eax,%esi
42b0cb:	e8 05 dc ff ff       	call   0x428cd5
42b0d0:	56                   	push   %esi
42b0d1:	50                   	push   %eax
42b0d2:	57                   	push   %edi
42b0d3:	e8 28 fc ff ff       	call   0x42ad00
42b0d8:	83 c4 10             	add    $0x10,%esp
42b0db:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
42b0df:	74 4a                	je     0x42b12b
42b0e1:	b9 b0 ad 4b 00       	mov    $0x4badb0,%ecx
42b0e6:	e8 b3 4d fe ff       	call   0x40fe9e
42b0eb:	8b f0                	mov    %eax,%esi
42b0ed:	85 db                	test   %ebx,%ebx
42b0ef:	75 29                	jne    0x42b11a
42b0f1:	6a 08                	push   $0x8
42b0f3:	e8 ab 41 01 00       	call   0x43f2a3
42b0f8:	89 45 e8             	mov    %eax,-0x18(%ebp)
42b0fb:	59                   	pop    %ecx
42b0fc:	85 c0                	test   %eax,%eax
42b0fe:	74 0b                	je     0x42b10b
42b100:	21 58 04             	and    %ebx,0x4(%eax)
42b103:	c7 00 40 7e 49 00    	movl   $0x497e40,(%eax)
42b109:	eb 02                	jmp    0x42b10d
42b10b:	33 c0                	xor    %eax,%eax
42b10d:	56                   	push   %esi
42b10e:	50                   	push   %eax
42b10f:	57                   	push   %edi
42b110:	e8 eb fb ff ff       	call   0x42ad00
42b115:	83 c4 0c             	add    $0xc,%esp
42b118:	eb 11                	jmp    0x42b12b
42b11a:	53                   	push   %ebx
42b11b:	e8 c3 d9 ff ff       	call   0x428ae3
42b120:	56                   	push   %esi
42b121:	50                   	push   %eax
42b122:	57                   	push   %edi
42b123:	e8 d8 fb ff ff       	call   0x42ad00
42b128:	83 c4 10             	add    $0x10,%esp
42b12b:	8b 75 08             	mov    0x8(%ebp),%esi
42b12e:	53                   	push   %ebx
42b12f:	57                   	push   %edi
42b130:	ff 75 0c             	push   0xc(%ebp)
42b133:	56                   	push   %esi
42b134:	e8 0d 25 01 00       	call   0x43d646
42b139:	53                   	push   %ebx
42b13a:	57                   	push   %edi
42b13b:	ff 75 0c             	push   0xc(%ebp)
42b13e:	56                   	push   %esi
42b13f:	e8 bf a7 00 00       	call   0x435903
42b144:	53                   	push   %ebx
42b145:	8b 5d 0c             	mov    0xc(%ebp),%ebx
42b148:	57                   	push   %edi
42b149:	53                   	push   %ebx
42b14a:	56                   	push   %esi
42b14b:	e8 92 a2 00 00       	call   0x4353e2
42b150:	09 5f 10             	or     %ebx,0x10(%edi)
42b153:	83 c4 30             	add    $0x30,%esp
42b156:	8b 46 2c             	mov    0x2c(%esi),%eax
42b159:	85 c0                	test   %eax,%eax
42b15b:	75 03                	jne    0x42b160
42b15d:	8d 46 30             	lea    0x30(%esi),%eax
42b160:	50                   	push   %eax
42b161:	8d 4f 18             	lea    0x18(%edi),%ecx
42b164:	e8 f4 b6 ff ff       	call   0x42685d
42b169:	8b c7                	mov    %edi,%eax
42b16b:	e8 a3 48 01 00       	call   0x43fa13
42b170:	c3                   	ret
42b171:	c2 04 00             	ret    $0x4
42b174:	8b c1                	mov    %ecx,%eax
42b176:	c3                   	ret
42b177:	8b c1                	mov    %ecx,%eax
42b179:	c3                   	ret
42b17a:	56                   	push   %esi
42b17b:	8b f1                	mov    %ecx,%esi
42b17d:	8b 0e                	mov    (%esi),%ecx
42b17f:	85 c9                	test   %ecx,%ecx
42b181:	74 0f                	je     0x42b192
42b183:	e8 e9 12 00 00       	call   0x42c471
42b188:	83 f8 ff             	cmp    $0xffffffff,%eax
42b18b:	74 05                	je     0x42b192
42b18d:	88 46 05             	mov    %al,0x5(%esi)
42b190:	eb 06                	jmp    0x42b198
42b192:	83 26 00             	andl   $0x0,(%esi)
42b195:	8a 46 05             	mov    0x5(%esi),%al
42b198:	c6 46 04 01          	movb   $0x1,0x4(%esi)
42b19c:	5e                   	pop    %esi
42b19d:	c3                   	ret
42b19e:	8b 41 20             	mov    0x20(%ecx),%eax
42b1a1:	33 d2                	xor    %edx,%edx
42b1a3:	39 10                	cmp    %edx,(%eax)
42b1a5:	74 05                	je     0x42b1ac
42b1a7:	8b 41 30             	mov    0x30(%ecx),%eax
42b1aa:	8b 10                	mov    (%eax),%edx
42b1ac:	8b c2                	mov    %edx,%eax
42b1ae:	99                   	cltd
42b1af:	c3                   	ret
42b1b0:	8b 41 30             	mov    0x30(%ecx),%eax
42b1b3:	ff 08                	decl   (%eax)
42b1b5:	8b 51 20             	mov    0x20(%ecx),%edx
42b1b8:	8b 02                	mov    (%edx),%eax
42b1ba:	8d 48 01             	lea    0x1(%eax),%ecx
42b1bd:	89 0a                	mov    %ecx,(%edx)
42b1bf:	c3                   	ret
42b1c0:	55                   	push   %ebp
42b1c1:	8b ec                	mov    %esp,%ebp
42b1c3:	56                   	push   %esi
42b1c4:	8b 75 1c             	mov    0x1c(%ebp),%esi
42b1c7:	85 f6                	test   %esi,%esi
42b1c9:	74 17                	je     0x42b1e2
42b1cb:	57                   	push   %edi
42b1cc:	8b 7d 18             	mov    0x18(%ebp),%edi
42b1cf:	0f b6 07             	movzbl (%edi),%eax
42b1d2:	8d 4d 10             	lea    0x10(%ebp),%ecx
42b1d5:	50                   	push   %eax
42b1d6:	e8 28 dd ff ff       	call   0x428f03
42b1db:	47                   	inc    %edi
42b1dc:	83 ee 01             	sub    $0x1,%esi
42b1df:	75 ee                	jne    0x42b1cf
42b1e1:	5f                   	pop    %edi
42b1e2:	8b 45 0c             	mov    0xc(%ebp),%eax
42b1e5:	8b 4d 10             	mov    0x10(%ebp),%ecx
42b1e8:	5e                   	pop    %esi
42b1e9:	89 08                	mov    %ecx,(%eax)
42b1eb:	8b 4d 14             	mov    0x14(%ebp),%ecx
42b1ee:	89 48 04             	mov    %ecx,0x4(%eax)
42b1f1:	5d                   	pop    %ebp
42b1f2:	c3                   	ret
42b1f3:	55                   	push   %ebp
42b1f4:	8b ec                	mov    %esp,%ebp
42b1f6:	56                   	push   %esi
42b1f7:	8b 75 1c             	mov    0x1c(%ebp),%esi
42b1fa:	85 f6                	test   %esi,%esi
42b1fc:	74 10                	je     0x42b20e
42b1fe:	ff 75 18             	push   0x18(%ebp)
42b201:	8d 4d 10             	lea    0x10(%ebp),%ecx
42b204:	e8 fa dc ff ff       	call   0x428f03
42b209:	83 ee 01             	sub    $0x1,%esi
42b20c:	75 f0                	jne    0x42b1fe
42b20e:	8b 45 0c             	mov    0xc(%ebp),%eax
42b211:	8b 4d 10             	mov    0x10(%ebp),%ecx
42b214:	5e                   	pop    %esi
42b215:	89 08                	mov    %ecx,(%eax)
42b217:	8b 4d 14             	mov    0x14(%ebp),%ecx
42b21a:	89 48 04             	mov    %ecx,0x4(%eax)
42b21d:	5d                   	pop    %ebp
42b21e:	c3                   	ret
42b21f:	56                   	push   %esi
42b220:	8b f1                	mov    %ecx,%esi
42b222:	83 3e 00             	cmpl   $0x0,(%esi)
42b225:	74 08                	je     0x42b22f
42b227:	ff 36                	push   (%esi)
42b229:	e8 60 1b 02 00       	call   0x44cd8e
42b22e:	59                   	pop    %ecx
42b22f:	83 26 00             	andl   $0x0,(%esi)
42b232:	5e                   	pop    %esi
42b233:	c3                   	ret
42b234:	56                   	push   %esi
42b235:	8b f1                	mov    %ecx,%esi
42b237:	ff 76 08             	push   0x8(%esi)
42b23a:	e8 4f 1b 02 00       	call   0x44cd8e
42b23f:	ff 76 10             	push   0x10(%esi)
42b242:	e8 47 1b 02 00       	call   0x44cd8e
42b247:	ff 76 14             	push   0x14(%esi)
42b24a:	e8 3f 1b 02 00       	call   0x44cd8e
42b24f:	83 c4 0c             	add    $0xc,%esp
42b252:	5e                   	pop    %esi
42b253:	c3                   	ret
42b254:	55                   	push   %ebp
42b255:	8b ec                	mov    %esp,%ebp
42b257:	56                   	push   %esi
42b258:	ff 75 08             	push   0x8(%ebp)
42b25b:	8b f1                	mov    %ecx,%esi
42b25d:	e8 6b 44 fe ff       	call   0x40f6cd
42b262:	8b c6                	mov    %esi,%eax
42b264:	5e                   	pop    %esi
42b265:	5d                   	pop    %ebp
42b266:	c2 04 00             	ret    $0x4
42b269:	56                   	push   %esi
42b26a:	57                   	push   %edi
42b26b:	8b f9                	mov    %ecx,%edi
42b26d:	8b 07                	mov    (%edi),%eax
42b26f:	8b 70 0c             	mov    0xc(%eax),%esi
42b272:	8b ce                	mov    %esi,%ecx
42b274:	ff 15 54 43 49 00    	call   *0x494354
42b27a:	8b cf                	mov    %edi,%ecx
42b27c:	ff d6                	call   *%esi
42b27e:	5f                   	pop    %edi
42b27f:	5e                   	pop    %esi
42b280:	c3                   	ret
42b281:	b0 01                	mov    $0x1,%al
42b283:	c3                   	ret
42b284:	32 c0                	xor    %al,%al
42b286:	c3                   	ret
42b287:	8a 41 0c             	mov    0xc(%ecx),%al
42b28a:	c3                   	ret
42b28b:	33 c0                	xor    %eax,%eax
42b28d:	40                   	inc    %eax
42b28e:	c3                   	ret
42b28f:	55                   	push   %ebp
42b290:	8b ec                	mov    %esp,%ebp
42b292:	ff 71 10             	push   0x10(%ecx)
42b295:	8b 4d 08             	mov    0x8(%ebp),%ecx
42b298:	e8 29 00 fe ff       	call   0x40b2c6
42b29d:	8b 45 08             	mov    0x8(%ebp),%eax
42b2a0:	5d                   	pop    %ebp
42b2a1:	c2 04 00             	ret    $0x4
42b2a4:	6a 3c                	push   $0x3c
42b2a6:	b8 56 11 49 00       	mov    $0x491156,%eax
42b2ab:	e8 ce 47 01 00       	call   0x43fa7e
42b2b0:	8b f9                	mov    %ecx,%edi
42b2b2:	8b 75 1c             	mov    0x1c(%ebp),%esi
42b2b5:	8d 4d c0             	lea    -0x40(%ebp),%ecx
42b2b8:	8b 45 08             	mov    0x8(%ebp),%eax
42b2bb:	8b 5d 20             	mov    0x20(%ebp),%ebx
42b2be:	89 45 b8             	mov    %eax,-0x48(%ebp)
42b2c1:	8b 45 24             	mov    0x24(%ebp),%eax
42b2c4:	ff 76 30             	push   0x30(%esi)
42b2c7:	89 45 c8             	mov    %eax,-0x38(%ebp)
42b2ca:	e8 6d db ff ff       	call   0x428e3c
42b2cf:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
42b2d3:	8d 45 c0             	lea    -0x40(%ebp),%eax
42b2d6:	50                   	push   %eax
42b2d7:	ff 76 14             	push   0x14(%esi)
42b2da:	8d 45 14             	lea    0x14(%ebp),%eax
42b2dd:	50                   	push   %eax
42b2de:	8d 45 0c             	lea    0xc(%ebp),%eax
42b2e1:	50                   	push   %eax
42b2e2:	8d 45 d0             	lea    -0x30(%ebp),%eax
42b2e5:	50                   	push   %eax
42b2e6:	57                   	push   %edi
42b2e7:	e8 29 f2 ff ff       	call   0x42a515
42b2ec:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
42b2f0:	8d 4d c0             	lea    -0x40(%ebp),%ecx
42b2f3:	83 c4 18             	add    $0x18,%esp
42b2f6:	8b f8                	mov    %eax,%edi
42b2f8:	e8 ea 40 fe ff       	call   0x40f3e7
42b2fd:	8a 45 d0             	mov    -0x30(%ebp),%al
42b300:	84 c0                	test   %al,%al
42b302:	75 10                	jne    0x42b314
42b304:	8b 45 c8             	mov    -0x38(%ebp),%eax
42b307:	33 c9                	xor    %ecx,%ecx
42b309:	c7 03 02 00 00 00    	movl   $0x2,(%ebx)
42b30f:	66 89 08             	mov    %cx,(%eax)
42b312:	eb 55                	jmp    0x42b369
42b314:	3c 2d                	cmp    $0x2d,%al
42b316:	8d 75 d0             	lea    -0x30(%ebp),%esi
42b319:	0f 94 45 cf          	sete   -0x31(%ebp)
42b31d:	75 03                	jne    0x42b322
42b31f:	8d 75 d1             	lea    -0x2f(%ebp),%esi
42b322:	8d 45 c4             	lea    -0x3c(%ebp),%eax
42b325:	50                   	push   %eax
42b326:	57                   	push   %edi
42b327:	8d 45 bc             	lea    -0x44(%ebp),%eax
42b32a:	50                   	push   %eax
42b32b:	56                   	push   %esi
42b32c:	e8 6c c5 ff ff       	call   0x42789d
42b331:	8b 4d c8             	mov    -0x38(%ebp),%ecx
42b334:	8b d0                	mov    %eax,%edx
42b336:	83 c4 10             	add    $0x10,%esp
42b339:	0f b7 c2             	movzwl %dx,%eax
42b33c:	bf ff ff 00 00       	mov    $0xffff,%edi
42b341:	66 89 01             	mov    %ax,(%ecx)
42b344:	39 75 bc             	cmp    %esi,-0x44(%ebp)
42b347:	74 17                	je     0x42b360
42b349:	83 7d c4 00          	cmpl   $0x0,-0x3c(%ebp)
42b34d:	75 11                	jne    0x42b360
42b34f:	3b d7                	cmp    %edi,%edx
42b351:	77 0d                	ja     0x42b360
42b353:	80 7d cf 00          	cmpb   $0x0,-0x31(%ebp)
42b357:	74 10                	je     0x42b369
42b359:	f7 d8                	neg    %eax
42b35b:	66 89 01             	mov    %ax,(%ecx)
42b35e:	eb 09                	jmp    0x42b369
42b360:	c7 03 02 00 00 00    	movl   $0x2,(%ebx)
42b366:	66 89 39             	mov    %di,(%ecx)
42b369:	8d 45 14             	lea    0x14(%ebp),%eax
42b36c:	50                   	push   %eax
42b36d:	8d 4d 0c             	lea    0xc(%ebp),%ecx
42b370:	e8 c0 0e 00 00       	call   0x42c235
42b375:	84 c0                	test   %al,%al
42b377:	74 03                	je     0x42b37c
42b379:	83 0b 01             	orl    $0x1,(%ebx)
42b37c:	8b 45 b8             	mov    -0x48(%ebp),%eax
42b37f:	8b 4d 0c             	mov    0xc(%ebp),%ecx
42b382:	89 08                	mov    %ecx,(%eax)
42b384:	8b 4d 10             	mov    0x10(%ebp),%ecx
42b387:	89 48 04             	mov    %ecx,0x4(%eax)
42b38a:	e8 99 46 01 00       	call   0x43fa28
42b38f:	c2 20 00             	ret    $0x20
42b392:	55                   	push   %ebp
42b393:	8b ec                	mov    %esp,%ebp
42b395:	83 ec 0c             	sub    $0xc,%esp
42b398:	56                   	push   %esi
42b399:	8d 45 fc             	lea    -0x4(%ebp),%eax
42b39c:	50                   	push   %eax
42b39d:	ff 75 20             	push   0x20(%ebp)
42b3a0:	8d 45 f4             	lea    -0xc(%ebp),%eax
42b3a3:	ff 75 1c             	push   0x1c(%ebp)
42b3a6:	ff 75 18             	push   0x18(%ebp)
42b3a9:	ff 75 14             	push   0x14(%ebp)
42b3ac:	ff 75 10             	push   0x10(%ebp)
42b3af:	ff 75 0c             	push   0xc(%ebp)
42b3b2:	50                   	push   %eax
42b3b3:	e8 e1 00 00 00       	call   0x42b499
42b3b8:	8b 4d 24             	mov    0x24(%ebp),%ecx
42b3bb:	8b 30                	mov    (%eax),%esi
42b3bd:	89 75 0c             	mov    %esi,0xc(%ebp)
42b3c0:	8b 50 04             	mov    0x4(%eax),%edx
42b3c3:	8b 45 fc             	mov    -0x4(%ebp),%eax
42b3c6:	89 01                	mov    %eax,(%ecx)
42b3c8:	8b 45 08             	mov    0x8(%ebp),%eax
42b3cb:	89 30                	mov    %esi,(%eax)
42b3cd:	89 50 04             	mov    %edx,0x4(%eax)
42b3d0:	5e                   	pop    %esi
42b3d1:	c9                   	leave
42b3d2:	c2 20 00             	ret    $0x20
42b3d5:	6a 38                	push   $0x38
42b3d7:	b8 83 11 49 00       	mov    $0x491183,%eax
42b3dc:	e8 9d 46 01 00       	call   0x43fa7e
42b3e1:	8b f9                	mov    %ecx,%edi
42b3e3:	8b 75 1c             	mov    0x1c(%ebp),%esi
42b3e6:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
42b3e9:	8b 45 08             	mov    0x8(%ebp),%eax
42b3ec:	8b 5d 20             	mov    0x20(%ebp),%ebx
42b3ef:	89 45 bc             	mov    %eax,-0x44(%ebp)
42b3f2:	8b 45 24             	mov    0x24(%ebp),%eax
42b3f5:	ff 76 30             	push   0x30(%esi)