4311eb:	75 0d                	jne    0x4311fa
4311ed:	e8 b6 37 00 00       	call   0x4349a8
4311f2:	c7 00 18 00 00 00    	movl   $0x18,(%eax)
4311f8:	eb c9                	jmp    0x4311c3
4311fa:	89 7d fc             	mov    %edi,-0x4(%ebp)
4311fd:	66 39 3b             	cmp    %di,(%ebx)
431200:	75 20                	jne    0x431222
431202:	e8 a1 37 00 00       	call   0x4349a8
431207:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
43120d:	6a fe                	push   $0xfffffffe
43120f:	8d 45 f0             	lea    -0x10(%ebp),%eax
431212:	50                   	push   %eax
431213:	68 a8 f6 46 00       	push   $0x46f6a8
431218:	e8 c3 8f 00 00       	call   0x43a1e0
43121d:	83 c4 0c             	add    $0xc,%esp
431220:	eb a1                	jmp    0x4311c3
431222:	50                   	push   %eax
431223:	ff 75 10             	push   0x10(%ebp)
431226:	56                   	push   %esi
431227:	53                   	push   %ebx
431228:	e8 bd 8b 00 00       	call   0x439dea
43122d:	83 c4 10             	add    $0x10,%esp
431230:	89 45 e4             	mov    %eax,-0x1c(%ebp)
431233:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
43123a:	e8 09 00 00 00       	call   0x431248
43123f:	8b 45 e4             	mov    -0x1c(%ebp),%eax
431242:	e8 7e 3b 00 00       	call   0x434dc5
431247:	c3                   	ret
431248:	ff 75 08             	push   0x8(%ebp)
43124b:	e8 42 f2 ff ff       	call   0x430492
431250:	59                   	pop    %ecx
431251:	c3                   	ret
431252:	8b ff                	mov    %edi,%edi
431254:	55                   	push   %ebp
431255:	8b ec                	mov    %esp,%ebp
431257:	6a 40                	push   $0x40
431259:	ff 75 0c             	push   0xc(%ebp)
43125c:	ff 75 08             	push   0x8(%ebp)
43125f:	e8 30 ff ff ff       	call   0x431194
431264:	83 c4 0c             	add    $0xc,%esp
431267:	5d                   	pop    %ebp
431268:	c3                   	ret
431269:	8b ff                	mov    %edi,%edi
43126b:	55                   	push   %ebp
43126c:	8b ec                	mov    %esp,%ebp
43126e:	56                   	push   %esi
43126f:	8b 75 08             	mov    0x8(%ebp),%esi
431272:	85 f6                	test   %esi,%esi
431274:	75 13                	jne    0x431289
431276:	e8 2d 37 00 00       	call   0x4349a8
43127b:	6a 16                	push   $0x16
43127d:	5e                   	pop    %esi
43127e:	89 30                	mov    %esi,(%eax)
431280:	e8 e9 30 00 00       	call   0x43436e
431285:	8b c6                	mov    %esi,%eax
431287:	eb 24                	jmp    0x4312ad
431289:	68 80 00 00 00       	push   $0x80
43128e:	ff 75 10             	push   0x10(%ebp)
431291:	ff 75 0c             	push   0xc(%ebp)
431294:	e8 fb fe ff ff       	call   0x431194
431299:	83 c4 0c             	add    $0xc,%esp
43129c:	89 06                	mov    %eax,(%esi)
43129e:	85 c0                	test   %eax,%eax
4312a0:	74 04                	je     0x4312a6
4312a2:	33 c0                	xor    %eax,%eax
4312a4:	eb 07                	jmp    0x4312ad
4312a6:	e8 fd 36 00 00       	call   0x4349a8
4312ab:	8b 00                	mov    (%eax),%eax
4312ad:	5e                   	pop    %esi
4312ae:	5d                   	pop    %ebp
4312af:	c3                   	ret
4312b0:	8b ff                	mov    %edi,%edi
4312b2:	55                   	push   %ebp
4312b3:	8b ec                	mov    %esp,%ebp
4312b5:	8b 45 08             	mov    0x8(%ebp),%eax
4312b8:	85 c0                	test   %eax,%eax
4312ba:	75 14                	jne    0x4312d0
4312bc:	e8 e7 36 00 00       	call   0x4349a8
4312c1:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
4312c7:	e8 a2 30 00 00       	call   0x43436e
4312cc:	33 c0                	xor    %eax,%eax
4312ce:	5d                   	pop    %ebp
4312cf:	c3                   	ret
4312d0:	8b 40 0c             	mov    0xc(%eax),%eax
4312d3:	83 e0 10             	and    $0x10,%eax
4312d6:	5d                   	pop    %ebp
4312d7:	c3                   	ret
4312d8:	8b ff                	mov    %edi,%edi
4312da:	55                   	push   %ebp
4312db:	8b ec                	mov    %esp,%ebp
4312dd:	8b 45 08             	mov    0x8(%ebp),%eax
4312e0:	85 c0                	test   %eax,%eax
4312e2:	75 14                	jne    0x4312f8
4312e4:	e8 bf 36 00 00       	call   0x4349a8
4312e9:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
4312ef:	e8 7a 30 00 00       	call   0x43436e
4312f4:	33 c0                	xor    %eax,%eax
4312f6:	5d                   	pop    %ebp
4312f7:	c3                   	ret
4312f8:	8b 40 0c             	mov    0xc(%eax),%eax
4312fb:	83 e0 20             	and    $0x20,%eax
4312fe:	5d                   	pop    %ebp
4312ff:	c3                   	ret
431300:	8b ff                	mov    %edi,%edi
431302:	55                   	push   %ebp
431303:	8b ec                	mov    %esp,%ebp
431305:	83 ec 10             	sub    $0x10,%esp
431308:	8b 4d 08             	mov    0x8(%ebp),%ecx
43130b:	53                   	push   %ebx
43130c:	8b 5d 0c             	mov    0xc(%ebp),%ebx
43130f:	56                   	push   %esi
431310:	57                   	push   %edi
431311:	8b 7d 10             	mov    0x10(%ebp),%edi
431314:	89 4d f8             	mov    %ecx,-0x8(%ebp)
431317:	89 5d fc             	mov    %ebx,-0x4(%ebp)
43131a:	85 ff                	test   %edi,%edi
43131c:	74 1a                	je     0x431338
43131e:	83 7d 14 00          	cmpl   $0x0,0x14(%ebp)
431322:	74 14                	je     0x431338
431324:	85 c9                	test   %ecx,%ecx
431326:	75 17                	jne    0x43133f
431328:	e8 7b 36 00 00       	call   0x4349a8
43132d:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
431333:	e8 36 30 00 00       	call   0x43436e
431338:	33 c0                	xor    %eax,%eax
43133a:	5f                   	pop    %edi
43133b:	5e                   	pop    %esi
43133c:	5b                   	pop    %ebx
43133d:	c9                   	leave
43133e:	c3                   	ret
43133f:	8b 75 18             	mov    0x18(%ebp),%esi
431342:	85 f6                	test   %esi,%esi
431344:	74 0c                	je     0x431352
431346:	83 c8 ff             	or     $0xffffffff,%eax
431349:	33 d2                	xor    %edx,%edx
43134b:	f7 f7                	div    %edi
43134d:	39 45 14             	cmp    %eax,0x14(%ebp)
431350:	76 21                	jbe    0x431373
431352:	83 fb ff             	cmp    $0xffffffff,%ebx
431355:	74 0c                	je     0x431363
431357:	53                   	push   %ebx
431358:	6a 00                	push   $0x0
43135a:	51                   	push   %ecx
43135b:	e8 10 f8 ff ff       	call   0x430b70
431360:	83 c4 0c             	add    $0xc,%esp
431363:	85 f6                	test   %esi,%esi
431365:	74 c1                	je     0x431328
431367:	83 c8 ff             	or     $0xffffffff,%eax
43136a:	33 d2                	xor    %edx,%edx
43136c:	f7 f7                	div    %edi
43136e:	39 45 14             	cmp    %eax,0x14(%ebp)
431371:	77 b5                	ja     0x431328
431373:	0f af 7d 14          	imul   0x14(%ebp),%edi
431377:	f7 46 0c 0c 01 00 00 	testl  $0x10c,0xc(%esi)
43137e:	89 7d f0             	mov    %edi,-0x10(%ebp)
431381:	8b df                	mov    %edi,%ebx
431383:	74 08                	je     0x43138d
431385:	8b 46 18             	mov    0x18(%esi),%eax
431388:	89 45 f4             	mov    %eax,-0xc(%ebp)
43138b:	eb 07                	jmp    0x431394
43138d:	c7 45 f4 00 10 00 00 	movl   $0x1000,-0xc(%ebp)
431394:	85 ff                	test   %edi,%edi
431396:	0f 84 da 00 00 00    	je     0x431476
43139c:	f7 46 0c 0c 01 00 00 	testl  $0x10c,0xc(%esi)
4313a3:	74 44                	je     0x4313e9
4313a5:	8b 46 04             	mov    0x4(%esi),%eax
4313a8:	85 c0                	test   %eax,%eax
4313aa:	74 3d                	je     0x4313e9
4313ac:	0f 88 f2 00 00 00    	js     0x4314a4
4313b2:	8b fb                	mov    %ebx,%edi
4313b4:	3b d8                	cmp    %eax,%ebx
4313b6:	72 02                	jb     0x4313ba
4313b8:	8b f8                	mov    %eax,%edi
4313ba:	3b 7d fc             	cmp    -0x4(%ebp),%edi
4313bd:	0f 87 bb 00 00 00    	ja     0x43147e
4313c3:	57                   	push   %edi
4313c4:	ff 36                	push   (%esi)
4313c6:	ff 75 fc             	push   -0x4(%ebp)
4313c9:	ff 75 f8             	push   -0x8(%ebp)
4313cc:	e8 83 90 00 00       	call   0x43a454
4313d1:	29 7e 04             	sub    %edi,0x4(%esi)
4313d4:	01 3e                	add    %edi,(%esi)
4313d6:	01 7d f8             	add    %edi,-0x8(%ebp)
4313d9:	2b df                	sub    %edi,%ebx
4313db:	83 c4 10             	add    $0x10,%esp
4313de:	29 7d fc             	sub    %edi,-0x4(%ebp)
4313e1:	8b 7d f0             	mov    -0x10(%ebp),%edi
4313e4:	e9 85 00 00 00       	jmp    0x43146e
4313e9:	3b 5d f4             	cmp    -0xc(%ebp),%ebx
4313ec:	72 5c                	jb     0x43144a
4313ee:	83 7d f4 00          	cmpl   $0x0,-0xc(%ebp)
4313f2:	74 1f                	je     0x431413
4313f4:	b9 ff ff ff 7f       	mov    $0x7fffffff,%ecx
4313f9:	33 d2                	xor    %edx,%edx
4313fb:	3b d9                	cmp    %ecx,%ebx
4313fd:	76 09                	jbe    0x431408
4313ff:	8b c1                	mov    %ecx,%eax
431401:	f7 75 f4             	divl   -0xc(%ebp)
431404:	8b c1                	mov    %ecx,%eax
431406:	eb 07                	jmp    0x43140f
431408:	8b c3                	mov    %ebx,%eax
43140a:	f7 75 f4             	divl   -0xc(%ebp)
43140d:	8b c3                	mov    %ebx,%eax
43140f:	2b c2                	sub    %edx,%eax
431411:	eb 0b                	jmp    0x43141e
431413:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
431418:	3b d8                	cmp    %eax,%ebx
43141a:	77 02                	ja     0x43141e
43141c:	8b c3                	mov    %ebx,%eax
43141e:	3b 45 fc             	cmp    -0x4(%ebp),%eax
431421:	77 5b                	ja     0x43147e
431423:	50                   	push   %eax
431424:	ff 75 f8             	push   -0x8(%ebp)
431427:	56                   	push   %esi
431428:	e8 e5 4d 00 00       	call   0x436212
43142d:	59                   	pop    %ecx
43142e:	50                   	push   %eax
43142f:	e8 67 08 00 00       	call   0x431c9b
431434:	83 c4 0c             	add    $0xc,%esp
431437:	85 c0                	test   %eax,%eax
431439:	74 7b                	je     0x4314b6
43143b:	83 f8 ff             	cmp    $0xffffffff,%eax
43143e:	74 64                	je     0x4314a4
431440:	01 45 f8             	add    %eax,-0x8(%ebp)
431443:	2b d8                	sub    %eax,%ebx
431445:	29 45 fc             	sub    %eax,-0x4(%ebp)
431448:	eb 24                	jmp    0x43146e
43144a:	56                   	push   %esi
43144b:	e8 e2 8e 00 00       	call   0x43a332
431450:	59                   	pop    %ecx
431451:	83 f8 ff             	cmp    $0xffffffff,%eax
431454:	74 52                	je     0x4314a8
431456:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
43145a:	74 22                	je     0x43147e
43145c:	8b 4d f8             	mov    -0x8(%ebp),%ecx
43145f:	ff 45 f8             	incl   -0x8(%ebp)
431462:	88 01                	mov    %al,(%ecx)
431464:	8b 46 18             	mov    0x18(%esi),%eax
431467:	4b                   	dec    %ebx
431468:	ff 4d fc             	decl   -0x4(%ebp)
43146b:	89 45 f4             	mov    %eax,-0xc(%ebp)
43146e:	85 db                	test   %ebx,%ebx
431470:	0f 85 26 ff ff ff    	jne    0x43139c
431476:	8b 45 14             	mov    0x14(%ebp),%eax
431479:	e9 bc fe ff ff       	jmp    0x43133a
43147e:	83 7d 0c ff          	cmpl   $0xffffffff,0xc(%ebp)
431482:	74 10                	je     0x431494
431484:	ff 75 0c             	push   0xc(%ebp)
431487:	6a 00                	push   $0x0
431489:	ff 75 08             	push   0x8(%ebp)
43148c:	e8 df f6 ff ff       	call   0x430b70
431491:	83 c4 0c             	add    $0xc,%esp
431494:	e8 0f 35 00 00       	call   0x4349a8
431499:	c7 00 22 00 00 00    	movl   $0x22,(%eax)
43149f:	e9 8f fe ff ff       	jmp    0x431333
4314a4:	83 4e 0c 20          	orl    $0x20,0xc(%esi)
4314a8:	8b c7                	mov    %edi,%eax
4314aa:	2b c3                	sub    %ebx,%eax
4314ac:	33 d2                	xor    %edx,%edx
4314ae:	f7 75 10             	divl   0x10(%ebp)
4314b1:	e9 84 fe ff ff       	jmp    0x43133a
4314b6:	83 4e 0c 10          	orl    $0x10,0xc(%esi)
4314ba:	eb ec                	jmp    0x4314a8
4314bc:	8b ff                	mov    %edi,%edi
4314be:	55                   	push   %ebp
4314bf:	8b ec                	mov    %esp,%ebp
4314c1:	ff 75 14             	push   0x14(%ebp)
4314c4:	ff 75 10             	push   0x10(%ebp)
4314c7:	ff 75 0c             	push   0xc(%ebp)
4314ca:	6a ff                	push   $0xffffffff
4314cc:	ff 75 08             	push   0x8(%ebp)
4314cf:	e8 2c fe ff ff       	call   0x431300
4314d4:	83 c4 14             	add    $0x14,%esp
4314d7:	5d                   	pop    %ebp
4314d8:	c3                   	ret
4314d9:	6a 0c                	push   $0xc
4314db:	68 30 dc 46 00       	push   $0x46dc30
4314e0:	e8 9b 38 00 00       	call   0x434d80
4314e5:	33 f6                	xor    %esi,%esi
4314e7:	89 75 e4             	mov    %esi,-0x1c(%ebp)
4314ea:	39 75 10             	cmp    %esi,0x10(%ebp)
4314ed:	74 2f                	je     0x43151e
4314ef:	39 75 14             	cmp    %esi,0x14(%ebp)
4314f2:	74 2a                	je     0x43151e
4314f4:	39 75 18             	cmp    %esi,0x18(%ebp)
4314f7:	75 2d                	jne    0x431526
4314f9:	83 7d 0c ff          	cmpl   $0xffffffff,0xc(%ebp)
4314fd:	74 0f                	je     0x43150e
4314ff:	ff 75 0c             	push   0xc(%ebp)
431502:	56                   	push   %esi
431503:	ff 75 08             	push   0x8(%ebp)
431506:	e8 65 f6 ff ff       	call   0x430b70
43150b:	83 c4 0c             	add    $0xc,%esp
43150e:	e8 95 34 00 00       	call   0x4349a8
431513:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
431519:	e8 50 2e 00 00       	call   0x43436e
43151e:	33 c0                	xor    %eax,%eax
431520:	e8 a0 38 00 00       	call   0x434dc5
431525:	c3                   	ret
431526:	ff 75 18             	push   0x18(%ebp)
431529:	e8 f1 ee ff ff       	call   0x43041f
43152e:	59                   	pop    %ecx
43152f:	89 75 fc             	mov    %esi,-0x4(%ebp)
431532:	ff 75 18             	push   0x18(%ebp)
431535:	ff 75 14             	push   0x14(%ebp)
431538:	ff 75 10             	push   0x10(%ebp)
43153b:	ff 75 0c             	push   0xc(%ebp)
43153e:	ff 75 08             	push   0x8(%ebp)
431541:	e8 ba fd ff ff       	call   0x431300
431546:	83 c4 14             	add    $0x14,%esp
431549:	89 45 e4             	mov    %eax,-0x1c(%ebp)
43154c:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
431553:	e8 05 00 00 00       	call   0x43155d
431558:	8b 45 e4             	mov    -0x1c(%ebp),%eax
43155b:	eb c3                	jmp    0x431520
43155d:	ff 75 18             	push   0x18(%ebp)
431560:	e8 2d ef ff ff       	call   0x430492
431565:	59                   	pop    %ecx
431566:	c3                   	ret
431567:	8b ff                	mov    %edi,%edi
431569:	55                   	push   %ebp
43156a:	8b ec                	mov    %esp,%ebp
43156c:	ff 75 14             	push   0x14(%ebp)
43156f:	ff 75 10             	push   0x10(%ebp)
431572:	ff 75 0c             	push   0xc(%ebp)
431575:	6a ff                	push   $0xffffffff
431577:	ff 75 08             	push   0x8(%ebp)
43157a:	e8 5a ff ff ff       	call   0x4314d9
43157f:	83 c4 14             	add    $0x14,%esp
431582:	5d                   	pop    %ebp
431583:	c3                   	ret
431584:	8b ff                	mov    %edi,%edi
431586:	55                   	push   %ebp
431587:	8b ec                	mov    %esp,%ebp
431589:	56                   	push   %esi
43158a:	8b 75 08             	mov    0x8(%ebp),%esi
43158d:	57                   	push   %edi
43158e:	56                   	push   %esi
43158f:	e8 3c 90 00 00       	call   0x43a5d0
431594:	59                   	pop    %ecx
431595:	83 f8 ff             	cmp    $0xffffffff,%eax
431598:	74 50                	je     0x4315ea
43159a:	a1 80 17 47 00       	mov    0x471780,%eax
43159f:	83 fe 01             	cmp    $0x1,%esi
4315a2:	75 09                	jne    0x4315ad
4315a4:	f6 80 84 00 00 00 01 	testb  $0x1,0x84(%eax)
4315ab:	75 0b                	jne    0x4315b8
4315ad:	83 fe 02             	cmp    $0x2,%esi
4315b0:	75 1c                	jne    0x4315ce
4315b2:	f6 40 44 01          	testb  $0x1,0x44(%eax)