4096ca:	40                   	inc    %eax
4096cb:	83 e9 01             	sub    $0x1,%ecx
4096ce:	75 f8                	jne    0x4096c8
4096d0:	eb 05                	jmp    0x4096d7
4096d2:	8b 45 0c             	mov    0xc(%ebp),%eax
4096d5:	89 18                	mov    %ebx,(%eax)
4096d7:	8d 45 d8             	lea    -0x28(%ebp),%eax
4096da:	50                   	push   %eax
4096db:	e8 b9 6d 01 00       	call   0x420499
4096e0:	8d 45 c0             	lea    -0x40(%ebp),%eax
4096e3:	50                   	push   %eax
4096e4:	e8 b0 6d 01 00       	call   0x420499
4096e9:	5f                   	pop    %edi
4096ea:	8b c6                	mov    %esi,%eax
4096ec:	5e                   	pop    %esi
4096ed:	5b                   	pop    %ebx
4096ee:	8b e5                	mov    %ebp,%esp
4096f0:	5d                   	pop    %ebp
4096f1:	c2 08 00             	ret    $0x8
4096f4:	55                   	push   %ebp
4096f5:	8b ec                	mov    %esp,%ebp
4096f7:	53                   	push   %ebx
4096f8:	8b 5d 08             	mov    0x8(%ebp),%ebx
4096fb:	56                   	push   %esi
4096fc:	8b 43 10             	mov    0x10(%ebx),%eax
4096ff:	83 e8 10             	sub    $0x10,%eax
409702:	74 73                	je     0x409777
409704:	83 e8 01             	sub    $0x1,%eax
409707:	74 3c                	je     0x409745
409709:	83 e8 01             	sub    $0x1,%eax
40970c:	74 69                	je     0x409777
40970e:	83 e8 01             	sub    $0x1,%eax
409711:	74 64                	je     0x409777
409713:	be 0d 00 07 80       	mov    $0x8007000d,%esi
409718:	c7 43 30 01 00 00 00 	movl   $0x1,0x30(%ebx)
40971f:	56                   	push   %esi
409720:	68 c7 01 00 00       	push   $0x1c7
409725:	68 44 dd 44 00       	push   $0x44dd44
40972a:	e8 a4 a0 ff ff       	call   0x4037d3
40972f:	ff 73 14             	push   0x14(%ebx)
409732:	ff 73 04             	push   0x4(%ebx)
409735:	68 70 dd 44 00       	push   $0x44dd70
40973a:	56                   	push   %esi
40973b:	e8 ef 69 03 00       	call   0x44012f
409740:	83 c4 10             	add    $0x10,%esp
409743:	eb 67                	jmp    0x4097ac
409745:	ff 75 0c             	push   0xc(%ebp)
409748:	ff 73 18             	push   0x18(%ebx)
40974b:	ff 33                	push   (%ebx)
40974d:	e8 be dc ff ff       	call   0x407410
409752:	8b f0                	mov    %eax,%esi
409754:	81 fe 90 04 07 80    	cmp    $0x80070490,%esi
40975a:	74 37                	je     0x409793
40975c:	85 f6                	test   %esi,%esi
40975e:	79 33                	jns    0x409793
409760:	56                   	push   %esi
409761:	68 b8 01 00 00       	push   $0x1b8
409766:	68 44 dd 44 00       	push   $0x44dd44
40976b:	e8 63 a0 ff ff       	call   0x4037d3
409770:	68 54 dd 44 00       	push   $0x44dd54
409775:	eb 2d                	jmp    0x4097a4
409777:	57                   	push   %edi
409778:	6a 18                	push   $0x18
40977a:	8d 7b 18             	lea    0x18(%ebx),%edi
40977d:	57                   	push   %edi
40977e:	6a 18                	push   $0x18
409780:	ff 75 0c             	push   0xc(%ebp)
409783:	e8 dc 7e 01 00       	call   0x421664
409788:	83 c4 10             	add    $0x10,%esp
40978b:	33 c0                	xor    %eax,%eax
40978d:	6a 06                	push   $0x6
40978f:	59                   	pop    %ecx
409790:	f3 ab                	rep stos %eax,%es:(%edi)
409792:	5f                   	pop    %edi
409793:	53                   	push   %ebx
409794:	e8 af f6 ff ff       	call   0x408e48
409799:	8b f0                	mov    %eax,%esi
40979b:	85 f6                	test   %esi,%esi
40979d:	79 0d                	jns    0x4097ac
40979f:	68 70 db 44 00       	push   $0x44db70
4097a4:	56                   	push   %esi
4097a5:	e8 85 69 03 00       	call   0x44012f
4097aa:	59                   	pop    %ecx
4097ab:	59                   	pop    %ecx
4097ac:	8b c6                	mov    %esi,%eax
4097ae:	5e                   	pop    %esi
4097af:	5b                   	pop    %ebx
4097b0:	5d                   	pop    %ebp
4097b1:	c2 08 00             	ret    $0x8
4097b4:	55                   	push   %ebp
4097b5:	8b ec                	mov    %esp,%ebp
4097b7:	83 ec 3c             	sub    $0x3c,%esp
4097ba:	53                   	push   %ebx
4097bb:	56                   	push   %esi
4097bc:	57                   	push   %edi
4097bd:	6a 38                	push   $0x38
4097bf:	33 db                	xor    %ebx,%ebx
4097c1:	8d 45 c4             	lea    -0x3c(%ebp),%eax
4097c4:	53                   	push   %ebx
4097c5:	50                   	push   %eax
4097c6:	e8 a5 5e 02 00       	call   0x42f670
4097cb:	8b 45 08             	mov    0x8(%ebp),%eax
4097ce:	83 c4 0c             	add    $0xc,%esp
4097d1:	8b 7d 0c             	mov    0xc(%ebp),%edi
4097d4:	89 45 c4             	mov    %eax,-0x3c(%ebp)
4097d7:	8d 45 c4             	lea    -0x3c(%ebp),%eax
4097da:	89 5d fc             	mov    %ebx,-0x4(%ebp)
4097dd:	50                   	push   %eax
4097de:	89 7d c8             	mov    %edi,-0x38(%ebp)
4097e1:	89 7d cc             	mov    %edi,-0x34(%ebp)
4097e4:	e8 5f f6 ff ff       	call   0x408e48
4097e9:	8b f0                	mov    %eax,%esi
4097eb:	85 f6                	test   %esi,%esi
4097ed:	79 0f                	jns    0x4097fe
4097ef:	68 70 db 44 00       	push   $0x44db70
4097f4:	56                   	push   %esi
4097f5:	e8 35 69 03 00       	call   0x44012f
4097fa:	59                   	pop    %ecx
4097fb:	59                   	pop    %ecx
4097fc:	eb 53                	jmp    0x409851
4097fe:	8d 45 fc             	lea    -0x4(%ebp),%eax
409801:	50                   	push   %eax
409802:	8d 45 c4             	lea    -0x3c(%ebp),%eax
409805:	50                   	push   %eax
409806:	e8 7e fc ff ff       	call   0x409489
40980b:	8b f0                	mov    %eax,%esi
40980d:	85 f6                	test   %esi,%esi
40980f:	79 07                	jns    0x409818
409811:	68 8c db 44 00       	push   $0x44db8c
409816:	eb dc                	jmp    0x4097f4
409818:	6a 01                	push   $0x1
40981a:	8d 45 c4             	lea    -0x3c(%ebp),%eax
40981d:	50                   	push   %eax
40981e:	e8 c2 f5 ff ff       	call   0x408de5
409823:	8b f0                	mov    %eax,%esi
409825:	85 f6                	test   %esi,%esi
409827:	79 07                	jns    0x409830
409829:	68 a8 db 44 00       	push   $0x44dba8
40982e:	eb c4                	jmp    0x4097f4
409830:	8b 75 fc             	mov    -0x4(%ebp),%esi
409833:	56                   	push   %esi
409834:	e8 a9 ab 00 00       	call   0x4143e2
409839:	50                   	push   %eax
40983a:	57                   	push   %edi
40983b:	68 34 00 00 20       	push   $0x20000034
409840:	6a 03                	push   $0x3
409842:	e8 c8 bc ff ff       	call   0x40550f
409847:	8b 45 10             	mov    0x10(%ebp),%eax
40984a:	83 c4 10             	add    $0x10,%esp
40984d:	89 30                	mov    %esi,(%eax)
40984f:	8b f3                	mov    %ebx,%esi
409851:	39 5d f4             	cmp    %ebx,-0xc(%ebp)
409854:	74 0f                	je     0x409865
409856:	53                   	push   %ebx
409857:	53                   	push   %ebx
409858:	57                   	push   %edi
409859:	53                   	push   %ebx
40985a:	68 33 00 00 e0       	push   $0xe0000033
40985f:	56                   	push   %esi
409860:	e8 6a 68 03 00       	call   0x4400cf
409865:	5f                   	pop    %edi
409866:	8b c6                	mov    %esi,%eax
409868:	5e                   	pop    %esi
409869:	5b                   	pop    %ebx
40986a:	8b e5                	mov    %ebp,%esp
40986c:	5d                   	pop    %ebp
40986d:	c2 0c 00             	ret    $0xc
409870:	55                   	push   %ebp
409871:	8b ec                	mov    %esp,%ebp
409873:	83 ec 0c             	sub    $0xc,%esp
409876:	56                   	push   %esi
409877:	57                   	push   %edi
409878:	8d 45 f4             	lea    -0xc(%ebp),%eax
40987b:	c7 45 f8 01 00 00 00 	movl   $0x1,-0x8(%ebp)
409882:	50                   	push   %eax
409883:	8d 45 fc             	lea    -0x4(%ebp),%eax
409886:	33 f6                	xor    %esi,%esi
409888:	21 75 fc             	and    %esi,-0x4(%ebp)
40988b:	21 75 f4             	and    %esi,-0xc(%ebp)
40988e:	50                   	push   %eax
40988f:	e8 39 a1 03 00       	call   0x4439cd
409894:	83 7d fc 02          	cmpl   $0x2,-0x4(%ebp)
409898:	7e 33                	jle    0x4098cd
40989a:	8b 7d 0c             	mov    0xc(%ebp),%edi
40989d:	39 37                	cmp    %esi,(%edi)
40989f:	74 5d                	je     0x4098fe
4098a1:	8d 45 f8             	lea    -0x8(%ebp),%eax
4098a4:	50                   	push   %eax
4098a5:	ff 37                	push   (%edi)
4098a7:	ff 75 08             	push   0x8(%ebp)
4098aa:	e8 05 ff ff ff       	call   0x4097b4
4098af:	8b f0                	mov    %eax,%esi
4098b1:	85 f6                	test   %esi,%esi
4098b3:	79 12                	jns    0x4098c7
4098b5:	ff 37                	push   (%edi)
4098b7:	68 c8 db 44 00       	push   $0x44dbc8
4098bc:	56                   	push   %esi
4098bd:	e8 6d 68 03 00       	call   0x44012f
4098c2:	83 c4 0c             	add    $0xc,%esp
4098c5:	eb 37                	jmp    0x4098fe
4098c7:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
4098cb:	75 31                	jne    0x4098fe
4098cd:	bf 7e 04 07 80       	mov    $0x8007047e,%edi
4098d2:	57                   	push   %edi
4098d3:	ff 75 14             	push   0x14(%ebp)
4098d6:	ff 75 10             	push   0x10(%ebp)
4098d9:	e8 16 4c 01 00       	call   0x41e4f4
4098de:	8b f0                	mov    %eax,%esi
4098e0:	85 f6                	test   %esi,%esi
4098e2:	79 0f                	jns    0x4098f3
4098e4:	68 ec db 44 00       	push   $0x44dbec
4098e9:	56                   	push   %esi
4098ea:	e8 40 68 03 00       	call   0x44012f
4098ef:	59                   	pop    %ecx
4098f0:	59                   	pop    %ecx
4098f1:	eb 0b                	jmp    0x4098fe
4098f3:	8b 45 18             	mov    0x18(%ebp),%eax
4098f6:	89 38                	mov    %edi,(%eax)
4098f8:	8b 45 1c             	mov    0x1c(%ebp),%eax
4098fb:	83 20 00             	andl   $0x0,(%eax)
4098fe:	5f                   	pop    %edi
4098ff:	8b c6                	mov    %esi,%eax
409901:	5e                   	pop    %esi
409902:	8b e5                	mov    %ebp,%esp
409904:	5d                   	pop    %ebp
409905:	c2 18 00             	ret    $0x18
409908:	55                   	push   %ebp
409909:	8b ec                	mov    %esp,%ebp
40990b:	51                   	push   %ecx
40990c:	51                   	push   %ecx
40990d:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
409911:	8d 45 f8             	lea    -0x8(%ebp),%eax
409914:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
409918:	56                   	push   %esi
409919:	50                   	push   %eax
40991a:	68 0c dc 44 00       	push   $0x44dc0c
40991f:	ff 75 0c             	push   0xc(%ebp)
409922:	e8 63 9f 03 00       	call   0x44388a
409927:	8b f0                	mov    %eax,%esi
409929:	83 fe 01             	cmp    $0x1,%esi
40992c:	75 04                	jne    0x409932
40992e:	33 f6                	xor    %esi,%esi
409930:	eb 44                	jmp    0x409976
409932:	85 f6                	test   %esi,%esi
409934:	79 07                	jns    0x40993d
409936:	68 20 dc 44 00       	push   $0x44dc20
40993b:	eb 31                	jmp    0x40996e
40993d:	8d 45 fc             	lea    -0x4(%ebp),%eax
409940:	50                   	push   %eax
409941:	ff 75 f8             	push   -0x8(%ebp)
409944:	e8 7f 9a 03 00       	call   0x4433c8
409949:	8b f0                	mov    %eax,%esi
40994b:	85 f6                	test   %esi,%esi
40994d:	79 07                	jns    0x409956
40994f:	68 44 dc 44 00       	push   $0x44dc44
409954:	eb 18                	jmp    0x40996e
409956:	6a 00                	push   $0x0
409958:	ff 75 fc             	push   -0x4(%ebp)
40995b:	ff 75 08             	push   0x8(%ebp)
40995e:	e8 42 88 ff ff       	call   0x4021a5
409963:	8b f0                	mov    %eax,%esi
409965:	85 f6                	test   %esi,%esi
409967:	79 0d                	jns    0x409976
409969:	68 68 dc 44 00       	push   $0x44dc68
40996e:	56                   	push   %esi
40996f:	e8 bb 67 03 00       	call   0x44012f
409974:	59                   	pop    %ecx
409975:	59                   	pop    %ecx
409976:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
40997a:	74 09                	je     0x409985
40997c:	ff 75 fc             	push   -0x4(%ebp)
40997f:	ff 15 20 b3 44 00    	call   *0x44b320
409985:	8b 4d f8             	mov    -0x8(%ebp),%ecx
409988:	85 c9                	test   %ecx,%ecx
40998a:	74 06                	je     0x409992
40998c:	8b 01                	mov    (%ecx),%eax
40998e:	51                   	push   %ecx
40998f:	ff 50 08             	call   *0x8(%eax)
409992:	8b c6                	mov    %esi,%eax
409994:	5e                   	pop    %esi
409995:	8b e5                	mov    %ebp,%esp
409997:	5d                   	pop    %ebp
409998:	c2 08 00             	ret    $0x8
40999b:	55                   	push   %ebp
40999c:	8b ec                	mov    %esp,%ebp
40999e:	83 ec 0c             	sub    $0xc,%esp
4099a1:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4099a5:	8d 45 fc             	lea    -0x4(%ebp),%eax
4099a8:	56                   	push   %esi
4099a9:	57                   	push   %edi
4099aa:	8b 7d 08             	mov    0x8(%ebp),%edi
4099ad:	6a 00                	push   $0x0
4099af:	50                   	push   %eax
4099b0:	ff 77 14             	push   0x14(%edi)
4099b3:	ff 75 0c             	push   0xc(%ebp)
4099b6:	e8 14 d8 ff ff       	call   0x4071cf
4099bb:	8b f0                	mov    %eax,%esi
4099bd:	85 f6                	test   %esi,%esi
4099bf:	79 0a                	jns    0x4099cb
4099c1:	68 94 e6 44 00       	push   $0x44e694
4099c6:	e9 88 00 00 00       	jmp    0x409a53
4099cb:	ff 75 fc             	push   -0x4(%ebp)
4099ce:	ff 15 6c b1 44 00    	call   *0x44b16c
4099d4:	83 f8 ff             	cmp    $0xffffffff,%eax
4099d7:	75 4d                	jne    0x409a26
4099d9:	ff 15 e8 b0 44 00    	call   *0x44b0e8
4099df:	0f b7 f0             	movzwl %ax,%esi
4099e2:	81 ce 00 00 07 80    	or     $0x80070000,%esi
4099e8:	85 c0                	test   %eax,%eax
4099ea:	0f 4e f0             	cmovle %eax,%esi
4099ed:	81 fe 02 00 07 80    	cmp    $0x80070002,%esi
4099f3:	74 08                	je     0x4099fd
4099f5:	81 fe 03 00 07 80    	cmp    $0x80070003,%esi
4099fb:	75 02                	jne    0x4099ff
4099fd:	33 f6                	xor    %esi,%esi
4099ff:	0f 57 c0             	xorps  %xmm0,%xmm0
409a02:	66 0f 13 45 f4       	movlpd %xmm0,-0xc(%ebp)
409a07:	8b 4d f4             	mov    -0xc(%ebp),%ecx
409a0a:	8b 45 f8             	mov    -0x8(%ebp),%eax
409a0d:	85 f6                	test   %esi,%esi
409a0f:	79 28                	jns    0x409a39
409a11:	ff 75 fc             	push   -0x4(%ebp)
409a14:	ff 37                	push   (%edi)
409a16:	68 b8 e6 44 00       	push   $0x44e6b8
409a1b:	56                   	push   %esi
409a1c:	e8 0e 67 03 00       	call   0x44012f
409a21:	83 c4 10             	add    $0x10,%esp
409a24:	eb 35                	jmp    0x409a5b
409a26:	0f 57 c0             	xorps  %xmm0,%xmm0
409a29:	66 0f 13 45 f4       	movlpd %xmm0,-0xc(%ebp)
409a2e:	a8 10                	test   $0x10,%al
409a30:	74 d5                	je     0x409a07
409a32:	33 c9                	xor    %ecx,%ecx
409a34:	41                   	inc    %ecx
409a35:	33 c0                	xor    %eax,%eax
409a37:	eb d4                	jmp    0x409a0d
409a39:	6a 00                	push   $0x0
409a3b:	50                   	push   %eax
409a3c:	51                   	push   %ecx
409a3d:	ff 77 04             	push   0x4(%edi)
409a40:	ff 75 0c             	push   0xc(%ebp)
409a43:	e8 0a e7 ff ff       	call   0x408152
409a48:	8b f0                	mov    %eax,%esi
409a4a:	85 f6                	test   %esi,%esi
409a4c:	79 0d                	jns    0x409a5b
409a4e:	68 18 d2 44 00       	push   $0x44d218
409a53:	56                   	push   %esi
409a54:	e8 d6 66 03 00       	call   0x44012f
409a59:	59                   	pop    %ecx
409a5a:	59                   	pop    %ecx