411dcc:	0f 8e a7 00 00 00    	jle    0x411e79
411dd2:	89 5d fc             	mov    %ebx,-0x4(%ebp)
411dd5:	8b 46 14             	mov    0x14(%esi),%eax
411dd8:	8b 4d fc             	mov    -0x4(%ebp),%ecx
411ddb:	8b 44 08 24          	mov    0x24(%eax,%ecx,1),%eax
411ddf:	8b 40 04             	mov    0x4(%eax),%eax
411de2:	3b c3                	cmp    %ebx,%eax
411de4:	89 45 f0             	mov    %eax,-0x10(%ebp)
411de7:	74 7d                	je     0x411e66
411de9:	8d 3c 7f             	lea    (%edi,%edi,2),%edi
411dec:	c1 e7 04             	shl    $0x4,%edi
411def:	8b 4d fc             	mov    -0x4(%ebp),%ecx
411df2:	8d 45 f0             	lea    -0x10(%ebp),%eax
411df5:	50                   	push   %eax
411df6:	8b 46 14             	mov    0x14(%esi),%eax
411df9:	8b 4c 08 24          	mov    0x24(%eax,%ecx,1),%ecx
411dfd:	e8 60 56 ff ff       	call   0x407462
411e02:	8b 18                	mov    (%eax),%ebx
411e04:	8b 46 14             	mov    0x14(%esi),%eax
411e07:	03 45 fc             	add    -0x4(%ebp),%eax
411e0a:	8b ce                	mov    %esi,%ecx
411e0c:	50                   	push   %eax
411e0d:	8b 46 3c             	mov    0x3c(%esi),%eax
411e10:	03 c7                	add    %edi,%eax
411e12:	50                   	push   %eax
411e13:	e8 a6 d8 ff ff       	call   0x40f6be
411e18:	8b 4e 3c             	mov    0x3c(%esi),%ecx
411e1b:	8b 45 f8             	mov    -0x8(%ebp),%eax
411e1e:	c1 e0 04             	shl    $0x4,%eax
411e21:	89 44 0f 18          	mov    %eax,0x18(%edi,%ecx,1)
411e25:	8b 46 3c             	mov    0x3c(%esi),%eax
411e28:	83 64 07 1c 00       	andl   $0x0,0x1c(%edi,%eax,1)
411e2d:	8b 46 3c             	mov    0x3c(%esi),%eax
411e30:	83 4c 07 24 ff       	orl    $0xffffffff,0x24(%edi,%eax,1)
411e35:	8b 46 3c             	mov    0x3c(%esi),%eax
411e38:	83 4c 07 20 ff       	orl    $0xffffffff,0x20(%edi,%eax,1)
411e3d:	8b 46 3c             	mov    0x3c(%esi),%eax
411e40:	ff 45 f8             	incl   -0x8(%ebp)
411e43:	c7 44 07 28 01 00 00 	movl   $0x1,0x28(%edi,%eax,1)
411e4a:	00
411e4b:	8b 46 3c             	mov    0x3c(%esi),%eax
411e4e:	8b 8b 9c 00 00 00    	mov    0x9c(%ebx),%ecx
411e54:	89 4c 07 2c          	mov    %ecx,0x2c(%edi,%eax,1)
411e58:	83 c7 30             	add    $0x30,%edi
411e5b:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
411e5f:	75 8e                	jne    0x411def
411e61:	8b 7d f8             	mov    -0x8(%ebp),%edi
411e64:	33 db                	xor    %ebx,%ebx
411e66:	ff 45 f4             	incl   -0xc(%ebp)
411e69:	8b 45 f4             	mov    -0xc(%ebp),%eax
411e6c:	83 45 fc 28          	addl   $0x28,-0x4(%ebp)
411e70:	3b 46 10             	cmp    0x10(%esi),%eax
411e73:	0f 8c 5c ff ff ff    	jl     0x411dd5
411e79:	8b 4e 38             	mov    0x38(%esi),%ecx
411e7c:	8b 46 08             	mov    0x8(%esi),%eax
411e7f:	8b 10                	mov    (%eax),%edx
411e81:	53                   	push   %ebx
411e82:	8b f9                	mov    %ecx,%edi
411e84:	c1 e7 04             	shl    $0x4,%edi
411e87:	57                   	push   %edi
411e88:	ff 76 3c             	push   0x3c(%esi)
411e8b:	51                   	push   %ecx
411e8c:	50                   	push   %eax
411e8d:	ff 52 10             	call   *0x10(%edx)
411e90:	8b 46 38             	mov    0x38(%esi),%eax
411e93:	3b c3                	cmp    %ebx,%eax
411e95:	74 0d                	je     0x411ea4
411e97:	c1 e0 04             	shl    $0x4,%eax
411e9a:	50                   	push   %eax
411e9b:	e8 b5 e1 02 00       	call   0x440055
411ea0:	59                   	pop    %ecx
411ea1:	89 46 40             	mov    %eax,0x40(%esi)
411ea4:	39 5e 38             	cmp    %ebx,0x38(%esi)
411ea7:	89 5d f4             	mov    %ebx,-0xc(%ebp)
411eaa:	7e 28                	jle    0x411ed4
411eac:	33 ff                	xor    %edi,%edi
411eae:	8b 46 40             	mov    0x40(%esi),%eax
411eb1:	6a 10                	push   $0x10
411eb3:	03 c7                	add    %edi,%eax
411eb5:	53                   	push   %ebx
411eb6:	50                   	push   %eax
411eb7:	e8 84 63 00 00       	call   0x418240
411ebc:	8b 46 40             	mov    0x40(%esi),%eax
411ebf:	83 c4 0c             	add    $0xc,%esp
411ec2:	ff 45 f4             	incl   -0xc(%ebp)
411ec5:	66 89 1c 07          	mov    %bx,(%edi,%eax,1)
411ec9:	8b 45 f4             	mov    -0xc(%ebp),%eax
411ecc:	83 c7 10             	add    $0x10,%edi
411ecf:	3b 46 38             	cmp    0x38(%esi),%eax
411ed2:	7c da                	jl     0x411eae
411ed4:	8b ce                	mov    %esi,%ecx
411ed6:	e8 1d f8 ff ff       	call   0x4116f8
411edb:	8b 06                	mov    (%esi),%eax
411edd:	8b ce                	mov    %esi,%ecx
411edf:	ff 50 10             	call   *0x10(%eax)
411ee2:	5f                   	pop    %edi
411ee3:	5e                   	pop    %esi
411ee4:	5b                   	pop    %ebx
411ee5:	c9                   	leave
411ee6:	c3                   	ret
411ee7:	b8 e4 36 48 00       	mov    $0x4836e4,%eax
411eec:	e8 8b 5d 00 00       	call   0x417c7c
411ef1:	83 ec 68             	sub    $0x68,%esp
411ef4:	53                   	push   %ebx
411ef5:	56                   	push   %esi
411ef6:	33 db                	xor    %ebx,%ebx
411ef8:	57                   	push   %edi
411ef9:	8b f1                	mov    %ecx,%esi
411efb:	33 ff                	xor    %edi,%edi
411efd:	39 5e 48             	cmp    %ebx,0x48(%esi)
411f00:	89 7d e8             	mov    %edi,-0x18(%ebp)
411f03:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
411f06:	0f 84 fb 03 00 00    	je     0x412307
411f0c:	33 c0                	xor    %eax,%eax
411f0e:	39 5e 54             	cmp    %ebx,0x54(%esi)
411f11:	0f 84 e1 03 00 00    	je     0x4122f8
411f17:	40                   	inc    %eax
411f18:	39 46 10             	cmp    %eax,0x10(%esi)
411f1b:	89 45 e8             	mov    %eax,-0x18(%ebp)
411f1e:	0f 8c d2 03 00 00    	jl     0x4122f6
411f24:	c7 45 e0 30 00 00 00 	movl   $0x30,-0x20(%ebp)
411f2b:	c7 45 dc 28 00 00 00 	movl   $0x28,-0x24(%ebp)
411f32:	8b 46 14             	mov    0x14(%esi),%eax
411f35:	8b 4d dc             	mov    -0x24(%ebp),%ecx
411f38:	8b 44 08 fc          	mov    -0x4(%eax,%ecx,1),%eax
411f3c:	3b c3                	cmp    %ebx,%eax
411f3e:	0f 84 93 03 00 00    	je     0x4122d7
411f44:	8b 40 04             	mov    0x4(%eax),%eax
411f47:	3b c3                	cmp    %ebx,%eax
411f49:	89 45 d4             	mov    %eax,-0x2c(%ebp)
411f4c:	0f 84 85 03 00 00    	je     0x4122d7
411f52:	8b 4d dc             	mov    -0x24(%ebp),%ecx
411f55:	8d 45 d4             	lea    -0x2c(%ebp),%eax
411f58:	50                   	push   %eax
411f59:	8b 46 14             	mov    0x14(%esi),%eax
411f5c:	8b 4c 08 fc          	mov    -0x4(%eax,%ecx,1),%ecx
411f60:	e8 fd 54 ff ff       	call   0x407462
411f65:	8b 38                	mov    (%eax),%edi
411f67:	8d 87 a4 00 00 00    	lea    0xa4(%edi),%eax
411f6d:	39 18                	cmp    %ebx,(%eax)
411f6f:	0f 84 59 03 00 00    	je     0x4122ce
411f75:	ff 45 e4             	incl   -0x1c(%ebp)
411f78:	89 18                	mov    %ebx,(%eax)
411f7a:	33 c0                	xor    %eax,%eax
411f7c:	40                   	inc    %eax
411f7d:	39 45 e4             	cmp    %eax,-0x1c(%ebp)
411f80:	75 03                	jne    0x411f85
411f82:	89 46 44             	mov    %eax,0x44(%esi)
411f85:	8b 4e 54             	mov    0x54(%esi),%ecx
411f88:	8d 45 ee             	lea    -0x12(%ebp),%eax
411f8b:	50                   	push   %eax
411f8c:	ff 75 e8             	push   -0x18(%ebp)
411f8f:	e8 d2 de ff ff       	call   0x40fe66
411f94:	84 c0                	test   %al,%al
411f96:	0f 84 32 03 00 00    	je     0x4122ce
411f9c:	8d 87 a8 00 00 00    	lea    0xa8(%edi),%eax
411fa2:	50                   	push   %eax
411fa3:	8d 4d bc             	lea    -0x44(%ebp),%ecx
411fa6:	89 45 d0             	mov    %eax,-0x30(%ebp)
411fa9:	e8 e0 88 ff ff       	call   0x40a88e
411fae:	89 5d fc             	mov    %ebx,-0x4(%ebp)
411fb1:	89 5d 8c             	mov    %ebx,-0x74(%ebp)
411fb4:	89 5d 90             	mov    %ebx,-0x70(%ebp)
411fb7:	89 5d 94             	mov    %ebx,-0x6c(%ebp)
411fba:	89 5d 98             	mov    %ebx,-0x68(%ebp)
411fbd:	89 5d a8             	mov    %ebx,-0x58(%ebp)
411fc0:	89 5d b0             	mov    %ebx,-0x50(%ebp)
411fc3:	89 5d 9c             	mov    %ebx,-0x64(%ebp)
411fc6:	89 5d b8             	mov    %ebx,-0x48(%ebp)
411fc9:	8b 4e 54             	mov    0x54(%esi),%ecx
411fcc:	8b 41 14             	mov    0x14(%ecx),%eax
411fcf:	8b 7d e0             	mov    -0x20(%ebp),%edi
411fd2:	ff 74 38 10          	push   0x10(%eax,%edi,1)
411fd6:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
411fda:	ff 75 e8             	push   -0x18(%ebp)
411fdd:	e8 b8 de ff ff       	call   0x40fe9a
411fe2:	50                   	push   %eax
411fe3:	6a 01                	push   $0x1
411fe5:	8d 4d 8c             	lea    -0x74(%ebp),%ecx
411fe8:	e8 a9 c4 ff ff       	call   0x40e496
411fed:	8b 4e 54             	mov    0x54(%esi),%ecx
411ff0:	8b 41 14             	mov    0x14(%ecx),%eax
411ff3:	53                   	push   %ebx
411ff4:	53                   	push   %ebx
411ff5:	ff 75 e8             	push   -0x18(%ebp)
411ff8:	03 f8                	add    %eax,%edi
411ffa:	e8 9b de ff ff       	call   0x40fe9a
411fff:	50                   	push   %eax
412000:	ff 77 10             	push   0x10(%edi)
412003:	33 c0                	xor    %eax,%eax
412005:	66 8b 47 14          	mov    0x14(%edi),%ax
412009:	8d 4d 8c             	lea    -0x74(%ebp),%ecx
41200c:	50                   	push   %eax
41200d:	ff 77 08             	push   0x8(%edi)
412010:	e8 2b c5 ff ff       	call   0x40e540
412015:	8b 46 50             	mov    0x50(%esi),%eax
412018:	ff 30                	push   (%eax)
41201a:	8d 4d 8c             	lea    -0x74(%ebp),%ecx
41201d:	e8 9e f3 ff ff       	call   0x4113c0
412022:	0f b7 45 ee          	movzwl -0x12(%ebp),%eax
412026:	3d 81 00 00 00       	cmp    $0x81,%eax
41202b:	0f 8f 1d 02 00 00    	jg     0x41224e
412031:	0f 84 e5 01 00 00    	je     0x41221c
412037:	83 f8 08             	cmp    $0x8,%eax
41203a:	0f 8f fc 00 00 00    	jg     0x41213c
412040:	0f 84 ab 00 00 00    	je     0x4120f1
412046:	48                   	dec    %eax
412047:	48                   	dec    %eax
412048:	0f 84 9b 00 00 00    	je     0x4120e9
41204e:	48                   	dec    %eax
41204f:	74 79                	je     0x4120ca
412051:	48                   	dec    %eax
412052:	74 57                	je     0x4120ab
412054:	48                   	dec    %eax
412055:	74 4f                	je     0x4120a6
412057:	48                   	dec    %eax
412058:	74 26                	je     0x412080
41205a:	48                   	dec    %eax
41205b:	0f 85 33 02 00 00    	jne    0x412294
412061:	53                   	push   %ebx
412062:	6a 07                	push   $0x7
412064:	8d 4d bc             	lea    -0x44(%ebp),%ecx
412067:	e8 23 81 ff ff       	call   0x40a18f
41206c:	8b 4e 54             	mov    0x54(%esi),%ecx
41206f:	8d 45 c4             	lea    -0x3c(%ebp),%eax
412072:	50                   	push   %eax
412073:	ff 75 e8             	push   -0x18(%ebp)
412076:	e8 94 f0 ff ff       	call   0x41110f
41207b:	e9 14 02 00 00       	jmp    0x412294
412080:	53                   	push   %ebx
412081:	6a 06                	push   $0x6
412083:	8d 4d bc             	lea    -0x44(%ebp),%ecx
412086:	e8 04 81 ff ff       	call   0x40a18f
41208b:	ff 75 e8             	push   -0x18(%ebp)
41208e:	8b 4e 54             	mov    0x54(%esi),%ecx
412091:	e8 04 de ff ff       	call   0x40fe9a
412096:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
412099:	89 08                	mov    %ecx,(%eax)
41209b:	8b 4d c8             	mov    -0x38(%ebp),%ecx
41209e:	89 48 04             	mov    %ecx,0x4(%eax)
4120a1:	e9 ee 01 00 00       	jmp    0x412294
4120a6:	53                   	push   %ebx
4120a7:	6a 05                	push   $0x5
4120a9:	eb b9                	jmp    0x412064
4120ab:	53                   	push   %ebx
4120ac:	6a 04                	push   $0x4
4120ae:	8d 4d bc             	lea    -0x44(%ebp),%ecx
4120b1:	e8 d9 80 ff ff       	call   0x40a18f
4120b6:	8b 4e 54             	mov    0x54(%esi),%ecx
4120b9:	8d 45 c4             	lea    -0x3c(%ebp),%eax
4120bc:	50                   	push   %eax
4120bd:	ff 75 e8             	push   -0x18(%ebp)
4120c0:	e8 12 f0 ff ff       	call   0x4110d7
4120c5:	e9 ca 01 00 00       	jmp    0x412294
4120ca:	53                   	push   %ebx
4120cb:	6a 03                	push   $0x3
4120cd:	8d 4d bc             	lea    -0x44(%ebp),%ecx
4120d0:	e8 ba 80 ff ff       	call   0x40a18f
4120d5:	8b 4e 54             	mov    0x54(%esi),%ecx
4120d8:	8d 45 c4             	lea    -0x3c(%ebp),%eax
4120db:	50                   	push   %eax
4120dc:	ff 75 e8             	push   -0x18(%ebp)
4120df:	e8 bb ef ff ff       	call   0x41109f
4120e4:	e9 ab 01 00 00       	jmp    0x412294
4120e9:	53                   	push   %ebx
4120ea:	6a 02                	push   $0x2
4120ec:	e9 12 01 00 00       	jmp    0x412203
4120f1:	53                   	push   %ebx
4120f2:	6a 08                	push   $0x8
4120f4:	8d 4d bc             	lea    -0x44(%ebp),%ecx
4120f7:	e8 93 80 ff ff       	call   0x40a18f
4120fc:	8b 4e 54             	mov    0x54(%esi),%ecx
4120ff:	8d 45 d8             	lea    -0x28(%ebp),%eax
412102:	50                   	push   %eax
412103:	ff 75 e8             	push   -0x18(%ebp)
412106:	89 5d d8             	mov    %ebx,-0x28(%ebp)
412109:	e8 39 f0 ff ff       	call   0x411147
41210e:	39 5d d8             	cmp    %ebx,-0x28(%ebp)
412111:	74 09                	je     0x41211c
412113:	ff 75 d8             	push   -0x28(%ebp)
412116:	ff 15 08 05 4b 00    	call   *0x4b0508
41211c:	ff 75 c4             	push   -0x3c(%ebp)
41211f:	ff 15 94 04 4b 00    	call   *0x4b0494
412125:	8b 4e 54             	mov    0x54(%esi),%ecx
412128:	89 45 d8             	mov    %eax,-0x28(%ebp)
41212b:	8d 45 d8             	lea    -0x28(%ebp),%eax
41212e:	50                   	push   %eax
41212f:	ff 75 e8             	push   -0x18(%ebp)
412132:	e8 48 f0 ff ff       	call   0x41117f
412137:	e9 58 01 00 00       	jmp    0x412294
41213c:	83 e8 0b             	sub    $0xb,%eax
41213f:	0f 84 bb 00 00 00    	je     0x412200
412145:	83 e8 03             	sub    $0x3,%eax
412148:	0f 84 93 00 00 00    	je     0x4121e1
41214e:	48                   	dec    %eax
41214f:	48                   	dec    %eax
412150:	74 6a                	je     0x4121bc
412152:	48                   	dec    %eax
412153:	74 48                	je     0x41219d
412155:	48                   	dec    %eax
412156:	74 26                	je     0x41217e
412158:	48                   	dec    %eax
412159:	0f 85 35 01 00 00    	jne    0x412294
41215f:	53                   	push   %ebx
412160:	6a 13                	push   $0x13
412162:	8d 4d bc             	lea    -0x44(%ebp),%ecx
412165:	e8 25 80 ff ff       	call   0x40a18f
41216a:	8b 4e 54             	mov    0x54(%esi),%ecx
41216d:	8d 45 c4             	lea    -0x3c(%ebp),%eax
412170:	50                   	push   %eax
412171:	ff 75 e8             	push   -0x18(%ebp)
412174:	e8 02 f1 ff ff       	call   0x41127b
412179:	e9 16 01 00 00       	jmp    0x412294
41217e:	53                   	push   %ebx
41217f:	6a 12                	push   $0x12
412181:	8d 4d bc             	lea    -0x44(%ebp),%ecx
412184:	e8 06 80 ff ff       	call   0x40a18f
412189:	8b 4e 54             	mov    0x54(%esi),%ecx
41218c:	8d 45 c4             	lea    -0x3c(%ebp),%eax
41218f:	50                   	push   %eax
412190:	ff 75 e8             	push   -0x18(%ebp)
412193:	e8 b9 f0 ff ff       	call   0x411251
412198:	e9 f7 00 00 00       	jmp    0x412294
41219d:	53                   	push   %ebx
41219e:	6a 11                	push   $0x11
4121a0:	8d 4d bc             	lea    -0x44(%ebp),%ecx
4121a3:	e8 e7 7f ff ff       	call   0x40a18f
4121a8:	8b 4e 54             	mov    0x54(%esi),%ecx
4121ab:	8d 45 c4             	lea    -0x3c(%ebp),%eax
4121ae:	50                   	push   %eax
4121af:	ff 75 e8             	push   -0x18(%ebp)
4121b2:	e8 2a f0 ff ff       	call   0x4111e1
4121b7:	e9 d8 00 00 00       	jmp    0x412294
4121bc:	53                   	push   %ebx
4121bd:	6a 10                	push   $0x10
4121bf:	8d 4d bc             	lea    -0x44(%ebp),%ecx
4121c2:	e8 c8 7f ff ff       	call   0x40a18f
4121c7:	8a 45 c4             	mov    -0x3c(%ebp),%al
4121ca:	8b 4e 54             	mov    0x54(%esi),%ecx
4121cd:	88 45 f3             	mov    %al,-0xd(%ebp)
4121d0:	8d 45 f3             	lea    -0xd(%ebp),%eax
4121d3:	50                   	push   %eax
4121d4:	ff 75 e8             	push   -0x18(%ebp)
4121d7:	e8 3d f0 ff ff       	call   0x411219
4121dc:	e9 b3 00 00 00       	jmp    0x412294
4121e1:	53                   	push   %ebx
4121e2:	6a 0e                	push   $0xe
4121e4:	8d 4d bc             	lea    -0x44(%ebp),%ecx
4121e7:	e8 a3 7f ff ff       	call   0x40a18f
4121ec:	8b 4e 54             	mov    0x54(%esi),%ecx