437312:	8b c3                	mov    %ebx,%eax
437314:	e8 0f 87 00 00       	call   0x43fa28
437319:	c2 24 00             	ret    $0x24
43731c:	6a 40                	push   $0x40
43731e:	b8 93 23 49 00       	mov    $0x492393,%eax
437323:	e8 56 87 00 00       	call   0x43fa7e
437328:	8b 55 28             	mov    0x28(%ebp),%edx
43732b:	8b 45 20             	mov    0x20(%ebp),%eax
43732e:	8b 5d 08             	mov    0x8(%ebp),%ebx
437331:	8b 75 24             	mov    0x24(%ebp),%esi
437334:	89 55 b4             	mov    %edx,-0x4c(%ebp)
437337:	8d 55 d8             	lea    -0x28(%ebp),%edx
43733a:	52                   	push   %edx
43733b:	50                   	push   %eax
43733c:	ff 75 1c             	push   0x1c(%ebp)
43733f:	8d 45 14             	lea    0x14(%ebp),%eax
437342:	50                   	push   %eax
437343:	8d 45 0c             	lea    0xc(%ebp),%eax
437346:	50                   	push   %eax
437347:	8d 45 c0             	lea    -0x40(%ebp),%eax
43734a:	50                   	push   %eax
43734b:	e8 05 cb ff ff       	call   0x433e55
437350:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
437354:	8d 45 14             	lea    0x14(%ebp),%eax
437357:	50                   	push   %eax
437358:	8d 4d 0c             	lea    0xc(%ebp),%ecx
43735b:	e8 94 98 fe ff       	call   0x420bf4
437360:	84 c0                	test   %al,%al
437362:	74 03                	je     0x437367
437364:	83 0e 01             	orl    $0x1,(%esi)
437367:	83 7d d0 00          	cmpl   $0x0,-0x30(%ebp)
43736b:	74 37                	je     0x4373a4
43736d:	83 7d d4 10          	cmpl   $0x10,-0x2c(%ebp)
437371:	8d 7d c0             	lea    -0x40(%ebp),%edi
437374:	72 03                	jb     0x437379
437376:	8b 7d c0             	mov    -0x40(%ebp),%edi
437379:	83 65 bc 00          	andl   $0x0,-0x44(%ebp)
43737d:	8d 45 bc             	lea    -0x44(%ebp),%eax
437380:	50                   	push   %eax
437381:	6a 00                	push   $0x0
437383:	8d 45 b8             	lea    -0x48(%ebp),%eax
437386:	50                   	push   %eax
437387:	57                   	push   %edi
437388:	e8 f2 59 fe ff       	call   0x41cd7f
43738d:	83 c4 10             	add    $0x10,%esp
437390:	39 7d b8             	cmp    %edi,-0x48(%ebp)
437393:	74 0d                	je     0x4373a2
437395:	83 7d bc 00          	cmpl   $0x0,-0x44(%ebp)
437399:	75 07                	jne    0x4373a2
43739b:	8b 45 b4             	mov    -0x4c(%ebp),%eax
43739e:	dd 18                	fstpl  (%eax)
4373a0:	eb 05                	jmp    0x4373a7
4373a2:	dd d8                	fstp   %st(0)
4373a4:	83 0e 02             	orl    $0x2,(%esi)
4373a7:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4373aa:	89 0b                	mov    %ecx,(%ebx)
4373ac:	8b 4d 10             	mov    0x10(%ebp),%ecx
4373af:	89 4b 04             	mov    %ecx,0x4(%ebx)
4373b2:	8d 4d c0             	lea    -0x40(%ebp),%ecx
4373b5:	e8 1a 5f fe ff       	call   0x41d2d4
4373ba:	8b c3                	mov    %ebx,%eax
4373bc:	e8 67 86 00 00       	call   0x43fa28
4373c1:	c2 24 00             	ret    $0x24
4373c4:	6a 3c                	push   $0x3c
4373c6:	b8 c0 23 49 00       	mov    $0x4923c0,%eax
4373cb:	e8 ae 86 00 00       	call   0x43fa7e
4373d0:	8b 45 08             	mov    0x8(%ebp),%eax
4373d3:	8d 55 d8             	lea    -0x28(%ebp),%edx
4373d6:	8b 5d 24             	mov    0x24(%ebp),%ebx
4373d9:	8b 7d 28             	mov    0x28(%ebp),%edi
4373dc:	52                   	push   %edx
4373dd:	89 45 b8             	mov    %eax,-0x48(%ebp)
4373e0:	8b 45 20             	mov    0x20(%ebp),%eax
4373e3:	50                   	push   %eax
4373e4:	ff 75 1c             	push   0x1c(%ebp)
4373e7:	8d 45 14             	lea    0x14(%ebp),%eax
4373ea:	50                   	push   %eax
4373eb:	8d 45 0c             	lea    0xc(%ebp),%eax
4373ee:	50                   	push   %eax
4373ef:	8d 45 c0             	lea    -0x40(%ebp),%eax
4373f2:	50                   	push   %eax
4373f3:	e8 5d ca ff ff       	call   0x433e55
4373f8:	8b 45 d0             	mov    -0x30(%ebp),%eax
4373fb:	8d 4d 0c             	lea    0xc(%ebp),%ecx
4373fe:	89 45 bc             	mov    %eax,-0x44(%ebp)
437401:	33 f6                	xor    %esi,%esi
437403:	8d 45 14             	lea    0x14(%ebp),%eax
437406:	89 75 fc             	mov    %esi,-0x4(%ebp)
437409:	50                   	push   %eax
43740a:	e8 e5 97 fe ff       	call   0x420bf4
43740f:	84 c0                	test   %al,%al
437411:	74 03                	je     0x437416
437413:	83 0b 01             	orl    $0x1,(%ebx)
437416:	39 75 bc             	cmp    %esi,-0x44(%ebp)
437419:	75 05                	jne    0x437420
43741b:	83 0b 02             	orl    $0x2,(%ebx)
43741e:	eb 5e                	jmp    0x43747e
437420:	8b 5d bc             	mov    -0x44(%ebp),%ebx
437423:	8b cf                	mov    %edi,%ecx
437425:	56                   	push   %esi
437426:	53                   	push   %ebx
437427:	e8 83 b4 fe ff       	call   0x4228af
43742c:	83 7d d4 10          	cmpl   $0x10,-0x2c(%ebp)
437430:	8d 45 c0             	lea    -0x40(%ebp),%eax
437433:	72 03                	jb     0x437438
437435:	8b 45 c0             	mov    -0x40(%ebp),%eax
437438:	80 38 2d             	cmpb   $0x2d,(%eax)
43743b:	75 3d                	jne    0x43747a
43743d:	83 7f 14 08          	cmpl   $0x8,0x14(%edi)
437441:	8b cf                	mov    %edi,%ecx
437443:	72 02                	jb     0x437447
437445:	8b 0f                	mov    (%edi),%ecx
437447:	66 8b 45 ec          	mov    -0x14(%ebp),%ax
43744b:	33 f6                	xor    %esi,%esi
43744d:	66 89 01             	mov    %ax,(%ecx)
437450:	46                   	inc    %esi
437451:	eb 27                	jmp    0x43747a
437453:	83 7d d4 10          	cmpl   $0x10,-0x2c(%ebp)
437457:	8d 45 c0             	lea    -0x40(%ebp),%eax
43745a:	72 03                	jb     0x43745f
43745c:	8b 45 c0             	mov    -0x40(%ebp),%eax
43745f:	83 7f 14 08          	cmpl   $0x8,0x14(%edi)
437463:	8b cf                	mov    %edi,%ecx
437465:	72 02                	jb     0x437469
437467:	8b 0f                	mov    (%edi),%ecx
437469:	0f be 04 30          	movsbl (%eax,%esi,1),%eax
43746d:	66 8b 84 45 78 ff ff 	mov    -0x88(%ebp,%eax,2),%ax
437474:	ff
437475:	66 89 04 71          	mov    %ax,(%ecx,%esi,2)
437479:	46                   	inc    %esi
43747a:	3b f3                	cmp    %ebx,%esi
43747c:	72 d5                	jb     0x437453
43747e:	8b 5d b8             	mov    -0x48(%ebp),%ebx
437481:	8b 4d 0c             	mov    0xc(%ebp),%ecx
437484:	89 0b                	mov    %ecx,(%ebx)
437486:	8b 4d 10             	mov    0x10(%ebp),%ecx
437489:	89 4b 04             	mov    %ecx,0x4(%ebx)
43748c:	8d 4d c0             	lea    -0x40(%ebp),%ecx
43748f:	e8 40 5e fe ff       	call   0x41d2d4
437494:	8b c3                	mov    %ebx,%eax
437496:	e8 8d 85 00 00       	call   0x43fa28
43749b:	c2 24 00             	ret    $0x24
43749e:	6a 3c                	push   $0x3c
4374a0:	b8 ed 23 49 00       	mov    $0x4923ed,%eax
4374a5:	e8 d4 85 00 00       	call   0x43fa7e
4374aa:	8b f9                	mov    %ecx,%edi
4374ac:	8b 75 1c             	mov    0x1c(%ebp),%esi
4374af:	8d 4d c0             	lea    -0x40(%ebp),%ecx
4374b2:	8b 45 08             	mov    0x8(%ebp),%eax
4374b5:	8b 5d 20             	mov    0x20(%ebp),%ebx
4374b8:	89 45 b8             	mov    %eax,-0x48(%ebp)
4374bb:	8b 45 24             	mov    0x24(%ebp),%eax
4374be:	ff 76 30             	push   0x30(%esi)
4374c1:	89 45 c8             	mov    %eax,-0x38(%ebp)
4374c4:	e8 73 19 ff ff       	call   0x428e3c
4374c9:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4374cd:	8d 45 c0             	lea    -0x40(%ebp),%eax
4374d0:	50                   	push   %eax
4374d1:	ff 76 14             	push   0x14(%esi)
4374d4:	8d 45 14             	lea    0x14(%ebp),%eax
4374d7:	50                   	push   %eax
4374d8:	8d 45 0c             	lea    0xc(%ebp),%eax
4374db:	50                   	push   %eax
4374dc:	8d 45 d0             	lea    -0x30(%ebp),%eax
4374df:	50                   	push   %eax
4374e0:	57                   	push   %edi
4374e1:	e8 2e b8 ff ff       	call   0x432d14
4374e6:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
4374ea:	8d 4d c0             	lea    -0x40(%ebp),%ecx
4374ed:	83 c4 18             	add    $0x18,%esp
4374f0:	8b f8                	mov    %eax,%edi
4374f2:	e8 f0 7e fd ff       	call   0x40f3e7
4374f7:	8a 45 d0             	mov    -0x30(%ebp),%al
4374fa:	84 c0                	test   %al,%al
4374fc:	75 10                	jne    0x43750e
4374fe:	8b 45 c8             	mov    -0x38(%ebp),%eax
437501:	33 c9                	xor    %ecx,%ecx
437503:	c7 03 02 00 00 00    	movl   $0x2,(%ebx)
437509:	66 89 08             	mov    %cx,(%eax)
43750c:	eb 55                	jmp    0x437563
43750e:	3c 2d                	cmp    $0x2d,%al
437510:	8d 75 d0             	lea    -0x30(%ebp),%esi
437513:	0f 94 45 cf          	sete   -0x31(%ebp)
437517:	75 03                	jne    0x43751c
437519:	8d 75 d1             	lea    -0x2f(%ebp),%esi
43751c:	8d 45 c4             	lea    -0x3c(%ebp),%eax
43751f:	50                   	push   %eax
437520:	57                   	push   %edi
437521:	8d 45 bc             	lea    -0x44(%ebp),%eax
437524:	50                   	push   %eax
437525:	56                   	push   %esi
437526:	e8 72 03 ff ff       	call   0x42789d
43752b:	8b 4d c8             	mov    -0x38(%ebp),%ecx
43752e:	8b d0                	mov    %eax,%edx
437530:	83 c4 10             	add    $0x10,%esp
437533:	0f b7 c2             	movzwl %dx,%eax
437536:	bf ff ff 00 00       	mov    $0xffff,%edi
43753b:	66 89 01             	mov    %ax,(%ecx)
43753e:	39 75 bc             	cmp    %esi,-0x44(%ebp)
437541:	74 17                	je     0x43755a
437543:	83 7d c4 00          	cmpl   $0x0,-0x3c(%ebp)
437547:	75 11                	jne    0x43755a
437549:	3b d7                	cmp    %edi,%edx
43754b:	77 0d                	ja     0x43755a
43754d:	80 7d cf 00          	cmpb   $0x0,-0x31(%ebp)
437551:	74 10                	je     0x437563
437553:	f7 d8                	neg    %eax
437555:	66 89 01             	mov    %ax,(%ecx)
437558:	eb 09                	jmp    0x437563
43755a:	c7 03 02 00 00 00    	movl   $0x2,(%ebx)
437560:	66 89 39             	mov    %di,(%ecx)
437563:	8d 45 14             	lea    0x14(%ebp),%eax
437566:	50                   	push   %eax
437567:	8d 4d 0c             	lea    0xc(%ebp),%ecx
43756a:	e8 d1 38 00 00       	call   0x43ae40
43756f:	84 c0                	test   %al,%al
437571:	74 03                	je     0x437576
437573:	83 0b 01             	orl    $0x1,(%ebx)
437576:	8b 45 b8             	mov    -0x48(%ebp),%eax
437579:	8b 4d 0c             	mov    0xc(%ebp),%ecx
43757c:	89 08                	mov    %ecx,(%eax)
43757e:	8b 4d 10             	mov    0x10(%ebp),%ecx
437581:	89 48 04             	mov    %ecx,0x4(%eax)
437584:	e8 9f 84 00 00       	call   0x43fa28
437589:	c2 20 00             	ret    $0x20
43758c:	55                   	push   %ebp
43758d:	8b ec                	mov    %esp,%ebp
43758f:	83 ec 0c             	sub    $0xc,%esp
437592:	56                   	push   %esi
437593:	8d 45 fc             	lea    -0x4(%ebp),%eax
437596:	50                   	push   %eax
437597:	ff 75 20             	push   0x20(%ebp)
43759a:	8d 45 f4             	lea    -0xc(%ebp),%eax
43759d:	ff 75 1c             	push   0x1c(%ebp)
4375a0:	ff 75 18             	push   0x18(%ebp)
4375a3:	ff 75 14             	push   0x14(%ebp)
4375a6:	ff 75 10             	push   0x10(%ebp)
4375a9:	ff 75 0c             	push   0xc(%ebp)
4375ac:	50                   	push   %eax
4375ad:	e8 e1 00 00 00       	call   0x437693
4375b2:	8b 4d 24             	mov    0x24(%ebp),%ecx
4375b5:	8b 30                	mov    (%eax),%esi
4375b7:	89 75 0c             	mov    %esi,0xc(%ebp)
4375ba:	8b 50 04             	mov    0x4(%eax),%edx
4375bd:	8b 45 fc             	mov    -0x4(%ebp),%eax
4375c0:	89 01                	mov    %eax,(%ecx)
4375c2:	8b 45 08             	mov    0x8(%ebp),%eax
4375c5:	89 30                	mov    %esi,(%eax)
4375c7:	89 50 04             	mov    %edx,0x4(%eax)
4375ca:	5e                   	pop    %esi
4375cb:	c9                   	leave
4375cc:	c2 20 00             	ret    $0x20
4375cf:	6a 38                	push   $0x38
4375d1:	b8 1a 24 49 00       	mov    $0x49241a,%eax
4375d6:	e8 a3 84 00 00       	call   0x43fa7e
4375db:	8b f9                	mov    %ecx,%edi
4375dd:	8b 75 1c             	mov    0x1c(%ebp),%esi
4375e0:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
4375e3:	8b 45 08             	mov    0x8(%ebp),%eax
4375e6:	8b 5d 20             	mov    0x20(%ebp),%ebx
4375e9:	89 45 bc             	mov    %eax,-0x44(%ebp)
4375ec:	8b 45 24             	mov    0x24(%ebp),%eax
4375ef:	ff 76 30             	push   0x30(%esi)
4375f2:	89 45 cc             	mov    %eax,-0x34(%ebp)
4375f5:	e8 42 18 ff ff       	call   0x428e3c
4375fa:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4375fe:	8d 45 c4             	lea    -0x3c(%ebp),%eax
437601:	50                   	push   %eax
437602:	ff 76 14             	push   0x14(%esi)
437605:	8d 45 14             	lea    0x14(%ebp),%eax
437608:	50                   	push   %eax
437609:	8d 45 0c             	lea    0xc(%ebp),%eax
43760c:	50                   	push   %eax
43760d:	8d 45 d0             	lea    -0x30(%ebp),%eax
437610:	50                   	push   %eax
437611:	57                   	push   %edi
437612:	e8 fd b6 ff ff       	call   0x432d14
437617:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
43761b:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
43761e:	83 c4 18             	add    $0x18,%esp
437621:	8b f0                	mov    %eax,%esi
437623:	e8 bf 7d fd ff       	call   0x40f3e7
437628:	80 7d d0 00          	cmpb   $0x0,-0x30(%ebp)
43762c:	75 0e                	jne    0x43763c
43762e:	8b 4d cc             	mov    -0x34(%ebp),%ecx
437631:	c7 03 02 00 00 00    	movl   $0x2,(%ebx)
437637:	83 21 00             	andl   $0x0,(%ecx)
43763a:	eb 2e                	jmp    0x43766a
43763c:	8d 45 c8             	lea    -0x38(%ebp),%eax
43763f:	50                   	push   %eax
437640:	56                   	push   %esi
437641:	8d 45 c0             	lea    -0x40(%ebp),%eax
437644:	50                   	push   %eax
437645:	8d 45 d0             	lea    -0x30(%ebp),%eax
437648:	50                   	push   %eax
437649:	e8 92 01 ff ff       	call   0x4277e0
43764e:	8b 4d cc             	mov    -0x34(%ebp),%ecx
437651:	83 c4 10             	add    $0x10,%esp
437654:	89 01                	mov    %eax,(%ecx)
437656:	8d 45 d0             	lea    -0x30(%ebp),%eax
437659:	39 45 c0             	cmp    %eax,-0x40(%ebp)
43765c:	74 06                	je     0x437664
43765e:	83 7d c8 00          	cmpl   $0x0,-0x38(%ebp)
437662:	74 06                	je     0x43766a
437664:	c7 03 02 00 00 00    	movl   $0x2,(%ebx)
43766a:	8d 45 14             	lea    0x14(%ebp),%eax
43766d:	50                   	push   %eax
43766e:	8d 4d 0c             	lea    0xc(%ebp),%ecx
437671:	e8 ca 37 00 00       	call   0x43ae40
437676:	84 c0                	test   %al,%al
437678:	74 03                	je     0x43767d
43767a:	83 0b 01             	orl    $0x1,(%ebx)
43767d:	8b 45 bc             	mov    -0x44(%ebp),%eax
437680:	8b 4d 0c             	mov    0xc(%ebp),%ecx
437683:	89 08                	mov    %ecx,(%eax)
437685:	8b 4d 10             	mov    0x10(%ebp),%ecx
437688:	89 48 04             	mov    %ecx,0x4(%eax)
43768b:	e8 98 83 00 00       	call   0x43fa28
437690:	c2 20 00             	ret    $0x20
437693:	6a 38                	push   $0x38
437695:	b8 47 24 49 00       	mov    $0x492447,%eax
43769a:	e8 df 83 00 00       	call   0x43fa7e
43769f:	8b f9                	mov    %ecx,%edi
4376a1:	8b 75 1c             	mov    0x1c(%ebp),%esi
4376a4:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
4376a7:	8b 45 08             	mov    0x8(%ebp),%eax
4376aa:	8b 5d 20             	mov    0x20(%ebp),%ebx
4376ad:	89 45 bc             	mov    %eax,-0x44(%ebp)
4376b0:	8b 45 24             	mov    0x24(%ebp),%eax
4376b3:	ff 76 30             	push   0x30(%esi)
4376b6:	89 45 cc             	mov    %eax,-0x34(%ebp)
4376b9:	e8 7e 17 ff ff       	call   0x428e3c
4376be:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4376c2:	8d 45 c4             	lea    -0x3c(%ebp),%eax
4376c5:	50                   	push   %eax
4376c6:	ff 76 14             	push   0x14(%esi)
4376c9:	8d 45 14             	lea    0x14(%ebp),%eax
4376cc:	50                   	push   %eax
4376cd:	8d 45 0c             	lea    0xc(%ebp),%eax
4376d0:	50                   	push   %eax
4376d1:	8d 45 d0             	lea    -0x30(%ebp),%eax
4376d4:	50                   	push   %eax
4376d5:	57                   	push   %edi
4376d6:	e8 39 b6 ff ff       	call   0x432d14
4376db:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
4376df:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
4376e2:	83 c4 18             	add    $0x18,%esp
4376e5:	8b f0                	mov    %eax,%esi
4376e7:	e8 fb 7c fd ff       	call   0x40f3e7
4376ec:	80 7d d0 00          	cmpb   $0x0,-0x30(%ebp)