40db26:	8b c6                	mov    %esi,%eax
40db28:	5e                   	pop    %esi
40db29:	8b e5                	mov    %ebp,%esp
40db2b:	5d                   	pop    %ebp
40db2c:	c2 0c 00             	ret    $0xc
40db2f:	68 e0 08 45 00       	push   $0x4508e0
40db34:	eb 0c                	jmp    0x40db42
40db36:	68 c4 08 45 00       	push   $0x4508c4
40db3b:	eb 05                	jmp    0x40db42
40db3d:	68 48 ca 44 00       	push   $0x44ca48
40db42:	56                   	push   %esi
40db43:	e8 e7 25 03 00       	call   0x44012f
40db48:	59                   	pop    %ecx
40db49:	59                   	pop    %ecx
40db4a:	eb b0                	jmp    0x40dafc
40db4c:	55                   	push   %ebp
40db4d:	8b ec                	mov    %esp,%ebp
40db4f:	56                   	push   %esi
40db50:	57                   	push   %edi
40db51:	8b 7d 08             	mov    0x8(%ebp),%edi
40db54:	33 f6                	xor    %esi,%esi
40db56:	39 77 10             	cmp    %esi,0x10(%edi)
40db59:	75 38                	jne    0x40db93
40db5b:	69 47 0c e0 00 00 00 	imul   $0xe0,0xc(%edi),%eax
40db62:	6a 01                	push   $0x1
40db64:	50                   	push   %eax
40db65:	e8 6a 5d ff ff       	call   0x4038d4
40db6a:	89 47 10             	mov    %eax,0x10(%edi)
40db6d:	85 c0                	test   %eax,%eax
40db6f:	75 22                	jne    0x40db93
40db71:	be 0e 00 07 80       	mov    $0x8007000e,%esi
40db76:	56                   	push   %esi
40db77:	68 06 02 00 00       	push   $0x206
40db7c:	68 98 01 45 00       	push   $0x450198
40db81:	e8 4d 5c ff ff       	call   0x4037d3
40db86:	68 48 08 45 00       	push   $0x450848
40db8b:	56                   	push   %esi
40db8c:	e8 9e 25 03 00       	call   0x44012f
40db91:	59                   	pop    %ecx
40db92:	59                   	pop    %ecx
40db93:	5f                   	pop    %edi
40db94:	8b c6                	mov    %esi,%eax
40db96:	5e                   	pop    %esi
40db97:	5d                   	pop    %ebp
40db98:	c2 04 00             	ret    $0x4
40db9b:	55                   	push   %ebp
40db9c:	8b ec                	mov    %esp,%ebp
40db9e:	51                   	push   %ecx
40db9f:	53                   	push   %ebx
40dba0:	56                   	push   %esi
40dba1:	57                   	push   %edi
40dba2:	8b 7d 08             	mov    0x8(%ebp),%edi
40dba5:	33 f6                	xor    %esi,%esi
40dba7:	89 75 fc             	mov    %esi,-0x4(%ebp)
40dbaa:	39 77 0c             	cmp    %esi,0xc(%edi)
40dbad:	76 39                	jbe    0x40dbe8
40dbaf:	8b ce                	mov    %esi,%ecx
40dbb1:	89 75 08             	mov    %esi,0x8(%ebp)
40dbb4:	8b 5f 08             	mov    0x8(%edi),%ebx
40dbb7:	6a ff                	push   $0xffffffff
40dbb9:	ff 75 0c             	push   0xc(%ebp)
40dbbc:	03 d9                	add    %ecx,%ebx
40dbbe:	6a ff                	push   $0xffffffff
40dbc0:	ff 33                	push   (%ebx)
40dbc2:	56                   	push   %esi
40dbc3:	6a 7f                	push   $0x7f
40dbc5:	ff 15 28 b1 44 00    	call   *0x44b128
40dbcb:	83 f8 02             	cmp    $0x2,%eax
40dbce:	74 69                	je     0x40dc39
40dbd0:	8b 45 fc             	mov    -0x4(%ebp),%eax
40dbd3:	8b 4d 08             	mov    0x8(%ebp),%ecx
40dbd6:	40                   	inc    %eax
40dbd7:	81 c1 e0 00 00 00    	add    $0xe0,%ecx
40dbdd:	89 45 fc             	mov    %eax,-0x4(%ebp)
40dbe0:	89 4d 08             	mov    %ecx,0x8(%ebp)
40dbe3:	3b 47 0c             	cmp    0xc(%edi),%eax
40dbe6:	72 cc                	jb     0x40dbb4
40dbe8:	89 75 08             	mov    %esi,0x8(%ebp)
40dbeb:	39 77 14             	cmp    %esi,0x14(%edi)
40dbee:	76 39                	jbe    0x40dc29
40dbf0:	8b ce                	mov    %esi,%ecx
40dbf2:	89 75 fc             	mov    %esi,-0x4(%ebp)
40dbf5:	8b 5f 10             	mov    0x10(%edi),%ebx
40dbf8:	6a ff                	push   $0xffffffff
40dbfa:	ff 75 0c             	push   0xc(%ebp)
40dbfd:	03 d9                	add    %ecx,%ebx
40dbff:	6a ff                	push   $0xffffffff
40dc01:	ff 33                	push   (%ebx)
40dc03:	56                   	push   %esi
40dc04:	6a 7f                	push   $0x7f
40dc06:	ff 15 28 b1 44 00    	call   *0x44b128
40dc0c:	83 f8 02             	cmp    $0x2,%eax
40dc0f:	74 28                	je     0x40dc39
40dc11:	8b 45 08             	mov    0x8(%ebp),%eax
40dc14:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40dc17:	40                   	inc    %eax
40dc18:	81 c1 e0 00 00 00    	add    $0xe0,%ecx
40dc1e:	89 45 08             	mov    %eax,0x8(%ebp)
40dc21:	89 4d fc             	mov    %ecx,-0x4(%ebp)
40dc24:	3b 47 14             	cmp    0x14(%edi),%eax
40dc27:	72 cc                	jb     0x40dbf5
40dc29:	be 90 04 07 80       	mov    $0x80070490,%esi
40dc2e:	5f                   	pop    %edi
40dc2f:	8b c6                	mov    %esi,%eax
40dc31:	5e                   	pop    %esi
40dc32:	5b                   	pop    %ebx
40dc33:	8b e5                	mov    %ebp,%esp
40dc35:	5d                   	pop    %ebp
40dc36:	c2 0c 00             	ret    $0xc
40dc39:	8b 45 10             	mov    0x10(%ebp),%eax
40dc3c:	89 18                	mov    %ebx,(%eax)
40dc3e:	eb ee                	jmp    0x40dc2e
40dc40:	55                   	push   %ebp
40dc41:	8b ec                	mov    %esp,%ebp
40dc43:	51                   	push   %ecx
40dc44:	53                   	push   %ebx
40dc45:	56                   	push   %esi
40dc46:	57                   	push   %edi
40dc47:	8b 7d 08             	mov    0x8(%ebp),%edi
40dc4a:	33 f6                	xor    %esi,%esi
40dc4c:	8b de                	mov    %esi,%ebx
40dc4e:	39 77 04             	cmp    %esi,0x4(%edi)
40dc51:	76 38                	jbe    0x40dc8b
40dc53:	8b ce                	mov    %esi,%ecx
40dc55:	89 75 08             	mov    %esi,0x8(%ebp)
40dc58:	8b 07                	mov    (%edi),%eax
40dc5a:	6a ff                	push   $0xffffffff
40dc5c:	ff 75 0c             	push   0xc(%ebp)
40dc5f:	83 c0 18             	add    $0x18,%eax
40dc62:	03 c1                	add    %ecx,%eax
40dc64:	6a ff                	push   $0xffffffff
40dc66:	89 45 fc             	mov    %eax,-0x4(%ebp)
40dc69:	ff 30                	push   (%eax)
40dc6b:	56                   	push   %esi
40dc6c:	6a 7f                	push   $0x7f
40dc6e:	ff 15 28 b1 44 00    	call   *0x44b128
40dc74:	83 f8 02             	cmp    $0x2,%eax
40dc77:	74 22                	je     0x40dc9b
40dc79:	8b 4d 08             	mov    0x8(%ebp),%ecx
40dc7c:	43                   	inc    %ebx
40dc7d:	81 c1 f8 00 00 00    	add    $0xf8,%ecx
40dc83:	89 4d 08             	mov    %ecx,0x8(%ebp)
40dc86:	3b 5f 04             	cmp    0x4(%edi),%ebx
40dc89:	72 cd                	jb     0x40dc58
40dc8b:	be 90 04 07 80       	mov    $0x80070490,%esi
40dc90:	5f                   	pop    %edi
40dc91:	8b c6                	mov    %esi,%eax
40dc93:	5e                   	pop    %esi
40dc94:	5b                   	pop    %ebx
40dc95:	8b e5                	mov    %ebp,%esp
40dc97:	5d                   	pop    %ebp
40dc98:	c2 0c 00             	ret    $0xc
40dc9b:	8b 45 10             	mov    0x10(%ebp),%eax
40dc9e:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40dca1:	89 08                	mov    %ecx,(%eax)
40dca3:	eb eb                	jmp    0x40dc90
40dca5:	55                   	push   %ebp
40dca6:	8b ec                	mov    %esp,%ebp
40dca8:	8b 45 08             	mov    0x8(%ebp),%eax
40dcab:	53                   	push   %ebx
40dcac:	56                   	push   %esi
40dcad:	57                   	push   %edi
40dcae:	8b 88 8c 00 00 00    	mov    0x8c(%eax),%ecx
40dcb4:	33 ff                	xor    %edi,%edi
40dcb6:	33 db                	xor    %ebx,%ebx
40dcb8:	be 90 04 07 80       	mov    $0x80070490,%esi
40dcbd:	83 f9 02             	cmp    $0x2,%ecx
40dcc0:	75 0e                	jne    0x40dcd0
40dcc2:	8b b8 b4 00 00 00    	mov    0xb4(%eax),%edi
40dcc8:	8b 98 b8 00 00 00    	mov    0xb8(%eax),%ebx
40dcce:	eb 11                	jmp    0x40dce1
40dcd0:	83 f9 03             	cmp    $0x3,%ecx
40dcd3:	75 0c                	jne    0x40dce1
40dcd5:	8b b8 9c 00 00 00    	mov    0x9c(%eax),%edi
40dcdb:	8b 98 a0 00 00 00    	mov    0xa0(%eax),%ebx
40dce1:	83 65 08 00          	andl   $0x0,0x8(%ebp)
40dce5:	85 db                	test   %ebx,%ebx
40dce7:	74 52                	je     0x40dd3b
40dce9:	6a ff                	push   $0xffffffff
40dceb:	ff 75 0c             	push   0xc(%ebp)
40dcee:	6a ff                	push   $0xffffffff
40dcf0:	ff 37                	push   (%edi)
40dcf2:	6a 00                	push   $0x0
40dcf4:	6a 00                	push   $0x0
40dcf6:	ff 15 28 b1 44 00    	call   *0x44b128
40dcfc:	83 f8 02             	cmp    $0x2,%eax
40dcff:	74 10                	je     0x40dd11
40dd01:	8b 45 08             	mov    0x8(%ebp),%eax
40dd04:	83 c7 0c             	add    $0xc,%edi
40dd07:	40                   	inc    %eax
40dd08:	89 45 08             	mov    %eax,0x8(%ebp)
40dd0b:	3b c3                	cmp    %ebx,%eax
40dd0d:	72 da                	jb     0x40dce9
40dd0f:	eb 2a                	jmp    0x40dd3b
40dd11:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
40dd15:	74 22                	je     0x40dd39
40dd17:	6a 00                	push   $0x0
40dd19:	ff 77 04             	push   0x4(%edi)
40dd1c:	ff 75 10             	push   0x10(%ebp)
40dd1f:	e8 81 44 ff ff       	call   0x4021a5
40dd24:	8b f0                	mov    %eax,%esi
40dd26:	85 f6                	test   %esi,%esi
40dd28:	79 0f                	jns    0x40dd39
40dd2a:	68 24 08 45 00       	push   $0x450824
40dd2f:	56                   	push   %esi
40dd30:	e8 fa 23 03 00       	call   0x44012f
40dd35:	59                   	pop    %ecx
40dd36:	59                   	pop    %ecx
40dd37:	eb 02                	jmp    0x40dd3b
40dd39:	33 f6                	xor    %esi,%esi
40dd3b:	5f                   	pop    %edi
40dd3c:	8b c6                	mov    %esi,%eax
40dd3e:	5e                   	pop    %esi
40dd3f:	5b                   	pop    %ebx
40dd40:	5d                   	pop    %ebp
40dd41:	c2 0c 00             	ret    $0xc
40dd44:	55                   	push   %ebp
40dd45:	8b ec                	mov    %esp,%ebp
40dd47:	56                   	push   %esi
40dd48:	8b 75 08             	mov    0x8(%ebp),%esi
40dd4b:	83 3e 00             	cmpl   $0x0,(%esi)
40dd4e:	74 07                	je     0x40dd57
40dd50:	ff 36                	push   (%esi)
40dd52:	e8 98 77 03 00       	call   0x4454ef
40dd57:	83 7e 04 00          	cmpl   $0x0,0x4(%esi)
40dd5b:	74 08                	je     0x40dd65
40dd5d:	ff 76 04             	push   0x4(%esi)
40dd60:	e8 8a 77 03 00       	call   0x4454ef
40dd65:	83 7e 08 00          	cmpl   $0x0,0x8(%esi)
40dd69:	74 08                	je     0x40dd73
40dd6b:	ff 76 08             	push   0x8(%esi)
40dd6e:	e8 7c 77 03 00       	call   0x4454ef
40dd73:	83 7e 0c 00          	cmpl   $0x0,0xc(%esi)
40dd77:	74 08                	je     0x40dd81
40dd79:	ff 76 0c             	push   0xc(%esi)
40dd7c:	e8 6e 77 03 00       	call   0x4454ef
40dd81:	83 7e 10 00          	cmpl   $0x0,0x10(%esi)
40dd85:	74 08                	je     0x40dd8f
40dd87:	ff 76 10             	push   0x10(%esi)
40dd8a:	e8 60 77 03 00       	call   0x4454ef
40dd8f:	83 7e 24 00          	cmpl   $0x0,0x24(%esi)
40dd93:	74 08                	je     0x40dd9d
40dd95:	ff 76 24             	push   0x24(%esi)
40dd98:	e8 52 77 03 00       	call   0x4454ef
40dd9d:	57                   	push   %edi
40dd9e:	33 ff                	xor    %edi,%edi
40dda0:	39 be 84 00 00 00    	cmp    %edi,0x84(%esi)
40dda6:	74 31                	je     0x40ddd9
40dda8:	39 be 88 00 00 00    	cmp    %edi,0x88(%esi)
40ddae:	76 1e                	jbe    0x40ddce
40ddb0:	53                   	push   %ebx
40ddb1:	8b df                	mov    %edi,%ebx
40ddb3:	8b 86 84 00 00 00    	mov    0x84(%esi),%eax
40ddb9:	03 c3                	add    %ebx,%eax
40ddbb:	50                   	push   %eax
40ddbc:	e8 14 a6 01 00       	call   0x4283d5
40ddc1:	47                   	inc    %edi
40ddc2:	83 c3 10             	add    $0x10,%ebx
40ddc5:	3b be 88 00 00 00    	cmp    0x88(%esi),%edi
40ddcb:	72 e6                	jb     0x40ddb3
40ddcd:	5b                   	pop    %ebx
40ddce:	ff b6 84 00 00 00    	push   0x84(%esi)
40ddd4:	e8 c0 5b ff ff       	call   0x403999
40ddd9:	83 7e 7c 00          	cmpl   $0x0,0x7c(%esi)
40dddd:	5f                   	pop    %edi
40ddde:	74 08                	je     0x40dde8
40dde0:	ff 76 7c             	push   0x7c(%esi)
40dde3:	e8 b1 5b ff ff       	call   0x403999
40dde8:	8b 86 8c 00 00 00    	mov    0x8c(%esi),%eax
40ddee:	83 e8 01             	sub    $0x1,%eax
40ddf1:	74 27                	je     0x40de1a
40ddf3:	83 e8 01             	sub    $0x1,%eax
40ddf6:	74 1a                	je     0x40de12
40ddf8:	83 e8 01             	sub    $0x1,%eax
40ddfb:	74 0d                	je     0x40de0a
40ddfd:	83 e8 01             	sub    $0x1,%eax
40de00:	75 1e                	jne    0x40de20
40de02:	56                   	push   %esi
40de03:	e8 05 91 01 00       	call   0x426f0d
40de08:	eb 16                	jmp    0x40de20
40de0a:	56                   	push   %esi
40de0b:	e8 75 85 01 00       	call   0x426385
40de10:	eb 0e                	jmp    0x40de20
40de12:	56                   	push   %esi
40de13:	e8 86 68 01 00       	call   0x42469e
40de18:	eb 06                	jmp    0x40de20
40de1a:	56                   	push   %esi
40de1b:	e8 87 46 01 00       	call   0x4224a7
40de20:	5e                   	pop    %esi
40de21:	5d                   	pop    %ebp
40de22:	c2 04 00             	ret    $0x4
40de25:	55                   	push   %ebp
40de26:	8b ec                	mov    %esp,%ebp
40de28:	83 ec 24             	sub    $0x24,%esp
40de2b:	83 65 f0 00          	andl   $0x0,-0x10(%ebp)
40de2f:	8d 45 f0             	lea    -0x10(%ebp),%eax
40de32:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40de36:	83 65 ec 00          	andl   $0x0,-0x14(%ebp)
40de3a:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
40de3e:	83 65 e8 00          	andl   $0x0,-0x18(%ebp)
40de42:	83 65 f4 00          	andl   $0x0,-0xc(%ebp)
40de46:	56                   	push   %esi
40de47:	50                   	push   %eax
40de48:	68 1c 01 45 00       	push   $0x45011c
40de4d:	ff 75 10             	push   0x10(%ebp)
40de50:	e8 ae 59 03 00       	call   0x443803
40de55:	8b f0                	mov    %eax,%esi
40de57:	85 f6                	test   %esi,%esi
40de59:	79 12                	jns    0x40de6d
40de5b:	68 40 01 45 00       	push   $0x450140
40de60:	56                   	push   %esi
40de61:	e8 c9 22 03 00       	call   0x44012f
40de66:	59                   	pop    %ecx
40de67:	59                   	pop    %ecx
40de68:	e9 9a 07 00 00       	jmp    0x40e607
40de6d:	8b 45 f0             	mov    -0x10(%ebp),%eax
40de70:	8d 55 ec             	lea    -0x14(%ebp),%edx
40de73:	52                   	push   %edx
40de74:	50                   	push   %eax
40de75:	8b 08                	mov    (%eax),%ecx
40de77:	ff 51 20             	call   *0x20(%ecx)
40de7a:	8b f0                	mov    %eax,%esi
40de7c:	85 f6                	test   %esi,%esi
40de7e:	79 07                	jns    0x40de87
40de80:	68 6c 01 45 00       	push   $0x45016c
40de85:	eb d9                	jmp    0x40de60
40de87:	8b 45 ec             	mov    -0x14(%ebp),%eax
40de8a:	53                   	push   %ebx
40de8b:	8b 5d 08             	mov    0x8(%ebp),%ebx
40de8e:	57                   	push   %edi
40de8f:	85 c0                	test   %eax,%eax
40de91:	0f 84 c7 00 00 00    	je     0x40df5e
40de97:	6a 01                	push   $0x1
40de99:	c1 e0 03             	shl    $0x3,%eax
40de9c:	50                   	push   %eax
40de9d:	e8 32 5a ff ff       	call   0x4038d4
40dea2:	89 03                	mov    %eax,(%ebx)
40dea4:	85 c0                	test   %eax,%eax
40dea6:	75 1e                	jne    0x40dec6
40dea8:	bf 0e 00 07 80       	mov    $0x8007000e,%edi
40dead:	57                   	push   %edi
40deae:	6a 34                	push   $0x34
40deb0:	68 98 01 45 00       	push   $0x450198
40deb5:	8b f7                	mov    %edi,%esi
40deb7:	e8 17 59 ff ff       	call   0x4037d3
40debc:	68 a4 01 45 00       	push   $0x4501a4
40dec1:	e9 a3 05 00 00       	jmp    0x40e469
40dec6:	8b 45 ec             	mov    -0x14(%ebp),%eax
40dec9:	33 ff                	xor    %edi,%edi
40decb:	89 43 04             	mov    %eax,0x4(%ebx)