47403c:	8b 47 04             	mov    0x4(%edi),%eax
47403f:	eb 03                	jmp    0x474044
474041:	83 c0 08             	add    $0x8,%eax
474044:	83 38 00             	cmpl   $0x0,(%eax)
474047:	75 f8                	jne    0x474041
474049:	8d 70 04             	lea    0x4(%eax),%esi
47404c:	eb 2a                	jmp    0x474078
47404e:	8b 06                	mov    (%esi),%eax
474050:	8b 4d f8             	mov    -0x8(%ebp),%ecx
474053:	8b 04 01             	mov    (%ecx,%eax,1),%eax
474056:	85 c0                	test   %eax,%eax
474058:	74 1b                	je     0x474075
47405a:	8b 08                	mov    (%eax),%ecx
47405c:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
474060:	8d 55 fc             	lea    -0x4(%ebp),%edx
474063:	52                   	push   %edx
474064:	ff 75 08             	push   0x8(%ebp)
474067:	50                   	push   %eax
474068:	ff 11                	call   *(%ecx)
47406a:	85 c0                	test   %eax,%eax
47406c:	75 07                	jne    0x474075
47406e:	8b 45 fc             	mov    -0x4(%ebp),%eax
474071:	85 c0                	test   %eax,%eax
474073:	75 10                	jne    0x474085
474075:	83 c6 08             	add    $0x8,%esi
474078:	83 3e ff             	cmpl   $0xffffffff,(%esi)
47407b:	75 d1                	jne    0x47404e
47407d:	8b 3f                	mov    (%edi),%edi
47407f:	85 ff                	test   %edi,%edi
474081:	75 b9                	jne    0x47403c
474083:	33 c0                	xor    %eax,%eax
474085:	5f                   	pop    %edi
474086:	5e                   	pop    %esi
474087:	c9                   	leave
474088:	c2 04 00             	ret    $0x4
47408b:	8b 4c 24 04          	mov    0x4(%esp),%ecx
47408f:	83 c1 f4             	add    $0xfffffff4,%ecx
474092:	e8 a8 fe ff ff       	call   0x473f3f
474097:	c2 04 00             	ret    $0x4
47409a:	56                   	push   %esi
47409b:	8d 71 04             	lea    0x4(%ecx),%esi
47409e:	83 3e 00             	cmpl   $0x0,(%esi)
4740a1:	74 21                	je     0x4740c4
4740a3:	57                   	push   %edi
4740a4:	68 1c 5d 49 00       	push   $0x495d1c
4740a9:	e8 cf fe ff ff       	call   0x473f7d
4740ae:	56                   	push   %esi
4740af:	8b f8                	mov    %eax,%edi
4740b1:	ff 15 a4 02 4b 00    	call   *0x4b02a4
4740b7:	6a 00                	push   $0x0
4740b9:	57                   	push   %edi
4740ba:	ff 15 2c 0b 4b 00    	call   *0x4b0b2c
4740c0:	83 26 00             	andl   $0x0,(%esi)
4740c3:	5f                   	pop    %edi
4740c4:	5e                   	pop    %esi
4740c5:	c3                   	ret
4740c6:	8b 41 08             	mov    0x8(%ecx),%eax
4740c9:	85 c0                	test   %eax,%eax
4740cb:	75 0a                	jne    0x4740d7
4740cd:	68 1c 5d 49 00       	push   $0x495d1c
4740d2:	e8 a6 fe ff ff       	call   0x473f7d
4740d7:	c3                   	ret
4740d8:	8b c1                	mov    %ecx,%eax
4740da:	c7 00 80 bb 48 00    	movl   $0x48bb80,(%eax)
4740e0:	c3                   	ret
4740e1:	83 79 08 00          	cmpl   $0x0,0x8(%ecx)
4740e5:	74 0a                	je     0x4740f1
4740e7:	8b 41 08             	mov    0x8(%ecx),%eax
4740ea:	8b 08                	mov    (%eax),%ecx
4740ec:	50                   	push   %eax
4740ed:	ff 51 04             	call   *0x4(%ecx)
4740f0:	c3                   	ret
4740f1:	83 c1 04             	add    $0x4,%ecx
4740f4:	51                   	push   %ecx
4740f5:	ff 15 a4 02 4b 00    	call   *0x4b02a4
4740fb:	c3                   	ret
4740fc:	56                   	push   %esi
4740fd:	57                   	push   %edi
4740fe:	ff 74 24 0c          	push   0xc(%esp)
474102:	8b f9                	mov    %ecx,%edi
474104:	e8 74 fe ff ff       	call   0x473f7d
474109:	85 c0                	test   %eax,%eax
47410b:	8b 74 24 10          	mov    0x10(%esp),%esi
47410f:	89 06                	mov    %eax,(%esi)
474111:	8b cf                	mov    %edi,%ecx
474113:	74 09                	je     0x47411e
474115:	e8 c7 ff ff ff       	call   0x4740e1
47411a:	33 c0                	xor    %eax,%eax
47411c:	eb 19                	jmp    0x474137
47411e:	ff 74 24 0c          	push   0xc(%esp)
474122:	e8 04 ff ff ff       	call   0x47402b
474127:	89 06                	mov    %eax,(%esi)
474129:	f7 d8                	neg    %eax
47412b:	1b c0                	sbb    %eax,%eax
47412d:	25 fe bf ff 7f       	and    $0x7fffbffe,%eax
474132:	05 02 40 00 80       	add    $0x80004002,%eax
474137:	5f                   	pop    %edi
474138:	5e                   	pop    %esi
474139:	c2 08 00             	ret    $0x8
47413c:	83 79 08 00          	cmpl   $0x0,0x8(%ecx)
474140:	74 13                	je     0x474155
474142:	ff 74 24 08          	push   0x8(%esp)
474146:	8b 41 08             	mov    0x8(%ecx),%eax
474149:	ff 74 24 08          	push   0x8(%esp)
47414d:	8b 08                	mov    (%eax),%ecx
47414f:	50                   	push   %eax
474150:	ff 11                	call   *(%ecx)
474152:	c2 08 00             	ret    $0x8
474155:	e9 a2 ff ff ff       	jmp    0x4740fc
47415a:	8b 44 24 04          	mov    0x4(%esp),%eax
47415e:	83 c0 f8             	add    $0xfffffff8,%eax
474161:	50                   	push   %eax
474162:	ff 15 a4 02 4b 00    	call   *0x4b02a4
474168:	c2 04 00             	ret    $0x4
47416b:	55                   	push   %ebp
47416c:	8b ec                	mov    %esp,%ebp
47416e:	56                   	push   %esi
47416f:	57                   	push   %edi
474170:	8b 7d 08             	mov    0x8(%ebp),%edi
474173:	68 1c 5d 49 00       	push   $0x495d1c
474178:	ff 75 0c             	push   0xc(%ebp)
47417b:	8d 77 f4             	lea    -0xc(%edi),%esi
47417e:	e8 34 34 f9 ff       	call   0x4075b7
474183:	85 c0                	test   %eax,%eax
474185:	59                   	pop    %ecx
474186:	59                   	pop    %ecx
474187:	74 13                	je     0x47419c
474189:	83 c6 04             	add    $0x4,%esi
47418c:	56                   	push   %esi
47418d:	ff 15 a4 02 4b 00    	call   *0x4b02a4
474193:	8b 45 10             	mov    0x10(%ebp),%eax
474196:	89 38                	mov    %edi,(%eax)
474198:	33 c0                	xor    %eax,%eax
47419a:	eb 0d                	jmp    0x4741a9
47419c:	ff 75 10             	push   0x10(%ebp)
47419f:	8b ce                	mov    %esi,%ecx
4741a1:	ff 75 0c             	push   0xc(%ebp)
4741a4:	e8 53 ff ff ff       	call   0x4740fc
4741a9:	5f                   	pop    %edi
4741aa:	5e                   	pop    %esi
4741ab:	5d                   	pop    %ebp
4741ac:	c2 0c 00             	ret    $0xc
4741af:	c7 41 0c 80 bb 48 00 	movl   $0x48bb80,0xc(%ecx)
4741b6:	c3                   	ret
4741b7:	8b 41 10             	mov    0x10(%ecx),%eax
4741ba:	83 61 10 00          	andl   $0x0,0x10(%ecx)
4741be:	c3                   	ret
4741bf:	8b 44 24 04          	mov    0x4(%esp),%eax
4741c3:	85 c0                	test   %eax,%eax
4741c5:	75 05                	jne    0x4741cc
4741c7:	e8 7f 12 fc ff       	call   0x43544b
4741cc:	83 61 08 00          	andl   $0x0,0x8(%ecx)
4741d0:	89 41 10             	mov    %eax,0x10(%ecx)
4741d3:	c2 04 00             	ret    $0x4
4741d6:	55                   	push   %ebp
4741d7:	8b ec                	mov    %esp,%ebp
4741d9:	33 c9                	xor    %ecx,%ecx
4741db:	39 4d 10             	cmp    %ecx,0x10(%ebp)
4741de:	75 09                	jne    0x4741e9
4741e0:	8b 45 14             	mov    0x14(%ebp),%eax
4741e3:	89 08                	mov    %ecx,(%eax)
4741e5:	33 c0                	xor    %eax,%eax
4741e7:	eb 22                	jmp    0x47420b
4741e9:	8b 45 08             	mov    0x8(%ebp),%eax
4741ec:	3b c1                	cmp    %ecx,%eax
4741ee:	74 16                	je     0x474206
4741f0:	39 4d 0c             	cmp    %ecx,0xc(%ebp)
4741f3:	74 11                	je     0x474206
4741f5:	ff 75 14             	push   0x14(%ebp)
4741f8:	8b 08                	mov    (%eax),%ecx
4741fa:	ff 75 10             	push   0x10(%ebp)
4741fd:	ff 75 0c             	push   0xc(%ebp)
474200:	50                   	push   %eax
474201:	ff 51 0c             	call   *0xc(%ecx)
474204:	eb 05                	jmp    0x47420b
474206:	b8 57 00 07 80       	mov    $0x80070057,%eax
47420b:	5d                   	pop    %ebp
47420c:	c2 10 00             	ret    $0x10
47420f:	8b 54 24 08          	mov    0x8(%esp),%edx
474213:	8b c2                	mov    %edx,%eax
474215:	c1 f8 1f             	sar    $0x1f,%eax
474218:	a8 01                	test   $0x1,%al
47421a:	56                   	push   %esi
47421b:	74 28                	je     0x474245
47421d:	8b c2                	mov    %edx,%eax
47421f:	25 00 00 ff 1f       	and    $0x1fff0000,%eax
474224:	3d 00 00 03 00       	cmp    $0x30000,%eax
474229:	75 1a                	jne    0x474245
47422b:	8b f2                	mov    %edx,%esi
47422d:	81 e6 ff ff 00 00    	and    $0xffff,%esi
474233:	81 fe 00 01 00 00    	cmp    $0x100,%esi
474239:	7d 0a                	jge    0x474245
47423b:	56                   	push   %esi
47423c:	e8 29 65 fd ff       	call   0x44a76a
474241:	8b d6                	mov    %esi,%edx
474243:	eb 23                	jmp    0x474268
474245:	b8 00 01 03 80       	mov    $0x80030100,%eax
47424a:	3b d0                	cmp    %eax,%edx
47424c:	74 17                	je     0x474265
47424e:	7e 10                	jle    0x474260
474250:	81 fa 05 01 03 80    	cmp    $0x80030105,%edx
474256:	7e 08                	jle    0x474260
474258:	81 fa 06 01 03 80    	cmp    $0x80030106,%edx
47425e:	74 05                	je     0x474265
474260:	33 c0                	xor    %eax,%eax
474262:	40                   	inc    %eax
474263:	eb 03                	jmp    0x474268
474265:	6a 0b                	push   $0xb
474267:	58                   	pop    %eax
474268:	8b 4c 24 08          	mov    0x8(%esp),%ecx
47426c:	89 41 08             	mov    %eax,0x8(%ecx)
47426f:	89 51 0c             	mov    %edx,0xc(%ecx)
474272:	5e                   	pop    %esi
474273:	c2 08 00             	ret    $0x8
474276:	56                   	push   %esi
474277:	83 c1 10             	add    $0x10,%ecx
47427a:	51                   	push   %ecx
47427b:	6a 01                	push   $0x1
47427d:	6a 00                	push   $0x0
47427f:	ff 15 54 0b 4b 00    	call   *0x4b0b54
474285:	8b f0                	mov    %eax,%esi
474287:	85 f6                	test   %esi,%esi
474289:	7d 11                	jge    0x47429c
47428b:	83 7c 24 08 00       	cmpl   $0x0,0x8(%esp)
474290:	74 0a                	je     0x47429c
474292:	56                   	push   %esi
474293:	ff 74 24 0c          	push   0xc(%esp)
474297:	e8 73 ff ff ff       	call   0x47420f
47429c:	33 c0                	xor    %eax,%eax
47429e:	85 f6                	test   %esi,%esi
4742a0:	0f 9d c0             	setge  %al
4742a3:	5e                   	pop    %esi
4742a4:	c2 04 00             	ret    $0x4
4742a7:	8b 41 10             	mov    0x10(%ecx),%eax
4742aa:	c3                   	ret
4742ab:	b8 b0 40 48 00       	mov    $0x4840b0,%eax
4742b0:	e8 c7 39 fa ff       	call   0x417c7c
4742b5:	83 ec 5c             	sub    $0x5c,%esp
4742b8:	a1 40 8b 4a 00       	mov    0x4a8b40,%eax
4742bd:	53                   	push   %ebx
4742be:	56                   	push   %esi
4742bf:	57                   	push   %edi
4742c0:	89 45 f0             	mov    %eax,-0x10(%ebp)
4742c3:	8b f1                	mov    %ecx,%esi
4742c5:	ff 15 fc 70 4a 00    	call   *0x4a70fc
4742cb:	33 db                	xor    %ebx,%ebx
4742cd:	89 45 98             	mov    %eax,-0x68(%ebp)
4742d0:	89 5d a4             	mov    %ebx,-0x5c(%ebp)
4742d3:	8b 46 10             	mov    0x10(%esi),%eax
4742d6:	8b 08                	mov    (%eax),%ecx
4742d8:	53                   	push   %ebx
4742d9:	8d 55 a8             	lea    -0x58(%ebp),%edx
4742dc:	52                   	push   %edx
4742dd:	50                   	push   %eax
4742de:	89 5d fc             	mov    %ebx,-0x4(%ebp)
4742e1:	ff 51 30             	call   *0x30(%ecx)
4742e4:	85 c0                	test   %eax,%eax
4742e6:	74 0f                	je     0x4742f7
4742e8:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
4742eb:	e8 17 d0 f8 ff       	call   0x401307
4742f0:	33 c0                	xor    %eax,%eax
4742f2:	e9 d7 00 00 00       	jmp    0x4743ce
4742f7:	6a ff                	push   $0xffffffff
4742f9:	8d 45 b8             	lea    -0x48(%ebp),%eax
4742fc:	50                   	push   %eax
4742fd:	8d 4d 9c             	lea    -0x64(%ebp),%ecx
474300:	e8 50 25 f9 ff       	call   0x406855
474305:	8b 08                	mov    (%eax),%ecx
474307:	8b 75 08             	mov    0x8(%ebp),%esi
47430a:	89 4e 08             	mov    %ecx,0x8(%esi)
47430d:	8b 40 04             	mov    0x4(%eax),%eax
474310:	89 46 0c             	mov    %eax,0xc(%esi)
474313:	6a ff                	push   $0xffffffff
474315:	8d 45 c0             	lea    -0x40(%ebp),%eax
474318:	50                   	push   %eax
474319:	8d 4d 9c             	lea    -0x64(%ebp),%ecx
47431c:	e8 34 25 f9 ff       	call   0x406855
474321:	8b 08                	mov    (%eax),%ecx
474323:	89 0e                	mov    %ecx,(%esi)
474325:	8b 40 04             	mov    0x4(%eax),%eax
474328:	89 46 04             	mov    %eax,0x4(%esi)
47432b:	6a ff                	push   $0xffffffff
47432d:	8d 45 c8             	lea    -0x38(%ebp),%eax
474330:	50                   	push   %eax
474331:	8d 4d 9c             	lea    -0x64(%ebp),%ecx
474334:	e8 1c 25 f9 ff       	call   0x406855
474339:	8b 08                	mov    (%eax),%ecx
47433b:	89 4e 10             	mov    %ecx,0x10(%esi)
47433e:	8b 40 04             	mov    0x4(%eax),%eax
474341:	89 46 14             	mov    %eax,0x14(%esi)
474344:	8b 45 b0             	mov    -0x50(%ebp),%eax
474347:	89 46 18             	mov    %eax,0x18(%esi)
47434a:	8b 45 a8             	mov    -0x58(%ebp),%eax
47434d:	89 5e 1c             	mov    %ebx,0x1c(%esi)
474350:	88 5e 20             	mov    %bl,0x20(%esi)
474353:	83 c6 22             	add    $0x22,%esi
474356:	3b c3                	cmp    %ebx,%eax
474358:	88 1e                	mov    %bl,(%esi)
47435a:	74 67                	je     0x4743c3
47435c:	50                   	push   %eax
47435d:	89 45 a0             	mov    %eax,-0x60(%ebp)
474360:	ff 15 90 03 4b 00    	call   *0x4b0390
474366:	8d 7c 00 02          	lea    0x2(%eax,%eax,1),%edi
47436a:	81 ff 00 04 00 00    	cmp    $0x400,%edi
474370:	7f 1c                	jg     0x47438e
474372:	57                   	push   %edi
474373:	e8 89 d0 f8 ff       	call   0x401401
474378:	84 c0                	test   %al,%al
47437a:	59                   	pop    %ecx
47437b:	74 11                	je     0x47438e
47437d:	8b c7                	mov    %edi,%eax
47437f:	83 c0 03             	add    $0x3,%eax
474382:	83 e0 fc             	and    $0xfffffffc,%eax
474385:	e8 66 23 fa ff       	call   0x4166f0
47438a:	8b c4                	mov    %esp,%eax
47438c:	eb 09                	jmp    0x474397
47438e:	57                   	push   %edi
47438f:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
474392:	e8 b7 ce f8 ff       	call   0x40124e
474397:	ff 75 98             	push   -0x68(%ebp)
47439a:	57                   	push   %edi
47439b:	ff 75 a0             	push   -0x60(%ebp)
47439e:	50                   	push   %eax
47439f:	e8 4b 20 f9 ff       	call   0x4063ef
4743a4:	3b c3                	cmp    %ebx,%eax
4743a6:	75 05                	jne    0x4743ad
4743a8:	e8 6a 10 fc ff       	call   0x435417
4743ad:	68 04 01 00 00       	push   $0x104
4743b2:	50                   	push   %eax
4743b3:	56                   	push   %esi
4743b4:	ff 15 4c 03 4b 00    	call   *0x4b034c
4743ba:	ff 75 a8             	push   -0x58(%ebp)
4743bd:	ff 15 f0 0a 4b 00    	call   *0x4b0af0
4743c3:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
4743c6:	e8 3c cf f8 ff       	call   0x401307
4743cb:	33 c0                	xor    %eax,%eax
4743cd:	40                   	inc    %eax
4743ce:	8d 65 8c             	lea    -0x74(%ebp),%esp
4743d1:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4743d4:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4743db:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4743de:	e8 fb 37 fa ff       	call   0x417bde
4743e3:	5f                   	pop    %edi
4743e4:	5e                   	pop    %esi
4743e5:	5b                   	pop    %ebx
4743e6:	c9                   	leave
4743e7:	c2 04 00             	ret    $0x4
4743ea:	b8 c2 40 48 00       	mov    $0x4840c2,%eax
4743ef:	e8 88 38 fa ff       	call   0x417c7c
4743f4:	83 ec 0c             	sub    $0xc,%esp