4540ac:	75 14                	jne    0x4540c2
4540ae:	8b c3                	mov    %ebx,%eax
4540b0:	e8 4b fa ff ff       	call   0x453b00
4540b5:	84 c0                	test   %al,%al
4540b7:	74 09                	je     0x4540c2
4540b9:	8b c3                	mov    %ebx,%eax
4540bb:	e8 f8 fa ff ff       	call   0x453bb8
4540c0:	5b                   	pop    %ebx
4540c1:	c3                   	ret
4540c2:	8b 43 20             	mov    0x20(%ebx),%eax
4540c5:	5b                   	pop    %ebx
4540c6:	c3                   	ret
4540c7:	90                   	nop
4540c8:	89 50 20             	mov    %edx,0x20(%eax)
4540cb:	c3                   	ret
4540cc:	8b 40 08             	mov    0x8(%eax),%eax
4540cf:	eb 02                	jmp    0x4540d3
4540d1:	8b c2                	mov    %edx,%eax
4540d3:	8b 50 0c             	mov    0xc(%eax),%edx
4540d6:	85 d2                	test   %edx,%edx
4540d8:	75 f7                	jne    0x4540d1
4540da:	c3                   	ret
4540db:	90                   	nop
4540dc:	53                   	push   %ebx
4540dd:	56                   	push   %esi
4540de:	57                   	push   %edi
4540df:	8b fa                	mov    %edx,%edi
4540e1:	8b d8                	mov    %eax,%ebx
4540e3:	8b d7                	mov    %edi,%edx
4540e5:	8b c3                	mov    %ebx,%eax
4540e7:	e8 dc ff ff ff       	call   0x4540c8
4540ec:	8b 5b 08             	mov    0x8(%ebx),%ebx
4540ef:	85 db                	test   %ebx,%ebx
4540f1:	74 24                	je     0x454117
4540f3:	8b c3                	mov    %ebx,%eax
4540f5:	e8 4e fa ff ff       	call   0x453b48
4540fa:	85 c0                	test   %eax,%eax
4540fc:	7e 12                	jle    0x454110
4540fe:	8b c3                	mov    %ebx,%eax
454100:	e8 c7 ff ff ff       	call   0x4540cc
454105:	8b f0                	mov    %eax,%esi
454107:	8b d7                	mov    %edi,%edx
454109:	8b c6                	mov    %esi,%eax
45410b:	e8 cc ff ff ff       	call   0x4540dc
454110:	8b 5b 0c             	mov    0xc(%ebx),%ebx
454113:	85 db                	test   %ebx,%ebx
454115:	75 dc                	jne    0x4540f3
454117:	5f                   	pop    %edi
454118:	5e                   	pop    %esi
454119:	5b                   	pop    %ebx
45411a:	c3                   	ret
45411b:	90                   	nop
45411c:	53                   	push   %ebx
45411d:	56                   	push   %esi
45411e:	57                   	push   %edi
45411f:	8b f0                	mov    %eax,%esi
454121:	8b 5e 08             	mov    0x8(%esi),%ebx
454124:	85 db                	test   %ebx,%ebx
454126:	74 4f                	je     0x454177
454128:	8b c3                	mov    %ebx,%eax
45412a:	e8 71 ff ff ff       	call   0x4540a0
45412f:	8b f8                	mov    %eax,%edi
454131:	8b c3                	mov    %ebx,%eax
454133:	e8 80 fa ff ff       	call   0x453bb8
454138:	3b f8                	cmp    %eax,%edi
45413a:	7c 14                	jl     0x454150
45413c:	8b c3                	mov    %ebx,%eax
45413e:	e8 5d ff ff ff       	call   0x4540a0
454143:	8b f8                	mov    %eax,%edi
454145:	8b c6                	mov    %esi,%eax
454147:	e8 b4 fa ff ff       	call   0x453c00
45414c:	3b f8                	cmp    %eax,%edi
45414e:	7e 19                	jle    0x454169
454150:	8b c6                	mov    %esi,%eax
454152:	e8 2d fc ff ff       	call   0x453d84
454157:	8b 7e 1c             	mov    0x1c(%esi),%edi
45415a:	57                   	push   %edi
45415b:	68 58 5f 45 00       	push   $0x455f58
454160:	8b d6                	mov    %esi,%edx
454162:	8b c7                	mov    %edi,%eax
454164:	e8 f3 02 00 00       	call   0x45445c
454169:	8b c3                	mov    %ebx,%eax
45416b:	e8 ac ff ff ff       	call   0x45411c
454170:	8b 5b 0c             	mov    0xc(%ebx),%ebx
454173:	85 db                	test   %ebx,%ebx
454175:	75 b1                	jne    0x454128
454177:	5f                   	pop    %edi
454178:	5e                   	pop    %esi
454179:	5b                   	pop    %ebx
45417a:	c3                   	ret
45417b:	90                   	nop
45417c:	8b 40 0c             	mov    0xc(%eax),%eax
45417f:	e8 60 f9 ff ff       	call   0x453ae4
454184:	c3                   	ret
454185:	8d 40 00             	lea    0x0(%eax),%eax
454188:	53                   	push   %ebx
454189:	8b 58 18             	mov    0x18(%eax),%ebx
45418c:	eb 03                	jmp    0x454191
45418e:	8b 5b 18             	mov    0x18(%ebx),%ebx
454191:	85 db                	test   %ebx,%ebx
454193:	74 0b                	je     0x4541a0
454195:	8b c3                	mov    %ebx,%eax
454197:	e8 e4 f9 ff ff       	call   0x453b80
45419c:	84 c0                	test   %al,%al
45419e:	74 ee                	je     0x45418e
4541a0:	8b c3                	mov    %ebx,%eax
4541a2:	5b                   	pop    %ebx
4541a3:	c3                   	ret
4541a4:	8b 40 08             	mov    0x8(%eax),%eax
4541a7:	e8 38 f9 ff ff       	call   0x453ae4
4541ac:	c3                   	ret
4541ad:	8d 40 00             	lea    0x0(%eax),%eax
4541b0:	55                   	push   %ebp
4541b1:	8b ec                	mov    %esp,%ebp
4541b3:	83 c4 f4             	add    $0xfffffff4,%esp
4541b6:	53                   	push   %ebx
4541b7:	56                   	push   %esi
4541b8:	57                   	push   %edi
4541b9:	84 d2                	test   %dl,%dl
4541bb:	74 08                	je     0x4541c5
4541bd:	83 c4 f0             	add    $0xfffffff0,%esp
4541c0:	e8 7b fa fa ff       	call   0x403c40
4541c5:	89 4d f4             	mov    %ecx,-0xc(%ebp)
4541c8:	88 55 fb             	mov    %dl,-0x5(%ebp)
4541cb:	89 45 fc             	mov    %eax,-0x4(%ebp)
4541ce:	33 d2                	xor    %edx,%edx
4541d0:	8b 45 fc             	mov    -0x4(%ebp),%eax
4541d3:	e8 14 f7 fa ff       	call   0x4038ec
4541d8:	8b 45 fc             	mov    -0x4(%ebp),%eax
4541db:	c7 40 0c 04 00 00 00 	movl   $0x4,0xc(%eax)
4541e2:	8b 45 fc             	mov    -0x4(%ebp),%eax
4541e5:	8b 55 f4             	mov    -0xc(%ebp),%edx
4541e8:	89 50 14             	mov    %edx,0x14(%eax)
4541eb:	8b 45 fc             	mov    -0x4(%ebp),%eax
4541ee:	c7 40 70 00 00 08 00 	movl   $0x80000,0x70(%eax)
4541f5:	8b 45 fc             	mov    -0x4(%ebp),%eax
4541f8:	c7 40 18 0c 00 00 00 	movl   $0xc,0x18(%eax)
4541ff:	8b 45 f4             	mov    -0xc(%ebp),%eax
454202:	0f b6 40 5b          	movzbl 0x5b(%eax),%eax
454206:	3c 01                	cmp    $0x1,%al
454208:	74 04                	je     0x45420e
45420a:	3c 02                	cmp    $0x2,%al
45420c:	75 04                	jne    0x454212
45420e:	33 c0                	xor    %eax,%eax
454210:	eb 02                	jmp    0x454214
454212:	b0 01                	mov    $0x1,%al
454214:	8b 55 fc             	mov    -0x4(%ebp),%edx
454217:	88 42 1c             	mov    %al,0x1c(%edx)
45421a:	8b 4d fc             	mov    -0x4(%ebp),%ecx
45421d:	b2 01                	mov    $0x1,%dl
45421f:	a1 ec 61 44 00       	mov    0x4461ec,%eax
454224:	e8 fb f8 ff ff       	call   0x453b24
454229:	8b 55 fc             	mov    -0x4(%ebp),%edx
45422c:	89 42 64             	mov    %eax,0x64(%edx)
45422f:	b2 01                	mov    $0x1,%dl
454231:	a1 0c 28 42 00       	mov    0x42280c,%eax
454236:	e8 0d 05 fd ff       	call   0x424748
45423b:	8b d8                	mov    %eax,%ebx
45423d:	8b 45 fc             	mov    -0x4(%ebp),%eax
454240:	89 58 10             	mov    %ebx,0x10(%eax)
454243:	ba ff ff ff 00       	mov    $0xffffff,%edx
454248:	33 c0                	xor    %eax,%eax
45424a:	e8 c1 76 fd ff       	call   0x42b910
45424f:	8b d0                	mov    %eax,%edx
454251:	8b c3                	mov    %ebx,%eax
454253:	e8 6c 06 fd ff       	call   0x4248c4
454258:	8b 45 fc             	mov    -0x4(%ebp),%eax
45425b:	e8 24 01 00 00       	call   0x454384
454260:	33 c0                	xor    %eax,%eax
454262:	55                   	push   %ebp
454263:	68 bd 42 45 00       	push   $0x4542bd
454268:	64 ff 30             	push   %fs:(%eax)
45426b:	64 89 20             	mov    %esp,%fs:(%eax)
45426e:	8b 45 f4             	mov    -0xc(%ebp),%eax
454271:	e8 8e 9a ff ff       	call   0x44dd04
454276:	8b d8                	mov    %eax,%ebx
454278:	4b                   	dec    %ebx
454279:	85 db                	test   %ebx,%ebx
45427b:	7c 1f                	jl     0x45429c
45427d:	43                   	inc    %ebx
45427e:	33 f6                	xor    %esi,%esi
454280:	6a 00                	push   $0x0
454282:	8b d6                	mov    %esi,%edx
454284:	8b 45 f4             	mov    -0xc(%ebp),%eax
454287:	e8 3c 9a ff ff       	call   0x44dcc8
45428c:	8b d0                	mov    %eax,%edx
45428e:	b1 03                	mov    $0x3,%cl
454290:	8b 45 fc             	mov    -0x4(%ebp),%eax
454293:	8b 38                	mov    (%eax),%edi
454295:	ff 57 0c             	call   *0xc(%edi)
454298:	46                   	inc    %esi
454299:	4b                   	dec    %ebx
45429a:	75 e4                	jne    0x454280
45429c:	8b 45 fc             	mov    -0x4(%ebp),%eax
45429f:	8b 40 64             	mov    0x64(%eax),%eax
4542a2:	e8 dd fa ff ff       	call   0x453d84
4542a7:	33 c0                	xor    %eax,%eax
4542a9:	5a                   	pop    %edx
4542aa:	59                   	pop    %ecx
4542ab:	59                   	pop    %ecx
4542ac:	64 89 10             	mov    %edx,%fs:(%eax)
4542af:	68 c4 42 45 00       	push   $0x4542c4
4542b4:	8b 45 fc             	mov    -0x4(%ebp),%eax
4542b7:	e8 cc 00 00 00       	call   0x454388
4542bc:	c3                   	ret
4542bd:	e9 ee fd fa ff       	jmp    0x4040b0
4542c2:	eb f0                	jmp    0x4542b4
4542c4:	8b 45 f4             	mov    -0xc(%ebp),%eax
4542c7:	f6 40 1c 10          	testb  $0x10,0x1c(%eax)
4542cb:	75 28                	jne    0x4542f5
4542cd:	8b 45 fc             	mov    -0x4(%ebp),%eax
4542d0:	8b 55 fc             	mov    -0x4(%ebp),%edx
4542d3:	8b 52 14             	mov    0x14(%edx),%edx
4542d6:	8b 4a 38             	mov    0x38(%edx),%ecx
4542d9:	89 48 30             	mov    %ecx,0x30(%eax)
4542dc:	8b 4a 3c             	mov    0x3c(%edx),%ecx
4542df:	89 48 34             	mov    %ecx,0x34(%eax)
4542e2:	8b 45 fc             	mov    -0x4(%ebp),%eax
4542e5:	8b 40 14             	mov    0x14(%eax),%eax
4542e8:	8b 55 fc             	mov    -0x4(%ebp),%edx
4542eb:	89 50 3c             	mov    %edx,0x3c(%eax)
4542ee:	c7 40 38 68 5f 45 00 	movl   $0x455f68,0x38(%eax)
4542f5:	8b 45 fc             	mov    -0x4(%ebp),%eax
4542f8:	80 7d fb 00          	cmpb   $0x0,-0x5(%ebp)
4542fc:	74 0f                	je     0x45430d
4542fe:	e8 95 f9 fa ff       	call   0x403c98
454303:	64 8f 05 00 00 00 00 	pop    %fs:0x0
45430a:	83 c4 0c             	add    $0xc,%esp
45430d:	8b 45 fc             	mov    -0x4(%ebp),%eax
454310:	5f                   	pop    %edi
454311:	5e                   	pop    %esi
454312:	5b                   	pop    %ebx
454313:	8b e5                	mov    %ebp,%esp
454315:	5d                   	pop    %ebp
454316:	c3                   	ret
454317:	90                   	nop
454318:	53                   	push   %ebx
454319:	56                   	push   %esi
45431a:	e8 c9 f9 fa ff       	call   0x403ce8
45431f:	8b da                	mov    %edx,%ebx
454321:	8b f0                	mov    %eax,%esi
454323:	83 7e 30 00          	cmpl   $0x0,0x30(%esi)
454327:	74 17                	je     0x454340
454329:	8b 46 14             	mov    0x14(%esi),%eax
45432c:	8b 56 30             	mov    0x30(%esi),%edx
45432f:	89 50 38             	mov    %edx,0x38(%eax)
454332:	8b 56 34             	mov    0x34(%esi),%edx
454335:	89 50 3c             	mov    %edx,0x3c(%eax)
454338:	33 c0                	xor    %eax,%eax
45433a:	89 46 30             	mov    %eax,0x30(%esi)
45433d:	89 46 34             	mov    %eax,0x34(%esi)
454340:	8b 56 64             	mov    0x64(%esi),%edx
454343:	8b c6                	mov    %esi,%eax
454345:	e8 62 12 00 00       	call   0x4555ac
45434a:	8b 46 10             	mov    0x10(%esi),%eax
45434d:	e8 ca f5 fa ff       	call   0x40391c
454352:	8b d3                	mov    %ebx,%edx
454354:	80 e2 fc             	and    $0xfc,%dl
454357:	8b c6                	mov    %esi,%eax
454359:	e8 ae f5 fa ff       	call   0x40390c
45435e:	84 db                	test   %bl,%bl
454360:	7e 07                	jle    0x454369
454362:	8b c6                	mov    %esi,%eax
454364:	e8 27 f9 fa ff       	call   0x403c90
454369:	5e                   	pop    %esi
45436a:	5b                   	pop    %ebx
45436b:	c3                   	ret
45436c:	8b 40 14             	mov    0x14(%eax),%eax
45436f:	0f b6 40 5b          	movzbl 0x5b(%eax),%eax
454373:	48                   	dec    %eax
454374:	2c 02                	sub    $0x2,%al
454376:	73 04                	jae    0x45437c
454378:	83 01 0c             	addl   $0xc,(%ecx)
45437b:	c3                   	ret
45437c:	83 41 04 0c          	addl   $0xc,0x4(%ecx)
454380:	c3                   	ret
454381:	8d 40 00             	lea    0x0(%eax),%eax
454384:	ff 40 6c             	incl   0x6c(%eax)
454387:	c3                   	ret
454388:	ff 48 6c             	decl   0x6c(%eax)
45438b:	83 78 6c 00          	cmpl   $0x0,0x6c(%eax)
45438f:	7f 0a                	jg     0x45439b
454391:	33 d2                	xor    %edx,%edx
454393:	89 50 6c             	mov    %edx,0x6c(%eax)
454396:	e8 95 1b 00 00       	call   0x455f30
45439b:	c3                   	ret
45439c:	55                   	push   %ebp
45439d:	8b ec                	mov    %esp,%ebp
45439f:	53                   	push   %ebx
4543a0:	8b d8                	mov    %eax,%ebx
4543a2:	8b 45 08             	mov    0x8(%ebp),%eax
4543a5:	8b 40 fc             	mov    -0x4(%eax),%eax
4543a8:	3b 43 04             	cmp    0x4(%ebx),%eax
4543ab:	75 09                	jne    0x4543b6
4543ad:	8b 45 08             	mov    0x8(%ebp),%eax
4543b0:	89 58 f8             	mov    %ebx,-0x8(%eax)
4543b3:	5b                   	pop    %ebx
4543b4:	5d                   	pop    %ebp
4543b5:	c3                   	ret
4543b6:	8b 45 08             	mov    0x8(%ebp),%eax
4543b9:	83 78 f8 00          	cmpl   $0x0,-0x8(%eax)
4543bd:	75 13                	jne    0x4543d2
4543bf:	83 7b 0c 00          	cmpl   $0x0,0xc(%ebx)
4543c3:	74 0d                	je     0x4543d2
4543c5:	8b 45 08             	mov    0x8(%ebp),%eax
4543c8:	50                   	push   %eax
4543c9:	8b 43 0c             	mov    0xc(%ebx),%eax
4543cc:	e8 cb ff ff ff       	call   0x45439c
4543d1:	59                   	pop    %ecx
4543d2:	8b 45 08             	mov    0x8(%ebp),%eax
4543d5:	83 78 f8 00          	cmpl   $0x0,-0x8(%eax)
4543d9:	75 13                	jne    0x4543ee
4543db:	83 7b 08 00          	cmpl   $0x0,0x8(%ebx)
4543df:	74 0d                	je     0x4543ee
4543e1:	8b 45 08             	mov    0x8(%ebp),%eax
4543e4:	50                   	push   %eax
4543e5:	8b 43 08             	mov    0x8(%ebx),%eax
4543e8:	e8 af ff ff ff       	call   0x45439c
4543ed:	59                   	pop    %ecx
4543ee:	5b                   	pop    %ebx
4543ef:	5d                   	pop    %ebp
4543f0:	c3                   	ret
4543f1:	8d 40 00             	lea    0x0(%eax),%eax
4543f4:	55                   	push   %ebp
4543f5:	8b ec                	mov    %esp,%ebp
4543f7:	83 c4 f8             	add    $0xfffffff8,%esp
4543fa:	89 55 fc             	mov    %edx,-0x4(%ebp)
4543fd:	33 d2                	xor    %edx,%edx
4543ff:	89 55 f8             	mov    %edx,-0x8(%ebp)
454402:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
454406:	74 10                	je     0x454418
454408:	83 78 64 00          	cmpl   $0x0,0x64(%eax)
45440c:	74 0a                	je     0x454418
45440e:	55                   	push   %ebp
45440f:	8b 40 64             	mov    0x64(%eax),%eax
454412:	e8 85 ff ff ff       	call   0x45439c
454417:	59                   	pop    %ecx
454418:	8b 45 f8             	mov    -0x8(%ebp),%eax
45441b:	59                   	pop    %ecx
45441c:	59                   	pop    %ecx
45441d:	5d                   	pop    %ebp
45441e:	c3                   	ret
45441f:	90                   	nop
454420:	55                   	push   %ebp
454421:	8b ec                	mov    %esp,%ebp
454423:	53                   	push   %ebx
454424:	56                   	push   %esi
454425:	8b d8                	mov    %eax,%ebx
454427:	8b 45 08             	mov    0x8(%ebp),%eax
45442a:	8d 70 08             	lea    0x8(%eax),%esi