40a1c5:	cc                   	int3
40a1c6:	cc                   	int3
40a1c7:	cc                   	int3
40a1c8:	cc                   	int3
40a1c9:	cc                   	int3
40a1ca:	cc                   	int3
40a1cb:	cc                   	int3
40a1cc:	cc                   	int3
40a1cd:	cc                   	int3
40a1ce:	cc                   	int3
40a1cf:	cc                   	int3
40a1d0:	55                   	push   %ebp
40a1d1:	8b ec                	mov    %esp,%ebp
40a1d3:	6a ff                	push   $0xffffffff
40a1d5:	68 75 da 43 00       	push   $0x43da75
40a1da:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
40a1e0:	50                   	push   %eax
40a1e1:	83 ec 4c             	sub    $0x4c,%esp
40a1e4:	a1 14 40 45 00       	mov    0x454014,%eax
40a1e9:	33 c5                	xor    %ebp,%eax
40a1eb:	89 45 f0             	mov    %eax,-0x10(%ebp)
40a1ee:	53                   	push   %ebx
40a1ef:	56                   	push   %esi
40a1f0:	57                   	push   %edi
40a1f1:	50                   	push   %eax
40a1f2:	8d 45 f4             	lea    -0xc(%ebp),%eax
40a1f5:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
40a1fb:	8b c1                	mov    %ecx,%eax
40a1fd:	89 45 d4             	mov    %eax,-0x2c(%ebp)
40a200:	8b 5d 14             	mov    0x14(%ebp),%ebx
40a203:	0f b7 4d 18          	movzwl 0x18(%ebp),%ecx
40a207:	8b 7d 08             	mov    0x8(%ebp),%edi
40a20a:	89 7d c0             	mov    %edi,-0x40(%ebp)
40a20d:	f7 43 14 00 40 00 00 	testl  $0x4000,0x14(%ebx)
40a214:	89 4d cc             	mov    %ecx,-0x34(%ebp)
40a217:	75 27                	jne    0x40a240
40a219:	8b 30                	mov    (%eax),%esi
40a21b:	0f b6 45 1c          	movzbl 0x1c(%ebp),%eax
40a21f:	50                   	push   %eax
40a220:	51                   	push   %ecx
40a221:	8b 76 24             	mov    0x24(%esi),%esi
40a224:	8b ce                	mov    %esi,%ecx
40a226:	53                   	push   %ebx
40a227:	ff 75 10             	push   0x10(%ebp)
40a22a:	ff 75 0c             	push   0xc(%ebp)
40a22d:	57                   	push   %edi
40a22e:	ff 15 3c f2 43 00    	call   *0x43f23c
40a234:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
40a237:	ff d6                	call   *%esi
40a239:	8b c7                	mov    %edi,%eax
40a23b:	e9 c7 01 00 00       	jmp    0x40a407
40a240:	8b 43 30             	mov    0x30(%ebx),%eax
40a243:	8b 78 04             	mov    0x4(%eax),%edi
40a246:	89 7d c8             	mov    %edi,-0x38(%ebp)
40a249:	8b 07                	mov    (%edi),%eax
40a24b:	8b 70 04             	mov    0x4(%eax),%esi
40a24e:	8b ce                	mov    %esi,%ecx
40a250:	ff 15 3c f2 43 00    	call   *0x43f23c
40a256:	8b cf                	mov    %edi,%ecx
40a258:	ff d6                	call   *%esi
40a25a:	8d 45 c4             	lea    -0x3c(%ebp),%eax
40a25d:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
40a264:	50                   	push   %eax
40a265:	e8 16 1f 00 00       	call   0x40c180
40a26a:	8b f8                	mov    %eax,%edi
40a26c:	83 c4 04             	add    $0x4,%esp
40a26f:	8b 45 c8             	mov    -0x38(%ebp),%eax
40a272:	89 7d d0             	mov    %edi,-0x30(%ebp)
40a275:	85 c0                	test   %eax,%eax
40a277:	74 2d                	je     0x40a2a6
40a279:	8b 10                	mov    (%eax),%edx
40a27b:	8b 72 08             	mov    0x8(%edx),%esi
40a27e:	8b ce                	mov    %esi,%ecx
40a280:	ff 15 3c f2 43 00    	call   *0x43f23c
40a286:	8b 4d c8             	mov    -0x38(%ebp),%ecx
40a289:	ff d6                	call   *%esi
40a28b:	8b f8                	mov    %eax,%edi
40a28d:	85 ff                	test   %edi,%edi
40a28f:	74 12                	je     0x40a2a3
40a291:	8b 0f                	mov    (%edi),%ecx
40a293:	6a 01                	push   $0x1
40a295:	8b 31                	mov    (%ecx),%esi
40a297:	8b ce                	mov    %esi,%ecx
40a299:	ff 15 3c f2 43 00    	call   *0x43f23c
40a29f:	8b cf                	mov    %edi,%ecx
40a2a1:	ff d6                	call   *%esi
40a2a3:	8b 7d d0             	mov    -0x30(%ebp),%edi
40a2a6:	33 c0                	xor    %eax,%eax
40a2a8:	c7 45 d8 00 00 00 00 	movl   $0x0,-0x28(%ebp)
40a2af:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
40a2b6:	c7 45 ec 07 00 00 00 	movl   $0x7,-0x14(%ebp)
40a2bd:	66 89 45 d8          	mov    %ax,-0x28(%ebp)
40a2c1:	80 7d 1c 00          	cmpb   $0x0,0x1c(%ebp)
40a2c5:	8d 45 a8             	lea    -0x58(%ebp),%eax
40a2c8:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
40a2cf:	8b 37                	mov    (%edi),%esi
40a2d1:	50                   	push   %eax
40a2d2:	74 4d                	je     0x40a321
40a2d4:	8b 76 1c             	mov    0x1c(%esi),%esi
40a2d7:	8b ce                	mov    %esi,%ecx
40a2d9:	ff 15 3c f2 43 00    	call   *0x43f23c
40a2df:	8b cf                	mov    %edi,%ecx
40a2e1:	ff d6                	call   *%esi
40a2e3:	8d 45 a8             	lea    -0x58(%ebp),%eax
40a2e6:	50                   	push   %eax
40a2e7:	8d 4d d8             	lea    -0x28(%ebp),%ecx
40a2ea:	e8 01 f2 ff ff       	call   0x4094f0
40a2ef:	8b 4d bc             	mov    -0x44(%ebp),%ecx
40a2f2:	83 f9 08             	cmp    $0x8,%ecx
40a2f5:	72 39                	jb     0x40a330
40a2f7:	8b 55 a8             	mov    -0x58(%ebp),%edx
40a2fa:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
40a301:	8b c2                	mov    %edx,%eax
40a303:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
40a309:	72 1b                	jb     0x40a326
40a30b:	8b 50 fc             	mov    -0x4(%eax),%edx
40a30e:	83 c1 23             	add    $0x23,%ecx
40a311:	2b c2                	sub    %edx,%eax
40a313:	83 c0 fc             	add    $0xfffffffc,%eax
40a316:	83 f8 1f             	cmp    $0x1f,%eax
40a319:	0f 87 06 01 00 00    	ja     0x40a425
40a31f:	eb 05                	jmp    0x40a326
40a321:	8b 76 18             	mov    0x18(%esi),%esi
40a324:	eb b1                	jmp    0x40a2d7
40a326:	51                   	push   %ecx
40a327:	52                   	push   %edx
40a328:	e8 e1 15 01 00       	call   0x41b90e
40a32d:	83 c4 08             	add    $0x8,%esp
40a330:	83 7b 24 00          	cmpl   $0x0,0x24(%ebx)
40a334:	8b 73 20             	mov    0x20(%ebx),%esi
40a337:	8b 7d e8             	mov    -0x18(%ebp),%edi
40a33a:	7c 0e                	jl     0x40a34a
40a33c:	7f 04                	jg     0x40a342
40a33e:	85 f6                	test   %esi,%esi
40a340:	74 08                	je     0x40a34a
40a342:	3b f7                	cmp    %edi,%esi
40a344:	76 04                	jbe    0x40a34a
40a346:	2b f7                	sub    %edi,%esi
40a348:	eb 02                	jmp    0x40a34c
40a34a:	33 f6                	xor    %esi,%esi
40a34c:	8b 43 14             	mov    0x14(%ebx),%eax
40a34f:	25 c0 01 00 00       	and    $0x1c0,%eax
40a354:	83 f8 40             	cmp    $0x40,%eax
40a357:	74 28                	je     0x40a381
40a359:	56                   	push   %esi
40a35a:	ff 75 cc             	push   -0x34(%ebp)
40a35d:	8d 45 c4             	lea    -0x3c(%ebp),%eax
40a360:	ff 75 10             	push   0x10(%ebp)
40a363:	ff 75 0c             	push   0xc(%ebp)
40a366:	50                   	push   %eax
40a367:	ff 75 d4             	push   -0x2c(%ebp)
40a36a:	e8 41 05 00 00       	call   0x40a8b0
40a36f:	83 c4 18             	add    $0x18,%esp
40a372:	33 f6                	xor    %esi,%esi
40a374:	8b 08                	mov    (%eax),%ecx
40a376:	8b 50 04             	mov    0x4(%eax),%edx
40a379:	89 4d 0c             	mov    %ecx,0xc(%ebp)
40a37c:	89 55 10             	mov    %edx,0x10(%ebp)
40a37f:	eb 06                	jmp    0x40a387
40a381:	8b 55 10             	mov    0x10(%ebp),%edx
40a384:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40a387:	83 7d ec 08          	cmpl   $0x8,-0x14(%ebp)
40a38b:	8d 45 d8             	lea    -0x28(%ebp),%eax
40a38e:	57                   	push   %edi
40a38f:	0f 43 45 d8          	cmovae -0x28(%ebp),%eax
40a393:	8b 7d d4             	mov    -0x2c(%ebp),%edi
40a396:	50                   	push   %eax
40a397:	52                   	push   %edx
40a398:	51                   	push   %ecx
40a399:	8d 45 c4             	lea    -0x3c(%ebp),%eax
40a39c:	50                   	push   %eax
40a39d:	57                   	push   %edi
40a39e:	e8 8d 05 00 00       	call   0x40a930
40a3a3:	56                   	push   %esi
40a3a4:	ff 75 cc             	push   -0x34(%ebp)
40a3a7:	8b 75 c0             	mov    -0x40(%ebp),%esi
40a3aa:	8b 08                	mov    (%eax),%ecx
40a3ac:	8b 40 04             	mov    0x4(%eax),%eax
40a3af:	50                   	push   %eax
40a3b0:	51                   	push   %ecx
40a3b1:	56                   	push   %esi
40a3b2:	57                   	push   %edi
40a3b3:	89 4d 0c             	mov    %ecx,0xc(%ebp)
40a3b6:	89 45 10             	mov    %eax,0x10(%ebp)
40a3b9:	c7 43 20 00 00 00 00 	movl   $0x0,0x20(%ebx)
40a3c0:	c7 43 24 00 00 00 00 	movl   $0x0,0x24(%ebx)
40a3c7:	e8 e4 04 00 00       	call   0x40a8b0
40a3cc:	8b 4d ec             	mov    -0x14(%ebp),%ecx
40a3cf:	83 c4 30             	add    $0x30,%esp
40a3d2:	83 f9 08             	cmp    $0x8,%ecx
40a3d5:	72 2e                	jb     0x40a405
40a3d7:	8b 55 d8             	mov    -0x28(%ebp),%edx
40a3da:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
40a3e1:	8b c2                	mov    %edx,%eax
40a3e3:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
40a3e9:	72 10                	jb     0x40a3fb
40a3eb:	8b 50 fc             	mov    -0x4(%eax),%edx
40a3ee:	83 c1 23             	add    $0x23,%ecx
40a3f1:	2b c2                	sub    %edx,%eax
40a3f3:	83 c0 fc             	add    $0xfffffffc,%eax
40a3f6:	83 f8 1f             	cmp    $0x1f,%eax
40a3f9:	77 2a                	ja     0x40a425
40a3fb:	51                   	push   %ecx
40a3fc:	52                   	push   %edx
40a3fd:	e8 0c 15 01 00       	call   0x41b90e
40a402:	83 c4 08             	add    $0x8,%esp
40a405:	8b c6                	mov    %esi,%eax
40a407:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40a40a:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40a411:	59                   	pop    %ecx
40a412:	5f                   	pop    %edi
40a413:	5e                   	pop    %esi
40a414:	5b                   	pop    %ebx
40a415:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40a418:	33 cd                	xor    %ebp,%ecx
40a41a:	e8 b1 14 01 00       	call   0x41b8d0
40a41f:	8b e5                	mov    %ebp,%esp
40a421:	5d                   	pop    %ebp
40a422:	c2 18 00             	ret    $0x18
40a425:	e8 55 66 01 00       	call   0x420a7f
40a42a:	cc                   	int3
40a42b:	cc                   	int3
40a42c:	cc                   	int3
40a42d:	cc                   	int3
40a42e:	cc                   	int3
40a42f:	cc                   	int3
40a430:	55                   	push   %ebp
40a431:	8b ec                	mov    %esp,%ebp
40a433:	6a ff                	push   $0xffffffff
40a435:	68 30 d6 43 00       	push   $0x43d630
40a43a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
40a440:	50                   	push   %eax
40a441:	56                   	push   %esi
40a442:	57                   	push   %edi
40a443:	a1 14 40 45 00       	mov    0x454014,%eax
40a448:	33 c5                	xor    %ebp,%eax
40a44a:	50                   	push   %eax
40a44b:	8d 45 f4             	lea    -0xc(%ebp),%eax
40a44e:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
40a454:	8b f1                	mov    %ecx,%esi
40a456:	e8 ef 0f 01 00       	call   0x41b44a
40a45b:	84 c0                	test   %al,%al
40a45d:	75 07                	jne    0x40a466
40a45f:	8b 0e                	mov    (%esi),%ecx
40a461:	e8 ca 11 00 00       	call   0x40b630
40a466:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
40a46d:	8b 0e                	mov    (%esi),%ecx
40a46f:	8b 01                	mov    (%ecx),%eax
40a471:	8b 40 04             	mov    0x4(%eax),%eax
40a474:	8b 7c 08 38          	mov    0x38(%eax,%ecx,1),%edi
40a478:	85 ff                	test   %edi,%edi
40a47a:	74 11                	je     0x40a48d
40a47c:	8b 07                	mov    (%edi),%eax
40a47e:	8b 70 08             	mov    0x8(%eax),%esi
40a481:	8b ce                	mov    %esi,%ecx
40a483:	ff 15 3c f2 43 00    	call   *0x43f23c
40a489:	8b cf                	mov    %edi,%ecx
40a48b:	ff d6                	call   *%esi
40a48d:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40a490:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40a497:	59                   	pop    %ecx
40a498:	5f                   	pop    %edi
40a499:	5e                   	pop    %esi
40a49a:	8b e5                	mov    %ebp,%esp
40a49c:	5d                   	pop    %ebp
40a49d:	c3                   	ret
40a49e:	cc                   	int3
40a49f:	cc                   	int3
40a4a0:	cc                   	int3
40a4a1:	cc                   	int3
40a4a2:	cc                   	int3
40a4a3:	cc                   	int3
40a4a4:	cc                   	int3
40a4a5:	cc                   	int3
40a4a6:	cc                   	int3
40a4a7:	cc                   	int3
40a4a8:	cc                   	int3
40a4a9:	cc                   	int3
40a4aa:	cc                   	int3
40a4ab:	cc                   	int3
40a4ac:	cc                   	int3
40a4ad:	cc                   	int3
40a4ae:	cc                   	int3
40a4af:	cc                   	int3
40a4b0:	55                   	push   %ebp
40a4b1:	8b ec                	mov    %esp,%ebp
40a4b3:	6a ff                	push   $0xffffffff
40a4b5:	68 ad da 43 00       	push   $0x43daad
40a4ba:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
40a4c0:	50                   	push   %eax
40a4c1:	83 ec 08             	sub    $0x8,%esp
40a4c4:	53                   	push   %ebx
40a4c5:	56                   	push   %esi
40a4c6:	57                   	push   %edi
40a4c7:	a1 14 40 45 00       	mov    0x454014,%eax
40a4cc:	33 c5                	xor    %ebp,%eax
40a4ce:	50                   	push   %eax
40a4cf:	8d 45 f4             	lea    -0xc(%ebp),%eax
40a4d2:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
40a4d8:	8b d9                	mov    %ecx,%ebx
40a4da:	89 5d ec             	mov    %ebx,-0x14(%ebp)
40a4dd:	8b 7d 08             	mov    0x8(%ebp),%edi
40a4e0:	89 3b                	mov    %edi,(%ebx)
40a4e2:	8b 07                	mov    (%edi),%eax
40a4e4:	8b 40 04             	mov    0x4(%eax),%eax
40a4e7:	8b 44 38 38          	mov    0x38(%eax,%edi,1),%eax
40a4eb:	89 45 f0             	mov    %eax,-0x10(%ebp)
40a4ee:	85 c0                	test   %eax,%eax
40a4f0:	74 12                	je     0x40a504
40a4f2:	8b 00                	mov    (%eax),%eax
40a4f4:	8b 70 04             	mov    0x4(%eax),%esi
40a4f7:	8b ce                	mov    %esi,%ecx
40a4f9:	ff 15 3c f2 43 00    	call   *0x43f23c
40a4ff:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40a502:	ff d6                	call   *%esi
40a504:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
40a50b:	8b 07                	mov    (%edi),%eax
40a50d:	8b 40 04             	mov    0x4(%eax),%eax
40a510:	83 7c 38 0c 00       	cmpl   $0x0,0xc(%eax,%edi,1)
40a515:	8d 0c 38             	lea    (%eax,%edi,1),%ecx
40a518:	74 04                	je     0x40a51e
40a51a:	32 c0                	xor    %al,%al
40a51c:	eb 21                	jmp    0x40a53f
40a51e:	8b 49 3c             	mov    0x3c(%ecx),%ecx
40a521:	85 c9                	test   %ecx,%ecx
40a523:	74 18                	je     0x40a53d
40a525:	3b cf                	cmp    %edi,%ecx
40a527:	74 14                	je     0x40a53d
40a529:	e8 d2 0f 00 00       	call   0x40b500
40a52e:	8b 07                	mov    (%edi),%eax
40a530:	8b 40 04             	mov    0x4(%eax),%eax
40a533:	83 7c 38 0c 00       	cmpl   $0x0,0xc(%eax,%edi,1)
40a538:	0f 94 c0             	sete   %al
40a53b:	eb 02                	jmp    0x40a53f
40a53d:	b0 01                	mov    $0x1,%al
40a53f:	88 43 04             	mov    %al,0x4(%ebx)
40a542:	8b c3                	mov    %ebx,%eax
40a544:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40a547:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40a54e:	59                   	pop    %ecx
40a54f:	5f                   	pop    %edi
40a550:	5e                   	pop    %esi
40a551:	5b                   	pop    %ebx
40a552:	8b e5                	mov    %ebp,%esp
40a554:	5d                   	pop    %ebp
40a555:	c2 04 00             	ret    $0x4
40a558:	cc                   	int3
40a559:	cc                   	int3
40a55a:	cc                   	int3
40a55b:	cc                   	int3