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)
4172a2:	83 c4 0c             	add    $0xc,%esp
4172a5:	b9 48 24 40 00       	mov    $0x402448,%ecx
4172aa:	e8 d0 a8 ff ff       	call   0x411b7f
4172af:	89 85 68 ff ff ff    	mov    %eax,-0x98(%ebp)
4172b5:	85 c0                	test   %eax,%eax
4172b7:	75 2f                	jne    0x4172e8
4172b9:	a1 00 b0 42 00       	mov    0x42b000,%eax
4172be:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
4172c3:	74 19                	je     0x4172de
4172c5:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
4172c9:	74 13                	je     0x4172de
4172cb:	ff 70 14             	push   0x14(%eax)
4172ce:	ba f4 3c 40 00       	mov    $0x403cf4,%edx
4172d3:	ff 70 10             	push   0x10(%eax)
4172d6:	6a 1c                	push   $0x1c
4172d8:	59                   	pop    %ecx
4172d9:	e8 d2 00 ff ff       	call   0x4073b0
4172de:	be 85 04 07 80       	mov    $0x80070485,%esi
4172e3:	e9 e4 01 00 00       	jmp    0x4174cc
4172e8:	68 e4 3b 40 00       	push   $0x403be4
4172ed:	50                   	push   %eax
4172ee:	ff 15 84 c1 42 00    	call   *0x42c184
4172f4:	8b f0                	mov    %eax,%esi
4172f6:	85 f6                	test   %esi,%esi
4172f8:	75 3d                	jne    0x417337
4172fa:	ff 15 18 c2 42 00    	call   *0x42c218
417300:	8b f0                	mov    %eax,%esi
417302:	85 f6                	test   %esi,%esi
417304:	7e 09                	jle    0x41730f
417306:	0f b7 f6             	movzwl %si,%esi
417309:	81 ce 00 00 07 80    	or     $0x80070000,%esi
41730f:	a1 00 b0 42 00       	mov    0x42b000,%eax
417314:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
417319:	0f 84 a1 01 00 00    	je     0x4174c0
41731f:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
417323:	0f 84 97 01 00 00    	je     0x4174c0
417329:	56                   	push   %esi
41732a:	ff 70 14             	push   0x14(%eax)
41732d:	ff 70 10             	push   0x10(%eax)
417330:	6a 1d                	push   $0x1d
417332:	e9 7e 01 00 00       	jmp    0x4174b5
417337:	8b ce                	mov    %esi,%ecx
417339:	ff 15 d4 c4 42 00    	call   *0x42c4d4
41733f:	ff d6                	call   *%esi
417341:	85 c0                	test   %eax,%eax
417343:	75 2f                	jne    0x417374
417345:	a1 00 b0 42 00       	mov    0x42b000,%eax
41734a:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
41734f:	74 19                	je     0x41736a
417351:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
417355:	74 13                	je     0x41736a
417357:	ff 70 14             	push   0x14(%eax)
41735a:	ba f4 3c 40 00       	mov    $0x403cf4,%edx
41735f:	ff 70 10             	push   0x10(%eax)
417362:	6a 1e                	push   $0x1e
417364:	59                   	pop    %ecx
417365:	e8 46 00 ff ff       	call   0x4073b0
41736a:	be 05 40 00 80       	mov    $0x80004005,%esi
41736f:	e9 4c 01 00 00       	jmp    0x4174c0
417374:	8d 8d 6c ff ff ff    	lea    -0x94(%ebp),%ecx
41737a:	51                   	push   %ecx
41737b:	53                   	push   %ebx
41737c:	8d 8d 70 ff ff ff    	lea    -0x90(%ebp),%ecx
417382:	51                   	push   %ecx
417383:	50                   	push   %eax
417384:	ff 77 04             	push   0x4(%edi)
417387:	ff 15 38 c1 42 00    	call   *0x42c138
41738d:	85 c0                	test   %eax,%eax
41738f:	0f 84 f6 00 00 00    	je     0x41748b
417395:	39 9d 6c ff ff ff    	cmp    %ebx,-0x94(%ebp)
41739b:	0f 85 ea 00 00 00    	jne    0x41748b
4173a1:	8b 85 70 ff ff ff    	mov    -0x90(%ebp),%eax
4173a7:	3b 87 a4 00 00 00    	cmp    0xa4(%edi),%eax
4173ad:	74 37                	je     0x4173e6
4173af:	be 05 40 00 80       	mov    $0x80004005,%esi
4173b4:	a1 00 b0 42 00       	mov    0x42b000,%eax
4173b9:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
4173be:	0f 84 fc 00 00 00    	je     0x4174c0
4173c4:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
4173c8:	0f 84 f2 00 00 00    	je     0x4174c0
4173ce:	ff 70 14             	push   0x14(%eax)
4173d1:	ba f4 3c 40 00       	mov    $0x403cf4,%edx
4173d6:	ff 70 10             	push   0x10(%eax)
4173d9:	6a 20                	push   $0x20
4173db:	59                   	pop    %ecx
4173dc:	e8 cf ff fe ff       	call   0x4073b0
4173e1:	e9 da 00 00 00       	jmp    0x4174c0
4173e6:	33 c0                	xor    %eax,%eax
4173e8:	8d 4f 60             	lea    0x60(%edi),%ecx
4173eb:	66 89 45 b2          	mov    %ax,-0x4e(%ebp)
4173ef:	8d 85 74 ff ff ff    	lea    -0x8c(%ebp),%eax
4173f5:	50                   	push   %eax
4173f6:	e8 bd 4c ff ff       	call   0x40c0b8
4173fb:	8b f0                	mov    %eax,%esi
4173fd:	85 f6                	test   %esi,%esi
4173ff:	79 28                	jns    0x417429
417401:	a1 00 b0 42 00       	mov    0x42b000,%eax
417406:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
41740b:	0f 84 af 00 00 00    	je     0x4174c0
417411:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
417415:	0f 84 a5 00 00 00    	je     0x4174c0
41741b:	56                   	push   %esi
41741c:	ff 70 14             	push   0x14(%eax)
41741f:	ff 70 10             	push   0x10(%eax)
417422:	6a 21                	push   $0x21
417424:	e9 8c 00 00 00       	jmp    0x4174b5
417429:	8d 85 74 ff ff ff    	lea    -0x8c(%ebp),%eax
41742f:	8d 5f 6c             	lea    0x6c(%edi),%ebx
417432:	50                   	push   %eax
417433:	8b cb                	mov    %ebx,%ecx
417435:	e8 7e 4c ff ff       	call   0x40c0b8
41743a:	8b f0                	mov    %eax,%esi
41743c:	85 f6                	test   %esi,%esi
41743e:	79 1d                	jns    0x41745d
417440:	a1 00 b0 42 00       	mov    0x42b000,%eax
417445:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
41744a:	74 74                	je     0x4174c0
41744c:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
417450:	74 6e                	je     0x4174c0
417452:	56                   	push   %esi
417453:	ff 70 14             	push   0x14(%eax)
417456:	ff 70 10             	push   0x10(%eax)
417459:	6a 22                	push   $0x22
41745b:	eb 58                	jmp    0x4174b5
41745d:	81 bf a4 00 00 00 39 	cmpl   $0xc0000139,0xa4(%edi)
417464:	01 00 c0
417467:	75 1e                	jne    0x417487
417469:	66 83 7d b4 00       	cmpw   $0x0,-0x4c(%ebp)
41746e:	74 17                	je     0x417487
417470:	68 20 2b 40 00       	push   $0x402b20
417475:	8b cb                	mov    %ebx,%ecx
417477:	e8 ef 4d ff ff       	call   0x40c26b
41747c:	8d 45 b4             	lea    -0x4c(%ebp),%eax
41747f:	8b cb                	mov    %ebx,%ecx
417481:	50                   	push   %eax
417482:	e8 e4 4d ff ff       	call   0x40c26b
417487:	33 f6                	xor    %esi,%esi
417489:	eb 35                	jmp    0x4174c0
41748b:	ff 15 18 c2 42 00    	call   *0x42c218
417491:	8b c8                	mov    %eax,%ecx
417493:	e8 12 41 ff ff       	call   0x40b5aa
417498:	8b f0                	mov    %eax,%esi
41749a:	a1 00 b0 42 00       	mov    0x42b000,%eax
41749f:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
4174a4:	74 1a                	je     0x4174c0
4174a6:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
4174aa:	74 14                	je     0x4174c0
4174ac:	56                   	push   %esi
4174ad:	ff 70 14             	push   0x14(%eax)
4174b0:	ff 70 10             	push   0x10(%eax)
4174b3:	6a 1f                	push   $0x1f
4174b5:	ba f4 3c 40 00       	mov    $0x403cf4,%edx
4174ba:	59                   	pop    %ecx
4174bb:	e8 0e ff fe ff       	call   0x4073ce
4174c0:	ff b5 68 ff ff ff    	push   -0x98(%ebp)
4174c6:	ff 15 28 c1 42 00    	call   *0x42c128
4174cc:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4174cf:	8b c6                	mov    %esi,%eax
4174d1:	5f                   	pop    %edi
4174d2:	5e                   	pop    %esi
4174d3:	33 cd                	xor    %ebp,%ecx
4174d5:	5b                   	pop    %ebx
4174d6:	e8 05 06 01 00       	call   0x427ae0
4174db:	c9                   	leave
4174dc:	c3                   	ret
4174dd:	8b ff                	mov    %edi,%edi
4174df:	55                   	push   %ebp
4174e0:	8b ec                	mov    %esp,%ebp
4174e2:	81 ec b8 06 00 00    	sub    $0x6b8,%esp
4174e8:	a1 74 b6 42 00       	mov    0x42b674,%eax
4174ed:	33 c5                	xor    %ebp,%eax
4174ef:	89 45 f8             	mov    %eax,-0x8(%ebp)
4174f2:	8b 45 10             	mov    0x10(%ebp),%eax
4174f5:	53                   	push   %ebx
4174f6:	8b 5d 08             	mov    0x8(%ebp),%ebx