41326b:	ba 03 00 00 00       	mov    $0x3,%edx
413270:	2b c1                	sub    %ecx,%eax
413272:	8b 08                	mov    (%eax),%ecx
413274:	e8 57 4c 01 00       	call   0x427ed0
413279:	85 c0                	test   %eax,%eax
41327b:	74 67                	je     0x4132e4
41327d:	89 70 0c             	mov    %esi,0xc(%eax)
413280:	8b 56 10             	mov    0x10(%esi),%edx
413283:	85 d2                	test   %edx,%edx
413285:	74 0e                	je     0x413295
413287:	8b 4a 14             	mov    0x14(%edx),%ecx
41328a:	89 41 18             	mov    %eax,0x18(%ecx)
41328d:	89 48 14             	mov    %ecx,0x14(%eax)
413290:	89 42 14             	mov    %eax,0x14(%edx)
413293:	eb 06                	jmp    0x41329b
413295:	89 46 10             	mov    %eax,0x10(%esi)
413298:	89 40 14             	mov    %eax,0x14(%eax)
41329b:	8b 10                	mov    (%eax),%edx
41329d:	83 e2 0f             	and    $0xf,%edx
4132a0:	83 fa 03             	cmp    $0x3,%edx
4132a3:	74 16                	je     0x4132bb
4132a5:	8b c8                	mov    %eax,%ecx
4132a7:	83 fa 04             	cmp    $0x4,%edx
4132aa:	74 0f                	je     0x4132bb
4132ac:	83 fa 05             	cmp    $0x5,%edx
4132af:	74 0a                	je     0x4132bb
4132b1:	83 fa 06             	cmp    $0x6,%edx
4132b4:	74 05                	je     0x4132bb
4132b6:	83 fa 08             	cmp    $0x8,%edx
4132b9:	75 29                	jne    0x4132e4
4132bb:	8b d7                	mov    %edi,%edx
4132bd:	8d 4a 02             	lea    0x2(%edx),%ecx
4132c0:	89 4d f8             	mov    %ecx,-0x8(%ebp)
4132c3:	66 8b 0a             	mov    (%edx),%cx
4132c6:	83 c2 02             	add    $0x2,%edx
4132c9:	66 85 c9             	test   %cx,%cx
4132cc:	75 f5                	jne    0x4132c3
4132ce:	2b 55 f8             	sub    -0x8(%ebp),%edx
4132d1:	8d 48 08             	lea    0x8(%eax),%ecx
4132d4:	d1 fa                	sar    $1,%edx
4132d6:	52                   	push   %edx
4132d7:	57                   	push   %edi
4132d8:	6a 10                	push   $0x10
4132da:	8b d0                	mov    %eax,%edx
4132dc:	e8 bf e9 01 00       	call   0x431ca0
4132e1:	83 c4 0c             	add    $0xc,%esp
4132e4:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4132e7:	b0 01                	mov    $0x1,%al
4132e9:	89 33                	mov    %esi,(%ebx)
4132eb:	33 cd                	xor    %ebp,%ecx
4132ed:	5e                   	pop    %esi
4132ee:	5f                   	pop    %edi
4132ef:	5b                   	pop    %ebx
4132f0:	e8 d5 66 05 00       	call   0x4699ca
4132f5:	8b e5                	mov    %ebp,%esp
4132f7:	5d                   	pop    %ebp
4132f8:	c2 10 00             	ret    $0x10
4132fb:	cc                   	int3
4132fc:	cc                   	int3
4132fd:	cc                   	int3
4132fe:	cc                   	int3
4132ff:	cc                   	int3
413300:	55                   	push   %ebp
413301:	8b ec                	mov    %esp,%ebp
413303:	83 e4 f8             	and    $0xfffffff8,%esp
413306:	83 ec 1c             	sub    $0x1c,%esp
413309:	8b 45 10             	mov    0x10(%ebp),%eax
41330c:	53                   	push   %ebx
41330d:	8b 5d 0c             	mov    0xc(%ebp),%ebx
413310:	03 5d 14             	add    0x14(%ebp),%ebx
413313:	56                   	push   %esi
413314:	13 45 18             	adc    0x18(%ebp),%eax
413317:	8b 75 08             	mov    0x8(%ebp),%esi
41331a:	57                   	push   %edi
41331b:	8b f9                	mov    %ecx,%edi
41331d:	89 44 24 18          	mov    %eax,0x18(%esp)
413321:	89 74 24 20          	mov    %esi,0x20(%esp)
413325:	f6 47 3c 02          	testb  $0x2,0x3c(%edi)
413329:	8b 47 1c             	mov    0x1c(%edi),%eax
41332c:	8b 00                	mov    (%eax),%eax
41332e:	89 44 24 1c          	mov    %eax,0x1c(%esp)
413332:	74 04                	je     0x413338
413334:	33 c9                	xor    %ecx,%ecx
413336:	eb 11                	jmp    0x413349
413338:	8b 47 20             	mov    0x20(%edi),%eax
41333b:	8b 08                	mov    (%eax),%ecx
41333d:	85 c9                	test   %ecx,%ecx
41333f:	74 08                	je     0x413349
413341:	39 4f 38             	cmp    %ecx,0x38(%edi)
413344:	73 03                	jae    0x413349
413346:	89 4f 38             	mov    %ecx,0x38(%edi)
413349:	8b 47 0c             	mov    0xc(%edi),%eax
41334c:	8b 10                	mov    (%eax),%edx
41334e:	8b 47 38             	mov    0x38(%edi),%eax
413351:	89 44 24 14          	mov    %eax,0x14(%esp)
413355:	2b c2                	sub    %edx,%eax
413357:	d1 f8                	sar    $1,%eax
413359:	89 54 24 10          	mov    %edx,0x10(%esp)
41335d:	99                   	cltd
41335e:	39 54 24 18          	cmp    %edx,0x18(%esp)
413362:	0f 87 ac 00 00 00    	ja     0x413414
413368:	72 08                	jb     0x413372
41336a:	3b d8                	cmp    %eax,%ebx
41336c:	0f 87 a2 00 00 00    	ja     0x413414
413372:	8b 55 24             	mov    0x24(%ebp),%edx
413375:	8b c3                	mov    %ebx,%eax
413377:	0b 44 24 18          	or     0x18(%esp),%eax
41337b:	74 19                	je     0x413396
41337d:	f6 c2 01             	test   $0x1,%dl
413380:	74 0b                	je     0x41338d
413382:	83 7c 24 1c 00       	cmpl   $0x0,0x1c(%esp)
413387:	0f 84 87 00 00 00    	je     0x413414
41338d:	f6 c2 02             	test   $0x2,%dl
413390:	74 04                	je     0x413396
413392:	85 c9                	test   %ecx,%ecx
413394:	74 7e                	je     0x413414
413396:	f6 c2 01             	test   $0x1,%dl
413399:	74 38                	je     0x4133d3
41339b:	83 7c 24 1c 00       	cmpl   $0x0,0x1c(%esp)
4133a0:	74 31                	je     0x4133d3
4133a2:	8b 57 0c             	mov    0xc(%edi),%edx
4133a5:	8b 44 24 10          	mov    0x10(%esp),%eax
4133a9:	8b 74 24 10          	mov    0x10(%esp),%esi
4133ad:	89 02                	mov    %eax,(%edx)
4133af:	8b 47 1c             	mov    0x1c(%edi),%eax
4133b2:	8d 14 5e             	lea    (%esi,%ebx,2),%edx
4133b5:	8b 74 24 20          	mov    0x20(%esp),%esi
4133b9:	89 10                	mov    %edx,(%eax)
4133bb:	8b 44 24 14          	mov    0x14(%esp),%eax
4133bf:	2b c2                	sub    %edx,%eax
4133c1:	d1 f8                	sar    $1,%eax
4133c3:	89 44 24 14          	mov    %eax,0x14(%esp)
4133c7:	8b 47 2c             	mov    0x2c(%edi),%eax
4133ca:	8b 54 24 14          	mov    0x14(%esp),%edx
4133ce:	89 10                	mov    %edx,(%eax)
4133d0:	8b 55 24             	mov    0x24(%ebp),%edx
4133d3:	f6 c2 02             	test   $0x2,%dl
4133d6:	74 31                	je     0x413409
4133d8:	85 c9                	test   %ecx,%ecx
4133da:	74 2d                	je     0x413409
4133dc:	8b 47 30             	mov    0x30(%edi),%eax
4133df:	8b 54 24 10          	mov    0x10(%esp),%edx
4133e3:	8b f2                	mov    %edx,%esi
4133e5:	8b 08                	mov    (%eax),%ecx
4133e7:	8b 47 20             	mov    0x20(%edi),%eax
4133ea:	8b 00                	mov    (%eax),%eax
4133ec:	8d 0c 48             	lea    (%eax,%ecx,2),%ecx
4133ef:	8b 47 10             	mov    0x10(%edi),%eax
4133f2:	89 10                	mov    %edx,(%eax)
4133f4:	8d 14 5e             	lea    (%esi,%ebx,2),%edx
4133f7:	8b 47 20             	mov    0x20(%edi),%eax
4133fa:	2b ca                	sub    %edx,%ecx
4133fc:	8b 74 24 20          	mov    0x20(%esp),%esi
413400:	d1 f9                	sar    $1,%ecx
413402:	89 10                	mov    %edx,(%eax)
413404:	8b 47 30             	mov    0x30(%edi),%eax
413407:	89 08                	mov    %ecx,(%eax)
413409:	8b 44 24 18          	mov    0x18(%esp),%eax
41340d:	89 1e                	mov    %ebx,(%esi)
41340f:	89 46 04             	mov    %eax,0x4(%esi)
413412:	eb 0d                	jmp    0x413421
413414:	c7 06 ff ff ff ff    	movl   $0xffffffff,(%esi)
41341a:	c7 46 04 ff ff ff ff 	movl   $0xffffffff,0x4(%esi)
413421:	c7 46 08 00 00 00 00 	movl   $0x0,0x8(%esi)
413428:	0f 57 c0             	xorps  %xmm0,%xmm0
41342b:	c7 46 0c 00 00 00 00 	movl   $0x0,0xc(%esi)
413432:	8b c6                	mov    %esi,%eax
413434:	5f                   	pop    %edi
413435:	66 0f d6 46 10       	movq   %xmm0,0x10(%esi)
41343a:	5e                   	pop    %esi
41343b:	5b                   	pop    %ebx
41343c:	8b e5                	mov    %ebp,%esp
41343e:	5d                   	pop    %ebp
41343f:	c2 20 00             	ret    $0x20
413442:	cc                   	int3
413443:	cc                   	int3
413444:	cc                   	int3
413445:	cc                   	int3
413446:	cc                   	int3
413447:	cc                   	int3
413448:	cc                   	int3
413449:	cc                   	int3
41344a:	cc                   	int3
41344b:	cc                   	int3
41344c:	cc                   	int3
41344d:	cc                   	int3
41344e:	cc                   	int3
41344f:	cc                   	int3
413450:	55                   	push   %ebp
413451:	8b ec                	mov    %esp,%ebp
413453:	83 e4 f8             	and    $0xfffffff8,%esp
413456:	83 ec 24             	sub    $0x24,%esp
413459:	53                   	push   %ebx
41345a:	56                   	push   %esi
41345b:	8b f1                	mov    %ecx,%esi
41345d:	57                   	push   %edi
41345e:	f6 46 3c 02          	testb  $0x2,0x3c(%esi)
413462:	8b 46 1c             	mov    0x1c(%esi),%eax
413465:	8b 00                	mov    (%eax),%eax
413467:	89 44 24 10          	mov    %eax,0x10(%esp)
41346b:	74 04                	je     0x413471
41346d:	33 c9                	xor    %ecx,%ecx
41346f:	eb 11                	jmp    0x413482
413471:	8b 46 20             	mov    0x20(%esi),%eax
413474:	8b 08                	mov    (%eax),%ecx
413476:	85 c9                	test   %ecx,%ecx
413478:	74 08                	je     0x413482
41347a:	39 4e 38             	cmp    %ecx,0x38(%esi)
41347d:	73 03                	jae    0x413482
41347f:	89 4e 38             	mov    %ecx,0x38(%esi)
413482:	8b 46 0c             	mov    0xc(%esi),%eax
413485:	8b 7e 38             	mov    0x38(%esi),%edi
413488:	8b 5d 18             	mov    0x18(%ebp),%ebx
41348b:	89 7c 24 2c          	mov    %edi,0x2c(%esp)
41348f:	8b 10                	mov    (%eax),%edx
413491:	2b fa                	sub    %edx,%edi
413493:	8b 45 14             	mov    0x14(%ebp),%eax
413496:	d1 ff                	sar    $1,%edi
413498:	89 54 24 24          	mov    %edx,0x24(%esp)
41349c:	89 7c 24 14          	mov    %edi,0x14(%esp)
4134a0:	83 e8 00             	sub    $0x0,%eax
4134a3:	74 66                	je     0x41350b
4134a5:	83 e8 01             	sub    $0x1,%eax
4134a8:	74 12                	je     0x4134bc
4134aa:	83 e8 01             	sub    $0x1,%eax
4134ad:	0f 85 1c 01 00 00    	jne    0x4135cf
4134b3:	8b c7                	mov    %edi,%eax
4134b5:	99                   	cltd
4134b6:	8b f8                	mov    %eax,%edi
4134b8:	8b c2                	mov    %edx,%eax
4134ba:	eb 60                	jmp    0x41351c
4134bc:	8b c3                	mov    %ebx,%eax
4134be:	83 e0 03             	and    $0x3,%eax
4134c1:	3c 03                	cmp    $0x3,%al
4134c3:	0f 84 06 01 00 00    	je     0x4135cf
4134c9:	f6 c3 01             	test   $0x1,%bl
4134cc:	74 1b                	je     0x4134e9
4134ce:	8b 44 24 10          	mov    0x10(%esp),%eax
4134d2:	85 c0                	test   %eax,%eax
4134d4:	75 08                	jne    0x4134de
4134d6:	85 d2                	test   %edx,%edx
4134d8:	0f 85 f1 00 00 00    	jne    0x4135cf
4134de:	2b c2                	sub    %edx,%eax
4134e0:	d1 f8                	sar    $1,%eax
4134e2:	99                   	cltd
4134e3:	8b f8                	mov    %eax,%edi
4134e5:	8b c2                	mov    %edx,%eax
4134e7:	eb 33                	jmp    0x41351c
4134e9:	f6 c3 02             	test   $0x2,%bl
4134ec:	0f 84 dd 00 00 00    	je     0x4135cf
4134f2:	85 c9                	test   %ecx,%ecx
4134f4:	75 08                	jne    0x4134fe
4134f6:	85 d2                	test   %edx,%edx
4134f8:	0f 85 d1 00 00 00    	jne    0x4135cf
4134fe:	8b c1                	mov    %ecx,%eax
413500:	2b c2                	sub    %edx,%eax
413502:	d1 f8                	sar    $1,%eax
413504:	99                   	cltd
413505:	8b f8                	mov    %eax,%edi
413507:	8b c2                	mov    %edx,%eax
413509:	eb 11                	jmp    0x41351c
41350b:	0f 57 c0             	xorps  %xmm0,%xmm0
41350e:	66 0f 13 44 24 18    	movlpd %xmm0,0x18(%esp)
413514:	8b 44 24 1c          	mov    0x1c(%esp),%eax
413518:	8b 7c 24 18          	mov    0x18(%esp),%edi
41351c:	03 7d 0c             	add    0xc(%ebp),%edi
41351f:	13 45 10             	adc    0x10(%ebp),%eax
413522:	89 44 24 18          	mov    %eax,0x18(%esp)
413526:	8b 44 24 14          	mov    0x14(%esp),%eax
41352a:	99                   	cltd
41352b:	39 54 24 18          	cmp    %edx,0x18(%esp)
41352f:	0f 87 9a 00 00 00    	ja     0x4135cf
413535:	72 08                	jb     0x41353f
413537:	3b f8                	cmp    %eax,%edi
413539:	0f 87 90 00 00 00    	ja     0x4135cf
41353f:	8b c7                	mov    %edi,%eax
413541:	0b 44 24 18          	or     0x18(%esp),%eax
413545:	74 15                	je     0x41355c
413547:	f6 c3 01             	test   $0x1,%bl
41354a:	74 07                	je     0x413553
41354c:	83 7c 24 10 00       	cmpl   $0x0,0x10(%esp)
413551:	74 7c                	je     0x4135cf
413553:	f6 c3 02             	test   $0x2,%bl
413556:	74 04                	je     0x41355c
413558:	85 c9                	test   %ecx,%ecx
41355a:	74 73                	je     0x4135cf
41355c:	8b 54 24 24          	mov    0x24(%esp),%edx
413560:	8d 04 7a             	lea    (%edx,%edi,2),%eax
413563:	89 44 24 14          	mov    %eax,0x14(%esp)
413567:	f6 c3 01             	test   $0x1,%bl
41356a:	74 28                	je     0x413594
41356c:	83 7c 24 10 00       	cmpl   $0x0,0x10(%esp)
413571:	74 21                	je     0x413594
413573:	8b 46 0c             	mov    0xc(%esi),%eax
413576:	89 10                	mov    %edx,(%eax)
413578:	8b 46 1c             	mov    0x1c(%esi),%eax
41357b:	8b 54 24 14          	mov    0x14(%esp),%edx
41357f:	89 10                	mov    %edx,(%eax)
413581:	8b 54 24 2c          	mov    0x2c(%esp),%edx
413585:	2b 54 24 14          	sub    0x14(%esp),%edx
413589:	8b 46 2c             	mov    0x2c(%esi),%eax
41358c:	d1 fa                	sar    $1,%edx
41358e:	89 10                	mov    %edx,(%eax)
413590:	8b 54 24 24          	mov    0x24(%esp),%edx
413594:	f6 c3 02             	test   $0x2,%bl
413597:	74 28                	je     0x4135c1
413599:	85 c9                	test   %ecx,%ecx
41359b:	74 24                	je     0x4135c1
41359d:	8b 46 30             	mov    0x30(%esi),%eax
4135a0:	8b 08                	mov    (%eax),%ecx
4135a2:	8b 46 20             	mov    0x20(%esi),%eax
4135a5:	8b 00                	mov    (%eax),%eax
4135a7:	8d 0c 48             	lea    (%eax,%ecx,2),%ecx
4135aa:	8b 46 10             	mov    0x10(%esi),%eax
4135ad:	89 10                	mov    %edx,(%eax)
4135af:	8b 46 20             	mov    0x20(%esi),%eax
4135b2:	8b 54 24 14          	mov    0x14(%esp),%edx
4135b6:	2b ca                	sub    %edx,%ecx
4135b8:	d1 f9                	sar    $1,%ecx
4135ba:	89 10                	mov    %edx,(%eax)
4135bc:	8b 46 30             	mov    0x30(%esi),%eax
4135bf:	89 08                	mov    %ecx,(%eax)
4135c1:	8b 45 08             	mov    0x8(%ebp),%eax
4135c4:	8b 4c 24 18          	mov    0x18(%esp),%ecx
4135c8:	89 38                	mov    %edi,(%eax)
4135ca:	89 48 04             	mov    %ecx,0x4(%eax)
4135cd:	eb 10                	jmp    0x4135df
4135cf:	8b 45 08             	mov    0x8(%ebp),%eax
4135d2:	c7 00 ff ff ff ff    	movl   $0xffffffff,(%eax)
4135d8:	c7 40 04 ff ff ff ff 	movl   $0xffffffff,0x4(%eax)
4135df:	5f                   	pop    %edi
4135e0:	0f 57 c0             	xorps  %xmm0,%xmm0
4135e3:	c7 40 08 00 00 00 00 	movl   $0x0,0x8(%eax)
4135ea:	5e                   	pop    %esi
4135eb:	c7 40 0c 00 00 00 00 	movl   $0x0,0xc(%eax)
4135f2:	66 0f d6 40 10       	movq   %xmm0,0x10(%eax)
4135f7:	5b                   	pop    %ebx
4135f8:	8b e5                	mov    %ebp,%esp
4135fa:	5d                   	pop    %ebp
4135fb:	c2 14 00             	ret    $0x14
4135fe:	cc                   	int3
4135ff:	cc                   	int3
413600:	55                   	push   %ebp
413601:	8b ec                	mov    %esp,%ebp
413603:	51                   	push   %ecx
413604:	8b d1                	mov    %ecx,%edx
413606:	53                   	push   %ebx
413607:	56                   	push   %esi
413608:	57                   	push   %edi
413609:	8b 5a 1c             	mov    0x1c(%edx),%ebx