40db14:	75 04                	jne    0x40db1a
40db16:	33 c0                	xor    %eax,%eax
40db18:	eb 03                	jmp    0x40db1d
40db1a:	8b 43 04             	mov    0x4(%ebx),%eax
40db1d:	8b 11                	mov    (%ecx),%edx
40db1f:	56                   	push   %esi
40db20:	56                   	push   %esi
40db21:	56                   	push   %esi
40db22:	56                   	push   %esi
40db23:	50                   	push   %eax
40db24:	56                   	push   %esi
40db25:	56                   	push   %esi
40db26:	56                   	push   %esi
40db27:	6a ff                	push   $0xffffffff
40db29:	6a 01                	push   $0x1
40db2b:	51                   	push   %ecx
40db2c:	ff 52 0c             	call   *0xc(%edx)
40db2f:	85 c0                	test   %eax,%eax
40db31:	7c 07                	jl     0x40db3a
40db33:	c7 45 f8 01 00 00 00 	movl   $0x1,-0x8(%ebp)
40db3a:	8b 45 08             	mov    0x8(%ebp),%eax
40db3d:	8b 08                	mov    (%eax),%ecx
40db3f:	50                   	push   %eax
40db40:	ff 51 08             	call   *0x8(%ecx)
40db43:	89 75 08             	mov    %esi,0x8(%ebp)
40db46:	39 75 fc             	cmp    %esi,-0x4(%ebp)
40db49:	75 90                	jne    0x40dadb
40db4b:	5f                   	pop    %edi
40db4c:	5b                   	pop    %ebx
40db4d:	8b 45 f8             	mov    -0x8(%ebp),%eax
40db50:	5e                   	pop    %esi
40db51:	c9                   	leave
40db52:	c2 04 00             	ret    $0x4
40db55:	8b 44 24 04          	mov    0x4(%esp),%eax
40db59:	83 c0 90             	add    $0xffffff90,%eax
40db5c:	50                   	push   %eax
40db5d:	ff 15 a4 02 4b 00    	call   *0x4b02a4
40db63:	c2 04 00             	ret    $0x4
40db66:	56                   	push   %esi
40db67:	8b f1                	mov    %ecx,%esi
40db69:	e8 53 f6 ff ff       	call   0x40d1c1
40db6e:	f6 44 24 08 01       	testb  $0x1,0x8(%esp)
40db73:	74 07                	je     0x40db7c
40db75:	56                   	push   %esi
40db76:	e8 05 25 03 00       	call   0x440080
40db7b:	59                   	pop    %ecx
40db7c:	8b c6                	mov    %esi,%eax
40db7e:	5e                   	pop    %esi
40db7f:	c2 04 00             	ret    $0x4
40db82:	8b 44 24 04          	mov    0x4(%esp),%eax
40db86:	83 c0 8c             	add    $0xffffff8c,%eax
40db89:	50                   	push   %eax
40db8a:	ff 15 a4 02 4b 00    	call   *0x4b02a4
40db90:	c2 04 00             	ret    $0x4
40db93:	b8 bd 35 48 00       	mov    $0x4835bd,%eax
40db98:	e8 df a0 00 00       	call   0x417c7c
40db9d:	83 ec 18             	sub    $0x18,%esp
40dba0:	8b 45 10             	mov    0x10(%ebp),%eax
40dba3:	53                   	push   %ebx
40dba4:	56                   	push   %esi
40dba5:	33 f6                	xor    %esi,%esi
40dba7:	57                   	push   %edi
40dba8:	8b 7d 08             	mov    0x8(%ebp),%edi
40dbab:	33 db                	xor    %ebx,%ebx
40dbad:	f6 45 0c 01          	testb  $0x1,0xc(%ebp)
40dbb1:	89 65 f0             	mov    %esp,-0x10(%ebp)
40dbb4:	89 30                	mov    %esi,(%eax)
40dbb6:	89 75 ec             	mov    %esi,-0x14(%ebp)
40dbb9:	89 75 e0             	mov    %esi,-0x20(%ebp)
40dbbc:	89 75 08             	mov    %esi,0x8(%ebp)
40dbbf:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
40dbc2:	89 75 fc             	mov    %esi,-0x4(%ebp)
40dbc5:	74 56                	je     0x40dc1d
40dbc7:	8b 47 d0             	mov    -0x30(%edi),%eax
40dbca:	89 45 08             	mov    %eax,0x8(%ebp)
40dbcd:	c1 e0 02             	shl    $0x2,%eax
40dbd0:	50                   	push   %eax
40dbd1:	e8 7f 24 03 00       	call   0x440055
40dbd6:	8b d8                	mov    %eax,%ebx
40dbd8:	8b 47 c8             	mov    -0x38(%edi),%eax
40dbdb:	59                   	pop    %ecx
40dbdc:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
40dbdf:	89 75 0c             	mov    %esi,0xc(%ebp)
40dbe2:	89 45 e8             	mov    %eax,-0x18(%ebp)
40dbe5:	33 f6                	xor    %esi,%esi
40dbe7:	39 75 e8             	cmp    %esi,-0x18(%ebp)
40dbea:	74 31                	je     0x40dc1d
40dbec:	8d 45 e8             	lea    -0x18(%ebp),%eax
40dbef:	50                   	push   %eax
40dbf0:	8d 4f c4             	lea    -0x3c(%edi),%ecx
40dbf3:	e8 6a 98 ff ff       	call   0x407462
40dbf8:	8b 30                	mov    (%eax),%esi
40dbfa:	83 7e 04 00          	cmpl   $0x0,0x4(%esi)
40dbfe:	74 e5                	je     0x40dbe5
40dc00:	8b 46 04             	mov    0x4(%esi),%eax
40dc03:	8b 40 4c             	mov    0x4c(%eax),%eax
40dc06:	8b 08                	mov    (%eax),%ecx
40dc08:	50                   	push   %eax
40dc09:	ff 51 04             	call   *0x4(%ecx)
40dc0c:	8b 46 04             	mov    0x4(%esi),%eax
40dc0f:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40dc12:	8b 40 4c             	mov    0x4c(%eax),%eax
40dc15:	ff 45 0c             	incl   0xc(%ebp)
40dc18:	89 04 8b             	mov    %eax,(%ebx,%ecx,4)
40dc1b:	eb c8                	jmp    0x40dbe5
40dc1d:	6a 38                	push   $0x38
40dc1f:	e8 31 24 03 00       	call   0x440055
40dc24:	59                   	pop    %ecx
40dc25:	8b c8                	mov    %eax,%ecx
40dc27:	89 4d 0c             	mov    %ecx,0xc(%ebp)
40dc2a:	3b ce                	cmp    %esi,%ecx
40dc2c:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
40dc30:	74 0b                	je     0x40dc3d
40dc32:	ff 75 08             	push   0x8(%ebp)
40dc35:	53                   	push   %ebx
40dc36:	e8 60 f5 ff ff       	call   0x40d19b
40dc3b:	eb 17                	jmp    0x40dc54
40dc3d:	33 c0                	xor    %eax,%eax
40dc3f:	eb 13                	jmp    0x40dc54
40dc41:	c7 45 ec 0e 00 07 80 	movl   $0x8007000e,-0x14(%ebp)
40dc48:	b8 4e dc 40 00       	mov    $0x40dc4e,%eax
40dc4d:	c3                   	ret
40dc4e:	8b 45 e0             	mov    -0x20(%ebp),%eax
40dc51:	8b 5d e4             	mov    -0x1c(%ebp),%ebx
40dc54:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
40dc58:	33 f6                	xor    %esi,%esi
40dc5a:	39 75 ec             	cmp    %esi,-0x14(%ebp)
40dc5d:	7c 0a                	jl     0x40dc69
40dc5f:	8b 4d 10             	mov    0x10(%ebp),%ecx
40dc62:	83 c0 34             	add    $0x34,%eax
40dc65:	89 01                	mov    %eax,(%ecx)
40dc67:	eb 19                	jmp    0x40dc82
40dc69:	3b de                	cmp    %esi,%ebx
40dc6b:	74 15                	je     0x40dc82
40dc6d:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
40dc71:	76 0f                	jbe    0x40dc82
40dc73:	8b 04 b3             	mov    (%ebx,%esi,4),%eax
40dc76:	8b 08                	mov    (%eax),%ecx
40dc78:	50                   	push   %eax
40dc79:	ff 51 08             	call   *0x8(%ecx)
40dc7c:	46                   	inc    %esi
40dc7d:	3b 75 08             	cmp    0x8(%ebp),%esi
40dc80:	72 f1                	jb     0x40dc73
40dc82:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40dc85:	8b 45 ec             	mov    -0x14(%ebp),%eax
40dc88:	5f                   	pop    %edi
40dc89:	5e                   	pop    %esi
40dc8a:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40dc91:	5b                   	pop    %ebx
40dc92:	c9                   	leave
40dc93:	c2 0c 00             	ret    $0xc
40dc96:	56                   	push   %esi
40dc97:	ff 74 24 08          	push   0x8(%esp)
40dc9b:	8b f1                	mov    %ecx,%esi
40dc9d:	e8 da f5 ff ff       	call   0x40d27c
40dca2:	c7 06 48 c4 48 00    	movl   $0x48c448,(%esi)
40dca8:	8b c6                	mov    %esi,%eax
40dcaa:	5e                   	pop    %esi
40dcab:	c2 04 00             	ret    $0x4
40dcae:	56                   	push   %esi
40dcaf:	8b f1                	mov    %ecx,%esi
40dcb1:	e8 3e f7 ff ff       	call   0x40d3f4
40dcb6:	f6 44 24 08 01       	testb  $0x1,0x8(%esp)
40dcbb:	74 07                	je     0x40dcc4
40dcbd:	56                   	push   %esi
40dcbe:	e8 bd 23 03 00       	call   0x440080
40dcc3:	59                   	pop    %ecx
40dcc4:	8b c6                	mov    %esi,%eax
40dcc6:	5e                   	pop    %esi
40dcc7:	c2 04 00             	ret    $0x4
40dcca:	55                   	push   %ebp
40dccb:	8b ec                	mov    %esp,%ebp
40dccd:	56                   	push   %esi
40dcce:	8b 75 1c             	mov    0x1c(%ebp),%esi
40dcd1:	85 f6                	test   %esi,%esi
40dcd3:	57                   	push   %edi
40dcd4:	8b f9                	mov    %ecx,%edi
40dcd6:	74 33                	je     0x40dd0b
40dcd8:	8b ce                	mov    %esi,%ecx
40dcda:	e8 5a f6 ff ff       	call   0x40d339
40dcdf:	85 c0                	test   %eax,%eax
40dce1:	74 28                	je     0x40dd0b
40dce3:	6a 00                	push   $0x0
40dce5:	ff 75 2c             	push   0x2c(%ebp)
40dce8:	8b 4e 48             	mov    0x48(%esi),%ecx
40dceb:	ff 75 28             	push   0x28(%ebp)
40dcee:	ff 75 24             	push   0x24(%ebp)
40dcf1:	ff 75 20             	push   0x20(%ebp)
40dcf4:	ff 75 18             	push   0x18(%ebp)
40dcf7:	ff 75 14             	push   0x14(%ebp)
40dcfa:	ff 75 10             	push   0x10(%ebp)
40dcfd:	ff 75 0c             	push   0xc(%ebp)
40dd00:	ff 75 08             	push   0x8(%ebp)
40dd03:	57                   	push   %edi
40dd04:	e8 38 f8 ff ff       	call   0x40d541
40dd09:	eb 02                	jmp    0x40dd0d
40dd0b:	33 c0                	xor    %eax,%eax
40dd0d:	5f                   	pop    %edi
40dd0e:	5e                   	pop    %esi
40dd0f:	5d                   	pop    %ebp
40dd10:	c2 28 00             	ret    $0x28
40dd13:	56                   	push   %esi
40dd14:	8b f1                	mov    %ecx,%esi
40dd16:	e8 e1 f6 ff ff       	call   0x40d3fc
40dd1b:	f6 44 24 08 01       	testb  $0x1,0x8(%esp)
40dd20:	74 07                	je     0x40dd29
40dd22:	56                   	push   %esi
40dd23:	e8 58 23 03 00       	call   0x440080
40dd28:	59                   	pop    %ecx
40dd29:	8b c6                	mov    %esi,%eax
40dd2b:	5e                   	pop    %esi
40dd2c:	c2 04 00             	ret    $0x4
40dd2f:	8b c1                	mov    %ecx,%eax
40dd31:	c3                   	ret
40dd32:	8b c1                	mov    %ecx,%eax
40dd34:	c3                   	ret
40dd35:	55                   	push   %ebp
40dd36:	8b ec                	mov    %esp,%ebp
40dd38:	83 ec 20             	sub    $0x20,%esp
40dd3b:	56                   	push   %esi
40dd3c:	ff 75 18             	push   0x18(%ebp)
40dd3f:	8d 45 e0             	lea    -0x20(%ebp),%eax
40dd42:	50                   	push   %eax
40dd43:	8b f1                	mov    %ecx,%esi
40dd45:	ff 15 44 07 4b 00    	call   *0x4b0744
40dd4b:	ff 75 2c             	push   0x2c(%ebp)
40dd4e:	8b 4d e0             	mov    -0x20(%ebp),%ecx
40dd51:	ff 75 28             	push   0x28(%ebp)
40dd54:	8b 45 e8             	mov    -0x18(%ebp),%eax
40dd57:	ff 75 24             	push   0x24(%ebp)
40dd5a:	8b 55 e4             	mov    -0x1c(%ebp),%edx
40dd5d:	ff 75 20             	push   0x20(%ebp)
40dd60:	2b c1                	sub    %ecx,%eax
40dd62:	ff 75 1c             	push   0x1c(%ebp)
40dd65:	89 45 f8             	mov    %eax,-0x8(%ebp)
40dd68:	8d 45 f8             	lea    -0x8(%ebp),%eax
40dd6b:	50                   	push   %eax
40dd6c:	8d 45 f0             	lea    -0x10(%ebp),%eax
40dd6f:	50                   	push   %eax
40dd70:	ff 75 14             	push   0x14(%ebp)
40dd73:	89 4d f0             	mov    %ecx,-0x10(%ebp)
40dd76:	ff 75 10             	push   0x10(%ebp)
40dd79:	8b 4d ec             	mov    -0x14(%ebp),%ecx
40dd7c:	ff 75 0c             	push   0xc(%ebp)
40dd7f:	2b ca                	sub    %edx,%ecx
40dd81:	ff 75 08             	push   0x8(%ebp)
40dd84:	89 4d fc             	mov    %ecx,-0x4(%ebp)
40dd87:	8b ce                	mov    %esi,%ecx
40dd89:	89 55 f4             	mov    %edx,-0xc(%ebp)
40dd8c:	e8 b0 f7 ff ff       	call   0x40d541
40dd91:	5e                   	pop    %esi
40dd92:	c9                   	leave
40dd93:	c2 28 00             	ret    $0x28
40dd96:	55                   	push   %ebp
40dd97:	8b ec                	mov    %esp,%ebp
40dd99:	83 ec 20             	sub    $0x20,%esp
40dd9c:	56                   	push   %esi
40dd9d:	ff 75 14             	push   0x14(%ebp)
40dda0:	8d 45 e0             	lea    -0x20(%ebp),%eax
40dda3:	50                   	push   %eax
40dda4:	8b f1                	mov    %ecx,%esi
40dda6:	ff 15 44 07 4b 00    	call   *0x4b0744
40ddac:	ff 75 28             	push   0x28(%ebp)
40ddaf:	8b 4d e0             	mov    -0x20(%ebp),%ecx
40ddb2:	ff 75 24             	push   0x24(%ebp)
40ddb5:	8b 45 e8             	mov    -0x18(%ebp),%eax
40ddb8:	ff 75 20             	push   0x20(%ebp)
40ddbb:	8b 55 e4             	mov    -0x1c(%ebp),%edx
40ddbe:	ff 75 1c             	push   0x1c(%ebp)
40ddc1:	2b c1                	sub    %ecx,%eax
40ddc3:	ff 75 18             	push   0x18(%ebp)
40ddc6:	89 45 f8             	mov    %eax,-0x8(%ebp)
40ddc9:	8d 45 f8             	lea    -0x8(%ebp),%eax
40ddcc:	50                   	push   %eax
40ddcd:	8d 45 f0             	lea    -0x10(%ebp),%eax
40ddd0:	50                   	push   %eax
40ddd1:	ff 75 10             	push   0x10(%ebp)
40ddd4:	89 4d f0             	mov    %ecx,-0x10(%ebp)
40ddd7:	8b 4d ec             	mov    -0x14(%ebp),%ecx
40ddda:	ff 75 0c             	push   0xc(%ebp)
40dddd:	2b ca                	sub    %edx,%ecx
40dddf:	ff 75 08             	push   0x8(%ebp)
40dde2:	89 4d fc             	mov    %ecx,-0x4(%ebp)
40dde5:	8b ce                	mov    %esi,%ecx
40dde7:	89 55 f4             	mov    %edx,-0xc(%ebp)
40ddea:	e8 db fe ff ff       	call   0x40dcca
40ddef:	5e                   	pop    %esi
40ddf0:	c9                   	leave
40ddf1:	c2 24 00             	ret    $0x24
40ddf4:	8b c1                	mov    %ecx,%eax
40ddf6:	c7 00 58 c4 48 00    	movl   $0x48c458,(%eax)
40ddfc:	c3                   	ret
40ddfd:	8b c1                	mov    %ecx,%eax
40ddff:	c3                   	ret
40de00:	55                   	push   %ebp
40de01:	8b ec                	mov    %esp,%ebp
40de03:	83 ec 14             	sub    $0x14,%esp
40de06:	a1 40 8b 4a 00       	mov    0x4a8b40,%eax
40de0b:	56                   	push   %esi
40de0c:	89 45 fc             	mov    %eax,-0x4(%ebp)
40de0f:	8d 45 ec             	lea    -0x14(%ebp),%eax
40de12:	50                   	push   %eax
40de13:	ff 75 08             	push   0x8(%ebp)
40de16:	8b f1                	mov    %ecx,%esi
40de18:	e8 c2 ee 06 00       	call   0x47ccdf
40de1d:	85 c0                	test   %eax,%eax
40de1f:	7d 04                	jge    0x40de25
40de21:	33 c0                	xor    %eax,%eax
40de23:	eb 23                	jmp    0x40de48
40de25:	ff 75 28             	push   0x28(%ebp)
40de28:	8d 45 ec             	lea    -0x14(%ebp),%eax
40de2b:	ff 75 24             	push   0x24(%ebp)
40de2e:	8b ce                	mov    %esi,%ecx
40de30:	ff 75 20             	push   0x20(%ebp)
40de33:	ff 75 1c             	push   0x1c(%ebp)
40de36:	ff 75 18             	push   0x18(%ebp)
40de39:	ff 75 14             	push   0x14(%ebp)
40de3c:	ff 75 10             	push   0x10(%ebp)
40de3f:	ff 75 0c             	push   0xc(%ebp)
40de42:	50                   	push   %eax
40de43:	e8 4e ff ff ff       	call   0x40dd96
40de48:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40de4b:	5e                   	pop    %esi
40de4c:	e8 8d 9d 00 00       	call   0x417bde
40de51:	c9                   	leave
40de52:	c2 24 00             	ret    $0x24
40de55:	8b c1                	mov    %ecx,%eax
40de57:	c7 00 74 c4 48 00    	movl   $0x48c474,(%eax)
40de5d:	c3                   	ret
40de5e:	b8 da 35 48 00       	mov    $0x4835da,%eax
40de63:	e8 14 9e 00 00       	call   0x417c7c
40de68:	51                   	push   %ecx
40de69:	56                   	push   %esi
40de6a:	8b f1                	mov    %ecx,%esi
40de6c:	57                   	push   %edi
40de6d:	89 75 f0             	mov    %esi,-0x10(%ebp)
40de70:	e8 8f 42 03 00       	call   0x442104
40de75:	8b 45 08             	mov    0x8(%ebp),%eax
40de78:	33 ff                	xor    %edi,%edi
40de7a:	6a 0a                	push   $0xa
40de7c:	8d 4e 20             	lea    0x20(%esi),%ecx
40de7f:	89 7d fc             	mov    %edi,-0x4(%ebp)
40de82:	c7 06 a4 c3 48 00    	movl   $0x48c3a4,(%esi)
40de88:	89 46 1c             	mov    %eax,0x1c(%esi)
40de8b:	e8 51 0a 03 00       	call   0x43e8e1
40de90:	6a 0a                	push   $0xa
40de92:	8d 4e 3c             	lea    0x3c(%esi),%ecx
40de95:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
40de99:	e8 f8 fd ff ff       	call   0x40dc96
40de9e:	83 4e 58 ff          	orl    $0xffffffff,0x58(%esi)