4080d5:	8b 42 f8             	mov    -0x8(%edx),%eax
4080d8:	8d 72 f8             	lea    -0x8(%edx),%esi
4080db:	8b 40 04             	mov    0x4(%eax),%eax
4080de:	c7 44 10 f8 d0 ee 44 	movl   $0x44eed0,-0x8(%eax,%edx,1)
4080e5:	00
4080e6:	8b 06                	mov    (%esi),%eax
4080e8:	8b 48 04             	mov    0x4(%eax),%ecx
4080eb:	8d 41 f8             	lea    -0x8(%ecx),%eax
4080ee:	89 44 11 f4          	mov    %eax,-0xc(%ecx,%edx,1)
4080f2:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
4080f9:	52                   	push   %edx
4080fa:	c7 02 6c ee 44 00    	movl   $0x44ee6c,(%edx)
408100:	e8 5d 12 01 00       	call   0x419362
408105:	83 c4 04             	add    $0x4,%esp
408108:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
40810c:	74 0b                	je     0x408119
40810e:	6a 50                	push   $0x50
408110:	56                   	push   %esi
408111:	e8 a2 1a 01 00       	call   0x419bb8
408116:	83 c4 08             	add    $0x8,%esp
408119:	8b c6                	mov    %esi,%eax
40811b:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40811e:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
408125:	59                   	pop    %ecx
408126:	5e                   	pop    %esi
408127:	8b e5                	mov    %ebp,%esp
408129:	5d                   	pop    %ebp
40812a:	c2 04 00             	ret    $0x4
40812d:	cc                   	int3
40812e:	cc                   	int3
40812f:	cc                   	int3
408130:	cc                   	int3
408131:	cc                   	int3
408132:	cc                   	int3
408133:	cc                   	int3
408134:	cc                   	int3
408135:	cc                   	int3
408136:	cc                   	int3
408137:	cc                   	int3
408138:	cc                   	int3
408139:	cc                   	int3
40813a:	cc                   	int3
40813b:	cc                   	int3
40813c:	cc                   	int3
40813d:	cc                   	int3
40813e:	cc                   	int3
40813f:	cc                   	int3
408140:	55                   	push   %ebp
408141:	8b ec                	mov    %esp,%ebp
408143:	6a ff                	push   $0xffffffff
408145:	68 a0 bc 43 00       	push   $0x43bca0
40814a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
408150:	50                   	push   %eax
408151:	56                   	push   %esi
408152:	a1 14 50 45 00       	mov    0x455014,%eax
408157:	33 c5                	xor    %ebp,%eax
408159:	50                   	push   %eax
40815a:	8d 45 f4             	lea    -0xc(%ebp),%eax
40815d:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
408163:	8b d1                	mov    %ecx,%edx
408165:	8b 42 e8             	mov    -0x18(%edx),%eax
408168:	8d 72 e8             	lea    -0x18(%edx),%esi
40816b:	8b 40 04             	mov    0x4(%eax),%eax
40816e:	c7 44 10 e8 b8 ee 44 	movl   $0x44eeb8,-0x18(%eax,%edx,1)
408175:	00
408176:	8b 06                	mov    (%esi),%eax
408178:	8b 48 04             	mov    0x4(%eax),%ecx
40817b:	8d 41 e8             	lea    -0x18(%ecx),%eax
40817e:	89 44 11 e4          	mov    %eax,-0x1c(%ecx,%edx,1)
408182:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
408189:	52                   	push   %edx
40818a:	c7 02 6c ee 44 00    	movl   $0x44ee6c,(%edx)
408190:	e8 cd 11 01 00       	call   0x419362
408195:	83 c4 04             	add    $0x4,%esp
408198:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
40819c:	74 0b                	je     0x4081a9
40819e:	6a 60                	push   $0x60
4081a0:	56                   	push   %esi
4081a1:	e8 12 1a 01 00       	call   0x419bb8
4081a6:	83 c4 08             	add    $0x8,%esp
4081a9:	8b c6                	mov    %esi,%eax
4081ab:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4081ae:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4081b5:	59                   	pop    %ecx
4081b6:	5e                   	pop    %esi
4081b7:	8b e5                	mov    %ebp,%esp
4081b9:	5d                   	pop    %ebp
4081ba:	c2 04 00             	ret    $0x4
4081bd:	cc                   	int3
4081be:	cc                   	int3
4081bf:	cc                   	int3
4081c0:	cc                   	int3
4081c1:	cc                   	int3
4081c2:	cc                   	int3
4081c3:	cc                   	int3
4081c4:	cc                   	int3
4081c5:	cc                   	int3
4081c6:	cc                   	int3
4081c7:	cc                   	int3
4081c8:	cc                   	int3
4081c9:	cc                   	int3
4081ca:	cc                   	int3
4081cb:	cc                   	int3
4081cc:	cc                   	int3
4081cd:	cc                   	int3
4081ce:	cc                   	int3
4081cf:	cc                   	int3
4081d0:	55                   	push   %ebp
4081d1:	8b ec                	mov    %esp,%ebp
4081d3:	6a ff                	push   $0xffffffff
4081d5:	68 a0 bc 43 00       	push   $0x43bca0
4081da:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
4081e0:	50                   	push   %eax
4081e1:	56                   	push   %esi
4081e2:	a1 14 50 45 00       	mov    0x455014,%eax
4081e7:	33 c5                	xor    %ebp,%eax
4081e9:	50                   	push   %eax
4081ea:	8d 45 f4             	lea    -0xc(%ebp),%eax
4081ed:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
4081f3:	8b f1                	mov    %ecx,%esi
4081f5:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
4081fc:	56                   	push   %esi
4081fd:	c7 06 6c ee 44 00    	movl   $0x44ee6c,(%esi)
408203:	e8 5a 11 01 00       	call   0x419362
408208:	83 c4 04             	add    $0x4,%esp
40820b:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
40820f:	74 0b                	je     0x40821c
408211:	6a 48                	push   $0x48
408213:	56                   	push   %esi
408214:	e8 9f 19 01 00       	call   0x419bb8
408219:	83 c4 08             	add    $0x8,%esp
40821c:	8b c6                	mov    %esi,%eax
40821e:	8b 4d f4             	mov    -0xc(%ebp),%ecx
408221:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
408228:	59                   	pop    %ecx
408229:	5e                   	pop    %esi
40822a:	8b e5                	mov    %ebp,%esp
40822c:	5d                   	pop    %ebp
40822d:	c2 04 00             	ret    $0x4
408230:	cc                   	int3
408231:	cc                   	int3
408232:	cc                   	int3
408233:	cc                   	int3
408234:	cc                   	int3
408235:	cc                   	int3
408236:	cc                   	int3
408237:	cc                   	int3
408238:	cc                   	int3
408239:	cc                   	int3
40823a:	cc                   	int3
40823b:	cc                   	int3
40823c:	cc                   	int3
40823d:	cc                   	int3
40823e:	cc                   	int3
40823f:	cc                   	int3
408240:	55                   	push   %ebp
408241:	8b ec                	mov    %esp,%ebp
408243:	83 e4 f8             	and    $0xfffffff8,%esp
408246:	83 ec 4c             	sub    $0x4c,%esp
408249:	a1 14 50 45 00       	mov    0x455014,%eax
40824e:	33 c4                	xor    %esp,%eax
408250:	89 44 24 48          	mov    %eax,0x48(%esp)
408254:	8b 45 1c             	mov    0x1c(%ebp),%eax
408257:	53                   	push   %ebx
408258:	8b 5d 08             	mov    0x8(%ebp),%ebx
40825b:	56                   	push   %esi
40825c:	8b 75 14             	mov    0x14(%ebp),%esi
40825f:	57                   	push   %edi
408260:	50                   	push   %eax
408261:	68 a0 ee 44 00       	push   $0x44eea0
408266:	8d 44 24 18          	lea    0x18(%esp),%eax
40826a:	8b f9                	mov    %ecx,%edi
40826c:	6a 40                	push   $0x40
40826e:	50                   	push   %eax
40826f:	e8 bc e6 ff ff       	call   0x406930
408274:	50                   	push   %eax
408275:	8d 44 24 24          	lea    0x24(%esp),%eax
408279:	50                   	push   %eax
40827a:	ff 75 18             	push   0x18(%ebp)
40827d:	56                   	push   %esi
40827e:	ff 75 10             	push   0x10(%ebp)
408281:	ff 75 0c             	push   0xc(%ebp)
408284:	53                   	push   %ebx
408285:	57                   	push   %edi
408286:	e8 c5 0d 00 00       	call   0x409050
40828b:	8b 8c 24 84 00 00 00 	mov    0x84(%esp),%ecx
408292:	83 c4 30             	add    $0x30,%esp
408295:	8b c3                	mov    %ebx,%eax
408297:	5f                   	pop    %edi
408298:	5e                   	pop    %esi
408299:	5b                   	pop    %ebx
40829a:	33 cc                	xor    %esp,%ecx
40829c:	e8 09 19 01 00       	call   0x419baa
4082a1:	8b e5                	mov    %ebp,%esp
4082a3:	5d                   	pop    %ebp
4082a4:	c2 18 00             	ret    $0x18
4082a7:	cc                   	int3
4082a8:	cc                   	int3
4082a9:	cc                   	int3
4082aa:	cc                   	int3
4082ab:	cc                   	int3
4082ac:	cc                   	int3
4082ad:	cc                   	int3
4082ae:	cc                   	int3
4082af:	cc                   	int3
4082b0:	55                   	push   %ebp
4082b1:	8b ec                	mov    %esp,%ebp
4082b3:	6a ff                	push   $0xffffffff
4082b5:	68 8d be 43 00       	push   $0x43be8d
4082ba:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
4082c0:	50                   	push   %eax
4082c1:	83 ec 3c             	sub    $0x3c,%esp
4082c4:	a1 14 50 45 00       	mov    0x455014,%eax
4082c9:	33 c5                	xor    %ebp,%eax
4082cb:	89 45 f0             	mov    %eax,-0x10(%ebp)
4082ce:	56                   	push   %esi
4082cf:	57                   	push   %edi
4082d0:	50                   	push   %eax
4082d1:	8d 45 f4             	lea    -0xc(%ebp),%eax
4082d4:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
4082da:	89 4d bc             	mov    %ecx,-0x44(%ebp)
4082dd:	8b 45 08             	mov    0x8(%ebp),%eax
4082e0:	8b 55 14             	mov    0x14(%ebp),%edx
4082e3:	c7 45 d0 00 00 00 00 	movl   $0x0,-0x30(%ebp)
4082ea:	89 45 b8             	mov    %eax,-0x48(%ebp)
4082ed:	89 55 c0             	mov    %edx,-0x40(%ebp)
4082f0:	c7 45 e0 00 00 00 00 	movl   $0x0,-0x20(%ebp)
4082f7:	c7 45 e4 0f 00 00 00 	movl   $0xf,-0x1c(%ebp)
4082fe:	c6 45 d0 00          	movb   $0x0,-0x30(%ebp)
408302:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
408309:	8b 4a 14             	mov    0x14(%edx),%ecx
40830c:	81 e1 00 30 00 00    	and    $0x3000,%ecx
408312:	81 f9 00 30 00 00    	cmp    $0x3000,%ecx
408318:	75 18                	jne    0x408332
40831a:	c7 45 c4 ff ff ff ff 	movl   $0xffffffff,-0x3c(%ebp)
408321:	be 0d 00 00 00       	mov    $0xd,%esi
408326:	c7 45 cc ff ff ff ff 	movl   $0xffffffff,-0x34(%ebp)
40832d:	e9 85 00 00 00       	jmp    0x4083b7
408332:	8b 42 18             	mov    0x18(%edx),%eax
408335:	8b 52 1c             	mov    0x1c(%edx),%edx
408338:	89 45 c4             	mov    %eax,-0x3c(%ebp)
40833b:	85 d2                	test   %edx,%edx
40833d:	7c 0a                	jl     0x408349
40833f:	7f 04                	jg     0x408345
408341:	85 c0                	test   %eax,%eax
408343:	74 04                	je     0x408349
408345:	8b f0                	mov    %eax,%esi
408347:	eb 16                	jmp    0x40835f
408349:	0b c2                	or     %edx,%eax
40834b:	75 0d                	jne    0x40835a
40834d:	85 c9                	test   %ecx,%ecx
40834f:	75 05                	jne    0x408356
408351:	8d 70 01             	lea    0x1(%eax),%esi
408354:	eb 61                	jmp    0x4083b7
408356:	33 f6                	xor    %esi,%esi
408358:	eb 05                	jmp    0x40835f
40835a:	be 06 00 00 00       	mov    $0x6,%esi
40835f:	81 f9 00 20 00 00    	cmp    $0x2000,%ecx
408365:	75 50                	jne    0x4083b7
408367:	f2 0f 10 4d 1c       	movsd  0x1c(%ebp),%xmm1
40836c:	0f 28 c1             	movaps %xmm1,%xmm0
40836f:	0f 54 05 60 00 45 00 	andps  0x450060,%xmm0
408376:	66 0f 2f 05 50 00 45 	comisd 0x450050,%xmm0
40837d:	00
40837e:	76 37                	jbe    0x4083b7
408380:	8d 45 cc             	lea    -0x34(%ebp),%eax
408383:	50                   	push   %eax
408384:	83 ec 08             	sub    $0x8,%esp
408387:	f2 0f 11 0c 24       	movsd  %xmm1,(%esp)
40838c:	e8 d1 c5 01 00       	call   0x424962
408391:	8b 45 cc             	mov    -0x34(%ebp),%eax
408394:	83 c4 0c             	add    $0xc,%esp
408397:	99                   	cltd
408398:	dd d8                	fstp   %st(0)
40839a:	33 c2                	xor    %edx,%eax
40839c:	2b c2                	sub    %edx,%eax
40839e:	69 c8 97 75 00 00    	imul   $0x7597,%eax,%ecx
4083a4:	b8 89 b5 f8 14       	mov    $0x14f8b589,%eax
4083a9:	f7 e9                	imul   %ecx
4083ab:	c1 fa 0d             	sar    $0xd,%edx
4083ae:	8b c2                	mov    %edx,%eax
4083b0:	c1 e8 1f             	shr    $0x1f,%eax
4083b3:	03 c2                	add    %edx,%eax
4083b5:	03 f0                	add    %eax,%esi
4083b7:	6a 00                	push   $0x0
4083b9:	8d 46 32             	lea    0x32(%esi),%eax
4083bc:	50                   	push   %eax
4083bd:	8d 4d d0             	lea    -0x30(%ebp),%ecx
4083c0:	e8 5b 1a 00 00       	call   0x409e20
4083c5:	83 7d e4 10          	cmpl   $0x10,-0x1c(%ebp)
4083c9:	8d 7d d0             	lea    -0x30(%ebp),%edi
4083cc:	f2 0f 10 45 1c       	movsd  0x1c(%ebp),%xmm0
4083d1:	0f 43 7d d0          	cmovae -0x30(%ebp),%edi
4083d5:	83 ec 08             	sub    $0x8,%esp
4083d8:	8b 45 c0             	mov    -0x40(%ebp),%eax
4083db:	8b 75 e0             	mov    -0x20(%ebp),%esi
4083de:	f2 0f 11 04 24       	movsd  %xmm0,(%esp)
4083e3:	ff 75 c4             	push   -0x3c(%ebp)
4083e6:	ff 70 14             	push   0x14(%eax)
4083e9:	8d 45 e8             	lea    -0x18(%ebp),%eax
4083ec:	6a 4c                	push   $0x4c
4083ee:	50                   	push   %eax
4083ef:	ff 75 bc             	push   -0x44(%ebp)
4083f2:	e8 79 15 00 00       	call   0x409970
4083f7:	83 c4 10             	add    $0x10,%esp
4083fa:	50                   	push   %eax
4083fb:	56                   	push   %esi
4083fc:	57                   	push   %edi
4083fd:	e8 2e e5 ff ff       	call   0x406930
408402:	83 7d e4 10          	cmpl   $0x10,-0x1c(%ebp)
408406:	8d 4d d0             	lea    -0x30(%ebp),%ecx
408409:	8b 75 b8             	mov    -0x48(%ebp),%esi
40840c:	0f 43 4d d0          	cmovae -0x30(%ebp),%ecx
408410:	50                   	push   %eax
408411:	51                   	push   %ecx
408412:	ff 75 18             	push   0x18(%ebp)
408415:	ff 75 c0             	push   -0x40(%ebp)
408418:	ff 75 10             	push   0x10(%ebp)
40841b:	ff 75 0c             	push   0xc(%ebp)
40841e:	56                   	push   %esi
40841f:	ff 75 bc             	push   -0x44(%ebp)
408422:	e8 89 10 00 00       	call   0x4094b0
408427:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
40842a:	83 c4 38             	add    $0x38,%esp
40842d:	83 f9 10             	cmp    $0x10,%ecx
408430:	72 28                	jb     0x40845a
408432:	8b 55 d0             	mov    -0x30(%ebp),%edx
408435:	41                   	inc    %ecx
408436:	8b c2                	mov    %edx,%eax
408438:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
40843e:	72 10                	jb     0x408450
408440:	8b 50 fc             	mov    -0x4(%eax),%edx
408443:	83 c1 23             	add    $0x23,%ecx
408446:	2b c2                	sub    %edx,%eax
408448:	83 c0 fc             	add    $0xfffffffc,%eax
40844b:	83 f8 1f             	cmp    $0x1f,%eax
40844e:	77 29                	ja     0x408479
408450:	51                   	push   %ecx
408451:	52                   	push   %edx
408452:	e8 61 17 01 00       	call   0x419bb8
408457:	83 c4 08             	add    $0x8,%esp
40845a:	8b c6                	mov    %esi,%eax
40845c:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40845f:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
408466:	59                   	pop    %ecx
408467:	5f                   	pop    %edi
408468:	5e                   	pop    %esi
408469:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40846c:	33 cd                	xor    %ebp,%ecx
40846e:	e8 37 17 01 00       	call   0x419baa