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
436554:	3b 05 90 0f 47 00    	cmp    0x470f90,%eax
43655a:	76 03                	jbe    0x43655f
43655c:	83 c8 ff             	or     $0xffffffff,%eax
43655f:	8b f0                	mov    %eax,%esi
436561:	83 f8 ff             	cmp    $0xffffffff,%eax
436564:	75 bd                	jne    0x436523
436566:	8b c7                	mov    %edi,%eax
436568:	5f                   	pop    %edi
436569:	5e                   	pop    %esi
43656a:	5d                   	pop    %ebp
43656b:	c3                   	ret
43656c:	6a 10                	push   $0x10
43656e:	68 60 de 46 00       	push   $0x46de60
436573:	e8 08 e8 ff ff       	call   0x434d80
436578:	33 db                	xor    %ebx,%ebx
43657a:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
43657d:	6a 01                	push   $0x1
43657f:	e8 9d d3 ff ff       	call   0x433921
436584:	59                   	pop    %ecx
436585:	89 5d fc             	mov    %ebx,-0x4(%ebp)
436588:	6a 03                	push   $0x3
43658a:	5f                   	pop    %edi
43658b:	89 7d e0             	mov    %edi,-0x20(%ebp)
43658e:	3b 3d e0 2b 47 00    	cmp    0x472be0,%edi
436594:	7d 54                	jge    0x4365ea
436596:	8b f7                	mov    %edi,%esi
436598:	a1 a0 18 47 00       	mov    0x4718a0,%eax
43659d:	39 1c b0             	cmp    %ebx,(%eax,%esi,4)
4365a0:	74 45                	je     0x4365e7
4365a2:	8b 04 b0             	mov    (%eax,%esi,4),%eax
4365a5:	f6 40 0c 83          	testb  $0x83,0xc(%eax)
4365a9:	74 0f                	je     0x4365ba
4365ab:	50                   	push   %eax
4365ac:	e8 6f ab ff ff       	call   0x431120
4365b1:	59                   	pop    %ecx
4365b2:	83 f8 ff             	cmp    $0xffffffff,%eax
4365b5:	74 03                	je     0x4365ba
4365b7:	ff 45 e4             	incl   -0x1c(%ebp)
4365ba:	83 ff 14             	cmp    $0x14,%edi
4365bd:	7c 28                	jl     0x4365e7
4365bf:	a1 a0 18 47 00       	mov    0x4718a0,%eax
4365c4:	8b 04 b0             	mov    (%eax,%esi,4),%eax
4365c7:	83 c0 20             	add    $0x20,%eax
4365ca:	50                   	push   %eax
4365cb:	ff 15 fc 34 47 00    	call   *0x4734fc
4365d1:	a1 a0 18 47 00       	mov    0x4718a0,%eax
4365d6:	ff 34 b0             	push   (%eax,%esi,4)
4365d9:	e8 bf a3 ff ff       	call   0x43099d
4365de:	59                   	pop    %ecx
4365df:	a1 a0 18 47 00       	mov    0x4718a0,%eax
4365e4:	89 1c b0             	mov    %ebx,(%eax,%esi,4)
4365e7:	47                   	inc    %edi
4365e8:	eb a1                	jmp    0x43658b
4365ea:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
4365f1:	e8 09 00 00 00       	call   0x4365ff
4365f6:	8b 45 e4             	mov    -0x1c(%ebp),%eax
4365f9:	e8 c7 e7 ff ff       	call   0x434dc5
4365fe:	c3                   	ret
4365ff:	6a 01                	push   $0x1
436601:	e8 2a d2 ff ff       	call   0x433830
436606:	59                   	pop    %ecx
436607:	c3                   	ret
436608:	8b ff                	mov    %edi,%edi
43660a:	55                   	push   %ebp
43660b:	8b ec                	mov    %esp,%ebp
43660d:	53                   	push   %ebx
43660e:	56                   	push   %esi
43660f:	8b 75 08             	mov    0x8(%ebp),%esi
436612:	8b 46 0c             	mov    0xc(%esi),%eax
436615:	8b c8                	mov    %eax,%ecx
436617:	80 e1 03             	and    $0x3,%cl
43661a:	33 db                	xor    %ebx,%ebx
43661c:	80 f9 02             	cmp    $0x2,%cl
43661f:	75 40                	jne    0x436661
436621:	a9 08 01 00 00       	test   $0x108,%eax
436626:	74 39                	je     0x436661
436628:	8b 46 08             	mov    0x8(%esi),%eax
43662b:	57                   	push   %edi
43662c:	8b 3e                	mov    (%esi),%edi
43662e:	2b f8                	sub    %eax,%edi
436630:	85 ff                	test   %edi,%edi
436632:	7e 2c                	jle    0x436660
436634:	57                   	push   %edi
436635:	50                   	push   %eax
436636:	56                   	push   %esi
436637:	e8 d6 fb ff ff       	call   0x436212
43663c:	59                   	pop    %ecx
43663d:	50                   	push   %eax
43663e:	e8 a2 36 00 00       	call   0x439ce5
436643:	83 c4 0c             	add    $0xc,%esp
436646:	3b c7                	cmp    %edi,%eax
436648:	75 0f                	jne    0x436659
43664a:	8b 46 0c             	mov    0xc(%esi),%eax
43664d:	84 c0                	test   %al,%al
43664f:	79 0f                	jns    0x436660
436651:	83 e0 fd             	and    $0xfffffffd,%eax
436654:	89 46 0c             	mov    %eax,0xc(%esi)
436657:	eb 07                	jmp    0x436660
436659:	83 4e 0c 20          	orl    $0x20,0xc(%esi)
43665d:	83 cb ff             	or     $0xffffffff,%ebx
436660:	5f                   	pop    %edi
436661:	8b 46 08             	mov    0x8(%esi),%eax
436664:	83 66 04 00          	andl   $0x0,0x4(%esi)
436668:	89 06                	mov    %eax,(%esi)
43666a:	5e                   	pop    %esi
43666b:	8b c3                	mov    %ebx,%eax
43666d:	5b                   	pop    %ebx
43666e:	5d                   	pop    %ebp
43666f:	c3                   	ret
436670:	8b ff                	mov    %edi,%edi
436672:	55                   	push   %ebp
436673:	8b ec                	mov    %esp,%ebp
436675:	56                   	push   %esi
436676:	8b 75 08             	mov    0x8(%ebp),%esi
436679:	85 f6                	test   %esi,%esi
43667b:	75 09                	jne    0x436686
43667d:	56                   	push   %esi
43667e:	e8 35 00 00 00       	call   0x4366b8
436683:	59                   	pop    %ecx
436684:	eb 2f                	jmp    0x4366b5
436686:	56                   	push   %esi
436687:	e8 7c ff ff ff       	call   0x436608
43668c:	59                   	pop    %ecx
43668d:	85 c0                	test   %eax,%eax
43668f:	74 05                	je     0x436696
436691:	83 c8 ff             	or     $0xffffffff,%eax
436694:	eb 1f                	jmp    0x4366b5
436696:	f7 46 0c 00 40 00 00 	testl  $0x4000,0xc(%esi)
43669d:	74 14                	je     0x4366b3
43669f:	56                   	push   %esi
4366a0:	e8 6d fb ff ff       	call   0x436212
4366a5:	50                   	push   %eax
4366a6:	e8 f5 af 00 00       	call   0x4416a0
4366ab:	59                   	pop    %ecx
4366ac:	f7 d8                	neg    %eax
4366ae:	59                   	pop    %ecx
4366af:	1b c0                	sbb    %eax,%eax
4366b1:	eb 02                	jmp    0x4366b5
4366b3:	33 c0                	xor    %eax,%eax
4366b5:	5e                   	pop    %esi
4366b6:	5d                   	pop    %ebp
4366b7:	c3                   	ret
4366b8:	6a 14                	push   $0x14
4366ba:	68 80 de 46 00       	push   $0x46de80
4366bf:	e8 bc e6 ff ff       	call   0x434d80
4366c4:	33 ff                	xor    %edi,%edi
4366c6:	89 7d e4             	mov    %edi,-0x1c(%ebp)
4366c9:	89 7d dc             	mov    %edi,-0x24(%ebp)
4366cc:	6a 01                	push   $0x1
4366ce:	e8 4e d2 ff ff       	call   0x433921
4366d3:	59                   	pop    %ecx
4366d4:	89 7d fc             	mov    %edi,-0x4(%ebp)
4366d7:	33 f6                	xor    %esi,%esi
4366d9:	89 75 e0             	mov    %esi,-0x20(%ebp)
4366dc:	3b 35 e0 2b 47 00    	cmp    0x472be0,%esi
4366e2:	0f 8d 83 00 00 00    	jge    0x43676b
4366e8:	a1 a0 18 47 00       	mov    0x4718a0,%eax
4366ed:	8d 04 b0             	lea    (%eax,%esi,4),%eax
4366f0:	39 38                	cmp    %edi,(%eax)
4366f2:	74 5e                	je     0x436752
4366f4:	8b 00                	mov    (%eax),%eax
4366f6:	f6 40 0c 83          	testb  $0x83,0xc(%eax)
4366fa:	74 56                	je     0x436752
4366fc:	50                   	push   %eax
4366fd:	56                   	push   %esi
4366fe:	e8 5d 9d ff ff       	call   0x430460
436703:	59                   	pop    %ecx
436704:	59                   	pop    %ecx
436705:	33 d2                	xor    %edx,%edx
436707:	42                   	inc    %edx
436708:	89 55 fc             	mov    %edx,-0x4(%ebp)
43670b:	a1 a0 18 47 00       	mov    0x4718a0,%eax
436710:	8b 04 b0             	mov    (%eax,%esi,4),%eax
436713:	8b 48 0c             	mov    0xc(%eax),%ecx
436716:	f6 c1 83             	test   $0x83,%cl