4090fc:	83 c0 10             	add    $0x10,%eax
4090ff:	c3                   	ret
409100:	e8 27 03 00 00       	call   0x40942c
409105:	83 c0 14             	add    $0x14,%eax
409108:	c3                   	ret
409109:	cc                   	int3
40910a:	cc                   	int3
40910b:	cc                   	int3
40910c:	cc                   	int3
40910d:	cc                   	int3
40910e:	cc                   	int3
40910f:	cc                   	int3
409110:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
409114:	0f b6 44 24 08       	movzbl 0x8(%esp),%eax
409119:	8b d7                	mov    %edi,%edx
40911b:	8b 7c 24 04          	mov    0x4(%esp),%edi
40911f:	85 c9                	test   %ecx,%ecx
409121:	0f 84 3c 01 00 00    	je     0x409263
409127:	69 c0 01 01 01 01    	imul   $0x1010101,%eax,%eax
40912d:	83 f9 20             	cmp    $0x20,%ecx
409130:	0f 86 df 00 00 00    	jbe    0x409215
409136:	81 f9 80 00 00 00    	cmp    $0x80,%ecx
40913c:	0f 82 8b 00 00 00    	jb     0x4091cd
409142:	0f ba 25 68 69 42 00 	btl    $0x1,0x426968
409149:	01
40914a:	73 09                	jae    0x409155
40914c:	f3 aa                	rep stos %al,%es:(%edi)
40914e:	8b 44 24 04          	mov    0x4(%esp),%eax
409152:	8b fa                	mov    %edx,%edi
409154:	c3                   	ret
409155:	0f ba 25 10 60 42 00 	btl    $0x1,0x426010
40915c:	01
40915d:	0f 83 b2 00 00 00    	jae    0x409215
409163:	66 0f 6e c0          	movd   %eax,%xmm0
409167:	66 0f 70 c0 00       	pshufd $0x0,%xmm0,%xmm0
40916c:	03 cf                	add    %edi,%ecx
40916e:	0f 11 07             	movups %xmm0,(%edi)
409171:	83 c7 10             	add    $0x10,%edi
409174:	83 e7 f0             	and    $0xfffffff0,%edi
409177:	2b cf                	sub    %edi,%ecx
409179:	81 f9 80 00 00 00    	cmp    $0x80,%ecx
40917f:	76 4c                	jbe    0x4091cd
409181:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
409188:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
40918f:	90                   	nop
409190:	66 0f 7f 07          	movdqa %xmm0,(%edi)
409194:	66 0f 7f 47 10       	movdqa %xmm0,0x10(%edi)
409199:	66 0f 7f 47 20       	movdqa %xmm0,0x20(%edi)
40919e:	66 0f 7f 47 30       	movdqa %xmm0,0x30(%edi)
4091a3:	66 0f 7f 47 40       	movdqa %xmm0,0x40(%edi)
4091a8:	66 0f 7f 47 50       	movdqa %xmm0,0x50(%edi)
4091ad:	66 0f 7f 47 60       	movdqa %xmm0,0x60(%edi)
4091b2:	66 0f 7f 47 70       	movdqa %xmm0,0x70(%edi)
4091b7:	8d bf 80 00 00 00    	lea    0x80(%edi),%edi
4091bd:	81 e9 80 00 00 00    	sub    $0x80,%ecx
4091c3:	f7 c1 00 ff ff ff    	test   $0xffffff00,%ecx
4091c9:	75 c5                	jne    0x409190
4091cb:	eb 13                	jmp    0x4091e0
4091cd:	0f ba 25 10 60 42 00 	btl    $0x1,0x426010
4091d4:	01
4091d5:	73 3e                	jae    0x409215
4091d7:	66 0f 6e c0          	movd   %eax,%xmm0
4091db:	66 0f 70 c0 00       	pshufd $0x0,%xmm0,%xmm0
4091e0:	83 f9 20             	cmp    $0x20,%ecx
4091e3:	72 1c                	jb     0x409201
4091e5:	f3 0f 7f 07          	movdqu %xmm0,(%edi)
4091e9:	f3 0f 7f 47 10       	movdqu %xmm0,0x10(%edi)
4091ee:	83 c7 20             	add    $0x20,%edi
4091f1:	83 e9 20             	sub    $0x20,%ecx
4091f4:	83 f9 20             	cmp    $0x20,%ecx
4091f7:	73 ec                	jae    0x4091e5
4091f9:	f7 c1 1f 00 00 00    	test   $0x1f,%ecx
4091ff:	74 62                	je     0x409263
409201:	8d 7c 0f e0          	lea    -0x20(%edi,%ecx,1),%edi
409205:	f3 0f 7f 07          	movdqu %xmm0,(%edi)
409209:	f3 0f 7f 47 10       	movdqu %xmm0,0x10(%edi)
40920e:	8b 44 24 04          	mov    0x4(%esp),%eax
409212:	8b fa                	mov    %edx,%edi
409214:	c3                   	ret
409215:	f7 c1 03 00 00 00    	test   $0x3,%ecx
40921b:	74 0e                	je     0x40922b
40921d:	88 07                	mov    %al,(%edi)
40921f:	47                   	inc    %edi
409220:	83 e9 01             	sub    $0x1,%ecx
409223:	f7 c1 03 00 00 00    	test   $0x3,%ecx
409229:	75 f2                	jne    0x40921d
40922b:	f7 c1 04 00 00 00    	test   $0x4,%ecx
409231:	74 08                	je     0x40923b
409233:	89 07                	mov    %eax,(%edi)
409235:	83 c7 04             	add    $0x4,%edi
409238:	83 e9 04             	sub    $0x4,%ecx
40923b:	f7 c1 f8 ff ff ff    	test   $0xfffffff8,%ecx
409241:	74 20                	je     0x409263
409243:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
40924a:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
409250:	89 07                	mov    %eax,(%edi)
409252:	89 47 04             	mov    %eax,0x4(%edi)
409255:	83 c7 08             	add    $0x8,%edi
409258:	83 e9 08             	sub    $0x8,%ecx
40925b:	f7 c1 f8 ff ff ff    	test   $0xfffffff8,%ecx
409261:	75 ed                	jne    0x409250
409263:	8b 44 24 04          	mov    0x4(%esp),%eax
409267:	8b fa                	mov    %edx,%edi
409269:	c3                   	ret
40926a:	cc                   	int3
40926b:	cc                   	int3
40926c:	cc                   	int3
40926d:	cc                   	int3
40926e:	cc                   	int3
40926f:	cc                   	int3
409270:	53                   	push   %ebx
409271:	56                   	push   %esi
409272:	57                   	push   %edi
409273:	8b 54 24 10          	mov    0x10(%esp),%edx
409277:	8b 44 24 14          	mov    0x14(%esp),%eax
40927b:	8b 4c 24 18          	mov    0x18(%esp),%ecx
40927f:	55                   	push   %ebp
409280:	52                   	push   %edx
409281:	50                   	push   %eax
409282:	51                   	push   %ecx
409283:	51                   	push   %ecx
409284:	68 10 93 40 00       	push   $0x409310
409289:	64 ff 35 00 00 00 00 	push   %fs:0x0
409290:	a1 18 60 42 00       	mov    0x426018,%eax
409295:	33 c4                	xor    %esp,%eax
409297:	89 44 24 08          	mov    %eax,0x8(%esp)
40929b:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
4092a2:	8b 44 24 30          	mov    0x30(%esp),%eax
4092a6:	8b 58 08             	mov    0x8(%eax),%ebx
4092a9:	8b 4c 24 2c          	mov    0x2c(%esp),%ecx
4092ad:	33 19                	xor    (%ecx),%ebx
4092af:	8b 70 0c             	mov    0xc(%eax),%esi
4092b2:	83 fe fe             	cmp    $0xfffffffe,%esi
4092b5:	0f 84 46 00 00 00    	je     0x409301
4092bb:	8b 54 24 34          	mov    0x34(%esp),%edx
4092bf:	83 fa fe             	cmp    $0xfffffffe,%edx
4092c2:	74 08                	je     0x4092cc
4092c4:	3b f2                	cmp    %edx,%esi
4092c6:	0f 86 35 00 00 00    	jbe    0x409301
4092cc:	8d 34 76             	lea    (%esi,%esi,2),%esi
4092cf:	8d 5c b3 10          	lea    0x10(%ebx,%esi,4),%ebx
4092d3:	8b 0b                	mov    (%ebx),%ecx
4092d5:	89 48 0c             	mov    %ecx,0xc(%eax)
4092d8:	83 7b 04 00          	cmpl   $0x0,0x4(%ebx)
4092dc:	0f 85 c0 ff ff ff    	jne    0x4092a2
4092e2:	68 01 01 00 00       	push   $0x101
4092e7:	8b 43 08             	mov    0x8(%ebx),%eax
4092ea:	e8 b1 02 00 00       	call   0x4095a0
4092ef:	b9 01 00 00 00       	mov    $0x1,%ecx
4092f4:	8b 43 08             	mov    0x8(%ebx),%eax
4092f7:	e8 c4 02 00 00       	call   0x4095c0
4092fc:	e9 a1 ff ff ff       	jmp    0x4092a2
409301:	64 8f 05 00 00 00 00 	pop    %fs:0x0
409308:	83 c4 18             	add    $0x18,%esp
40930b:	5f                   	pop    %edi
40930c:	5e                   	pop    %esi
40930d:	5b                   	pop    %ebx
40930e:	c3                   	ret
40930f:	cc                   	int3
409310:	8b 4c 24 04          	mov    0x4(%esp),%ecx
409314:	f7 41 04 06 00 00 00 	testl  $0x6,0x4(%ecx)
40931b:	b8 01 00 00 00       	mov    $0x1,%eax
409320:	74 33                	je     0x409355
409322:	8b 44 24 08          	mov    0x8(%esp),%eax
409326:	8b 48 08             	mov    0x8(%eax),%ecx
409329:	33 c8                	xor    %eax,%ecx
40932b:	e8 c5 f8 ff ff       	call   0x408bf5
409330:	55                   	push   %ebp
409331:	8b 68 18             	mov    0x18(%eax),%ebp
409334:	ff 70 0c             	push   0xc(%eax)
409337:	ff 70 10             	push   0x10(%eax)
40933a:	ff 70 14             	push   0x14(%eax)
40933d:	e8 2e ff ff ff       	call   0x409270
409342:	83 c4 0c             	add    $0xc,%esp
409345:	5d                   	pop    %ebp
409346:	8b 44 24 08          	mov    0x8(%esp),%eax
40934a:	8b 54 24 10          	mov    0x10(%esp),%edx
40934e:	89 02                	mov    %eax,(%edx)
409350:	b8 03 00 00 00       	mov    $0x3,%eax
409355:	c3                   	ret
409356:	cc                   	int3
409357:	cc                   	int3
409358:	cc                   	int3
409359:	cc                   	int3
40935a:	cc                   	int3
40935b:	cc                   	int3
40935c:	cc                   	int3
40935d:	cc                   	int3
40935e:	cc                   	int3
40935f:	cc                   	int3
409360:	55                   	push   %ebp
409361:	56                   	push   %esi
409362:	57                   	push   %edi
409363:	53                   	push   %ebx
409364:	8b ea                	mov    %edx,%ebp
409366:	33 c0                	xor    %eax,%eax
409368:	33 db                	xor    %ebx,%ebx
40936a:	33 d2                	xor    %edx,%edx
40936c:	33 f6                	xor    %esi,%esi
40936e:	33 ff                	xor    %edi,%edi
409370:	ff d1                	call   *%ecx
409372:	5b                   	pop    %ebx
409373:	5f                   	pop    %edi
409374:	5e                   	pop    %esi
409375:	5d                   	pop    %ebp
409376:	c3                   	ret
409377:	cc                   	int3
409378:	cc                   	int3
409379:	cc                   	int3
40937a:	cc                   	int3
40937b:	cc                   	int3
40937c:	cc                   	int3
40937d:	cc                   	int3
40937e:	cc                   	int3
40937f:	cc                   	int3
409380:	8b ea                	mov    %edx,%ebp
409382:	8b f1                	mov    %ecx,%esi
409384:	8b c1                	mov    %ecx,%eax
409386:	6a 01                	push   $0x1
409388:	e8 13 02 00 00       	call   0x4095a0
40938d:	33 c0                	xor    %eax,%eax
40938f:	33 db                	xor    %ebx,%ebx
409391:	33 c9                	xor    %ecx,%ecx
409393:	33 d2                	xor    %edx,%edx
409395:	33 ff                	xor    %edi,%edi
409397:	ff e6                	jmp    *%esi
409399:	cc                   	int3
40939a:	cc                   	int3
40939b:	cc                   	int3
40939c:	cc                   	int3
40939d:	cc                   	int3
40939e:	cc                   	int3
40939f:	cc                   	int3
4093a0:	55                   	push   %ebp
4093a1:	8b ec                	mov    %esp,%ebp
4093a3:	53                   	push   %ebx
4093a4:	56                   	push   %esi
4093a5:	57                   	push   %edi
4093a6:	6a 00                	push   $0x0
4093a8:	52                   	push   %edx
4093a9:	68 b5 93 40 00       	push   $0x4093b5
4093ae:	51                   	push   %ecx
4093af:	ff 15 4c c1 41 00    	call   *0x41c14c
4093b5:	5f                   	pop    %edi
4093b6:	5e                   	pop    %esi
4093b7:	5b                   	pop    %ebx
4093b8:	5d                   	pop    %ebp
4093b9:	c3                   	ret
4093ba:	cc                   	int3
4093bb:	cc                   	int3
4093bc:	cc                   	int3
4093bd:	cc                   	int3
4093be:	cc                   	int3
4093bf:	cc                   	int3
4093c0:	55                   	push   %ebp
4093c1:	8b 6c 24 08          	mov    0x8(%esp),%ebp
4093c5:	52                   	push   %edx
4093c6:	51                   	push   %ecx
4093c7:	ff 74 24 14          	push   0x14(%esp)
4093cb:	e8 a0 fe ff ff       	call   0x409270
4093d0:	83 c4 0c             	add    $0xc,%esp
4093d3:	5d                   	pop    %ebp
4093d4:	c2 08 00             	ret    $0x8
4093d7:	55                   	push   %ebp
4093d8:	8b ec                	mov    %esp,%ebp
4093da:	a1 50 c2 41 00       	mov    0x41c250,%eax
4093df:	3d 00 58 40 00       	cmp    $0x405800,%eax
4093e4:	74 1f                	je     0x409405
4093e6:	64 8b 0d 18 00 00 00 	mov    %fs:0x18,%ecx
4093ed:	8b 45 08             	mov    0x8(%ebp),%eax
4093f0:	8b 80 c4 00 00 00    	mov    0xc4(%eax),%eax
4093f6:	3b 41 08             	cmp    0x8(%ecx),%eax
4093f9:	72 05                	jb     0x409400
4093fb:	3b 41 04             	cmp    0x4(%ecx),%eax
4093fe:	76 05                	jbe    0x409405
409400:	6a 0d                	push   $0xd
409402:	59                   	pop    %ecx
409403:	cd 29                	int    $0x29
409405:	5d                   	pop    %ebp
409406:	c3                   	ret
409407:	cc                   	int3
409408:	cc                   	int3
409409:	cc                   	int3
40940a:	cc                   	int3
40940b:	cc                   	int3
40940c:	cc                   	int3
40940d:	cc                   	int3
40940e:	cc                   	int3
40940f:	cc                   	int3
409410:	55                   	push   %ebp
409411:	8b ec                	mov    %esp,%ebp
409413:	8b 45 08             	mov    0x8(%ebp),%eax
409416:	85 c0                	test   %eax,%eax
409418:	74 0e                	je     0x409428
40941a:	3d 90 6c 42 00       	cmp    $0x426c90,%eax
40941f:	74 07                	je     0x409428
409421:	50                   	push   %eax
409422:	e8 54 2e 00 00       	call   0x40c27b
409427:	59                   	pop    %ecx
409428:	5d                   	pop    %ebp
409429:	c2 04 00             	ret    $0x4
40942c:	e8 09 00 00 00       	call   0x40943a
409431:	85 c0                	test   %eax,%eax
409433:	0f 84 c2 2e 00 00    	je     0x40c2fb
409439:	c3                   	ret
40943a:	83 3d 20 60 42 00 ff 	cmpl   $0xffffffff,0x426020
409441:	75 03                	jne    0x409446
409443:	33 c0                	xor    %eax,%eax
409445:	c3                   	ret
409446:	53                   	push   %ebx
409447:	57                   	push   %edi
409448:	ff 15 48 c1 41 00    	call   *0x41c148
40944e:	ff 35 20 60 42 00    	push   0x426020
409454:	8b f8                	mov    %eax,%edi
409456:	e8 c3 02 00 00       	call   0x40971e
40945b:	8b d8                	mov    %eax,%ebx
40945d:	59                   	pop    %ecx
40945e:	83 fb ff             	cmp    $0xffffffff,%ebx
409461:	74 17                	je     0x40947a
409463:	85 db                	test   %ebx,%ebx
409465:	75 59                	jne    0x4094c0
409467:	6a ff                	push   $0xffffffff
409469:	ff 35 20 60 42 00    	push   0x426020
40946f:	e8 e5 02 00 00       	call   0x409759
409474:	59                   	pop    %ecx
409475:	59                   	pop    %ecx
409476:	85 c0                	test   %eax,%eax
409478:	75 04                	jne    0x40947e
40947a:	33 db                	xor    %ebx,%ebx
40947c:	eb 42                	jmp    0x4094c0
40947e:	56                   	push   %esi
40947f:	6a 28                	push   $0x28
409481:	6a 01                	push   $0x1
409483:	e8 b7 2e 00 00       	call   0x40c33f
409488:	8b f0                	mov    %eax,%esi
40948a:	59                   	pop    %ecx
40948b:	59                   	pop    %ecx
40948c:	85 f6                	test   %esi,%esi
40948e:	74 12                	je     0x4094a2
409490:	56                   	push   %esi
409491:	ff 35 20 60 42 00    	push   0x426020
409497:	e8 bd 02 00 00       	call   0x409759
40949c:	59                   	pop    %ecx
40949d:	59                   	pop    %ecx
40949e:	85 c0                	test   %eax,%eax
4094a0:	75 12                	jne    0x4094b4
4094a2:	33 db                	xor    %ebx,%ebx
4094a4:	53                   	push   %ebx
4094a5:	ff 35 20 60 42 00    	push   0x426020
4094ab:	e8 a9 02 00 00       	call   0x409759