42237f:	c7 47 14 00 00 00 00 	movl   $0x0,0x14(%edi)
422386:	c7 47 20 00 00 00 00 	movl   $0x0,0x20(%edi)
42238d:	c7 47 24 00 00 00 00 	movl   $0x0,0x24(%edi)
422394:	ff 15 2c 22 45 00    	call   *0x45222c
42239a:	89 47 28             	mov    %eax,0x28(%edi)
42239d:	85 c0                	test   %eax,%eax
42239f:	0f 84 3e 05 00 00    	je     0x4228e3
4223a5:	6a 04                	push   $0x4
4223a7:	68 00 10 00 00       	push   $0x1000
4223ac:	68 00 00 10 00       	push   $0x100000
4223b1:	6a 00                	push   $0x0
4223b3:	ff 15 8c 21 45 00    	call   *0x45218c
4223b9:	89 47 2c             	mov    %eax,0x2c(%edi)
4223bc:	85 c0                	test   %eax,%eax
4223be:	0f 84 18 05 00 00    	je     0x4228dc
4223c4:	33 db                	xor    %ebx,%ebx
4223c6:	8d b7 04 fe ff ff    	lea    -0x1fc(%edi),%esi
4223cc:	8d 64 24 00          	lea    0x0(%esp),%esp
4223d0:	8b 47 2c             	mov    0x2c(%edi),%eax
4223d3:	6a 00                	push   $0x0
4223d5:	6a 00                	push   $0x0
4223d7:	6a 00                	push   $0x0
4223d9:	03 c3                	add    %ebx,%eax
4223db:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
4223e1:	6a 00                	push   $0x0
4223e3:	89 46 10             	mov    %eax,0x10(%esi)
4223e6:	c7 46 04 00 00 00 00 	movl   $0x0,0x4(%esi)
4223ed:	ff 15 2c 22 45 00    	call   *0x45222c
4223f3:	89 46 08             	mov    %eax,0x8(%esi)
4223f6:	85 c0                	test   %eax,%eax
4223f8:	0f 84 e5 04 00 00    	je     0x4228e3
4223fe:	81 c3 00 00 01 00    	add    $0x10000,%ebx
422404:	83 c6 20             	add    $0x20,%esi
422407:	81 fb 00 00 10 00    	cmp    $0x100000,%ebx
42240d:	7c c1                	jl     0x4223d0
42240f:	ff b5 a4 dc ff ff    	push   -0x235c(%ebp)
422415:	8d 8f fc fd ff ff    	lea    -0x204(%edi),%ecx
42241b:	ff b5 9c dc ff ff    	push   -0x2364(%ebp)
422421:	ff b5 b0 dc ff ff    	push   -0x2350(%ebp)
422427:	ff b5 a8 dc ff ff    	push   -0x2358(%ebp)
42242d:	e8 fe fa ff ff       	call   0x421f30
422432:	8b d8                	mov    %eax,%ebx
422434:	85 db                	test   %ebx,%ebx
422436:	0f 84 b3 04 00 00    	je     0x4228ef
42243c:	8d 97 fc fd ff ff    	lea    -0x204(%edi),%edx
422442:	8d 8d 3c dc ff ff    	lea    -0x23c4(%ebp),%ecx
422448:	e8 83 fb ff ff       	call   0x421fd0
42244d:	8b d8                	mov    %eax,%ebx
42244f:	85 db                	test   %ebx,%ebx
422451:	0f 84 98 04 00 00    	je     0x4228ef
422457:	8b b5 a8 dc ff ff    	mov    -0x2358(%ebp),%esi
42245d:	03 77 08             	add    0x8(%edi),%esi
422460:	8b 9d ac dc ff ff    	mov    -0x2354(%ebp),%ebx
422466:	83 95 b0 dc ff ff 00 	adcl   $0x0,-0x2350(%ebp)
42246d:	43                   	inc    %ebx
42246e:	81 c7 34 02 00 00    	add    $0x234,%edi
422474:	89 9d ac dc ff ff    	mov    %ebx,-0x2354(%ebp)
42247a:	83 fb 10             	cmp    $0x10,%ebx
42247d:	89 b5 a8 dc ff ff    	mov    %esi,-0x2358(%ebp)
422483:	8b 9d a0 dc ff ff    	mov    -0x2360(%ebp),%ebx
422489:	0f 8c c1 fe ff ff    	jl     0x422350
42248f:	8d b5 b4 dc ff ff    	lea    -0x234c(%ebp),%esi
422495:	c7 85 98 dc ff ff 00 	movl   $0x0,-0x2368(%ebp)
42249c:	00 00 00
42249f:	8b d6                	mov    %esi,%edx
4224a1:	c7 85 94 dc ff ff 00 	movl   $0x0,-0x236c(%ebp)
4224a8:	00 00 00
4224ab:	8d 8d 3c dc ff ff    	lea    -0x23c4(%ebp),%ecx
4224b1:	c7 85 90 dc ff ff 01 	movl   $0x1,-0x2370(%ebp)
4224b8:	00 00 00
4224bb:	e8 60 f7 ff ff       	call   0x421c20
4224c0:	8b d8                	mov    %eax,%ebx
4224c2:	85 db                	test   %ebx,%ebx
4224c4:	0f 84 25 04 00 00    	je     0x4228ef
4224ca:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
4224d0:	8b 8e 0c 02 00 00    	mov    0x20c(%esi),%ecx
4224d6:	8b 86 14 02 00 00    	mov    0x214(%esi),%eax
4224dc:	81 c1 ff 0f 00 00    	add    $0xfff,%ecx
4224e2:	89 86 24 02 00 00    	mov    %eax,0x224(%esi)
4224e8:	81 e1 00 f0 ff ff    	and    $0xfffff000,%ecx
4224ee:	8b 86 18 02 00 00    	mov    0x218(%esi),%eax
4224f4:	89 86 28 02 00 00    	mov    %eax,0x228(%esi)
4224fa:	8d 86 1c 02 00 00    	lea    0x21c(%esi),%eax
422500:	c7 85 8c dc ff ff 00 	movl   $0x0,-0x2374(%ebp)
422507:	00 00 00
42250a:	89 8e 10 02 00 00    	mov    %ecx,0x210(%esi)
422510:	75 07                	jne    0x422519
422512:	bf 01 00 00 00       	mov    $0x1,%edi
422517:	eb 38                	jmp    0x422551
422519:	50                   	push   %eax
42251a:	8d 85 8c dc ff ff    	lea    -0x2374(%ebp),%eax
422520:	33 ff                	xor    %edi,%edi
422522:	50                   	push   %eax
422523:	51                   	push   %ecx
422524:	ff b6 30 02 00 00    	push   0x230(%esi)
42252a:	ff b6 04 02 00 00    	push   0x204(%esi)
422530:	ff 15 c0 20 45 00    	call   *0x4520c0
422536:	85 c0                	test   %eax,%eax
422538:	75 11                	jne    0x42254b
42253a:	ff 15 6c 20 45 00    	call   *0x45206c
422540:	3d e5 03 00 00       	cmp    $0x3e5,%eax
422545:	0f 85 65 01 00 00    	jne    0x4226b0
42254b:	8d 86 1c 02 00 00    	lea    0x21c(%esi),%eax
422551:	bb 01 00 00 00       	mov    $0x1,%ebx
422556:	85 ff                	test   %edi,%edi
422558:	0f 85 4d 02 00 00    	jne    0x4227ab
42255e:	53                   	push   %ebx
42255f:	8d 8d ac dc ff ff    	lea    -0x2354(%ebp),%ecx
422565:	51                   	push   %ecx
422566:	50                   	push   %eax
422567:	ff b6 04 02 00 00    	push   0x204(%esi)
42256d:	ff 15 3c 21 45 00    	call   *0x45213c
422573:	85 c0                	test   %eax,%eax
422575:	0f 84 da 01 00 00    	je     0x422755
42257b:	8b 8e 10 02 00 00    	mov    0x210(%esi),%ecx
422581:	8b 85 ac dc ff ff    	mov    -0x2354(%ebp),%eax
422587:	3b c1                	cmp    %ecx,%eax
422589:	0f 85 7a 01 00 00    	jne    0x422709
42258f:	57                   	push   %edi
422590:	50                   	push   %eax
422591:	8d 8d 4c dc ff ff    	lea    -0x23b4(%ebp),%ecx
422597:	e8 14 f6 ff ff       	call   0x421bb0
42259c:	ff b5 a4 dc ff ff    	push   -0x235c(%ebp)
4225a2:	8b bd a8 dc ff ff    	mov    -0x2358(%ebp),%edi
4225a8:	8b ce                	mov    %esi,%ecx
4225aa:	ff b5 9c dc ff ff    	push   -0x2364(%ebp)
4225b0:	ff b5 b0 dc ff ff    	push   -0x2350(%ebp)
4225b6:	57                   	push   %edi
4225b7:	e8 74 f9 ff ff       	call   0x421f30
4225bc:	8b d8                	mov    %eax,%ebx
4225be:	85 db                	test   %ebx,%ebx
4225c0:	0f 84 29 03 00 00    	je     0x4228ef
4225c6:	03 be 0c 02 00 00    	add    0x20c(%esi),%edi
4225cc:	8d 8d 3c dc ff ff    	lea    -0x23c4(%ebp),%ecx
4225d2:	8b d6                	mov    %esi,%edx
4225d4:	89 bd a8 dc ff ff    	mov    %edi,-0x2358(%ebp)
4225da:	83 95 b0 dc ff ff 00 	adcl   $0x0,-0x2350(%ebp)
4225e1:	e8 ea f9 ff ff       	call   0x421fd0
4225e6:	8b d8                	mov    %eax,%ebx
4225e8:	85 db                	test   %ebx,%ebx
4225ea:	0f 84 ff 02 00 00    	je     0x4228ef
4225f0:	8b 85 98 dc ff ff    	mov    -0x2368(%ebp),%eax
4225f6:	03 86 10 02 00 00    	add    0x210(%esi),%eax
4225fc:	8b 8d 94 dc ff ff    	mov    -0x236c(%ebp),%ecx
422602:	6a 00                	push   $0x0
422604:	83 d1 00             	adc    $0x0,%ecx
422607:	89 85 98 dc ff ff    	mov    %eax,-0x2368(%ebp)
42260d:	6a 64                	push   $0x64
42260f:	51                   	push   %ecx
422610:	50                   	push   %eax
422611:	89 8d 94 dc ff ff    	mov    %ecx,-0x236c(%ebp)
422617:	e8 b4 b1 02 00       	call   0x44d7d0
42261c:	ff b5 a4 dc ff ff    	push   -0x235c(%ebp)
422622:	ff b5 9c dc ff ff    	push   -0x2364(%ebp)
422628:	52                   	push   %edx
422629:	50                   	push   %eax
42262a:	e8 f1 b0 02 00       	call   0x44d720
42262f:	8b f0                	mov    %eax,%esi
422631:	83 fe 64             	cmp    $0x64,%esi
422634:	7c 05                	jl     0x42263b
422636:	be 64 00 00 00       	mov    $0x64,%esi
42263b:	2b 35 c4 19 45 00    	sub    0x4519c4,%esi
422641:	83 fe 02             	cmp    $0x2,%esi
422644:	7c 24                	jl     0x42266a
422646:	d1 ee                	shr    $1,%esi
422648:	eb 06                	jmp    0x422650
42264a:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
422650:	68 bc 3c 40 00       	push   $0x403cbc
422655:	ff 15 74 23 45 00    	call   *0x452374
42265b:	83 05 c4 19 45 00 02 	addl   $0x2,0x4519c4
422662:	83 c4 04             	add    $0x4,%esp
422665:	83 ee 01             	sub    $0x1,%esi
422668:	75 e6                	jne    0x422650
42266a:	8b bd 90 dc ff ff    	mov    -0x2370(%ebp),%edi
422670:	8b c7                	mov    %edi,%eax
422672:	47                   	inc    %edi
422673:	81 e7 0f 00 00 80    	and    $0x8000000f,%edi
422679:	79 05                	jns    0x422680
42267b:	4f                   	dec    %edi
42267c:	83 cf f0             	or     $0xfffffff0,%edi
42267f:	47                   	inc    %edi
422680:	69 c0 34 02 00 00    	imul   $0x234,%eax,%eax
422686:	8d b5 b4 dc ff ff    	lea    -0x234c(%ebp),%esi
42268c:	8d 8d 3c dc ff ff    	lea    -0x23c4(%ebp),%ecx
422692:	89 bd 90 dc ff ff    	mov    %edi,-0x2370(%ebp)
422698:	03 f0                	add    %eax,%esi
42269a:	8b d6                	mov    %esi,%edx
42269c:	e8 7f f5 ff ff       	call   0x421c20
4226a1:	8b d8                	mov    %eax,%ebx
4226a3:	85 db                	test   %ebx,%ebx
4226a5:	0f 85 25 fe ff ff    	jne    0x4224d0
4226ab:	e9 3f 02 00 00       	jmp    0x4228ef
4226b0:	ff 15 6c 20 45 00    	call   *0x45206c
4226b6:	ff b5 8c dc ff ff    	push   -0x2374(%ebp)
4226bc:	ff b6 10 02 00 00    	push   0x210(%esi)
4226c2:	ff b6 24 02 00 00    	push   0x224(%esi)
4226c8:	ff b6 28 02 00 00    	push   0x228(%esi)
4226ce:	50                   	push   %eax
4226cf:	68 90 f4 40 00       	push   $0x40f490
4226d4:	ff 15 10 23 45 00    	call   *0x452310
4226da:	83 c4 18             	add    $0x18,%esp
4226dd:	8d 8d 64 dc ff ff    	lea    -0x239c(%ebp),%ecx
4226e3:	b8 01 00 00 00       	mov    $0x1,%eax
4226e8:	f0 0f c1 01          	lock xadd %eax,(%ecx)
4226ec:	6a 00                	push   $0x0
4226ee:	ff b6 10 02 00 00    	push   0x210(%esi)
4226f4:	8d 8d 6c dc ff ff    	lea    -0x2394(%ebp),%ecx
4226fa:	e8 b1 f4 ff ff       	call   0x421bb0
4226ff:	b9 e0 f4 40 00       	mov    $0x40f4e0,%ecx
422704:	e9 df 01 00 00       	jmp    0x4228e8
422709:	50                   	push   %eax
42270a:	51                   	push   %ecx
42270b:	ff b6 24 02 00 00    	push   0x224(%esi)
422711:	ff b6 28 02 00 00    	push   0x228(%esi)
422717:	68 d8 f5 40 00       	push   $0x40f5d8
42271c:	ff 15 10 23 45 00    	call   *0x452310
422722:	83 c4 14             	add    $0x14,%esp
422725:	8d 8d 64 dc ff ff    	lea    -0x239c(%ebp),%ecx
42272b:	8b c3                	mov    %ebx,%eax
42272d:	f0 0f c1 01          	lock xadd %eax,(%ecx)
422731:	8b 86 10 02 00 00    	mov    0x210(%esi),%eax
422737:	8d 8d 6c dc ff ff    	lea    -0x2394(%ebp),%ecx
42273d:	2b 85 ac dc ff ff    	sub    -0x2354(%ebp),%eax
422743:	6a 00                	push   $0x0
422745:	50                   	push   %eax
422746:	e8 65 f4 ff ff       	call   0x421bb0
42274b:	b9 58 f6 40 00       	mov    $0x40f658,%ecx
422750:	e9 93 01 00 00       	jmp    0x4228e8
422755:	ff 15 6c 20 45 00    	call   *0x45206c
42275b:	ff b5 ac dc ff ff    	push   -0x2354(%ebp)
422761:	ff b6 10 02 00 00    	push   0x210(%esi)
422767:	ff b6 24 02 00 00    	push   0x224(%esi)
42276d:	ff b6 28 02 00 00    	push   0x228(%esi)
422773:	50                   	push   %eax
422774:	68 10 f5 40 00       	push   $0x40f510
422779:	ff 15 10 23 45 00    	call   *0x452310
42277f:	83 c4 18             	add    $0x18,%esp
422782:	8d 8d 64 dc ff ff    	lea    -0x239c(%ebp),%ecx
422788:	8b c3                	mov    %ebx,%eax
42278a:	f0 0f c1 01          	lock xadd %eax,(%ecx)
42278e:	6a 00                	push   $0x0
422790:	ff b6 10 02 00 00    	push   0x210(%esi)
422796:	8d 8d 6c dc ff ff    	lea    -0x2394(%ebp),%ecx
42279c:	e8 0f f4 ff ff       	call   0x421bb0
4227a1:	b9 88 f5 40 00       	mov    $0x40f588,%ecx
4227a6:	e9 3d 01 00 00       	jmp    0x4228e8
4227ab:	8b b5 a0 dc ff ff    	mov    -0x2360(%ebp),%esi
4227b1:	6a 00                	push   $0x0
4227b3:	6a 00                	push   $0x0
4227b5:	ff b5 80 dc ff ff    	push   -0x2380(%ebp)
4227bb:	ff b5 7c dc ff ff    	push   -0x2384(%ebp)
4227c1:	56                   	push   %esi
4227c2:	ff 15 c8 20 45 00    	call   *0x4520c8
4227c8:	85 c0                	test   %eax,%eax
4227ca:	75 0a                	jne    0x4227d6
4227cc:	b9 1c fb 40 00       	mov    $0x40fb1c,%ecx
4227d1:	e9 12 01 00 00       	jmp    0x4228e8
4227d6:	56                   	push   %esi
4227d7:	ff 15 c4 20 45 00    	call   *0x4520c4
4227dd:	85 c0                	test   %eax,%eax
4227df:	75 0a                	jne    0x4227eb
4227e1:	b9 54 fb 40 00       	mov    $0x40fb54,%ecx
4227e6:	e9 fd 00 00 00       	jmp    0x4228e8
4227eb:	e8 00 11 00 00       	call   0x4238f0
4227f0:	68 4c f7 40 00       	push   $0x40f74c
4227f5:	ff 15 74 23 45 00    	call   *0x452374
4227fb:	8b b5 44 dc ff ff    	mov    -0x23bc(%ebp),%esi
422801:	83 c4 04             	add    $0x4,%esp
422804:	8b 95 48 dc ff ff    	mov    -0x23b8(%ebp),%edx
42280a:	8b ce                	mov    %esi,%ecx
42280c:	8b c2                	mov    %edx,%eax
42280e:	0f ac c1 14          	shrd   $0x14,%eax,%ecx
422812:	c1 e8 14             	shr    $0x14,%eax
422815:	50                   	push   %eax
422816:	51                   	push   %ecx
422817:	52                   	push   %edx
422818:	56                   	push   %esi
422819:	52                   	push   %edx
42281a:	56                   	push   %esi
42281b:	68 58 f7 40 00       	push   $0x40f758
422820:	ff 15 74 23 45 00    	call   *0x452374
422826:	8b b5 4c dc ff ff    	mov    -0x23b4(%ebp),%esi
42282c:	83 c4 1c             	add    $0x1c,%esp
42282f:	8b 95 50 dc ff ff    	mov    -0x23b0(%ebp),%edx
422835:	8b ce                	mov    %esi,%ecx
422837:	8b c2                	mov    %edx,%eax
422839:	0f ac c1 14          	shrd   $0x14,%eax,%ecx
42283d:	c1 e8 14             	shr    $0x14,%eax
422840:	50                   	push   %eax
422841:	51                   	push   %ecx
422842:	52                   	push   %edx
422843:	56                   	push   %esi
422844:	52                   	push   %edx
422845:	56                   	push   %esi
422846:	68 d8 f7 40 00       	push   $0x40f7d8
42284b:	ff 15 74 23 45 00    	call   *0x452374
422851:	83 c4 1c             	add    $0x1c,%esp
422854:	83 bd 3c dc ff ff 00 	cmpl   $0x0,-0x23c4(%ebp)
42285b:	0f 84 8e 00 00 00    	je     0x4228ef
422861:	8b 85 54 dc ff ff    	mov    -0x23ac(%ebp),%eax
422867:	50                   	push   %eax
422868:	68 58 f8 40 00       	push   $0x40f858
42286d:	ff 15 74 23 45 00    	call   *0x452374
422873:	8b b5 5c dc ff ff    	mov    -0x23a4(%ebp),%esi
422879:	8b ce                	mov    %esi,%ecx
42287b:	8b 95 60 dc ff ff    	mov    -0x23a0(%ebp),%edx
422881:	8b c2                	mov    %edx,%eax
422883:	0f ac c1 0a          	shrd   $0xa,%eax,%ecx
422887:	c1 e8 0a             	shr    $0xa,%eax
42288a:	50                   	push   %eax
42288b:	51                   	push   %ecx
42288c:	52                   	push   %edx
42288d:	56                   	push   %esi
42288e:	52                   	push   %edx
42288f:	56                   	push   %esi
422890:	68 a8 f8 40 00       	push   $0x40f8a8
422895:	ff 15 74 23 45 00    	call   *0x452374
42289b:	83 c4 24             	add    $0x24,%esp
42289e:	ff b5 64 dc ff ff    	push   -0x239c(%ebp)
4228a4:	68 28 f9 40 00       	push   $0x40f928
4228a9:	ff 15 74 23 45 00    	call   *0x452374
4228af:	8b b5 6c dc ff ff    	mov    -0x2394(%ebp),%esi
4228b5:	8b ce                	mov    %esi,%ecx
4228b7:	8b 95 70 dc ff ff    	mov    -0x2390(%ebp),%edx
4228bd:	8b c2                	mov    %edx,%eax
4228bf:	0f ac c1 0a          	shrd   $0xa,%eax,%ecx
4228c3:	c1 e8 0a             	shr    $0xa,%eax
4228c6:	50                   	push   %eax
4228c7:	51                   	push   %ecx
4228c8:	52                   	push   %edx
4228c9:	56                   	push   %esi
4228ca:	52                   	push   %edx
4228cb:	56                   	push   %esi
4228cc:	68 78 f9 40 00       	push   $0x40f978
4228d1:	ff 15 74 23 45 00    	call   *0x452374
4228d7:	83 c4 24             	add    $0x24,%esp
4228da:	eb 13                	jmp    0x4228ef
4228dc:	b9 b4 fb 40 00       	mov    $0x40fbb4,%ecx
4228e1:	eb 05                	jmp    0x4228e8
4228e3:	b9 84 fb 40 00       	mov    $0x40fb84,%ecx
4228e8:	e8 33 0f 00 00       	call   0x423820
4228ed:	33 db                	xor    %ebx,%ebx
4228ef:	ff b5 88 dc ff ff    	push   -0x2378(%ebp)
4228f5:	ff 15 10 21 45 00    	call   *0x452110
4228fb:	8b 85 a0 dc ff ff    	mov    -0x2360(%ebp),%eax
422901:	83 f8 ff             	cmp    $0xffffffff,%eax
422904:	74 07                	je     0x42290d
422906:	50                   	push   %eax
422907:	ff 15 10 21 45 00    	call   *0x452110
42290d:	8d b5 e4 de ff ff    	lea    -0x211c(%ebp),%esi