40767d:	00
40767e:	ff d7                	call   *%edi
407680:	85 c0                	test   %eax,%eax
407682:	75 0d                	jne    0x407691
407684:	8d 4c 24 10          	lea    0x10(%esp),%ecx
407688:	51                   	push   %ecx
407689:	e8 62 b3 ff ff       	call   0x4029f0
40768e:	83 c4 04             	add    $0x4,%esp
407691:	5f                   	pop    %edi
407692:	5e                   	pop    %esi
407693:	8b c3                	mov    %ebx,%eax
407695:	5b                   	pop    %ebx
407696:	81 c4 14 04 00 00    	add    $0x414,%esp
40769c:	c3                   	ret
40769d:	5e                   	pop    %esi
40769e:	8b c3                	mov    %ebx,%eax
4076a0:	5b                   	pop    %ebx
4076a1:	81 c4 14 04 00 00    	add    $0x414,%esp
4076a7:	c3                   	ret
4076a8:	cc                   	int3
4076a9:	cc                   	int3
4076aa:	cc                   	int3
4076ab:	cc                   	int3
4076ac:	cc                   	int3
4076ad:	cc                   	int3
4076ae:	cc                   	int3
4076af:	cc                   	int3
4076b0:	81 ec 18 02 00 00    	sub    $0x218,%esp
4076b6:	57                   	push   %edi
4076b7:	68 04 01 00 00       	push   $0x104
4076bc:	8d 44 24 18          	lea    0x18(%esp),%eax
4076c0:	68 60 cb 45 00       	push   $0x45cb60
4076c5:	50                   	push   %eax
4076c6:	e8 df 93 02 00       	call   0x430aaa
4076cb:	8d 4c 24 20          	lea    0x20(%esp),%ecx
4076cf:	51                   	push   %ecx
4076d0:	e8 bb e7 ff ff       	call   0x405e90
4076d5:	83 c4 10             	add    $0x10,%esp
4076d8:	6a 00                	push   $0x0
4076da:	8d 54 24 10          	lea    0x10(%esp),%edx
4076de:	52                   	push   %edx
4076df:	6a 00                	push   $0x0
4076e1:	e8 2a b8 ff ff       	call   0x402f10
4076e6:	8b 3d 6c 33 47 00    	mov    0x47336c,%edi
4076ec:	0d 06 00 02 00       	or     $0x20006,%eax
4076f1:	50                   	push   %eax
4076f2:	6a 00                	push   $0x0
4076f4:	6a 00                	push   $0x0
4076f6:	6a 00                	push   $0x0
4076f8:	8d 44 24 30          	lea    0x30(%esp),%eax
4076fc:	50                   	push   %eax
4076fd:	68 02 00 00 80       	push   $0x80000002
407702:	ff d7                	call   *%edi
407704:	85 c0                	test   %eax,%eax
407706:	0f 85 9a 01 00 00    	jne    0x4078a6
40770c:	8d 4c 24 10          	lea    0x10(%esp),%ecx
407710:	51                   	push   %ecx
407711:	89 44 24 14          	mov    %eax,0x14(%esp)
407715:	e8 f6 b3 ff ff       	call   0x402b10
40771a:	83 c4 04             	add    $0x4,%esp
40771d:	81 7c 24 10 8c 00 00 	cmpl   $0x8c,0x10(%esp)
407724:	00
407725:	ba 00 cb 45 00       	mov    $0x45cb00,%edx
40772a:	73 05                	jae    0x407731
40772c:	ba a8 ca 45 00       	mov    $0x45caa8,%edx
407731:	8b c2                	mov    %edx,%eax
407733:	56                   	push   %esi
407734:	8d 70 02             	lea    0x2(%eax),%esi
407737:	66 8b 08             	mov    (%eax),%cx
40773a:	83 c0 02             	add    $0x2,%eax
40773d:	66 85 c9             	test   %cx,%cx
407740:	75 f5                	jne    0x407737
407742:	8b 4c 24 10          	mov    0x10(%esp),%ecx
407746:	2b c6                	sub    %esi,%eax
407748:	8b 35 b8 33 47 00    	mov    0x4733b8,%esi
40774e:	d1 f8                	sar    $1,%eax
407750:	8d 44 00 02          	lea    0x2(%eax,%eax,1),%eax
407754:	50                   	push   %eax
407755:	52                   	push   %edx
407756:	6a 02                	push   $0x2
407758:	6a 00                	push   $0x0
40775a:	68 fc cc 45 00       	push   $0x45ccfc
40775f:	51                   	push   %ecx
407760:	ff d6                	call   *%esi
407762:	85 c0                	test   %eax,%eax
407764:	0f 85 3b 01 00 00    	jne    0x4078a5
40776a:	6a 04                	push   $0x4
40776c:	8d 54 24 0c          	lea    0xc(%esp),%edx
407770:	52                   	push   %edx
407771:	6a 04                	push   $0x4
407773:	50                   	push   %eax
407774:	8b 44 24 20          	mov    0x20(%esp),%eax
407778:	68 ec cc 45 00       	push   $0x45ccec
40777d:	50                   	push   %eax
40777e:	c7 44 24 20 00 00 50 	movl   $0x500000,0x20(%esp)
407785:	00
407786:	ff d6                	call   *%esi
407788:	85 c0                	test   %eax,%eax
40778a:	0f 85 15 01 00 00    	jne    0x4078a5
407790:	8b 54 24 10          	mov    0x10(%esp),%edx
407794:	6a 04                	push   $0x4
407796:	8d 4c 24 0c          	lea    0xc(%esp),%ecx
40779a:	51                   	push   %ecx
40779b:	6a 04                	push   $0x4
40779d:	50                   	push   %eax
40779e:	68 d8 cc 45 00       	push   $0x45ccd8
4077a3:	52                   	push   %edx
4077a4:	89 44 24 20          	mov    %eax,0x20(%esp)
4077a8:	ff d6                	call   *%esi
4077aa:	85 c0                	test   %eax,%eax
4077ac:	0f 85 f3 00 00 00    	jne    0x4078a5
4077b2:	68 04 01 00 00       	push   $0x104
4077b7:	8d 44 24 1c          	lea    0x1c(%esp),%eax
4077bb:	68 d0 cb 45 00       	push   $0x45cbd0
4077c0:	50                   	push   %eax
4077c1:	e8 e4 92 02 00       	call   0x430aaa
4077c6:	8d 4c 24 24          	lea    0x24(%esp),%ecx
4077ca:	51                   	push   %ecx
4077cb:	e8 c0 e6 ff ff       	call   0x405e90
4077d0:	83 c4 10             	add    $0x10,%esp
4077d3:	6a 00                	push   $0x0
4077d5:	8d 54 24 10          	lea    0x10(%esp),%edx
4077d9:	52                   	push   %edx
4077da:	6a 00                	push   $0x0
4077dc:	e8 2f b7 ff ff       	call   0x402f10
4077e1:	0d 06 00 02 00       	or     $0x20006,%eax
4077e6:	50                   	push   %eax
4077e7:	6a 00                	push   $0x0
4077e9:	6a 00                	push   $0x0
4077eb:	6a 00                	push   $0x0
4077ed:	8d 44 24 34          	lea    0x34(%esp),%eax
4077f1:	50                   	push   %eax
4077f2:	68 02 00 00 80       	push   $0x80000002
4077f7:	ff d7                	call   *%edi
4077f9:	85 c0                	test   %eax,%eax
4077fb:	0f 85 a4 00 00 00    	jne    0x4078a5
407801:	8b 54 24 0c          	mov    0xc(%esp),%edx
407805:	6a 04                	push   $0x4
407807:	8d 4c 24 0c          	lea    0xc(%esp),%ecx
40780b:	51                   	push   %ecx
40780c:	6a 04                	push   $0x4
40780e:	50                   	push   %eax
40780f:	68 b8 cc 45 00       	push   $0x45ccb8
407814:	52                   	push   %edx
407815:	c7 44 24 20 07 00 00 	movl   $0x7,0x20(%esp)
40781c:	00
40781d:	ff d6                	call   *%esi
40781f:	85 c0                	test   %eax,%eax
407821:	0f 85 7e 00 00 00    	jne    0x4078a5
407827:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
40782b:	6a 04                	push   $0x4
40782d:	89 44 24 0c          	mov    %eax,0xc(%esp)
407831:	8d 44 24 0c          	lea    0xc(%esp),%eax
407835:	50                   	push   %eax
407836:	6a 04                	push   $0x4
407838:	6a 00                	push   $0x0
40783a:	68 9c cc 45 00       	push   $0x45cc9c
40783f:	51                   	push   %ecx
407840:	ff d6                	call   *%esi
407842:	85 c0                	test   %eax,%eax
407844:	75 5f                	jne    0x4078a5
407846:	8b bc 24 24 02 00 00 	mov    0x224(%esp),%edi
40784d:	8b c7                	mov    %edi,%eax
40784f:	8d 50 02             	lea    0x2(%eax),%edx
407852:	66 8b 08             	mov    (%eax),%cx
407855:	83 c0 02             	add    $0x2,%eax
407858:	66 85 c9             	test   %cx,%cx
40785b:	75 f5                	jne    0x407852
40785d:	2b c2                	sub    %edx,%eax
40785f:	d1 f8                	sar    $1,%eax
407861:	8d 54 00 02          	lea    0x2(%eax,%eax,1),%edx
407865:	8b 44 24 0c          	mov    0xc(%esp),%eax
407869:	52                   	push   %edx
40786a:	57                   	push   %edi
40786b:	6a 01                	push   $0x1
40786d:	6a 00                	push   $0x0
40786f:	68 74 cc 45 00       	push   $0x45cc74
407874:	50                   	push   %eax
407875:	ff d6                	call   *%esi
407877:	85 c0                	test   %eax,%eax
407879:	75 2a                	jne    0x4078a5
40787b:	8b c7                	mov    %edi,%eax
40787d:	8d 50 02             	lea    0x2(%eax),%edx
407880:	66 8b 08             	mov    (%eax),%cx
407883:	83 c0 02             	add    $0x2,%eax
407886:	66 85 c9             	test   %cx,%cx
407889:	75 f5                	jne    0x407880
40788b:	2b c2                	sub    %edx,%eax
40788d:	8b 54 24 0c          	mov    0xc(%esp),%edx
407891:	d1 f8                	sar    $1,%eax
407893:	8d 4c 00 02          	lea    0x2(%eax,%eax,1),%ecx
407897:	51                   	push   %ecx
407898:	57                   	push   %edi
407899:	6a 01                	push   $0x1
40789b:	6a 00                	push   $0x0
40789d:	68 50 cc 45 00       	push   $0x45cc50
4078a2:	52                   	push   %edx
4078a3:	ff d6                	call   *%esi
4078a5:	5e                   	pop    %esi
4078a6:	5f                   	pop    %edi
4078a7:	81 c4 18 02 00 00    	add    $0x218,%esp
4078ad:	c3                   	ret
4078ae:	cc                   	int3
4078af:	cc                   	int3
4078b0:	81 ec 10 04 00 00    	sub    $0x410,%esp
4078b6:	53                   	push   %ebx
4078b7:	57                   	push   %edi
4078b8:	8b bc 24 1c 04 00 00 	mov    0x41c(%esp),%edi
4078bf:	68 74 cd 45 00       	push   $0x45cd74
4078c4:	57                   	push   %edi
4078c5:	68 0c c2 45 00       	push   $0x45c20c
4078ca:	8d 84 24 1c 02 00 00 	lea    0x21c(%esp),%eax
4078d1:	68 04 01 00 00       	push   $0x104
4078d6:	50                   	push   %eax
4078d7:	e8 83 8d 02 00       	call   0x43065f
4078dc:	8b 1d 68 34 47 00    	mov    0x473468,%ebx
4078e2:	83 c4 14             	add    $0x14,%esp
4078e5:	68 04 01 00 00       	push   $0x104
4078ea:	8d 54 24 0c          	lea    0xc(%esp),%edx
4078ee:	33 c9                	xor    %ecx,%ecx
4078f0:	52                   	push   %edx
4078f1:	66 89 8c 24 1e 04 00 	mov    %cx,0x41e(%esp)
4078f8:	00
4078f9:	ff d3                	call   *%ebx
4078fb:	85 c0                	test   %eax,%eax
4078fd:	75 0f                	jne    0x40790e
4078ff:	ff 15 24 34 47 00    	call   *0x473424
407905:	5f                   	pop    %edi
407906:	5b                   	pop    %ebx
407907:	81 c4 10 04 00 00    	add    $0x410,%esp
40790d:	c3                   	ret
40790e:	8d 44 24 08          	lea    0x8(%esp),%eax
407912:	8d 50 02             	lea    0x2(%eax),%edx
407915:	66 8b 08             	mov    (%eax),%cx
407918:	83 c0 02             	add    $0x2,%eax
40791b:	66 85 c9             	test   %cx,%cx
40791e:	75 f5                	jne    0x407915
407920:	2b c2                	sub    %edx,%eax
407922:	d1 f8                	sar    $1,%eax
407924:	56                   	push   %esi
407925:	b9 04 01 00 00       	mov    $0x104,%ecx
40792a:	2b c8                	sub    %eax,%ecx
40792c:	51                   	push   %ecx
40792d:	8d 54 24 10          	lea    0x10(%esp),%edx
407931:	68 50 cd 45 00       	push   $0x45cd50
407936:	52                   	push   %edx
407937:	e8 65 ae 02 00       	call   0x4327a1
40793c:	8b 35 88 34 47 00    	mov    0x473488,%esi
407942:	83 c4 0c             	add    $0xc,%esp
407945:	6a 00                	push   $0x0
407947:	8d 44 24 10          	lea    0x10(%esp),%eax
40794b:	50                   	push   %eax
40794c:	8d 8c 24 1c 02 00 00 	lea    0x21c(%esp),%ecx
407953:	51                   	push   %ecx
407954:	ff d6                	call   *%esi
407956:	85 c0                	test   %eax,%eax
407958:	0f 84 80 00 00 00    	je     0x4079de
40795e:	68 2c cd 45 00       	push   $0x45cd2c
407963:	57                   	push   %edi
407964:	68 0c c2 45 00       	push   $0x45c20c
407969:	8d 94 24 20 02 00 00 	lea    0x220(%esp),%edx
407970:	68 04 01 00 00       	push   $0x104
407975:	52                   	push   %edx
407976:	e8 e4 8c 02 00       	call   0x43065f
40797b:	83 c4 14             	add    $0x14,%esp
40797e:	68 04 01 00 00       	push   $0x104
407983:	8d 4c 24 10          	lea    0x10(%esp),%ecx
407987:	33 c0                	xor    %eax,%eax
407989:	51                   	push   %ecx
40798a:	66 89 84 24 22 04 00 	mov    %ax,0x422(%esp)
407991:	00
407992:	ff d3                	call   *%ebx
407994:	85 c0                	test   %eax,%eax
407996:	74 46                	je     0x4079de
407998:	8d 44 24 0c          	lea    0xc(%esp),%eax
40799c:	8d 50 02             	lea    0x2(%eax),%edx
40799f:	90                   	nop
4079a0:	66 8b 08             	mov    (%eax),%cx
4079a3:	83 c0 02             	add    $0x2,%eax
4079a6:	66 85 c9             	test   %cx,%cx
4079a9:	75 f5                	jne    0x4079a0
4079ab:	2b c2                	sub    %edx,%eax
4079ad:	d1 f8                	sar    $1,%eax
4079af:	ba 04 01 00 00       	mov    $0x104,%edx
4079b4:	2b d0                	sub    %eax,%edx
4079b6:	52                   	push   %edx
4079b7:	8d 44 24 10          	lea    0x10(%esp),%eax
4079bb:	68 08 cd 45 00       	push   $0x45cd08
4079c0:	50                   	push   %eax
4079c1:	e8 db ad 02 00       	call   0x4327a1
4079c6:	83 c4 0c             	add    $0xc,%esp
4079c9:	6a 00                	push   $0x0
4079cb:	8d 4c 24 10          	lea    0x10(%esp),%ecx
4079cf:	51                   	push   %ecx
4079d0:	8d 94 24 1c 02 00 00 	lea    0x21c(%esp),%edx
4079d7:	52                   	push   %edx
4079d8:	ff d6                	call   *%esi
4079da:	85 c0                	test   %eax,%eax
4079dc:	75 10                	jne    0x4079ee
4079de:	ff 15 24 34 47 00    	call   *0x473424
4079e4:	5e                   	pop    %esi
4079e5:	5f                   	pop    %edi
4079e6:	5b                   	pop    %ebx
4079e7:	81 c4 10 04 00 00    	add    $0x410,%esp
4079ed:	c3                   	ret
4079ee:	5e                   	pop    %esi
4079ef:	5f                   	pop    %edi
4079f0:	33 c0                	xor    %eax,%eax
4079f2:	5b                   	pop    %ebx
4079f3:	81 c4 10 04 00 00    	add    $0x410,%esp
4079f9:	c3                   	ret
4079fa:	cc                   	int3
4079fb:	cc                   	int3
4079fc:	cc                   	int3
4079fd:	cc                   	int3
4079fe:	cc                   	int3
4079ff:	cc                   	int3
407a00:	8b 4c 24 04          	mov    0x4(%esp),%ecx
407a04:	8b 41 08             	mov    0x8(%ecx),%eax
407a07:	85 c0                	test   %eax,%eax
407a09:	75 05                	jne    0x407a10
407a0b:	b8 a0 cd 45 00       	mov    $0x45cda0,%eax
407a10:	50                   	push   %eax
407a11:	8b 41 04             	mov    0x4(%ecx),%eax
407a14:	50                   	push   %eax
407a15:	68 98 cd 45 00       	push   $0x45cd98
407a1a:	e8 de 8a 02 00       	call   0x4304fd
407a1f:	83 c4 0c             	add    $0xc,%esp
407a22:	c3                   	ret
407a23:	cc                   	int3
407a24:	cc                   	int3
407a25:	cc                   	int3
407a26:	cc                   	int3
407a27:	cc                   	int3
407a28:	cc                   	int3
407a29:	cc                   	int3
407a2a:	cc                   	int3
407a2b:	cc                   	int3
407a2c:	cc                   	int3
407a2d:	cc                   	int3
407a2e:	cc                   	int3
407a2f:	cc                   	int3
407a30:	81 ec 04 01 00 00    	sub    $0x104,%esp
407a36:	53                   	push   %ebx
407a37:	8b 9c 24 14 01 00 00 	mov    0x114(%esp),%ebx
407a3e:	55                   	push   %ebp
407a3f:	8b ac 24 14 01 00 00 	mov    0x114(%esp),%ebp
407a46:	56                   	push   %esi
407a47:	57                   	push   %edi
407a48:	8b bc 24 18 01 00 00 	mov    0x118(%esp),%edi