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
40e241:	57                   	push   %edi
40e242:	ff 15 ec 96 43 00    	call   *0x4396ec
40e248:	8b f8                	mov    %eax,%edi
40e24a:	a1 40 1b 43 00       	mov    0x431b40,%eax
40e24f:	50                   	push   %eax
40e250:	ff 15 b8 96 43 00    	call   *0x4396b8
40e256:	8b f0                	mov    %eax,%esi
40e258:	85 f6                	test   %esi,%esi
40e25a:	75 52                	jne    0x40e2ae
40e25c:	6a 74                	push   $0x74
40e25e:	6a 01                	push   $0x1
40e260:	e8 cb 1c 00 00       	call   0x40ff30
40e265:	8b f0                	mov    %eax,%esi
40e267:	83 c4 08             	add    $0x8,%esp
40e26a:	85 f6                	test   %esi,%esi
40e26c:	74 36                	je     0x40e2a4
40e26e:	8b 0d 40 1b 43 00    	mov    0x431b40,%ecx
40e274:	56                   	push   %esi
40e275:	51                   	push   %ecx
40e276:	ff 15 c0 96 43 00    	call   *0x4396c0
40e27c:	85 c0                	test   %eax,%eax
40e27e:	74 24                	je     0x40e2a4
40e280:	56                   	push   %esi
40e281:	e8 9a ff ff ff       	call   0x40e220
40e286:	83 c4 04             	add    $0x4,%esp
40e289:	ff 15 4c 97 43 00    	call   *0x43974c
40e28f:	57                   	push   %edi
40e290:	89 06                	mov    %eax,(%esi)
40e292:	c7 46 04 ff ff ff ff 	movl   $0xffffffff,0x4(%esi)
40e299:	ff 15 f0 96 43 00    	call   *0x4396f0
40e29f:	8b c6                	mov    %esi,%eax
40e2a1:	5f                   	pop    %edi
40e2a2:	5e                   	pop    %esi
40e2a3:	c3                   	ret
40e2a4:	6a 10                	push   $0x10
40e2a6:	e8 e5 e0 ff ff       	call   0x40c390
40e2ab:	83 c4 04             	add    $0x4,%esp
40e2ae:	57                   	push   %edi
40e2af:	ff 15 f0 96 43 00    	call   *0x4396f0
40e2b5:	8b c6                	mov    %esi,%eax
40e2b7:	5f                   	pop    %edi
40e2b8:	5e                   	pop    %esi
40e2b9:	c3                   	ret
40e2ba:	90                   	nop
40e2bb:	90                   	nop
40e2bc:	90                   	nop
40e2bd:	90                   	nop
40e2be:	90                   	nop
40e2bf:	90                   	nop
40e2c0:	a1 40 1b 43 00       	mov    0x431b40,%eax
40e2c5:	83 f8 ff             	cmp    $0xffffffff,%eax
40e2c8:	0f 84 8e 00 00 00    	je     0x40e35c
40e2ce:	56                   	push   %esi
40e2cf:	8b 74 24 08          	mov    0x8(%esp),%esi
40e2d3:	85 f6                	test   %esi,%esi
40e2d5:	75 0d                	jne    0x40e2e4
40e2d7:	50                   	push   %eax
40e2d8:	ff 15 b8 96 43 00    	call   *0x4396b8
40e2de:	8b f0                	mov    %eax,%esi
40e2e0:	85 f6                	test   %esi,%esi
40e2e2:	74 69                	je     0x40e34d
40e2e4:	8b 46 24             	mov    0x24(%esi),%eax
40e2e7:	85 c0                	test   %eax,%eax
40e2e9:	74 09                	je     0x40e2f4
40e2eb:	50                   	push   %eax
40e2ec:	e8 9f e2 ff ff       	call   0x40c590
40e2f1:	83 c4 04             	add    $0x4,%esp
40e2f4:	8b 46 28             	mov    0x28(%esi),%eax
40e2f7:	85 c0                	test   %eax,%eax
40e2f9:	74 09                	je     0x40e304
40e2fb:	50                   	push   %eax
40e2fc:	e8 8f e2 ff ff       	call   0x40c590
40e301:	83 c4 04             	add    $0x4,%esp
40e304:	8b 46 30             	mov    0x30(%esi),%eax
40e307:	85 c0                	test   %eax,%eax
40e309:	74 09                	je     0x40e314
40e30b:	50                   	push   %eax
40e30c:	e8 7f e2 ff ff       	call   0x40c590
40e311:	83 c4 04             	add    $0x4,%esp
40e314:	8b 46 38             	mov    0x38(%esi),%eax
40e317:	85 c0                	test   %eax,%eax
40e319:	74 09                	je     0x40e324
40e31b:	50                   	push   %eax
40e31c:	e8 6f e2 ff ff       	call   0x40c590
40e321:	83 c4 04             	add    $0x4,%esp
40e324:	8b 46 40             	mov    0x40(%esi),%eax
40e327:	85 c0                	test   %eax,%eax
40e329:	74 09                	je     0x40e334
40e32b:	50                   	push   %eax
40e32c:	e8 5f e2 ff ff       	call   0x40c590
40e331:	83 c4 04             	add    $0x4,%esp
40e334:	8b 46 44             	mov    0x44(%esi),%eax
40e337:	85 c0                	test   %eax,%eax
40e339:	74 09                	je     0x40e344
40e33b:	50                   	push   %eax
40e33c:	e8 4f e2 ff ff       	call   0x40c590
40e341:	83 c4 04             	add    $0x4,%esp
40e344:	56                   	push   %esi
40e345:	e8 46 e2 ff ff       	call   0x40c590
40e34a:	83 c4 04             	add    $0x4,%esp
40e34d:	a1 40 1b 43 00       	mov    0x431b40,%eax
40e352:	6a 00                	push   $0x0
40e354:	50                   	push   %eax
40e355:	ff 15 c0 96 43 00    	call   *0x4396c0
40e35b:	5e                   	pop    %esi
40e35c:	c3                   	ret
40e35d:	90                   	nop
40e35e:	90                   	nop
40e35f:	90                   	nop
40e360:	55                   	push   %ebp
40e361:	8b ec                	mov    %esp,%ebp
40e363:	6a ff                	push   $0xffffffff
40e365:	68 68 c0 42 00       	push   $0x42c068
40e36a:	68 18 f1 40 00       	push   $0x40f118
40e36f:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
40e375:	50                   	push   %eax
40e376:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
40e37d:	83 ec 08             	sub    $0x8,%esp
40e380:	53                   	push   %ebx
40e381:	56                   	push   %esi
40e382:	57                   	push   %edi
40e383:	89 65 e8             	mov    %esp,-0x18(%ebp)
40e386:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
40e38d:	e8 ae fe ff ff       	call   0x40e240
40e392:	8b 48 60             	mov    0x60(%eax),%ecx
40e395:	85 c9                	test   %ecx,%ecx
40e397:	74 21                	je     0x40e3ba
40e399:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
40e3a0:	e8 9b fe ff ff       	call   0x40e240
40e3a5:	ff 50 60             	call   *0x60(%eax)
40e3a8:	eb 09                	jmp    0x40e3b3
40e3aa:	b8 01 00 00 00       	mov    $0x1,%eax
40e3af:	c3                   	ret
40e3b0:	8b 65 e8             	mov    -0x18(%ebp),%esp
40e3b3:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
40e3ba:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
40e3c1:	e8 11 00 00 00       	call   0x40e3d7
40e3c6:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40e3c9:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40e3d0:	5f                   	pop    %edi
40e3d1:	5e                   	pop    %esi
40e3d2:	5b                   	pop    %ebx
40e3d3:	8b e5                	mov    %ebp,%esp
40e3d5:	5d                   	pop    %ebp
40e3d6:	c3                   	ret
40e3d7:	e8 a4 26 00 00       	call   0x410a80
40e3dc:	c3                   	ret
40e3dd:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40e3e0:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40e3e7:	5f                   	pop    %edi
40e3e8:	5e                   	pop    %esi
40e3e9:	5b                   	pop    %ebx
40e3ea:	8b e5                	mov    %ebp,%esp
40e3ec:	5d                   	pop    %ebp
40e3ed:	c3                   	ret
40e3ee:	90                   	nop
40e3ef:	90                   	nop
40e3f0:	55                   	push   %ebp
40e3f1:	8b ec                	mov    %esp,%ebp
40e3f3:	6a ff                	push   $0xffffffff
40e3f5:	68 80 c0 42 00       	push   $0x42c080
40e3fa:	68 18 f1 40 00       	push   $0x40f118
40e3ff:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
40e405:	50                   	push   %eax
40e406:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
40e40d:	83 ec 08             	sub    $0x8,%esp
40e410:	53                   	push   %ebx
40e411:	56                   	push   %esi
40e412:	57                   	push   %edi
40e413:	89 65 e8             	mov    %esp,-0x18(%ebp)
40e416:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
40e41d:	a1 44 1b 43 00       	mov    0x431b44,%eax
40e422:	85 c0                	test   %eax,%eax
40e424:	74 1b                	je     0x40e441
40e426:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)