41a1f9:	eb 5a                	jmp    0x41a255
41a1fb:	3c 2d                	cmp    $0x2d,%al
41a1fd:	8d 55 d0             	lea    -0x30(%ebp),%edx
41a200:	8d 45 cc             	lea    -0x34(%ebp),%eax
41a203:	50                   	push   %eax
41a204:	51                   	push   %ecx
41a205:	8d 45 c4             	lea    -0x3c(%ebp),%eax
41a208:	0f 94 c3             	sete   %bl
41a20b:	8d 75 d1             	lea    -0x2f(%ebp),%esi
41a20e:	0f 45 f2             	cmovne %edx,%esi
41a211:	50                   	push   %eax
41a212:	56                   	push   %esi
41a213:	e8 d7 f0 04 00       	call   0x4692ef
41a218:	8b 4d bc             	mov    -0x44(%ebp),%ecx
41a21b:	8b d0                	mov    %eax,%edx
41a21d:	83 c4 10             	add    $0x10,%esp
41a220:	0f b7 c2             	movzwl %dx,%eax
41a223:	66 89 01             	mov    %ax,(%ecx)
41a226:	39 75 c4             	cmp    %esi,-0x3c(%ebp)
41a229:	74 19                	je     0x41a244
41a22b:	83 7d cc 00          	cmpl   $0x0,-0x34(%ebp)
41a22f:	75 13                	jne    0x41a244
41a231:	81 fa ff ff 00 00    	cmp    $0xffff,%edx
41a237:	77 0b                	ja     0x41a244
41a239:	84 db                	test   %bl,%bl
41a23b:	8b 5d c0             	mov    -0x40(%ebp),%ebx
41a23e:	74 15                	je     0x41a255
41a240:	f7 d8                	neg    %eax
41a242:	eb 0e                	jmp    0x41a252
41a244:	8b 5d c0             	mov    -0x40(%ebp),%ebx
41a247:	b8 ff ff 00 00       	mov    $0xffff,%eax
41a24c:	c7 03 02 00 00 00    	movl   $0x2,(%ebx)
41a252:	66 89 01             	mov    %ax,(%ecx)
41a255:	80 7d 10 00          	cmpb   $0x0,0x10(%ebp)
41a259:	75 08                	jne    0x41a263
41a25b:	8d 4d 0c             	lea    0xc(%ebp),%ecx
41a25e:	e8 3d 31 00 00       	call   0x41d3a0
41a263:	80 7d 18 00          	cmpb   $0x0,0x18(%ebp)
41a267:	75 08                	jne    0x41a271
41a269:	8d 4d 14             	lea    0x14(%ebp),%ecx
41a26c:	e8 2f 31 00 00       	call   0x41d3a0
41a271:	8b 45 0c             	mov    0xc(%ebp),%eax
41a274:	85 c0                	test   %eax,%eax
41a276:	75 07                	jne    0x41a27f
41a278:	39 45 14             	cmp    %eax,0x14(%ebp)
41a27b:	74 08                	je     0x41a285
41a27d:	eb 09                	jmp    0x41a288
41a27f:	83 7d 14 00          	cmpl   $0x0,0x14(%ebp)
41a283:	74 03                	je     0x41a288
41a285:	83 0b 01             	orl    $0x1,(%ebx)
41a288:	8b 55 b8             	mov    -0x48(%ebp),%edx
41a28b:	8b 4d 10             	mov    0x10(%ebp),%ecx
41a28e:	89 02                	mov    %eax,(%edx)
41a290:	8b c2                	mov    %edx,%eax
41a292:	89 4a 04             	mov    %ecx,0x4(%edx)
41a295:	8b 4d f4             	mov    -0xc(%ebp),%ecx
41a298:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
41a29f:	59                   	pop    %ecx
41a2a0:	5f                   	pop    %edi
41a2a1:	5e                   	pop    %esi
41a2a2:	5b                   	pop    %ebx
41a2a3:	8b 4d f0             	mov    -0x10(%ebp),%ecx
41a2a6:	33 cd                	xor    %ebp,%ecx
41a2a8:	e8 1d f7 04 00       	call   0x4699ca
41a2ad:	8b e5                	mov    %ebp,%esp
41a2af:	5d                   	pop    %ebp
41a2b0:	c2 20 00             	ret    $0x20
41a2b3:	cc                   	int3
41a2b4:	cc                   	int3
41a2b5:	cc                   	int3
41a2b6:	cc                   	int3
41a2b7:	cc                   	int3
41a2b8:	cc                   	int3
41a2b9:	cc                   	int3
41a2ba:	cc                   	int3
41a2bb:	cc                   	int3
41a2bc:	cc                   	int3
41a2bd:	cc                   	int3
41a2be:	cc                   	int3
41a2bf:	cc                   	int3
41a2c0:	55                   	push   %ebp
41a2c1:	8b ec                	mov    %esp,%ebp
41a2c3:	6a ff                	push   $0xffffffff
41a2c5:	68 7d 8f 49 00       	push   $0x498f7d
41a2ca:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
41a2d0:	50                   	push   %eax
41a2d1:	83 ec 6c             	sub    $0x6c,%esp
41a2d4:	a1 14 40 4c 00       	mov    0x4c4014,%eax
41a2d9:	33 c5                	xor    %ebp,%eax
41a2db:	89 45 f0             	mov    %eax,-0x10(%ebp)
41a2de:	53                   	push   %ebx
41a2df:	56                   	push   %esi
41a2e0:	57                   	push   %edi
41a2e1:	50                   	push   %eax
41a2e2:	8d 45 f4             	lea    -0xc(%ebp),%eax
41a2e5:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
41a2eb:	89 4d b0             	mov    %ecx,-0x50(%ebp)
41a2ee:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
41a2f1:	8b 45 08             	mov    0x8(%ebp),%eax
41a2f4:	8b 5d 24             	mov    0x24(%ebp),%ebx
41a2f7:	89 45 88             	mov    %eax,-0x78(%ebp)
41a2fa:	8b 79 30             	mov    0x30(%ecx),%edi
41a2fd:	8b 45 20             	mov    0x20(%ebp),%eax
41a300:	f7 41 14 00 40 00 00 	testl  $0x4000,0x14(%ecx)
41a307:	89 45 ac             	mov    %eax,-0x54(%ebp)
41a30a:	8b 7f 04             	mov    0x4(%edi),%edi
41a30d:	89 4d cc             	mov    %ecx,-0x34(%ebp)
41a310:	89 7d a8             	mov    %edi,-0x58(%ebp)
41a313:	8b 07                	mov    (%edi),%eax
41a315:	8b 70 04             	mov    0x4(%eax),%esi
41a318:	8b ce                	mov    %esi,%ecx
41a31a:	0f 84 13 02 00 00    	je     0x41a533
41a320:	ff 15 d4 e2 49 00    	call   *0x49e2d4
41a326:	8b cf                	mov    %edi,%ecx
41a328:	ff d6                	call   *%esi
41a32a:	8d 45 a4             	lea    -0x5c(%ebp),%eax
41a32d:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
41a334:	50                   	push   %eax
41a335:	e8 f6 eb ff ff       	call   0x418f30
41a33a:	8b 7d a8             	mov    -0x58(%ebp),%edi
41a33d:	83 c4 04             	add    $0x4,%esp
41a340:	89 45 cc             	mov    %eax,-0x34(%ebp)
41a343:	85 ff                	test   %edi,%edi
41a345:	74 29                	je     0x41a370
41a347:	8b 07                	mov    (%edi),%eax
41a349:	8b 70 08             	mov    0x8(%eax),%esi
41a34c:	8b ce                	mov    %esi,%ecx
41a34e:	ff 15 d4 e2 49 00    	call   *0x49e2d4
41a354:	8b cf                	mov    %edi,%ecx
41a356:	ff d6                	call   *%esi
41a358:	8b f8                	mov    %eax,%edi
41a35a:	85 ff                	test   %edi,%edi
41a35c:	74 12                	je     0x41a370
41a35e:	8b 07                	mov    (%edi),%eax
41a360:	6a 01                	push   $0x1
41a362:	8b 30                	mov    (%eax),%esi
41a364:	8b ce                	mov    %esi,%ecx
41a366:	ff 15 d4 e2 49 00    	call   *0x49e2d4
41a36c:	8b cf                	mov    %edi,%ecx
41a36e:	ff d6                	call   *%esi
41a370:	33 c0                	xor    %eax,%eax
41a372:	c7 45 b4 00 00 00 00 	movl   $0x0,-0x4c(%ebp)
41a379:	c7 45 c4 01 00 00 00 	movl   $0x1,-0x3c(%ebp)
41a380:	c7 45 c8 07 00 00 00 	movl   $0x7,-0x38(%ebp)
41a387:	89 45 b4             	mov    %eax,-0x4c(%ebp)
41a38a:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
41a391:	8d 4d 8c             	lea    -0x74(%ebp),%ecx
41a394:	8b 7d cc             	mov    -0x34(%ebp),%edi
41a397:	51                   	push   %ecx
41a398:	8b 07                	mov    (%edi),%eax
41a39a:	8b 70 18             	mov    0x18(%eax),%esi
41a39d:	8b ce                	mov    %esi,%ecx
41a39f:	ff 15 d4 e2 49 00    	call   *0x49e2d4
41a3a5:	8b cf                	mov    %edi,%ecx
41a3a7:	ff d6                	call   *%esi
41a3a9:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
41a3ad:	8d 45 8c             	lea    -0x74(%ebp),%eax
41a3b0:	83 7d a0 08          	cmpl   $0x8,-0x60(%ebp)
41a3b4:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
41a3b7:	ff 75 9c             	push   -0x64(%ebp)
41a3ba:	0f 43 45 8c          	cmovae -0x74(%ebp),%eax
41a3be:	50                   	push   %eax
41a3bf:	e8 4c 8b fe ff       	call   0x402f10
41a3c4:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
41a3c8:	8b 4d a0             	mov    -0x60(%ebp),%ecx
41a3cb:	83 f9 08             	cmp    $0x8,%ecx
41a3ce:	72 32                	jb     0x41a402
41a3d0:	8b 55 8c             	mov    -0x74(%ebp),%edx
41a3d3:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
41a3da:	8b c2                	mov    %edx,%eax
41a3dc:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
41a3e2:	72 14                	jb     0x41a3f8
41a3e4:	8b 50 fc             	mov    -0x4(%eax),%edx
41a3e7:	83 c1 23             	add    $0x23,%ecx
41a3ea:	2b c2                	sub    %edx,%eax
41a3ec:	83 c0 fc             	add    $0xfffffffc,%eax
41a3ef:	83 f8 1f             	cmp    $0x1f,%eax
41a3f2:	0f 87 51 02 00 00    	ja     0x41a649
41a3f8:	51                   	push   %ecx
41a3f9:	52                   	push   %edx
41a3fa:	e8 09 f6 04 00       	call   0x469a08
41a3ff:	83 c4 08             	add    $0x8,%esp
41a402:	6a 00                	push   $0x0
41a404:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
41a407:	e8 14 06 00 00       	call   0x41aa20
41a40c:	8b 07                	mov    (%edi),%eax
41a40e:	8d 4d 8c             	lea    -0x74(%ebp),%ecx
41a411:	51                   	push   %ecx
41a412:	8b 70 1c             	mov    0x1c(%eax),%esi
41a415:	8b ce                	mov    %esi,%ecx
41a417:	ff 15 d4 e2 49 00    	call   *0x49e2d4
41a41d:	8b cf                	mov    %edi,%ecx
41a41f:	ff d6                	call   *%esi
41a421:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
41a425:	8d 45 8c             	lea    -0x74(%ebp),%eax
41a428:	83 7d a0 08          	cmpl   $0x8,-0x60(%ebp)
41a42c:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
41a42f:	ff 75 9c             	push   -0x64(%ebp)
41a432:	0f 43 45 8c          	cmovae -0x74(%ebp),%eax
41a436:	50                   	push   %eax
41a437:	e8 d4 8a fe ff       	call   0x402f10
41a43c:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
41a440:	8b 4d a0             	mov    -0x60(%ebp),%ecx
41a443:	83 f9 08             	cmp    $0x8,%ecx
41a446:	72 32                	jb     0x41a47a
41a448:	8b 55 8c             	mov    -0x74(%ebp),%edx
41a44b:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
41a452:	8b c2                	mov    %edx,%eax
41a454:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
41a45a:	72 14                	jb     0x41a470
41a45c:	8b 50 fc             	mov    -0x4(%eax),%edx
41a45f:	83 c1 23             	add    $0x23,%ecx
41a462:	2b c2                	sub    %edx,%eax
41a464:	83 c0 fc             	add    $0xfffffffc,%eax
41a467:	83 f8 1f             	cmp    $0x1f,%eax
41a46a:	0f 87 de 01 00 00    	ja     0x41a64e
41a470:	51                   	push   %ecx
41a471:	52                   	push   %edx
41a472:	e8 91 f5 04 00       	call   0x469a08
41a477:	83 c4 08             	add    $0x8,%esp
41a47a:	83 7d c8 08          	cmpl   $0x8,-0x38(%ebp)
41a47e:	8d 45 b4             	lea    -0x4c(%ebp),%eax
41a481:	6a 01                	push   $0x1
41a483:	0f 43 45 b4          	cmovae -0x4c(%ebp),%eax
41a487:	50                   	push   %eax
41a488:	6a 02                	push   $0x2
41a48a:	8d 45 14             	lea    0x14(%ebp),%eax
41a48d:	50                   	push   %eax
41a48e:	8d 45 0c             	lea    0xc(%ebp),%eax
41a491:	50                   	push   %eax
41a492:	e8 b9 31 00 00       	call   0x41d650
41a497:	83 c4 14             	add    $0x14,%esp
41a49a:	83 e8 00             	sub    $0x0,%eax
41a49d:	74 18                	je     0x41a4b7
41a49f:	83 e8 01             	sub    $0x1,%eax
41a4a2:	74 0e                	je     0x41a4b2
41a4a4:	8b 45 ac             	mov    -0x54(%ebp),%eax
41a4a7:	c6 03 00             	movb   $0x0,(%ebx)
41a4aa:	c7 00 02 00 00 00    	movl   $0x2,(%eax)
41a4b0:	eb 08                	jmp    0x41a4ba
41a4b2:	c6 03 01             	movb   $0x1,(%ebx)
41a4b5:	eb 03                	jmp    0x41a4ba
41a4b7:	c6 03 00             	movb   $0x0,(%ebx)
41a4ba:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
41a4c1:	8b 4d c8             	mov    -0x38(%ebp),%ecx
41a4c4:	83 f9 08             	cmp    $0x8,%ecx
41a4c7:	72 32                	jb     0x41a4fb
41a4c9:	8b 55 b4             	mov    -0x4c(%ebp),%edx
41a4cc:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
41a4d3:	8b c2                	mov    %edx,%eax
41a4d5:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
41a4db:	72 14                	jb     0x41a4f1
41a4dd:	8b 50 fc             	mov    -0x4(%eax),%edx
41a4e0:	83 c1 23             	add    $0x23,%ecx
41a4e3:	2b c2                	sub    %edx,%eax
41a4e5:	83 c0 fc             	add    $0xfffffffc,%eax
41a4e8:	83 f8 1f             	cmp    $0x1f,%eax
41a4eb:	0f 87 62 01 00 00    	ja     0x41a653
41a4f1:	51                   	push   %ecx
41a4f2:	52                   	push   %edx
41a4f3:	e8 10 f5 04 00       	call   0x469a08
41a4f8:	83 c4 08             	add    $0x8,%esp
41a4fb:	8b 5d ac             	mov    -0x54(%ebp),%ebx
41a4fe:	80 7d 10 00          	cmpb   $0x0,0x10(%ebp)
41a502:	75 08                	jne    0x41a50c
41a504:	8d 4d 0c             	lea    0xc(%ebp),%ecx
41a507:	e8 94 2e 00 00       	call   0x41d3a0
41a50c:	80 7d 18 00          	cmpb   $0x0,0x18(%ebp)
41a510:	75 08                	jne    0x41a51a
41a512:	8d 4d 14             	lea    0x14(%ebp),%ecx
41a515:	e8 86 2e 00 00       	call   0x41d3a0
41a51a:	8b 45 0c             	mov    0xc(%ebp),%eax
41a51d:	85 c0                	test   %eax,%eax
41a51f:	0f 85 f0 00 00 00    	jne    0x41a615
41a525:	39 45 14             	cmp    %eax,0x14(%ebp)
41a528:	0f 84 ed 00 00 00    	je     0x41a61b
41a52e:	e9 eb 00 00 00       	jmp    0x41a61e
41a533:	ff 15 d4 e2 49 00    	call   *0x49e2d4
41a539:	8b cf                	mov    %edi,%ecx
41a53b:	ff d6                	call   *%esi
41a53d:	c7 45 fc 04 00 00 00 	movl   $0x4,-0x4(%ebp)
41a544:	8d 45 a4             	lea    -0x5c(%ebp),%eax
41a547:	50                   	push   %eax
41a548:	8b 45 cc             	mov    -0x34(%ebp),%eax
41a54b:	ff 70 14             	push   0x14(%eax)
41a54e:	8d 45 14             	lea    0x14(%ebp),%eax
41a551:	50                   	push   %eax
41a552:	8d 45 0c             	lea    0xc(%ebp),%eax
41a555:	50                   	push   %eax
41a556:	8d 45 d0             	lea    -0x30(%ebp),%eax
41a559:	50                   	push   %eax
41a55a:	ff 75 b0             	push   -0x50(%ebp)
41a55d:	e8 6e 14 00 00       	call   0x41b9d0
41a562:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
41a569:	83 c4 18             	add    $0x18,%esp
41a56c:	8b 7d a8             	mov    -0x58(%ebp),%edi
41a56f:	89 45 cc             	mov    %eax,-0x34(%ebp)
41a572:	85 ff                	test   %edi,%edi
41a574:	74 2c                	je     0x41a5a2
41a576:	8b 07                	mov    (%edi),%eax
41a578:	8b 70 08             	mov    0x8(%eax),%esi
41a57b:	8b ce                	mov    %esi,%ecx
41a57d:	ff 15 d4 e2 49 00    	call   *0x49e2d4
41a583:	8b cf                	mov    %edi,%ecx
41a585:	ff d6                	call   *%esi
41a587:	8b f8                	mov    %eax,%edi
41a589:	85 ff                	test   %edi,%edi
41a58b:	74 12                	je     0x41a59f
41a58d:	8b 07                	mov    (%edi),%eax
41a58f:	6a 01                	push   $0x1
41a591:	8b 30                	mov    (%eax),%esi
41a593:	8b ce                	mov    %esi,%ecx
41a595:	ff 15 d4 e2 49 00    	call   *0x49e2d4
41a59b:	8b cf                	mov    %edi,%ecx
41a59d:	ff d6                	call   *%esi
41a59f:	8b 45 cc             	mov    -0x34(%ebp),%eax
41a5a2:	80 7d d0 00          	cmpb   $0x0,-0x30(%ebp)
41a5a6:	75 11                	jne    0x41a5b9
41a5a8:	c6 03 00             	movb   $0x0,(%ebx)
41a5ab:	8b 5d ac             	mov    -0x54(%ebp),%ebx
41a5ae:	c7 03 02 00 00 00    	movl   $0x2,(%ebx)
41a5b4:	e9 45 ff ff ff       	jmp    0x41a4fe
41a5b9:	8d 4d cc             	lea    -0x34(%ebp),%ecx
41a5bc:	51                   	push   %ecx
41a5bd:	50                   	push   %eax
41a5be:	8d 45 b0             	lea    -0x50(%ebp),%eax
41a5c1:	50                   	push   %eax
41a5c2:	8d 45 d0             	lea    -0x30(%ebp),%eax
41a5c5:	50                   	push   %eax
41a5c6:	e8 a8 eb 04 00       	call   0x469173
41a5cb:	8b c8                	mov    %eax,%ecx
41a5cd:	83 c4 10             	add    $0x10,%esp
41a5d0:	8d 45 d0             	lea    -0x30(%ebp),%eax
41a5d3:	39 45 b0             	cmp    %eax,-0x50(%ebp)
41a5d6:	74 2c                	je     0x41a604
41a5d8:	83 7d cc 00          	cmpl   $0x0,-0x34(%ebp)
41a5dc:	75 26                	jne    0x41a604
41a5de:	85 c9                	test   %ecx,%ecx
41a5e0:	0f 95 c0             	setne  %al
41a5e3:	88 03                	mov    %al,(%ebx)
41a5e5:	85 c9                	test   %ecx,%ecx
41a5e7:	0f 84 0e ff ff ff    	je     0x41a4fb
41a5ed:	8b 5d ac             	mov    -0x54(%ebp),%ebx
41a5f0:	83 f9 01             	cmp    $0x1,%ecx
41a5f3:	0f 84 05 ff ff ff    	je     0x41a4fe
41a5f9:	c7 03 02 00 00 00    	movl   $0x2,(%ebx)
41a5ff:	e9 fa fe ff ff       	jmp    0x41a4fe
41a604:	c6 03 01             	movb   $0x1,(%ebx)
41a607:	8b 5d ac             	mov    -0x54(%ebp),%ebx
41a60a:	c7 03 02 00 00 00    	movl   $0x2,(%ebx)