4541a5:	33 c0                	xor    %eax,%eax
4541a7:	5d                   	pop    %ebp
4541a8:	c3                   	ret
4541a9:	8b ff                	mov    %edi,%edi
4541ab:	55                   	push   %ebp
4541ac:	8b ec                	mov    %esp,%ebp
4541ae:	8b 45 08             	mov    0x8(%ebp),%eax
4541b1:	83 c0 20             	add    $0x20,%eax
4541b4:	50                   	push   %eax
4541b5:	ff 15 ac 41 49 00    	call   *0x4941ac
4541bb:	5d                   	pop    %ebp
4541bc:	c3                   	ret
4541bd:	8b ff                	mov    %edi,%edi
4541bf:	55                   	push   %ebp
4541c0:	8b ec                	mov    %esp,%ebp
4541c2:	8b 45 08             	mov    0x8(%ebp),%eax
4541c5:	83 c0 20             	add    $0x20,%eax
4541c8:	50                   	push   %eax
4541c9:	ff 15 a8 41 49 00    	call   *0x4941a8
4541cf:	5d                   	pop    %ebp
4541d0:	c3                   	ret
4541d1:	6a 10                	push   $0x10
4541d3:	68 18 49 4b 00       	push   $0x4b4918
4541d8:	e8 83 c7 fe ff       	call   0x440960
4541dd:	33 c0                	xor    %eax,%eax
4541df:	8b 75 08             	mov    0x8(%ebp),%esi
4541e2:	85 f6                	test   %esi,%esi
4541e4:	0f 95 c0             	setne  %al
4541e7:	85 c0                	test   %eax,%eax
4541e9:	75 15                	jne    0x454200
4541eb:	e8 3f 8c ff ff       	call   0x44ce2f
4541f0:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
4541f6:	e8 db 8a ff ff       	call   0x44ccd6
4541fb:	83 c8 ff             	or     $0xffffffff,%eax
4541fe:	eb 55                	jmp    0x454255
454200:	33 c0                	xor    %eax,%eax
454202:	8b 5d 0c             	mov    0xc(%ebp),%ebx
454205:	85 db                	test   %ebx,%ebx
454207:	0f 95 c0             	setne  %al
45420a:	85 c0                	test   %eax,%eax
45420c:	74 dd                	je     0x4541eb
45420e:	83 cf ff             	or     $0xffffffff,%edi
454211:	89 7d e4             	mov    %edi,-0x1c(%ebp)
454214:	53                   	push   %ebx
454215:	e8 8f ff ff ff       	call   0x4541a9
45421a:	59                   	pop    %ecx
45421b:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
45421f:	89 75 e0             	mov    %esi,-0x20(%ebp)
454222:	0f b7 06             	movzwl (%esi),%eax
454225:	66 85 c0             	test   %ax,%ax
454228:	74 18                	je     0x454242
45422a:	53                   	push   %ebx
45422b:	50                   	push   %eax
45422c:	e8 2f 1f 02 00       	call   0x476160
454231:	59                   	pop    %ecx
454232:	59                   	pop    %ecx
454233:	b9 ff ff 00 00       	mov    $0xffff,%ecx
454238:	66 3b c1             	cmp    %cx,%ax
45423b:	74 0a                	je     0x454247
45423d:	83 c6 02             	add    $0x2,%esi
454240:	eb dd                	jmp    0x45421f
454242:	33 ff                	xor    %edi,%edi
454244:	89 7d e4             	mov    %edi,-0x1c(%ebp)
454247:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
45424e:	e8 0e 00 00 00       	call   0x454261
454253:	8b c7                	mov    %edi,%eax
454255:	e8 4c c7 fe ff       	call   0x4409a6
45425a:	c3                   	ret
45425b:	8b 5d 0c             	mov    0xc(%ebp),%ebx
45425e:	8b 7d e4             	mov    -0x1c(%ebp),%edi
454261:	53                   	push   %ebx
454262:	e8 56 ff ff ff       	call   0x4541bd
454267:	59                   	pop    %ecx
454268:	c3                   	ret
454269:	8b ff                	mov    %edi,%edi
45426b:	55                   	push   %ebp
45426c:	8b ec                	mov    %esp,%ebp
45426e:	56                   	push   %esi
45426f:	8b 75 08             	mov    0x8(%ebp),%esi
454272:	85 f6                	test   %esi,%esi
454274:	75 13                	jne    0x454289
454276:	e8 b4 8b ff ff       	call   0x44ce2f
45427b:	6a 16                	push   $0x16
45427d:	5e                   	pop    %esi
45427e:	89 30                	mov    %esi,(%eax)
454280:	e8 51 8a ff ff       	call   0x44ccd6
454285:	8b c6                	mov    %esi,%eax
454287:	eb 24                	jmp    0x4542ad
454289:	68 80 00 00 00       	push   $0x80
45428e:	ff 75 10             	push   0x10(%ebp)
454291:	ff 75 0c             	push   0xc(%ebp)
454294:	e8 5e 00 00 00       	call   0x4542f7
454299:	83 c4 0c             	add    $0xc,%esp
45429c:	89 06                	mov    %eax,(%esi)
45429e:	85 c0                	test   %eax,%eax
4542a0:	75 09                	jne    0x4542ab
4542a2:	e8 88 8b ff ff       	call   0x44ce2f
4542a7:	8b 00                	mov    (%eax),%eax
4542a9:	eb 02                	jmp    0x4542ad
4542ab:	33 c0                	xor    %eax,%eax
4542ad:	5e                   	pop    %esi
4542ae:	5d                   	pop    %ebp
4542af:	c3                   	ret
4542b0:	8b ff                	mov    %edi,%edi
4542b2:	55                   	push   %ebp
4542b3:	8b ec                	mov    %esp,%ebp
4542b5:	56                   	push   %esi
4542b6:	8b 75 08             	mov    0x8(%ebp),%esi
4542b9:	85 f6                	test   %esi,%esi
4542bb:	75 13                	jne    0x4542d0
4542bd:	e8 6d 8b ff ff       	call   0x44ce2f
4542c2:	6a 16                	push   $0x16
4542c4:	5e                   	pop    %esi
4542c5:	89 30                	mov    %esi,(%eax)
4542c7:	e8 0a 8a ff ff       	call   0x44ccd6
4542cc:	8b c6                	mov    %esi,%eax
4542ce:	eb 24                	jmp    0x4542f4
4542d0:	68 80 00 00 00       	push   $0x80
4542d5:	ff 75 10             	push   0x10(%ebp)
4542d8:	ff 75 0c             	push   0xc(%ebp)
4542db:	e8 d8 00 00 00       	call   0x4543b8
4542e0:	83 c4 0c             	add    $0xc,%esp
4542e3:	89 06                	mov    %eax,(%esi)
4542e5:	85 c0                	test   %eax,%eax
4542e7:	75 09                	jne    0x4542f2
4542e9:	e8 41 8b ff ff       	call   0x44ce2f
4542ee:	8b 00                	mov    (%eax),%eax
4542f0:	eb 02                	jmp    0x4542f4
4542f2:	33 c0                	xor    %eax,%eax
4542f4:	5e                   	pop    %esi
4542f5:	5d                   	pop    %ebp
4542f6:	c3                   	ret
4542f7:	6a 10                	push   $0x10
4542f9:	68 38 49 4b 00       	push   $0x4b4938
4542fe:	e8 5d c6 fe ff       	call   0x440960
454303:	33 c0                	xor    %eax,%eax
454305:	8b 75 08             	mov    0x8(%ebp),%esi
454308:	85 f6                	test   %esi,%esi
45430a:	0f 95 c0             	setne  %al
45430d:	85 c0                	test   %eax,%eax
45430f:	75 14                	jne    0x454325
454311:	e8 19 8b ff ff       	call   0x44ce2f
454316:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
45431c:	e8 b5 89 ff ff       	call   0x44ccd6
454321:	33 c0                	xor    %eax,%eax
454323:	eb 73                	jmp    0x454398
454325:	33 c0                	xor    %eax,%eax
454327:	8b 7d 0c             	mov    0xc(%ebp),%edi
45432a:	85 ff                	test   %edi,%edi
45432c:	0f 95 c0             	setne  %al
45432f:	85 c0                	test   %eax,%eax
454331:	74 de                	je     0x454311
454333:	33 c0                	xor    %eax,%eax
454335:	38 07                	cmp    %al,(%edi)
454337:	0f 95 c0             	setne  %al
45433a:	85 c0                	test   %eax,%eax
45433c:	74 d3                	je     0x454311
45433e:	80 3e 00             	cmpb   $0x0,(%esi)
454341:	75 0d                	jne    0x454350
454343:	e8 e7 8a ff ff       	call   0x44ce2f
454348:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
45434e:	eb d1                	jmp    0x454321
454350:	8d 45 e4             	lea    -0x1c(%ebp),%eax
454353:	50                   	push   %eax
454354:	e8 21 20 02 00       	call   0x47637a
454359:	59                   	pop    %ecx
45435a:	83 7d e4 00          	cmpl   $0x0,-0x1c(%ebp)
45435e:	75 0d                	jne    0x45436d
454360:	e8 ca 8a ff ff       	call   0x44ce2f
454365:	c7 00 18 00 00 00    	movl   $0x18,(%eax)
45436b:	eb b4                	jmp    0x454321
45436d:	83 65 e0 00          	andl   $0x0,-0x20(%ebp)
454371:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
454375:	ff 75 e4             	push   -0x1c(%ebp)
454378:	ff 75 10             	push   0x10(%ebp)
45437b:	57                   	push   %edi
45437c:	56                   	push   %esi
45437d:	e8 92 29 02 00       	call   0x476d14
454382:	83 c4 10             	add    $0x10,%esp
454385:	8b f0                	mov    %eax,%esi
454387:	89 75 e0             	mov    %esi,-0x20(%ebp)
45438a:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
454391:	e8 0b 00 00 00       	call   0x4543a1
454396:	8b c6                	mov    %esi,%eax
454398:	e8 09 c6 fe ff       	call   0x4409a6
45439d:	c3                   	ret
45439e:	8b 75 e0             	mov    -0x20(%ebp),%esi
4543a1:	85 f6                	test   %esi,%esi
4543a3:	75 09                	jne    0x4543ae
4543a5:	ff 75 e4             	push   -0x1c(%ebp)
4543a8:	e8 2c 20 02 00       	call   0x4763d9
4543ad:	59                   	pop    %ecx
4543ae:	ff 75 e4             	push   -0x1c(%ebp)
4543b1:	e8 07 fe ff ff       	call   0x4541bd
4543b6:	59                   	pop    %ecx
4543b7:	c3                   	ret
4543b8:	6a 10                	push   $0x10
4543ba:	68 58 49 4b 00       	push   $0x4b4958
4543bf:	e8 9c c5 fe ff       	call   0x440960
4543c4:	33 c0                	xor    %eax,%eax
4543c6:	8b 75 08             	mov    0x8(%ebp),%esi
4543c9:	85 f6                	test   %esi,%esi
4543cb:	0f 95 c0             	setne  %al
4543ce:	85 c0                	test   %eax,%eax
4543d0:	75 14                	jne    0x4543e6
4543d2:	e8 58 8a ff ff       	call   0x44ce2f
4543d7:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
4543dd:	e8 f4 88 ff ff       	call   0x44ccd6
4543e2:	33 c0                	xor    %eax,%eax
4543e4:	eb 73                	jmp    0x454459
4543e6:	33 c0                	xor    %eax,%eax
4543e8:	8b 7d 0c             	mov    0xc(%ebp),%edi
4543eb:	85 ff                	test   %edi,%edi
4543ed:	0f 95 c0             	setne  %al
4543f0:	85 c0                	test   %eax,%eax
4543f2:	74 de                	je     0x4543d2
4543f4:	33 c0                	xor    %eax,%eax
4543f6:	33 db                	xor    %ebx,%ebx
4543f8:	66 39 1f             	cmp    %bx,(%edi)
4543fb:	0f 95 c0             	setne  %al
4543fe:	85 c0                	test   %eax,%eax
454400:	74 d0                	je     0x4543d2
454402:	66 39 1e             	cmp    %bx,(%esi)
454405:	75 0d                	jne    0x454414
454407:	e8 23 8a ff ff       	call   0x44ce2f
45440c:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
454412:	eb ce                	jmp    0x4543e2
454414:	8d 45 e4             	lea    -0x1c(%ebp),%eax
454417:	50                   	push   %eax
454418:	e8 5d 1f 02 00       	call   0x47637a
45441d:	59                   	pop    %ecx
45441e:	39 5d e4             	cmp    %ebx,-0x1c(%ebp)
454421:	75 0d                	jne    0x454430
454423:	e8 07 8a ff ff       	call   0x44ce2f
454428:	c7 00 18 00 00 00    	movl   $0x18,(%eax)
45442e:	eb b2                	jmp    0x4543e2
454430:	89 5d e0             	mov    %ebx,-0x20(%ebp)
454433:	89 5d fc             	mov    %ebx,-0x4(%ebp)
454436:	ff 75 e4             	push   -0x1c(%ebp)
454439:	ff 75 10             	push   0x10(%ebp)
45443c:	57                   	push   %edi
45443d:	56                   	push   %esi
45443e:	e8 dc 28 02 00       	call   0x476d1f
454443:	83 c4 10             	add    $0x10,%esp
454446:	8b f0                	mov    %eax,%esi
454448:	89 75 e0             	mov    %esi,-0x20(%ebp)
45444b:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
454452:	e8 0b 00 00 00       	call   0x454462
454457:	8b c6                	mov    %esi,%eax
454459:	e8 48 c5 fe ff       	call   0x4409a6
45445e:	c3                   	ret
45445f:	8b 75 e0             	mov    -0x20(%ebp),%esi
454462:	85 f6                	test   %esi,%esi
454464:	75 09                	jne    0x45446f
454466:	ff 75 e4             	push   -0x1c(%ebp)
454469:	e8 6b 1f 02 00       	call   0x4763d9
45446e:	59                   	pop    %ecx
45446f:	ff 75 e4             	push   -0x1c(%ebp)
454472:	e8 46 fd ff ff       	call   0x4541bd
454477:	59                   	pop    %ecx
454478:	c3                   	ret
454479:	8b ff                	mov    %edi,%edi
45447b:	55                   	push   %ebp
45447c:	8b ec                	mov    %esp,%ebp
45447e:	8b 45 14             	mov    0x14(%ebp),%eax
454481:	ff 30                	push   (%eax)
454483:	8b 45 10             	mov    0x10(%ebp),%eax
454486:	ff 30                	push   (%eax)
454488:	8b 45 0c             	mov    0xc(%ebp),%eax
45448b:	ff 30                	push   (%eax)
45448d:	8b 45 08             	mov    0x8(%ebp),%eax
454490:	ff 30                	push   (%eax)
454492:	e8 7d 28 02 00       	call   0x476d14
454497:	83 c4 10             	add    $0x10,%esp
45449a:	5d                   	pop    %ebp
45449b:	c3                   	ret
45449c:	8b ff                	mov    %edi,%edi
45449e:	55                   	push   %ebp
45449f:	8b ec                	mov    %esp,%ebp
4544a1:	8b 45 14             	mov    0x14(%ebp),%eax
4544a4:	ff 30                	push   (%eax)
4544a6:	8b 45 10             	mov    0x10(%ebp),%eax
4544a9:	ff 30                	push   (%eax)
4544ab:	8b 45 0c             	mov    0xc(%ebp),%eax
4544ae:	ff 30                	push   (%eax)
4544b0:	8b 45 08             	mov    0x8(%ebp),%eax
4544b3:	ff 30                	push   (%eax)
4544b5:	e8 65 28 02 00       	call   0x476d1f
4544ba:	83 c4 10             	add    $0x10,%esp
4544bd:	5d                   	pop    %ebp
4544be:	c3                   	ret
4544bf:	8b 01                	mov    (%ecx),%eax
4544c1:	c3                   	ret
4544c2:	ff 31                	push   (%ecx)
4544c4:	e8 f4 fc ff ff       	call   0x4541bd
4544c9:	59                   	pop    %ecx
4544ca:	c3                   	ret
4544cb:	33 c0                	xor    %eax,%eax
4544cd:	39 01                	cmp    %eax,(%ecx)
4544cf:	0f 95 c0             	setne  %al
4544d2:	c3                   	ret
4544d3:	8b ff                	mov    %edi,%edi
4544d5:	55                   	push   %ebp
4544d6:	8b ec                	mov    %esp,%ebp
4544d8:	5d                   	pop    %ebp
4544d9:	e9 19 fe ff ff       	jmp    0x4542f7
4544de:	8b ff                	mov    %edi,%edi
4544e0:	55                   	push   %ebp
4544e1:	8b ec                	mov    %esp,%ebp
4544e3:	6a 40                	push   $0x40
4544e5:	ff 75 0c             	push   0xc(%ebp)
4544e8:	ff 75 08             	push   0x8(%ebp)
4544eb:	e8 c8 fe ff ff       	call   0x4543b8
4544f0:	83 c4 0c             	add    $0xc,%esp
4544f3:	5d                   	pop    %ebp
4544f4:	c3                   	ret
4544f5:	8b ff                	mov    %edi,%edi
4544f7:	55                   	push   %ebp
4544f8:	8b ec                	mov    %esp,%ebp
4544fa:	56                   	push   %esi
4544fb:	8b 75 08             	mov    0x8(%ebp),%esi
4544fe:	85 f6                	test   %esi,%esi
454500:	75 11                	jne    0x454513
454502:	e8 28 89 ff ff       	call   0x44ce2f
454507:	6a 16                	push   $0x16
454509:	5e                   	pop    %esi
45450a:	89 30                	mov    %esi,(%eax)
45450c:	e8 c5 87 ff ff       	call   0x44ccd6
454511:	eb 24                	jmp    0x454537
454513:	68 80 00 00 00       	push   $0x80
454518:	ff 75 10             	push   0x10(%ebp)
45451b:	ff 75 0c             	push   0xc(%ebp)
45451e:	e8 95 fe ff ff       	call   0x4543b8
454523:	83 c4 0c             	add    $0xc,%esp
454526:	89 06                	mov    %eax,(%esi)
454528:	85 c0                	test   %eax,%eax
45452a:	75 09                	jne    0x454535
45452c:	e8 fe 88 ff ff       	call   0x44ce2f
454531:	8b 30                	mov    (%eax),%esi
454533:	eb 02                	jmp    0x454537
454535:	33 f6                	xor    %esi,%esi
454537:	8b c6                	mov    %esi,%eax
454539:	5e                   	pop    %esi
45453a:	5d                   	pop    %ebp
45453b:	c3                   	ret
45453c:	8b ff                	mov    %edi,%edi
45453e:	55                   	push   %ebp
45453f:	8b ec                	mov    %esp,%ebp
454541:	5d                   	pop    %ebp
454542:	e9 71 fe ff ff       	jmp    0x4543b8