4160dd:	68 78 ed 44 00       	push   $0x44ed78
4160e2:	51                   	push   %ecx
4160e3:	50                   	push   %eax
4160e4:	51                   	push   %ecx
4160e5:	ff b5 6c ff ff ff    	push   -0x94(%ebp)
4160eb:	8d 4d c0             	lea    -0x40(%ebp),%ecx
4160ee:	e8 7d 6d ff ff       	call   0x40ce70
4160f3:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
4160f7:	b8 fe ff ff 7f       	mov    $0x7ffffffe,%eax
4160fc:	8b 4d d0             	mov    -0x30(%ebp),%ecx
4160ff:	2b c1                	sub    %ecx,%eax
416101:	83 f8 02             	cmp    $0x2,%eax
416104:	0f 82 11 04 00 00    	jb     0x41651b
41610a:	83 7d d4 08          	cmpl   $0x8,-0x2c(%ebp)
41610e:	8d 45 c0             	lea    -0x40(%ebp),%eax
416111:	51                   	push   %ecx
416112:	0f 43 45 c0          	cmovae -0x40(%ebp),%eax
416116:	50                   	push   %eax
416117:	6a 02                	push   $0x2
416119:	68 7c ed 44 00       	push   $0x44ed7c
41611e:	51                   	push   %ecx
41611f:	ff b5 6c ff ff ff    	push   -0x94(%ebp)
416125:	8d 4d a8             	lea    -0x58(%ebp),%ecx
416128:	e8 43 6d ff ff       	call   0x40ce70
41612d:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
416131:	b8 fe ff ff 7f       	mov    $0x7ffffffe,%eax
416136:	8b 4d d0             	mov    -0x30(%ebp),%ecx
416139:	2b c1                	sub    %ecx,%eax
41613b:	83 f8 01             	cmp    $0x1,%eax
41613e:	0f 82 d7 03 00 00    	jb     0x41651b
416144:	83 7d d4 08          	cmpl   $0x8,-0x2c(%ebp)
416148:	8d 45 c0             	lea    -0x40(%ebp),%eax
41614b:	51                   	push   %ecx
41614c:	0f 43 45 c0          	cmovae -0x40(%ebp),%eax
416150:	50                   	push   %eax
416151:	6a 01                	push   $0x1
416153:	68 84 ed 44 00       	push   $0x44ed84
416158:	51                   	push   %ecx
416159:	ff b5 6c ff ff ff    	push   -0x94(%ebp)
41615f:	8d 8d 4c ff ff ff    	lea    -0xb4(%ebp),%ecx
416165:	e8 06 6d ff ff       	call   0x40ce70
41616a:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
41616d:	83 f9 08             	cmp    $0x8,%ecx
416170:	72 32                	jb     0x4161a4
416172:	8b 55 c0             	mov    -0x40(%ebp),%edx
416175:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
41617c:	8b c2                	mov    %edx,%eax
41617e:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
416184:	72 14                	jb     0x41619a
416186:	8b 50 fc             	mov    -0x4(%eax),%edx
416189:	83 c1 23             	add    $0x23,%ecx
41618c:	2b c2                	sub    %edx,%eax
41618e:	83 c0 fc             	add    $0xfffffffc,%eax
416191:	83 f8 1f             	cmp    $0x1f,%eax
416194:	0f 87 7c 03 00 00    	ja     0x416516
41619a:	51                   	push   %ecx
41619b:	52                   	push   %edx
41619c:	e8 6d 57 00 00       	call   0x41b90e
4161a1:	83 c4 08             	add    $0x8,%esp
4161a4:	0f 10 8d 4c ff ff ff 	movups -0xb4(%ebp),%xmm1
4161ab:	83 bd 60 ff ff ff 08 	cmpl   $0x8,-0xa0(%ebp)
4161b2:	8d 4d c0             	lea    -0x40(%ebp),%ecx
4161b5:	8b 7d e8             	mov    -0x18(%ebp),%edi
4161b8:	8d 55 d8             	lea    -0x28(%ebp),%edx
4161bb:	f3 0f 7e 85 5c ff ff 	movq   -0xa4(%ebp),%xmm0
4161c2:	ff
4161c3:	0f 93 45 86          	setae  -0x7a(%ebp)
4161c7:	66 0f 7e c8          	movd   %xmm1,%eax
4161cb:	0f 11 4d c0          	movups %xmm1,-0x40(%ebp)
4161cf:	89 bd 7c ff ff ff    	mov    %edi,-0x84(%ebp)
4161d5:	0f 43 c8             	cmovae %eax,%ecx
4161d8:	89 85 6c ff ff ff    	mov    %eax,-0x94(%ebp)
4161de:	83 7d ec 08          	cmpl   $0x8,-0x14(%ebp)
4161e2:	8b 45 a8             	mov    -0x58(%ebp),%eax
4161e5:	0f 43 55 d8          	cmovae -0x28(%ebp),%edx
4161e9:	0f 93 45 87          	setae  -0x79(%ebp)
4161ed:	66 0f d6 45 d0       	movq   %xmm0,-0x30(%ebp)
4161f2:	89 4d 80             	mov    %ecx,-0x80(%ebp)
4161f5:	89 95 74 ff ff ff    	mov    %edx,-0x8c(%ebp)
4161fb:	89 45 8c             	mov    %eax,-0x74(%ebp)
4161fe:	39 bd 5c ff ff ff    	cmp    %edi,-0xa4(%ebp)
416204:	0f 87 e7 01 00 00    	ja     0x4163f1
41620a:	8b c7                	mov    %edi,%eax
41620c:	2b 85 5c ff ff ff    	sub    -0xa4(%ebp),%eax
416212:	83 bd 5c ff ff ff 00 	cmpl   $0x0,-0xa4(%ebp)
416219:	75 0a                	jne    0x416225
41621b:	33 d2                	xor    %edx,%edx
41621d:	89 55 88             	mov    %edx,-0x78(%ebp)
416220:	e9 89 00 00 00       	jmp    0x4162ae
416225:	40                   	inc    %eax
416226:	8d 04 42             	lea    (%edx,%eax,2),%eax
416229:	89 85 78 ff ff ff    	mov    %eax,-0x88(%ebp)
41622f:	90                   	nop
416230:	2b c2                	sub    %edx,%eax
416232:	d1 f8                	sar    $1,%eax
416234:	0f 84 b4 01 00 00    	je     0x4163ee
41623a:	0f b7 09             	movzwl (%ecx),%ecx
41623d:	0f 1f 00             	nopl   (%eax)
416240:	66 39 0a             	cmp    %cx,(%edx)
416243:	74 0d                	je     0x416252
416245:	83 c2 02             	add    $0x2,%edx
416248:	83 e8 01             	sub    $0x1,%eax
41624b:	75 f3                	jne    0x416240
41624d:	e9 9c 01 00 00       	jmp    0x4163ee
416252:	85 d2                	test   %edx,%edx
416254:	0f 84 94 01 00 00    	je     0x4163ee
41625a:	8b bd 5c ff ff ff    	mov    -0xa4(%ebp),%edi
416260:	8b 4d 80             	mov    -0x80(%ebp),%ecx
416263:	85 ff                	test   %edi,%edi
416265:	74 2d                	je     0x416294
416267:	8b c2                	mov    %edx,%eax
416269:	2b c1                	sub    %ecx,%eax
41626b:	89 45 88             	mov    %eax,-0x78(%ebp)
41626e:	66 90                	xchg   %ax,%ax
416270:	66 8b 04 01          	mov    (%ecx,%eax,1),%ax
416274:	66 3b 01             	cmp    (%ecx),%ax
416277:	75 0d                	jne    0x416286
416279:	83 c1 02             	add    $0x2,%ecx
41627c:	83 ef 01             	sub    $0x1,%edi
41627f:	74 13                	je     0x416294
416281:	8b 45 88             	mov    -0x78(%ebp),%eax
416284:	eb ea                	jmp    0x416270
416286:	8b 4d 80             	mov    -0x80(%ebp),%ecx
416289:	83 c2 02             	add    $0x2,%edx
41628c:	8b 85 78 ff ff ff    	mov    -0x88(%ebp),%eax
416292:	eb 9c                	jmp    0x416230
416294:	2b 95 74 ff ff ff    	sub    -0x8c(%ebp),%edx
41629a:	d1 fa                	sar    $1,%edx
41629c:	89 55 88             	mov    %edx,-0x78(%ebp)
41629f:	83 fa ff             	cmp    $0xffffffff,%edx
4162a2:	0f 84 46 01 00 00    	je     0x4163ee
4162a8:	8b bd 7c ff ff ff    	mov    -0x84(%ebp),%edi
4162ae:	83 7d bc 08          	cmpl   $0x8,-0x44(%ebp)
4162b2:	8d 4d a8             	lea    -0x58(%ebp),%ecx
4162b5:	8d 45 d8             	lea    -0x28(%ebp),%eax
4162b8:	0f 43 4d 8c          	cmovae -0x74(%ebp),%ecx
4162bc:	80 7d 87 00          	cmpb   $0x0,-0x79(%ebp)
4162c0:	89 4d 80             	mov    %ecx,-0x80(%ebp)
4162c3:	0f 45 45 d8          	cmovne -0x28(%ebp),%eax
4162c7:	89 85 74 ff ff ff    	mov    %eax,-0x8c(%ebp)
4162cd:	8b 45 b8             	mov    -0x48(%ebp),%eax
4162d0:	3b c7                	cmp    %edi,%eax
4162d2:	0f 87 16 01 00 00    	ja     0x4163ee
4162d8:	2b f8                	sub    %eax,%edi
4162da:	85 c0                	test   %eax,%eax
4162dc:	75 07                	jne    0x4162e5
4162de:	33 ff                	xor    %edi,%edi
4162e0:	e9 97 00 00 00       	jmp    0x41637c
4162e5:	8b 85 74 ff ff ff    	mov    -0x8c(%ebp),%eax
4162eb:	8d 04 78             	lea    (%eax,%edi,2),%eax
4162ee:	8b bd 74 ff ff ff    	mov    -0x8c(%ebp),%edi
4162f4:	83 c0 02             	add    $0x2,%eax
4162f7:	89 85 70 ff ff ff    	mov    %eax,-0x90(%ebp)
4162fd:	0f 1f 00             	nopl   (%eax)
416300:	2b c7                	sub    %edi,%eax
416302:	d1 f8                	sar    $1,%eax
416304:	0f 84 e4 00 00 00    	je     0x4163ee
41630a:	0f b7 09             	movzwl (%ecx),%ecx
41630d:	0f 1f 00             	nopl   (%eax)
416310:	66 39 0f             	cmp    %cx,(%edi)
416313:	74 0d                	je     0x416322
416315:	83 c7 02             	add    $0x2,%edi
416318:	83 e8 01             	sub    $0x1,%eax
41631b:	75 f3                	jne    0x416310
41631d:	e9 cc 00 00 00       	jmp    0x4163ee
416322:	85 ff                	test   %edi,%edi
416324:	0f 84 c4 00 00 00    	je     0x4163ee
41632a:	8b 45 b8             	mov    -0x48(%ebp),%eax
41632d:	8b 4d 80             	mov    -0x80(%ebp),%ecx
416330:	89 85 78 ff ff ff    	mov    %eax,-0x88(%ebp)
416336:	85 c0                	test   %eax,%eax
416338:	74 35                	je     0x41636f
41633a:	8b c7                	mov    %edi,%eax
41633c:	2b c1                	sub    %ecx,%eax
41633e:	89 85 7c ff ff ff    	mov    %eax,-0x84(%ebp)
416344:	66 8b 04 01          	mov    (%ecx,%eax,1),%ax
416348:	66 3b 01             	cmp    (%ecx),%ax
41634b:	75 14                	jne    0x416361
41634d:	83 c1 02             	add    $0x2,%ecx
416350:	83 ad 78 ff ff ff 01 	subl   $0x1,-0x88(%ebp)
416357:	74 16                	je     0x41636f
416359:	8b 85 7c ff ff ff    	mov    -0x84(%ebp),%eax
41635f:	eb e3                	jmp    0x416344
416361:	8b 4d 80             	mov    -0x80(%ebp),%ecx
416364:	83 c7 02             	add    $0x2,%edi
416367:	8b 85 70 ff ff ff    	mov    -0x90(%ebp),%eax
41636d:	eb 91                	jmp    0x416300
41636f:	2b bd 74 ff ff ff    	sub    -0x8c(%ebp),%edi
416375:	d1 ff                	sar    $1,%edi
416377:	83 ff ff             	cmp    $0xffffffff,%edi
41637a:	74 72                	je     0x4163ee
41637c:	8b 8d 5c ff ff ff    	mov    -0xa4(%ebp),%ecx
416382:	8d 04 11             	lea    (%ecx,%edx,1),%eax
416385:	3b c7                	cmp    %edi,%eax
416387:	74 65                	je     0x4163ee
416389:	8d 85 70 ff ff ff    	lea    -0x90(%ebp),%eax
41638f:	89 8d 70 ff ff ff    	mov    %ecx,-0x90(%ebp)
416395:	50                   	push   %eax
416396:	8d 85 7c ff ff ff    	lea    -0x84(%ebp),%eax
41639c:	89 bd 7c ff ff ff    	mov    %edi,-0x84(%ebp)
4163a2:	50                   	push   %eax
4163a3:	8d 85 78 ff ff ff    	lea    -0x88(%ebp),%eax
4163a9:	89 95 78 ff ff ff    	mov    %edx,-0x88(%ebp)
4163af:	50                   	push   %eax
4163b0:	ff b5 64 ff ff ff    	push   -0x9c(%ebp)
4163b6:	e8 25 f9 ff ff       	call   0x415ce0
4163bb:	8b 85 5c ff ff ff    	mov    -0xa4(%ebp),%eax
4163c1:	89 85 70 ff ff ff    	mov    %eax,-0x90(%ebp)
4163c7:	8b 45 88             	mov    -0x78(%ebp),%eax
4163ca:	89 45 88             	mov    %eax,-0x78(%ebp)
4163cd:	8d 85 70 ff ff ff    	lea    -0x90(%ebp),%eax
4163d3:	50                   	push   %eax
4163d4:	8d 85 7c ff ff ff    	lea    -0x84(%ebp),%eax
4163da:	89 bd 7c ff ff ff    	mov    %edi,-0x84(%ebp)
4163e0:	50                   	push   %eax
4163e1:	8d 45 88             	lea    -0x78(%ebp),%eax
4163e4:	50                   	push   %eax
4163e5:	8d 45 d8             	lea    -0x28(%ebp),%eax
4163e8:	50                   	push   %eax
4163e9:	e8 f2 f8 ff ff       	call   0x415ce0
4163ee:	8b 45 8c             	mov    -0x74(%ebp),%eax
4163f1:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
4163f5:	8b 4d bc             	mov    -0x44(%ebp),%ecx
4163f8:	83 f9 08             	cmp    $0x8,%ecx
4163fb:	72 32                	jb     0x41642f
4163fd:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
416404:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
41640a:	72 16                	jb     0x416422
41640c:	8b 50 fc             	mov    -0x4(%eax),%edx
41640f:	83 c1 23             	add    $0x23,%ecx
416412:	2b c2                	sub    %edx,%eax
416414:	83 c0 fc             	add    $0xfffffffc,%eax
416417:	83 f8 1f             	cmp    $0x1f,%eax
41641a:	0f 87 f6 00 00 00    	ja     0x416516
416420:	eb 03                	jmp    0x416425
416422:	8b 55 8c             	mov    -0x74(%ebp),%edx
416425:	51                   	push   %ecx
416426:	52                   	push   %edx
416427:	e8 e2 54 00 00       	call   0x41b90e
41642c:	83 c4 08             	add    $0x8,%esp
41642f:	80 7d 86 00          	cmpb   $0x0,-0x7a(%ebp)
416433:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
416437:	74 3b                	je     0x416474
416439:	8b 8d 60 ff ff ff    	mov    -0xa0(%ebp),%ecx
41643f:	8b 95 6c ff ff ff    	mov    -0x94(%ebp),%edx
416445:	8b c2                	mov    %edx,%eax
416447:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
41644e:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
416454:	72 14                	jb     0x41646a
416456:	8b 50 fc             	mov    -0x4(%eax),%edx
416459:	83 c1 23             	add    $0x23,%ecx
41645c:	2b c2                	sub    %edx,%eax
41645e:	83 c0 fc             	add    $0xfffffffc,%eax
416461:	83 f8 1f             	cmp    $0x1f,%eax
416464:	0f 87 ac 00 00 00    	ja     0x416516
41646a:	51                   	push   %ecx
41646b:	52                   	push   %edx
41646c:	e8 9d 54 00 00       	call   0x41b90e
416471:	83 c4 08             	add    $0x8,%esp
416474:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
416478:	8b 4d a4             	mov    -0x5c(%ebp),%ecx
41647b:	83 f9 08             	cmp    $0x8,%ecx
41647e:	72 2e                	jb     0x4164ae
416480:	8b 55 90             	mov    -0x70(%ebp),%edx
416483:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
41648a:	8b c2                	mov    %edx,%eax
41648c:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
416492:	72 10                	jb     0x4164a4
416494:	8b 50 fc             	mov    -0x4(%eax),%edx
416497:	83 c1 23             	add    $0x23,%ecx
41649a:	2b c2                	sub    %edx,%eax
41649c:	83 c0 fc             	add    $0xfffffffc,%eax
41649f:	83 f8 1f             	cmp    $0x1f,%eax
4164a2:	77 72                	ja     0x416516
4164a4:	51                   	push   %ecx
4164a5:	52                   	push   %edx
4164a6:	e8 63 54 00 00       	call   0x41b90e
4164ab:	83 c4 08             	add    $0x8,%esp
4164ae:	8b 85 68 ff ff ff    	mov    -0x98(%ebp),%eax
4164b4:	83 c6 18             	add    $0x18,%esi
4164b7:	3b b0 04 01 00 00    	cmp    0x104(%eax),%esi
4164bd:	0f 85 ed fb ff ff    	jne    0x4160b0
4164c3:	8b 45 ec             	mov    -0x14(%ebp),%eax
4164c6:	83 f8 08             	cmp    $0x8,%eax
4164c9:	72 2e                	jb     0x4164f9
4164cb:	8b 55 d8             	mov    -0x28(%ebp),%edx
4164ce:	8d 0c 45 02 00 00 00 	lea    0x2(,%eax,2),%ecx
4164d5:	8b c2                	mov    %edx,%eax
4164d7:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
4164dd:	72 10                	jb     0x4164ef
4164df:	8b 50 fc             	mov    -0x4(%eax),%edx
4164e2:	83 c1 23             	add    $0x23,%ecx
4164e5:	2b c2                	sub    %edx,%eax
4164e7:	83 c0 fc             	add    $0xfffffffc,%eax
4164ea:	83 f8 1f             	cmp    $0x1f,%eax
4164ed:	77 27                	ja     0x416516
4164ef:	51                   	push   %ecx
4164f0:	52                   	push   %edx
4164f1:	e8 18 54 00 00       	call   0x41b90e
4164f6:	83 c4 08             	add    $0x8,%esp
4164f9:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4164fc:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
416503:	59                   	pop    %ecx
416504:	5f                   	pop    %edi
416505:	5e                   	pop    %esi
416506:	8b 4d f0             	mov    -0x10(%ebp),%ecx
416509:	33 cd                	xor    %ebp,%ecx
41650b:	e8 c0 53 00 00       	call   0x41b8d0
416510:	8b e5                	mov    %ebp,%esp
416512:	5d                   	pop    %ebp
416513:	c2 08 00             	ret    $0x8
416516:	e8 64 a5 00 00       	call   0x420a7f
41651b:	e8 80 ad fe ff       	call   0x4012a0
416520:	cc                   	int3
416521:	cc                   	int3
416522:	cc                   	int3
416523:	cc                   	int3
416524:	cc                   	int3
416525:	cc                   	int3
416526:	cc                   	int3
416527:	cc                   	int3
416528:	cc                   	int3
416529:	cc                   	int3
41652a:	cc                   	int3
41652b:	cc                   	int3
41652c:	cc                   	int3
41652d:	cc                   	int3
41652e:	cc                   	int3
41652f:	cc                   	int3
416530:	55                   	push   %ebp
416531:	8b ec                	mov    %esp,%ebp
416533:	6a ff                	push   $0xffffffff
416535:	68 35 e4 43 00       	push   $0x43e435
41653a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
416540:	50                   	push   %eax
416541:	83 ec 78             	sub    $0x78,%esp
416544:	a1 14 40 45 00       	mov    0x454014,%eax
416549:	33 c5                	xor    %ebp,%eax
41654b:	89 45 f0             	mov    %eax,-0x10(%ebp)
41654e:	53                   	push   %ebx
41654f:	56                   	push   %esi
416550:	57                   	push   %edi
416551:	50                   	push   %eax
416552:	8d 45 f4             	lea    -0xc(%ebp),%eax
416555:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
41655b:	8b d9                	mov    %ecx,%ebx
41655d:	89 5d 90             	mov    %ebx,-0x70(%ebp)
416560:	8b 45 0c             	mov    0xc(%ebp),%eax
416563:	8d 4d 98             	lea    -0x68(%ebp),%ecx
416566:	8b 7d 1c             	mov    0x1c(%ebp),%edi