478ec3:	8b 51 04             	mov    0x4(%ecx),%edx
478ec6:	b1 3f                	mov    $0x3f,%cl
478ec8:	e8 e0 97 f8 ff       	call   0x4026ad
478ecd:	83 e0 01             	and    $0x1,%eax
478ed0:	83 e2 00             	and    $0x0,%edx
478ed3:	89 45 f0             	mov    %eax,-0x10(%ebp)
478ed6:	89 55 f4             	mov    %edx,-0xc(%ebp)
478ed9:	83 7d f0 01          	cmpl   $0x1,-0x10(%ebp)
478edd:	75 0f                	jne    0x478eee
478edf:	83 7d f4 00          	cmpl   $0x0,-0xc(%ebp)
478ee3:	75 09                	jne    0x478eee
478ee5:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
478eec:	eb 07                	jmp    0x478ef5
478eee:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
478ef5:	8a 45 fc             	mov    -0x4(%ebp),%al
478ef8:	8b e5                	mov    %ebp,%esp
478efa:	5d                   	pop    %ebp
478efb:	c3                   	ret
478efc:	cc                   	int3
478efd:	cc                   	int3
478efe:	cc                   	int3
478eff:	cc                   	int3
478f00:	cc                   	int3
478f01:	cc                   	int3
478f02:	cc                   	int3
478f03:	cc                   	int3
478f04:	cc                   	int3
478f05:	cc                   	int3
478f06:	cc                   	int3
478f07:	cc                   	int3
478f08:	cc                   	int3
478f09:	cc                   	int3
478f0a:	cc                   	int3
478f0b:	cc                   	int3
478f0c:	cc                   	int3
478f0d:	cc                   	int3
478f0e:	cc                   	int3
478f0f:	cc                   	int3
478f10:	8b ff                	mov    %edi,%edi
478f12:	55                   	push   %ebp
478f13:	8b ec                	mov    %esp,%ebp
478f15:	6a ff                	push   $0xffffffff
478f17:	68 5b 4c 49 00       	push   $0x494c5b
478f1c:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
478f22:	50                   	push   %eax
478f23:	81 ec 90 00 00 00    	sub    $0x90,%esp
478f29:	a1 9c 90 4f 00       	mov    0x4f909c,%eax
478f2e:	33 c5                	xor    %ebp,%eax
478f30:	50                   	push   %eax
478f31:	8d 45 f4             	lea    -0xc(%ebp),%eax
478f34:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
478f3a:	83 7d 1c 00          	cmpl   $0x0,0x1c(%ebp)
478f3e:	7d 07                	jge    0x478f47
478f40:	c7 45 1c 00 00 00 00 	movl   $0x0,0x1c(%ebp)
478f47:	b8 01 00 00 00       	mov    $0x1,%eax
478f4c:	6b c8 00             	imul   $0x0,%eax,%ecx
478f4f:	8b 55 0c             	mov    0xc(%ebp),%edx
478f52:	c6 04 0a 00          	movb   $0x0,(%edx,%ecx,1)
478f56:	8b 45 28             	mov    0x28(%ebp),%eax
478f59:	50                   	push   %eax
478f5a:	8d 8d 64 ff ff ff    	lea    -0x9c(%ebp),%ecx
478f60:	e8 c1 8c f8 ff       	call   0x401c26
478f65:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
478f6c:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
478f6f:	83 c1 0b             	add    $0xb,%ecx
478f72:	39 4d 10             	cmp    %ecx,0x10(%ebp)
478f75:	76 09                	jbe    0x478f80
478f77:	c7 45 b0 01 00 00 00 	movl   $0x1,-0x50(%ebp)
478f7e:	eb 07                	jmp    0x478f87
478f80:	c7 45 b0 00 00 00 00 	movl   $0x0,-0x50(%ebp)
478f87:	8b 55 b0             	mov    -0x50(%ebp),%edx
478f8a:	89 55 ac             	mov    %edx,-0x54(%ebp)
478f8d:	83 7d ac 00          	cmpl   $0x0,-0x54(%ebp)
478f91:	75 26                	jne    0x478fb9
478f93:	68 18 03 4b 00       	push   $0x4b0318
478f98:	68 60 83 49 00       	push   $0x498360
478f9d:	6a 00                	push   $0x0
478f9f:	68 1e 01 00 00       	push   $0x11e
478fa4:	68 30 ff 4a 00       	push   $0x4aff30
478fa9:	6a 02                	push   $0x2
478fab:	e8 97 89 f8 ff       	call   0x401947
478fb0:	83 c4 18             	add    $0x18,%esp
478fb3:	83 f8 01             	cmp    $0x1,%eax
478fb6:	75 01                	jne    0x478fb9
478fb8:	cc                   	int3
478fb9:	83 7d ac 00          	cmpl   $0x0,-0x54(%ebp)
478fbd:	75 4a                	jne    0x479009
478fbf:	e8 c1 91 f8 ff       	call   0x402185
478fc4:	c7 00 22 00 00 00    	movl   $0x22,(%eax)
478fca:	6a 00                	push   $0x0
478fcc:	68 1e 01 00 00       	push   $0x11e
478fd1:	68 30 ff 4a 00       	push   $0x4aff30
478fd6:	68 b4 03 4b 00       	push   $0x4b03b4
478fdb:	68 18 03 4b 00       	push   $0x4b0318
478fe0:	e8 29 ae f8 ff       	call   0x403e0e
478fe5:	83 c4 14             	add    $0x14,%esp
478fe8:	c7 45 a8 22 00 00 00 	movl   $0x22,-0x58(%ebp)
478fef:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
478ff6:	8d 8d 64 ff ff ff    	lea    -0x9c(%ebp),%ecx
478ffc:	e8 64 a7 f8 ff       	call   0x403765
479001:	8b 45 a8             	mov    -0x58(%ebp),%eax
479004:	e9 bf 05 00 00       	jmp    0x4795c8
479009:	8b 4d 08             	mov    0x8(%ebp),%ecx
47900c:	89 4d d4             	mov    %ecx,-0x2c(%ebp)
47900f:	8b 55 d4             	mov    -0x2c(%ebp),%edx
479012:	8b 02                	mov    (%edx),%eax
479014:	8b 52 04             	mov    0x4(%edx),%edx
479017:	b1 34                	mov    $0x34,%cl
479019:	e8 8f 96 f8 ff       	call   0x4026ad
47901e:	25 ff 07 00 00       	and    $0x7ff,%eax
479023:	83 e2 00             	and    $0x0,%edx
479026:	89 85 74 ff ff ff    	mov    %eax,-0x8c(%ebp)
47902c:	89 95 78 ff ff ff    	mov    %edx,-0x88(%ebp)
479032:	81 bd 74 ff ff ff ff 	cmpl   $0x7ff,-0x8c(%ebp)
479039:	07 00 00
47903c:	0f 85 cd 00 00 00    	jne    0x47910f
479042:	83 bd 78 ff ff ff 00 	cmpl   $0x0,-0x88(%ebp)
479049:	0f 85 c0 00 00 00    	jne    0x47910f
47904f:	6a 00                	push   $0x0
479051:	8b 45 24             	mov    0x24(%ebp),%eax
479054:	50                   	push   %eax
479055:	6a 00                	push   $0x0
479057:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
47905a:	51                   	push   %ecx
47905b:	8b 55 18             	mov    0x18(%ebp),%edx
47905e:	52                   	push   %edx
47905f:	8b 45 14             	mov    0x14(%ebp),%eax
479062:	50                   	push   %eax
479063:	8b 4d 10             	mov    0x10(%ebp),%ecx
479066:	51                   	push   %ecx
479067:	8b 55 0c             	mov    0xc(%ebp),%edx
47906a:	52                   	push   %edx
47906b:	8b 45 08             	mov    0x8(%ebp),%eax
47906e:	50                   	push   %eax
47906f:	e8 1c 07 00 00       	call   0x479790
479074:	83 c4 24             	add    $0x24,%esp
479077:	89 45 bc             	mov    %eax,-0x44(%ebp)
47907a:	83 7d bc 00          	cmpl   $0x0,-0x44(%ebp)
47907e:	74 2f                	je     0x4790af
479080:	b9 01 00 00 00       	mov    $0x1,%ecx
479085:	6b d1 00             	imul   $0x0,%ecx,%edx
479088:	8b 45 0c             	mov    0xc(%ebp),%eax
47908b:	c6 04 10 00          	movb   $0x0,(%eax,%edx,1)
47908f:	8b 4d bc             	mov    -0x44(%ebp),%ecx
479092:	89 4d 90             	mov    %ecx,-0x70(%ebp)
479095:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
47909c:	8d 8d 64 ff ff ff    	lea    -0x9c(%ebp),%ecx
4790a2:	e8 be a6 f8 ff       	call   0x403765
4790a7:	8b 45 90             	mov    -0x70(%ebp),%eax
4790aa:	e9 19 05 00 00       	jmp    0x4795c8
4790af:	6a 65                	push   $0x65
4790b1:	8b 55 0c             	mov    0xc(%ebp),%edx
4790b4:	52                   	push   %edx
4790b5:	e8 52 a5 f8 ff       	call   0x40360c
4790ba:	83 c4 08             	add    $0x8,%esp
4790bd:	89 45 c8             	mov    %eax,-0x38(%ebp)
4790c0:	83 7d c8 00          	cmpl   $0x0,-0x38(%ebp)
4790c4:	74 29                	je     0x4790ef
4790c6:	0f b6 45 20          	movzbl 0x20(%ebp),%eax
4790ca:	85 c0                	test   %eax,%eax
4790cc:	74 06                	je     0x4790d4
4790ce:	c6 45 dd 50          	movb   $0x50,-0x23(%ebp)
4790d2:	eb 04                	jmp    0x4790d8
4790d4:	c6 45 dd 70          	movb   $0x70,-0x23(%ebp)
4790d8:	8b 4d c8             	mov    -0x38(%ebp),%ecx
4790db:	8a 55 dd             	mov    -0x23(%ebp),%dl
4790de:	88 11                	mov    %dl,(%ecx)
4790e0:	8b 45 c8             	mov    -0x38(%ebp),%eax
4790e3:	83 c0 03             	add    $0x3,%eax
4790e6:	89 45 c8             	mov    %eax,-0x38(%ebp)
4790e9:	8b 4d c8             	mov    -0x38(%ebp),%ecx
4790ec:	c6 01 00             	movb   $0x0,(%ecx)
4790ef:	8b 55 bc             	mov    -0x44(%ebp),%edx
4790f2:	89 55 9c             	mov    %edx,-0x64(%ebp)
4790f5:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
4790fc:	8d 8d 64 ff ff ff    	lea    -0x9c(%ebp),%ecx
479102:	e8 5e a6 f8 ff       	call   0x403765
479107:	8b 45 9c             	mov    -0x64(%ebp),%eax
47910a:	e9 b9 04 00 00       	jmp    0x4795c8
47910f:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
479112:	8b 01                	mov    (%ecx),%eax
479114:	8b 51 04             	mov    0x4(%ecx),%edx
479117:	b1 3f                	mov    $0x3f,%cl
479119:	e8 8f 95 f8 ff       	call   0x4026ad
47911e:	83 e0 01             	and    $0x1,%eax
479121:	83 e2 00             	and    $0x0,%edx
479124:	89 45 a0             	mov    %eax,-0x60(%ebp)
479127:	89 55 a4             	mov    %edx,-0x5c(%ebp)
47912a:	8b 55 a0             	mov    -0x60(%ebp),%edx
47912d:	0b 55 a4             	or     -0x5c(%ebp),%edx
479130:	74 0f                	je     0x479141
479132:	8b 45 0c             	mov    0xc(%ebp),%eax
479135:	c6 00 2d             	movb   $0x2d,(%eax)
479138:	8b 4d 0c             	mov    0xc(%ebp),%ecx
47913b:	83 c1 01             	add    $0x1,%ecx
47913e:	89 4d 0c             	mov    %ecx,0xc(%ebp)
479141:	0f b6 55 20          	movzbl 0x20(%ebp),%edx
479145:	85 d2                	test   %edx,%edx
479147:	74 06                	je     0x47914f
479149:	c6 45 df 41          	movb   $0x41,-0x21(%ebp)
47914d:	eb 04                	jmp    0x479153
47914f:	c6 45 df 61          	movb   $0x61,-0x21(%ebp)
479153:	0f be 45 df          	movsbl -0x21(%ebp),%eax
479157:	83 e8 3a             	sub    $0x3a,%eax
47915a:	89 45 b4             	mov    %eax,-0x4c(%ebp)
47915d:	c7 45 c0 ff 03 00 00 	movl   $0x3ff,-0x40(%ebp)
479164:	c7 45 c4 00 00 00 00 	movl   $0x0,-0x3c(%ebp)
47916b:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
47916e:	8b 01                	mov    (%ecx),%eax
479170:	8b 51 04             	mov    0x4(%ecx),%edx
479173:	b1 34                	mov    $0x34,%cl
479175:	e8 33 95 f8 ff       	call   0x4026ad
47917a:	25 ff 07 00 00       	and    $0x7ff,%eax
47917f:	83 e2 00             	and    $0x0,%edx
479182:	89 45 94             	mov    %eax,-0x6c(%ebp)
479185:	89 55 98             	mov    %edx,-0x68(%ebp)
479188:	8b 55 94             	mov    -0x6c(%ebp),%edx
47918b:	0b 55 98             	or     -0x68(%ebp),%edx
47918e:	75 4f                	jne    0x4791df
479190:	8b 45 0c             	mov    0xc(%ebp),%eax
479193:	c6 00 30             	movb   $0x30,(%eax)
479196:	8b 4d 0c             	mov    0xc(%ebp),%ecx
479199:	83 c1 01             	add    $0x1,%ecx
47919c:	89 4d 0c             	mov    %ecx,0xc(%ebp)
47919f:	8b 55 d4             	mov    -0x2c(%ebp),%edx
4791a2:	8b 02                	mov    (%edx),%eax
4791a4:	8b 4a 04             	mov    0x4(%edx),%ecx
4791a7:	81 e1 ff ff 0f 00    	and    $0xfffff,%ecx
4791ad:	89 45 88             	mov    %eax,-0x78(%ebp)
4791b0:	89 4d 8c             	mov    %ecx,-0x74(%ebp)
4791b3:	8b 55 88             	mov    -0x78(%ebp),%edx
4791b6:	0b 55 8c             	or     -0x74(%ebp),%edx
4791b9:	75 10                	jne    0x4791cb
4791bb:	c7 45 c0 00 00 00 00 	movl   $0x0,-0x40(%ebp)
4791c2:	c7 45 c4 00 00 00 00 	movl   $0x0,-0x3c(%ebp)
4791c9:	eb 12                	jmp    0x4791dd
4791cb:	8b 45 c0             	mov    -0x40(%ebp),%eax
4791ce:	83 e8 01             	sub    $0x1,%eax
4791d1:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
4791d4:	83 d9 00             	sbb    $0x0,%ecx
4791d7:	89 45 c0             	mov    %eax,-0x40(%ebp)
4791da:	89 4d c4             	mov    %ecx,-0x3c(%ebp)
4791dd:	eb 0f                	jmp    0x4791ee
4791df:	8b 55 0c             	mov    0xc(%ebp),%edx
4791e2:	c6 02 31             	movb   $0x31,(%edx)
4791e5:	8b 45 0c             	mov    0xc(%ebp),%eax
4791e8:	83 c0 01             	add    $0x1,%eax
4791eb:	89 45 0c             	mov    %eax,0xc(%ebp)
4791ee:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4791f1:	89 4d d8             	mov    %ecx,-0x28(%ebp)
4791f4:	8b 55 0c             	mov    0xc(%ebp),%edx
4791f7:	83 c2 01             	add    $0x1,%edx
4791fa:	89 55 0c             	mov    %edx,0xc(%ebp)
4791fd:	83 7d 1c 00          	cmpl   $0x0,0x1c(%ebp)
479201:	75 08                	jne    0x47920b
479203:	8b 45 d8             	mov    -0x28(%ebp),%eax
479206:	c6 00 00             	movb   $0x0,(%eax)
479209:	eb 1c                	jmp    0x479227
47920b:	8d 8d 64 ff ff ff    	lea    -0x9c(%ebp),%ecx
479211:	e8 cc 87 f8 ff       	call   0x4019e2
479216:	8b 08                	mov    (%eax),%ecx
479218:	8b 91 88 00 00 00    	mov    0x88(%ecx),%edx
47921e:	8b 02                	mov    (%edx),%eax
479220:	8b 4d d8             	mov    -0x28(%ebp),%ecx
479223:	8a 10                	mov    (%eax),%dl
479225:	88 11                	mov    %dl,(%ecx)
479227:	8b 45 d4             	mov    -0x2c(%ebp),%eax
47922a:	8b 08                	mov    (%eax),%ecx
47922c:	8b 50 04             	mov    0x4(%eax),%edx
47922f:	81 e2 ff ff 0f 00    	and    $0xfffff,%edx
479235:	89 8d 7c ff ff ff    	mov    %ecx,-0x84(%ebp)
47923b:	89 55 80             	mov    %edx,-0x80(%ebp)
47923e:	83 7d 80 00          	cmpl   $0x0,-0x80(%ebp)
479242:	77 0d                	ja     0x479251
479244:	83 bd 7c ff ff ff 00 	cmpl   $0x0,-0x84(%ebp)
47924b:	0f 86 84 01 00 00    	jbe    0x4793d5
479251:	b8 30 00 00 00       	mov    $0x30,%eax
479256:	66 89 45 e4          	mov    %ax,-0x1c(%ebp)
47925a:	c7 45 cc 0f 00 00 00 	movl   $0xf,-0x34(%ebp)
479261:	c7 45 d0 00 00 00 00 	movl   $0x0,-0x30(%ebp)
479268:	0f bf 4d e4          	movswl -0x1c(%ebp),%ecx
47926c:	8b 45 cc             	mov    -0x34(%ebp),%eax
47926f:	8b 55 d0             	mov    -0x30(%ebp),%edx
479272:	e8 96 89 f8 ff       	call   0x401c0d
479277:	89 45 cc             	mov    %eax,-0x34(%ebp)
47927a:	89 55 d0             	mov    %edx,-0x30(%ebp)
47927d:	0f bf 4d e4          	movswl -0x1c(%ebp),%ecx
479281:	85 c9                	test   %ecx,%ecx
479283:	0f 8c 8a 00 00 00    	jl     0x479313
479289:	83 7d 1c 00          	cmpl   $0x0,0x1c(%ebp)
47928d:	0f 8e 80 00 00 00    	jle    0x479313
479293:	8b 55 d4             	mov    -0x2c(%ebp),%edx
479296:	8b 02                	mov    (%edx),%eax
479298:	8b 52 04             	mov    0x4(%edx),%edx
47929b:	81 e2 ff ff 0f 00    	and    $0xfffff,%edx
4792a1:	23 45 cc             	and    -0x34(%ebp),%eax
4792a4:	23 55 d0             	and    -0x30(%ebp),%edx
4792a7:	0f bf 4d e4          	movswl -0x1c(%ebp),%ecx
4792ab:	e8 fd 93 f8 ff       	call   0x4026ad
4792b0:	66 89 45 e0          	mov    %ax,-0x20(%ebp)
4792b4:	0f b7 45 e0          	movzwl -0x20(%ebp),%eax
4792b8:	83 c0 30             	add    $0x30,%eax
4792bb:	66 89 45 e0          	mov    %ax,-0x20(%ebp)
4792bf:	0f b7 4d e0          	movzwl -0x20(%ebp),%ecx
4792c3:	83 f9 39             	cmp    $0x39,%ecx
4792c6:	7e 0e                	jle    0x4792d6
4792c8:	0f b7 55 b4          	movzwl -0x4c(%ebp),%edx
4792cc:	0f b7 45 e0          	movzwl -0x20(%ebp),%eax
4792d0:	03 c2                	add    %edx,%eax
4792d2:	66 89 45 e0          	mov    %ax,-0x20(%ebp)
4792d6:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4792d9:	8a 55 e0             	mov    -0x20(%ebp),%dl
4792dc:	88 11                	mov    %dl,(%ecx)
4792de:	8b 45 0c             	mov    0xc(%ebp),%eax
4792e1:	83 c0 01             	add    $0x1,%eax
4792e4:	89 45 0c             	mov    %eax,0xc(%ebp)
4792e7:	8b 45 cc             	mov    -0x34(%ebp),%eax
4792ea:	8b 55 d0             	mov    -0x30(%ebp),%edx
4792ed:	b1 04                	mov    $0x4,%cl
4792ef:	e8 b9 93 f8 ff       	call   0x4026ad
4792f4:	89 45 cc             	mov    %eax,-0x34(%ebp)
4792f7:	89 55 d0             	mov    %edx,-0x30(%ebp)
4792fa:	0f bf 4d e4          	movswl -0x1c(%ebp),%ecx
4792fe:	83 e9 04             	sub    $0x4,%ecx
479301:	66 89 4d e4          	mov    %cx,-0x1c(%ebp)
479305:	8b 55 1c             	mov    0x1c(%ebp),%edx
479308:	83 ea 01             	sub    $0x1,%edx
47930b:	89 55 1c             	mov    %edx,0x1c(%ebp)
47930e:	e9 6a ff ff ff       	jmp    0x47927d
479313:	0f bf 45 e4          	movswl -0x1c(%ebp),%eax
479317:	85 c0                	test   %eax,%eax
479319:	0f 8c b6 00 00 00    	jl     0x4793d5
47931f:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
479322:	8b 01                	mov    (%ecx),%eax
479324:	8b 51 04             	mov    0x4(%ecx),%edx
479327:	81 e2 ff ff 0f 00    	and    $0xfffff,%edx
47932d:	23 45 cc             	and    -0x34(%ebp),%eax
479330:	23 55 d0             	and    -0x30(%ebp),%edx
479333:	0f bf 4d e4          	movswl -0x1c(%ebp),%ecx
479337:	e8 71 93 f8 ff       	call   0x4026ad
47933c:	66 89 45 b8          	mov    %ax,-0x48(%ebp)
479340:	0f b7 55 b8          	movzwl -0x48(%ebp),%edx
479344:	83 fa 08             	cmp    $0x8,%edx
479347:	0f 8e 88 00 00 00    	jle    0x4793d5
47934d:	8b 45 0c             	mov    0xc(%ebp),%eax
479350:	89 45 f0             	mov    %eax,-0x10(%ebp)
479353:	8b 4d f0             	mov    -0x10(%ebp),%ecx
479356:	83 e9 01             	sub    $0x1,%ecx
479359:	89 4d f0             	mov    %ecx,-0x10(%ebp)
47935c:	8b 55 f0             	mov    -0x10(%ebp),%edx