4530f4:	eb 21                	jmp    0x453117
4530f6:	53                   	push   %ebx
4530f7:	68 94 08 4a 00       	push   $0x4a0894
4530fc:	57                   	push   %edi
4530fd:	53                   	push   %ebx
4530fe:	ff 75 08             	push   0x8(%ebp)
453101:	e8 d8 de 03 00       	call   0x490fde
453106:	8b c8                	mov    %eax,%ecx
453108:	83 c4 14             	add    $0x14,%esp
45310b:	85 c9                	test   %ecx,%ecx
45310d:	74 0a                	je     0x453119
45310f:	8b 46 08             	mov    0x8(%esi),%eax
453112:	8b 00                	mov    (%eax),%eax
453114:	89 41 08             	mov    %eax,0x8(%ecx)
453117:	b3 01                	mov    $0x1,%bl
453119:	5f                   	pop    %edi
45311a:	5e                   	pop    %esi
45311b:	8a c3                	mov    %bl,%al
45311d:	5b                   	pop    %ebx
45311e:	5d                   	pop    %ebp
45311f:	c2 04 00             	ret    $0x4
453122:	cc                   	int3
453123:	cc                   	int3
453124:	cc                   	int3
453125:	cc                   	int3
453126:	cc                   	int3
453127:	cc                   	int3
453128:	cc                   	int3
453129:	cc                   	int3
45312a:	cc                   	int3
45312b:	cc                   	int3
45312c:	cc                   	int3
45312d:	cc                   	int3
45312e:	cc                   	int3
45312f:	cc                   	int3
453130:	8b ff                	mov    %edi,%edi
453132:	55                   	push   %ebp
453133:	8b ec                	mov    %esp,%ebp
453135:	53                   	push   %ebx
453136:	56                   	push   %esi
453137:	57                   	push   %edi
453138:	33 db                	xor    %ebx,%ebx
45313a:	bf bc 08 4a 00       	mov    $0x4a08bc,%edi
45313f:	53                   	push   %ebx
453140:	68 6c 08 4a 00       	push   $0x4a086c
453145:	57                   	push   %edi
453146:	53                   	push   %ebx
453147:	ff 75 08             	push   0x8(%ebp)
45314a:	8b f1                	mov    %ecx,%esi
45314c:	e8 8d de 03 00       	call   0x490fde
453151:	83 c4 14             	add    $0x14,%esp
453154:	85 c0                	test   %eax,%eax
453156:	74 07                	je     0x45315f
453158:	8b 40 08             	mov    0x8(%eax),%eax
45315b:	8b 00                	mov    (%eax),%eax
45315d:	eb 1a                	jmp    0x453179
45315f:	53                   	push   %ebx
453160:	68 94 08 4a 00       	push   $0x4a0894
453165:	57                   	push   %edi
453166:	53                   	push   %ebx
453167:	ff 75 08             	push   0x8(%ebp)
45316a:	e8 6f de 03 00       	call   0x490fde
45316f:	83 c4 14             	add    $0x14,%esp
453172:	85 c0                	test   %eax,%eax
453174:	74 0a                	je     0x453180
453176:	8b 40 08             	mov    0x8(%eax),%eax
453179:	8b 4e 08             	mov    0x8(%esi),%ecx
45317c:	b3 01                	mov    $0x1,%bl
45317e:	89 01                	mov    %eax,(%ecx)
453180:	5f                   	pop    %edi
453181:	5e                   	pop    %esi
453182:	8a c3                	mov    %bl,%al
453184:	5b                   	pop    %ebx
453185:	5d                   	pop    %ebp
453186:	c2 04 00             	ret    $0x4
453189:	cc                   	int3
45318a:	cc                   	int3
45318b:	cc                   	int3
45318c:	cc                   	int3
45318d:	cc                   	int3
45318e:	cc                   	int3
45318f:	cc                   	int3
453190:	8b ff                	mov    %edi,%edi
453192:	55                   	push   %ebp
453193:	8b ec                	mov    %esp,%ebp
453195:	8d 41 08             	lea    0x8(%ecx),%eax
453198:	8b 4d 08             	mov    0x8(%ebp),%ecx
45319b:	50                   	push   %eax
45319c:	e8 4f 04 00 00       	call   0x4535f0
4531a1:	5d                   	pop    %ebp
4531a2:	c2 04 00             	ret    $0x4
4531a5:	cc                   	int3
4531a6:	cc                   	int3
4531a7:	cc                   	int3
4531a8:	cc                   	int3
4531a9:	cc                   	int3
4531aa:	cc                   	int3
4531ab:	cc                   	int3
4531ac:	cc                   	int3
4531ad:	cc                   	int3
4531ae:	cc                   	int3
4531af:	cc                   	int3
4531b0:	8b ff                	mov    %edi,%edi
4531b2:	55                   	push   %ebp
4531b3:	8b ec                	mov    %esp,%ebp
4531b5:	83 e4 f8             	and    $0xfffffff8,%esp
4531b8:	dd 41 08             	fldl   0x8(%ecx)
4531bb:	51                   	push   %ecx
4531bc:	51                   	push   %ecx
4531bd:	8b 4d 08             	mov    0x8(%ebp),%ecx
4531c0:	dd 1c 24             	fstpl  (%esp)
4531c3:	e8 3a 02 00 00       	call   0x453402
4531c8:	8b e5                	mov    %ebp,%esp
4531ca:	5d                   	pop    %ebp
4531cb:	c2 04 00             	ret    $0x4
4531ce:	cc                   	int3
4531cf:	cc                   	int3
4531d0:	8b ff                	mov    %edi,%edi
4531d2:	55                   	push   %ebp
4531d3:	8b ec                	mov    %esp,%ebp
4531d5:	51                   	push   %ecx
4531d6:	56                   	push   %esi
4531d7:	6a 10                	push   $0x10
4531d9:	8b f1                	mov    %ecx,%esi
4531db:	ff 15 14 74 4a 00    	call   *0x4a7414
4531e1:	89 45 fc             	mov    %eax,-0x4(%ebp)
4531e4:	59                   	pop    %ecx
4531e5:	85 c0                	test   %eax,%eax
4531e7:	74 15                	je     0x4531fe
4531e9:	dd 46 08             	fldl   0x8(%esi)
4531ec:	dd 58 08             	fstpl  0x8(%eax)
4531ef:	c7 40 04 05 00 00 00 	movl   $0x5,0x4(%eax)
4531f6:	c7 00 74 35 40 00    	movl   $0x403574,(%eax)
4531fc:	eb 02                	jmp    0x453200
4531fe:	33 c0                	xor    %eax,%eax
453200:	5e                   	pop    %esi
453201:	c9                   	leave
453202:	c3                   	ret
453203:	cc                   	int3
453204:	cc                   	int3
453205:	cc                   	int3
453206:	cc                   	int3
453207:	cc                   	int3
453208:	cc                   	int3
453209:	cc                   	int3
45320a:	cc                   	int3
45320b:	cc                   	int3
45320c:	cc                   	int3
45320d:	cc                   	int3
45320e:	cc                   	int3
45320f:	cc                   	int3
453210:	8b ff                	mov    %edi,%edi
453212:	55                   	push   %ebp
453213:	8b ec                	mov    %esp,%ebp
453215:	8d 41 08             	lea    0x8(%ecx),%eax
453218:	8b 4d 08             	mov    0x8(%ebp),%ecx
45321b:	50                   	push   %eax
45321c:	e8 cf 04 00 00       	call   0x4536f0
453221:	5d                   	pop    %ebp
453222:	c2 04 00             	ret    $0x4
453225:	cc                   	int3
453226:	cc                   	int3
453227:	cc                   	int3
453228:	cc                   	int3
453229:	cc                   	int3
45322a:	cc                   	int3
45322b:	cc                   	int3
45322c:	cc                   	int3
45322d:	cc                   	int3
45322e:	cc                   	int3
45322f:	cc                   	int3
453230:	8b ff                	mov    %edi,%edi
453232:	55                   	push   %ebp
453233:	8b ec                	mov    %esp,%ebp
453235:	ff 71 08             	push   0x8(%ecx)
453238:	8b 4d 08             	mov    0x8(%ebp),%ecx
45323b:	e8 be 02 00 00       	call   0x4534fe
453240:	5d                   	pop    %ebp
453241:	c2 04 00             	ret    $0x4
453244:	cc                   	int3
453245:	cc                   	int3
453246:	cc                   	int3
453247:	cc                   	int3
453248:	cc                   	int3
453249:	cc                   	int3
45324a:	cc                   	int3
45324b:	cc                   	int3
45324c:	cc                   	int3
45324d:	cc                   	int3
45324e:	cc                   	int3
45324f:	cc                   	int3
453250:	8b ff                	mov    %edi,%edi
453252:	55                   	push   %ebp
453253:	8b ec                	mov    %esp,%ebp
453255:	51                   	push   %ecx
453256:	56                   	push   %esi
453257:	6a 0c                	push   $0xc
453259:	8b f1                	mov    %ecx,%esi
45325b:	ff 15 14 74 4a 00    	call   *0x4a7414
453261:	8b d0                	mov    %eax,%edx
453263:	89 55 fc             	mov    %edx,-0x4(%ebp)
453266:	59                   	pop    %ecx
453267:	85 d2                	test   %edx,%edx
453269:	74 15                	je     0x453280
45326b:	8b 46 08             	mov    0x8(%esi),%eax
45326e:	c7 42 04 02 00 00 00 	movl   $0x2,0x4(%edx)
453275:	c7 02 58 35 40 00    	movl   $0x403558,(%edx)
45327b:	89 42 08             	mov    %eax,0x8(%edx)
45327e:	eb 02                	jmp    0x453282
453280:	33 d2                	xor    %edx,%edx
453282:	8b c2                	mov    %edx,%eax
453284:	5e                   	pop    %esi
453285:	c9                   	leave
453286:	c3                   	ret
453287:	8b ff                	mov    %edi,%edi
453289:	55                   	push   %ebp
45328a:	8b ec                	mov    %esp,%ebp
45328c:	6a ff                	push   $0xffffffff
45328e:	68 7b 13 49 00       	push   $0x49137b
453293:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
453299:	50                   	push   %eax
45329a:	51                   	push   %ecx
45329b:	56                   	push   %esi
45329c:	a1 dc 38 4a 00       	mov    0x4a38dc,%eax
4532a1:	33 c5                	xor    %ebp,%eax
4532a3:	50                   	push   %eax
4532a4:	8d 45 f4             	lea    -0xc(%ebp),%eax
4532a7:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
4532ad:	8b f1                	mov    %ecx,%esi
4532af:	8b 46 04             	mov    0x4(%esi),%eax
4532b2:	50                   	push   %eax
4532b3:	ff 30                	push   (%eax)
4532b5:	8d 45 f0             	lea    -0x10(%ebp),%eax
4532b8:	50                   	push   %eax
4532b9:	e8 18 0a 00 00       	call   0x453cd6
4532be:	ff 76 04             	push   0x4(%esi)
4532c1:	ff 15 10 74 4a 00    	call   *0x4a7410
4532c7:	83 66 04 00          	andl   $0x0,0x4(%esi)
4532cb:	83 66 08 00          	andl   $0x0,0x8(%esi)
4532cf:	59                   	pop    %ecx
4532d0:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4532d3:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4532da:	59                   	pop    %ecx
4532db:	5e                   	pop    %esi
4532dc:	c9                   	leave
4532dd:	c3                   	ret
4532de:	8b ff                	mov    %edi,%edi
4532e0:	55                   	push   %ebp
4532e1:	8b ec                	mov    %esp,%ebp
4532e3:	6a ff                	push   $0xffffffff
4532e5:	68 7b 13 49 00       	push   $0x49137b
4532ea:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
4532f0:	50                   	push   %eax
4532f1:	51                   	push   %ecx
4532f2:	56                   	push   %esi
4532f3:	a1 dc 38 4a 00       	mov    0x4a38dc,%eax
4532f8:	33 c5                	xor    %ebp,%eax
4532fa:	50                   	push   %eax
4532fb:	8d 45 f4             	lea    -0xc(%ebp),%eax
4532fe:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
453304:	8b f1                	mov    %ecx,%esi
453306:	8b 46 04             	mov    0x4(%esi),%eax
453309:	50                   	push   %eax
45330a:	ff 30                	push   (%eax)
45330c:	8d 45 f0             	lea    -0x10(%ebp),%eax
45330f:	50                   	push   %eax
453310:	e8 31 0a 00 00       	call   0x453d46
453315:	ff 76 04             	push   0x4(%esi)
453318:	ff 15 10 74 4a 00    	call   *0x4a7410
45331e:	83 66 04 00          	andl   $0x0,0x4(%esi)
453322:	83 66 08 00          	andl   $0x0,0x8(%esi)
453326:	59                   	pop    %ecx
453327:	8b 4d f4             	mov    -0xc(%ebp),%ecx
45332a:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
453331:	59                   	pop    %ecx
453332:	5e                   	pop    %esi
453333:	c9                   	leave
453334:	c3                   	ret
453335:	6a 08                	push   $0x8
453337:	b8 21 3e 49 00       	mov    $0x493e21,%eax
45333c:	e8 fb d1 03 00       	call   0x49053c
453341:	8b f1                	mov    %ecx,%esi
453343:	89 75 ec             	mov    %esi,-0x14(%ebp)
453346:	8b 7d 08             	mov    0x8(%ebp),%edi
453349:	83 7f 04 00          	cmpl   $0x0,0x4(%edi)
45334d:	75 04                	jne    0x453353
45334f:	33 c0                	xor    %eax,%eax
453351:	eb 09                	jmp    0x45335c
453353:	8b 47 08             	mov    0x8(%edi),%eax
453356:	2b 47 04             	sub    0x4(%edi),%eax
453359:	c1 f8 02             	sar    $0x2,%eax
45335c:	83 66 04 00          	andl   $0x0,0x4(%esi)
453360:	83 66 08 00          	andl   $0x0,0x8(%esi)
453364:	83 66 0c 00          	andl   $0x0,0xc(%esi)
453368:	85 c0                	test   %eax,%eax
45336a:	74 25                	je     0x453391
45336c:	50                   	push   %eax
45336d:	e8 67 e2 fd ff       	call   0x4315d9
453372:	84 c0                	test   %al,%al
453374:	74 1b                	je     0x453391
453376:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
45337a:	ff 75 ec             	push   -0x14(%ebp)
45337d:	8b 4e 04             	mov    0x4(%esi),%ecx
453380:	ff 75 ec             	push   -0x14(%ebp)
453383:	ff 77 08             	push   0x8(%edi)
453386:	ff 77 04             	push   0x4(%edi)
453389:	e8 46 16 00 00       	call   0x4549d4
45338e:	89 46 08             	mov    %eax,0x8(%esi)
453391:	8b c6                	mov    %esi,%eax
453393:	e8 09 d1 03 00       	call   0x4904a1
453398:	c2 04 00             	ret    $0x4
45339b:	8b 4d ec             	mov    -0x14(%ebp),%ecx
45339e:	e8 6d a5 fc ff       	call   0x41d910
4533a3:	6a 00                	push   $0x0
4533a5:	6a 00                	push   $0x0
4533a7:	e8 ef d0 03 00       	call   0x49049b
4533ac:	cc                   	int3
4533ad:	8b ff                	mov    %edi,%edi
4533af:	55                   	push   %ebp
4533b0:	8b ec                	mov    %esp,%ebp
4533b2:	8b 55 08             	mov    0x8(%ebp),%edx
4533b5:	56                   	push   %esi
4533b6:	8d 72 02             	lea    0x2(%edx),%esi
4533b9:	66 8b 02             	mov    (%edx),%ax
4533bc:	83 c2 02             	add    $0x2,%edx
4533bf:	66 85 c0             	test   %ax,%ax
4533c2:	75 f5                	jne    0x4533b9
4533c4:	2b d6                	sub    %esi,%edx
4533c6:	d1 fa                	sar    $1,%edx
4533c8:	52                   	push   %edx
4533c9:	ff 75 08             	push   0x8(%ebp)
4533cc:	e8 e5 09 00 00       	call   0x453db6
4533d1:	5e                   	pop    %esi
4533d2:	5d                   	pop    %ebp
4533d3:	c2 04 00             	ret    $0x4
4533d6:	8b ff                	mov    %edi,%edi
4533d8:	53                   	push   %ebx
4533d9:	57                   	push   %edi
4533da:	8b f9                	mov    %ecx,%edi
4533dc:	8b 1f                	mov    (%edi),%ebx
4533de:	85 db                	test   %ebx,%ebx
4533e0:	74 18                	je     0x4533fa
4533e2:	56                   	push   %esi
4533e3:	ff 15 b8 72 4a 00    	call   *0x4a72b8
4533e9:	53                   	push   %ebx
4533ea:	8b f0                	mov    %eax,%esi
4533ec:	ff 15 88 7e 4a 00    	call   *0x4a7e88
4533f2:	56                   	push   %esi
4533f3:	ff 15 98 72 4a 00    	call   *0x4a7298
4533f9:	5e                   	pop    %esi