451063:	e8 60 fd ff ff       	call   0x450dc8
451068:	8b d8                	mov    %eax,%ebx
45106a:	ba 01 00 00 00       	mov    $0x1,%edx
45106f:	8b 45 fc             	mov    -0x4(%ebp),%eax
451072:	e8 51 fd ff ff       	call   0x450dc8
451077:	8b f0                	mov    %eax,%esi
451079:	55                   	push   %ebp
45107a:	e8 69 ff ff ff       	call   0x450fe8
45107f:	59                   	pop    %ecx
451080:	84 c0                	test   %al,%al
451082:	74 20                	je     0x4510a4
451084:	8b 45 fc             	mov    -0x4(%ebp),%eax
451087:	8b 40 14             	mov    0x14(%eax),%eax
45108a:	80 78 10 01          	cmpb   $0x1,0x10(%eax)
45108e:	75 0b                	jne    0x45109b
451090:	8b 45 fc             	mov    -0x4(%ebp),%eax
451093:	8b 40 1c             	mov    0x1c(%eax),%eax
451096:	2b 58 0c             	sub    0xc(%eax),%ebx
451099:	eb 09                	jmp    0x4510a4
45109b:	8b 45 fc             	mov    -0x4(%ebp),%eax
45109e:	8b 40 1c             	mov    0x1c(%eax),%eax
4510a1:	2b 70 0c             	sub    0xc(%eax),%esi
4510a4:	8b 45 fc             	mov    -0x4(%ebp),%eax
4510a7:	e8 bc 01 00 00       	call   0x451268
4510ac:	85 c0                	test   %eax,%eax
4510ae:	75 6e                	jne    0x45111e
4510b0:	8b 45 fc             	mov    -0x4(%ebp),%eax
4510b3:	8b 40 14             	mov    0x14(%eax),%eax
4510b6:	8b 55 fc             	mov    -0x4(%ebp),%edx
4510b9:	8b 52 1c             	mov    0x1c(%edx),%edx
4510bc:	3b 42 64             	cmp    0x64(%edx),%eax
4510bf:	74 2a                	je     0x4510eb
4510c1:	8b 45 fc             	mov    -0x4(%ebp),%eax
4510c4:	8b 40 14             	mov    0x14(%eax),%eax
4510c7:	8a 40 10             	mov    0x10(%eax),%al
4510ca:	8b 55 fc             	mov    -0x4(%ebp),%edx
4510cd:	8b 52 1c             	mov    0x1c(%edx),%edx
4510d0:	8b 52 64             	mov    0x64(%edx),%edx
4510d3:	3a 42 10             	cmp    0x10(%edx),%al
4510d6:	75 13                	jne    0x4510eb
4510d8:	8b 45 fc             	mov    -0x4(%ebp),%eax
4510db:	e8 b0 00 00 00       	call   0x451190
4510e0:	8b 55 fc             	mov    -0x4(%ebp),%edx
4510e3:	8b 52 1c             	mov    0x1c(%edx),%edx
4510e6:	3b 42 68             	cmp    0x68(%edx),%eax
4510e9:	7c 33                	jl     0x45111e
4510eb:	8b 45 fc             	mov    -0x4(%ebp),%eax
4510ee:	8b 40 14             	mov    0x14(%eax),%eax
4510f1:	8a 40 10             	mov    0x10(%eax),%al
4510f4:	8b 55 fc             	mov    -0x4(%ebp),%edx
4510f7:	8b 52 1c             	mov    0x1c(%edx),%edx
4510fa:	8b 52 64             	mov    0x64(%edx),%edx
4510fd:	3a 42 10             	cmp    0x10(%edx),%al
451100:	74 3c                	je     0x45113e
451102:	8b 45 fc             	mov    -0x4(%ebp),%eax
451105:	e8 86 00 00 00       	call   0x451190
45110a:	8b f8                	mov    %eax,%edi
45110c:	8b 45 fc             	mov    -0x4(%ebp),%eax
45110f:	8b 40 1c             	mov    0x1c(%eax),%eax
451112:	8b 40 64             	mov    0x64(%eax),%eax
451115:	e8 76 00 00 00       	call   0x451190
45111a:	3b f8                	cmp    %eax,%edi
45111c:	7d 20                	jge    0x45113e
45111e:	8b 45 fc             	mov    -0x4(%ebp),%eax
451121:	8b 40 14             	mov    0x14(%eax),%eax
451124:	80 78 10 01          	cmpb   $0x1,0x10(%eax)
451128:	75 0b                	jne    0x451135
45112a:	8b 45 fc             	mov    -0x4(%ebp),%eax
45112d:	8b 40 1c             	mov    0x1c(%eax),%eax
451130:	2b 70 0c             	sub    0xc(%eax),%esi
451133:	eb 09                	jmp    0x45113e
451135:	8b 45 fc             	mov    -0x4(%ebp),%eax
451138:	8b 40 1c             	mov    0x1c(%eax),%eax
45113b:	2b 58 0c             	sub    0xc(%eax),%ebx
45113e:	56                   	push   %esi
45113f:	8d 45 ec             	lea    -0x14(%ebp),%eax
451142:	50                   	push   %eax
451143:	ba 01 00 00 00       	mov    $0x1,%edx
451148:	8b 45 fc             	mov    -0x4(%ebp),%eax
45114b:	e8 0c fc ff ff       	call   0x450d5c
451150:	50                   	push   %eax
451151:	ba 02 00 00 00       	mov    $0x2,%edx
451156:	8b 45 fc             	mov    -0x4(%ebp),%eax
451159:	e8 fe fb ff ff       	call   0x450d5c
45115e:	8b cb                	mov    %ebx,%ecx
451160:	5a                   	pop    %edx
451161:	e8 36 95 fc ff       	call   0x41a69c
451166:	8d 4d ec             	lea    -0x14(%ebp),%ecx
451169:	8b 45 fc             	mov    -0x4(%ebp),%eax
45116c:	8b 50 04             	mov    0x4(%eax),%edx
45116f:	8b 45 fc             	mov    -0x4(%ebp),%eax
451172:	8b 40 1c             	mov    0x1c(%eax),%eax
451175:	8b 18                	mov    (%eax),%ebx
451177:	ff 13                	call   *(%ebx)
451179:	8d 55 ec             	lea    -0x14(%ebp),%edx
45117c:	8b 45 fc             	mov    -0x4(%ebp),%eax
45117f:	8b 40 04             	mov    0x4(%eax),%eax
451182:	e8 05 70 ff ff       	call   0x44818c
451187:	5f                   	pop    %edi
451188:	5e                   	pop    %esi
451189:	5b                   	pop    %ebx
45118a:	8b e5                	mov    %ebp,%esp
45118c:	5d                   	pop    %ebp
45118d:	c3                   	ret
45118e:	8b c0                	mov    %eax,%eax
451190:	53                   	push   %ebx
451191:	8b d8                	mov    %eax,%ebx
451193:	8b c3                	mov    %ebx,%eax
451195:	e8 fe fa ff ff       	call   0x450c98
45119a:	84 c0                	test   %al,%al
45119c:	75 14                	jne    0x4511b2
45119e:	8b c3                	mov    %ebx,%eax
4511a0:	e8 7b fa ff ff       	call   0x450c20
4511a5:	84 c0                	test   %al,%al
4511a7:	74 09                	je     0x4511b2
4511a9:	8b c3                	mov    %ebx,%eax
4511ab:	e8 1c fb ff ff       	call   0x450ccc
4511b0:	5b                   	pop    %ebx
4511b1:	c3                   	ret
4511b2:	8b 43 20             	mov    0x20(%ebx),%eax
4511b5:	5b                   	pop    %ebx
4511b6:	c3                   	ret
4511b7:	90                   	nop
4511b8:	89 50 20             	mov    %edx,0x20(%eax)
4511bb:	c3                   	ret
4511bc:	8b 40 08             	mov    0x8(%eax),%eax
4511bf:	eb 02                	jmp    0x4511c3
4511c1:	8b c2                	mov    %edx,%eax
4511c3:	8b 50 0c             	mov    0xc(%eax),%edx
4511c6:	85 d2                	test   %edx,%edx
4511c8:	75 f7                	jne    0x4511c1
4511ca:	c3                   	ret
4511cb:	90                   	nop
4511cc:	53                   	push   %ebx
4511cd:	56                   	push   %esi
4511ce:	8b f2                	mov    %edx,%esi
4511d0:	8b d8                	mov    %eax,%ebx
4511d2:	8b d6                	mov    %esi,%edx
4511d4:	8b c3                	mov    %ebx,%eax
4511d6:	e8 dd ff ff ff       	call   0x4511b8
4511db:	8b 5b 08             	mov    0x8(%ebx),%ebx
4511de:	85 db                	test   %ebx,%ebx
4511e0:	74 20                	je     0x451202
4511e2:	8b c3                	mov    %ebx,%eax
4511e4:	e8 7f fa ff ff       	call   0x450c68
4511e9:	85 c0                	test   %eax,%eax
4511eb:	7e 0e                	jle    0x4511fb
4511ed:	8b c3                	mov    %ebx,%eax
4511ef:	e8 c8 ff ff ff       	call   0x4511bc
4511f4:	8b d6                	mov    %esi,%edx
4511f6:	e8 d1 ff ff ff       	call   0x4511cc
4511fb:	8b 5b 0c             	mov    0xc(%ebx),%ebx
4511fe:	85 db                	test   %ebx,%ebx
451200:	75 e0                	jne    0x4511e2
451202:	5e                   	pop    %esi
451203:	5b                   	pop    %ebx
451204:	c3                   	ret
451205:	8d 40 00             	lea    0x0(%eax),%eax
451208:	53                   	push   %ebx
451209:	56                   	push   %esi
45120a:	57                   	push   %edi
45120b:	8b f0                	mov    %eax,%esi
45120d:	8b 5e 08             	mov    0x8(%esi),%ebx
451210:	85 db                	test   %ebx,%ebx
451212:	74 4d                	je     0x451261
451214:	8b c3                	mov    %ebx,%eax
451216:	e8 75 ff ff ff       	call   0x451190
45121b:	8b f8                	mov    %eax,%edi
45121d:	8b c3                	mov    %ebx,%eax
45121f:	e8 a8 fa ff ff       	call   0x450ccc
451224:	3b f8                	cmp    %eax,%edi
451226:	7c 14                	jl     0x45123c
451228:	8b c3                	mov    %ebx,%eax
45122a:	e8 61 ff ff ff       	call   0x451190
45122f:	8b f8                	mov    %eax,%edi
451231:	8b c6                	mov    %esi,%eax
451233:	e8 dc fa ff ff       	call   0x450d14
451238:	3b f8                	cmp    %eax,%edi
45123a:	7e 17                	jle    0x451253
45123c:	8b c6                	mov    %esi,%eax
45123e:	e8 35 fc ff ff       	call   0x450e78
451243:	8b 46 1c             	mov    0x1c(%esi),%eax
451246:	50                   	push   %eax
451247:	68 18 2d 45 00       	push   $0x452d18
45124c:	8b d6                	mov    %esi,%edx
45124e:	e8 f1 02 00 00       	call   0x451544
451253:	8b c3                	mov    %ebx,%eax
451255:	e8 ae ff ff ff       	call   0x451208
45125a:	8b 5b 0c             	mov    0xc(%ebx),%ebx
45125d:	85 db                	test   %ebx,%ebx
45125f:	75 b3                	jne    0x451214
451261:	5f                   	pop    %edi
451262:	5e                   	pop    %esi
451263:	5b                   	pop    %ebx
451264:	c3                   	ret
451265:	8d 40 00             	lea    0x0(%eax),%eax
451268:	8b 40 0c             	mov    0xc(%eax),%eax
45126b:	e8 94 f9 ff ff       	call   0x450c04
451270:	c3                   	ret
451271:	8d 40 00             	lea    0x0(%eax),%eax
451274:	53                   	push   %ebx
451275:	8b 58 18             	mov    0x18(%eax),%ebx
451278:	eb 03                	jmp    0x45127d
45127a:	8b 5b 18             	mov    0x18(%ebx),%ebx
45127d:	85 db                	test   %ebx,%ebx
45127f:	74 0b                	je     0x45128c
451281:	8b c3                	mov    %ebx,%eax
451283:	e8 10 fa ff ff       	call   0x450c98
451288:	84 c0                	test   %al,%al
45128a:	74 ee                	je     0x45127a
45128c:	8b c3                	mov    %ebx,%eax
45128e:	5b                   	pop    %ebx
45128f:	c3                   	ret
451290:	8b 40 08             	mov    0x8(%eax),%eax
451293:	e8 6c f9 ff ff       	call   0x450c04
451298:	c3                   	ret
451299:	8d 40 00             	lea    0x0(%eax),%eax
45129c:	55                   	push   %ebp
45129d:	8b ec                	mov    %esp,%ebp
45129f:	83 c4 f4             	add    $0xfffffff4,%esp
4512a2:	53                   	push   %ebx
4512a3:	56                   	push   %esi
4512a4:	57                   	push   %edi
4512a5:	84 d2                	test   %dl,%dl
4512a7:	74 08                	je     0x4512b1
4512a9:	83 c4 f0             	add    $0xfffffff0,%esp
4512ac:	e8 2b 2b fb ff       	call   0x403ddc
4512b1:	89 4d f4             	mov    %ecx,-0xc(%ebp)
4512b4:	88 55 fb             	mov    %dl,-0x5(%ebp)
4512b7:	89 45 fc             	mov    %eax,-0x4(%ebp)
4512ba:	33 d2                	xor    %edx,%edx
4512bc:	8b 45 fc             	mov    -0x4(%ebp),%eax
4512bf:	e8 84 27 fb ff       	call   0x403a48
4512c4:	8b 45 fc             	mov    -0x4(%ebp),%eax
4512c7:	c7 40 0c 04 00 00 00 	movl   $0x4,0xc(%eax)
4512ce:	8b 45 fc             	mov    -0x4(%ebp),%eax
4512d1:	8b 55 f4             	mov    -0xc(%ebp),%edx
4512d4:	89 50 14             	mov    %edx,0x14(%eax)
4512d7:	8b 45 fc             	mov    -0x4(%ebp),%eax
4512da:	c7 40 70 00 00 04 00 	movl   $0x40000,0x70(%eax)
4512e1:	8b 45 fc             	mov    -0x4(%ebp),%eax
4512e4:	c7 40 18 0c 00 00 00 	movl   $0xc,0x18(%eax)
4512eb:	8b 45 f4             	mov    -0xc(%ebp),%eax
4512ee:	8a 40 5b             	mov    0x5b(%eax),%al
4512f1:	3c 01                	cmp    $0x1,%al
4512f3:	74 04                	je     0x4512f9
4512f5:	3c 02                	cmp    $0x2,%al
4512f7:	75 04                	jne    0x4512fd
4512f9:	33 c0                	xor    %eax,%eax
4512fb:	eb 02                	jmp    0x4512ff
4512fd:	b0 01                	mov    $0x1,%al
4512ff:	8b 55 fc             	mov    -0x4(%ebp),%edx
451302:	88 42 1c             	mov    %al,0x1c(%edx)
451305:	8b 4d fc             	mov    -0x4(%ebp),%ecx
451308:	b2 01                	mov    $0x1,%dl
45130a:	a1 84 50 44 00       	mov    0x445084,%eax
45130f:	e8 30 f9 ff ff       	call   0x450c44
451314:	8b 55 fc             	mov    -0x4(%ebp),%edx
451317:	89 42 64             	mov    %eax,0x64(%edx)
45131a:	b2 01                	mov    $0x1,%dl
45131c:	a1 8c 63 42 00       	mov    0x42638c,%eax
451321:	e8 b6 6d fd ff       	call   0x4280dc
451326:	8b d8                	mov    %eax,%ebx
451328:	8b 45 fc             	mov    -0x4(%ebp),%eax
45132b:	89 58 10             	mov    %ebx,0x10(%eax)
45132e:	ba ff ff ff 00       	mov    $0xffffff,%edx
451333:	33 c0                	xor    %eax,%eax
451335:	e8 e2 e2 fd ff       	call   0x42f61c
45133a:	8b d0                	mov    %eax,%edx
45133c:	8b c3                	mov    %ebx,%eax
45133e:	e8 15 6f fd ff       	call   0x428258
451343:	8b 45 fc             	mov    -0x4(%ebp),%eax
451346:	e8 21 01 00 00       	call   0x45146c
45134b:	33 c0                	xor    %eax,%eax
45134d:	55                   	push   %ebp
45134e:	68 a8 13 45 00       	push   $0x4513a8
451353:	64 ff 30             	push   %fs:(%eax)
451356:	64 89 20             	mov    %esp,%fs:(%eax)
451359:	8b 45 f4             	mov    -0xc(%ebp),%eax
45135c:	e8 bb a9 ff ff       	call   0x44bd1c
451361:	8b d8                	mov    %eax,%ebx
451363:	4b                   	dec    %ebx
451364:	85 db                	test   %ebx,%ebx
451366:	7c 1f                	jl     0x451387
451368:	43                   	inc    %ebx
451369:	33 f6                	xor    %esi,%esi
45136b:	6a 00                	push   $0x0
45136d:	8b d6                	mov    %esi,%edx
45136f:	8b 45 f4             	mov    -0xc(%ebp),%eax
451372:	e8 69 a9 ff ff       	call   0x44bce0
451377:	8b d0                	mov    %eax,%edx
451379:	b1 03                	mov    $0x3,%cl
45137b:	8b 45 fc             	mov    -0x4(%ebp),%eax
45137e:	8b 38                	mov    (%eax),%edi
451380:	ff 57 08             	call   *0x8(%edi)
451383:	46                   	inc    %esi
451384:	4b                   	dec    %ebx
451385:	75 e4                	jne    0x45136b
451387:	8b 45 fc             	mov    -0x4(%ebp),%eax
45138a:	8b 40 64             	mov    0x64(%eax),%eax
45138d:	e8 e6 fa ff ff       	call   0x450e78
451392:	33 c0                	xor    %eax,%eax
451394:	5a                   	pop    %edx
451395:	59                   	pop    %ecx
451396:	59                   	pop    %ecx
451397:	64 89 10             	mov    %edx,%fs:(%eax)
45139a:	68 af 13 45 00       	push   $0x4513af
45139f:	8b 45 fc             	mov    -0x4(%ebp),%eax
4513a2:	e8 c9 00 00 00       	call   0x451470
4513a7:	c3                   	ret
4513a8:	e9 5f 2e fb ff       	jmp    0x40420c
4513ad:	eb f0                	jmp    0x45139f
4513af:	8b 45 f4             	mov    -0xc(%ebp),%eax
4513b2:	f6 40 1c 10          	testb  $0x10,0x1c(%eax)
4513b6:	75 28                	jne    0x4513e0
4513b8:	8b 45 fc             	mov    -0x4(%ebp),%eax
4513bb:	8b 55 fc             	mov    -0x4(%ebp),%edx
4513be:	8b 52 14             	mov    0x14(%edx),%edx
4513c1:	8b 4a 38             	mov    0x38(%edx),%ecx
4513c4:	89 48 30             	mov    %ecx,0x30(%eax)
4513c7:	8b 4a 3c             	mov    0x3c(%edx),%ecx
4513ca:	89 48 34             	mov    %ecx,0x34(%eax)
4513cd:	8b 45 fc             	mov    -0x4(%ebp),%eax
4513d0:	8b 40 14             	mov    0x14(%eax),%eax
4513d3:	8b 55 fc             	mov    -0x4(%ebp),%edx
4513d6:	89 50 3c             	mov    %edx,0x3c(%eax)
4513d9:	c7 40 38 40 32 45 00 	movl   $0x453240,0x38(%eax)
4513e0:	8b 45 fc             	mov    -0x4(%ebp),%eax
4513e3:	80 7d fb 00          	cmpb   $0x0,-0x5(%ebp)
4513e7:	74 0f                	je     0x4513f8
4513e9:	e8 46 2a fb ff       	call   0x403e34
4513ee:	64 8f 05 00 00 00 00 	pop    %fs:0x0
4513f5:	83 c4 0c             	add    $0xc,%esp
4513f8:	8b 45 fc             	mov    -0x4(%ebp),%eax
4513fb:	5f                   	pop    %edi
4513fc:	5e                   	pop    %esi
4513fd:	5b                   	pop    %ebx
4513fe:	8b e5                	mov    %ebp,%esp
451400:	5d                   	pop    %ebp
451401:	c3                   	ret
451402:	8b c0                	mov    %eax,%eax
451404:	53                   	push   %ebx
451405:	56                   	push   %esi
451406:	e8 39 2a fb ff       	call   0x403e44
45140b:	8b da                	mov    %edx,%ebx
45140d:	8b f0                	mov    %eax,%esi
45140f:	83 7e 30 00          	cmpl   $0x0,0x30(%esi)
451413:	74 17                	je     0x45142c
451415:	8b 46 14             	mov    0x14(%esi),%eax
451418:	8b 56 30             	mov    0x30(%esi),%edx