40e484:	68 ad 00 00 00       	push   $0xad
40e489:	ff 35 28 15 42 00    	push   0x421528
40e48f:	ff 15 60 34 42 00    	call   *0x423460
40e495:	53                   	push   %ebx
40e496:	68 10 10 42 00       	push   $0x421010
40e49b:	68 ae 00 00 00       	push   $0xae
40e4a0:	ff 35 28 15 42 00    	push   0x421528
40e4a6:	ff 15 60 34 42 00    	call   *0x423460
40e4ac:	53                   	push   %ebx
40e4ad:	68 10 0b 42 00       	push   $0x420b10
40e4b2:	68 af 00 00 00       	push   $0xaf
40e4b7:	ff 35 28 15 42 00    	push   0x421528
40e4bd:	ff 15 60 34 42 00    	call   *0x423460
40e4c3:	53                   	push   %ebx
40e4c4:	68 90 0a 42 00       	push   $0x420a90
40e4c9:	68 b0 00 00 00       	push   $0xb0
40e4ce:	ff 35 28 15 42 00    	push   0x421528
40e4d4:	ff 15 60 34 42 00    	call   *0x423460
40e4da:	53                   	push   %ebx
40e4db:	68 90 0f 42 00       	push   $0x420f90
40e4e0:	68 b1 00 00 00       	push   $0xb1
40e4e5:	ff 35 28 15 42 00    	push   0x421528
40e4eb:	ff 15 60 34 42 00    	call   *0x423460
40e4f1:	53                   	push   %ebx
40e4f2:	68 10 0f 42 00       	push   $0x420f10
40e4f7:	68 b2 00 00 00       	push   $0xb2
40e4fc:	ff 35 28 15 42 00    	push   0x421528
40e502:	ff 15 60 34 42 00    	call   *0x423460
40e508:	53                   	push   %ebx
40e509:	68 90 0e 42 00       	push   $0x420e90
40e50e:	68 b3 00 00 00       	push   $0xb3
40e513:	ff 35 28 15 42 00    	push   0x421528
40e519:	ff 15 60 34 42 00    	call   *0x423460
40e51f:	53                   	push   %ebx
40e520:	68 10 0e 42 00       	push   $0x420e10
40e525:	68 b4 00 00 00       	push   $0xb4
40e52a:	ff 35 28 15 42 00    	push   0x421528
40e530:	ff 15 60 34 42 00    	call   *0x423460
40e536:	53                   	push   %ebx
40e537:	68 10 0a 42 00       	push   $0x420a10
40e53c:	68 b6 00 00 00       	push   $0xb6
40e541:	ff 35 28 15 42 00    	push   0x421528
40e547:	ff 15 60 34 42 00    	call   *0x423460
40e54d:	eb 15                	jmp    0x40e564
40e54f:	6a 6c                	push   $0x6c
40e551:	eb 09                	jmp    0x40e55c
40e553:	68 60 01 00 00       	push   $0x160
40e558:	eb 02                	jmp    0x40e55c
40e55a:	6a 6a                	push   $0x6a
40e55c:	e8 f2 00 00 00       	call   0x40e653
40e561:	8b f7                	mov    %edi,%esi
40e563:	59                   	pop    %ecx
40e564:	8b c6                	mov    %esi,%eax
40e566:	e8 be de 00 00       	call   0x41c429
40e56b:	c3                   	ret
40e56c:	8b ff                	mov    %edi,%edi
40e56e:	55                   	push   %ebp
40e56f:	8b ec                	mov    %esp,%ebp
40e571:	56                   	push   %esi
40e572:	57                   	push   %edi
40e573:	8b f9                	mov    %ecx,%edi
40e575:	be 05 01 00 00       	mov    $0x105,%esi
40e57a:	8b ce                	mov    %esi,%ecx
40e57c:	8b c7                	mov    %edi,%eax
40e57e:	66 83 38 00          	cmpw   $0x0,(%eax)
40e582:	74 08                	je     0x40e58c
40e584:	83 c0 02             	add    $0x2,%eax
40e587:	83 e9 01             	sub    $0x1,%ecx
40e58a:	75 f2                	jne    0x40e57e
40e58c:	8b c1                	mov    %ecx,%eax
40e58e:	f7 d8                	neg    %eax
40e590:	1b c0                	sbb    %eax,%eax
40e592:	25 a9 ff f8 7f       	and    $0x7ff8ffa9,%eax
40e597:	05 57 00 07 80       	add    $0x80070057,%eax
40e59c:	85 c9                	test   %ecx,%ecx
40e59e:	74 26                	je     0x40e5c6
40e5a0:	8b d1                	mov    %ecx,%edx
40e5a2:	8d 81 fb fe ff ff    	lea    -0x105(%ecx),%eax
40e5a8:	f7 da                	neg    %edx
40e5aa:	51                   	push   %ecx
40e5ab:	ff 75 08             	push   0x8(%ebp)
40e5ae:	1b d2                	sbb    %edx,%edx
40e5b0:	23 d0                	and    %eax,%edx
40e5b2:	03 d6                	add    %esi,%edx
40e5b4:	2b f1                	sub    %ecx,%esi
40e5b6:	51                   	push   %ecx
40e5b7:	03 f6                	add    %esi,%esi
40e5b9:	f7 d9                	neg    %ecx
40e5bb:	1b c9                	sbb    %ecx,%ecx
40e5bd:	23 ce                	and    %esi,%ecx
40e5bf:	03 cf                	add    %edi,%ecx
40e5c1:	e8 06 00 00 00       	call   0x40e5cc
40e5c6:	5f                   	pop    %edi
40e5c7:	5e                   	pop    %esi
40e5c8:	5d                   	pop    %ebp
40e5c9:	c2 04 00             	ret    $0x4
40e5cc:	8b ff                	mov    %edi,%edi
40e5ce:	55                   	push   %ebp
40e5cf:	8b ec                	mov    %esp,%ebp
40e5d1:	85 d2                	test   %edx,%edx
40e5d3:	74 2b                	je     0x40e600
40e5d5:	8b 45 0c             	mov    0xc(%ebp),%eax
40e5d8:	56                   	push   %esi
40e5d9:	57                   	push   %edi
40e5da:	be fe ff ff 7f       	mov    $0x7ffffffe,%esi
40e5df:	2b c1                	sub    %ecx,%eax
40e5e1:	85 f6                	test   %esi,%esi
40e5e3:	74 15                	je     0x40e5fa
40e5e5:	0f b7 3c 08          	movzwl (%eax,%ecx,1),%edi
40e5e9:	66 85 ff             	test   %di,%di
40e5ec:	74 0c                	je     0x40e5fa
40e5ee:	66 89 39             	mov    %di,(%ecx)
40e5f1:	83 c1 02             	add    $0x2,%ecx
40e5f4:	4e                   	dec    %esi
40e5f5:	83 ea 01             	sub    $0x1,%edx
40e5f8:	75 e7                	jne    0x40e5e1
40e5fa:	5f                   	pop    %edi
40e5fb:	5e                   	pop    %esi
40e5fc:	85 d2                	test   %edx,%edx
40e5fe:	75 03                	jne    0x40e603
40e600:	83 e9 02             	sub    $0x2,%ecx
40e603:	f7 da                	neg    %edx
40e605:	1b d2                	sbb    %edx,%edx
40e607:	81 e2 86 ff f8 7f    	and    $0x7ff8ff86,%edx
40e60d:	33 c0                	xor    %eax,%eax
40e60f:	66 89 01             	mov    %ax,(%ecx)
40e612:	8d 82 7a 00 07 80    	lea    -0x7ff8ff86(%edx),%eax
40e618:	5d                   	pop    %ebp
40e619:	c2 0c 00             	ret    $0xc
40e61c:	8b ff                	mov    %edi,%edi
40e61e:	55                   	push   %ebp
40e61f:	8b ec                	mov    %esp,%ebp
40e621:	6a ff                	push   $0xffffffff
40e623:	68 4d d2 41 00       	push   $0x41d24d
40e628:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
40e62e:	50                   	push   %eax
40e62f:	a1 e4 05 42 00       	mov    0x4205e4,%eax
40e634:	33 c5                	xor    %ebp,%eax
40e636:	50                   	push   %eax
40e637:	8d 45 f4             	lea    -0xc(%ebp),%eax
40e63a:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
40e640:	ff 15 48 31 42 00    	call   *0x423148
40e646:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40e649:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40e650:	59                   	pop    %ecx
40e651:	c9                   	leave
40e652:	c3                   	ret
40e653:	8b ff                	mov    %edi,%edi
40e655:	55                   	push   %ebp
40e656:	8b ec                	mov    %esp,%ebp
40e658:	81 ec 04 04 00 00    	sub    $0x404,%esp
40e65e:	a1 e4 05 42 00       	mov    0x4205e4,%eax
40e663:	33 c5                	xor    %ebp,%eax
40e665:	89 45 fc             	mov    %eax,-0x4(%ebp)
40e668:	68 00 01 00 00       	push   $0x100
40e66d:	8d 85 fc fb ff ff    	lea    -0x404(%ebp),%eax
40e673:	50                   	push   %eax
40e674:	ff 75 08             	push   0x8(%ebp)
40e677:	ff 35 28 15 42 00    	push   0x421528
40e67d:	ff 15 60 34 42 00    	call   *0x423460
40e683:	85 c0                	test   %eax,%eax
40e685:	74 57                	je     0x40e6de
40e687:	8d 45 0c             	lea    0xc(%ebp),%eax
40e68a:	50                   	push   %eax
40e68b:	8d 85 fc fb ff ff    	lea    -0x404(%ebp),%eax
40e691:	50                   	push   %eax
40e692:	8d 8d fc fd ff ff    	lea    -0x204(%ebp),%ecx
40e698:	e8 78 4b 00 00       	call   0x413215
40e69d:	85 c0                	test   %eax,%eax
40e69f:	79 09                	jns    0x40e6aa
40e6a1:	33 c0                	xor    %eax,%eax
40e6a3:	66 89 85 fc fd ff ff 	mov    %ax,-0x204(%ebp)
40e6aa:	83 3d 30 1f 42 00 00 	cmpl   $0x0,0x421f30
40e6b1:	8d 85 fc fd ff ff    	lea    -0x204(%ebp),%eax
40e6b7:	74 0a                	je     0x40e6c3
40e6b9:	50                   	push   %eax
40e6ba:	ff 15 48 35 42 00    	call   *0x423548
40e6c0:	59                   	pop    %ecx
40e6c1:	eb 1b                	jmp    0x40e6de
40e6c3:	6a 00                	push   $0x0
40e6c5:	6a 10                	push   $0x10
40e6c7:	50                   	push   %eax
40e6c8:	ff 15 5c 31 42 00    	call   *0x42315c
40e6ce:	8b 0d 00 0a 42 00    	mov    0x420a00,%ecx
40e6d4:	85 c9                	test   %ecx,%ecx
40e6d6:	74 06                	je     0x40e6de
40e6d8:	ff 15 60 31 42 00    	call   *0x423160
40e6de:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40e6e1:	33 cd                	xor    %ebp,%ecx
40e6e3:	e8 38 cf 00 00       	call   0x41b620
40e6e8:	c9                   	leave
40e6e9:	c3                   	ret
40e6ea:	8b ff                	mov    %edi,%edi
40e6ec:	55                   	push   %ebp
40e6ed:	8b ec                	mov    %esp,%ebp
40e6ef:	81 ec 04 04 00 00    	sub    $0x404,%esp
40e6f5:	a1 e4 05 42 00       	mov    0x4205e4,%eax
40e6fa:	33 c5                	xor    %ebp,%eax
40e6fc:	89 45 fc             	mov    %eax,-0x4(%ebp)
40e6ff:	8b 45 08             	mov    0x8(%ebp),%eax
40e702:	33 d2                	xor    %edx,%edx
40e704:	6a 50                	push   $0x50
40e706:	59                   	pop    %ecx
40e707:	f7 f1                	div    %ecx
40e709:	85 d2                	test   %edx,%edx
40e70b:	74 18                	je     0x40e725
40e70d:	57                   	push   %edi
40e70e:	8b ca                	mov    %edx,%ecx
40e710:	8d bd fc fd ff ff    	lea    -0x204(%ebp),%edi
40e716:	d1 e9                	shr    $1,%ecx
40e718:	b8 20 00 20 00       	mov    $0x200020,%eax
40e71d:	f3 ab                	rep stos %eax,%es:(%edi)
40e71f:	13 c9                	adc    %ecx,%ecx
40e721:	66 f3 ab             	rep stos %ax,%es:(%edi)
40e724:	5f                   	pop    %edi
40e725:	b8 00 01 00 00       	mov    $0x100,%eax
40e72a:	2b c2                	sub    %edx,%eax
40e72c:	83 f8 01             	cmp    $0x1,%eax
40e72f:	72 47                	jb     0x40e778
40e731:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40e734:	50                   	push   %eax
40e735:	8d 85 fc fd ff ff    	lea    -0x204(%ebp),%eax
40e73b:	8d 14 50             	lea    (%eax,%edx,2),%edx
40e73e:	e8 dc 00 00 00       	call   0x40e81f
40e743:	85 c0                	test   %eax,%eax
40e745:	74 31                	je     0x40e778
40e747:	8d 45 10             	lea    0x10(%ebp),%eax
40e74a:	50                   	push   %eax
40e74b:	8d 85 fc fd ff ff    	lea    -0x204(%ebp),%eax
40e751:	50                   	push   %eax
40e752:	8d 8d fc fb ff ff    	lea    -0x404(%ebp),%ecx
40e758:	e8 b8 4a 00 00       	call   0x413215
40e75d:	85 c0                	test   %eax,%eax
40e75f:	79 09                	jns    0x40e76a
40e761:	33 c0                	xor    %eax,%eax
40e763:	66 89 85 fc fb ff ff 	mov    %ax,-0x404(%ebp)
40e76a:	8d 85 fc fb ff ff    	lea    -0x404(%ebp),%eax
40e770:	50                   	push   %eax
40e771:	ff 15 48 35 42 00    	call   *0x423548
40e777:	59                   	pop    %ecx
40e778:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40e77b:	33 cd                	xor    %ebp,%ecx
40e77d:	e8 9e ce 00 00       	call   0x41b620
40e782:	c9                   	leave
40e783:	c3                   	ret
40e784:	8b ff                	mov    %edi,%edi
40e786:	55                   	push   %ebp
40e787:	8b ec                	mov    %esp,%ebp
40e789:	81 ec 04 02 00 00    	sub    $0x204,%esp
40e78f:	a1 e4 05 42 00       	mov    0x4205e4,%eax
40e794:	33 c5                	xor    %ebp,%eax
40e796:	89 45 fc             	mov    %eax,-0x4(%ebp)
40e799:	56                   	push   %esi
40e79a:	8b f2                	mov    %edx,%esi
40e79c:	8b c1                	mov    %ecx,%eax
40e79e:	6a 50                	push   $0x50
40e7a0:	33 d2                	xor    %edx,%edx
40e7a2:	59                   	pop    %ecx
40e7a3:	f7 f1                	div    %ecx
40e7a5:	85 d2                	test   %edx,%edx
40e7a7:	74 18                	je     0x40e7c1
40e7a9:	57                   	push   %edi
40e7aa:	8b ca                	mov    %edx,%ecx
40e7ac:	8d bd fc fd ff ff    	lea    -0x204(%ebp),%edi
40e7b2:	d1 e9                	shr    $1,%ecx
40e7b4:	b8 20 00 20 00       	mov    $0x200020,%eax
40e7b9:	f3 ab                	rep stos %eax,%es:(%edi)
40e7bb:	13 c9                	adc    %ecx,%ecx
40e7bd:	66 f3 ab             	rep stos %ax,%es:(%edi)
40e7c0:	5f                   	pop    %edi
40e7c1:	b8 00 01 00 00       	mov    $0x100,%eax
40e7c6:	2b c2                	sub    %edx,%eax
40e7c8:	83 f8 01             	cmp    $0x1,%eax
40e7cb:	72 11                	jb     0x40e7de
40e7cd:	50                   	push   %eax
40e7ce:	8d 85 fc fd ff ff    	lea    -0x204(%ebp),%eax
40e7d4:	8b ce                	mov    %esi,%ecx
40e7d6:	8d 14 50             	lea    (%eax,%edx,2),%edx
40e7d9:	e8 41 00 00 00       	call   0x40e81f
40e7de:	83 3d 30 1f 42 00 00 	cmpl   $0x0,0x421f30
40e7e5:	8d 85 fc fd ff ff    	lea    -0x204(%ebp),%eax
40e7eb:	5e                   	pop    %esi
40e7ec:	74 0a                	je     0x40e7f8
40e7ee:	50                   	push   %eax
40e7ef:	ff 15 48 35 42 00    	call   *0x423548
40e7f5:	59                   	pop    %ecx
40e7f6:	eb 1b                	jmp    0x40e813
40e7f8:	6a 00                	push   $0x0
40e7fa:	6a 40                	push   $0x40
40e7fc:	50                   	push   %eax
40e7fd:	ff 15 5c 31 42 00    	call   *0x42315c
40e803:	8b 0d 00 0a 42 00    	mov    0x420a00,%ecx
40e809:	85 c9                	test   %ecx,%ecx
40e80b:	74 06                	je     0x40e813
40e80d:	ff 15 60 31 42 00    	call   *0x423160
40e813:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40e816:	33 cd                	xor    %ebp,%ecx
40e818:	e8 03 ce 00 00       	call   0x41b620
40e81d:	c9                   	leave
40e81e:	c3                   	ret
40e81f:	8b ff                	mov    %edi,%edi
40e821:	55                   	push   %ebp
40e822:	8b ec                	mov    %esp,%ebp
40e824:	ff 75 08             	push   0x8(%ebp)
40e827:	52                   	push   %edx
40e828:	51                   	push   %ecx
40e829:	ff 35 28 15 42 00    	push   0x421528
40e82f:	ff 15 60 34 42 00    	call   *0x423460
40e835:	33 c9                	xor    %ecx,%ecx
40e837:	3b c8                	cmp    %eax,%ecx
40e839:	1b c0                	sbb    %eax,%eax
40e83b:	f7 d8                	neg    %eax
40e83d:	5d                   	pop    %ebp
40e83e:	c2 04 00             	ret    $0x4
40e841:	8b ff                	mov    %edi,%edi
40e843:	55                   	push   %ebp
40e844:	8b ec                	mov    %esp,%ebp
40e846:	81 ec 04 02 00 00    	sub    $0x204,%esp
40e84c:	a1 e4 05 42 00       	mov    0x4205e4,%eax
40e851:	33 c5                	xor    %ebp,%eax
40e853:	89 45 fc             	mov    %eax,-0x4(%ebp)
40e856:	56                   	push   %esi
40e857:	57                   	push   %edi
40e858:	68 00 01 00 00       	push   $0x100
40e85d:	8d 85 fc fd ff ff    	lea    -0x204(%ebp),%eax
40e863:	8b f2                	mov    %edx,%esi
40e865:	50                   	push   %eax
40e866:	51                   	push   %ecx
40e867:	ff 35 28 15 42 00    	push   0x421528
40e86d:	ff 15 60 34 42 00    	call   *0x423460
40e873:	33 c9                	xor    %ecx,%ecx
40e875:	3b c8                	cmp    %eax,%ecx
40e877:	8b ce                	mov    %esi,%ecx
40e879:	1b ff                	sbb    %edi,%edi
40e87b:	f7 df                	neg    %edi
40e87d:	85 c0                	test   %eax,%eax
40e87f:	74 0f                	je     0x40e890
40e881:	8d 85 fc fd ff ff    	lea    -0x204(%ebp),%eax
40e887:	50                   	push   %eax
40e888:	ff 15 08 34 42 00    	call   *0x423408
40e88e:	eb 0b                	jmp    0x40e89b
40e890:	68 d6 5a 40 00       	push   $0x405ad6
40e895:	ff 15 64 31 42 00    	call   *0x423164
40e89b:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40e89e:	8b c7                	mov    %edi,%eax
40e8a0:	5f                   	pop    %edi
40e8a1:	33 cd                	xor    %ebp,%ecx
40e8a3:	5e                   	pop    %esi
40e8a4:	e8 77 cd 00 00       	call   0x41b620
40e8a9:	c9                   	leave