40dcfd:	53                   	push   %ebx
40dcfe:	51                   	push   %ecx
40dcff:	56                   	push   %esi
40dd00:	55                   	push   %ebp
40dd01:	e8 1a 00 00 00       	call   0x40dd20
40dd06:	83 c4 1c             	add    $0x1c,%esp
40dd09:	85 c0                	test   %eax,%eax
40dd0b:	74 07                	je     0x40dd14
40dd0d:	56                   	push   %esi
40dd0e:	50                   	push   %eax
40dd0f:	e8 cc da ff ff       	call   0x40b7e0
40dd14:	5f                   	pop    %edi
40dd15:	5e                   	pop    %esi
40dd16:	5d                   	pop    %ebp
40dd17:	5b                   	pop    %ebx
40dd18:	c3                   	ret
40dd19:	90                   	nop
40dd1a:	90                   	nop
40dd1b:	90                   	nop
40dd1c:	90                   	nop
40dd1d:	90                   	nop
40dd1e:	90                   	nop
40dd1f:	90                   	nop
40dd20:	55                   	push   %ebp
40dd21:	8b ec                	mov    %esp,%ebp
40dd23:	6a ff                	push   $0xffffffff
40dd25:	68 30 c0 42 00       	push   $0x42c030
40dd2a:	68 18 f1 40 00       	push   $0x40f118
40dd2f:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
40dd35:	50                   	push   %eax
40dd36:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
40dd3d:	83 c4 e4             	add    $0xffffffe4,%esp
40dd40:	53                   	push   %ebx
40dd41:	56                   	push   %esi
40dd42:	57                   	push   %edi
40dd43:	89 65 e8             	mov    %esp,-0x18(%ebp)
40dd46:	8b 5d 18             	mov    0x18(%ebp),%ebx
40dd49:	89 5d d4             	mov    %ebx,-0x2c(%ebp)
40dd4c:	c7 45 dc 00 00 00 00 	movl   $0x0,-0x24(%ebp)
40dd53:	8b 75 0c             	mov    0xc(%ebp),%esi
40dd56:	8b 46 fc             	mov    -0x4(%esi),%eax
40dd59:	89 45 d8             	mov    %eax,-0x28(%ebp)
40dd5c:	e8 df 04 00 00       	call   0x40e240
40dd61:	8b 48 6c             	mov    0x6c(%eax),%ecx
40dd64:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
40dd67:	e8 d4 04 00 00       	call   0x40e240
40dd6c:	8b 50 70             	mov    0x70(%eax),%edx
40dd6f:	89 55 e0             	mov    %edx,-0x20(%ebp)
40dd72:	e8 c9 04 00 00       	call   0x40e240
40dd77:	8b 7d 08             	mov    0x8(%ebp),%edi
40dd7a:	89 78 6c             	mov    %edi,0x6c(%eax)
40dd7d:	e8 be 04 00 00       	call   0x40e240
40dd82:	8b 4d 10             	mov    0x10(%ebp),%ecx
40dd85:	89 48 70             	mov    %ecx,0x70(%eax)
40dd88:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
40dd8f:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
40dd96:	8b 55 20             	mov    0x20(%ebp),%edx
40dd99:	52                   	push   %edx
40dd9a:	8b 45 1c             	mov    0x1c(%ebp),%eax
40dd9d:	50                   	push   %eax
40dd9e:	53                   	push   %ebx
40dd9f:	8b 4d 14             	mov    0x14(%ebp),%ecx
40dda2:	51                   	push   %ecx
40dda3:	56                   	push   %esi
40dda4:	e8 27 db ff ff       	call   0x40b8d0
40dda9:	83 c4 14             	add    $0x14,%esp
40ddac:	8b d8                	mov    %eax,%ebx
40ddae:	89 5d d4             	mov    %ebx,-0x2c(%ebp)
40ddb1:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
40ddb8:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
40ddbf:	e8 54 00 00 00       	call   0x40de18
40ddc4:	8b c3                	mov    %ebx,%eax
40ddc6:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40ddc9:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40ddd0:	5f                   	pop    %edi
40ddd1:	5e                   	pop    %esi
40ddd2:	5b                   	pop    %ebx
40ddd3:	8b e5                	mov    %ebp,%esp
40ddd5:	5d                   	pop    %ebp
40ddd6:	c3                   	ret
40ddd7:	8b 55 ec             	mov    -0x14(%ebp),%edx
40ddda:	52                   	push   %edx
40dddb:	e8 a0 00 00 00       	call   0x40de80
40dde0:	83 c4 04             	add    $0x4,%esp
40dde3:	c3                   	ret
40dde4:	8b 65 e8             	mov    -0x18(%ebp),%esp
40dde7:	c7 45 d4 00 00 00 00 	movl   $0x0,-0x2c(%ebp)
40ddee:	6a ff                	push   $0xffffffff
40ddf0:	8d 45 f0             	lea    -0x10(%ebp),%eax
40ddf3:	50                   	push   %eax
40ddf4:	e8 89 dd ff ff       	call   0x40bb82
40ddf9:	83 c4 08             	add    $0x8,%esp
40ddfc:	33 c0                	xor    %eax,%eax
40ddfe:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40de01:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40de08:	5f                   	pop    %edi
40de09:	5e                   	pop    %esi
40de0a:	5b                   	pop    %ebx
40de0b:	8b e5                	mov    %ebp,%esp
40de0d:	5d                   	pop    %ebp
40de0e:	c3                   	ret
40de0f:	8b 75 0c             	mov    0xc(%ebp),%esi
40de12:	8b 7d 08             	mov    0x8(%ebp),%edi
40de15:	8b 5d d4             	mov    -0x2c(%ebp),%ebx
40de18:	8b 4d d8             	mov    -0x28(%ebp),%ecx
40de1b:	89 4e fc             	mov    %ecx,-0x4(%esi)
40de1e:	e8 1d 04 00 00       	call   0x40e240
40de23:	8b 55 e4             	mov    -0x1c(%ebp),%edx
40de26:	89 50 6c             	mov    %edx,0x6c(%eax)
40de29:	e8 12 04 00 00       	call   0x40e240
40de2e:	8b 4d e0             	mov    -0x20(%ebp),%ecx
40de31:	89 48 70             	mov    %ecx,0x70(%eax)
40de34:	81 3f 63 73 6d e0    	cmpl   $0xe06d7363,(%edi)
40de3a:	75 29                	jne    0x40de65
40de3c:	83 7f 10 03          	cmpl   $0x3,0x10(%edi)
40de40:	75 23                	jne    0x40de65
40de42:	81 7f 14 20 05 93 19 	cmpl   $0x19930520,0x14(%edi)
40de49:	75 1a                	jne    0x40de65
40de4b:	8b 45 dc             	mov    -0x24(%ebp),%eax
40de4e:	85 c0                	test   %eax,%eax
40de50:	75 13                	jne    0x40de65
40de52:	85 db                	test   %ebx,%ebx
40de54:	74 0f                	je     0x40de65
40de56:	e8 8f dd ff ff       	call   0x40bbea
40de5b:	50                   	push   %eax
40de5c:	57                   	push   %edi
40de5d:	e8 5e 02 00 00       	call   0x40e0c0
40de62:	83 c4 08             	add    $0x8,%esp
40de65:	c3                   	ret
40de66:	8b c3                	mov    %ebx,%eax
40de68:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40de6b:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40de72:	5f                   	pop    %edi
40de73:	5e                   	pop    %esi
40de74:	5b                   	pop    %ebx
40de75:	8b e5                	mov    %ebp,%esp
40de77:	5d                   	pop    %ebp
40de78:	c3                   	ret
40de79:	90                   	nop
40de7a:	90                   	nop
40de7b:	90                   	nop
40de7c:	90                   	nop
40de7d:	90                   	nop
40de7e:	90                   	nop
40de7f:	90                   	nop
40de80:	8b 44 24 04          	mov    0x4(%esp),%eax
40de84:	8b 00                	mov    (%eax),%eax
40de86:	81 38 63 73 6d e0    	cmpl   $0xe06d7363,(%eax)
40de8c:	75 1c                	jne    0x40deaa
40de8e:	83 78 10 03          	cmpl   $0x3,0x10(%eax)
40de92:	75 16                	jne    0x40deaa
40de94:	81 78 14 20 05 93 19 	cmpl   $0x19930520,0x14(%eax)
40de9b:	75 0d                	jne    0x40deaa
40de9d:	8b 48 1c             	mov    0x1c(%eax),%ecx
40dea0:	85 c9                	test   %ecx,%ecx
40dea2:	75 06                	jne    0x40deaa
40dea4:	b8 01 00 00 00       	mov    $0x1,%eax
40dea9:	c3                   	ret
40deaa:	33 c0                	xor    %eax,%eax
40deac:	c3                   	ret
40dead:	90                   	nop
40deae:	90                   	nop
40deaf:	90                   	nop
40deb0:	55                   	push   %ebp
40deb1:	8b ec                	mov    %esp,%ebp
40deb3:	6a ff                	push   $0xffffffff
40deb5:	68 48 c0 42 00       	push   $0x42c048
40deba:	68 18 f1 40 00       	push   $0x40f118
40debf:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
40dec5:	50                   	push   %eax
40dec6:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
40decd:	83 c4 f4             	add    $0xfffffff4,%esp
40ded0:	53                   	push   %ebx
40ded1:	56                   	push   %esi
40ded2:	57                   	push   %edi
40ded3:	89 65 e8             	mov    %esp,-0x18(%ebp)
40ded6:	8b 4d 10             	mov    0x10(%ebp),%ecx
40ded9:	8b 41 04             	mov    0x4(%ecx),%eax
40dedc:	85 c0                	test   %eax,%eax
40dede:	0f 84 bc 01 00 00    	je     0x40e0a0
40dee4:	8a 50 08             	mov    0x8(%eax),%dl
40dee7:	84 d2                	test   %dl,%dl
40dee9:	0f 84 b1 01 00 00    	je     0x40e0a0
40deef:	8b 41 08             	mov    0x8(%ecx),%eax
40def2:	85 c0                	test   %eax,%eax
40def4:	0f 84 a6 01 00 00    	je     0x40e0a0
40defa:	8b 55 0c             	mov    0xc(%ebp),%edx
40defd:	8d 74 02 0c          	lea    0xc(%edx,%eax,1),%esi
40df01:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
40df08:	f6 01 08             	testb  $0x8,(%ecx)
40df0b:	74 48                	je     0x40df55
40df0d:	8b 7d 08             	mov    0x8(%ebp),%edi
40df10:	6a 01                	push   $0x1
40df12:	8b 47 18             	mov    0x18(%edi),%eax
40df15:	50                   	push   %eax
40df16:	e8 05 2b 00 00       	call   0x410a20
40df1b:	83 c4 08             	add    $0x8,%esp
40df1e:	85 c0                	test   %eax,%eax
40df20:	0f 84 5e 01 00 00    	je     0x40e084
40df26:	6a 01                	push   $0x1
40df28:	56                   	push   %esi
40df29:	e8 12 2b 00 00       	call   0x410a40
40df2e:	83 c4 08             	add    $0x8,%esp
40df31:	85 c0                	test   %eax,%eax
40df33:	0f 84 4b 01 00 00    	je     0x40e084
40df39:	8b 47 18             	mov    0x18(%edi),%eax
40df3c:	89 06                	mov    %eax,(%esi)
40df3e:	8b 4d 14             	mov    0x14(%ebp),%ecx
40df41:	83 c1 08             	add    $0x8,%ecx
40df44:	51                   	push   %ecx
40df45:	50                   	push   %eax
40df46:	e8 f5 01 00 00       	call   0x40e140
40df4b:	83 c4 08             	add    $0x8,%esp
40df4e:	89 06                	mov    %eax,(%esi)
40df50:	e9 44 01 00 00       	jmp    0x40e099
40df55:	8b 7d 14             	mov    0x14(%ebp),%edi
40df58:	f6 07 01             	testb  $0x1,(%edi)
40df5b:	74 65                	je     0x40dfc2
40df5d:	8b 5d 08             	mov    0x8(%ebp),%ebx
40df60:	6a 01                	push   $0x1
40df62:	8b 53 18             	mov    0x18(%ebx),%edx
40df65:	52                   	push   %edx
40df66:	e8 b5 2a 00 00       	call   0x410a20
40df6b:	83 c4 08             	add    $0x8,%esp
40df6e:	85 c0                	test   %eax,%eax
40df70:	0f 84 0e 01 00 00    	je     0x40e084
40df76:	6a 01                	push   $0x1
40df78:	56                   	push   %esi
40df79:	e8 c2 2a 00 00       	call   0x410a40
40df7e:	83 c4 08             	add    $0x8,%esp
40df81:	85 c0                	test   %eax,%eax
40df83:	0f 84 fb 00 00 00    	je     0x40e084
40df89:	8b 47 14             	mov    0x14(%edi),%eax
40df8c:	50                   	push   %eax
40df8d:	8b 4b 18             	mov    0x18(%ebx),%ecx
40df90:	51                   	push   %ecx
40df91:	56                   	push   %esi
40df92:	e8 09 f0 ff ff       	call   0x40cfa0
40df97:	83 c4 0c             	add    $0xc,%esp
40df9a:	83 7f 14 04          	cmpl   $0x4,0x14(%edi)
40df9e:	0f 85 f5 00 00 00    	jne    0x40e099
40dfa4:	8b 06                	mov    (%esi),%eax
40dfa6:	85 c0                	test   %eax,%eax
40dfa8:	0f 84 eb 00 00 00    	je     0x40e099
40dfae:	83 c7 08             	add    $0x8,%edi
40dfb1:	57                   	push   %edi
40dfb2:	50                   	push   %eax
40dfb3:	e8 88 01 00 00       	call   0x40e140
40dfb8:	83 c4 08             	add    $0x8,%esp
40dfbb:	89 06                	mov    %eax,(%esi)
40dfbd:	e9 d7 00 00 00       	jmp    0x40e099
40dfc2:	8b 47 18             	mov    0x18(%edi),%eax
40dfc5:	85 c0                	test   %eax,%eax
40dfc7:	8b 5d 08             	mov    0x8(%ebp),%ebx
40dfca:	6a 01                	push   $0x1
40dfcc:	8b 53 18             	mov    0x18(%ebx),%edx
40dfcf:	52                   	push   %edx
40dfd0:	75 46                	jne    0x40e018
40dfd2:	e8 49 2a 00 00       	call   0x410a20
40dfd7:	83 c4 08             	add    $0x8,%esp
40dfda:	85 c0                	test   %eax,%eax
40dfdc:	0f 84 a2 00 00 00    	je     0x40e084
40dfe2:	6a 01                	push   $0x1
40dfe4:	56                   	push   %esi
40dfe5:	e8 56 2a 00 00       	call   0x410a40
40dfea:	83 c4 08             	add    $0x8,%esp
40dfed:	85 c0                	test   %eax,%eax
40dfef:	0f 84 8f 00 00 00    	je     0x40e084
40dff5:	8b 47 14             	mov    0x14(%edi),%eax
40dff8:	50                   	push   %eax
40dff9:	83 c7 08             	add    $0x8,%edi
40dffc:	57                   	push   %edi
40dffd:	8b 4b 18             	mov    0x18(%ebx),%ecx
40e000:	51                   	push   %ecx
40e001:	e8 3a 01 00 00       	call   0x40e140
40e006:	83 c4 08             	add    $0x8,%esp
40e009:	50                   	push   %eax
40e00a:	56                   	push   %esi
40e00b:	e8 90 ef ff ff       	call   0x40cfa0
40e010:	83 c4 0c             	add    $0xc,%esp
40e013:	e9 81 00 00 00       	jmp    0x40e099
40e018:	e8 03 2a 00 00       	call   0x410a20
40e01d:	83 c4 08             	add    $0x8,%esp
40e020:	85 c0                	test   %eax,%eax
40e022:	74 60                	je     0x40e084
40e024:	6a 01                	push   $0x1
40e026:	56                   	push   %esi
40e027:	e8 14 2a 00 00       	call   0x410a40
40e02c:	83 c4 08             	add    $0x8,%esp
40e02f:	85 c0                	test   %eax,%eax
40e031:	74 51                	je     0x40e084
40e033:	8b 47 18             	mov    0x18(%edi),%eax
40e036:	50                   	push   %eax
40e037:	e8 24 2a 00 00       	call   0x410a60
40e03c:	83 c4 04             	add    $0x4,%esp
40e03f:	85 c0                	test   %eax,%eax
40e041:	74 41                	je     0x40e084
40e043:	f6 07 04             	testb  $0x4,(%edi)
40e046:	74 1f                	je     0x40e067
40e048:	6a 01                	push   $0x1
40e04a:	8d 4f 08             	lea    0x8(%edi),%ecx
40e04d:	51                   	push   %ecx
40e04e:	8b 53 18             	mov    0x18(%ebx),%edx
40e051:	52                   	push   %edx
40e052:	e8 e9 00 00 00       	call   0x40e140
40e057:	83 c4 08             	add    $0x8,%esp
40e05a:	50                   	push   %eax
40e05b:	8b 47 18             	mov    0x18(%edi),%eax
40e05e:	50                   	push   %eax
40e05f:	56                   	push   %esi
40e060:	e8 bb d7 ff ff       	call   0x40b820
40e065:	eb 32                	jmp    0x40e099
40e067:	8d 4f 08             	lea    0x8(%edi),%ecx
40e06a:	51                   	push   %ecx
40e06b:	8b 53 18             	mov    0x18(%ebx),%edx
40e06e:	52                   	push   %edx
40e06f:	e8 cc 00 00 00       	call   0x40e140
40e074:	83 c4 08             	add    $0x8,%esp
40e077:	50                   	push   %eax
40e078:	8b 47 18             	mov    0x18(%edi),%eax
40e07b:	50                   	push   %eax
40e07c:	56                   	push   %esi
40e07d:	e8 9e d7 ff ff       	call   0x40b820
40e082:	eb 15                	jmp    0x40e099
40e084:	e8 67 03 00 00       	call   0x40e3f0
40e089:	eb 0e                	jmp    0x40e099
40e08b:	b8 01 00 00 00       	mov    $0x1,%eax
40e090:	c3                   	ret
40e091:	8b 65 e8             	mov    -0x18(%ebp),%esp
40e094:	e8 c7 02 00 00       	call   0x40e360
40e099:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
40e0a0:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40e0a3:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40e0aa:	5f                   	pop    %edi
40e0ab:	5e                   	pop    %esi
40e0ac:	5b                   	pop    %ebx
40e0ad:	8b e5                	mov    %ebp,%esp
40e0af:	5d                   	pop    %ebp
40e0b0:	c3                   	ret
40e0b1:	90                   	nop
40e0b2:	90                   	nop
40e0b3:	90                   	nop
40e0b4:	90                   	nop
40e0b5:	90                   	nop
40e0b6:	90                   	nop
40e0b7:	90                   	nop
40e0b8:	90                   	nop
40e0b9:	90                   	nop
40e0ba:	90                   	nop
40e0bb:	90                   	nop