41e116:	84 db                	test   %bl,%bl
41e118:	74 09                	je     0x41e123
41e11a:	8b d6                	mov    %esi,%edx
41e11c:	8b c7                	mov    %edi,%eax
41e11e:	8b 08                	mov    (%eax),%ecx
41e120:	ff 51 40             	call   *0x40(%ecx)
41e123:	8b c3                	mov    %ebx,%eax
41e125:	5f                   	pop    %edi
41e126:	5e                   	pop    %esi
41e127:	5b                   	pop    %ebx
41e128:	c3                   	ret
41e129:	8d 40 00             	lea    0x0(%eax),%eax
41e12c:	53                   	push   %ebx
41e12d:	56                   	push   %esi
41e12e:	57                   	push   %edi
41e12f:	8b fa                	mov    %edx,%edi
41e131:	8b f0                	mov    %eax,%esi
41e133:	8b d6                	mov    %esi,%edx
41e135:	8b c7                	mov    %edi,%eax
41e137:	8b 08                	mov    (%eax),%ecx
41e139:	ff 51 38             	call   *0x38(%ecx)
41e13c:	8b d8                	mov    %eax,%ebx
41e13e:	84 db                	test   %bl,%bl
41e140:	74 09                	je     0x41e14b
41e142:	8b d6                	mov    %esi,%edx
41e144:	8b c7                	mov    %edi,%eax
41e146:	8b 08                	mov    (%eax),%ecx
41e148:	ff 51 3c             	call   *0x3c(%ecx)
41e14b:	8b c3                	mov    %ebx,%eax
41e14d:	5f                   	pop    %edi
41e14e:	5e                   	pop    %esi
41e14f:	5b                   	pop    %ebx
41e150:	c3                   	ret
41e151:	8d 40 00             	lea    0x0(%eax),%eax
41e154:	53                   	push   %ebx
41e155:	83 78 20 00          	cmpl   $0x0,0x20(%eax)
41e159:	74 0a                	je     0x41e165
41e15b:	8b 40 20             	mov    0x20(%eax),%eax
41e15e:	8b 18                	mov    (%eax),%ebx
41e160:	ff 53 1c             	call   *0x1c(%ebx)
41e163:	5b                   	pop    %ebx
41e164:	c3                   	ret
41e165:	e8 d2 59 fe ff       	call   0x403b3c
41e16a:	5b                   	pop    %ebx
41e16b:	c3                   	ret
41e16c:	55                   	push   %ebp
41e16d:	8b ec                	mov    %esp,%ebp
41e16f:	5d                   	pop    %ebp
41e170:	c2 04 00             	ret    $0x4
41e173:	90                   	nop
41e174:	55                   	push   %ebp
41e175:	8b ec                	mov    %esp,%ebp
41e177:	53                   	push   %ebx
41e178:	56                   	push   %esi
41e179:	57                   	push   %edi
41e17a:	8b 7d 10             	mov    0x10(%ebp),%edi
41e17d:	8b 75 0c             	mov    0xc(%ebp),%esi
41e180:	8b 5d 08             	mov    0x8(%ebp),%ebx
41e183:	83 7b 20 00          	cmpl   $0x0,0x20(%ebx)
41e187:	75 1a                	jne    0x41e1a3
41e189:	8b cf                	mov    %edi,%ecx
41e18b:	8b d6                	mov    %esi,%edx
41e18d:	8b c3                	mov    %ebx,%eax
41e18f:	e8 14 58 fe ff       	call   0x4039a8
41e194:	84 c0                	test   %al,%al
41e196:	74 04                	je     0x41e19c
41e198:	33 c0                	xor    %eax,%eax
41e19a:	eb 11                	jmp    0x41e1ad
41e19c:	b8 02 40 00 80       	mov    $0x80004002,%eax
41e1a1:	eb 0a                	jmp    0x41e1ad
41e1a3:	57                   	push   %edi
41e1a4:	56                   	push   %esi
41e1a5:	8b 43 20             	mov    0x20(%ebx),%eax
41e1a8:	50                   	push   %eax
41e1a9:	8b 00                	mov    (%eax),%eax
41e1ab:	ff 10                	call   *(%eax)
41e1ad:	5f                   	pop    %edi
41e1ae:	5e                   	pop    %esi
41e1af:	5b                   	pop    %ebx
41e1b0:	5d                   	pop    %ebp
41e1b1:	c2 0c 00             	ret    $0xc
41e1b4:	55                   	push   %ebp
41e1b5:	8b ec                	mov    %esp,%ebp
41e1b7:	8b 45 08             	mov    0x8(%ebp),%eax
41e1ba:	83 78 20 00          	cmpl   $0x0,0x20(%eax)
41e1be:	75 05                	jne    0x41e1c5
41e1c0:	83 c8 ff             	or     $0xffffffff,%eax
41e1c3:	eb 09                	jmp    0x41e1ce
41e1c5:	8b 40 20             	mov    0x20(%eax),%eax
41e1c8:	50                   	push   %eax
41e1c9:	8b 00                	mov    (%eax),%eax
41e1cb:	ff 50 04             	call   *0x4(%eax)
41e1ce:	5d                   	pop    %ebp
41e1cf:	c2 04 00             	ret    $0x4
41e1d2:	8b c0                	mov    %eax,%eax
41e1d4:	55                   	push   %ebp
41e1d5:	8b ec                	mov    %esp,%ebp
41e1d7:	8b 45 08             	mov    0x8(%ebp),%eax
41e1da:	83 78 20 00          	cmpl   $0x0,0x20(%eax)
41e1de:	75 05                	jne    0x41e1e5
41e1e0:	83 c8 ff             	or     $0xffffffff,%eax
41e1e3:	eb 09                	jmp    0x41e1ee
41e1e5:	8b 40 20             	mov    0x20(%eax),%eax
41e1e8:	50                   	push   %eax
41e1e9:	8b 00                	mov    (%eax),%eax
41e1eb:	ff 50 08             	call   *0x8(%eax)
41e1ee:	5d                   	pop    %ebp
41e1ef:	c2 04 00             	ret    $0x4
41e1f2:	8b c0                	mov    %eax,%eax
41e1f4:	c3                   	ret
41e1f5:	8d 40 00             	lea    0x0(%eax),%eax
41e1f8:	53                   	push   %ebx
41e1f9:	56                   	push   %esi
41e1fa:	57                   	push   %edi
41e1fb:	84 d2                	test   %dl,%dl
41e1fd:	74 08                	je     0x41e207
41e1ff:	83 c4 f0             	add    $0xfffffff0,%esp
41e202:	e8 11 5a fe ff       	call   0x403c18
41e207:	8b f1                	mov    %ecx,%esi
41e209:	8b da                	mov    %edx,%ebx
41e20b:	8b f8                	mov    %eax,%edi
41e20d:	33 d2                	xor    %edx,%edx
41e20f:	8b c7                	mov    %edi,%eax
41e211:	e8 ae 56 fe ff       	call   0x4038c4
41e216:	8b d6                	mov    %esi,%edx
41e218:	8b c7                	mov    %edi,%eax
41e21a:	8b 08                	mov    (%eax),%ecx
41e21c:	ff 11                	call   *(%ecx)
41e21e:	8b c7                	mov    %edi,%eax
41e220:	84 db                	test   %bl,%bl
41e222:	74 0f                	je     0x41e233
41e224:	e8 47 5a fe ff       	call   0x403c70
41e229:	64 8f 05 00 00 00 00 	pop    %fs:0x0
41e230:	83 c4 0c             	add    $0xc,%esp
41e233:	8b c7                	mov    %edi,%eax
41e235:	5f                   	pop    %edi
41e236:	5e                   	pop    %esi
41e237:	5b                   	pop    %ebx
41e238:	c3                   	ret
41e239:	8d 40 00             	lea    0x0(%eax),%eax
41e23c:	c3                   	ret
41e23d:	8d 40 00             	lea    0x0(%eax),%eax
41e240:	53                   	push   %ebx
41e241:	56                   	push   %esi
41e242:	e8 79 5a fe ff       	call   0x403cc0
41e247:	8b da                	mov    %edx,%ebx
41e249:	8b f0                	mov    %eax,%esi
41e24b:	8b 46 10             	mov    0x10(%esi),%eax
41e24e:	85 c0                	test   %eax,%eax
41e250:	74 07                	je     0x41e259
41e252:	8b d6                	mov    %esi,%edx
41e254:	e8 1f 02 00 00       	call   0x41e478
41e259:	8b d3                	mov    %ebx,%edx
41e25b:	80 e2 fc             	and    $0xfc,%dl
41e25e:	8b c6                	mov    %esi,%eax
41e260:	e8 7f 56 fe ff       	call   0x4038e4
41e265:	84 db                	test   %bl,%bl
41e267:	7e 07                	jle    0x41e270
41e269:	8b c6                	mov    %esi,%eax
41e26b:	e8 f8 59 fe ff       	call   0x403c68
41e270:	5e                   	pop    %esi
41e271:	5b                   	pop    %ebx
41e272:	c3                   	ret
41e273:	90                   	nop
41e274:	53                   	push   %ebx
41e275:	66 83 78 0a 00       	cmpw   $0x0,0xa(%eax)
41e27a:	74 0b                	je     0x41e287
41e27c:	8b d8                	mov    %eax,%ebx
41e27e:	8b 50 10             	mov    0x10(%eax),%edx
41e281:	8b 43 0c             	mov    0xc(%ebx),%eax
41e284:	ff 53 08             	call   *0x8(%ebx)
41e287:	5b                   	pop    %ebx
41e288:	c3                   	ret
41e289:	8d 40 00             	lea    0x0(%eax),%eax
41e28c:	53                   	push   %ebx
41e28d:	56                   	push   %esi
41e28e:	8b d8                	mov    %eax,%ebx
41e290:	8b 43 10             	mov    0x10(%ebx),%eax
41e293:	e8 20 02 00 00       	call   0x41e4b8
41e298:	8b 43 10             	mov    0x10(%ebx),%eax
41e29b:	66 be ef ff          	mov    $0xffef,%si
41e29f:	e8 4c 58 fe ff       	call   0x403af0
41e2a4:	5e                   	pop    %esi
41e2a5:	5b                   	pop    %ebx
41e2a6:	c3                   	ret
41e2a7:	90                   	nop
41e2a8:	53                   	push   %ebx
41e2a9:	56                   	push   %esi
41e2aa:	8b f2                	mov    %edx,%esi
41e2ac:	8b d8                	mov    %eax,%ebx
41e2ae:	8b 43 10             	mov    0x10(%ebx),%eax
41e2b1:	3b f0                	cmp    %eax,%esi
41e2b3:	74 1b                	je     0x41e2d0
41e2b5:	85 c0                	test   %eax,%eax
41e2b7:	74 07                	je     0x41e2c0
41e2b9:	8b d3                	mov    %ebx,%edx
41e2bb:	e8 b8 01 00 00       	call   0x41e478
41e2c0:	89 73 10             	mov    %esi,0x10(%ebx)
41e2c3:	85 f6                	test   %esi,%esi
41e2c5:	74 09                	je     0x41e2d0
41e2c7:	8b d3                	mov    %ebx,%edx
41e2c9:	8b c6                	mov    %esi,%eax
41e2cb:	e8 9c 01 00 00       	call   0x41e46c
41e2d0:	5e                   	pop    %esi
41e2d1:	5b                   	pop    %ebx
41e2d2:	c3                   	ret
41e2d3:	90                   	nop
41e2d4:	b0 01                	mov    $0x1,%al
41e2d6:	c3                   	ret
41e2d7:	90                   	nop
41e2d8:	55                   	push   %ebp
41e2d9:	8b ec                	mov    %esp,%ebp
41e2db:	5d                   	pop    %ebp
41e2dc:	c2 08 00             	ret    $0x8
41e2df:	90                   	nop
41e2e0:	8b 40 10             	mov    0x10(%eax),%eax
41e2e3:	8b 10                	mov    (%eax),%edx
41e2e5:	ff 52 44             	call   *0x44(%edx)
41e2e8:	c3                   	ret
41e2e9:	8d 40 00             	lea    0x0(%eax),%eax
41e2ec:	53                   	push   %ebx
41e2ed:	56                   	push   %esi
41e2ee:	84 d2                	test   %dl,%dl
41e2f0:	74 08                	je     0x41e2fa
41e2f2:	83 c4 f0             	add    $0xfffffff0,%esp
41e2f5:	e8 1e 59 fe ff       	call   0x403c18
41e2fa:	8b da                	mov    %edx,%ebx
41e2fc:	8b f0                	mov    %eax,%esi
41e2fe:	33 d2                	xor    %edx,%edx
41e300:	8b c6                	mov    %esi,%eax
41e302:	e8 c1 f6 ff ff       	call   0x41d9c8
41e307:	b2 01                	mov    $0x1,%dl
41e309:	a1 c4 57 41 00       	mov    0x4157c4,%eax
41e30e:	e8 b1 55 fe ff       	call   0x4038c4
41e313:	89 46 50             	mov    %eax,0x50(%esi)
41e316:	8b c6                	mov    %esi,%eax
41e318:	84 db                	test   %bl,%bl
41e31a:	74 0f                	je     0x41e32b
41e31c:	e8 4f 59 fe ff       	call   0x403c70
41e321:	64 8f 05 00 00 00 00 	pop    %fs:0x0
41e328:	83 c4 0c             	add    $0xc,%esp
41e32b:	8b c6                	mov    %esi,%eax
41e32d:	5e                   	pop    %esi
41e32e:	5b                   	pop    %ebx
41e32f:	c3                   	ret
41e330:	53                   	push   %ebx
41e331:	56                   	push   %esi
41e332:	57                   	push   %edi
41e333:	e8 88 59 fe ff       	call   0x403cc0
41e338:	8b da                	mov    %edx,%ebx
41e33a:	8b f8                	mov    %eax,%edi
41e33c:	8b d3                	mov    %ebx,%edx
41e33e:	80 e2 fc             	and    $0xfc,%dl
41e341:	8b c7                	mov    %edi,%eax
41e343:	e8 cc f6 ff ff       	call   0x41da14
41e348:	8b 47 30             	mov    0x30(%edi),%eax
41e34b:	85 c0                	test   %eax,%eax
41e34d:	74 07                	je     0x41e356
41e34f:	8b d7                	mov    %edi,%edx
41e351:	e8 86 f9 ff ff       	call   0x41dcdc
41e356:	83 7f 50 00          	cmpl   $0x0,0x50(%edi)
41e35a:	74 1b                	je     0x41e377
41e35c:	eb 10                	jmp    0x41e36e
41e35e:	8b c6                	mov    %esi,%eax
41e360:	e8 f3 98 ff ff       	call   0x417c58
41e365:	8b d0                	mov    %eax,%edx
41e367:	8b c7                	mov    %edi,%eax
41e369:	e8 0a 01 00 00       	call   0x41e478
41e36e:	8b 77 50             	mov    0x50(%edi),%esi
41e371:	83 7e 08 00          	cmpl   $0x0,0x8(%esi)
41e375:	7f e7                	jg     0x41e35e
41e377:	8d 47 50             	lea    0x50(%edi),%eax
41e37a:	e8 cd f9 fe ff       	call   0x40dd4c
41e37f:	84 db                	test   %bl,%bl
41e381:	7e 07                	jle    0x41e38a
41e383:	8b c7                	mov    %edi,%eax
41e385:	e8 de 58 fe ff       	call   0x403c68
41e38a:	5f                   	pop    %edi
41e38b:	5e                   	pop    %esi
41e38c:	5b                   	pop    %ebx
41e38d:	c3                   	ret
41e38e:	8b c0                	mov    %eax,%eax
41e390:	33 c0                	xor    %eax,%eax
41e392:	c3                   	ret
41e393:	90                   	nop
41e394:	c3                   	ret
41e395:	8d 40 00             	lea    0x0(%eax),%eax
41e398:	53                   	push   %ebx
41e399:	56                   	push   %esi
41e39a:	57                   	push   %edi
41e39b:	8b d9                	mov    %ecx,%ebx
41e39d:	8b f2                	mov    %edx,%esi
41e39f:	8b f8                	mov    %eax,%edi
41e3a1:	8b cb                	mov    %ebx,%ecx
41e3a3:	8b d6                	mov    %esi,%edx
41e3a5:	8b c7                	mov    %edi,%eax
41e3a7:	e8 4c f9 ff ff       	call   0x41dcf8
41e3ac:	80 fb 01             	cmp    $0x1,%bl
41e3af:	75 0a                	jne    0x41e3bb
41e3b1:	3b 77 30             	cmp    0x30(%edi),%esi
41e3b4:	75 05                	jne    0x41e3bb
41e3b6:	33 c0                	xor    %eax,%eax
41e3b8:	89 47 30             	mov    %eax,0x30(%edi)
41e3bb:	5f                   	pop    %edi
41e3bc:	5e                   	pop    %esi
41e3bd:	5b                   	pop    %ebx
41e3be:	c3                   	ret
41e3bf:	90                   	nop
41e3c0:	c3                   	ret
41e3c1:	8d 40 00             	lea    0x0(%eax),%eax
41e3c4:	53                   	push   %ebx
41e3c5:	66 83 78 42 00       	cmpw   $0x0,0x42(%eax)
41e3ca:	74 0e                	je     0x41e3da
41e3cc:	8b d8                	mov    %eax,%ebx
41e3ce:	8b d0                	mov    %eax,%edx
41e3d0:	8b 43 44             	mov    0x44(%ebx),%eax
41e3d3:	ff 53 40             	call   *0x40(%ebx)
41e3d6:	b0 01                	mov    $0x1,%al
41e3d8:	5b                   	pop    %ebx
41e3d9:	c3                   	ret
41e3da:	33 c0                	xor    %eax,%eax
41e3dc:	5b                   	pop    %ebx
41e3dd:	c3                   	ret
41e3de:	8b c0                	mov    %eax,%eax
41e3e0:	53                   	push   %ebx
41e3e1:	66 83 78 4a 00       	cmpw   $0x0,0x4a(%eax)
41e3e6:	74 0e                	je     0x41e3f6
41e3e8:	8b d8                	mov    %eax,%ebx
41e3ea:	8b d0                	mov    %eax,%edx
41e3ec:	8b 43 4c             	mov    0x4c(%ebx),%eax
41e3ef:	ff 53 48             	call   *0x48(%ebx)
41e3f2:	b0 01                	mov    $0x1,%al
41e3f4:	5b                   	pop    %ebx
41e3f5:	c3                   	ret
41e3f6:	33 c0                	xor    %eax,%eax
41e3f8:	5b                   	pop    %ebx
41e3f9:	c3                   	ret
41e3fa:	8b c0                	mov    %eax,%eax
41e3fc:	55                   	push   %ebp
41e3fd:	8b ec                	mov    %esp,%ebp
41e3ff:	53                   	push   %ebx
41e400:	56                   	push   %esi
41e401:	57                   	push   %edi
41e402:	8b d8                	mov    %eax,%ebx
41e404:	8b 45 08             	mov    0x8(%ebp),%eax
41e407:	3b 43 40             	cmp    0x40(%ebx),%eax
41e40a:	75 08                	jne    0x41e414
41e40c:	8b 45 0c             	mov    0xc(%ebp),%eax
41e40f:	3b 43 44             	cmp    0x44(%ebx),%eax
41e412:	74 3a                	je     0x41e44e