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)
40dece:	85 c0                	test   %eax,%eax
40ded0:	0f 84 88 00 00 00    	je     0x40df5e
40ded6:	8b 03                	mov    (%ebx),%eax
40ded8:	8d 04 f8             	lea    (%eax,%edi,8),%eax
40dedb:	89 45 e4             	mov    %eax,-0x1c(%ebp)
40dede:	8d 45 f8             	lea    -0x8(%ebp),%eax
40dee1:	50                   	push   %eax
40dee2:	8d 45 fc             	lea    -0x4(%ebp),%eax
40dee5:	50                   	push   %eax
40dee6:	ff 75 f0             	push   -0x10(%ebp)
40dee9:	e8 72 58 03 00       	call   0x443760
40deee:	8b f0                	mov    %eax,%esi
40def0:	85 f6                	test   %esi,%esi
40def2:	0f 88 04 07 00 00    	js     0x40e5fc
40def8:	ff 75 e4             	push   -0x1c(%ebp)
40defb:	68 64 ca 44 00       	push   $0x44ca64
40df00:	ff 75 fc             	push   -0x4(%ebp)
40df03:	e8 bf 52 03 00       	call   0x4431c7
40df08:	8b f0                	mov    %eax,%esi
40df0a:	85 f6                	test   %esi,%esi
40df0c:	0f 88 e3 06 00 00    	js     0x40e5f5
40df12:	8b 45 e4             	mov    -0x1c(%ebp),%eax
40df15:	83 c0 04             	add    $0x4,%eax
40df18:	50                   	push   %eax
40df19:	68 e0 01 45 00       	push   $0x4501e0
40df1e:	ff 75 fc             	push   -0x4(%ebp)
40df21:	e8 b5 54 03 00       	call   0x4433db
40df26:	8b f0                	mov    %eax,%esi
40df28:	85 f6                	test   %esi,%esi
40df2a:	0f 88 7c 06 00 00    	js     0x40e5ac
40df30:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40df33:	85 c9                	test   %ecx,%ecx
40df35:	74 0a                	je     0x40df41
40df37:	8b 01                	mov    (%ecx),%eax
40df39:	51                   	push   %ecx
40df3a:	ff 50 08             	call   *0x8(%eax)
40df3d:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40df41:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
40df45:	74 0d                	je     0x40df54
40df47:	ff 75 f8             	push   -0x8(%ebp)
40df4a:	ff 15 20 b3 44 00    	call   *0x44b320
40df50:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
40df54:	47                   	inc    %edi
40df55:	3b 7d ec             	cmp    -0x14(%ebp),%edi
40df58:	0f 82 78 ff ff ff    	jb     0x40ded6
40df5e:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40df61:	85 c9                	test   %ecx,%ecx
40df63:	74 0a                	je     0x40df6f
40df65:	8b 01                	mov    (%ecx),%eax
40df67:	51                   	push   %ecx
40df68:	ff 50 08             	call   *0x8(%eax)
40df6b:	83 65 f0 00          	andl   $0x0,-0x10(%ebp)
40df6f:	8d 45 f0             	lea    -0x10(%ebp),%eax
40df72:	50                   	push   %eax
40df73:	68 08 02 45 00       	push   $0x450208
40df78:	ff 75 10             	push   0x10(%ebp)
40df7b:	e8 83 58 03 00       	call   0x443803
40df80:	8b f0                	mov    %eax,%esi
40df82:	85 f6                	test   %esi,%esi
40df84:	79 0a                	jns    0x40df90
40df86:	68 90 02 45 00       	push   $0x450290
40df8b:	e9 04 06 00 00       	jmp    0x40e594
40df90:	8b 45 f0             	mov    -0x10(%ebp),%eax
40df93:	8d 55 ec             	lea    -0x14(%ebp),%edx
40df96:	52                   	push   %edx
40df97:	50                   	push   %eax
40df98:	8b 08                	mov    (%eax),%ecx
40df9a:	ff 51 20             	call   *0x20(%ecx)
40df9d:	8b f0                	mov    %eax,%esi
40df9f:	85 f6                	test   %esi,%esi
40dfa1:	79 0a                	jns    0x40dfad
40dfa3:	68 b0 02 45 00       	push   $0x4502b0
40dfa8:	e9 e7 05 00 00       	jmp    0x40e594
40dfad:	8b 45 ec             	mov    -0x14(%ebp),%eax
40dfb0:	85 c0                	test   %eax,%eax
40dfb2:	0f 84 4b 06 00 00    	je     0x40e603
40dfb8:	69 c0 e0 00 00 00    	imul   $0xe0,%eax,%eax
40dfbe:	6a 01                	push   $0x1
40dfc0:	50                   	push   %eax
40dfc1:	e8 0e 59 ff ff       	call   0x4038d4
40dfc6:	89 43 08             	mov    %eax,0x8(%ebx)
40dfc9:	85 c0                	test   %eax,%eax
40dfcb:	75 1e                	jne    0x40dfeb
40dfcd:	bf 0e 00 07 80       	mov    $0x8007000e,%edi
40dfd2:	57                   	push   %edi
40dfd3:	6a 5f                	push   $0x5f
40dfd5:	68 98 01 45 00       	push   $0x450198
40dfda:	8b f7                	mov    %edi,%esi
40dfdc:	e8 f2 57 ff ff       	call   0x4037d3
40dfe1:	68 d4 02 45 00       	push   $0x4502d4
40dfe6:	e9 7e 04 00 00       	jmp    0x40e469
40dfeb:	8b 45 ec             	mov    -0x14(%ebp),%eax
40dfee:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
40dff2:	89 43 0c             	mov    %eax,0xc(%ebx)
40dff5:	85 c0                	test   %eax,%eax
40dff7:	0f 84 83 05 00 00    	je     0x40e580
40dffd:	33 c9                	xor    %ecx,%ecx
40dfff:	89 4d e0             	mov    %ecx,-0x20(%ebp)
40e002:	8b 7b 08             	mov    0x8(%ebx),%edi
40e005:	8d 45 f8             	lea    -0x8(%ebp),%eax
40e008:	50                   	push   %eax
40e009:	8d 45 fc             	lea    -0x4(%ebp),%eax
40e00c:	03 f9                	add    %ecx,%edi
40e00e:	50                   	push   %eax
40e00f:	ff 75 f0             	push   -0x10(%ebp)
40e012:	e8 49 57 03 00       	call   0x443760
40e017:	8b f0                	mov    %eax,%esi
40e019:	85 f6                	test   %esi,%esi
40e01b:	0f 88 db 05 00 00    	js     0x40e5fc
40e021:	57                   	push   %edi
40e022:	68 64 ca 44 00       	push   $0x44ca64
40e027:	ff 75 fc             	push   -0x4(%ebp)
40e02a:	e8 98 51 03 00       	call   0x4431c7
40e02f:	8b f0                	mov    %eax,%esi
40e031:	85 f6                	test   %esi,%esi
40e033:	0f 88 bc 05 00 00    	js     0x40e5f5
40e039:	8d 45 f4             	lea    -0xc(%ebp),%eax
40e03c:	50                   	push   %eax
40e03d:	68 04 03 45 00       	push   $0x450304
40e042:	ff 75 fc             	push   -0x4(%ebp)
40e045:	e8 7d 51 03 00       	call   0x4431c7
40e04a:	8b f0                	mov    %eax,%esi
40e04c:	85 f6                	test   %esi,%esi
40e04e:	0f 88 9a 05 00 00    	js     0x40e5ee
40e054:	8b 35 28 b1 44 00    	mov    0x44b128,%esi
40e05a:	6a ff                	push   $0xffffffff
40e05c:	68 10 03 45 00       	push   $0x450310
40e061:	6a ff                	push   $0xffffffff
40e063:	ff 75 f4             	push   -0xc(%ebp)
40e066:	6a 00                	push   $0x0
40e068:	6a 7f                	push   $0x7f
40e06a:	ff d6                	call   *%esi
40e06c:	83 f8 02             	cmp    $0x2,%eax
40e06f:	75 06                	jne    0x40e077
40e071:	83 67 20 00          	andl   $0x0,0x20(%edi)
40e075:	eb 40                	jmp    0x40e0b7
40e077:	6a ff                	push   $0xffffffff
40e079:	68 18 03 45 00       	push   $0x450318
40e07e:	6a ff                	push   $0xffffffff
40e080:	ff 75 f4             	push   -0xc(%ebp)
40e083:	6a 00                	push   $0x0
40e085:	6a 7f                	push   $0x7f
40e087:	ff d6                	call   *%esi
40e089:	83 f8 02             	cmp    $0x2,%eax
40e08c:	75 09                	jne    0x40e097
40e08e:	c7 47 20 01 00 00 00 	movl   $0x1,0x20(%edi)
40e095:	eb 20                	jmp    0x40e0b7
40e097:	6a ff                	push   $0xffffffff
40e099:	68 20 03 45 00       	push   $0x450320
40e09e:	6a ff                	push   $0xffffffff
40e0a0:	ff 75 f4             	push   -0xc(%ebp)
40e0a3:	6a 00                	push   $0x0
40e0a5:	6a 7f                	push   $0x7f
40e0a7:	ff d6                	call   *%esi
40e0a9:	6a 02                	push   $0x2
40e0ab:	59                   	pop    %ecx
40e0ac:	3b c1                	cmp    %ecx,%eax
40e0ae:	0f 85 22 05 00 00    	jne    0x40e5d6
40e0b4:	89 4f 20             	mov    %ecx,0x20(%edi)
40e0b7:	8d 47 24             	lea    0x24(%edi),%eax
40e0ba:	50                   	push   %eax
40e0bb:	68 60 03 45 00       	push   $0x450360
40e0c0:	ff 75 fc             	push   -0x4(%ebp)
40e0c3:	e8 ff 50 03 00       	call   0x4431c7
40e0c8:	8b f0                	mov    %eax,%esi
40e0ca:	85 f6                	test   %esi,%esi
40e0cc:	0f 88 fd 04 00 00    	js     0x40e5cf
40e0d2:	8d 47 30             	lea    0x30(%edi),%eax
40e0d5:	50                   	push   %eax
40e0d6:	68 88 03 45 00       	push   $0x450388
40e0db:	ff 75 fc             	push   -0x4(%ebp)
40e0de:	e8 b8 51 03 00       	call   0x44329b
40e0e3:	8b f0                	mov    %eax,%esi
40e0e5:	85 f6                	test   %esi,%esi
40e0e7:	0f 88 db 04 00 00    	js     0x40e5c8