5f8602:	8b d8                	mov    %eax,%ebx
5f8604:	80 7b 44 00          	cmpb   $0x0,0x44(%ebx)
5f8608:	75 0b                	jne    0x5f8615
5f860a:	b2 01                	mov    $0x1,%dl
5f860c:	8b c3                	mov    %ebx,%eax
5f860e:	e8 fd fb ff ff       	call   0x5f8210
5f8613:	eb 11                	jmp    0x5f8626
5f8615:	8b 43 18             	mov    0x18(%ebx),%eax
5f8618:	85 c0                	test   %eax,%eax
5f861a:	74 05                	je     0x5f8621
5f861c:	e8 57 b4 e0 ff       	call   0x403a78
5f8621:	33 c0                	xor    %eax,%eax
5f8623:	89 43 18             	mov    %eax,0x18(%ebx)
5f8626:	89 73 30             	mov    %esi,0x30(%ebx)
5f8629:	89 7b 34             	mov    %edi,0x34(%ebx)
5f862c:	8a 45 08             	mov    0x8(%ebp),%al
5f862f:	88 43 40             	mov    %al,0x40(%ebx)
5f8632:	8b c3                	mov    %ebx,%eax
5f8634:	e8 9b fc ff ff       	call   0x5f82d4
5f8639:	5f                   	pop    %edi
5f863a:	5e                   	pop    %esi
5f863b:	5b                   	pop    %ebx
5f863c:	5d                   	pop    %ebp
5f863d:	c2 04 00             	ret    $0x4
5f8640:	53                   	push   %ebx
5f8641:	56                   	push   %esi
5f8642:	57                   	push   %edi
5f8643:	8b f2                	mov    %edx,%esi
5f8645:	8b d8                	mov    %eax,%ebx
5f8647:	84 c9                	test   %cl,%cl
5f8649:	74 09                	je     0x5f8654
5f864b:	b2 01                	mov    $0x1,%dl
5f864d:	8b c3                	mov    %ebx,%eax
5f864f:	e8 bc fb ff ff       	call   0x5f8210
5f8654:	85 f6                	test   %esi,%esi
5f8656:	74 63                	je     0x5f86bb
5f8658:	8b c6                	mov    %esi,%eax
5f865a:	8b 10                	mov    (%eax),%edx
5f865c:	ff 52 2c             	call   *0x2c(%edx)
5f865f:	89 43 30             	mov    %eax,0x30(%ebx)
5f8662:	8b c6                	mov    %esi,%eax
5f8664:	8b 10                	mov    (%eax),%edx
5f8666:	ff 52 20             	call   *0x20(%edx)
5f8669:	89 43 34             	mov    %eax,0x34(%ebx)
5f866c:	8b c6                	mov    %esi,%eax
5f866e:	e8 11 52 e3 ff       	call   0x42d884
5f8673:	fe c8                	dec    %al
5f8675:	74 06                	je     0x5f867d
5f8677:	2c 05                	sub    $0x5,%al
5f8679:	74 08                	je     0x5f8683
5f867b:	eb 0a                	jmp    0x5f8687
5f867d:	c6 43 40 01          	movb   $0x1,0x40(%ebx)
5f8681:	eb 04                	jmp    0x5f8687
5f8683:	c6 43 40 05          	movb   $0x5,0x40(%ebx)
5f8687:	33 c0                	xor    %eax,%eax
5f8689:	8a 43 40             	mov    0x40(%ebx),%al
5f868c:	8b 3c 85 fc 55 6a 00 	mov    0x6a55fc(,%eax,4),%edi
5f8693:	89 7b 38             	mov    %edi,0x38(%ebx)
5f8696:	8b 8b 80 00 00 00    	mov    0x80(%ebx),%ecx
5f869c:	8b d7                	mov    %edi,%edx
5f869e:	8b 43 30             	mov    0x30(%ebx),%eax
5f86a1:	e8 3a 84 ff ff       	call   0x5f0ae0
5f86a6:	89 43 3c             	mov    %eax,0x3c(%ebx)
5f86a9:	c6 43 42 02          	movb   $0x2,0x42(%ebx)
5f86ad:	c6 43 44 01          	movb   $0x1,0x44(%ebx)
5f86b1:	89 73 24             	mov    %esi,0x24(%ebx)
5f86b4:	8b c3                	mov    %ebx,%eax
5f86b6:	e8 c5 f3 ff ff       	call   0x5f7a80
5f86bb:	5f                   	pop    %edi
5f86bc:	5e                   	pop    %esi
5f86bd:	5b                   	pop    %ebx
5f86be:	c3                   	ret
5f86bf:	90                   	nop
5f86c0:	55                   	push   %ebp
5f86c1:	8b ec                	mov    %esp,%ebp
5f86c3:	53                   	push   %ebx
5f86c4:	56                   	push   %esi
5f86c5:	57                   	push   %edi
5f86c6:	8b f9                	mov    %ecx,%edi
5f86c8:	8b f2                	mov    %edx,%esi
5f86ca:	8b d8                	mov    %eax,%ebx
5f86cc:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
5f86d0:	74 09                	je     0x5f86db
5f86d2:	b2 01                	mov    $0x1,%dl
5f86d4:	8b c3                	mov    %ebx,%eax
5f86d6:	e8 35 fb ff ff       	call   0x5f8210
5f86db:	85 f6                	test   %esi,%esi
5f86dd:	74 45                	je     0x5f8724
5f86df:	89 7b 30             	mov    %edi,0x30(%ebx)
5f86e2:	8b 45 10             	mov    0x10(%ebp),%eax
5f86e5:	89 43 34             	mov    %eax,0x34(%ebx)
5f86e8:	8a 45 0c             	mov    0xc(%ebp),%al
5f86eb:	88 43 40             	mov    %al,0x40(%ebx)
5f86ee:	83 e0 7f             	and    $0x7f,%eax
5f86f1:	8b 04 85 fc 55 6a 00 	mov    0x6a55fc(,%eax,4),%eax
5f86f8:	89 43 38             	mov    %eax,0x38(%ebx)
5f86fb:	8b 8b 80 00 00 00    	mov    0x80(%ebx),%ecx
5f8701:	8b 53 38             	mov    0x38(%ebx),%edx
5f8704:	8b 43 30             	mov    0x30(%ebx),%eax
5f8707:	e8 d4 83 ff ff       	call   0x5f0ae0
5f870c:	89 43 3c             	mov    %eax,0x3c(%ebx)
5f870f:	c6 43 42 00          	movb   $0x0,0x42(%ebx)
5f8713:	c6 43 45 01          	movb   $0x1,0x45(%ebx)
5f8717:	89 73 1c             	mov    %esi,0x1c(%ebx)
5f871a:	89 73 20             	mov    %esi,0x20(%ebx)
5f871d:	8b c3                	mov    %ebx,%eax
5f871f:	e8 5c f3 ff ff       	call   0x5f7a80
5f8724:	5f                   	pop    %edi
5f8725:	5e                   	pop    %esi
5f8726:	5b                   	pop    %ebx
5f8727:	5d                   	pop    %ebp
5f8728:	c2 0c 00             	ret    $0xc
5f872b:	90                   	nop
5f872c:	53                   	push   %ebx
5f872d:	56                   	push   %esi
5f872e:	57                   	push   %edi
5f872f:	55                   	push   %ebp
5f8730:	83 c4 f8             	add    $0xfffffff8,%esp
5f8733:	8b f2                	mov    %edx,%esi
5f8735:	8b d8                	mov    %eax,%ebx
5f8737:	8b c6                	mov    %esi,%eax
5f8739:	8b 15 18 ff 5e 00    	mov    0x5eff18,%edx
5f873f:	e8 c0 b4 e0 ff       	call   0x403c04
5f8744:	84 c0                	test   %al,%al
5f8746:	0f 84 3c 02 00 00    	je     0x5f8988
5f874c:	8b c6                	mov    %esi,%eax
5f874e:	8b 15 18 ff 5e 00    	mov    0x5eff18,%edx
5f8754:	e8 cf b4 e0 ff       	call   0x403c28
5f8759:	8b f0                	mov    %eax,%esi
5f875b:	80 7b 42 02          	cmpb   $0x2,0x42(%ebx)
5f875f:	0f 85 e6 00 00 00    	jne    0x5f884b
5f8765:	8b c6                	mov    %esi,%eax
5f8767:	e8 48 fb ff ff       	call   0x5f82b4
5f876c:	84 c0                	test   %al,%al
5f876e:	0f 85 3b 02 00 00    	jne    0x5f89af
5f8774:	8b 46 30             	mov    0x30(%esi),%eax
5f8777:	89 43 30             	mov    %eax,0x30(%ebx)
5f877a:	8b 46 34             	mov    0x34(%esi),%eax
5f877d:	89 43 34             	mov    %eax,0x34(%ebx)
5f8780:	8a 46 40             	mov    0x40(%esi),%al
5f8783:	88 43 40             	mov    %al,0x40(%ebx)
5f8786:	8b 86 80 00 00 00    	mov    0x80(%esi),%eax
5f878c:	89 83 80 00 00 00    	mov    %eax,0x80(%ebx)
5f8792:	8a 46 43             	mov    0x43(%esi),%al
5f8795:	88 43 43             	mov    %al,0x43(%ebx)
5f8798:	83 7b 24 00          	cmpl   $0x0,0x24(%ebx)
5f879c:	75 0f                	jne    0x5f87ad
5f879e:	b2 01                	mov    $0x1,%dl
5f87a0:	a1 ec 6a 42 00       	mov    0x426aec,%eax
5f87a5:	e8 26 4a e3 ff       	call   0x42d1d0
5f87aa:	89 43 24             	mov    %eax,0x24(%ebx)
5f87ad:	ba 01 00 00 00       	mov    $0x1,%edx
5f87b2:	8b 43 24             	mov    0x24(%ebx),%eax
5f87b5:	8b 08                	mov    (%eax),%ecx
5f87b7:	ff 51 40             	call   *0x40(%ecx)
5f87ba:	ba 01 00 00 00       	mov    $0x1,%edx
5f87bf:	8b 43 24             	mov    0x24(%ebx),%eax
5f87c2:	8b 08                	mov    (%eax),%ecx
5f87c4:	ff 51 34             	call   *0x34(%ecx)
5f87c7:	8a 43 40             	mov    0x40(%ebx),%al
5f87ca:	fe c8                	dec    %al
5f87cc:	74 0e                	je     0x5f87dc
5f87ce:	fe c8                	dec    %al
5f87d0:	74 16                	je     0x5f87e8
5f87d2:	fe c8                	dec    %al
5f87d4:	74 1e                	je     0x5f87f4
5f87d6:	2c 02                	sub    $0x2,%al
5f87d8:	74 26                	je     0x5f8800
5f87da:	eb 2e                	jmp    0x5f880a
5f87dc:	b2 01                	mov    $0x1,%dl
5f87de:	8b 43 24             	mov    0x24(%ebx),%eax
5f87e1:	e8 c2 5f e3 ff       	call   0x42e7a8
5f87e6:	eb 22                	jmp    0x5f880a
5f87e8:	b2 03                	mov    $0x3,%dl
5f87ea:	8b 43 24             	mov    0x24(%ebx),%eax
5f87ed:	e8 b6 5f e3 ff       	call   0x42e7a8
5f87f2:	eb 16                	jmp    0x5f880a
5f87f4:	b2 03                	mov    $0x3,%dl
5f87f6:	8b 43 24             	mov    0x24(%ebx),%eax
5f87f9:	e8 aa 5f e3 ff       	call   0x42e7a8
5f87fe:	eb 0a                	jmp    0x5f880a
5f8800:	b2 06                	mov    $0x6,%dl
5f8802:	8b 43 24             	mov    0x24(%ebx),%eax
5f8805:	e8 9e 5f e3 ff       	call   0x42e7a8
5f880a:	8b 53 30             	mov    0x30(%ebx),%edx
5f880d:	8b 43 24             	mov    0x24(%ebx),%eax
5f8810:	8b 08                	mov    (%eax),%ecx
5f8812:	ff 51 40             	call   *0x40(%ecx)
5f8815:	8b 53 34             	mov    0x34(%ebx),%edx
5f8818:	8b 43 24             	mov    0x24(%ebx),%eax
5f881b:	8b 08                	mov    (%eax),%ecx
5f881d:	ff 51 34             	call   *0x34(%ecx)
5f8820:	33 c0                	xor    %eax,%eax
5f8822:	8a 43 40             	mov    0x40(%ebx),%al
5f8825:	8b 3c 85 fc 55 6a 00 	mov    0x6a55fc(,%eax,4),%edi
5f882c:	89 7b 38             	mov    %edi,0x38(%ebx)
5f882f:	8b 8b 80 00 00 00    	mov    0x80(%ebx),%ecx
5f8835:	8b d7                	mov    %edi,%edx
5f8837:	8b 43 30             	mov    0x30(%ebx),%eax
5f883a:	e8 a1 82 ff ff       	call   0x5f0ae0
5f883f:	89 43 3c             	mov    %eax,0x3c(%ebx)
5f8842:	8b c3                	mov    %ebx,%eax
5f8844:	e8 37 f2 ff ff       	call   0x5f7a80
5f8849:	eb 34                	jmp    0x5f887f
5f884b:	b2 01                	mov    $0x1,%dl
5f884d:	8b c3                	mov    %ebx,%eax
5f884f:	e8 bc f9 ff ff       	call   0x5f8210
5f8854:	8b 46 30             	mov    0x30(%esi),%eax
5f8857:	89 43 30             	mov    %eax,0x30(%ebx)
5f885a:	8b 46 34             	mov    0x34(%esi),%eax
5f885d:	89 43 34             	mov    %eax,0x34(%ebx)
5f8860:	8a 46 40             	mov    0x40(%esi),%al
5f8863:	88 43 40             	mov    %al,0x40(%ebx)
5f8866:	8a 46 43             	mov    0x43(%esi),%al
5f8869:	88 43 43             	mov    %al,0x43(%ebx)
5f886c:	8b 86 80 00 00 00    	mov    0x80(%esi),%eax
5f8872:	89 83 80 00 00 00    	mov    %eax,0x80(%ebx)
5f8878:	8b c3                	mov    %ebx,%eax
5f887a:	e8 55 fa ff ff       	call   0x5f82d4
5f887f:	8a 46 04             	mov    0x4(%esi),%al
5f8882:	88 44 24 04          	mov    %al,0x4(%esp)
5f8886:	8a 43 04             	mov    0x4(%ebx),%al
5f8889:	88 44 24 05          	mov    %al,0x5(%esp)
5f888d:	a0 b8 89 5f 00       	mov    0x5f89b8,%al
5f8892:	88 46 04             	mov    %al,0x4(%esi)
5f8895:	a0 bc 89 5f 00       	mov    0x5f89bc,%al
5f889a:	88 43 04             	mov    %al,0x4(%ebx)
5f889d:	80 7b 42 01          	cmpb   $0x1,0x42(%ebx)
5f88a1:	75 2e                	jne    0x5f88d1
5f88a3:	80 7e 42 01          	cmpb   $0x1,0x42(%esi)
5f88a7:	75 28                	jne    0x5f88d1
5f88a9:	8b c3                	mov    %ebx,%eax
5f88ab:	e8 14 f9 ff ff       	call   0x5f81c4
5f88b0:	8b c6                	mov    %esi,%eax
5f88b2:	e8 0d f9 ff ff       	call   0x5f81c4
5f88b7:	6a 00                	push   $0x0
5f88b9:	6a 00                	push   $0x0
5f88bb:	8b 43 3c             	mov    0x3c(%ebx),%eax
5f88be:	f7 6b 34             	imull  0x34(%ebx)
5f88c1:	99                   	cltd
5f88c2:	52                   	push   %edx
5f88c3:	50                   	push   %eax
5f88c4:	8b 53 08             	mov    0x8(%ebx),%edx
5f88c7:	8b 46 08             	mov    0x8(%esi),%eax
5f88ca:	e8 09 8c 00 00       	call   0x6014d8
5f88cf:	eb 3e                	jmp    0x5f890f
5f88d1:	8b c6                	mov    %esi,%eax
5f88d3:	8b 10                	mov    (%eax),%edx
5f88d5:	ff 52 14             	call   *0x14(%edx)
5f88d8:	8b d0                	mov    %eax,%edx
5f88da:	8b 43 3c             	mov    0x3c(%ebx),%eax
5f88dd:	e8 3a 0b fb ff       	call   0x5a941c
5f88e2:	89 04 24             	mov    %eax,(%esp)
5f88e5:	8b 7b 34             	mov    0x34(%ebx),%edi
5f88e8:	4f                   	dec    %edi
5f88e9:	85 ff                	test   %edi,%edi
5f88eb:	7c 22                	jl     0x5f890f
5f88ed:	47                   	inc    %edi
5f88ee:	33 ed                	xor    %ebp,%ebp
5f88f0:	8b d5                	mov    %ebp,%edx
5f88f2:	8b c6                	mov    %esi,%eax
5f88f4:	8b 08                	mov    (%eax),%ecx
5f88f6:	ff 11                	call   *(%ecx)
5f88f8:	50                   	push   %eax
5f88f9:	8b d5                	mov    %ebp,%edx
5f88fb:	8b c3                	mov    %ebx,%eax
5f88fd:	8b 08                	mov    (%eax),%ecx
5f88ff:	ff 11                	call   *(%ecx)
5f8901:	8b 4c 24 04          	mov    0x4(%esp),%ecx
5f8905:	5a                   	pop    %edx
5f8906:	e8 b5 f5 e0 ff       	call   0x407ec0
5f890b:	45                   	inc    %ebp
5f890c:	4f                   	dec    %edi
5f890d:	75 e1                	jne    0x5f88f0
5f890f:	8a 44 24 04          	mov    0x4(%esp),%al
5f8913:	88 46 04             	mov    %al,0x4(%esi)
5f8916:	8a 44 24 05          	mov    0x5(%esp),%al
5f891a:	88 43 04             	mov    %al,0x4(%ebx)
5f891d:	80 7b 41 00          	cmpb   $0x0,0x41(%ebx)
5f8921:	75 29                	jne    0x5f894c
5f8923:	8b c6                	mov    %esi,%eax
5f8925:	e8 de ef ff ff       	call   0x5f7908
5f892a:	84 c0                	test   %al,%al
5f892c:	74 17                	je     0x5f8945
5f892e:	8b c6                	mov    %esi,%eax
5f8930:	e8 a3 ef ff ff       	call   0x5f78d8
5f8935:	50                   	push   %eax
5f8936:	8b c3                	mov    %ebx,%eax
5f8938:	e8 9b ef ff ff       	call   0x5f78d8
5f893d:	5a                   	pop    %edx
5f893e:	8b 08                	mov    (%eax),%ecx
5f8940:	ff 51 28             	call   *0x28(%ecx)
5f8943:	eb 07                	jmp    0x5f894c
5f8945:	8b c3                	mov    %ebx,%eax
5f8947:	e8 6c ef ff ff       	call   0x5f78b8
5f894c:	8b 7b 14             	mov    0x14(%ebx),%edi
5f894f:	4f                   	dec    %edi
5f8950:	85 ff                	test   %edi,%edi
5f8952:	7c 25                	jl     0x5f8979
5f8954:	47                   	inc    %edi
5f8955:	33 c0                	xor    %eax,%eax
5f8957:	8d 14 40             	lea    (%eax,%eax,2),%edx
5f895a:	8b 4b 10             	mov    0x10(%ebx),%ecx
5f895d:	8d 14 11             	lea    (%ecx,%edx,1),%edx
5f8960:	8d 0c 40             	lea    (%eax,%eax,2),%ecx
5f8963:	8b 6e 10             	mov    0x10(%esi),%ebp
5f8966:	03 e9                	add    %ecx,%ebp
5f8968:	66 8b 4d 00          	mov    0x0(%ebp),%cx
5f896c:	66 89 0a             	mov    %cx,(%edx)
5f896f:	8a 4d 02             	mov    0x2(%ebp),%cl
5f8972:	88 4a 02             	mov    %cl,0x2(%edx)
5f8975:	40                   	inc    %eax
5f8976:	4f                   	dec    %edi
5f8977:	75 de                	jne    0x5f8957
5f8979:	8b c3                	mov    %ebx,%eax
5f897b:	e8 e0 3c 00 00       	call   0x5fc660
5f8980:	8a 46 4c             	mov    0x4c(%esi),%al
5f8983:	88 43 4c             	mov    %al,0x4c(%ebx)
5f8986:	eb 27                	jmp    0x5f89af
5f8988:	8b c6                	mov    %esi,%eax
5f898a:	8b 15 ec 6a 42 00    	mov    0x426aec,%edx
5f8990:	e8 6f b2 e0 ff       	call   0x403c04
5f8995:	84 c0                	test   %al,%al
5f8997:	74 16                	je     0x5f89af
5f8999:	8b c6                	mov    %esi,%eax
5f899b:	8b 15 ec 6a 42 00    	mov    0x426aec,%edx
5f89a1:	e8 82 b2 e0 ff       	call   0x403c28
5f89a6:	8b d0                	mov    %eax,%edx
5f89a8:	8b c3                	mov    %ebx,%eax
5f89aa:	e8 d9 26 00 00       	call   0x5fb088
5f89af:	59                   	pop    %ecx
5f89b0:	5a                   	pop    %edx
5f89b1:	5d                   	pop    %ebp
5f89b2:	5f                   	pop    %edi
5f89b3:	5e                   	pop    %esi
5f89b4:	5b                   	pop    %ebx
5f89b5:	c3                   	ret
5f89b6:	00 00                	add    %al,(%eax)
5f89b8:	01 00                	add    %eax,(%eax)
5f89ba:	00 00                	add    %al,(%eax)
5f89bc:	02 00                	add    (%eax),%al
5f89be:	00 00                	add    %al,(%eax)
5f89c0:	53                   	push   %ebx
5f89c1:	56                   	push   %esi
5f89c2:	57                   	push   %edi
5f89c3:	55                   	push   %ebp
5f89c4:	83 c4 f8             	add    $0xfffffff8,%esp
5f89c7:	8b f2                	mov    %edx,%esi
5f89c9:	8b d8                	mov    %eax,%ebx
5f89cb:	8b c6                	mov    %esi,%eax