40d94a:	8b 01                	mov    (%ecx),%eax
40d94c:	53                   	push   %ebx
40d94d:	56                   	push   %esi
40d94e:	57                   	push   %edi
40d94f:	89 65 f0             	mov    %esp,-0x10(%ebp)
40d952:	ff 75 08             	push   0x8(%ebp)
40d955:	ff 50 74             	call   *0x74(%eax)
40d958:	33 c9                	xor    %ecx,%ecx
40d95a:	3b c1                	cmp    %ecx,%eax
40d95c:	75 04                	jne    0x40d962
40d95e:	33 c0                	xor    %eax,%eax
40d960:	eb 35                	jmp    0x40d997
40d962:	39 48 4c             	cmp    %ecx,0x4c(%eax)
40d965:	75 12                	jne    0x40d979
40d967:	51                   	push   %ecx
40d968:	51                   	push   %ecx
40d969:	68 f0 00 00 00       	push   $0xf0
40d96e:	ff 70 1c             	push   0x1c(%eax)
40d971:	ff 15 98 08 4b 00    	call   *0x4b0898
40d977:	eb 1e                	jmp    0x40d997
40d979:	8d 55 08             	lea    0x8(%ebp),%edx
40d97c:	52                   	push   %edx
40d97d:	6a 03                	push   $0x3
40d97f:	89 4d fc             	mov    %ecx,-0x4(%ebp)
40d982:	51                   	push   %ecx
40d983:	8b c8                	mov    %eax,%ecx
40d985:	e8 88 34 03 00       	call   0x440e12
40d98a:	8b 45 08             	mov    0x8(%ebp),%eax
40d98d:	3d ff ff 00 00       	cmp    $0xffff,%eax
40d992:	75 03                	jne    0x40d997
40d994:	33 c0                	xor    %eax,%eax
40d996:	40                   	inc    %eax
40d997:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40d99a:	5f                   	pop    %edi
40d99b:	5e                   	pop    %esi
40d99c:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40d9a3:	5b                   	pop    %ebx
40d9a4:	c9                   	leave
40d9a5:	c2 04 00             	ret    $0x4
40d9a8:	8b 4d ec             	mov    -0x14(%ebp),%ecx
40d9ab:	e8 69 25 03 00       	call   0x43ff19
40d9b0:	83 65 08 00          	andl   $0x0,0x8(%ebp)
40d9b4:	b8 8a d9 40 00       	mov    $0x40d98a,%eax
40d9b9:	c3                   	ret
40d9ba:	55                   	push   %ebp
40d9bb:	8b ec                	mov    %esp,%ebp
40d9bd:	8b 55 14             	mov    0x14(%ebp),%edx
40d9c0:	83 22 00             	andl   $0x0,(%edx)
40d9c3:	53                   	push   %ebx
40d9c4:	8b 5d 08             	mov    0x8(%ebp),%ebx
40d9c7:	81 fb 0f 01 00 00    	cmp    $0x10f,%ebx
40d9cd:	56                   	push   %esi
40d9ce:	57                   	push   %edi
40d9cf:	77 33                	ja     0x40da04
40d9d1:	81 fb 0d 01 00 00    	cmp    $0x10d,%ebx
40d9d7:	73 5b                	jae    0x40da34
40d9d9:	83 fb 1f             	cmp    $0x1f,%ebx
40d9dc:	74 56                	je     0x40da34
40d9de:	83 fb 53             	cmp    $0x53,%ebx
40d9e1:	74 51                	je     0x40da34
40d9e3:	81 fb ff 00 00 00    	cmp    $0xff,%ebx
40d9e9:	76 10                	jbe    0x40d9fb
40d9eb:	81 fb 05 01 00 00    	cmp    $0x105,%ebx
40d9f1:	76 41                	jbe    0x40da34
40d9f3:	81 fb 07 01 00 00    	cmp    $0x107,%ebx
40d9f9:	74 39                	je     0x40da34
40d9fb:	33 c0                	xor    %eax,%eax
40d9fd:	5f                   	pop    %edi
40d9fe:	5e                   	pop    %esi
40d9ff:	5b                   	pop    %ebx
40da00:	5d                   	pop    %ebp
40da01:	c2 10 00             	ret    $0x10
40da04:	81 fb 00 02 00 00    	cmp    $0x200,%ebx
40da0a:	72 ef                	jb     0x40d9fb
40da0c:	81 fb 09 02 00 00    	cmp    $0x209,%ebx
40da12:	76 41                	jbe    0x40da55
40da14:	81 fb 80 02 00 00    	cmp    $0x280,%ebx
40da1a:	76 df                	jbe    0x40d9fb
40da1c:	81 fb 86 02 00 00    	cmp    $0x286,%ebx
40da22:	76 10                	jbe    0x40da34
40da24:	81 fb 8f 02 00 00    	cmp    $0x28f,%ebx
40da2a:	76 cf                	jbe    0x40d9fb
40da2c:	81 fb 91 02 00 00    	cmp    $0x291,%ebx
40da32:	77 c7                	ja     0x40d9fb
40da34:	83 79 6c 00          	cmpl   $0x0,0x6c(%ecx)
40da38:	74 c1                	je     0x40d9fb
40da3a:	8b 41 6c             	mov    0x6c(%ecx),%eax
40da3d:	8b 40 58             	mov    0x58(%eax),%eax
40da40:	52                   	push   %edx
40da41:	ff 75 10             	push   0x10(%ebp)
40da44:	8b 08                	mov    (%eax),%ecx
40da46:	ff 75 0c             	push   0xc(%ebp)
40da49:	53                   	push   %ebx
40da4a:	50                   	push   %eax
40da4b:	ff 51 24             	call   *0x24(%ecx)
40da4e:	f7 d8                	neg    %eax
40da50:	1b c0                	sbb    %eax,%eax
40da52:	40                   	inc    %eax
40da53:	eb a8                	jmp    0x40d9fd
40da55:	8b 71 68             	mov    0x68(%ecx),%esi
40da58:	85 f6                	test   %esi,%esi
40da5a:	75 5a                	jne    0x40dab6
40da5c:	8b 41 40             	mov    0x40(%ecx),%eax
40da5f:	85 c0                	test   %eax,%eax
40da61:	89 45 08             	mov    %eax,0x8(%ebp)
40da64:	74 95                	je     0x40d9fb
40da66:	8d 79 3c             	lea    0x3c(%ecx),%edi
40da69:	8d 45 08             	lea    0x8(%ebp),%eax
40da6c:	50                   	push   %eax
40da6d:	8b cf                	mov    %edi,%ecx
40da6f:	e8 ee 99 ff ff       	call   0x407462
40da74:	8b 30                	mov    (%eax),%esi
40da76:	8b 46 04             	mov    0x4(%esi),%eax
40da79:	85 c0                	test   %eax,%eax
40da7b:	74 23                	je     0x40daa0
40da7d:	83 78 70 00          	cmpl   $0x0,0x70(%eax)
40da81:	74 1d                	je     0x40daa0
40da83:	8b 55 10             	mov    0x10(%ebp),%edx
40da86:	0f bf 4d 10          	movswl 0x10(%ebp),%ecx
40da8a:	c1 ea 10             	shr    $0x10,%edx
40da8d:	0f bf d2             	movswl %dx,%edx
40da90:	52                   	push   %edx
40da91:	83 c0 2c             	add    $0x2c,%eax
40da94:	51                   	push   %ecx
40da95:	50                   	push   %eax
40da96:	ff 15 48 07 4b 00    	call   *0x4b0748
40da9c:	85 c0                	test   %eax,%eax
40da9e:	75 0b                	jne    0x40daab
40daa0:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
40daa4:	75 c3                	jne    0x40da69
40daa6:	e9 50 ff ff ff       	jmp    0x40d9fb
40daab:	8b 76 04             	mov    0x4(%esi),%esi
40daae:	85 f6                	test   %esi,%esi
40dab0:	0f 84 45 ff ff ff    	je     0x40d9fb
40dab6:	8b 46 58             	mov    0x58(%esi),%eax
40dab9:	ff 75 14             	push   0x14(%ebp)
40dabc:	eb 83                	jmp    0x40da41
40dabe:	55                   	push   %ebp
40dabf:	8b ec                	mov    %esp,%ebp
40dac1:	51                   	push   %ecx
40dac2:	51                   	push   %ecx
40dac3:	8b 41 40             	mov    0x40(%ecx),%eax
40dac6:	56                   	push   %esi
40dac7:	33 f6                	xor    %esi,%esi
40dac9:	3b c6                	cmp    %esi,%eax
40dacb:	89 45 fc             	mov    %eax,-0x4(%ebp)
40dace:	89 75 f8             	mov    %esi,-0x8(%ebp)
40dad1:	74 7a                	je     0x40db4d
40dad3:	53                   	push   %ebx
40dad4:	8b 5d 08             	mov    0x8(%ebp),%ebx
40dad7:	57                   	push   %edi
40dad8:	8d 79 3c             	lea    0x3c(%ecx),%edi
40dadb:	8d 45 fc             	lea    -0x4(%ebp),%eax
40dade:	50                   	push   %eax
40dadf:	8b cf                	mov    %edi,%ecx
40dae1:	e8 7c 99 ff ff       	call   0x407462
40dae6:	8b 00                	mov    (%eax),%eax
40dae8:	8b 48 04             	mov    0x4(%eax),%ecx
40daeb:	3b ce                	cmp    %esi,%ecx
40daed:	74 57                	je     0x40db46
40daef:	39 71 70             	cmp    %esi,0x70(%ecx)
40daf2:	74 52                	je     0x40db46
40daf4:	89 75 08             	mov    %esi,0x8(%ebp)
40daf7:	8b 40 04             	mov    0x4(%eax),%eax
40dafa:	8b 40 4c             	mov    0x4c(%eax),%eax
40dafd:	8b 08                	mov    (%eax),%ecx
40daff:	8d 55 08             	lea    0x8(%ebp),%edx
40db02:	52                   	push   %edx
40db03:	68 fc 4b 49 00       	push   $0x494bfc
40db08:	50                   	push   %eax
40db09:	ff 11                	call   *(%ecx)
40db0b:	8b 4d 08             	mov    0x8(%ebp),%ecx
40db0e:	3b ce                	cmp    %esi,%ecx
40db10:	74 28                	je     0x40db3a
40db12:	3b de                	cmp    %esi,%ebx
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