414e2f:	c6 06 30             	movb   $0x30,(%esi)
414e32:	4e                   	dec    %esi
414e33:	8a 06                	mov    (%esi),%al
414e35:	3c 39                	cmp    $0x39,%al
414e37:	74 f6                	je     0x414e2f
414e39:	fe c0                	inc    %al
414e3b:	88 06                	mov    %al,(%esi)
414e3d:	80 3f 31             	cmpb   $0x31,(%edi)
414e40:	75 05                	jne    0x414e47
414e42:	ff 43 04             	incl   0x4(%ebx)
414e45:	eb 1f                	jmp    0x414e66
414e47:	8d 77 01             	lea    0x1(%edi),%esi
414e4a:	8b ce                	mov    %esi,%ecx
414e4c:	8d 51 01             	lea    0x1(%ecx),%edx
414e4f:	8a 01                	mov    (%ecx),%al
414e51:	41                   	inc    %ecx
414e52:	84 c0                	test   %al,%al
414e54:	75 f9                	jne    0x414e4f
414e56:	2b ca                	sub    %edx,%ecx
414e58:	8d 41 01             	lea    0x1(%ecx),%eax
414e5b:	50                   	push   %eax
414e5c:	56                   	push   %esi
414e5d:	57                   	push   %edi
414e5e:	e8 6d 4d ff ff       	call   0x409bd0
414e63:	83 c4 0c             	add    $0xc,%esp
414e66:	33 c0                	xor    %eax,%eax
414e68:	5b                   	pop    %ebx
414e69:	5f                   	pop    %edi
414e6a:	5e                   	pop    %esi
414e6b:	5d                   	pop    %ebp
414e6c:	c3                   	ret
414e6d:	cc                   	int3
414e6e:	cc                   	int3
414e6f:	cc                   	int3
414e70:	8b ff                	mov    %edi,%edi
414e72:	55                   	push   %ebp
414e73:	8b ec                	mov    %esp,%ebp
414e75:	81 ec 1c 02 00 00    	sub    $0x21c,%esp
414e7b:	53                   	push   %ebx
414e7c:	8b 5d 08             	mov    0x8(%ebp),%ebx
414e7f:	56                   	push   %esi
414e80:	57                   	push   %edi
414e81:	8b 33                	mov    (%ebx),%esi
414e83:	85 f6                	test   %esi,%esi
414e85:	0f 84 72 04 00 00    	je     0x4152fd
414e8b:	8b 55 0c             	mov    0xc(%ebp),%edx
414e8e:	8b 02                	mov    (%edx),%eax
414e90:	89 45 cc             	mov    %eax,-0x34(%ebp)
414e93:	85 c0                	test   %eax,%eax
414e95:	0f 84 62 04 00 00    	je     0x4152fd
414e9b:	8d 78 ff             	lea    -0x1(%eax),%edi
414e9e:	8d 4e ff             	lea    -0x1(%esi),%ecx
414ea1:	89 4d f8             	mov    %ecx,-0x8(%ebp)
414ea4:	85 ff                	test   %edi,%edi
414ea6:	0f 85 2b 01 00 00    	jne    0x414fd7
414eac:	8b 52 04             	mov    0x4(%edx),%edx
414eaf:	89 55 f8             	mov    %edx,-0x8(%ebp)
414eb2:	83 fa 01             	cmp    $0x1,%edx
414eb5:	75 2f                	jne    0x414ee6
414eb7:	8b 73 04             	mov    0x4(%ebx),%esi
414eba:	8d 85 e8 fd ff ff    	lea    -0x218(%ebp),%eax
414ec0:	57                   	push   %edi
414ec1:	50                   	push   %eax
414ec2:	8d 4b 04             	lea    0x4(%ebx),%ecx
414ec5:	89 bd e4 fd ff ff    	mov    %edi,-0x21c(%ebp)
414ecb:	68 cc 01 00 00       	push   $0x1cc
414ed0:	51                   	push   %ecx
414ed1:	89 3b                	mov    %edi,(%ebx)
414ed3:	e8 e6 af ff ff       	call   0x40febe
414ed8:	83 c4 10             	add    $0x10,%esp
414edb:	8b c6                	mov    %esi,%eax
414edd:	33 d2                	xor    %edx,%edx
414edf:	5f                   	pop    %edi
414ee0:	5e                   	pop    %esi
414ee1:	5b                   	pop    %ebx
414ee2:	8b e5                	mov    %ebp,%esp
414ee4:	5d                   	pop    %ebp
414ee5:	c3                   	ret
414ee6:	85 c9                	test   %ecx,%ecx
414ee8:	75 40                	jne    0x414f2a
414eea:	8b 73 04             	mov    0x4(%ebx),%esi
414eed:	8d 85 e8 fd ff ff    	lea    -0x218(%ebp),%eax
414ef3:	51                   	push   %ecx
414ef4:	50                   	push   %eax
414ef5:	8d 7b 04             	lea    0x4(%ebx),%edi
414ef8:	89 8d e4 fd ff ff    	mov    %ecx,-0x21c(%ebp)
414efe:	68 cc 01 00 00       	push   $0x1cc
414f03:	57                   	push   %edi
414f04:	89 0b                	mov    %ecx,(%ebx)
414f06:	e8 b3 af ff ff       	call   0x40febe
414f0b:	33 d2                	xor    %edx,%edx
414f0d:	8b c6                	mov    %esi,%eax
414f0f:	f7 75 f8             	divl   -0x8(%ebp)
414f12:	83 c4 10             	add    $0x10,%esp
414f15:	33 c9                	xor    %ecx,%ecx
414f17:	3b ca                	cmp    %edx,%ecx
414f19:	89 17                	mov    %edx,(%edi)
414f1b:	1b c9                	sbb    %ecx,%ecx
414f1d:	5f                   	pop    %edi
414f1e:	f7 d9                	neg    %ecx
414f20:	33 d2                	xor    %edx,%edx
414f22:	5e                   	pop    %esi
414f23:	89 0b                	mov    %ecx,(%ebx)
414f25:	5b                   	pop    %ebx
414f26:	8b e5                	mov    %ebp,%esp
414f28:	5d                   	pop    %ebp
414f29:	c3                   	ret
414f2a:	33 ff                	xor    %edi,%edi
414f2c:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
414f33:	c7 45 dc 00 00 00 00 	movl   $0x0,-0x24(%ebp)
414f3a:	89 7d e8             	mov    %edi,-0x18(%ebp)
414f3d:	83 f9 ff             	cmp    $0xffffffff,%ecx
414f40:	74 4b                	je     0x414f8d
414f42:	41                   	inc    %ecx
414f43:	8d 0c 8b             	lea    (%ebx,%ecx,4),%ecx
414f46:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
414f49:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
414f50:	53                   	push   %ebx
414f51:	6a 00                	push   $0x0
414f53:	52                   	push   %edx
414f54:	33 c0                	xor    %eax,%eax
414f56:	0b 01                	or     (%ecx),%eax
414f58:	57                   	push   %edi
414f59:	50                   	push   %eax
414f5a:	e8 a1 42 00 00       	call   0x419200
414f5f:	89 5d e8             	mov    %ebx,-0x18(%ebp)
414f62:	5b                   	pop    %ebx
414f63:	90                   	nop
414f64:	89 55 c0             	mov    %edx,-0x40(%ebp)
414f67:	8b f9                	mov    %ecx,%edi
414f69:	8b 4d f4             	mov    -0xc(%ebp),%ecx
414f6c:	33 d2                	xor    %edx,%edx
414f6e:	03 d0                	add    %eax,%edx
414f70:	89 55 f4             	mov    %edx,-0xc(%ebp)
414f73:	8b 55 f8             	mov    -0x8(%ebp),%edx
414f76:	83 d1 00             	adc    $0x0,%ecx
414f79:	89 4d dc             	mov    %ecx,-0x24(%ebp)
414f7c:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
414f7f:	83 e9 04             	sub    $0x4,%ecx
414f82:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
414f85:	83 ee 01             	sub    $0x1,%esi
414f88:	75 c6                	jne    0x414f50
414f8a:	8b 5d 08             	mov    0x8(%ebp),%ebx
414f8d:	6a 00                	push   $0x0
414f8f:	8d 85 e8 fd ff ff    	lea    -0x218(%ebp),%eax
414f95:	c7 85 e4 fd ff ff 00 	movl   $0x0,-0x21c(%ebp)
414f9c:	00 00 00
414f9f:	50                   	push   %eax
414fa0:	8d 73 04             	lea    0x4(%ebx),%esi
414fa3:	c7 03 00 00 00 00    	movl   $0x0,(%ebx)
414fa9:	68 cc 01 00 00       	push   $0x1cc
414fae:	56                   	push   %esi
414faf:	e8 0a af ff ff       	call   0x40febe
414fb4:	8b 45 e8             	mov    -0x18(%ebp),%eax
414fb7:	83 c4 10             	add    $0x10,%esp
414fba:	8b 55 dc             	mov    -0x24(%ebp),%edx
414fbd:	33 c9                	xor    %ecx,%ecx
414fbf:	3b c8                	cmp    %eax,%ecx
414fc1:	89 3e                	mov    %edi,(%esi)
414fc3:	89 43 08             	mov    %eax,0x8(%ebx)
414fc6:	8b 45 f4             	mov    -0xc(%ebp),%eax
414fc9:	1b c9                	sbb    %ecx,%ecx
414fcb:	f7 d9                	neg    %ecx
414fcd:	5f                   	pop    %edi
414fce:	41                   	inc    %ecx
414fcf:	5e                   	pop    %esi
414fd0:	89 0b                	mov    %ecx,(%ebx)
414fd2:	5b                   	pop    %ebx
414fd3:	8b e5                	mov    %ebp,%esp
414fd5:	5d                   	pop    %ebp
414fd6:	c3                   	ret
414fd7:	3b f9                	cmp    %ecx,%edi
414fd9:	0f 87 1e 03 00 00    	ja     0x4152fd
414fdf:	8b d1                	mov    %ecx,%edx
414fe1:	8b c1                	mov    %ecx,%eax
414fe3:	2b d7                	sub    %edi,%edx
414fe5:	3b ca                	cmp    %edx,%ecx
414fe7:	7c 22                	jl     0x41500b
414fe9:	8b 75 0c             	mov    0xc(%ebp),%esi
414fec:	41                   	inc    %ecx
414fed:	8d 34 be             	lea    (%esi,%edi,4),%esi
414ff0:	8d 0c 8b             	lea    (%ebx,%ecx,4),%ecx
414ff3:	83 c6 04             	add    $0x4,%esi
414ff6:	8b 3e                	mov    (%esi),%edi
414ff8:	3b 39                	cmp    (%ecx),%edi
414ffa:	75 0d                	jne    0x415009
414ffc:	48                   	dec    %eax
414ffd:	83 ee 04             	sub    $0x4,%esi
415000:	83 e9 04             	sub    $0x4,%ecx
415003:	3b c2                	cmp    %edx,%eax
415005:	7d ef                	jge    0x414ff6
415007:	eb 02                	jmp    0x41500b
415009:	73 01                	jae    0x41500c
41500b:	42                   	inc    %edx
41500c:	85 d2                	test   %edx,%edx
41500e:	0f 84 e9 02 00 00    	je     0x4152fd
415014:	8b 45 0c             	mov    0xc(%ebp),%eax
415017:	8b 5d cc             	mov    -0x34(%ebp),%ebx
41501a:	8b 34 98             	mov    (%eax,%ebx,4),%esi
41501d:	8b 4c 98 fc          	mov    -0x4(%eax,%ebx,4),%ecx
415021:	0f bd c6             	bsr    %esi,%eax
415024:	89 75 d0             	mov    %esi,-0x30(%ebp)
415027:	89 4d e0             	mov    %ecx,-0x20(%ebp)
41502a:	74 09                	je     0x415035
41502c:	bf 1f 00 00 00       	mov    $0x1f,%edi
415031:	2b f8                	sub    %eax,%edi
415033:	eb 05                	jmp    0x41503a
415035:	bf 20 00 00 00       	mov    $0x20,%edi
41503a:	b8 20 00 00 00       	mov    $0x20,%eax
41503f:	89 7d f4             	mov    %edi,-0xc(%ebp)
415042:	2b c7                	sub    %edi,%eax
415044:	89 45 d4             	mov    %eax,-0x2c(%ebp)
415047:	85 ff                	test   %edi,%edi
415049:	74 27                	je     0x415072
41504b:	8b c1                	mov    %ecx,%eax
41504d:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
415050:	d3 e8                	shr    %cl,%eax
415052:	8b cf                	mov    %edi,%ecx
415054:	d3 65 e0             	shll   %cl,-0x20(%ebp)
415057:	d3 e6                	shl    %cl,%esi
415059:	0b f0                	or     %eax,%esi
41505b:	89 75 d0             	mov    %esi,-0x30(%ebp)
41505e:	83 fb 02             	cmp    $0x2,%ebx
415061:	76 0f                	jbe    0x415072
415063:	8b 75 0c             	mov    0xc(%ebp),%esi
415066:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
415069:	8b 44 9e f8          	mov    -0x8(%esi,%ebx,4),%eax
41506d:	d3 e8                	shr    %cl,%eax
41506f:	09 45 e0             	or     %eax,-0x20(%ebp)
415072:	33 f6                	xor    %esi,%esi
415074:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
41507b:	83 c2 ff             	add    $0xffffffff,%edx
41507e:	89 55 e8             	mov    %edx,-0x18(%ebp)
415081:	0f 88 2e 02 00 00    	js     0x4152b5
415087:	8d 04 1a             	lea    (%edx,%ebx,1),%eax
41508a:	8b 5d 08             	mov    0x8(%ebp),%ebx
41508d:	89 45 c8             	mov    %eax,-0x38(%ebp)
415090:	8d 4b 04             	lea    0x4(%ebx),%ecx
415093:	8d 0c 91             	lea    (%ecx,%edx,4),%ecx
415096:	89 4d c4             	mov    %ecx,-0x3c(%ebp)
415099:	8d 4b fc             	lea    -0x4(%ebx),%ecx
41509c:	8d 0c 81             	lea    (%ecx,%eax,4),%ecx
41509f:	89 4d b4             	mov    %ecx,-0x4c(%ebp)
4150a2:	3b 45 f8             	cmp    -0x8(%ebp),%eax
4150a5:	77 05                	ja     0x4150ac
4150a7:	8b 41 08             	mov    0x8(%ecx),%eax
4150aa:	eb 02                	jmp    0x4150ae
4150ac:	33 c0                	xor    %eax,%eax
4150ae:	8b 51 04             	mov    0x4(%ecx),%edx
4150b1:	8b 09                	mov    (%ecx),%ecx
4150b3:	89 45 b8             	mov    %eax,-0x48(%ebp)
4150b6:	c7 45 dc 00 00 00 00 	movl   $0x0,-0x24(%ebp)
4150bd:	89 45 fc             	mov    %eax,-0x4(%ebp)
4150c0:	89 4d ec             	mov    %ecx,-0x14(%ebp)
4150c3:	85 ff                	test   %edi,%edi
4150c5:	74 49                	je     0x415110
4150c7:	8b f9                	mov    %ecx,%edi
4150c9:	8b c2                	mov    %edx,%eax
4150cb:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
4150ce:	33 f6                	xor    %esi,%esi
4150d0:	8b 55 fc             	mov    -0x4(%ebp),%edx
4150d3:	d3 ef                	shr    %cl,%edi
4150d5:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4150d8:	e8 13 43 00 00       	call   0x4193f0
4150dd:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4150e0:	0b f2                	or     %edx,%esi
4150e2:	0b f8                	or     %eax,%edi
4150e4:	8b c6                	mov    %esi,%eax
4150e6:	8b 75 ec             	mov    -0x14(%ebp),%esi
4150e9:	8b d7                	mov    %edi,%edx
4150eb:	d3 e6                	shl    %cl,%esi
4150ed:	83 7d c8 03          	cmpl   $0x3,-0x38(%ebp)
4150f1:	89 45 fc             	mov    %eax,-0x4(%ebp)
4150f4:	89 75 ec             	mov    %esi,-0x14(%ebp)
4150f7:	72 17                	jb     0x415110
4150f9:	8b 45 cc             	mov    -0x34(%ebp),%eax
4150fc:	03 45 e8             	add    -0x18(%ebp),%eax
4150ff:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
415102:	8b 44 83 f8          	mov    -0x8(%ebx,%eax,4),%eax
415106:	d3 e8                	shr    %cl,%eax
415108:	0b f0                	or     %eax,%esi
41510a:	8b 45 fc             	mov    -0x4(%ebp),%eax
41510d:	89 75 ec             	mov    %esi,-0x14(%ebp)
415110:	53                   	push   %ebx
415111:	6a 00                	push   $0x0
415113:	ff 75 d0             	push   -0x30(%ebp)
415116:	50                   	push   %eax
415117:	52                   	push   %edx
415118:	e8 e3 40 00 00       	call   0x419200
41511d:	89 5d dc             	mov    %ebx,-0x24(%ebp)
415120:	5b                   	pop    %ebx
415121:	90                   	nop
415122:	8b d8                	mov    %eax,%ebx
415124:	33 f6                	xor    %esi,%esi
415126:	8b c2                	mov    %edx,%eax
415128:	89 5d fc             	mov    %ebx,-0x4(%ebp)
41512b:	89 45 f0             	mov    %eax,-0x10(%ebp)
41512e:	8b f9                	mov    %ecx,%edi
415130:	89 5d bc             	mov    %ebx,-0x44(%ebp)
415133:	89 45 c0             	mov    %eax,-0x40(%ebp)
415136:	89 75 dc             	mov    %esi,-0x24(%ebp)
415139:	85 c0                	test   %eax,%eax
41513b:	75 05                	jne    0x415142
41513d:	83 fb ff             	cmp    $0xffffffff,%ebx
415140:	76 2a                	jbe    0x41516c
415142:	6a 00                	push   $0x0
415144:	ff 75 d0             	push   -0x30(%ebp)
415147:	83 c3 01             	add    $0x1,%ebx
41514a:	83 d0 ff             	adc    $0xffffffff,%eax
41514d:	50                   	push   %eax
41514e:	53                   	push   %ebx
41514f:	e8 4c 41 00 00       	call   0x4192a0
415154:	03 f8                	add    %eax,%edi
415156:	13 f2                	adc    %edx,%esi
415158:	83 cb ff             	or     $0xffffffff,%ebx
41515b:	33 c0                	xor    %eax,%eax
41515d:	89 75 dc             	mov    %esi,-0x24(%ebp)
415160:	89 5d fc             	mov    %ebx,-0x4(%ebp)
415163:	89 5d bc             	mov    %ebx,-0x44(%ebp)
415166:	89 45 f0             	mov    %eax,-0x10(%ebp)
415169:	89 45 c0             	mov    %eax,-0x40(%ebp)
41516c:	85 f6                	test   %esi,%esi
41516e:	77 50                	ja     0x4151c0
415170:	72 05                	jb     0x415177
415172:	83 ff ff             	cmp    $0xffffffff,%edi
415175:	77 49                	ja     0x4151c0
415177:	50                   	push   %eax
415178:	53                   	push   %ebx
415179:	33 c9                	xor    %ecx,%ecx
41517b:	8b f7                	mov    %edi,%esi
41517d:	0b 4d ec             	or     -0x14(%ebp),%ecx
415180:	6a 00                	push   $0x0
415182:	ff 75 e0             	push   -0x20(%ebp)
415185:	89 4d fc             	mov    %ecx,-0x4(%ebp)
415188:	e8 13 41 00 00       	call   0x4192a0
41518d:	3b d6                	cmp    %esi,%edx
41518f:	72 29                	jb     0x4151ba
415191:	77 05                	ja     0x415198
415193:	3b 45 fc             	cmp    -0x4(%ebp),%eax
415196:	76 22                	jbe    0x4151ba
415198:	8b 45 f0             	mov    -0x10(%ebp),%eax
41519b:	83 c3 ff             	add    $0xffffffff,%ebx
41519e:	89 5d bc             	mov    %ebx,-0x44(%ebp)
4151a1:	83 d0 ff             	adc    $0xffffffff,%eax
4151a4:	03 7d d0             	add    -0x30(%ebp),%edi
4151a7:	89 45 f0             	mov    %eax,-0x10(%ebp)
4151aa:	83 55 dc 00          	adcl   $0x0,-0x24(%ebp)
4151ae:	89 45 c0             	mov    %eax,-0x40(%ebp)
4151b1:	75 0a                	jne    0x4151bd
4151b3:	83 ff ff             	cmp    $0xffffffff,%edi