412e0c:	83 45 d8 04          	addl   $0x4,-0x28(%ebp)
412e10:	8b 45 d8             	mov    -0x28(%ebp),%eax
412e13:	33 d2                	xor    %edx,%edx
412e15:	89 10                	mov    %edx,(%eax)
412e17:	83 45 d8 04          	addl   $0x4,-0x28(%ebp)
412e1b:	8b 4d d8             	mov    -0x28(%ebp),%ecx
412e1e:	33 c0                	xor    %eax,%eax
412e20:	89 01                	mov    %eax,(%ecx)
412e22:	83 45 d8 04          	addl   $0x4,-0x28(%ebp)
412e26:	8b 55 d8             	mov    -0x28(%ebp),%edx
412e29:	33 c9                	xor    %ecx,%ecx
412e2b:	89 0a                	mov    %ecx,(%edx)
412e2d:	83 45 d8 04          	addl   $0x4,-0x28(%ebp)
412e31:	8b 45 d8             	mov    -0x28(%ebp),%eax
412e34:	33 d2                	xor    %edx,%edx
412e36:	89 10                	mov    %edx,(%eax)
412e38:	83 45 d8 04          	addl   $0x4,-0x28(%ebp)
412e3c:	8b 4d d8             	mov    -0x28(%ebp),%ecx
412e3f:	33 c0                	xor    %eax,%eax
412e41:	89 01                	mov    %eax,(%ecx)
412e43:	83 45 d8 04          	addl   $0x4,-0x28(%ebp)
412e47:	8b 55 d8             	mov    -0x28(%ebp),%edx
412e4a:	33 c9                	xor    %ecx,%ecx
412e4c:	89 0a                	mov    %ecx,(%edx)
412e4e:	83 45 d8 04          	addl   $0x4,-0x28(%ebp)
412e52:	8b 45 d8             	mov    -0x28(%ebp),%eax
412e55:	33 d2                	xor    %edx,%edx
412e57:	89 10                	mov    %edx,(%eax)
412e59:	83 45 d8 04          	addl   $0x4,-0x28(%ebp)
412e5d:	8b 4d d8             	mov    -0x28(%ebp),%ecx
412e60:	33 c0                	xor    %eax,%eax
412e62:	89 01                	mov    %eax,(%ecx)
412e64:	83 45 d8 04          	addl   $0x4,-0x28(%ebp)
412e68:	8b 55 d8             	mov    -0x28(%ebp),%edx
412e6b:	33 c9                	xor    %ecx,%ecx
412e6d:	89 0a                	mov    %ecx,(%edx)
412e6f:	83 45 d8 04          	addl   $0x4,-0x28(%ebp)
412e73:	8b 45 d8             	mov    -0x28(%ebp),%eax
412e76:	33 d2                	xor    %edx,%edx
412e78:	89 10                	mov    %edx,(%eax)
412e7a:	83 45 d8 04          	addl   $0x4,-0x28(%ebp)
412e7e:	8b 4d d8             	mov    -0x28(%ebp),%ecx
412e81:	33 c0                	xor    %eax,%eax
412e83:	89 01                	mov    %eax,(%ecx)
412e85:	83 45 d8 04          	addl   $0x4,-0x28(%ebp)
412e89:	8b 55 d8             	mov    -0x28(%ebp),%edx
412e8c:	33 c9                	xor    %ecx,%ecx
412e8e:	89 0a                	mov    %ecx,(%edx)
412e90:	83 45 d8 04          	addl   $0x4,-0x28(%ebp)
412e94:	8b 45 d8             	mov    -0x28(%ebp),%eax
412e97:	33 d2                	xor    %edx,%edx
412e99:	89 10                	mov    %edx,(%eax)
412e9b:	83 45 d8 04          	addl   $0x4,-0x28(%ebp)
412e9f:	8b 4d d8             	mov    -0x28(%ebp),%ecx
412ea2:	33 c0                	xor    %eax,%eax
412ea4:	89 01                	mov    %eax,(%ecx)
412ea6:	83 45 d8 04          	addl   $0x4,-0x28(%ebp)
412eaa:	8b 55 d8             	mov    -0x28(%ebp),%edx
412ead:	33 c9                	xor    %ecx,%ecx
412eaf:	89 0a                	mov    %ecx,(%edx)
412eb1:	8b 45 fc             	mov    -0x4(%ebp),%eax
412eb4:	89 45 d8             	mov    %eax,-0x28(%ebp)
412eb7:	8b 55 f8             	mov    -0x8(%ebp),%edx
412eba:	89 55 e4             	mov    %edx,-0x1c(%ebp)
412ebd:	8b 4d d8             	mov    -0x28(%ebp),%ecx
412ec0:	8b 01                	mov    (%ecx),%eax
412ec2:	ff 84 85 74 ff ff ff 	incl   -0x8c(%ebp,%eax,4)
412ec9:	83 45 d8 04          	addl   $0x4,-0x28(%ebp)
412ecd:	ff 4d e4             	decl   -0x1c(%ebp)
412ed0:	75 eb                	jne    0x412ebd
412ed2:	8b 95 74 ff ff ff    	mov    -0x8c(%ebp),%edx
412ed8:	3b 55 f8             	cmp    -0x8(%ebp),%edx
412edb:	75 15                	jne    0x412ef2
412edd:	8b 4d 18             	mov    0x18(%ebp),%ecx
412ee0:	33 c0                	xor    %eax,%eax
412ee2:	89 01                	mov    %eax,(%ecx)
412ee4:	33 c9                	xor    %ecx,%ecx
412ee6:	8b 55 14             	mov    0x14(%ebp),%edx
412ee9:	33 c0                	xor    %eax,%eax
412eeb:	89 0a                	mov    %ecx,(%edx)
412eed:	e9 e3 03 00 00       	jmp    0x4132d5
412ef2:	8b 55 14             	mov    0x14(%ebp),%edx
412ef5:	b8 01 00 00 00       	mov    $0x1,%eax
412efa:	8b 0a                	mov    (%edx),%ecx
412efc:	8d 95 78 ff ff ff    	lea    -0x88(%ebp),%edx
412f02:	89 4d dc             	mov    %ecx,-0x24(%ebp)
412f05:	89 55 c0             	mov    %edx,-0x40(%ebp)
412f08:	8b 4d c0             	mov    -0x40(%ebp),%ecx
412f0b:	83 39 00             	cmpl   $0x0,(%ecx)
412f0e:	75 0a                	jne    0x412f1a
412f10:	40                   	inc    %eax
412f11:	83 45 c0 04          	addl   $0x4,-0x40(%ebp)
412f15:	83 f8 0f             	cmp    $0xf,%eax
412f18:	76 ee                	jbe    0x412f08
412f1a:	89 45 e0             	mov    %eax,-0x20(%ebp)
412f1d:	3b 45 dc             	cmp    -0x24(%ebp),%eax
412f20:	76 03                	jbe    0x412f25
412f22:	89 45 dc             	mov    %eax,-0x24(%ebp)
412f25:	c7 45 e4 0f 00 00 00 	movl   $0xf,-0x1c(%ebp)
412f2c:	8d 55 b0             	lea    -0x50(%ebp),%edx
412f2f:	89 55 bc             	mov    %edx,-0x44(%ebp)
412f32:	8b 4d bc             	mov    -0x44(%ebp),%ecx
412f35:	83 39 00             	cmpl   $0x0,(%ecx)
412f38:	75 0d                	jne    0x412f47
412f3a:	ff 4d e4             	decl   -0x1c(%ebp)
412f3d:	83 45 bc fc          	addl   $0xfffffffc,-0x44(%ebp)
412f41:	83 7d e4 00          	cmpl   $0x0,-0x1c(%ebp)
412f45:	75 eb                	jne    0x412f32
412f47:	8b 55 e4             	mov    -0x1c(%ebp),%edx
412f4a:	89 55 ec             	mov    %edx,-0x14(%ebp)
412f4d:	8b 4d dc             	mov    -0x24(%ebp),%ecx
412f50:	3b 4d e4             	cmp    -0x1c(%ebp),%ecx
412f53:	76 06                	jbe    0x412f5b
412f55:	8b 55 e4             	mov    -0x1c(%ebp),%edx
412f58:	89 55 dc             	mov    %edx,-0x24(%ebp)
412f5b:	8b 4d 14             	mov    0x14(%ebp),%ecx
412f5e:	8b 55 dc             	mov    -0x24(%ebp),%edx
412f61:	89 11                	mov    %edx,(%ecx)
412f63:	8b c8                	mov    %eax,%ecx
412f65:	ba 01 00 00 00       	mov    $0x1,%edx
412f6a:	d3 e2                	shl    %cl,%edx
412f6c:	89 55 c4             	mov    %edx,-0x3c(%ebp)
412f6f:	8d 8c 85 74 ff ff ff 	lea    -0x8c(%ebp,%eax,4),%ecx
412f76:	89 4d bc             	mov    %ecx,-0x44(%ebp)
412f79:	3b 45 e4             	cmp    -0x1c(%ebp),%eax
412f7c:	73 26                	jae    0x412fa4
412f7e:	8b 55 bc             	mov    -0x44(%ebp),%edx
412f81:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
412f84:	2b 0a                	sub    (%edx),%ecx
412f86:	89 4d c4             	mov    %ecx,-0x3c(%ebp)
412f89:	85 c9                	test   %ecx,%ecx
412f8b:	7d 0a                	jge    0x412f97
412f8d:	b8 fd ff ff ff       	mov    $0xfffffffd,%eax
412f92:	e9 3e 03 00 00       	jmp    0x4132d5
412f97:	83 45 bc 04          	addl   $0x4,-0x44(%ebp)
412f9b:	d1 65 c4             	shll   $1,-0x3c(%ebp)
412f9e:	40                   	inc    %eax
412f9f:	3b 45 e4             	cmp    -0x1c(%ebp),%eax
412fa2:	72 da                	jb     0x412f7e
412fa4:	8b 55 e4             	mov    -0x1c(%ebp),%edx
412fa7:	8b 45 c4             	mov    -0x3c(%ebp),%eax
412faa:	2b 84 95 74 ff ff ff 	sub    -0x8c(%ebp,%edx,4),%eax
412fb1:	89 45 c4             	mov    %eax,-0x3c(%ebp)
412fb4:	85 c0                	test   %eax,%eax
412fb6:	7d 0a                	jge    0x412fc2
412fb8:	b8 fd ff ff ff       	mov    $0xfffffffd,%eax
412fbd:	e9 13 03 00 00       	jmp    0x4132d5
412fc2:	8b 55 e4             	mov    -0x1c(%ebp),%edx
412fc5:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
412fc8:	01 8c 95 74 ff ff ff 	add    %ecx,-0x8c(%ebp,%edx,4)
412fcf:	33 d2                	xor    %edx,%edx
412fd1:	89 95 fc fe ff ff    	mov    %edx,-0x104(%ebp)
412fd7:	8d 8d 78 ff ff ff    	lea    -0x88(%ebp),%ecx
412fdd:	89 4d d8             	mov    %ecx,-0x28(%ebp)
412fe0:	8d 8d 00 ff ff ff    	lea    -0x100(%ebp),%ecx
412fe6:	89 d0                	mov    %edx,%eax
412fe8:	eb 0e                	jmp    0x412ff8
412fea:	8b 55 d8             	mov    -0x28(%ebp),%edx
412fed:	83 45 d8 04          	addl   $0x4,-0x28(%ebp)
412ff1:	03 02                	add    (%edx),%eax
412ff3:	89 01                	mov    %eax,(%ecx)
412ff5:	83 c1 04             	add    $0x4,%ecx
412ff8:	ff 4d e4             	decl   -0x1c(%ebp)
412ffb:	75 ed                	jne    0x412fea
412ffd:	8b 45 fc             	mov    -0x4(%ebp),%eax
413000:	89 45 d8             	mov    %eax,-0x28(%ebp)
413003:	33 c0                	xor    %eax,%eax
413005:	89 45 e4             	mov    %eax,-0x1c(%ebp)
413008:	8b 55 d8             	mov    -0x28(%ebp),%edx
41300b:	83 45 d8 04          	addl   $0x4,-0x28(%ebp)
41300f:	8b 02                	mov    (%edx),%eax
413011:	85 c0                	test   %eax,%eax
413013:	74 17                	je     0x41302c
413015:	8b 8c 85 f8 fe ff ff 	mov    -0x108(%ebp,%eax,4),%ecx
41301c:	ff 84 85 f8 fe ff ff 	incl   -0x108(%ebp,%eax,4)
413023:	8b 45 08             	mov    0x8(%ebp),%eax
413026:	8b 55 e4             	mov    -0x1c(%ebp),%edx
413029:	89 14 88             	mov    %edx,(%eax,%ecx,4)
41302c:	ff 45 e4             	incl   -0x1c(%ebp)
41302f:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
413032:	3b 4d f8             	cmp    -0x8(%ebp),%ecx
413035:	72 d1                	jb     0x413008
413037:	8b 45 ec             	mov    -0x14(%ebp),%eax
41303a:	8b 94 85 f8 fe ff ff 	mov    -0x108(%ebp,%eax,4),%edx
413041:	89 55 f8             	mov    %edx,-0x8(%ebp)
413044:	33 c9                	xor    %ecx,%ecx
413046:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
413049:	89 8d f8 fe ff ff    	mov    %ecx,-0x108(%ebp)
41304f:	8b 45 08             	mov    0x8(%ebp),%eax
413052:	89 45 d8             	mov    %eax,-0x28(%ebp)
413055:	c7 45 e8 ff ff ff ff 	movl   $0xffffffff,-0x18(%ebp)
41305c:	8b 55 dc             	mov    -0x24(%ebp),%edx
41305f:	f7 da                	neg    %edx
413061:	89 55 c8             	mov    %edx,-0x38(%ebp)
413064:	33 c0                	xor    %eax,%eax
413066:	89 85 38 ff ff ff    	mov    %eax,-0xc8(%ebp)
41306c:	33 d2                	xor    %edx,%edx
41306e:	89 55 d4             	mov    %edx,-0x2c(%ebp)
413071:	33 f6                	xor    %esi,%esi
413073:	8b 45 e0             	mov    -0x20(%ebp),%eax
413076:	8d 94 85 74 ff ff ff 	lea    -0x8c(%ebp,%eax,4),%edx
41307d:	89 55 bc             	mov    %edx,-0x44(%ebp)
413080:	8b 4d e0             	mov    -0x20(%ebp),%ecx
413083:	3b 4d ec             	cmp    -0x14(%ebp),%ecx
413086:	0f 8f 34 02 00 00    	jg     0x4132c0
41308c:	8b 45 bc             	mov    -0x44(%ebp),%eax
41308f:	8b 10                	mov    (%eax),%edx
413091:	89 55 f0             	mov    %edx,-0x10(%ebp)
413094:	e9 05 02 00 00       	jmp    0x41329e
413099:	8b 4d e8             	mov    -0x18(%ebp),%ecx
41309c:	8d 84 8d f8 fe ff ff 	lea    -0x108(%ebp,%ecx,4),%eax
4130a3:	89 45 b4             	mov    %eax,-0x4c(%ebp)
4130a6:	8b 55 e8             	mov    -0x18(%ebp),%edx
4130a9:	8d 8c 95 38 ff ff ff 	lea    -0xc8(%ebp,%edx,4),%ecx
4130b0:	89 4d b8             	mov    %ecx,-0x48(%ebp)
4130b3:	e9 ec 00 00 00       	jmp    0x4131a4
4130b8:	ff 45 e8             	incl   -0x18(%ebp)
4130bb:	83 45 b4 04          	addl   $0x4,-0x4c(%ebp)
4130bf:	83 45 b8 04          	addl   $0x4,-0x48(%ebp)
4130c3:	8b 45 dc             	mov    -0x24(%ebp),%eax
4130c6:	01 45 c8             	add    %eax,-0x38(%ebp)
4130c9:	8b 75 ec             	mov    -0x14(%ebp),%esi
4130cc:	2b 75 c8             	sub    -0x38(%ebp),%esi
4130cf:	3b 75 dc             	cmp    -0x24(%ebp),%esi
4130d2:	76 05                	jbe    0x4130d9
4130d4:	8b 45 dc             	mov    -0x24(%ebp),%eax
4130d7:	eb 02                	jmp    0x4130db
4130d9:	8b c6                	mov    %esi,%eax
4130db:	8b f0                	mov    %eax,%esi
4130dd:	8b 45 e0             	mov    -0x20(%ebp),%eax
4130e0:	2b 45 c8             	sub    -0x38(%ebp),%eax
4130e3:	ba 01 00 00 00       	mov    $0x1,%edx
4130e8:	8b c8                	mov    %eax,%ecx
4130ea:	8b 5d f0             	mov    -0x10(%ebp),%ebx
4130ed:	d3 e2                	shl    %cl,%edx
4130ef:	43                   	inc    %ebx
4130f0:	3b d3                	cmp    %ebx,%edx
4130f2:	76 26                	jbe    0x41311a
4130f4:	2b d3                	sub    %ebx,%edx
4130f6:	8b 4d e0             	mov    -0x20(%ebp),%ecx
4130f9:	c1 e1 02             	shl    $0x2,%ecx
4130fc:	8d 9d 74 ff ff ff    	lea    -0x8c(%ebp),%ebx
413102:	03 cb                	add    %ebx,%ecx
413104:	3b f0                	cmp    %eax,%esi
413106:	76 12                	jbe    0x41311a
413108:	eb 0b                	jmp    0x413115
41310a:	03 d2                	add    %edx,%edx
41310c:	83 c1 04             	add    $0x4,%ecx
41310f:	3b 11                	cmp    (%ecx),%edx
413111:	76 07                	jbe    0x41311a
413113:	2b 11                	sub    (%ecx),%edx
413115:	40                   	inc    %eax
413116:	3b f0                	cmp    %eax,%esi
413118:	77 f0                	ja     0x41310a
41311a:	8b c8                	mov    %eax,%ecx
41311c:	be 01 00 00 00       	mov    $0x1,%esi
413121:	d3 e6                	shl    %cl,%esi
413123:	8b 55 0c             	mov    0xc(%ebp),%edx
413126:	8b 12                	mov    (%edx),%edx
413128:	8b ca                	mov    %edx,%ecx
41312a:	03 ce                	add    %esi,%ecx
41312c:	81 f9 a0 05 00 00    	cmp    $0x5a0,%ecx
413132:	76 0a                	jbe    0x41313e
413134:	b8 fd ff ff ff       	mov    $0xfffffffd,%eax
413139:	e9 97 01 00 00       	jmp    0x4132d5
41313e:	c1 e2 03             	shl    $0x3,%edx
413141:	03 55 10             	add    0x10(%ebp),%edx
413144:	89 55 d4             	mov    %edx,-0x2c(%ebp)
413147:	8b 4d b8             	mov    -0x48(%ebp),%ecx
41314a:	89 11                	mov    %edx,(%ecx)
41314c:	8b 55 0c             	mov    0xc(%ebp),%edx
41314f:	01 32                	add    %esi,(%edx)
413151:	83 7d e8 00          	cmpl   $0x0,-0x18(%ebp)
413155:	74 45                	je     0x41319c
413157:	8b 4d b4             	mov    -0x4c(%ebp),%ecx
41315a:	8b 55 e4             	mov    -0x1c(%ebp),%edx
41315d:	89 11                	mov    %edx,(%ecx)
41315f:	8a 4d dc             	mov    -0x24(%ebp),%cl
413162:	88 4d cd             	mov    %cl,-0x33(%ebp)
413165:	88 45 cc             	mov    %al,-0x34(%ebp)
413168:	8b 4d c8             	mov    -0x38(%ebp),%ecx
41316b:	2b 4d dc             	sub    -0x24(%ebp),%ecx
41316e:	8b 45 e4             	mov    -0x1c(%ebp),%eax
413171:	d3 e8                	shr    %cl,%eax
413173:	8b 55 b8             	mov    -0x48(%ebp),%edx
413176:	8b 52 fc             	mov    -0x4(%edx),%edx
413179:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
41317c:	2b ca                	sub    %edx,%ecx
41317e:	85 c9                	test   %ecx,%ecx
413180:	79 03                	jns    0x413185
413182:	83 c1 07             	add    $0x7,%ecx
413185:	c1 f9 03             	sar    $0x3,%ecx
413188:	2b c8                	sub    %eax,%ecx
41318a:	89 4d d0             	mov    %ecx,-0x30(%ebp)
41318d:	8b 4d cc             	mov    -0x34(%ebp),%ecx
413190:	89 0c c2             	mov    %ecx,(%edx,%eax,8)
413193:	8b 4d d0             	mov    -0x30(%ebp),%ecx
413196:	89 4c c2 04          	mov    %ecx,0x4(%edx,%eax,8)
41319a:	eb 08                	jmp    0x4131a4
41319c:	8b 45 18             	mov    0x18(%ebp),%eax
41319f:	8b 55 d4             	mov    -0x2c(%ebp),%edx
4131a2:	89 10                	mov    %edx,(%eax)
4131a4:	8b 45 c8             	mov    -0x38(%ebp),%eax
4131a7:	03 45 dc             	add    -0x24(%ebp),%eax
4131aa:	3b 45 e0             	cmp    -0x20(%ebp),%eax
4131ad:	0f 8c 05 ff ff ff    	jl     0x4130b8
4131b3:	8a 55 e0             	mov    -0x20(%ebp),%dl
4131b6:	2a 55 c8             	sub    -0x38(%ebp),%dl
4131b9:	88 55 cd             	mov    %dl,-0x33(%ebp)
4131bc:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4131bf:	c1 e1 02             	shl    $0x2,%ecx
4131c2:	03 4d 08             	add    0x8(%ebp),%ecx
4131c5:	3b 4d d8             	cmp    -0x28(%ebp),%ecx
4131c8:	77 06                	ja     0x4131d0
4131ca:	c6 45 cc c0          	movb   $0xc0,-0x34(%ebp)
4131ce:	eb 49                	jmp    0x413219
4131d0:	8b 45 d8             	mov    -0x28(%ebp),%eax
4131d3:	8b 00                	mov    (%eax),%eax
4131d5:	3b 45 f4             	cmp    -0xc(%ebp),%eax
4131d8:	73 1e                	jae    0x4131f8
4131da:	3d 00 01 00 00       	cmp    $0x100,%eax
4131df:	73 04                	jae    0x4131e5
4131e1:	33 d2                	xor    %edx,%edx
4131e3:	eb 02                	jmp    0x4131e7
4131e5:	b2 60                	mov    $0x60,%dl
4131e7:	88 55 cc             	mov    %dl,-0x34(%ebp)
4131ea:	8b 45 d8             	mov    -0x28(%ebp),%eax
4131ed:	8b 08                	mov    (%eax),%ecx
4131ef:	89 4d d0             	mov    %ecx,-0x30(%ebp)
4131f2:	83 45 d8 04          	addl   $0x4,-0x28(%ebp)
4131f6:	eb 21                	jmp    0x413219
4131f8:	8b 45 d8             	mov    -0x28(%ebp),%eax
4131fb:	8b 00                	mov    (%eax),%eax
4131fd:	2b 45 f4             	sub    -0xc(%ebp),%eax
413200:	8b 55 1c             	mov    0x1c(%ebp),%edx
413203:	8a 0c 82             	mov    (%edx,%eax,4),%cl
413206:	80 c1 50             	add    $0x50,%cl
413209:	88 4d cc             	mov    %cl,-0x34(%ebp)
41320c:	8b 55 20             	mov    0x20(%ebp),%edx
41320f:	8b 04 82             	mov    (%edx,%eax,4),%eax
413212:	89 45 d0             	mov    %eax,-0x30(%ebp)
413215:	83 45 d8 04          	addl   $0x4,-0x28(%ebp)
413219:	8b 4d e0             	mov    -0x20(%ebp),%ecx
41321c:	2b 4d c8             	sub    -0x38(%ebp),%ecx
41321f:	ba 01 00 00 00       	mov    $0x1,%edx
413224:	d3 e2                	shl    %cl,%edx
413226:	8b 4d c8             	mov    -0x38(%ebp),%ecx
413229:	8b 45 e4             	mov    -0x1c(%ebp),%eax
41322c:	d3 e8                	shr    %cl,%eax
41322e:	3b f0                	cmp    %eax,%esi