43619e:	83 fb 03             	cmp    $0x3,%ebx
4361a1:	0f 8c 68 ff ff ff    	jl     0x43610f
4361a7:	ff 35 2c 17 47 00    	push   0x47172c
4361ad:	ff 15 54 35 47 00    	call   *0x473554
4361b3:	33 c0                	xor    %eax,%eax
4361b5:	5f                   	pop    %edi
4361b6:	5b                   	pop    %ebx
4361b7:	5e                   	pop    %esi
4361b8:	c9                   	leave
4361b9:	c3                   	ret
4361ba:	83 c8 ff             	or     $0xffffffff,%eax
4361bd:	eb f6                	jmp    0x4361b5
4361bf:	8b ff                	mov    %edi,%edi
4361c1:	56                   	push   %esi
4361c2:	57                   	push   %edi
4361c3:	bf 80 17 47 00       	mov    $0x471780,%edi
4361c8:	8b 07                	mov    (%edi),%eax
4361ca:	85 c0                	test   %eax,%eax
4361cc:	74 36                	je     0x436204
4361ce:	8d 88 00 08 00 00    	lea    0x800(%eax),%ecx
4361d4:	3b c1                	cmp    %ecx,%eax
4361d6:	73 21                	jae    0x4361f9
4361d8:	8d 70 0c             	lea    0xc(%eax),%esi
4361db:	83 7e fc 00          	cmpl   $0x0,-0x4(%esi)
4361df:	74 07                	je     0x4361e8
4361e1:	56                   	push   %esi
4361e2:	ff 15 fc 34 47 00    	call   *0x4734fc
4361e8:	8b 07                	mov    (%edi),%eax
4361ea:	83 c6 40             	add    $0x40,%esi
4361ed:	05 00 08 00 00       	add    $0x800,%eax
4361f2:	8d 4e f4             	lea    -0xc(%esi),%ecx
4361f5:	3b c8                	cmp    %eax,%ecx
4361f7:	72 e2                	jb     0x4361db
4361f9:	ff 37                	push   (%edi)
4361fb:	e8 9d a7 ff ff       	call   0x43099d
436200:	83 27 00             	andl   $0x0,(%edi)
436203:	59                   	pop    %ecx
436204:	83 c7 04             	add    $0x4,%edi
436207:	81 ff 80 18 47 00    	cmp    $0x471880,%edi
43620d:	7c b9                	jl     0x4361c8
43620f:	5f                   	pop    %edi
436210:	5e                   	pop    %esi
436211:	c3                   	ret
436212:	8b ff                	mov    %edi,%edi
436214:	55                   	push   %ebp
436215:	8b ec                	mov    %esp,%ebp
436217:	8b 45 08             	mov    0x8(%ebp),%eax
43621a:	85 c0                	test   %eax,%eax
43621c:	75 15                	jne    0x436233
43621e:	e8 85 e7 ff ff       	call   0x4349a8
436223:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
436229:	e8 40 e1 ff ff       	call   0x43436e
43622e:	83 c8 ff             	or     $0xffffffff,%eax
436231:	5d                   	pop    %ebp
436232:	c3                   	ret
436233:	8b 40 10             	mov    0x10(%eax),%eax
436236:	5d                   	pop    %ebp
436237:	c3                   	ret
436238:	6a 0c                	push   $0xc
43623a:	68 40 de 46 00       	push   $0x46de40
43623f:	e8 3c eb ff ff       	call   0x434d80
436244:	33 f6                	xor    %esi,%esi
436246:	89 75 e4             	mov    %esi,-0x1c(%ebp)
436249:	33 c0                	xor    %eax,%eax
43624b:	8b 7d 0c             	mov    0xc(%ebp),%edi
43624e:	3b fe                	cmp    %esi,%edi
436250:	0f 95 c0             	setne  %al
436253:	3b c6                	cmp    %esi,%eax
436255:	75 18                	jne    0x43626f
436257:	e8 4c e7 ff ff       	call   0x4349a8
43625c:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
436262:	e8 07 e1 ff ff       	call   0x43436e
436267:	83 c8 ff             	or     $0xffffffff,%eax
43626a:	e9 c4 00 00 00       	jmp    0x436333
43626f:	33 c0                	xor    %eax,%eax
436271:	39 75 10             	cmp    %esi,0x10(%ebp)
436274:	0f 95 c0             	setne  %al
436277:	3b c6                	cmp    %esi,%eax
436279:	74 dc                	je     0x436257
43627b:	89 7d 0c             	mov    %edi,0xc(%ebp)
43627e:	57                   	push   %edi
43627f:	e8 9b a1 ff ff       	call   0x43041f
436284:	59                   	pop    %ecx
436285:	89 75 fc             	mov    %esi,-0x4(%ebp)
436288:	f6 47 0c 40          	testb  $0x40,0xc(%edi)
43628c:	75 6f                	jne    0x4362fd
43628e:	57                   	push   %edi
43628f:	e8 7e ff ff ff       	call   0x436212
436294:	59                   	pop    %ecx
436295:	83 f8 ff             	cmp    $0xffffffff,%eax
436298:	74 1b                	je     0x4362b5
43629a:	83 f8 fe             	cmp    $0xfffffffe,%eax
43629d:	74 16                	je     0x4362b5
43629f:	8b d0                	mov    %eax,%edx
4362a1:	c1 fa 05             	sar    $0x5,%edx
4362a4:	8b c8                	mov    %eax,%ecx
4362a6:	83 e1 1f             	and    $0x1f,%ecx
4362a9:	c1 e1 06             	shl    $0x6,%ecx
4362ac:	03 0c 95 80 17 47 00 	add    0x471780(,%edx,4),%ecx
4362b3:	eb 05                	jmp    0x4362ba
4362b5:	b9 68 f6 46 00       	mov    $0x46f668,%ecx
4362ba:	f6 41 24 7f          	testb  $0x7f,0x24(%ecx)
4362be:	75 29                	jne    0x4362e9
4362c0:	83 f8 ff             	cmp    $0xffffffff,%eax
4362c3:	74 19                	je     0x4362de
4362c5:	83 f8 fe             	cmp    $0xfffffffe,%eax
4362c8:	74 14                	je     0x4362de
4362ca:	8b c8                	mov    %eax,%ecx
4362cc:	c1 f9 05             	sar    $0x5,%ecx
4362cf:	83 e0 1f             	and    $0x1f,%eax
4362d2:	c1 e0 06             	shl    $0x6,%eax
4362d5:	03 04 8d 80 17 47 00 	add    0x471780(,%ecx,4),%eax
4362dc:	eb 05                	jmp    0x4362e3
4362de:	b8 68 f6 46 00       	mov    $0x46f668,%eax
4362e3:	f6 40 24 80          	testb  $0x80,0x24(%eax)
4362e7:	74 14                	je     0x4362fd
4362e9:	e8 ba e6 ff ff       	call   0x4349a8
4362ee:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
4362f4:	e8 75 e0 ff ff       	call   0x43436e
4362f9:	83 4d e4 ff          	orl    $0xffffffff,-0x1c(%ebp)
4362fd:	39 75 e4             	cmp    %esi,-0x1c(%ebp)
436300:	75 22                	jne    0x436324
436302:	57                   	push   %edi
436303:	e8 a5 ee ff ff       	call   0x4351ad
436308:	8b f0                	mov    %eax,%esi
43630a:	ff 75 18             	push   0x18(%ebp)
43630d:	ff 75 14             	push   0x14(%ebp)
436310:	ff 75 10             	push   0x10(%ebp)
436313:	57                   	push   %edi
436314:	ff 55 08             	call   *0x8(%ebp)
436317:	89 45 e4             	mov    %eax,-0x1c(%ebp)
43631a:	57                   	push   %edi
43631b:	56                   	push   %esi
43631c:	e8 28 ef ff ff       	call   0x435249
436321:	83 c4 1c             	add    $0x1c,%esp
436324:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
43632b:	e8 09 00 00 00       	call   0x436339
436330:	8b 45 e4             	mov    -0x1c(%ebp),%eax
436333:	e8 8d ea ff ff       	call   0x434dc5
436338:	c3                   	ret
436339:	ff 75 0c             	push   0xc(%ebp)
43633c:	e8 51 a1 ff ff       	call   0x430492
436341:	59                   	pop    %ecx
436342:	c3                   	ret
436343:	8b ff                	mov    %edi,%edi
436345:	55                   	push   %ebp
436346:	8b ec                	mov    %esp,%ebp
436348:	ff 75 14             	push   0x14(%ebp)
43634b:	ff 75 10             	push   0x10(%ebp)
43634e:	ff 75 0c             	push   0xc(%ebp)
436351:	ff 75 08             	push   0x8(%ebp)
436354:	68 72 53 43 00       	push   $0x435372
436359:	e8 da fe ff ff       	call   0x436238
43635e:	83 c4 14             	add    $0x14,%esp
436361:	5d                   	pop    %ebp
436362:	c3                   	ret
436363:	8b ff                	mov    %edi,%edi
436365:	55                   	push   %ebp
436366:	8b ec                	mov    %esp,%ebp
436368:	ff 75 14             	push   0x14(%ebp)
43636b:	ff 75 10             	push   0x10(%ebp)
43636e:	ff 75 0c             	push   0xc(%ebp)
436371:	ff 75 08             	push   0x8(%ebp)
436374:	68 b0 f3 43 00       	push   $0x43f3b0
436379:	e8 ba fe ff ff       	call   0x436238
43637e:	83 c4 14             	add    $0x14,%esp
436381:	5d                   	pop    %ebp
436382:	c3                   	ret
436383:	8b ff                	mov    %edi,%edi
436385:	55                   	push   %ebp
436386:	8b ec                	mov    %esp,%ebp
436388:	ff 75 14             	push   0x14(%ebp)
43638b:	ff 75 10             	push   0x10(%ebp)
43638e:	ff 75 0c             	push   0xc(%ebp)
436391:	ff 75 08             	push   0x8(%ebp)
436394:	68 df 01 44 00       	push   $0x4401df
436399:	e8 9a fe ff ff       	call   0x436238
43639e:	83 c4 14             	add    $0x14,%esp
4363a1:	5d                   	pop    %ebp
4363a2:	c3                   	ret
4363a3:	8b ff                	mov    %edi,%edi
4363a5:	55                   	push   %ebp
4363a6:	8b ec                	mov    %esp,%ebp
4363a8:	ff 75 10             	push   0x10(%ebp)
4363ab:	6a 00                	push   $0x0
4363ad:	ff 75 0c             	push   0xc(%ebp)
4363b0:	ff 75 08             	push   0x8(%ebp)
4363b3:	68 72 53 43 00       	push   $0x435372
4363b8:	e8 7b fe ff ff       	call   0x436238
4363bd:	83 c4 14             	add    $0x14,%esp
4363c0:	5d                   	pop    %ebp
4363c1:	c3                   	ret
4363c2:	8b ff                	mov    %edi,%edi
4363c4:	55                   	push   %ebp
4363c5:	8b ec                	mov    %esp,%ebp
4363c7:	ff 75 10             	push   0x10(%ebp)
4363ca:	6a 00                	push   $0x0
4363cc:	ff 75 0c             	push   0xc(%ebp)
4363cf:	ff 75 08             	push   0x8(%ebp)
4363d2:	68 b0 f3 43 00       	push   $0x43f3b0
4363d7:	e8 5c fe ff ff       	call   0x436238
4363dc:	83 c4 14             	add    $0x14,%esp
4363df:	5d                   	pop    %ebp
4363e0:	c3                   	ret
4363e1:	8b ff                	mov    %edi,%edi
4363e3:	55                   	push   %ebp
4363e4:	8b ec                	mov    %esp,%ebp
4363e6:	ff 75 10             	push   0x10(%ebp)
4363e9:	6a 00                	push   $0x0
4363eb:	ff 75 0c             	push   0xc(%ebp)
4363ee:	ff 75 08             	push   0x8(%ebp)
4363f1:	68 df 01 44 00       	push   $0x4401df
4363f6:	e8 3d fe ff ff       	call   0x436238
4363fb:	83 c4 14             	add    $0x14,%esp
4363fe:	5d                   	pop    %ebp
4363ff:	c3                   	ret
436400:	8b ff                	mov    %edi,%edi
436402:	55                   	push   %ebp
436403:	8b ec                	mov    %esp,%ebp
436405:	56                   	push   %esi
436406:	8b 75 08             	mov    0x8(%ebp),%esi
436409:	56                   	push   %esi
43640a:	ff 15 5c 35 47 00    	call   *0x47355c
436410:	81 c6 e8 03 00 00    	add    $0x3e8,%esi
436416:	3b 35 90 0f 47 00    	cmp    0x470f90,%esi
43641c:	76 03                	jbe    0x436421
43641e:	83 ce ff             	or     $0xffffffff,%esi
436421:	8b c6                	mov    %esi,%eax
436423:	5e                   	pop    %esi
436424:	5d                   	pop    %ebp
436425:	c3                   	ret
436426:	8b ff                	mov    %edi,%edi
436428:	55                   	push   %ebp
436429:	8b ec                	mov    %esp,%ebp
43642b:	8b 4d 08             	mov    0x8(%ebp),%ecx
43642e:	a1 90 0f 47 00       	mov    0x470f90,%eax
436433:	89 0d 90 0f 47 00    	mov    %ecx,0x470f90
436439:	5d                   	pop    %ebp
43643a:	c3                   	ret
43643b:	8b ff                	mov    %edi,%edi
43643d:	55                   	push   %ebp
43643e:	8b ec                	mov    %esp,%ebp
436440:	56                   	push   %esi
436441:	57                   	push   %edi
436442:	33 f6                	xor    %esi,%esi
436444:	ff 75 08             	push   0x8(%ebp)
436447:	e8 ca a5 ff ff       	call   0x430a16
43644c:	8b f8                	mov    %eax,%edi
43644e:	59                   	pop    %ecx
43644f:	85 ff                	test   %edi,%edi
436451:	75 27                	jne    0x43647a
436453:	39 05 90 0f 47 00    	cmp    %eax,0x470f90
436459:	76 1f                	jbe    0x43647a
43645b:	56                   	push   %esi
43645c:	ff 15 5c 35 47 00    	call   *0x47355c
436462:	8d 86 e8 03 00 00    	lea    0x3e8(%esi),%eax
436468:	3b 05 90 0f 47 00    	cmp    0x470f90,%eax
43646e:	76 03                	jbe    0x436473
436470:	83 c8 ff             	or     $0xffffffff,%eax
436473:	8b f0                	mov    %eax,%esi
436475:	83 f8 ff             	cmp    $0xffffffff,%eax
436478:	75 ca                	jne    0x436444
43647a:	8b c7                	mov    %edi,%eax
43647c:	5f                   	pop    %edi
43647d:	5e                   	pop    %esi
43647e:	5d                   	pop    %ebp
43647f:	c3                   	ret
436480:	8b ff                	mov    %edi,%edi
436482:	55                   	push   %ebp
436483:	8b ec                	mov    %esp,%ebp
436485:	56                   	push   %esi
436486:	57                   	push   %edi
436487:	33 f6                	xor    %esi,%esi
436489:	6a 00                	push   $0x0
43648b:	ff 75 0c             	push   0xc(%ebp)
43648e:	ff 75 08             	push   0x8(%ebp)
436491:	e8 6d b0 00 00       	call   0x441503
436496:	8b f8                	mov    %eax,%edi
436498:	83 c4 0c             	add    $0xc,%esp
43649b:	85 ff                	test   %edi,%edi
43649d:	75 27                	jne    0x4364c6
43649f:	39 05 90 0f 47 00    	cmp    %eax,0x470f90
4364a5:	76 1f                	jbe    0x4364c6
4364a7:	56                   	push   %esi
4364a8:	ff 15 5c 35 47 00    	call   *0x47355c
4364ae:	8d 86 e8 03 00 00    	lea    0x3e8(%esi),%eax
4364b4:	3b 05 90 0f 47 00    	cmp    0x470f90,%eax
4364ba:	76 03                	jbe    0x4364bf
4364bc:	83 c8 ff             	or     $0xffffffff,%eax
4364bf:	8b f0                	mov    %eax,%esi
4364c1:	83 f8 ff             	cmp    $0xffffffff,%eax
4364c4:	75 c3                	jne    0x436489
4364c6:	8b c7                	mov    %edi,%eax
4364c8:	5f                   	pop    %edi
4364c9:	5e                   	pop    %esi
4364ca:	5d                   	pop    %ebp
4364cb:	c3                   	ret
4364cc:	8b ff                	mov    %edi,%edi
4364ce:	55                   	push   %ebp
4364cf:	8b ec                	mov    %esp,%ebp
4364d1:	56                   	push   %esi
4364d2:	57                   	push   %edi
4364d3:	33 f6                	xor    %esi,%esi
4364d5:	ff 75 0c             	push   0xc(%ebp)
4364d8:	ff 75 08             	push   0x8(%ebp)
4364db:	e8 a5 b0 00 00       	call   0x441585
4364e0:	8b f8                	mov    %eax,%edi
4364e2:	59                   	pop    %ecx
4364e3:	59                   	pop    %ecx
4364e4:	85 ff                	test   %edi,%edi
4364e6:	75 2c                	jne    0x436514
4364e8:	39 45 0c             	cmp    %eax,0xc(%ebp)
4364eb:	74 27                	je     0x436514
4364ed:	39 05 90 0f 47 00    	cmp    %eax,0x470f90
4364f3:	76 1f                	jbe    0x436514
4364f5:	56                   	push   %esi
4364f6:	ff 15 5c 35 47 00    	call   *0x47355c
4364fc:	8d 86 e8 03 00 00    	lea    0x3e8(%esi),%eax
436502:	3b 05 90 0f 47 00    	cmp    0x470f90,%eax
436508:	76 03                	jbe    0x43650d
43650a:	83 c8 ff             	or     $0xffffffff,%eax
43650d:	8b f0                	mov    %eax,%esi
43650f:	83 f8 ff             	cmp    $0xffffffff,%eax
436512:	75 c1                	jne    0x4364d5
436514:	8b c7                	mov    %edi,%eax
436516:	5f                   	pop    %edi
436517:	5e                   	pop    %esi
436518:	5d                   	pop    %ebp
436519:	c3                   	ret
43651a:	8b ff                	mov    %edi,%edi
43651c:	55                   	push   %ebp
43651d:	8b ec                	mov    %esp,%ebp
43651f:	56                   	push   %esi
436520:	57                   	push   %edi
436521:	33 f6                	xor    %esi,%esi
436523:	ff 75 10             	push   0x10(%ebp)
436526:	ff 75 0c             	push   0xc(%ebp)
436529:	ff 75 08             	push   0x8(%ebp)
43652c:	e8 01 b1 00 00       	call   0x441632
436531:	8b f8                	mov    %eax,%edi
436533:	83 c4 0c             	add    $0xc,%esp
436536:	85 ff                	test   %edi,%edi
436538:	75 2c                	jne    0x436566
43653a:	39 45 10             	cmp    %eax,0x10(%ebp)
43653d:	74 27                	je     0x436566
43653f:	39 05 90 0f 47 00    	cmp    %eax,0x470f90
436545:	76 1f                	jbe    0x436566
436547:	56                   	push   %esi
436548:	ff 15 5c 35 47 00    	call   *0x47355c
43654e:	8d 86 e8 03 00 00    	lea    0x3e8(%esi),%eax