43325b:	89 45 e8             	mov    %eax,-0x18(%ebp)
43325e:	8b 45 ec             	mov    -0x14(%ebp),%eax
433261:	d1 f9                	sar    $1,%ecx
433263:	2b c1                	sub    %ecx,%eax
433265:	50                   	push   %eax
433266:	52                   	push   %edx
433267:	e8 3c 4b ff ff       	call   0x427da8
43326c:	83 c4 10             	add    $0x10,%esp
43326f:	85 c0                	test   %eax,%eax
433271:	75 40                	jne    0x4332b3
433273:	8b 45 f4             	mov    -0xc(%ebp),%eax
433276:	8b 55 f0             	mov    -0x10(%ebp),%edx
433279:	89 14 38             	mov    %edx,(%eax,%edi,1)
43327c:	83 c7 04             	add    $0x4,%edi
43327f:	8b 45 e8             	mov    -0x18(%ebp),%eax
433282:	8d 14 42             	lea    (%edx,%eax,2),%edx
433285:	89 55 f0             	mov    %edx,-0x10(%ebp)
433288:	3b fb                	cmp    %ebx,%edi
43328a:	75 ab                	jne    0x433237
43328c:	8b 45 d0             	mov    -0x30(%ebp),%eax
43328f:	89 30                	mov    %esi,(%eax)
433291:	33 c0                	xor    %eax,%eax
433293:	50                   	push   %eax
433294:	e8 de 91 ff ff       	call   0x42c477
433299:	59                   	pop    %ecx
43329a:	8d 4d dc             	lea    -0x24(%ebp),%ecx
43329d:	e8 48 02 00 00       	call   0x4334ea
4332a2:	33 c0                	xor    %eax,%eax
4332a4:	5f                   	pop    %edi
4332a5:	5b                   	pop    %ebx
4332a6:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4332a9:	33 cd                	xor    %ebp,%ecx
4332ab:	5e                   	pop    %esi
4332ac:	e8 1f 86 fe ff       	call   0x41b8d0
4332b1:	c9                   	leave
4332b2:	c3                   	ret
4332b3:	33 c0                	xor    %eax,%eax
4332b5:	50                   	push   %eax
4332b6:	50                   	push   %eax
4332b7:	50                   	push   %eax
4332b8:	50                   	push   %eax
4332b9:	50                   	push   %eax
4332ba:	e8 dd d7 fe ff       	call   0x420a9c
4332bf:	cc                   	int3
4332c0:	8b ff                	mov    %edi,%edi
4332c2:	55                   	push   %ebp
4332c3:	8b ec                	mov    %esp,%ebp
4332c5:	51                   	push   %ecx
4332c6:	8b 4d 08             	mov    0x8(%ebp),%ecx
4332c9:	53                   	push   %ebx
4332ca:	57                   	push   %edi
4332cb:	33 db                	xor    %ebx,%ebx
4332cd:	8d 51 02             	lea    0x2(%ecx),%edx
4332d0:	66 8b 01             	mov    (%ecx),%ax
4332d3:	83 c1 02             	add    $0x2,%ecx
4332d6:	66 3b c3             	cmp    %bx,%ax
4332d9:	75 f5                	jne    0x4332d0
4332db:	8b 7d 10             	mov    0x10(%ebp),%edi
4332de:	2b ca                	sub    %edx,%ecx
4332e0:	d1 f9                	sar    $1,%ecx
4332e2:	8b c7                	mov    %edi,%eax
4332e4:	41                   	inc    %ecx
4332e5:	f7 d0                	not    %eax
4332e7:	89 4d fc             	mov    %ecx,-0x4(%ebp)
4332ea:	3b c8                	cmp    %eax,%ecx
4332ec:	76 07                	jbe    0x4332f5
4332ee:	6a 0c                	push   $0xc
4332f0:	58                   	pop    %eax
4332f1:	5f                   	pop    %edi
4332f2:	5b                   	pop    %ebx
4332f3:	c9                   	leave
4332f4:	c3                   	ret
4332f5:	56                   	push   %esi
4332f6:	8d 5f 01             	lea    0x1(%edi),%ebx
4332f9:	03 d9                	add    %ecx,%ebx
4332fb:	6a 02                	push   $0x2
4332fd:	53                   	push   %ebx
4332fe:	e8 17 91 ff ff       	call   0x42c41a
433303:	8b f0                	mov    %eax,%esi
433305:	59                   	pop    %ecx
433306:	59                   	pop    %ecx
433307:	85 ff                	test   %edi,%edi
433309:	74 12                	je     0x43331d
43330b:	57                   	push   %edi
43330c:	ff 75 0c             	push   0xc(%ebp)
43330f:	53                   	push   %ebx
433310:	56                   	push   %esi
433311:	e8 92 4a ff ff       	call   0x427da8
433316:	83 c4 10             	add    $0x10,%esp
433319:	85 c0                	test   %eax,%eax
43331b:	75 4a                	jne    0x433367
43331d:	ff 75 fc             	push   -0x4(%ebp)
433320:	2b df                	sub    %edi,%ebx
433322:	8d 04 7e             	lea    (%esi,%edi,2),%eax
433325:	ff 75 08             	push   0x8(%ebp)
433328:	53                   	push   %ebx
433329:	50                   	push   %eax
43332a:	e8 79 4a ff ff       	call   0x427da8
43332f:	83 c4 10             	add    $0x10,%esp
433332:	85 c0                	test   %eax,%eax
433334:	75 31                	jne    0x433367
433336:	8b 7d 14             	mov    0x14(%ebp),%edi
433339:	8b cf                	mov    %edi,%ecx
43333b:	e8 f3 01 00 00       	call   0x433533
433340:	8b d8                	mov    %eax,%ebx
433342:	85 db                	test   %ebx,%ebx
433344:	74 09                	je     0x43334f
433346:	56                   	push   %esi
433347:	e8 2b 91 ff ff       	call   0x42c477
43334c:	59                   	pop    %ecx
43334d:	eb 0b                	jmp    0x43335a
43334f:	8b 47 04             	mov    0x4(%edi),%eax
433352:	89 30                	mov    %esi,(%eax)
433354:	83 47 04 04          	addl   $0x4,0x4(%edi)
433358:	33 db                	xor    %ebx,%ebx
43335a:	6a 00                	push   $0x0
43335c:	e8 16 91 ff ff       	call   0x42c477
433361:	59                   	pop    %ecx
433362:	8b c3                	mov    %ebx,%eax
433364:	5e                   	pop    %esi
433365:	eb 8a                	jmp    0x4332f1
433367:	33 c0                	xor    %eax,%eax
433369:	50                   	push   %eax
43336a:	50                   	push   %eax
43336b:	50                   	push   %eax
43336c:	50                   	push   %eax
43336d:	50                   	push   %eax
43336e:	e8 29 d7 fe ff       	call   0x420a9c
433373:	cc                   	int3
433374:	8b ff                	mov    %edi,%edi
433376:	55                   	push   %ebp
433377:	8b ec                	mov    %esp,%ebp
433379:	81 ec 64 02 00 00    	sub    $0x264,%esp
43337f:	a1 14 40 45 00       	mov    0x454014,%eax
433384:	33 c5                	xor    %ebp,%eax
433386:	89 45 fc             	mov    %eax,-0x4(%ebp)
433389:	8b 55 0c             	mov    0xc(%ebp),%edx
43338c:	8b 4d 10             	mov    0x10(%ebp),%ecx
43338f:	53                   	push   %ebx
433390:	56                   	push   %esi
433391:	57                   	push   %edi
433392:	8b 7d 08             	mov    0x8(%ebp),%edi
433395:	89 8d a4 fd ff ff    	mov    %ecx,-0x25c(%ebp)
43339b:	3b d7                	cmp    %edi,%edx
43339d:	74 20                	je     0x4333bf
43339f:	0f b7 02             	movzwl (%edx),%eax
4333a2:	8d 8d ab fd ff ff    	lea    -0x255(%ebp),%ecx
4333a8:	50                   	push   %eax
4333a9:	e8 61 01 00 00       	call   0x43350f
4333ae:	84 c0                	test   %al,%al
4333b0:	75 07                	jne    0x4333b9
4333b2:	83 ea 02             	sub    $0x2,%edx
4333b5:	3b d7                	cmp    %edi,%edx
4333b7:	75 e6                	jne    0x43339f
4333b9:	8b 8d a4 fd ff ff    	mov    -0x25c(%ebp),%ecx
4333bf:	0f b7 32             	movzwl (%edx),%esi
4333c2:	83 fe 3a             	cmp    $0x3a,%esi
4333c5:	75 1a                	jne    0x4333e1
4333c7:	8d 47 02             	lea    0x2(%edi),%eax
4333ca:	3b d0                	cmp    %eax,%edx
4333cc:	74 13                	je     0x4333e1
4333ce:	51                   	push   %ecx
4333cf:	33 db                	xor    %ebx,%ebx
4333d1:	53                   	push   %ebx
4333d2:	53                   	push   %ebx
4333d3:	57                   	push   %edi
4333d4:	e8 e7 fe ff ff       	call   0x4332c0
4333d9:	83 c4 10             	add    $0x10,%esp
4333dc:	e9 fa 00 00 00       	jmp    0x4334db
4333e1:	56                   	push   %esi
4333e2:	8d 8d ab fd ff ff    	lea    -0x255(%ebp),%ecx
4333e8:	e8 22 01 00 00       	call   0x43350f
4333ed:	2b d7                	sub    %edi,%edx
4333ef:	0f b6 c0             	movzbl %al,%eax
4333f2:	d1 fa                	sar    $1,%edx
4333f4:	42                   	inc    %edx
4333f5:	f7 d8                	neg    %eax
4333f7:	1b c0                	sbb    %eax,%eax
4333f9:	33 db                	xor    %ebx,%ebx
4333fb:	53                   	push   %ebx
4333fc:	53                   	push   %ebx
4333fd:	23 c2                	and    %edx,%eax
4333ff:	53                   	push   %ebx
433400:	89 85 a0 fd ff ff    	mov    %eax,-0x260(%ebp)
433406:	8d 85 ac fd ff ff    	lea    -0x254(%ebp),%eax
43340c:	50                   	push   %eax
43340d:	53                   	push   %ebx
43340e:	57                   	push   %edi
43340f:	ff 15 b8 f1 43 00    	call   *0x43f1b8
433415:	8b f0                	mov    %eax,%esi
433417:	83 fe ff             	cmp    $0xffffffff,%esi
43341a:	75 08                	jne    0x433424
43341c:	ff b5 a4 fd ff ff    	push   -0x25c(%ebp)
433422:	eb ad                	jmp    0x4333d1
433424:	8b 9d a4 fd ff ff    	mov    -0x25c(%ebp),%ebx
43342a:	6a 2e                	push   $0x2e
43342c:	8b 43 04             	mov    0x4(%ebx),%eax
43342f:	2b 03                	sub    (%ebx),%eax
433431:	c1 f8 02             	sar    $0x2,%eax
433434:	89 85 a4 fd ff ff    	mov    %eax,-0x25c(%ebp)
43343a:	58                   	pop    %eax
43343b:	66 39 85 d8 fd ff ff 	cmp    %ax,-0x228(%ebp)
433442:	75 1d                	jne    0x433461
433444:	66 83 bd da fd ff ff 	cmpw   $0x0,-0x226(%ebp)
43344b:	00
43344c:	74 34                	je     0x433482
43344e:	66 39 85 da fd ff ff 	cmp    %ax,-0x226(%ebp)
433455:	75 0a                	jne    0x433461
433457:	66 83 bd dc fd ff ff 	cmpw   $0x0,-0x224(%ebp)
43345e:	00
43345f:	74 21                	je     0x433482
433461:	53                   	push   %ebx
433462:	ff b5 a0 fd ff ff    	push   -0x260(%ebp)
433468:	8d 85 d8 fd ff ff    	lea    -0x228(%ebp),%eax
43346e:	57                   	push   %edi
43346f:	50                   	push   %eax
433470:	e8 4b fe ff ff       	call   0x4332c0
433475:	83 c4 10             	add    $0x10,%esp
433478:	89 85 9c fd ff ff    	mov    %eax,-0x264(%ebp)
43347e:	85 c0                	test   %eax,%eax
433480:	75 4c                	jne    0x4334ce
433482:	8d 85 ac fd ff ff    	lea    -0x254(%ebp),%eax
433488:	50                   	push   %eax
433489:	56                   	push   %esi
43348a:	ff 15 48 f0 43 00    	call   *0x43f048
433490:	6a 2e                	push   $0x2e
433492:	85 c0                	test   %eax,%eax
433494:	58                   	pop    %eax
433495:	75 a4                	jne    0x43343b
433497:	8b 43 04             	mov    0x4(%ebx),%eax
43349a:	8b 13                	mov    (%ebx),%edx
43349c:	2b c2                	sub    %edx,%eax
43349e:	8b 8d a4 fd ff ff    	mov    -0x25c(%ebp),%ecx
4334a4:	c1 f8 02             	sar    $0x2,%eax
4334a7:	3b c8                	cmp    %eax,%ecx
4334a9:	75 0b                	jne    0x4334b6
4334ab:	56                   	push   %esi
4334ac:	ff 15 90 f0 43 00    	call   *0x43f090
4334b2:	33 c0                	xor    %eax,%eax
4334b4:	eb 25                	jmp    0x4334db
4334b6:	68 f0 30 43 00       	push   $0x4330f0
4334bb:	2b c1                	sub    %ecx,%eax
4334bd:	6a 04                	push   $0x4
4334bf:	50                   	push   %eax
4334c0:	8d 04 8a             	lea    (%edx,%ecx,4),%eax
4334c3:	50                   	push   %eax
4334c4:	e8 e7 77 00 00       	call   0x43acb0
4334c9:	83 c4 10             	add    $0x10,%esp
4334cc:	eb dd                	jmp    0x4334ab
4334ce:	56                   	push   %esi
4334cf:	ff 15 90 f0 43 00    	call   *0x43f090
4334d5:	8b 85 9c fd ff ff    	mov    -0x264(%ebp),%eax
4334db:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4334de:	5f                   	pop    %edi
4334df:	5e                   	pop    %esi
4334e0:	33 cd                	xor    %ebp,%ecx
4334e2:	5b                   	pop    %ebx
4334e3:	e8 e8 83 fe ff       	call   0x41b8d0
4334e8:	c9                   	leave
4334e9:	c3                   	ret
4334ea:	8b ff                	mov    %edi,%edi
4334ec:	56                   	push   %esi
4334ed:	57                   	push   %edi
4334ee:	8b f9                	mov    %ecx,%edi
4334f0:	8b 37                	mov    (%edi),%esi
4334f2:	eb 0b                	jmp    0x4334ff
4334f4:	ff 36                	push   (%esi)
4334f6:	e8 7c 8f ff ff       	call   0x42c477
4334fb:	59                   	pop    %ecx
4334fc:	83 c6 04             	add    $0x4,%esi
4334ff:	3b 77 04             	cmp    0x4(%edi),%esi
433502:	75 f0                	jne    0x4334f4
433504:	ff 37                	push   (%edi)
433506:	e8 6c 8f ff ff       	call   0x42c477
43350b:	59                   	pop    %ecx
43350c:	5f                   	pop    %edi
43350d:	5e                   	pop    %esi
43350e:	c3                   	ret
43350f:	8b ff                	mov    %edi,%edi
433511:	55                   	push   %ebp
433512:	8b ec                	mov    %esp,%ebp
433514:	66 83 7d 08 2f       	cmpw   $0x2f,0x8(%ebp)
433519:	74 12                	je     0x43352d
43351b:	66 83 7d 08 5c       	cmpw   $0x5c,0x8(%ebp)
433520:	74 0b                	je     0x43352d
433522:	66 83 7d 08 3a       	cmpw   $0x3a,0x8(%ebp)
433527:	74 04                	je     0x43352d
433529:	32 c0                	xor    %al,%al
43352b:	eb 02                	jmp    0x43352f
43352d:	b0 01                	mov    $0x1,%al
43352f:	5d                   	pop    %ebp
433530:	c2 04 00             	ret    $0x4
433533:	8b ff                	mov    %edi,%edi
433535:	56                   	push   %esi
433536:	8b f1                	mov    %ecx,%esi
433538:	57                   	push   %edi
433539:	8b 7e 08             	mov    0x8(%esi),%edi
43353c:	39 7e 04             	cmp    %edi,0x4(%esi)
43353f:	74 04                	je     0x433545
433541:	33 c0                	xor    %eax,%eax
433543:	eb 72                	jmp    0x4335b7
433545:	83 3e 00             	cmpl   $0x0,(%esi)
433548:	75 26                	jne    0x433570
43354a:	6a 04                	push   $0x4
43354c:	6a 04                	push   $0x4
43354e:	e8 c7 8e ff ff       	call   0x42c41a
433553:	6a 00                	push   $0x0
433555:	89 06                	mov    %eax,(%esi)
433557:	e8 1b 8f ff ff       	call   0x42c477
43355c:	8b 06                	mov    (%esi),%eax
43355e:	83 c4 0c             	add    $0xc,%esp
433561:	85 c0                	test   %eax,%eax
433563:	74 18                	je     0x43357d
433565:	89 46 04             	mov    %eax,0x4(%esi)
433568:	83 c0 10             	add    $0x10,%eax
43356b:	89 46 08             	mov    %eax,0x8(%esi)
43356e:	eb d1                	jmp    0x433541
433570:	2b 3e                	sub    (%esi),%edi
433572:	c1 ff 02             	sar    $0x2,%edi
433575:	81 ff ff ff ff 7f    	cmp    $0x7fffffff,%edi
43357b:	76 05                	jbe    0x433582
43357d:	6a 0c                	push   $0xc
43357f:	58                   	pop    %eax
433580:	eb 35                	jmp    0x4335b7
433582:	53                   	push   %ebx
433583:	6a 04                	push   $0x4
433585:	8d 1c 3f             	lea    (%edi,%edi,1),%ebx
433588:	53                   	push   %ebx
433589:	ff 36                	push   (%esi)
43358b:	e8 6b 87 ff ff       	call   0x42bcfb
433590:	83 c4 0c             	add    $0xc,%esp
433593:	85 c0                	test   %eax,%eax
433595:	75 05                	jne    0x43359c
433597:	6a 0c                	push   $0xc
433599:	5e                   	pop    %esi
43359a:	eb 10                	jmp    0x4335ac
43359c:	89 06                	mov    %eax,(%esi)
43359e:	8d 0c b8             	lea    (%eax,%edi,4),%ecx
4335a1:	8d 04 98             	lea    (%eax,%ebx,4),%eax
4335a4:	89 4e 04             	mov    %ecx,0x4(%esi)
4335a7:	89 46 08             	mov    %eax,0x8(%esi)
4335aa:	33 f6                	xor    %esi,%esi
4335ac:	6a 00                	push   $0x0
4335ae:	e8 c4 8e ff ff       	call   0x42c477
4335b3:	59                   	pop    %ecx
4335b4:	8b c6                	mov    %esi,%eax
4335b6:	5b                   	pop    %ebx
4335b7:	5f                   	pop    %edi
4335b8:	5e                   	pop    %esi
4335b9:	c3                   	ret