436479:	8b 4d 24             	mov    0x24(%ebp),%ecx
43647c:	8b 45 34             	mov    0x34(%ebp),%eax
43647f:	53                   	push   %ebx
436480:	8d 04 41             	lea    (%ecx,%eax,2),%eax
436483:	8d 0c 1b             	lea    (%ebx,%ebx,1),%ecx
436486:	2b c1                	sub    %ecx,%eax
436488:	50                   	push   %eax
436489:	ff 75 10             	push   0x10(%ebp)
43648c:	8d 85 34 ff ff ff    	lea    -0xcc(%ebp),%eax
436492:	ff 75 0c             	push   0xc(%ebp)
436495:	e9 15 ff ff ff       	jmp    0x4363af
43649a:	83 7d e8 00          	cmpl   $0x0,-0x18(%ebp)
43649e:	0f 86 8a 00 00 00    	jbe    0x43652e
4364a4:	83 7d ec 08          	cmpl   $0x8,-0x14(%ebp)
4364a8:	8d 45 d8             	lea    -0x28(%ebp),%eax
4364ab:	72 03                	jb     0x4364b0
4364ad:	8b 45 d8             	mov    -0x28(%ebp),%eax
4364b0:	6a 01                	push   $0x1
4364b2:	50                   	push   %eax
4364b3:	8d 85 2c ff ff ff    	lea    -0xd4(%ebp),%eax
4364b9:	e9 ef fe ff ff       	jmp    0x4363ad
4364be:	83 7d bc 08          	cmpl   $0x8,-0x44(%ebp)
4364c2:	8d 45 a8             	lea    -0x58(%ebp),%eax
4364c5:	72 03                	jb     0x4364ca
4364c7:	8b 45 a8             	mov    -0x58(%ebp),%eax
4364ca:	ff 75 b8             	push   -0x48(%ebp)
4364cd:	50                   	push   %eax
4364ce:	8d 85 24 ff ff ff    	lea    -0xdc(%ebp),%eax
4364d4:	e9 d4 fe ff ff       	jmp    0x4363ad
4364d9:	6a 01                	push   $0x1
4364db:	ff b5 7c ff ff ff    	push   -0x84(%ebp)
4364e1:	8d 85 1c ff ff ff    	lea    -0xe4(%ebp),%eax
4364e7:	56                   	push   %esi
4364e8:	52                   	push   %edx
4364e9:	50                   	push   %eax
4364ea:	e8 3c 06 00 00       	call   0x436b2b
4364ef:	83 c4 14             	add    $0x14,%esp
4364f2:	8b 10                	mov    (%eax),%edx
4364f4:	89 55 0c             	mov    %edx,0xc(%ebp)
4364f7:	8b 70 04             	mov    0x4(%eax),%esi
4364fa:	89 75 10             	mov    %esi,0x10(%ebp)
4364fd:	81 bd 70 ff ff ff 00 	cmpl   $0x100,-0x90(%ebp)
436504:	01 00 00
436507:	75 25                	jne    0x43652e
436509:	57                   	push   %edi
43650a:	ff b5 7c ff ff ff    	push   -0x84(%ebp)
436510:	8d 85 5c ff ff ff    	lea    -0xa4(%ebp),%eax
436516:	56                   	push   %esi
436517:	52                   	push   %edx
436518:	50                   	push   %eax
436519:	e8 0d 06 00 00       	call   0x436b2b
43651e:	83 c4 14             	add    $0x14,%esp
436521:	33 ff                	xor    %edi,%edi
436523:	8b 10                	mov    (%eax),%edx
436525:	89 55 0c             	mov    %edx,0xc(%ebp)
436528:	8b 70 04             	mov    0x4(%eax),%esi
43652b:	89 75 10             	mov    %esi,0x10(%ebp)
43652e:	8b 85 78 ff ff ff    	mov    -0x88(%ebp),%eax
436534:	40                   	inc    %eax
436535:	89 85 78 ff ff ff    	mov    %eax,-0x88(%ebp)
43653b:	83 f8 04             	cmp    $0x4,%eax
43653e:	0f 82 1b fe ff ff    	jb     0x43635f
436544:	83 7d e8 01          	cmpl   $0x1,-0x18(%ebp)
436548:	76 31                	jbe    0x43657b
43654a:	83 7d ec 08          	cmpl   $0x8,-0x14(%ebp)
43654e:	8d 4d d8             	lea    -0x28(%ebp),%ecx
436551:	72 03                	jb     0x436556
436553:	8b 4d d8             	mov    -0x28(%ebp),%ecx
436556:	8b 45 e8             	mov    -0x18(%ebp),%eax
436559:	83 c1 02             	add    $0x2,%ecx
43655c:	48                   	dec    %eax
43655d:	50                   	push   %eax
43655e:	51                   	push   %ecx
43655f:	56                   	push   %esi
436560:	52                   	push   %edx
436561:	8d 85 5c ff ff ff    	lea    -0xa4(%ebp),%eax
436567:	50                   	push   %eax
436568:	e8 1c fa ff ff       	call   0x435f89
43656d:	83 c4 14             	add    $0x14,%esp
436570:	8b 10                	mov    (%eax),%edx
436572:	89 55 0c             	mov    %edx,0xc(%ebp)
436575:	8b 70 04             	mov    0x4(%eax),%esi
436578:	89 75 10             	mov    %esi,0x10(%ebp)
43657b:	8b 45 80             	mov    -0x80(%ebp),%eax
43657e:	57                   	push   %edi
43657f:	ff b5 7c ff ff ff    	push   -0x84(%ebp)
436585:	83 60 20 00          	andl   $0x0,0x20(%eax)
436589:	83 60 24 00          	andl   $0x0,0x24(%eax)
43658d:	56                   	push   %esi
43658e:	8b b5 64 ff ff ff    	mov    -0x9c(%ebp),%esi
436594:	52                   	push   %edx
436595:	56                   	push   %esi
436596:	e8 90 05 00 00       	call   0x436b2b
43659b:	83 c4 14             	add    $0x14,%esp
43659e:	8d 4d a8             	lea    -0x58(%ebp),%ecx
4365a1:	e8 e5 06 00 00       	call   0x436c8b
4365a6:	8d 4d d8             	lea    -0x28(%ebp),%ecx
4365a9:	e8 dd 06 00 00       	call   0x436c8b
4365ae:	8d 4d c0             	lea    -0x40(%ebp),%ecx
4365b1:	e8 1e 6d fe ff       	call   0x41d2d4
4365b6:	8d 4d 24             	lea    0x24(%ebp),%ecx
4365b9:	e8 cd 06 00 00       	call   0x436c8b
4365be:	8b c6                	mov    %esi,%eax
4365c0:	e8 63 94 00 00       	call   0x43fa28
4365c5:	c2 38 00             	ret    $0x38
4365c8:	68 d8 00 00 00       	push   $0xd8
4365cd:	b8 09 23 49 00       	mov    $0x492309,%eax
4365d2:	e8 a7 94 00 00       	call   0x43fa7e
4365d7:	8b 45 08             	mov    0x8(%ebp),%eax
4365da:	8b 7d 18             	mov    0x18(%ebp),%edi
4365dd:	89 85 64 ff ff ff    	mov    %eax,-0x9c(%ebp)
4365e3:	0f b7 45 1c          	movzwl 0x1c(%ebp),%eax
4365e7:	89 85 7c ff ff ff    	mov    %eax,-0x84(%ebp)
4365ed:	0f b7 45 3c          	movzwl 0x3c(%ebp),%eax
4365f1:	89 7d 80             	mov    %edi,-0x80(%ebp)
4365f4:	89 85 68 ff ff ff    	mov    %eax,-0x98(%ebp)
4365fa:	ff 77 30             	push   0x30(%edi)
4365fd:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
436601:	8d 8d 6c ff ff ff    	lea    -0x94(%ebp),%ecx
436607:	e8 30 28 ff ff       	call   0x428e3c
43660c:	80 7d 14 00          	cmpb   $0x0,0x14(%ebp)
436610:	74 17                	je     0x436629
436612:	8d 85 6c ff ff ff    	lea    -0x94(%ebp),%eax
436618:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
43661c:	50                   	push   %eax
43661d:	e8 b1 8a ff ff       	call   0x42f0d3
436622:	8b d8                	mov    %eax,%ebx
436624:	89 5d 8c             	mov    %ebx,-0x74(%ebp)
436627:	eb 15                	jmp    0x43663e
436629:	8d 85 6c ff ff ff    	lea    -0x94(%ebp),%eax
43662f:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
436633:	50                   	push   %eax
436634:	e8 40 8b ff ff       	call   0x42f179
436639:	8b d8                	mov    %eax,%ebx
43663b:	89 45 8c             	mov    %eax,-0x74(%ebp)
43663e:	59                   	pop    %ecx
43663f:	8d 8d 6c ff ff ff    	lea    -0x94(%ebp),%ecx
436645:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
436649:	e8 99 8d fd ff       	call   0x40f3e7
43664e:	8b 03                	mov    (%ebx),%eax
436650:	8b 70 14             	mov    0x14(%eax),%esi
436653:	8d 45 c0             	lea    -0x40(%ebp),%eax
436656:	50                   	push   %eax
436657:	8b ce                	mov    %esi,%ecx
436659:	ff 15 54 43 49 00    	call   *0x494354
43665f:	8b cb                	mov    %ebx,%ecx
436661:	ff d6                	call   *%esi
436663:	8b cb                	mov    %ebx,%ecx
436665:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
436669:	e8 91 48 00 00       	call   0x43aeff
43666e:	99                   	cltd
43666f:	8b d8                	mov    %eax,%ebx
436671:	33 da                	xor    %edx,%ebx
436673:	2b da                	sub    %edx,%ebx
436675:	89 5d 84             	mov    %ebx,-0x7c(%ebp)
436678:	39 5d 34             	cmp    %ebx,0x34(%ebp)
43667b:	77 19                	ja     0x436696
43667d:	ff b5 68 ff ff ff    	push   -0x98(%ebp)
436683:	8b c3                	mov    %ebx,%eax
436685:	8d 4d 24             	lea    0x24(%ebp),%ecx
436688:	2b 45 34             	sub    0x34(%ebp),%eax
43668b:	40                   	inc    %eax
43668c:	50                   	push   %eax
43668d:	6a 00                	push   $0x0
43668f:	e8 c3 4a 00 00       	call   0x43b157
436694:	eb 70                	jmp    0x436706
436696:	83 7d d4 10          	cmpl   $0x10,-0x2c(%ebp)
43669a:	8d 45 c0             	lea    -0x40(%ebp),%eax
43669d:	72 03                	jb     0x4366a2
43669f:	8b 45 c0             	mov    -0x40(%ebp),%eax
4366a2:	80 38 7f             	cmpb   $0x7f,(%eax)
4366a5:	74 5f                	je     0x436706
4366a7:	83 7d d4 10          	cmpl   $0x10,-0x2c(%ebp)
4366ab:	8d 45 c0             	lea    -0x40(%ebp),%eax
4366ae:	72 03                	jb     0x4366b3
4366b0:	8b 45 c0             	mov    -0x40(%ebp),%eax
4366b3:	80 38 00             	cmpb   $0x0,(%eax)
4366b6:	7e 4e                	jle    0x436706
4366b8:	8b 4d 8c             	mov    -0x74(%ebp),%ecx
4366bb:	e8 9c 4e 00 00       	call   0x43b55c
4366c0:	83 7d d4 10          	cmpl   $0x10,-0x2c(%ebp)
4366c4:	8d 7d c0             	lea    -0x40(%ebp),%edi
4366c7:	0f b7 d8             	movzwl %ax,%ebx
4366ca:	72 03                	jb     0x4366cf
4366cc:	8b 7d c0             	mov    -0x40(%ebp),%edi
4366cf:	8b 75 34             	mov    0x34(%ebp),%esi
4366d2:	2b 75 84             	sub    -0x7c(%ebp),%esi
4366d5:	8a 07                	mov    (%edi),%al
4366d7:	3c 7f                	cmp    $0x7f,%al
4366d9:	74 25                	je     0x436700
4366db:	84 c0                	test   %al,%al
4366dd:	7e 21                	jle    0x436700
4366df:	0f be c0             	movsbl %al,%eax
4366e2:	3b c6                	cmp    %esi,%eax
4366e4:	73 1a                	jae    0x436700
4366e6:	53                   	push   %ebx
4366e7:	2b f0                	sub    %eax,%esi
4366e9:	8d 4d 24             	lea    0x24(%ebp),%ecx
4366ec:	6a 01                	push   $0x1
4366ee:	56                   	push   %esi
4366ef:	e8 63 4a 00 00       	call   0x43b157
4366f4:	8d 47 01             	lea    0x1(%edi),%eax
4366f7:	80 38 00             	cmpb   $0x0,(%eax)
4366fa:	7e d9                	jle    0x4366d5
4366fc:	8b f8                	mov    %eax,%edi
4366fe:	eb d5                	jmp    0x4366d5
436700:	8b 7d 80             	mov    -0x80(%ebp),%edi
436703:	8b 5d 84             	mov    -0x7c(%ebp),%ebx
436706:	83 65 e8 00          	andl   $0x0,-0x18(%ebp)
43670a:	33 c0                	xor    %eax,%eax
43670c:	c7 45 ec 07 00 00 00 	movl   $0x7,-0x14(%ebp)
436713:	66 89 45 d8          	mov    %ax,-0x28(%ebp)
436717:	80 7d 20 00          	cmpb   $0x0,0x20(%ebp)
43671b:	8b 45 8c             	mov    -0x74(%ebp),%eax
43671e:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
436722:	8b 00                	mov    (%eax),%eax
436724:	74 2a                	je     0x436750
436726:	8b 70 2c             	mov    0x2c(%eax),%esi
436729:	8d 85 78 ff ff ff    	lea    -0x88(%ebp),%eax
43672f:	50                   	push   %eax
436730:	8b ce                	mov    %esi,%ecx
436732:	ff 15 54 43 49 00    	call   *0x494354
436738:	8b 4d 8c             	mov    -0x74(%ebp),%ecx
43673b:	ff d6                	call   *%esi
43673d:	8b 85 78 ff ff ff    	mov    -0x88(%ebp),%eax
436743:	89 45 84             	mov    %eax,-0x7c(%ebp)
436746:	8b 45 8c             	mov    -0x74(%ebp),%eax
436749:	8b 00                	mov    (%eax),%eax
43674b:	8b 70 20             	mov    0x20(%eax),%esi
43674e:	eb 28                	jmp    0x436778
436750:	8b 70 28             	mov    0x28(%eax),%esi
436753:	8d 85 78 ff ff ff    	lea    -0x88(%ebp),%eax
436759:	50                   	push   %eax
43675a:	8b ce                	mov    %esi,%ecx
43675c:	ff 15 54 43 49 00    	call   *0x494354
436762:	8b 4d 8c             	mov    -0x74(%ebp),%ecx
436765:	ff d6                	call   *%esi
436767:	8b 85 78 ff ff ff    	mov    -0x88(%ebp),%eax
43676d:	89 45 84             	mov    %eax,-0x7c(%ebp)
436770:	8b 45 8c             	mov    -0x74(%ebp),%eax
436773:	8b 00                	mov    (%eax),%eax
436775:	8b 70 1c             	mov    0x1c(%eax),%esi
436778:	8d 45 90             	lea    -0x70(%ebp),%eax
43677b:	8b ce                	mov    %esi,%ecx
43677d:	50                   	push   %eax
43677e:	ff 15 54 43 49 00    	call   *0x494354
436784:	8b 4d 8c             	mov    -0x74(%ebp),%ecx
436787:	ff d6                	call   *%esi
436789:	8d 45 90             	lea    -0x70(%ebp),%eax
43678c:	50                   	push   %eax
43678d:	8d 4d d8             	lea    -0x28(%ebp),%ecx
436790:	e8 b3 8f fd ff       	call   0x40f748
436795:	8d 4d 90             	lea    -0x70(%ebp),%ecx
436798:	e8 5d 6b fe ff       	call   0x41d2fa
43679d:	83 65 b8 00          	andl   $0x0,-0x48(%ebp)
4367a1:	33 c0                	xor    %eax,%eax
4367a3:	c7 45 bc 07 00 00 00 	movl   $0x7,-0x44(%ebp)
4367aa:	66 89 45 a8          	mov    %ax,-0x58(%ebp)
4367ae:	f6 47 14 08          	testb  $0x8,0x14(%edi)
4367b2:	c6 45 fc 05          	movb   $0x5,-0x4(%ebp)
4367b6:	74 2d                	je     0x4367e5
4367b8:	8b 45 8c             	mov    -0x74(%ebp),%eax
4367bb:	8d 4d 90             	lea    -0x70(%ebp),%ecx
4367be:	51                   	push   %ecx
4367bf:	8b 00                	mov    (%eax),%eax
4367c1:	8b 70 18             	mov    0x18(%eax),%esi
4367c4:	8b ce                	mov    %esi,%ecx
4367c6:	ff 15 54 43 49 00    	call   *0x494354
4367cc:	8b 4d 8c             	mov    -0x74(%ebp),%ecx
4367cf:	ff d6                	call   *%esi
4367d1:	8d 45 90             	lea    -0x70(%ebp),%eax
4367d4:	50                   	push   %eax
4367d5:	8d 4d a8             	lea    -0x58(%ebp),%ecx
4367d8:	e8 6b 8f fd ff       	call   0x40f748
4367dd:	8d 4d 90             	lea    -0x70(%ebp),%ecx
4367e0:	e8 15 6b fe ff       	call   0x41d2fa
4367e5:	32 d2                	xor    %dl,%dl
4367e7:	33 c9                	xor    %ecx,%ecx
4367e9:	88 55 8b             	mov    %dl,-0x75(%ebp)
4367ec:	33 f6                	xor    %esi,%esi
4367ee:	0f be 44 35 84       	movsbl -0x7c(%ebp,%esi,1),%eax
4367f3:	83 e8 20             	sub    $0x20,%eax
4367f6:	74 44                	je     0x43683c
4367f8:	83 e8 04             	sub    $0x4,%eax
4367fb:	74 3a                	je     0x436837
4367fd:	83 e8 07             	sub    $0x7,%eax
436800:	74 30                	je     0x436832
436802:	83 e8 4b             	sub    $0x4b,%eax
436805:	74 08                	je     0x43680f
436807:	48                   	dec    %eax
436808:	83 e8 01             	sub    $0x1,%eax
43680b:	74 30                	je     0x43683d
43680d:	eb 38                	jmp    0x436847
43680f:	39 5d 34             	cmp    %ebx,0x34(%ebp)
436812:	77 08                	ja     0x43681c
436814:	8b d3                	mov    %ebx,%edx
436816:	2b 55 34             	sub    0x34(%ebp),%edx
436819:	42                   	inc    %edx
43681a:	eb 02                	jmp    0x43681e
43681c:	33 d2                	xor    %edx,%edx
43681e:	33 c0                	xor    %eax,%eax
436820:	3b c3                	cmp    %ebx,%eax
436822:	1b c0                	sbb    %eax,%eax
436824:	f7 d8                	neg    %eax
436826:	03 45 34             	add    0x34(%ebp),%eax
436829:	03 c2                	add    %edx,%eax
43682b:	8a 55 8b             	mov    -0x75(%ebp),%dl
43682e:	03 c8                	add    %eax,%ecx
436830:	eb 15                	jmp    0x436847
436832:	03 4d e8             	add    -0x18(%ebp),%ecx
436835:	eb 10                	jmp    0x436847
436837:	03 4d b8             	add    -0x48(%ebp),%ecx
43683a:	eb 0b                	jmp    0x436847
43683c:	41                   	inc    %ecx
43683d:	83 fe 03             	cmp    $0x3,%esi
436840:	74 05                	je     0x436847
436842:	b2 01                	mov    $0x1,%dl
436844:	88 55 8b             	mov    %dl,-0x75(%ebp)
436847:	46                   	inc    %esi
436848:	83 fe 04             	cmp    $0x4,%esi
43684b:	72 a1                	jb     0x4367ee
43684d:	83 7f 24 00          	cmpl   $0x0,0x24(%edi)
436851:	7c 13                	jl     0x436866
436853:	7f 06                	jg     0x43685b
436855:	83 7f 20 00          	cmpl   $0x0,0x20(%edi)
436859:	76 0b                	jbe    0x436866
43685b:	8b 7f 20             	mov    0x20(%edi),%edi
43685e:	3b f9                	cmp    %ecx,%edi
436860:	76 04                	jbe    0x436866
436862:	2b f9                	sub    %ecx,%edi
436864:	eb 02                	jmp    0x436868
436866:	33 ff                	xor    %edi,%edi
436868:	8b 45 80             	mov    -0x80(%ebp),%eax
43686b:	8b 40 14             	mov    0x14(%eax),%eax
43686e:	25 c0 01 00 00       	and    $0x1c0,%eax
436873:	89 85 70 ff ff ff    	mov    %eax,-0x90(%ebp)
436879:	83 f8 40             	cmp    $0x40,%eax
43687c:	74 36                	je     0x4368b4
43687e:	3d 00 01 00 00       	cmp    $0x100,%eax
436883:	75 04                	jne    0x436889
436885:	84 d2                	test   %dl,%dl
436887:	75 2b                	jne    0x4368b4
436889:	57                   	push   %edi
43688a:	ff b5 7c ff ff ff    	push   -0x84(%ebp)
436890:	8d 85 74 ff ff ff    	lea    -0x8c(%ebp),%eax
436896:	ff 75 10             	push   0x10(%ebp)
436899:	ff 75 0c             	push   0xc(%ebp)
43689c:	50                   	push   %eax
43689d:	e8 b5 02 00 00       	call   0x436b57
4368a2:	83 c4 14             	add    $0x14,%esp