4075a5:	ff 15 6c 34 42 00    	call   *0x42346c
4075ab:	c3                   	ret
4075ac:	6a 04                	push   $0x4
4075ae:	b8 f4 c7 41 00       	mov    $0x41c7f4,%eax
4075b3:	e8 80 4e 01 00       	call   0x41c438
4075b8:	8b f1                	mov    %ecx,%esi
4075ba:	89 75 f0             	mov    %esi,-0x10(%ebp)
4075bd:	ff 15 44 33 42 00    	call   *0x423344
4075c3:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4075c7:	c7 06 b8 12 40 00    	movl   $0x4012b8,(%esi)
4075cd:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
4075d1:	8b c6                	mov    %esi,%eax
4075d3:	e8 2e 4e 01 00       	call   0x41c406
4075d8:	c3                   	ret
4075d9:	6a 58                	push   $0x58
4075db:	b8 79 c8 41 00       	mov    $0x41c879,%eax
4075e0:	e8 53 4e 01 00       	call   0x41c438
4075e5:	8b f2                	mov    %edx,%esi
4075e7:	8b f9                	mov    %ecx,%edi
4075e9:	83 65 f0 00          	andl   $0x0,-0x10(%ebp)
4075ed:	8d 4d 9c             	lea    -0x64(%ebp),%ecx
4075f0:	ff 15 d0 33 42 00    	call   *0x4233d0
4075f6:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4075fa:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
4075fd:	ff 15 40 32 42 00    	call   *0x423240
407603:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
407607:	8d 4d dc             	lea    -0x24(%ebp),%ecx
40760a:	ff 15 40 32 42 00    	call   *0x423240
407610:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
407614:	8d 4d e0             	lea    -0x20(%ebp),%ecx
407617:	ff 15 40 32 42 00    	call   *0x423240
40761d:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
407621:	8d 4d e8             	lea    -0x18(%ebp),%ecx
407624:	ff 15 40 32 42 00    	call   *0x423240
40762a:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
40762e:	8b d6                	mov    %esi,%edx
407630:	83 65 d8 00          	andl   $0x0,-0x28(%ebp)
407634:	8b cf                	mov    %edi,%ecx
407636:	68 20 14 42 00       	push   $0x421420
40763b:	e8 ab 04 00 00       	call   0x407aeb
407640:	85 c0                	test   %eax,%eax
407642:	0f 85 42 04 00 00    	jne    0x407a8a
407648:	68 a0 13 42 00       	push   $0x4213a0
40764d:	8b d6                	mov    %esi,%edx
40764f:	8b cf                	mov    %edi,%ecx
407651:	e8 95 04 00 00       	call   0x407aeb
407656:	85 c0                	test   %eax,%eax
407658:	0f 85 2c 04 00 00    	jne    0x407a8a
40765e:	68 20 13 42 00       	push   $0x421320
407663:	8b d6                	mov    %esi,%edx
407665:	8b cf                	mov    %edi,%ecx
407667:	e8 7f 04 00 00       	call   0x407aeb
40766c:	83 f8 01             	cmp    $0x1,%eax
40766f:	75 13                	jne    0x407684
407671:	50                   	push   %eax
407672:	e8 75 4d 01 00       	call   0x41c3ec
407677:	59                   	pop    %ecx
407678:	8b c8                	mov    %eax,%ecx
40767a:	e8 61 9f 00 00       	call   0x4115e0
40767f:	e9 0b 04 00 00       	jmp    0x407a8f
407684:	68 a0 12 42 00       	push   $0x4212a0
407689:	8b d6                	mov    %esi,%edx
40768b:	8b cf                	mov    %edi,%ecx
40768d:	e8 59 04 00 00       	call   0x407aeb
407692:	83 f8 01             	cmp    $0x1,%eax
407695:	75 0a                	jne    0x4076a1
407697:	e8 3b af 00 00       	call   0x4125d7
40769c:	e9 ee 03 00 00       	jmp    0x407a8f
4076a1:	68 20 12 42 00       	push   $0x421220
4076a6:	8b d6                	mov    %esi,%edx
4076a8:	8b cf                	mov    %edi,%ecx
4076aa:	e8 3c 04 00 00       	call   0x407aeb
4076af:	83 f8 01             	cmp    $0x1,%eax
4076b2:	75 3f                	jne    0x4076f3
4076b4:	e8 c1 7d 00 00       	call   0x40f47a
4076b9:	85 c0                	test   %eax,%eax
4076bb:	74 2a                	je     0x4076e7
4076bd:	83 3d f8 09 42 00 00 	cmpl   $0x0,0x4209f8
4076c4:	74 0e                	je     0x4076d4
4076c6:	c7 45 d8 02 00 00 00 	movl   $0x2,-0x28(%ebp)
4076cd:	be ff 00 00 00       	mov    $0xff,%esi
4076d2:	eb 09                	jmp    0x4076dd
4076d4:	83 65 d8 00          	andl   $0x0,-0x28(%ebp)
4076d8:	be ef 00 00 00       	mov    $0xef,%esi
4076dd:	ba 38 01 00 00       	mov    $0x138,%edx
4076e2:	e9 2b 01 00 00       	jmp    0x407812
4076e7:	c7 45 d8 01 00 00 00 	movl   $0x1,-0x28(%ebp)
4076ee:	e9 9c 03 00 00       	jmp    0x407a8f
4076f3:	8b d6                	mov    %esi,%edx
4076f5:	8b cf                	mov    %edi,%ecx
4076f7:	e8 54 04 00 00       	call   0x407b50
4076fc:	83 f8 01             	cmp    $0x1,%eax
4076ff:	0f 84 8a 03 00 00    	je     0x407a8f
407705:	8d 45 b8             	lea    -0x48(%ebp),%eax
407708:	83 65 bc 00          	andl   $0x0,-0x44(%ebp)
40770c:	50                   	push   %eax
40770d:	8d 45 e0             	lea    -0x20(%ebp),%eax
407710:	83 65 d4 00          	andl   $0x0,-0x2c(%ebp)
407714:	50                   	push   %eax
407715:	8d 45 dc             	lea    -0x24(%ebp),%eax
407718:	83 65 d0 00          	andl   $0x0,-0x30(%ebp)
40771c:	50                   	push   %eax
40771d:	8d 45 cc             	lea    -0x34(%ebp),%eax
407720:	83 65 c0 00          	andl   $0x0,-0x40(%ebp)
407724:	50                   	push   %eax
407725:	83 65 c4 00          	andl   $0x0,-0x3c(%ebp)
407729:	8d 45 c4             	lea    -0x3c(%ebp),%eax
40772c:	50                   	push   %eax
40772d:	83 65 c8 00          	andl   $0x0,-0x38(%ebp)
407731:	8d 45 b4             	lea    -0x4c(%ebp),%eax
407734:	50                   	push   %eax
407735:	8d 45 c0             	lea    -0x40(%ebp),%eax
407738:	8b d6                	mov    %esi,%edx
40773a:	50                   	push   %eax
40773b:	8d 45 d0             	lea    -0x30(%ebp),%eax
40773e:	8b cf                	mov    %edi,%ecx
407740:	50                   	push   %eax
407741:	8d 45 9c             	lea    -0x64(%ebp),%eax
407744:	50                   	push   %eax
407745:	8d 45 d4             	lea    -0x2c(%ebp),%eax
407748:	50                   	push   %eax
407749:	8d 45 b0             	lea    -0x50(%ebp),%eax
40774c:	50                   	push   %eax
40774d:	8d 45 bc             	lea    -0x44(%ebp),%eax
407750:	50                   	push   %eax
407751:	8d 45 ec             	lea    -0x14(%ebp),%eax
407754:	50                   	push   %eax
407755:	8d 45 c8             	lea    -0x38(%ebp),%eax
407758:	50                   	push   %eax
407759:	e8 46 05 00 00       	call   0x407ca4
40775e:	83 7d c8 01          	cmpl   $0x1,-0x38(%ebp)
407762:	74 83                	je     0x4076e7
407764:	8b 45 c4             	mov    -0x3c(%ebp),%eax
407767:	8b 75 c0             	mov    -0x40(%ebp),%esi
40776a:	85 c0                	test   %eax,%eax
40776c:	74 0d                	je     0x40777b
40776e:	85 f6                	test   %esi,%esi
407770:	75 09                	jne    0x40777b
407772:	83 4d ec 04          	orl    $0x4,-0x14(%ebp)
407776:	33 db                	xor    %ebx,%ebx
407778:	43                   	inc    %ebx
407779:	eb 03                	jmp    0x40777e
40777b:	8b 5d bc             	mov    -0x44(%ebp),%ebx
40777e:	8b 7d d0             	mov    -0x30(%ebp),%edi
407781:	85 db                	test   %ebx,%ebx
407783:	75 2e                	jne    0x4077b3
407785:	83 7d d4 00          	cmpl   $0x0,-0x2c(%ebp)
407789:	75 32                	jne    0x4077bd
40778b:	85 ff                	test   %edi,%edi
40778d:	75 2e                	jne    0x4077bd
40778f:	85 f6                	test   %esi,%esi
407791:	0f 84 6d 02 00 00    	je     0x407a04
407797:	85 c0                	test   %eax,%eax
407799:	0f 84 65 02 00 00    	je     0x407a04
40779f:	8b 4d cc             	mov    -0x34(%ebp),%ecx
4077a2:	8d 45 e0             	lea    -0x20(%ebp),%eax
4077a5:	50                   	push   %eax
4077a6:	8d 55 dc             	lea    -0x24(%ebp),%edx
4077a9:	e8 67 a6 00 00       	call   0x411e15
4077ae:	e9 dc 02 00 00       	jmp    0x407a8f
4077b3:	8b d6                	mov    %esi,%edx
4077b5:	8d 4d ec             	lea    -0x14(%ebp),%ecx
4077b8:	e8 49 b5 00 00       	call   0x412d06
4077bd:	85 f6                	test   %esi,%esi
4077bf:	74 66                	je     0x407827
4077c1:	33 ff                	xor    %edi,%edi
4077c3:	85 db                	test   %ebx,%ebx
4077c5:	74 09                	je     0x4077d0
4077c7:	8b 4d ec             	mov    -0x14(%ebp),%ecx
4077ca:	e8 ea a2 00 00       	call   0x411ab9
4077cf:	47                   	inc    %edi
4077d0:	83 7d a4 00          	cmpl   $0x0,-0x5c(%ebp)
4077d4:	be 38 01 00 00       	mov    $0x138,%esi
4077d9:	7e 21                	jle    0x4077fc
4077db:	33 ff                	xor    %edi,%edi
4077dd:	8b d6                	mov    %esi,%edx
4077df:	33 c9                	xor    %ecx,%ecx
4077e1:	47                   	inc    %edi
4077e2:	e8 9d 6f 00 00       	call   0x40e784
4077e7:	83 7d b4 00          	cmpl   $0x0,-0x4c(%ebp)
4077eb:	8d 4d 9c             	lea    -0x64(%ebp),%ecx
4077ee:	74 07                	je     0x4077f7
4077f0:	e8 76 a3 00 00       	call   0x411b6b
4077f5:	eb 0d                	jmp    0x407804
4077f7:	e8 c2 a4 00 00       	call   0x411cbe
4077fc:	85 ff                	test   %edi,%edi
4077fe:	0f 84 8b 02 00 00    	je     0x407a8f
407804:	8b d6                	mov    %esi,%edx
407806:	33 c9                	xor    %ecx,%ecx
407808:	e8 77 6f 00 00       	call   0x40e784
40780d:	ba fa 00 00 00       	mov    $0xfa,%edx
407812:	33 c9                	xor    %ecx,%ecx
407814:	e8 6b 6f 00 00       	call   0x40e784
407819:	8b d6                	mov    %esi,%edx
40781b:	33 c9                	xor    %ecx,%ecx
40781d:	e8 62 6f 00 00       	call   0x40e784
407822:	e9 68 02 00 00       	jmp    0x407a8f
407827:	ff 35 1c 12 42 00    	push   0x42121c
40782d:	8b 15 10 12 42 00    	mov    0x421210,%edx
407833:	b9 0c 0a 42 00       	mov    $0x420a0c,%ecx
407838:	68 18 12 42 00       	push   $0x421218
40783d:	68 14 12 42 00       	push   $0x421214
407842:	e8 cb 76 00 00       	call   0x40ef12
407847:	85 ff                	test   %edi,%edi
407849:	0f 84 cf 00 00 00    	je     0x40791e
40784f:	8b 7d a4             	mov    -0x5c(%ebp),%edi
407852:	33 f6                	xor    %esi,%esi
407854:	85 ff                	test   %edi,%edi
407856:	0f 8e c2 00 00 00    	jle    0x40791e
40785c:	8b 45 e4             	mov    -0x1c(%ebp),%eax
40785f:	83 78 f8 00          	cmpl   $0x0,-0x8(%eax)
407863:	7e 0b                	jle    0x407870
407865:	6a 20                	push   $0x20
407867:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
40786a:	ff 15 d8 33 42 00    	call   *0x4233d8
407870:	85 f6                	test   %esi,%esi
407872:	0f 88 dd 00 00 00    	js     0x407955
407878:	3b 75 a4             	cmp    -0x5c(%ebp),%esi
40787b:	0f 8d d4 00 00 00    	jge    0x407955
407881:	8b 45 a0             	mov    -0x60(%ebp),%eax
407884:	8d 4d e8             	lea    -0x18(%ebp),%ecx
407887:	8d 04 b0             	lea    (%eax,%esi,4),%eax
40788a:	50                   	push   %eax
40788b:	ff 15 80 33 42 00    	call   *0x423380
407891:	6a 20                	push   $0x20
407893:	8d 4d e8             	lea    -0x18(%ebp),%ecx
407896:	ff 15 e0 33 42 00    	call   *0x4233e0
40789c:	85 c0                	test   %eax,%eax
40789e:	79 0f                	jns    0x4078af
4078a0:	6a 09                	push   $0x9
4078a2:	8d 4d e8             	lea    -0x18(%ebp),%ecx
4078a5:	ff 15 e0 33 42 00    	call   *0x4233e0
4078ab:	85 c0                	test   %eax,%eax
4078ad:	78 59                	js     0x407908
4078af:	c6 45 fc 05          	movb   $0x5,-0x4(%ebp)
4078b3:	8d 45 e8             	lea    -0x18(%ebp),%eax
4078b6:	50                   	push   %eax
4078b7:	6a 22                	push   $0x22
4078b9:	8d 45 bc             	lea    -0x44(%ebp),%eax
4078bc:	50                   	push   %eax
4078bd:	ff 15 e8 33 42 00    	call   *0x4233e8
4078c3:	83 4d f0 01          	orl    $0x1,-0x10(%ebp)
4078c7:	c6 45 fc 06          	movb   $0x6,-0x4(%ebp)
4078cb:	6a 22                	push   $0x22
4078cd:	50                   	push   %eax
4078ce:	8d 45 b4             	lea    -0x4c(%ebp),%eax
4078d1:	50                   	push   %eax
4078d2:	ff 15 e4 33 42 00    	call   *0x4233e4
4078d8:	83 4d f0 02          	orl    $0x2,-0x10(%ebp)
4078dc:	8d 4d e8             	lea    -0x18(%ebp),%ecx
4078df:	50                   	push   %eax
4078e0:	ff 15 80 33 42 00    	call   *0x423380
4078e6:	83 65 f0 fd          	andl   $0xfffffffd,-0x10(%ebp)
4078ea:	c6 45 fc 05          	movb   $0x5,-0x4(%ebp)
4078ee:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
4078f1:	ff 15 44 32 42 00    	call   *0x423244
4078f7:	83 65 f0 fe          	andl   $0xfffffffe,-0x10(%ebp)
4078fb:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
4078ff:	8d 4d bc             	lea    -0x44(%ebp),%ecx
407902:	ff 15 44 32 42 00    	call   *0x423244
407908:	8d 45 e8             	lea    -0x18(%ebp),%eax
40790b:	50                   	push   %eax
40790c:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
40790f:	ff 15 ec 33 42 00    	call   *0x4233ec
407915:	46                   	inc    %esi
407916:	3b f7                	cmp    %edi,%esi
407918:	0f 8c 3e ff ff ff    	jl     0x40785c
40791e:	68 e0 43 40 00       	push   $0x4043e0
407923:	ff 75 e4             	push   -0x1c(%ebp)
407926:	ff 15 64 35 42 00    	call   *0x423564
40792c:	8b 35 18 12 42 00    	mov    0x421218,%esi
407932:	f7 d8                	neg    %eax
407934:	59                   	pop    %ecx
407935:	59                   	pop    %ecx
407936:	6a 38                	push   $0x38
407938:	1b c0                	sbb    %eax,%eax
40793a:	8b ce                	mov    %esi,%ecx
40793c:	5a                   	pop    %edx
40793d:	23 ca                	and    %edx,%ecx
40793f:	40                   	inc    %eax
407940:	3a ca                	cmp    %dl,%cl
407942:	8b 4d b0             	mov    -0x50(%ebp),%ecx
407945:	75 04                	jne    0x40794b
407947:	85 c9                	test   %ecx,%ecx
407949:	75 1d                	jne    0x407968
40794b:	f6 c1 08             	test   $0x8,%cl
40794e:	74 0b                	je     0x40795b
407950:	6a 08                	push   $0x8
407952:	5a                   	pop    %edx
407953:	eb 13                	jmp    0x407968
407955:	ff 15 dc 33 42 00    	call   *0x4233dc
40795b:	80 e1 10             	and    $0x10,%cl
40795e:	0f b6 d1             	movzbl %cl,%edx
407961:	f7 da                	neg    %edx
407963:	1b d2                	sbb    %edx,%edx
407965:	83 e2 18             	and    $0x18,%edx
407968:	8b fe                	mov    %esi,%edi
40796a:	83 e7 c7             	and    $0xffffffc7,%edi
40796d:	0b fa                	or     %edx,%edi
40796f:	83 7d d0 00          	cmpl   $0x0,-0x30(%ebp)
407973:	74 15                	je     0x40798a
407975:	85 c0                	test   %eax,%eax
407977:	0f 84 bd 00 00 00    	je     0x407a3a
40797d:	83 3d 0c 0a 42 00 00 	cmpl   $0x0,0x420a0c
407984:	0f 84 e4 00 00 00    	je     0x407a6e
40798a:	8b 4d ec             	mov    -0x14(%ebp),%ecx
40798d:	8b 15 14 12 42 00    	mov    0x421214,%edx
407993:	85 db                	test   %ebx,%ebx
407995:	74 04                	je     0x40799b
407997:	3b ca                	cmp    %edx,%ecx
407999:	75 0a                	jne    0x4079a5
40799b:	83 7d d4 00          	cmpl   $0x0,-0x2c(%ebp)
40799f:	74 24                	je     0x4079c5
4079a1:	3b fe                	cmp    %esi,%edi
4079a3:	74 20                	je     0x4079c5
4079a5:	51                   	push   %ecx
4079a6:	6a 00                	push   $0x0
4079a8:	51                   	push   %ecx
4079a9:	6a 00                	push   $0x0
4079ab:	57                   	push   %edi
4079ac:	ff 75 d4             	push   -0x2c(%ebp)
4079af:	8d 55 e4             	lea    -0x1c(%ebp),%edx
4079b2:	51                   	push   %ecx
4079b3:	8b 4d d0             	mov    -0x30(%ebp),%ecx
4079b6:	53                   	push   %ebx
4079b7:	e8 e3 72 00 00       	call   0x40ec9f
4079bc:	8b 4d ec             	mov    -0x14(%ebp),%ecx
4079bf:	8b 15 14 12 42 00    	mov    0x421214,%edx
4079c5:	8b c1                	mov    %ecx,%eax
4079c7:	83 e2 04             	and    $0x4,%edx
4079ca:	83 e0 04             	and    $0x4,%eax
4079cd:	3b c2                	cmp    %edx,%eax
4079cf:	75 20                	jne    0x4079f1
4079d1:	ff 75 b8             	push   -0x48(%ebp)
4079d4:	8b 0d 1c 12 42 00    	mov    0x42121c,%ecx
4079da:	8d 45 e0             	lea    -0x20(%ebp),%eax
4079dd:	50                   	push   %eax
4079de:	8d 45 dc             	lea    -0x24(%ebp),%eax
4079e1:	50                   	push   %eax
4079e2:	ff 75 cc             	push   -0x34(%ebp)
4079e5:	e8 24 d2 00 00       	call   0x414c0e
4079ea:	85 c0                	test   %eax,%eax
4079ec:	74 16                	je     0x407a04
4079ee:	8b 4d ec             	mov    -0x14(%ebp),%ecx
4079f1:	ff 75 b8             	push   -0x48(%ebp)
4079f4:	8b 55 cc             	mov    -0x34(%ebp),%edx
4079f7:	8d 45 e0             	lea    -0x20(%ebp),%eax
4079fa:	50                   	push   %eax
4079fb:	8d 45 dc             	lea    -0x24(%ebp),%eax
4079fe:	50                   	push   %eax