40cc01:	56                   	push   %esi
40cc02:	e8 28 35 03 00       	call   0x44012f
40cc07:	59                   	pop    %ecx
40cc08:	59                   	pop    %ecx
40cc09:	eb 25                	jmp    0x40cc30
40cc0b:	be 0d 00 07 80       	mov    $0x8007000d,%esi
40cc10:	56                   	push   %esi
40cc11:	68 0e 01 00 00       	push   $0x10e
40cc16:	68 38 fa 44 00       	push   $0x44fa38
40cc1b:	e8 b3 6b ff ff       	call   0x4037d3
40cc20:	ff 33                	push   (%ebx)
40cc22:	68 60 fe 44 00       	push   $0x44fe60
40cc27:	56                   	push   %esi
40cc28:	e8 02 35 03 00       	call   0x44012f
40cc2d:	83 c4 0c             	add    $0xc,%esp
40cc30:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
40cc34:	74 08                	je     0x40cc3e
40cc36:	ff 75 fc             	push   -0x4(%ebp)
40cc39:	e8 b1 88 03 00       	call   0x4454ef
40cc3e:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
40cc42:	74 08                	je     0x40cc4c
40cc44:	ff 75 f8             	push   -0x8(%ebp)
40cc47:	e8 a3 88 03 00       	call   0x4454ef
40cc4c:	5f                   	pop    %edi
40cc4d:	8b c6                	mov    %esi,%eax
40cc4f:	5e                   	pop    %esi
40cc50:	5b                   	pop    %ebx
40cc51:	8b e5                	mov    %ebp,%esp
40cc53:	5d                   	pop    %ebp
40cc54:	c2 10 00             	ret    $0x10
40cc57:	55                   	push   %ebp
40cc58:	8b ec                	mov    %esp,%ebp
40cc5a:	51                   	push   %ecx
40cc5b:	53                   	push   %ebx
40cc5c:	56                   	push   %esi
40cc5d:	57                   	push   %edi
40cc5e:	8b 7d 08             	mov    0x8(%ebp),%edi
40cc61:	33 f6                	xor    %esi,%esi
40cc63:	8b de                	mov    %esi,%ebx
40cc65:	39 77 04             	cmp    %esi,0x4(%edi)
40cc68:	76 32                	jbe    0x40cc9c
40cc6a:	8b ce                	mov    %esi,%ecx
40cc6c:	89 75 08             	mov    %esi,0x8(%ebp)
40cc6f:	8b 07                	mov    (%edi),%eax
40cc71:	6a ff                	push   $0xffffffff
40cc73:	ff 75 0c             	push   0xc(%ebp)
40cc76:	03 c1                	add    %ecx,%eax
40cc78:	6a ff                	push   $0xffffffff
40cc7a:	89 45 fc             	mov    %eax,-0x4(%ebp)
40cc7d:	ff 30                	push   (%eax)
40cc7f:	56                   	push   %esi
40cc80:	6a 7f                	push   $0x7f
40cc82:	ff 15 28 b1 44 00    	call   *0x44b128
40cc88:	83 f8 02             	cmp    $0x2,%eax
40cc8b:	74 1f                	je     0x40ccac
40cc8d:	8b 4d 08             	mov    0x8(%ebp),%ecx
40cc90:	43                   	inc    %ebx
40cc91:	83 c1 58             	add    $0x58,%ecx
40cc94:	89 4d 08             	mov    %ecx,0x8(%ebp)
40cc97:	3b 5f 04             	cmp    0x4(%edi),%ebx
40cc9a:	72 d3                	jb     0x40cc6f
40cc9c:	be 90 04 07 80       	mov    $0x80070490,%esi
40cca1:	5f                   	pop    %edi
40cca2:	8b c6                	mov    %esi,%eax
40cca4:	5e                   	pop    %esi
40cca5:	5b                   	pop    %ebx
40cca6:	8b e5                	mov    %ebp,%esp
40cca8:	5d                   	pop    %ebp
40cca9:	c2 0c 00             	ret    $0xc
40ccac:	8b 45 10             	mov    0x10(%ebp),%eax
40ccaf:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40ccb2:	89 08                	mov    %ecx,(%eax)
40ccb4:	eb eb                	jmp    0x40cca1
40ccb6:	55                   	push   %ebp
40ccb7:	8b ec                	mov    %esp,%ebp
40ccb9:	83 ec 10             	sub    $0x10,%esp
40ccbc:	83 65 f0 00          	andl   $0x0,-0x10(%ebp)
40ccc0:	8d 45 f0             	lea    -0x10(%ebp),%eax
40ccc3:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
40ccc7:	83 65 f4 00          	andl   $0x0,-0xc(%ebp)
40cccb:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40cccf:	56                   	push   %esi
40ccd0:	50                   	push   %eax
40ccd1:	68 48 f9 44 00       	push   $0x44f948
40ccd6:	ff 75 14             	push   0x14(%ebp)
40ccd9:	e8 25 6b 03 00       	call   0x443803
40ccde:	8b f0                	mov    %eax,%esi
40cce0:	85 f6                	test   %esi,%esi
40cce2:	79 12                	jns    0x40ccf6
40cce4:	68 18 fa 44 00       	push   $0x44fa18
40cce9:	56                   	push   %esi
40ccea:	e8 40 34 03 00       	call   0x44012f
40ccef:	59                   	pop    %ecx
40ccf0:	59                   	pop    %ecx
40ccf1:	e9 55 03 00 00       	jmp    0x40d04b
40ccf6:	8b 45 f0             	mov    -0x10(%ebp),%eax
40ccf9:	8d 55 f4             	lea    -0xc(%ebp),%edx
40ccfc:	52                   	push   %edx
40ccfd:	50                   	push   %eax
40ccfe:	8b 08                	mov    (%eax),%ecx
40cd00:	ff 51 20             	call   *0x20(%ecx)
40cd03:	8b f0                	mov    %eax,%esi
40cd05:	85 f6                	test   %esi,%esi
40cd07:	79 07                	jns    0x40cd10
40cd09:	68 e8 f8 44 00       	push   $0x44f8e8
40cd0e:	eb d9                	jmp    0x40cce9
40cd10:	8b 45 f4             	mov    -0xc(%ebp),%eax
40cd13:	85 c0                	test   %eax,%eax
40cd15:	0f 84 30 03 00 00    	je     0x40d04b
40cd1b:	6b c0 58             	imul   $0x58,%eax,%eax
40cd1e:	53                   	push   %ebx
40cd1f:	6a 01                	push   $0x1
40cd21:	50                   	push   %eax
40cd22:	e8 ad 6b ff ff       	call   0x4038d4
40cd27:	8b 5d 08             	mov    0x8(%ebp),%ebx
40cd2a:	89 03                	mov    %eax,(%ebx)
40cd2c:	85 c0                	test   %eax,%eax
40cd2e:	75 24                	jne    0x40cd54
40cd30:	be 0e 00 07 80       	mov    $0x8007000e,%esi
40cd35:	56                   	push   %esi
40cd36:	6a 2e                	push   $0x2e
40cd38:	68 38 fa 44 00       	push   $0x44fa38
40cd3d:	e8 91 6a ff ff       	call   0x4037d3
40cd42:	68 18 f9 44 00       	push   $0x44f918
40cd47:	56                   	push   %esi
40cd48:	e8 e2 33 03 00       	call   0x44012f
40cd4d:	59                   	pop    %ecx
40cd4e:	59                   	pop    %ecx
40cd4f:	e9 f6 02 00 00       	jmp    0x40d04a
40cd54:	8b 45 f4             	mov    -0xc(%ebp),%eax
40cd57:	83 65 14 00          	andl   $0x0,0x14(%ebp)
40cd5b:	89 43 04             	mov    %eax,0x4(%ebx)
40cd5e:	57                   	push   %edi
40cd5f:	85 c0                	test   %eax,%eax
40cd61:	0f 84 e0 02 00 00    	je     0x40d047
40cd67:	33 c9                	xor    %ecx,%ecx
40cd69:	89 4d 08             	mov    %ecx,0x8(%ebp)
40cd6c:	8b 3b                	mov    (%ebx),%edi
40cd6e:	8d 45 f8             	lea    -0x8(%ebp),%eax
40cd71:	6a 00                	push   $0x0
40cd73:	50                   	push   %eax
40cd74:	ff 75 f0             	push   -0x10(%ebp)
40cd77:	03 f9                	add    %ecx,%edi
40cd79:	e8 e2 69 03 00       	call   0x443760
40cd7e:	8b f0                	mov    %eax,%esi
40cd80:	85 f6                	test   %esi,%esi
40cd82:	0f 88 99 03 00 00    	js     0x40d121
40cd88:	57                   	push   %edi
40cd89:	68 64 ca 44 00       	push   $0x44ca64
40cd8e:	ff 75 f8             	push   -0x8(%ebp)
40cd91:	e8 31 64 03 00       	call   0x4431c7
40cd96:	8b f0                	mov    %eax,%esi
40cd98:	85 f6                	test   %esi,%esi
40cd9a:	0f 88 7a 03 00 00    	js     0x40d11a
40cda0:	8d 47 18             	lea    0x18(%edi),%eax
40cda3:	50                   	push   %eax
40cda4:	68 38 f6 44 00       	push   $0x44f638
40cda9:	ff 75 f8             	push   -0x8(%ebp)
40cdac:	e8 16 64 03 00       	call   0x4431c7
40cdb1:	8b f0                	mov    %eax,%esi
40cdb3:	85 f6                	test   %esi,%esi
40cdb5:	0f 88 58 03 00 00    	js     0x40d113
40cdbb:	8d 45 fc             	lea    -0x4(%ebp),%eax
40cdbe:	50                   	push   %eax
40cdbf:	68 44 fa 44 00       	push   $0x44fa44
40cdc4:	ff 75 f8             	push   -0x8(%ebp)
40cdc7:	e8 fb 63 03 00       	call   0x4431c7
40cdcc:	8b f0                	mov    %eax,%esi
40cdce:	85 f6                	test   %esi,%esi
40cdd0:	0f 88 36 03 00 00    	js     0x40d10c
40cdd6:	8b 35 28 b1 44 00    	mov    0x44b128,%esi
40cddc:	6a ff                	push   $0xffffffff
40cdde:	68 74 fa 44 00       	push   $0x44fa74
40cde3:	6a ff                	push   $0xffffffff
40cde5:	ff 75 fc             	push   -0x4(%ebp)
40cde8:	6a 00                	push   $0x0
40cdea:	6a 7f                	push   $0x7f
40cdec:	ff d6                	call   *%esi
40cdee:	83 f8 02             	cmp    $0x2,%eax
40cdf1:	75 09                	jne    0x40cdfc
40cdf3:	c7 47 04 01 00 00 00 	movl   $0x1,0x4(%edi)
40cdfa:	eb 3e                	jmp    0x40ce3a
40cdfc:	6a ff                	push   $0xffffffff
40cdfe:	68 88 fa 44 00       	push   $0x44fa88
40ce03:	6a ff                	push   $0xffffffff
40ce05:	ff 75 fc             	push   -0x4(%ebp)
40ce08:	6a 00                	push   $0x0
40ce0a:	6a 7f                	push   $0x7f
40ce0c:	ff d6                	call   *%esi
40ce0e:	83 f8 02             	cmp    $0x2,%eax
40ce11:	75 05                	jne    0x40ce18
40ce13:	89 47 04             	mov    %eax,0x4(%edi)
40ce16:	eb 22                	jmp    0x40ce3a
40ce18:	6a ff                	push   $0xffffffff
40ce1a:	68 9c fa 44 00       	push   $0x44fa9c
40ce1f:	6a ff                	push   $0xffffffff
40ce21:	ff 75 fc             	push   -0x4(%ebp)
40ce24:	6a 00                	push   $0x0
40ce26:	6a 7f                	push   $0x7f
40ce28:	ff d6                	call   *%esi
40ce2a:	83 f8 02             	cmp    $0x2,%eax
40ce2d:	0f 85 be 02 00 00    	jne    0x40d0f1
40ce33:	c7 47 04 03 00 00 00 	movl   $0x3,0x4(%edi)
40ce3a:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
40ce3e:	74 42                	je     0x40ce82
40ce40:	8d 45 fc             	lea    -0x4(%ebp),%eax
40ce43:	50                   	push   %eax
40ce44:	68 98 f4 44 00       	push   $0x44f498
40ce49:	ff 75 f8             	push   -0x8(%ebp)
40ce4c:	e8 76 63 03 00       	call   0x4431c7
40ce51:	8b f0                	mov    %eax,%esi
40ce53:	81 fe 90 04 07 80    	cmp    $0x80070490,%esi
40ce59:	75 06                	jne    0x40ce61
40ce5b:	83 7f 04 02          	cmpl   $0x2,0x4(%edi)
40ce5f:	75 21                	jne    0x40ce82
40ce61:	85 f6                	test   %esi,%esi
40ce63:	0f 88 1d 02 00 00    	js     0x40d086
40ce69:	8d 47 3c             	lea    0x3c(%edi),%eax
40ce6c:	50                   	push   %eax
40ce6d:	ff 75 fc             	push   -0x4(%ebp)
40ce70:	ff 75 0c             	push   0xc(%ebp)
40ce73:	e8 31 f2 ff ff       	call   0x40c0a9
40ce78:	8b f0                	mov    %eax,%esi
40ce7a:	85 f6                	test   %esi,%esi
40ce7c:	0f 88 fa 01 00 00    	js     0x40d07c
40ce82:	8d 47 08             	lea    0x8(%edi),%eax
40ce85:	50                   	push   %eax
40ce86:	68 14 fb 44 00       	push   $0x44fb14
40ce8b:	ff 75 f8             	push   -0x8(%ebp)
40ce8e:	e8 48 65 03 00       	call   0x4433db
40ce93:	8b f0                	mov    %eax,%esi
40ce95:	81 fe 90 04 07 80    	cmp    $0x80070490,%esi
40ce9b:	74 08                	je     0x40cea5
40ce9d:	85 f6                	test   %esi,%esi
40ce9f:	0f 88 eb 01 00 00    	js     0x40d090
40cea5:	8d 47 38             	lea    0x38(%edi),%eax
40cea8:	50                   	push   %eax
40cea9:	68 48 fb 44 00       	push   $0x44fb48
40ceae:	ff 75 f8             	push   -0x8(%ebp)
40ceb1:	e8 11 63 03 00       	call   0x4431c7
40ceb6:	8b f0                	mov    %eax,%esi
40ceb8:	81 fe 90 04 07 80    	cmp    $0x80070490,%esi
40cebe:	75 06                	jne    0x40cec6
40cec0:	83 7f 04 01          	cmpl   $0x1,0x4(%edi)
40cec4:	74 08                	je     0x40cece
40cec6:	85 f6                	test   %esi,%esi
40cec8:	0f 88 1c 02 00 00    	js     0x40d0ea
40cece:	8d 47 40             	lea    0x40(%edi),%eax
40ced1:	50                   	push   %eax
40ced2:	68 84 f6 44 00       	push   $0x44f684
40ced7:	ff 75 f8             	push   -0x8(%ebp)
40ceda:	e8 e8 62 03 00       	call   0x4431c7
40cedf:	8b f0                	mov    %eax,%esi
40cee1:	81 fe 90 04 07 80    	cmp    $0x80070490,%esi
40cee7:	75 06                	jne    0x40ceef
40cee9:	83 7f 04 01          	cmpl   $0x1,0x4(%edi)
40ceed:	75 08                	jne    0x40cef7
40ceef:	85 f6                	test   %esi,%esi
40cef1:	0f 88 ec 01 00 00    	js     0x40d0e3
40cef7:	8d 45 fc             	lea    -0x4(%ebp),%eax
40cefa:	50                   	push   %eax
40cefb:	68 98 fb 44 00       	push   $0x44fb98
40cf00:	ff 75 f8             	push   -0x8(%ebp)
40cf03:	e8 bf 62 03 00       	call   0x4431c7
40cf08:	8b f0                	mov    %eax,%esi
40cf0a:	81 fe 90 04 07 80    	cmp    $0x80070490,%esi
40cf10:	74 20                	je     0x40cf32
40cf12:	85 f6                	test   %esi,%esi
40cf14:	0f 88 8a 01 00 00    	js     0x40d0a4
40cf1a:	8d 47 10             	lea    0x10(%edi),%eax
40cf1d:	50                   	push   %eax
40cf1e:	6a 00                	push   $0x0
40cf20:	ff 75 fc             	push   -0x4(%ebp)
40cf23:	e8 fa 5a ff ff       	call   0x402a22
40cf28:	8b f0                	mov    %eax,%esi
40cf2a:	85 f6                	test   %esi,%esi
40cf2c:	0f 88 68 01 00 00    	js     0x40d09a
40cf32:	8d 45 fc             	lea    -0x4(%ebp),%eax
40cf35:	50                   	push   %eax
40cf36:	68 e8 fb 44 00       	push   $0x44fbe8
40cf3b:	ff 75 f8             	push   -0x8(%ebp)
40cf3e:	e8 84 62 03 00       	call   0x4431c7
40cf43:	8b f0                	mov    %eax,%esi
40cf45:	81 fe 90 04 07 80    	cmp    $0x80070490,%esi
40cf4b:	74 22                	je     0x40cf6f
40cf4d:	85 f6                	test   %esi,%esi
40cf4f:	0f 88 5d 01 00 00    	js     0x40d0b2
40cf55:	8d 47 24             	lea    0x24(%edi),%eax
40cf58:	50                   	push   %eax
40cf59:	8d 47 20             	lea    0x20(%edi),%eax
40cf5c:	50                   	push   %eax
40cf5d:	ff 75 fc             	push   -0x4(%ebp)
40cf60:	e8 a6 50 ff ff       	call   0x40200b
40cf65:	8b f0                	mov    %eax,%esi
40cf67:	85 f6                	test   %esi,%esi
40cf69:	0f 88 3c 01 00 00    	js     0x40d0ab
40cf6f:	8d 45 fc             	lea    -0x4(%ebp),%eax
40cf72:	50                   	push   %eax
40cf73:	68 a0 fc 44 00       	push   $0x44fca0
40cf78:	ff 75 f8             	push   -0x8(%ebp)
40cf7b:	e8 47 62 03 00       	call   0x4431c7
40cf80:	8b f0                	mov    %eax,%esi
40cf82:	81 fe 90 04 07 80    	cmp    $0x80070490,%esi
40cf88:	74 22                	je     0x40cfac
40cf8a:	85 f6                	test   %esi,%esi
40cf8c:	0f 88 2e 01 00 00    	js     0x40d0c0
40cf92:	8d 47 2c             	lea    0x2c(%edi),%eax
40cf95:	50                   	push   %eax
40cf96:	8d 47 28             	lea    0x28(%edi),%eax
40cf99:	50                   	push   %eax
40cf9a:	ff 75 fc             	push   -0x4(%ebp)
40cf9d:	e8 69 50 ff ff       	call   0x40200b
40cfa2:	8b f0                	mov    %eax,%esi
40cfa4:	85 f6                	test   %esi,%esi
40cfa6:	0f 88 0d 01 00 00    	js     0x40d0b9
40cfac:	8d 45 fc             	lea    -0x4(%ebp),%eax
40cfaf:	50                   	push   %eax
40cfb0:	68 f8 f6 44 00       	push   $0x44f6f8
40cfb5:	ff 75 f8             	push   -0x8(%ebp)
40cfb8:	e8 0a 62 03 00       	call   0x4431c7
40cfbd:	8b f0                	mov    %eax,%esi
40cfbf:	85 f6                	test   %esi,%esi
40cfc1:	0f 88 15 01 00 00    	js     0x40d0dc
40cfc7:	8d 47 34             	lea    0x34(%edi),%eax
40cfca:	50                   	push   %eax
40cfcb:	8d 47 30             	lea    0x30(%edi),%eax
40cfce:	50                   	push   %eax
40cfcf:	ff 75 fc             	push   -0x4(%ebp)
40cfd2:	e8 34 50 ff ff       	call   0x40200b
40cfd7:	8b f0                	mov    %eax,%esi
40cfd9:	85 f6                	test   %esi,%esi
40cfdb:	0f 88 f4 00 00 00    	js     0x40d0d5
40cfe1:	8d 45 fc             	lea    -0x4(%ebp),%eax
40cfe4:	50                   	push   %eax
40cfe5:	68 b8 f8 44 00       	push   $0x44f8b8
40cfea:	ff 75 f8             	push   -0x8(%ebp)
40cfed:	e8 d5 61 03 00       	call   0x4431c7
40cff2:	8b f0                	mov    %eax,%esi
40cff4:	81 fe 90 04 07 80    	cmp    $0x80070490,%esi
40cffa:	74 21                	je     0x40d01d
40cffc:	85 f6                	test   %esi,%esi
40cffe:	0f 88 ca 00 00 00    	js     0x40d0ce
40d004:	8d 47 1c             	lea    0x1c(%edi),%eax
40d007:	50                   	push   %eax
40d008:	ff 75 fc             	push   -0x4(%ebp)
40d00b:	ff 75 10             	push   0x10(%ebp)
40d00e:	e8 6d f7 ff ff       	call   0x40c780
40d013:	8b f0                	mov    %eax,%esi
40d015:	85 f6                	test   %esi,%esi
40d017:	0f 88 aa 00 00 00    	js     0x40d0c7