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
40e0bc:	90                   	nop
40e0bd:	90                   	nop
40e0be:	90                   	nop
40e0bf:	90                   	nop
40e0c0:	55                   	push   %ebp
40e0c1:	8b ec                	mov    %esp,%ebp
40e0c3:	6a ff                	push   $0xffffffff
40e0c5:	68 58 c0 42 00       	push   $0x42c058
40e0ca:	68 18 f1 40 00       	push   $0x40f118
40e0cf:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
40e0d5:	50                   	push   %eax
40e0d6:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
40e0dd:	83 ec 08             	sub    $0x8,%esp
40e0e0:	53                   	push   %ebx
40e0e1:	56                   	push   %esi
40e0e2:	57                   	push   %edi
40e0e3:	89 65 e8             	mov    %esp,-0x18(%ebp)
40e0e6:	8b 4d 08             	mov    0x8(%ebp),%ecx
40e0e9:	85 c9                	test   %ecx,%ecx
40e0eb:	74 37                	je     0x40e124
40e0ed:	8b 41 1c             	mov    0x1c(%ecx),%eax
40e0f0:	8b 40 04             	mov    0x4(%eax),%eax
40e0f3:	85 c0                	test   %eax,%eax
40e0f5:	74 2d                	je     0x40e124
40e0f7:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
40e0fe:	50                   	push   %eax
40e0ff:	8b 49 18             	mov    0x18(%ecx),%ecx
40e102:	51                   	push   %ecx
40e103:	e8 18 d7 ff ff       	call   0x40b820
40e108:	eb 13                	jmp    0x40e11d
40e10a:	33 c0                	xor    %eax,%eax
40e10c:	8a 4d 0c             	mov    0xc(%ebp),%cl
40e10f:	84 c9                	test   %cl,%cl
40e111:	0f 95 c0             	setne  %al
40e114:	c3                   	ret
40e115:	8b 65 e8             	mov    -0x18(%ebp),%esp
40e118:	e8 43 02 00 00       	call   0x40e360
40e11d:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
40e124:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40e127:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40e12e:	5f                   	pop    %edi
40e12f:	5e                   	pop    %esi
40e130:	5b                   	pop    %ebx
40e131:	8b e5                	mov    %ebp,%esp
40e133:	5d                   	pop    %ebp
40e134:	c3                   	ret
40e135:	90                   	nop
40e136:	90                   	nop
40e137:	90                   	nop
40e138:	90                   	nop
40e139:	90                   	nop
40e13a:	90                   	nop
40e13b:	90                   	nop
40e13c:	90                   	nop
40e13d:	90                   	nop
40e13e:	90                   	nop
40e13f:	90                   	nop
40e140:	8b 54 24 08          	mov    0x8(%esp),%edx
40e144:	56                   	push   %esi
40e145:	8b 74 24 08          	mov    0x8(%esp),%esi
40e149:	8b 0a                	mov    (%edx),%ecx
40e14b:	8b c6                	mov    %esi,%eax
40e14d:	03 c1                	add    %ecx,%eax
40e14f:	8b 4a 04             	mov    0x4(%edx),%ecx
40e152:	85 c9                	test   %ecx,%ecx
40e154:	7c 0d                	jl     0x40e163
40e156:	8b 34 0e             	mov    (%esi,%ecx,1),%esi
40e159:	8b 52 08             	mov    0x8(%edx),%edx
40e15c:	8b 14 16             	mov    (%esi,%edx,1),%edx
40e15f:	03 d1                	add    %ecx,%edx
40e161:	03 c2                	add    %edx,%eax
40e163:	5e                   	pop    %esi
40e164:	c3                   	ret
40e165:	90                   	nop
40e166:	90                   	nop
40e167:	90                   	nop
40e168:	90                   	nop
40e169:	90                   	nop
40e16a:	90                   	nop
40e16b:	90                   	nop
40e16c:	90                   	nop
40e16d:	90                   	nop
40e16e:	90                   	nop
40e16f:	90                   	nop
40e170:	55                   	push   %ebp
40e171:	8b ec                	mov    %esp,%ebp
40e173:	83 ec 04             	sub    $0x4,%esp
40e176:	53                   	push   %ebx
40e177:	51                   	push   %ecx
40e178:	8b 45 0c             	mov    0xc(%ebp),%eax
40e17b:	83 c0 0c             	add    $0xc,%eax
40e17e:	89 45 fc             	mov    %eax,-0x4(%ebp)
40e181:	8b 45 08             	mov    0x8(%ebp),%eax
40e184:	55                   	push   %ebp
40e185:	ff 75 10             	push   0x10(%ebp)
40e188:	8b 4d 10             	mov    0x10(%ebp),%ecx
40e18b:	8b 6d fc             	mov    -0x4(%ebp),%ebp
40e18e:	e8 7a da ff ff       	call   0x40bc0d
40e193:	56                   	push   %esi
40e194:	57                   	push   %edi
40e195:	ff d0                	call   *%eax
40e197:	5f                   	pop    %edi
40e198:	5e                   	pop    %esi
40e199:	8b dd                	mov    %ebp,%ebx
40e19b:	5d                   	pop    %ebp
40e19c:	8b 4d 10             	mov    0x10(%ebp),%ecx
40e19f:	55                   	push   %ebp
40e1a0:	8b eb                	mov    %ebx,%ebp
40e1a2:	81 f9 00 01 00 00    	cmp    $0x100,%ecx
40e1a8:	75 05                	jne    0x40e1af
40e1aa:	b9 02 00 00 00       	mov    $0x2,%ecx
40e1af:	51                   	push   %ecx
40e1b0:	e8 58 da ff ff       	call   0x40bc0d
40e1b5:	5d                   	pop    %ebp
40e1b6:	59                   	pop    %ecx
40e1b7:	5b                   	pop    %ebx
40e1b8:	c9                   	leave
40e1b9:	c2 0c 00             	ret    $0xc
40e1bc:	cc                   	int3
40e1bd:	cc                   	int3
40e1be:	cc                   	int3
40e1bf:	cc                   	int3
40e1c0:	56                   	push   %esi
40e1c1:	e8 4a 12 00 00       	call   0x40f410
40e1c6:	ff 15 dc 96 43 00    	call   *0x4396dc
40e1cc:	83 f8 ff             	cmp    $0xffffffff,%eax
40e1cf:	a3 40 1b 43 00       	mov    %eax,0x431b40
40e1d4:	74 42                	je     0x40e218
40e1d6:	6a 74                	push   $0x74
40e1d8:	6a 01                	push   $0x1
40e1da:	e8 51 1d 00 00       	call   0x40ff30
40e1df:	8b f0                	mov    %eax,%esi
40e1e1:	83 c4 08             	add    $0x8,%esp
40e1e4:	85 f6                	test   %esi,%esi
40e1e6:	74 30                	je     0x40e218
40e1e8:	a1 40 1b 43 00       	mov    0x431b40,%eax
40e1ed:	56                   	push   %esi
40e1ee:	50                   	push   %eax
40e1ef:	ff 15 c0 96 43 00    	call   *0x4396c0
40e1f5:	85 c0                	test   %eax,%eax
40e1f7:	74 1f                	je     0x40e218
40e1f9:	56                   	push   %esi
40e1fa:	e8 21 00 00 00       	call   0x40e220
40e1ff:	83 c4 04             	add    $0x4,%esp
40e202:	ff 15 4c 97 43 00    	call   *0x43974c
40e208:	89 06                	mov    %eax,(%esi)
40e20a:	c7 46 04 ff ff ff ff 	movl   $0xffffffff,0x4(%esi)
40e211:	b8 01 00 00 00       	mov    $0x1,%eax
40e216:	5e                   	pop    %esi
40e217:	c3                   	ret
40e218:	33 c0                	xor    %eax,%eax
40e21a:	5e                   	pop    %esi
40e21b:	c3                   	ret
40e21c:	90                   	nop
40e21d:	90                   	nop
40e21e:	90                   	nop
40e21f:	90                   	nop
40e220:	8b 44 24 04          	mov    0x4(%esp),%eax
40e224:	c7 40 50 60 1d 43 00 	movl   $0x431d60,0x50(%eax)
40e22b:	c7 40 14 01 00 00 00 	movl   $0x1,0x14(%eax)
40e232:	c3                   	ret
40e233:	90                   	nop
40e234:	90                   	nop
40e235:	90                   	nop
40e236:	90                   	nop
40e237:	90                   	nop
40e238:	90                   	nop
40e239:	90                   	nop
40e23a:	90                   	nop
40e23b:	90                   	nop
40e23c:	90                   	nop
40e23d:	90                   	nop
40e23e:	90                   	nop
40e23f:	90                   	nop
40e240:	56                   	push   %esi