41187c:	8b 75 14             	mov    0x14(%ebp),%esi
41187f:	57                   	push   %edi
411880:	8b 7d 08             	mov    0x8(%ebp),%edi
411883:	6a 06                	push   $0x6
411885:	56                   	push   %esi
411886:	ff 75 10             	push   0x10(%ebp)
411889:	8b cf                	mov    %edi,%ecx
41188b:	ff 75 0c             	push   0xc(%ebp)
41188e:	e8 3f f5 ff ff       	call   0x410dd2
411893:	85 c0                	test   %eax,%eax
411895:	7c 44                	jl     0x4118db
411897:	8b 06                	mov    (%esi),%eax
411899:	8b 77 ac             	mov    -0x54(%edi),%esi
41189c:	85 f6                	test   %esi,%esi
41189e:	74 39                	je     0x4118d9
4118a0:	83 7e 44 00          	cmpl   $0x0,0x44(%esi)
4118a4:	75 33                	jne    0x4118d9
4118a6:	83 f8 1f             	cmp    $0x1f,%eax
4118a9:	74 2e                	je     0x4118d9
4118ab:	83 f8 1e             	cmp    $0x1e,%eax
4118ae:	74 29                	je     0x4118d9
4118b0:	f6 45 0c 03          	testb  $0x3,0xc(%ebp)
4118b4:	74 23                	je     0x4118d9
4118b6:	83 f8 02             	cmp    $0x2,%eax
4118b9:	74 1e                	je     0x4118d9
4118bb:	83 f8 03             	cmp    $0x3,%eax
4118be:	74 19                	je     0x4118d9
4118c0:	8b ce                	mov    %esi,%ecx
4118c2:	c7 46 44 01 00 00 00 	movl   $0x1,0x44(%esi)
4118c9:	e8 2a fe ff ff       	call   0x4116f8
4118ce:	8b 06                	mov    (%esi),%eax
4118d0:	83 66 44 00          	andl   $0x0,0x44(%esi)
4118d4:	8b ce                	mov    %esi,%ecx
4118d6:	ff 50 10             	call   *0x10(%eax)
4118d9:	33 c0                	xor    %eax,%eax
4118db:	5f                   	pop    %edi
4118dc:	5e                   	pop    %esi
4118dd:	5d                   	pop    %ebp
4118de:	c2 10 00             	ret    $0x10
4118e1:	55                   	push   %ebp
4118e2:	8b ec                	mov    %esp,%ebp
4118e4:	56                   	push   %esi
4118e5:	8b 75 08             	mov    0x8(%ebp),%esi
4118e8:	6a 07                	push   $0x7
4118ea:	ff 75 14             	push   0x14(%ebp)
4118ed:	8b ce                	mov    %esi,%ecx
4118ef:	ff 75 10             	push   0x10(%ebp)
4118f2:	ff 75 0c             	push   0xc(%ebp)
4118f5:	e8 d8 f4 ff ff       	call   0x410dd2
4118fa:	85 c0                	test   %eax,%eax
4118fc:	7c 2c                	jl     0x41192a
4118fe:	8b 76 ac             	mov    -0x54(%esi),%esi
411901:	85 f6                	test   %esi,%esi
411903:	74 23                	je     0x411928
411905:	f6 45 0c 80          	testb  $0x80,0xc(%ebp)
411909:	74 1d                	je     0x411928
41190b:	57                   	push   %edi
41190c:	8b 7e 44             	mov    0x44(%esi),%edi
41190f:	8b ce                	mov    %esi,%ecx
411911:	c7 46 44 01 00 00 00 	movl   $0x1,0x44(%esi)
411918:	e8 db fd ff ff       	call   0x4116f8
41191d:	8b 06                	mov    (%esi),%eax
41191f:	8b ce                	mov    %esi,%ecx
411921:	89 7e 44             	mov    %edi,0x44(%esi)
411924:	ff 50 10             	call   *0x10(%eax)
411927:	5f                   	pop    %edi
411928:	33 c0                	xor    %eax,%eax
41192a:	5e                   	pop    %esi
41192b:	5d                   	pop    %ebp
41192c:	c2 10 00             	ret    $0x10
41192f:	55                   	push   %ebp
411930:	8b ec                	mov    %esp,%ebp
411932:	83 ec 24             	sub    $0x24,%esp
411935:	8b 45 20             	mov    0x20(%ebp),%eax
411938:	53                   	push   %ebx
411939:	56                   	push   %esi
41193a:	57                   	push   %edi
41193b:	8b 7d 08             	mov    0x8(%ebp),%edi
41193e:	33 db                	xor    %ebx,%ebx
411940:	81 c7 1c ff ff ff    	add    $0xffffff1c,%edi
411946:	2b c3                	sub    %ebx,%eax
411948:	89 5d 08             	mov    %ebx,0x8(%ebp)
41194b:	74 3c                	je     0x411989
41194d:	48                   	dec    %eax
41194e:	74 30                	je     0x411980
411950:	48                   	dec    %eax
411951:	74 24                	je     0x411977
411953:	48                   	dec    %eax
411954:	74 18                	je     0x41196e
411956:	48                   	dec    %eax
411957:	75 56                	jne    0x4119af
411959:	8b b7 8c 00 00 00    	mov    0x8c(%edi),%esi
41195f:	3b f3                	cmp    %ebx,%esi
411961:	c7 45 08 07 00 00 00 	movl   $0x7,0x8(%ebp)
411968:	75 28                	jne    0x411992
41196a:	33 c0                	xor    %eax,%eax
41196c:	eb 73                	jmp    0x4119e1
41196e:	c7 45 08 05 00 00 00 	movl   $0x5,0x8(%ebp)
411975:	eb 38                	jmp    0x4119af
411977:	c7 45 08 06 00 00 00 	movl   $0x6,0x8(%ebp)
41197e:	eb 2f                	jmp    0x4119af
411980:	c7 45 08 04 00 00 00 	movl   $0x4,0x8(%ebp)
411987:	eb 26                	jmp    0x4119af
411989:	c7 45 08 01 00 00 00 	movl   $0x1,0x8(%ebp)
411990:	eb 1d                	jmp    0x4119af
411992:	39 5e 44             	cmp    %ebx,0x44(%esi)
411995:	75 18                	jne    0x4119af
411997:	8b ce                	mov    %esi,%ecx
411999:	c7 46 44 01 00 00 00 	movl   $0x1,0x44(%esi)
4119a0:	e8 53 fd ff ff       	call   0x4116f8
4119a5:	8b 06                	mov    (%esi),%eax
4119a7:	8b ce                	mov    %esi,%ecx
4119a9:	89 5e 44             	mov    %ebx,0x44(%esi)
4119ac:	ff 50 10             	call   *0x10(%eax)
4119af:	8b 45 08             	mov    0x8(%ebp),%eax
4119b2:	83 4d e0 ff          	orl    $0xffffffff,-0x20(%ebp)
4119b6:	89 45 f8             	mov    %eax,-0x8(%ebp)
4119b9:	8d 45 dc             	lea    -0x24(%ebp),%eax
4119bc:	50                   	push   %eax
4119bd:	8b cf                	mov    %edi,%ecx
4119bf:	c7 45 dc 03 00 00 00 	movl   $0x3,-0x24(%ebp)
4119c6:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
4119c9:	89 5d e8             	mov    %ebx,-0x18(%ebp)
4119cc:	89 5d ec             	mov    %ebx,-0x14(%ebp)
4119cf:	89 5d f4             	mov    %ebx,-0xc(%ebp)
4119d2:	c7 45 fc 06 00 00 00 	movl   $0x6,-0x4(%ebp)
4119d9:	e8 8c d2 ff ff       	call   0x40ec6a
4119de:	8b 45 f4             	mov    -0xc(%ebp),%eax
4119e1:	5f                   	pop    %edi
4119e2:	5e                   	pop    %esi
4119e3:	5b                   	pop    %ebx
4119e4:	c9                   	leave
4119e5:	c2 20 00             	ret    $0x20
4119e8:	55                   	push   %ebp
4119e9:	8b ec                	mov    %esp,%ebp
4119eb:	83 ec 28             	sub    $0x28,%esp
4119ee:	8b 45 1c             	mov    0x1c(%ebp),%eax
4119f1:	53                   	push   %ebx
4119f2:	56                   	push   %esi
4119f3:	8b 75 08             	mov    0x8(%ebp),%esi
4119f6:	57                   	push   %edi
4119f7:	6a 07                	push   $0x7
4119f9:	5f                   	pop    %edi
4119fa:	33 db                	xor    %ebx,%ebx
4119fc:	81 c6 1c ff ff ff    	add    $0xffffff1c,%esi
411a02:	2b c3                	sub    %ebx,%eax
411a04:	6a 04                	push   $0x4
411a06:	89 75 fc             	mov    %esi,-0x4(%ebp)
411a09:	89 5d 08             	mov    %ebx,0x8(%ebp)
411a0c:	5a                   	pop    %edx
411a0d:	74 28                	je     0x411a37
411a0f:	48                   	dec    %eax
411a10:	74 20                	je     0x411a32
411a12:	48                   	dec    %eax
411a13:	74 14                	je     0x411a29
411a15:	48                   	dec    %eax
411a16:	74 08                	je     0x411a20
411a18:	48                   	dec    %eax
411a19:	75 23                	jne    0x411a3e
411a1b:	89 7d 08             	mov    %edi,0x8(%ebp)
411a1e:	eb 1e                	jmp    0x411a3e
411a20:	c7 45 08 05 00 00 00 	movl   $0x5,0x8(%ebp)
411a27:	eb 15                	jmp    0x411a3e
411a29:	c7 45 08 06 00 00 00 	movl   $0x6,0x8(%ebp)
411a30:	eb 0c                	jmp    0x411a3e
411a32:	89 55 08             	mov    %edx,0x8(%ebp)
411a35:	eb 07                	jmp    0x411a3e
411a37:	c7 45 08 01 00 00 00 	movl   $0x1,0x8(%ebp)
411a3e:	8b 45 18             	mov    0x18(%ebp),%eax
411a41:	2b c2                	sub    %edx,%eax
411a43:	6a 02                	push   $0x2
411a45:	59                   	pop    %ecx
411a46:	74 1a                	je     0x411a62
411a48:	2b c1                	sub    %ecx,%eax
411a4a:	74 12                	je     0x411a5e
411a4c:	2b c1                	sub    %ecx,%eax
411a4e:	74 09                	je     0x411a59
411a50:	83 e8 05             	sub    $0x5,%eax
411a53:	75 0f                	jne    0x411a64
411a55:	8b d9                	mov    %ecx,%ebx
411a57:	eb 0b                	jmp    0x411a64
411a59:	6a 05                	push   $0x5
411a5b:	5b                   	pop    %ebx
411a5c:	eb 06                	jmp    0x411a64
411a5e:	6a 03                	push   $0x3
411a60:	eb f9                	jmp    0x411a5b
411a62:	8b df                	mov    %edi,%ebx
411a64:	8b b6 8c 00 00 00    	mov    0x8c(%esi),%esi
411a6a:	85 f6                	test   %esi,%esi
411a6c:	0f 84 91 00 00 00    	je     0x411b03
411a72:	3b d9                	cmp    %ecx,%ebx
411a74:	75 0e                	jne    0x411a84
411a76:	39 55 08             	cmp    %edx,0x8(%ebp)
411a79:	75 13                	jne    0x411a8e
411a7b:	8b 06                	mov    (%esi),%eax
411a7d:	8b ce                	mov    %esi,%ecx
411a7f:	ff 50 14             	call   *0x14(%eax)
411a82:	eb 4a                	jmp    0x411ace
411a84:	3b df                	cmp    %edi,%ebx
411a86:	75 06                	jne    0x411a8e
411a88:	83 7d 10 01          	cmpl   $0x1,0x10(%ebp)
411a8c:	74 0b                	je     0x411a99
411a8e:	83 7d 08 06          	cmpl   $0x6,0x8(%ebp)
411a92:	75 36                	jne    0x411aca
411a94:	83 fb 05             	cmp    $0x5,%ebx
411a97:	75 31                	jne    0x411aca
411a99:	8b 06                	mov    (%esi),%eax
411a9b:	8b ce                	mov    %esi,%ecx
411a9d:	ff 50 14             	call   *0x14(%eax)
411aa0:	8b 4d 14             	mov    0x14(%ebp),%ecx
411aa3:	8b 09                	mov    (%ecx),%ecx
411aa5:	8b 46 50             	mov    0x50(%esi),%eax
411aa8:	89 48 0c             	mov    %ecx,0xc(%eax)
411aab:	8b 7e 44             	mov    0x44(%esi),%edi
411aae:	8b ce                	mov    %esi,%ecx
411ab0:	c7 46 44 01 00 00 00 	movl   $0x1,0x44(%esi)
411ab7:	e8 3c fc ff ff       	call   0x4116f8
411abc:	85 ff                	test   %edi,%edi
411abe:	89 7e 44             	mov    %edi,0x44(%esi)
411ac1:	75 07                	jne    0x411aca
411ac3:	8b 06                	mov    (%esi),%eax
411ac5:	8b ce                	mov    %esi,%ecx
411ac7:	ff 50 10             	call   *0x10(%eax)
411aca:	85 db                	test   %ebx,%ebx
411acc:	74 35                	je     0x411b03
411ace:	8b 4d fc             	mov    -0x4(%ebp),%ecx
411ad1:	83 4d dc ff          	orl    $0xffffffff,-0x24(%ebp)
411ad5:	33 c0                	xor    %eax,%eax
411ad7:	89 45 e0             	mov    %eax,-0x20(%ebp)
411ada:	89 45 e4             	mov    %eax,-0x1c(%ebp)
411add:	89 45 e8             	mov    %eax,-0x18(%ebp)
411ae0:	89 45 f0             	mov    %eax,-0x10(%ebp)
411ae3:	8b 45 08             	mov    0x8(%ebp),%eax
411ae6:	89 45 f4             	mov    %eax,-0xc(%ebp)
411ae9:	8d 45 d8             	lea    -0x28(%ebp),%eax
411aec:	50                   	push   %eax
411aed:	c7 45 d8 03 00 00 00 	movl   $0x3,-0x28(%ebp)
411af4:	89 5d f8             	mov    %ebx,-0x8(%ebp)
411af7:	e8 6e d1 ff ff       	call   0x40ec6a
411afc:	8b 45 f0             	mov    -0x10(%ebp),%eax
411aff:	85 c0                	test   %eax,%eax
411b01:	7c 02                	jl     0x411b05
411b03:	33 c0                	xor    %eax,%eax
411b05:	5f                   	pop    %edi
411b06:	5e                   	pop    %esi
411b07:	5b                   	pop    %ebx
411b08:	c9                   	leave
411b09:	c2 1c 00             	ret    $0x1c
411b0c:	56                   	push   %esi
411b0d:	8b f1                	mov    %ecx,%esi
411b0f:	e8 13 f4 ff ff       	call   0x410f27
411b14:	8b 44 24 08          	mov    0x8(%esp),%eax
411b18:	85 c0                	test   %eax,%eax
411b1a:	74 0b                	je     0x411b27
411b1c:	8b 08                	mov    (%eax),%ecx
411b1e:	56                   	push   %esi
411b1f:	68 38 c7 48 00       	push   $0x48c738
411b24:	50                   	push   %eax
411b25:	ff 11                	call   *(%ecx)
411b27:	8b c6                	mov    %esi,%eax
411b29:	5e                   	pop    %esi
411b2a:	c2 04 00             	ret    $0x4
411b2d:	56                   	push   %esi
411b2e:	8b f1                	mov    %ecx,%esi
411b30:	e8 04 f4 ff ff       	call   0x410f39
411b35:	8b c6                	mov    %esi,%eax
411b37:	5e                   	pop    %esi
411b38:	c3                   	ret
411b39:	56                   	push   %esi
411b3a:	ff 74 24 08          	push   0x8(%esp)
411b3e:	8b f1                	mov    %ecx,%esi
411b40:	33 c0                	xor    %eax,%eax
411b42:	89 06                	mov    %eax,(%esi)
411b44:	89 46 04             	mov    %eax,0x4(%esi)
411b47:	56                   	push   %esi
411b48:	89 46 10             	mov    %eax,0x10(%esi)
411b4b:	89 46 08             	mov    %eax,0x8(%esi)
411b4e:	89 46 0c             	mov    %eax,0xc(%esi)
411b51:	e8 70 cb ff ff       	call   0x40e6c6
411b56:	8b c6                	mov    %esi,%eax
411b58:	5e                   	pop    %esi
411b59:	c2 04 00             	ret    $0x4
411b5c:	53                   	push   %ebx
411b5d:	56                   	push   %esi
411b5e:	8b f1                	mov    %ecx,%esi
411b60:	8b 4e 08             	mov    0x8(%esi),%ecx
411b63:	57                   	push   %edi
411b64:	8b 79 04             	mov    0x4(%ecx),%edi
411b67:	33 c0                	xor    %eax,%eax
411b69:	33 db                	xor    %ebx,%ebx
411b6b:	85 ff                	test   %edi,%edi
411b6d:	76 11                	jbe    0x411b80
411b6f:	53                   	push   %ebx
411b70:	8b ce                	mov    %esi,%ecx
411b72:	e8 c8 f3 ff ff       	call   0x410f3f
411b77:	85 c0                	test   %eax,%eax
411b79:	7c 05                	jl     0x411b80
411b7b:	43                   	inc    %ebx
411b7c:	3b df                	cmp    %edi,%ebx
411b7e:	72 ef                	jb     0x411b6f
411b80:	5f                   	pop    %edi
411b81:	5e                   	pop    %esi
411b82:	5b                   	pop    %ebx
411b83:	c3                   	ret
411b84:	6a 01                	push   $0x1
411b86:	6a 00                	push   $0x0
411b88:	e8 e6 f3 ff ff       	call   0x410f73
411b8d:	c3                   	ret
411b8e:	e9 c2 c6 ff ff       	jmp    0x40e255
411b93:	55                   	push   %ebp
411b94:	8b ec                	mov    %esp,%ebp
411b96:	56                   	push   %esi
411b97:	8b 75 0c             	mov    0xc(%ebp),%esi
411b9a:	85 f6                	test   %esi,%esi
411b9c:	0f 84 93 00 00 00    	je     0x411c35
411ba2:	53                   	push   %ebx
411ba3:	8b 5d 08             	mov    0x8(%ebp),%ebx
411ba6:	f6 c7 20             	test   $0x20,%bh
411ba9:	74 0f                	je     0x411bba
411bab:	8b 06                	mov    (%esi),%eax
411bad:	85 c0                	test   %eax,%eax
411baf:	74 69                	je     0x411c1a
411bb1:	50                   	push   %eax
411bb2:	ff 15 a4 04 4b 00    	call   *0x4b04a4
411bb8:	eb 5d                	jmp    0x411c17
411bba:	0f b7 c3             	movzwl %bx,%eax
411bbd:	83 e8 08             	sub    $0x8,%eax
411bc0:	74 4d                	je     0x411c0f
411bc2:	48                   	dec    %eax
411bc3:	74 3c                	je     0x411c01
411bc5:	83 e8 03             	sub    $0x3,%eax
411bc8:	74 2e                	je     0x411bf8
411bca:	48                   	dec    %eax
411bcb:	74 34                	je     0x411c01
411bcd:	83 e8 7b             	sub    $0x7b,%eax
411bd0:	75 48                	jne    0x411c1a
411bd2:	ff 75 10             	push   0x10(%ebp)
411bd5:	8d 4d 0c             	lea    0xc(%ebp),%ecx
411bd8:	e8 2f ff ff ff       	call   0x411b0c
411bdd:	8b 45 0c             	mov    0xc(%ebp),%eax
411be0:	85 c0                	test   %eax,%eax
411be2:	74 0a                	je     0x411bee
411be4:	8b 08                	mov    (%eax),%ecx
411be6:	6a 00                	push   $0x0
411be8:	ff 36                	push   (%esi)
411bea:	50                   	push   %eax
411beb:	ff 51 10             	call   *0x10(%ecx)
411bee:	8d 4d 0c             	lea    0xc(%ebp),%ecx
411bf1:	e8 6c f7 ff ff       	call   0x411362
411bf6:	eb 22                	jmp    0x411c1a