423321:	68 58 b7 45 00       	push   $0x45b758
423326:	e8 a8 04 fe ff       	call   0x4037d3
42332b:	68 5c ca 45 00       	push   $0x45ca5c
423330:	e9 5f fe ff ff       	jmp    0x423194
423335:	8b 45 f8             	mov    -0x8(%ebp),%eax
423338:	33 db                	xor    %ebx,%ebx
42333a:	89 47 34             	mov    %eax,0x34(%edi)
42333d:	85 c0                	test   %eax,%eax
42333f:	74 45                	je     0x423386
423341:	6a 00                	push   $0x0
423343:	8d 45 f4             	lea    -0xc(%ebp),%eax
423346:	50                   	push   %eax
423347:	ff 75 f0             	push   -0x10(%ebp)
42334a:	e8 11 04 02 00       	call   0x443760
42334f:	8b f0                	mov    %eax,%esi
423351:	85 f6                	test   %esi,%esi
423353:	78 70                	js     0x4233c5
423355:	8b 47 30             	mov    0x30(%edi),%eax
423358:	8d 04 98             	lea    (%eax,%ebx,4),%eax
42335b:	50                   	push   %eax
42335c:	68 64 ca 44 00       	push   $0x44ca64
423361:	ff 75 f4             	push   -0xc(%ebp)
423364:	e8 a1 ff 01 00       	call   0x44330a
423369:	8b f0                	mov    %eax,%esi
42336b:	85 f6                	test   %esi,%esi
42336d:	78 4c                	js     0x4233bb
42336f:	8b 4d f4             	mov    -0xc(%ebp),%ecx
423372:	85 c9                	test   %ecx,%ecx
423374:	74 0a                	je     0x423380
423376:	8b 01                	mov    (%ecx),%eax
423378:	51                   	push   %ecx
423379:	ff 50 08             	call   *0x8(%eax)
42337c:	83 65 f4 00          	andl   $0x0,-0xc(%ebp)
423380:	43                   	inc    %ebx
423381:	3b 5d f8             	cmp    -0x8(%ebp),%ebx
423384:	72 bb                	jb     0x423341
423386:	33 f6                	xor    %esi,%esi
423388:	8b 4d f0             	mov    -0x10(%ebp),%ecx
42338b:	85 c9                	test   %ecx,%ecx
42338d:	74 06                	je     0x423395
42338f:	8b 01                	mov    (%ecx),%eax
423391:	51                   	push   %ecx
423392:	ff 50 08             	call   *0x8(%eax)
423395:	8b 4d f4             	mov    -0xc(%ebp),%ecx
423398:	85 c9                	test   %ecx,%ecx
42339a:	74 06                	je     0x4233a2
42339c:	8b 01                	mov    (%ecx),%eax
42339e:	51                   	push   %ecx
42339f:	ff 50 08             	call   *0x8(%eax)
4233a2:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
4233a6:	74 08                	je     0x4233b0
4233a8:	ff 75 fc             	push   -0x4(%ebp)
4233ab:	e8 3f 21 02 00       	call   0x4454ef
4233b0:	5f                   	pop    %edi
4233b1:	8b c6                	mov    %esi,%eax
4233b3:	5e                   	pop    %esi
4233b4:	5b                   	pop    %ebx
4233b5:	8b e5                	mov    %ebp,%esp
4233b7:	5d                   	pop    %ebp
4233b8:	c2 08 00             	ret    $0x8
4233bb:	68 88 ca 45 00       	push   $0x45ca88
4233c0:	e9 cf fd ff ff       	jmp    0x423194
4233c5:	68 48 ca 44 00       	push   $0x44ca48
4233ca:	e9 c5 fd ff ff       	jmp    0x423194
4233cf:	55                   	push   %ebp
4233d0:	8b ec                	mov    %esp,%ebp
4233d2:	51                   	push   %ecx
4233d3:	53                   	push   %ebx
4233d4:	56                   	push   %esi
4233d5:	8b 75 08             	mov    0x8(%ebp),%esi
4233d8:	33 db                	xor    %ebx,%ebx
4233da:	57                   	push   %edi
4233db:	6a 02                	push   $0x2
4233dd:	5f                   	pop    %edi
4233de:	39 5e 14             	cmp    %ebx,0x14(%esi)
4233e1:	6a 04                	push   $0x4
4233e3:	58                   	pop    %eax
4233e4:	0f 45 f8             	cmovne %eax,%edi
4233e7:	89 5d fc             	mov    %ebx,-0x4(%ebp)
4233ea:	8d 45 fc             	lea    -0x4(%ebp),%eax
4233ed:	50                   	push   %eax
4233ee:	ff 75 0c             	push   0xc(%ebp)
4233f1:	e8 50 00 fe ff       	call   0x403446
4233f6:	85 c0                	test   %eax,%eax
4233f8:	79 13                	jns    0x42340d
4233fa:	ff 75 0c             	push   0xc(%ebp)
4233fd:	68 34 ce 45 00       	push   $0x45ce34
423402:	50                   	push   %eax
423403:	e8 27 cd 01 00       	call   0x44012f
423408:	83 c4 0c             	add    $0xc,%esp
42340b:	eb 30                	jmp    0x42343d
42340d:	6a 01                	push   $0x1
42340f:	ff 75 fc             	push   -0x4(%ebp)
423412:	53                   	push   %ebx
423413:	57                   	push   %edi
423414:	53                   	push   %ebx
423415:	ff b6 90 00 00 00    	push   0x90(%esi)
42341b:	e8 5b f9 01 00       	call   0x442d7b
423420:	85 c0                	test   %eax,%eax
423422:	79 19                	jns    0x42343d
423424:	50                   	push   %eax
423425:	ff b6 90 00 00 00    	push   0x90(%esi)
42342b:	ff 75 fc             	push   -0x4(%ebp)
42342e:	68 63 01 00 a0       	push   $0xa0000163
423433:	6a 03                	push   $0x3
423435:	e8 d5 20 fe ff       	call   0x40550f
42343a:	83 c4 14             	add    $0x14,%esp
42343d:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
423441:	5f                   	pop    %edi
423442:	5e                   	pop    %esi
423443:	5b                   	pop    %ebx
423444:	74 08                	je     0x42344e
423446:	ff 75 fc             	push   -0x4(%ebp)
423449:	e8 a1 20 02 00       	call   0x4454ef
42344e:	8b e5                	mov    %ebp,%esp
423450:	5d                   	pop    %ebp
423451:	c2 08 00             	ret    $0x8
423454:	55                   	push   %ebp
423455:	8b ec                	mov    %esp,%ebp
423457:	83 ec 0c             	sub    $0xc,%esp
42345a:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
42345e:	53                   	push   %ebx
42345f:	8b 5d 08             	mov    0x8(%ebp),%ebx
423462:	56                   	push   %esi
423463:	53                   	push   %ebx
423464:	e8 e3 a6 fe ff       	call   0x40db4c
423469:	8b f0                	mov    %eax,%esi
42346b:	85 f6                	test   %esi,%esi
42346d:	79 12                	jns    0x423481
42346f:	68 bc bf 45 00       	push   $0x45bfbc
423474:	56                   	push   %esi
423475:	e8 b5 cc 01 00       	call   0x44012f
42347a:	59                   	pop    %ecx
42347b:	59                   	pop    %ecx
42347c:	e9 6d 02 00 00       	jmp    0x4236ee
423481:	8b 43 14             	mov    0x14(%ebx),%eax
423484:	57                   	push   %edi
423485:	69 f8 e0 00 00 00    	imul   $0xe0,%eax,%edi
42348b:	03 7b 10             	add    0x10(%ebx),%edi
42348e:	40                   	inc    %eax
42348f:	89 43 14             	mov    %eax,0x14(%ebx)
423492:	8b 5d 0c             	mov    0xc(%ebp),%ebx
423495:	c7 87 8c 00 00 00 02 	movl   $0x2,0x8c(%edi)
42349c:	00 00 00
42349f:	8d 87 90 00 00 00    	lea    0x90(%edi),%eax
4234a5:	89 45 08             	mov    %eax,0x8(%ebp)
4234a8:	8b 8b a0 00 00 00    	mov    0xa0(%ebx),%ecx
4234ae:	85 c9                	test   %ecx,%ecx
4234b0:	74 19                	je     0x4234cb
4234b2:	6a 00                	push   $0x0
4234b4:	51                   	push   %ecx
4234b5:	50                   	push   %eax
4234b6:	e8 ea ec fd ff       	call   0x4021a5
4234bb:	8b f0                	mov    %eax,%esi
4234bd:	85 f6                	test   %esi,%esi
4234bf:	79 23                	jns    0x4234e4
4234c1:	68 f4 bf 45 00       	push   $0x45bff4
4234c6:	e9 40 02 00 00       	jmp    0x42370b
4234cb:	50                   	push   %eax
4234cc:	6a 00                	push   $0x0
4234ce:	53                   	push   %ebx
4234cf:	e8 b4 46 00 00       	call   0x427b88
4234d4:	8b f0                	mov    %eax,%esi
4234d6:	85 f6                	test   %esi,%esi
4234d8:	79 0a                	jns    0x4234e4
4234da:	68 30 c0 45 00       	push   $0x45c030
4234df:	e9 27 02 00 00       	jmp    0x42370b
4234e4:	8b 8b a8 00 00 00    	mov    0xa8(%ebx),%ecx
4234ea:	8b c1                	mov    %ecx,%eax
4234ec:	8b 93 ac 00 00 00    	mov    0xac(%ebx),%edx
4234f2:	0b c2                	or     %edx,%eax
4234f4:	6a 04                	push   $0x4
4234f6:	5e                   	pop    %esi
4234f7:	8d 45 fc             	lea    -0x4(%ebp),%eax
4234fa:	50                   	push   %eax
4234fb:	74 23                	je     0x423520
4234fd:	52                   	push   %edx
4234fe:	51                   	push   %ecx
4234ff:	89 8f 98 00 00 00    	mov    %ecx,0x98(%edi)
423505:	89 97 9c 00 00 00    	mov    %edx,0x9c(%edi)
42350b:	e8 21 17 02 00       	call   0x444c31
423510:	8b f0                	mov    %eax,%esi
423512:	85 f6                	test   %esi,%esi
423514:	79 69                	jns    0x42357f
423516:	68 68 c0 45 00       	push   $0x45c068
42351b:	e9 eb 01 00 00       	jmp    0x42370b
423520:	83 7b 14 00          	cmpl   $0x0,0x14(%ebx)
423524:	68 a8 eb 44 00       	push   $0x44eba8
423529:	6a 02                	push   $0x2
42352b:	58                   	pop    %eax
42352c:	0f 45 c6             	cmovne %esi,%eax
42352f:	50                   	push   %eax
423530:	6a 00                	push   $0x0
423532:	ff b7 90 00 00 00    	push   0x90(%edi)
423538:	e8 bb f3 01 00       	call   0x4428f8
42353d:	8b f0                	mov    %eax,%esi
42353f:	85 f6                	test   %esi,%esi
423541:	79 0a                	jns    0x42354d
423543:	68 90 c0 45 00       	push   $0x45c090
423548:	e9 be 01 00 00       	jmp    0x42370b
42354d:	8d 87 98 00 00 00    	lea    0x98(%edi),%eax
423553:	50                   	push   %eax
423554:	6a 00                	push   $0x0
423556:	ff 75 fc             	push   -0x4(%ebp)
423559:	e8 fc 15 02 00       	call   0x444b5a
42355e:	8b f0                	mov    %eax,%esi
423560:	85 f6                	test   %esi,%esi
423562:	79 1b                	jns    0x42357f
423564:	8b 45 08             	mov    0x8(%ebp),%eax
423567:	ff 30                	push   (%eax)
423569:	ff 75 fc             	push   -0x4(%ebp)
42356c:	68 38 bc 45 00       	push   $0x45bc38
423571:	56                   	push   %esi
423572:	e8 b8 cb 01 00       	call   0x44012f
423577:	83 c4 10             	add    $0x10,%esp
42357a:	e9 6e 01 00 00       	jmp    0x4236ed
42357f:	6a 00                	push   $0x0
423581:	ff b7 90 00 00 00    	push   0x90(%edi)
423587:	57                   	push   %edi
423588:	e8 18 ec fd ff       	call   0x4021a5
42358d:	8b f0                	mov    %eax,%esi
42358f:	85 f6                	test   %esi,%esi
423591:	79 0a                	jns    0x42359d
423593:	68 c0 c0 45 00       	push   $0x45c0c0
423598:	e9 6e 01 00 00       	jmp    0x42370b
42359d:	8b 43 14             	mov    0x14(%ebx),%eax
4235a0:	89 47 14             	mov    %eax,0x14(%edi)
4235a3:	8b 43 18             	mov    0x18(%ebx),%eax
4235a6:	89 47 18             	mov    %eax,0x18(%edi)
4235a9:	8b 43 20             	mov    0x20(%ebx),%eax
4235ac:	83 67 1c 00          	andl   $0x0,0x1c(%edi)
4235b0:	89 47 20             	mov    %eax,0x20(%edi)
4235b3:	8d 47 04             	lea    0x4(%edi),%eax
4235b6:	ff 73 04             	push   0x4(%ebx)
4235b9:	68 00 c1 45 00       	push   $0x45c100
4235be:	50                   	push   %eax
4235bf:	e8 5c e9 fd ff       	call   0x401f20
4235c4:	8b f0                	mov    %eax,%esi
4235c6:	83 c4 0c             	add    $0xc,%esp
4235c9:	85 f6                	test   %esi,%esi
4235cb:	79 0a                	jns    0x4235d7
4235cd:	68 20 c1 45 00       	push   $0x45c120
4235d2:	e9 34 01 00 00       	jmp    0x42370b
4235d7:	ff 75 fc             	push   -0x4(%ebp)
4235da:	8d 47 24             	lea    0x24(%edi),%eax
4235dd:	ff 37                	push   (%edi)
4235df:	68 5c c1 45 00       	push   $0x45c15c
4235e4:	50                   	push   %eax
4235e5:	e8 36 e9 fd ff       	call   0x401f20
4235ea:	8b f0                	mov    %eax,%esi
4235ec:	83 c4 10             	add    $0x10,%esp
4235ef:	85 f6                	test   %esi,%esi
4235f1:	79 0a                	jns    0x4235fd
4235f3:	68 6c c1 45 00       	push   $0x45c16c
4235f8:	e9 0e 01 00 00       	jmp    0x42370b
4235fd:	33 c9                	xor    %ecx,%ecx
4235ff:	c7 47 40 04 00 00 00 	movl   $0x4,0x40(%edi)
423606:	41                   	inc    %ecx
423607:	89 4f 44             	mov    %ecx,0x44(%edi)
42360a:	8b 83 88 00 00 00    	mov    0x88(%ebx),%eax
423610:	85 c0                	test   %eax,%eax
423612:	0f 84 b6 00 00 00    	je     0x4236ce
423618:	51                   	push   %ecx
423619:	c1 e0 04             	shl    $0x4,%eax
42361c:	50                   	push   %eax
42361d:	e8 b2 02 fe ff       	call   0x4038d4
423622:	89 87 84 00 00 00    	mov    %eax,0x84(%edi)
423628:	85 c0                	test   %eax,%eax
42362a:	75 1f                	jne    0x42364b
42362c:	be 0e 00 07 80       	mov    $0x8007000e,%esi
423631:	56                   	push   %esi
423632:	68 12 04 00 00       	push   $0x412
423637:	68 58 b7 45 00       	push   $0x45b758
42363c:	e8 92 01 fe ff       	call   0x4037d3
423641:	68 a0 c1 45 00       	push   $0x45c1a0
423646:	e9 c0 00 00 00       	jmp    0x42370b
42364b:	83 65 0c 00          	andl   $0x0,0xc(%ebp)
42364f:	83 bb 88 00 00 00 00 	cmpl   $0x0,0x88(%ebx)
423656:	76 6a                	jbe    0x4236c2
423658:	33 c9                	xor    %ecx,%ecx
42365a:	89 4d f8             	mov    %ecx,-0x8(%ebp)
42365d:	8b 93 84 00 00 00    	mov    0x84(%ebx),%edx
423663:	8b 87 84 00 00 00    	mov    0x84(%edi),%eax
423669:	03 d1                	add    %ecx,%edx
42366b:	6a 00                	push   $0x0
42366d:	03 c1                	add    %ecx,%eax
42366f:	89 55 f4             	mov    %edx,-0xc(%ebp)
423672:	89 45 08             	mov    %eax,0x8(%ebp)
423675:	ff 32                	push   (%edx)
423677:	50                   	push   %eax
423678:	e8 28 eb fd ff       	call   0x4021a5
42367d:	8b f0                	mov    %eax,%esi
42367f:	85 f6                	test   %esi,%esi
423681:	0f 88 8e 00 00 00    	js     0x423715
423687:	8b 45 08             	mov    0x8(%ebp),%eax
42368a:	6a 00                	push   $0x0
42368c:	ff 75 fc             	push   -0x4(%ebp)
42368f:	83 c0 04             	add    $0x4,%eax
423692:	50                   	push   %eax
423693:	e8 0d eb fd ff       	call   0x4021a5
423698:	8b f0                	mov    %eax,%esi
42369a:	85 f6                	test   %esi,%esi
42369c:	78 68                	js     0x423706
42369e:	8b 45 f4             	mov    -0xc(%ebp),%eax
4236a1:	8b 4d 08             	mov    0x8(%ebp),%ecx
4236a4:	8b 40 0c             	mov    0xc(%eax),%eax
4236a7:	89 41 0c             	mov    %eax,0xc(%ecx)
4236aa:	8b 45 0c             	mov    0xc(%ebp),%eax
4236ad:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4236b0:	40                   	inc    %eax
4236b1:	83 c1 10             	add    $0x10,%ecx
4236b4:	89 45 0c             	mov    %eax,0xc(%ebp)
4236b7:	89 4d f8             	mov    %ecx,-0x8(%ebp)
4236ba:	3b 83 88 00 00 00    	cmp    0x88(%ebx),%eax
4236c0:	72 9b                	jb     0x42365d
4236c2:	8b 83 88 00 00 00    	mov    0x88(%ebx),%eax
4236c8:	89 87 88 00 00 00    	mov    %eax,0x88(%edi)
4236ce:	c7 87 8c 00 00 00 02 	movl   $0x2,0x8c(%edi)
4236d5:	00 00 00
4236d8:	8b 83 b0 00 00 00    	mov    0xb0(%ebx),%eax
4236de:	89 87 b0 00 00 00    	mov    %eax,0xb0(%edi)
4236e4:	8b 45 10             	mov    0x10(%ebp),%eax
4236e7:	85 c0                	test   %eax,%eax
4236e9:	74 02                	je     0x4236ed
4236eb:	89 38                	mov    %edi,(%eax)
4236ed:	5f                   	pop    %edi
4236ee:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
4236f2:	74 08                	je     0x4236fc
4236f4:	ff 75 fc             	push   -0x4(%ebp)
4236f7:	e8 f3 1d 02 00       	call   0x4454ef
4236fc:	8b c6                	mov    %esi,%eax
4236fe:	5e                   	pop    %esi
4236ff:	5b                   	pop    %ebx
423700:	8b e5                	mov    %ebp,%esp
423702:	5d                   	pop    %ebp
423703:	c2 0c 00             	ret    $0xc
423706:	68 04 c2 45 00       	push   $0x45c204
42370b:	56                   	push   %esi
42370c:	e8 1e ca 01 00       	call   0x44012f
423711:	59                   	pop    %ecx
423712:	59                   	pop    %ecx
423713:	eb d8                	jmp    0x4236ed
423715:	68 d8 c1 45 00       	push   $0x45c1d8
42371a:	eb ef                	jmp    0x42370b
42371c:	55                   	push   %ebp
42371d:	8b ec                	mov    %esp,%ebp
42371f:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
423723:	b9 02 01 00 00       	mov    $0x102,%ecx
423728:	74 20                	je     0x42374a
42372a:	83 7d 10 01          	cmpl   $0x1,0x10(%ebp)