416e68:	e8 4b 52 ff ff       	call   0x40c0b8
416e6d:	8b f0                	mov    %eax,%esi
416e6f:	85 f6                	test   %esi,%esi
416e71:	79 20                	jns    0x416e93
416e73:	a1 00 b0 42 00       	mov    0x42b000,%eax
416e78:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
416e7d:	74 16                	je     0x416e95
416e7f:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
416e83:	74 10                	je     0x416e95
416e85:	56                   	push   %esi
416e86:	ff 70 14             	push   0x14(%eax)
416e89:	ff 70 10             	push   0x10(%eax)
416e8c:	6a 13                	push   $0x13
416e8e:	e9 7c ff ff ff       	jmp    0x416e0f
416e93:	33 f6                	xor    %esi,%esi
416e95:	6a 01                	push   $0x1
416e97:	8d 4d e8             	lea    -0x18(%ebp),%ecx
416e9a:	e8 86 5d ff ff       	call   0x40cc25
416e9f:	8b c6                	mov    %esi,%eax
416ea1:	e8 90 11 01 00       	call   0x428036
416ea6:	c2 08 00             	ret    $0x8
416ea9:	8b ff                	mov    %edi,%edi
416eab:	55                   	push   %ebp
416eac:	8b ec                	mov    %esp,%ebp
416eae:	83 ec 1c             	sub    $0x1c,%esp
416eb1:	53                   	push   %ebx
416eb2:	56                   	push   %esi
416eb3:	57                   	push   %edi
416eb4:	8d 45 f0             	lea    -0x10(%ebp),%eax
416eb7:	33 f6                	xor    %esi,%esi
416eb9:	50                   	push   %eax
416eba:	8d 45 f4             	lea    -0xc(%ebp),%eax
416ebd:	89 75 f8             	mov    %esi,-0x8(%ebp)
416ec0:	50                   	push   %eax
416ec1:	8d 45 f8             	lea    -0x8(%ebp),%eax
416ec4:	89 75 f4             	mov    %esi,-0xc(%ebp)
416ec7:	50                   	push   %eax
416ec8:	8b f9                	mov    %ecx,%edi
416eca:	89 75 f0             	mov    %esi,-0x10(%ebp)
416ecd:	89 75 e8             	mov    %esi,-0x18(%ebp)
416ed0:	ff 15 f0 c3 42 00    	call   *0x42c3f0
416ed6:	39 75 f8             	cmp    %esi,-0x8(%ebp)
416ed9:	0f 84 66 01 00 00    	je     0x417045
416edf:	39 75 f4             	cmp    %esi,-0xc(%ebp)
416ee2:	0f 84 5d 01 00 00    	je     0x417045
416ee8:	39 75 f0             	cmp    %esi,-0x10(%ebp)
416eeb:	0f 84 54 01 00 00    	je     0x417045
416ef1:	8d 45 fc             	lea    -0x4(%ebp),%eax
416ef4:	89 75 fc             	mov    %esi,-0x4(%ebp)
416ef7:	50                   	push   %eax
416ef8:	6a 04                	push   $0x4
416efa:	5b                   	pop    %ebx
416efb:	53                   	push   %ebx
416efc:	8d 45 e4             	lea    -0x1c(%ebp),%eax
416eff:	50                   	push   %eax
416f00:	ff 75 f8             	push   -0x8(%ebp)
416f03:	ff 77 04             	push   0x4(%edi)
416f06:	ff 15 38 c1 42 00    	call   *0x42c138
416f0c:	85 c0                	test   %eax,%eax
416f0e:	0f 84 fa 00 00 00    	je     0x41700e
416f14:	39 5d fc             	cmp    %ebx,-0x4(%ebp)
416f17:	0f 85 f1 00 00 00    	jne    0x41700e
416f1d:	83 7d e4 5c          	cmpl   $0x5c,-0x1c(%ebp)
416f21:	74 27                	je     0x416f4a
416f23:	a1 00 b0 42 00       	mov    0x42b000,%eax
416f28:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
416f2d:	0f 84 37 01 00 00    	je     0x41706a
416f33:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
416f37:	0f 84 2d 01 00 00    	je     0x41706a
416f3d:	ff 70 14             	push   0x14(%eax)
416f40:	ff 70 10             	push   0x10(%eax)
416f43:	6a 16                	push   $0x16
416f45:	e9 15 01 00 00       	jmp    0x41705f
416f4a:	8d 45 fc             	lea    -0x4(%ebp),%eax
416f4d:	89 75 fc             	mov    %esi,-0x4(%ebp)
416f50:	50                   	push   %eax
416f51:	53                   	push   %ebx
416f52:	8d 45 ec             	lea    -0x14(%ebp),%eax
416f55:	50                   	push   %eax
416f56:	ff 75 f4             	push   -0xc(%ebp)
416f59:	ff 77 04             	push   0x4(%edi)
416f5c:	ff 15 38 c1 42 00    	call   *0x42c138
416f62:	85 c0                	test   %eax,%eax
416f64:	74 7c                	je     0x416fe2
416f66:	39 5d fc             	cmp    %ebx,-0x4(%ebp)
416f69:	75 77                	jne    0x416fe2
416f6b:	b8 00 10 00 00       	mov    $0x1000,%eax
416f70:	39 45 ec             	cmp    %eax,-0x14(%ebp)
416f73:	76 03                	jbe    0x416f78
416f75:	89 45 ec             	mov    %eax,-0x14(%ebp)
416f78:	8d 45 fc             	lea    -0x4(%ebp),%eax
416f7b:	89 75 fc             	mov    %esi,-0x4(%ebp)
416f7e:	50                   	push   %eax
416f7f:	53                   	push   %ebx
416f80:	8d 45 e8             	lea    -0x18(%ebp),%eax
416f83:	50                   	push   %eax
416f84:	ff 75 f0             	push   -0x10(%ebp)
416f87:	ff 77 04             	push   0x4(%edi)
416f8a:	ff 15 38 c1 42 00    	call   *0x42c138
416f90:	85 c0                	test   %eax,%eax
416f92:	74 1a                	je     0x416fae
416f94:	39 5d fc             	cmp    %ebx,-0x4(%ebp)
416f97:	75 15                	jne    0x416fae
416f99:	8b 4d 08             	mov    0x8(%ebp),%ecx
416f9c:	8b 45 ec             	mov    -0x14(%ebp),%eax
416f9f:	89 01                	mov    %eax,(%ecx)
416fa1:	8b 4d 0c             	mov    0xc(%ebp),%ecx
416fa4:	8b 45 e8             	mov    -0x18(%ebp),%eax
416fa7:	89 01                	mov    %eax,(%ecx)
416fa9:	e9 c1 00 00 00       	jmp    0x41706f
416fae:	ff 15 18 c2 42 00    	call   *0x42c218
416fb4:	8b c8                	mov    %eax,%ecx
416fb6:	e8 ef 45 ff ff       	call   0x40b5aa
416fbb:	8b f0                	mov    %eax,%esi
416fbd:	a1 00 b0 42 00       	mov    0x42b000,%eax
416fc2:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
416fc7:	0f 84 a2 00 00 00    	je     0x41706f
416fcd:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
416fd1:	0f 84 98 00 00 00    	je     0x41706f
416fd7:	56                   	push   %esi
416fd8:	ff 70 14             	push   0x14(%eax)
416fdb:	ff 70 10             	push   0x10(%eax)
416fde:	6a 18                	push   $0x18
416fe0:	eb 56                	jmp    0x417038
416fe2:	ff 15 18 c2 42 00    	call   *0x42c218
416fe8:	8b c8                	mov    %eax,%ecx
416fea:	e8 bb 45 ff ff       	call   0x40b5aa
416fef:	8b f0                	mov    %eax,%esi
416ff1:	a1 00 b0 42 00       	mov    0x42b000,%eax
416ff6:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
416ffb:	74 72                	je     0x41706f
416ffd:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
417001:	74 6c                	je     0x41706f
417003:	56                   	push   %esi
417004:	ff 70 14             	push   0x14(%eax)
417007:	ff 70 10             	push   0x10(%eax)
41700a:	6a 17                	push   $0x17
41700c:	eb 2a                	jmp    0x417038
41700e:	ff 15 18 c2 42 00    	call   *0x42c218
417014:	8b c8                	mov    %eax,%ecx
417016:	e8 8f 45 ff ff       	call   0x40b5aa
41701b:	8b f0                	mov    %eax,%esi
41701d:	a1 00 b0 42 00       	mov    0x42b000,%eax
417022:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
417027:	74 46                	je     0x41706f
417029:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
41702d:	74 40                	je     0x41706f
41702f:	56                   	push   %esi
417030:	ff 70 14             	push   0x14(%eax)
417033:	ff 70 10             	push   0x10(%eax)
417036:	6a 15                	push   $0x15
417038:	ba f4 3c 40 00       	mov    $0x403cf4,%edx
41703d:	59                   	pop    %ecx
41703e:	e8 8b 03 ff ff       	call   0x4073ce
417043:	eb 2a                	jmp    0x41706f
417045:	a1 00 b0 42 00       	mov    0x42b000,%eax
41704a:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
41704f:	74 19                	je     0x41706a
417051:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
417055:	74 13                	je     0x41706a
417057:	ff 70 14             	push   0x14(%eax)
41705a:	ff 70 10             	push   0x10(%eax)
41705d:	6a 14                	push   $0x14
41705f:	ba f4 3c 40 00       	mov    $0x403cf4,%edx
417064:	59                   	pop    %ecx
417065:	e8 46 03 ff ff       	call   0x4073b0
41706a:	be 05 40 00 80       	mov    $0x80004005,%esi
41706f:	5f                   	pop    %edi
417070:	8b c6                	mov    %esi,%eax
417072:	5e                   	pop    %esi
417073:	5b                   	pop    %ebx
417074:	c9                   	leave
417075:	c2 08 00             	ret    $0x8
417078:	8b ff                	mov    %edi,%edi
41707a:	55                   	push   %ebp
41707b:	8b ec                	mov    %esp,%ebp
41707d:	83 ec 14             	sub    $0x14,%esp
417080:	8b 45 0c             	mov    0xc(%ebp),%eax
417083:	33 d2                	xor    %edx,%edx
417085:	53                   	push   %ebx
417086:	56                   	push   %esi
417087:	57                   	push   %edi
417088:	89 10                	mov    %edx,(%eax)
41708a:	89 50 04             	mov    %edx,0x4(%eax)
41708d:	8d 45 f8             	lea    -0x8(%ebp),%eax
417090:	50                   	push   %eax
417091:	8d 45 fc             	lea    -0x4(%ebp),%eax
417094:	89 4d f0             	mov    %ecx,-0x10(%ebp)
417097:	50                   	push   %eax
417098:	89 55 f8             	mov    %edx,-0x8(%ebp)
41709b:	89 55 f4             	mov    %edx,-0xc(%ebp)
41709e:	89 55 fc             	mov    %edx,-0x4(%ebp)
4170a1:	e8 03 fe ff ff       	call   0x416ea9
4170a6:	8b f0                	mov    %eax,%esi
4170a8:	85 f6                	test   %esi,%esi
4170aa:	79 33                	jns    0x4170df
4170ac:	a1 00 b0 42 00       	mov    0x42b000,%eax
4170b1:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
4170b6:	0f 84 a8 01 00 00    	je     0x417264
4170bc:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
4170c0:	0f 84 9e 01 00 00    	je     0x417264
4170c6:	56                   	push   %esi
4170c7:	ff 70 14             	push   0x14(%eax)
4170ca:	ba f4 3c 40 00       	mov    $0x403cf4,%edx
4170cf:	ff 70 10             	push   0x10(%eax)
4170d2:	6a 19                	push   $0x19
4170d4:	59                   	pop    %ecx
4170d5:	e8 f4 02 ff ff       	call   0x4073ce
4170da:	e9 85 01 00 00       	jmp    0x417264
4170df:	8b 5d fc             	mov    -0x4(%ebp),%ebx
4170e2:	33 c9                	xor    %ecx,%ecx
4170e4:	6a 5c                	push   $0x5c
4170e6:	5a                   	pop    %edx
4170e7:	8b c3                	mov    %ebx,%eax
4170e9:	f7 e2                	mul    %edx
4170eb:	0f 90 c1             	seto   %cl
4170ee:	f7 d9                	neg    %ecx
4170f0:	0b c8                	or     %eax,%ecx
4170f2:	51                   	push   %ecx
4170f3:	e8 1a 0c 01 00       	call   0x427d12
4170f8:	8b f8                	mov    %eax,%edi
4170fa:	89 7d fc             	mov    %edi,-0x4(%ebp)
4170fd:	59                   	pop    %ecx
4170fe:	85 ff                	test   %edi,%edi
417100:	75 32                	jne    0x417134
417102:	a1 00 b0 42 00       	mov    0x42b000,%eax
417107:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
41710c:	0f 84 52 01 00 00    	je     0x417264
417112:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
417116:	0f 84 48 01 00 00    	je     0x417264
41711c:	ff 70 14             	push   0x14(%eax)
41711f:	ba f4 3c 40 00       	mov    $0x403cf4,%edx
417124:	ff 70 10             	push   0x10(%eax)
417127:	6a 1a                	push   $0x1a
417129:	59                   	pop    %ecx
41712a:	e8 81 02 ff ff       	call   0x4073b0
41712f:	e9 30 01 00 00       	jmp    0x417264
417134:	8b 75 f0             	mov    -0x10(%ebp),%esi
417137:	8d 4d f4             	lea    -0xc(%ebp),%ecx
41713a:	6b c3 5c             	imul   $0x5c,%ebx,%eax
41713d:	51                   	push   %ecx
41713e:	50                   	push   %eax
41713f:	57                   	push   %edi
417140:	ff 75 f8             	push   -0x8(%ebp)
417143:	89 45 ec             	mov    %eax,-0x14(%ebp)
417146:	ff 76 04             	push   0x4(%esi)
417149:	ff 15 38 c1 42 00    	call   *0x42c138
41714f:	85 c0                	test   %eax,%eax
417151:	0f 84 d1 00 00 00    	je     0x417228
417157:	8b 45 ec             	mov    -0x14(%ebp),%eax
41715a:	39 45 f4             	cmp    %eax,-0xc(%ebp)
41715d:	0f 85 c5 00 00 00    	jne    0x417228
417163:	33 d2                	xor    %edx,%edx
417165:	85 db                	test   %ebx,%ebx
417167:	0f 84 b7 00 00 00    	je     0x417224
41716d:	8b cf                	mov    %edi,%ecx
41716f:	8b 01                	mov    (%ecx),%eax
417171:	89 45 ec             	mov    %eax,-0x14(%ebp)
417174:	85 c0                	test   %eax,%eax
417176:	0f 84 a8 00 00 00    	je     0x417224
41717c:	8b 7d fc             	mov    -0x4(%ebp),%edi
41717f:	39 86 a8 00 00 00    	cmp    %eax,0xa8(%esi)
417185:	72 0d                	jb     0x417194
417187:	8b 41 04             	mov    0x4(%ecx),%eax
41718a:	03 01                	add    (%ecx),%eax
41718c:	39 86 a8 00 00 00    	cmp    %eax,0xa8(%esi)
417192:	72 0d                	jb     0x4171a1
417194:	42                   	inc    %edx
417195:	83 c1 5c             	add    $0x5c,%ecx
417198:	3b d3                	cmp    %ebx,%edx
41719a:	72 d3                	jb     0x41716f
41719c:	e9 83 00 00 00       	jmp    0x417224
4171a1:	8b 45 08             	mov    0x8(%ebp),%eax
4171a4:	8d 4e 60             	lea    0x60(%esi),%ecx
4171a7:	6b da 5c             	imul   $0x5c,%edx,%ebx
4171aa:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
4171b0:	8b 86 a8 00 00 00    	mov    0xa8(%esi),%eax
4171b6:	2b 45 ec             	sub    -0x14(%ebp),%eax
4171b9:	89 86 a0 00 00 00    	mov    %eax,0xa0(%esi)
4171bf:	33 c0                	xor    %eax,%eax
4171c1:	66 89 44 3b 52       	mov    %ax,0x52(%ebx,%edi,1)
4171c6:	8b 44 3b 0c          	mov    0xc(%ebx,%edi,1),%eax
4171ca:	89 86 80 00 00 00    	mov    %eax,0x80(%esi)
4171d0:	8b 44 3b 04          	mov    0x4(%ebx,%edi,1),%eax
4171d4:	83 c7 14             	add    $0x14,%edi
4171d7:	03 fb                	add    %ebx,%edi
4171d9:	89 86 84 00 00 00    	mov    %eax,0x84(%esi)
4171df:	57                   	push   %edi
4171e0:	e8 d3 4e ff ff       	call   0x40c0b8
4171e5:	57                   	push   %edi
4171e6:	8d 4e 6c             	lea    0x6c(%esi),%ecx
4171e9:	e8 ca 4e ff ff       	call   0x40c0b8
4171ee:	68 d0 3b 40 00       	push   $0x403bd0
4171f3:	8d 4e 6c             	lea    0x6c(%esi),%ecx
4171f6:	e8 70 50 ff ff       	call   0x40c26b
4171fb:	8b 7d fc             	mov    -0x4(%ebp),%edi
4171fe:	8b 4d 0c             	mov    0xc(%ebp),%ecx
417201:	66 8b 44 3b 56       	mov    0x56(%ebx,%edi,1),%ax
417206:	66 89 01             	mov    %ax,(%ecx)
417209:	66 8b 44 3b 54       	mov    0x54(%ebx,%edi,1),%ax
41720e:	66 89 41 02          	mov    %ax,0x2(%ecx)
417212:	66 8b 44 3b 5a       	mov    0x5a(%ebx,%edi,1),%ax
417217:	66 89 41 04          	mov    %ax,0x4(%ecx)
41721b:	66 8b 44 3b 58       	mov    0x58(%ebx,%edi,1),%ax
417220:	66 89 41 06          	mov    %ax,0x6(%ecx)
417224:	33 f6                	xor    %esi,%esi
417226:	eb 35                	jmp    0x41725d
417228:	ff 15 18 c2 42 00    	call   *0x42c218
41722e:	8b c8                	mov    %eax,%ecx
417230:	e8 75 43 ff ff       	call   0x40b5aa
417235:	8b f0                	mov    %eax,%esi
417237:	a1 00 b0 42 00       	mov    0x42b000,%eax
41723c:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
417241:	74 1a                	je     0x41725d
417243:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
417247:	74 14                	je     0x41725d
417249:	56                   	push   %esi
41724a:	ff 70 14             	push   0x14(%eax)
41724d:	ba f4 3c 40 00       	mov    $0x403cf4,%edx
417252:	ff 70 10             	push   0x10(%eax)
417255:	6a 1b                	push   $0x1b
417257:	59                   	pop    %ecx
417258:	e8 71 01 ff ff       	call   0x4073ce
41725d:	57                   	push   %edi
41725e:	e8 d8 0a 01 00       	call   0x427d3b
417263:	59                   	pop    %ecx
417264:	5f                   	pop    %edi
417265:	8b c6                	mov    %esi,%eax
417267:	5e                   	pop    %esi
417268:	5b                   	pop    %ebx
417269:	c9                   	leave
41726a:	c2 08 00             	ret    $0x8
41726d:	8b ff                	mov    %edi,%edi
41726f:	55                   	push   %ebp
417270:	8b ec                	mov    %esp,%ebp
417272:	81 ec 9c 00 00 00    	sub    $0x9c,%esp
417278:	a1 74 b6 42 00       	mov    0x42b674,%eax
41727d:	33 c5                	xor    %ebp,%eax
41727f:	89 45 fc             	mov    %eax,-0x4(%ebp)
417282:	53                   	push   %ebx
417283:	56                   	push   %esi
417284:	57                   	push   %edi
417285:	bb 84 00 00 00       	mov    $0x84,%ebx
41728a:	8d 85 70 ff ff ff    	lea    -0x90(%ebp),%eax
417290:	53                   	push   %ebx
417291:	6a 00                	push   $0x0
417293:	50                   	push   %eax
417294:	8b f9                	mov    %ecx,%edi
417296:	e8 12 11 01 00       	call   0x4283ad
41729b:	83 a5 6c ff ff ff 00 	andl   $0x0,-0x94(%ebp)