4c6746:	e8 09 25 f6 ff       	call   0x428c54
4c674b:	68 ff ff ff 00       	push   $0xffffff
4c6750:	8b 4d dd             	mov    -0x23(%ebp),%ecx
4c6753:	41                   	inc    %ecx
4c6754:	83 c1 04             	add    $0x4,%ecx
4c6757:	8b d6                	mov    %esi,%edx
4c6759:	8b c3                	mov    %ebx,%eax
4c675b:	e8 f4 24 f6 ff       	call   0x428c54
4c6760:	68 ff ff ff 00       	push   $0xffffff
4c6765:	8b 4d dd             	mov    -0x23(%ebp),%ecx
4c6768:	83 c1 04             	add    $0x4,%ecx
4c676b:	8d 56 01             	lea    0x1(%esi),%edx
4c676e:	8b c3                	mov    %ebx,%eax
4c6770:	e8 df 24 f6 ff       	call   0x428c54
4c6775:	6a 00                	push   $0x0
4c6777:	8b 4d dd             	mov    -0x23(%ebp),%ecx
4c677a:	41                   	inc    %ecx
4c677b:	83 c1 04             	add    $0x4,%ecx
4c677e:	8d 56 01             	lea    0x1(%esi),%edx
4c6781:	8b c3                	mov    %ebx,%eax
4c6783:	e8 cc 24 f6 ff       	call   0x428c54
4c6788:	68 b0 b0 b0 00       	push   $0xb0b0b0
4c678d:	8b 4d dd             	mov    -0x23(%ebp),%ecx
4c6790:	83 c1 02             	add    $0x2,%ecx
4c6793:	83 c1 04             	add    $0x4,%ecx
4c6796:	8d 56 01             	lea    0x1(%esi),%edx
4c6799:	8b c3                	mov    %ebx,%eax
4c679b:	e8 b4 24 f6 ff       	call   0x428c54
4c67a0:	68 b0 b0 b0 00       	push   $0xb0b0b0
4c67a5:	8b 4d dd             	mov    -0x23(%ebp),%ecx
4c67a8:	83 c1 02             	add    $0x2,%ecx
4c67ab:	83 c1 04             	add    $0x4,%ecx
4c67ae:	8d 56 02             	lea    0x2(%esi),%edx
4c67b1:	8b c3                	mov    %ebx,%eax
4c67b3:	e8 9c 24 f6 ff       	call   0x428c54
4c67b8:	68 b0 b0 b0 00       	push   $0xb0b0b0
4c67bd:	8b 4d dd             	mov    -0x23(%ebp),%ecx
4c67c0:	41                   	inc    %ecx
4c67c1:	83 c1 04             	add    $0x4,%ecx
4c67c4:	8d 56 02             	lea    0x2(%esi),%edx
4c67c7:	8b c3                	mov    %ebx,%eax
4c67c9:	e8 86 24 f6 ff       	call   0x428c54
4c67ce:	68 b0 b0 b0 00       	push   $0xb0b0b0
4c67d3:	8b 4d dd             	mov    -0x23(%ebp),%ecx
4c67d6:	83 c1 04             	add    $0x4,%ecx
4c67d9:	8d 56 02             	lea    0x2(%esi),%edx
4c67dc:	8b c3                	mov    %ebx,%eax
4c67de:	e8 71 24 f6 ff       	call   0x428c54
4c67e3:	68 b0 b0 b0 00       	push   $0xb0b0b0
4c67e8:	8b 4d dd             	mov    -0x23(%ebp),%ecx
4c67eb:	83 c1 02             	add    $0x2,%ecx
4c67ee:	83 c1 04             	add    $0x4,%ecx
4c67f1:	8b d6                	mov    %esi,%edx
4c67f3:	8b c3                	mov    %ebx,%eax
4c67f5:	e8 5a 24 f6 ff       	call   0x428c54
4c67fa:	83 c6 04             	add    $0x4,%esi
4c67fd:	8b 45 e1             	mov    -0x1f(%ebp),%eax
4c6800:	83 e8 03             	sub    $0x3,%eax
4c6803:	3b f0                	cmp    %eax,%esi
4c6805:	0f 8c 7a fe ff ff    	jl     0x4c6685
4c680b:	80 7d fb 00          	cmpb   $0x0,-0x5(%ebp)
4c680f:	0f 84 07 01 00 00    	je     0x4c691c
4c6815:	57                   	push   %edi
4c6816:	8d 75 e9             	lea    -0x17(%ebp),%esi
4c6819:	8d 7d d9             	lea    -0x27(%ebp),%edi
4c681c:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4c681d:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4c681e:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4c681f:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4c6820:	5f                   	pop    %edi
4c6821:	80 7d fa 00          	cmpb   $0x0,-0x6(%ebp)
4c6825:	74 11                	je     0x4c6838
4c6827:	ff 4d e1             	decl   -0x1f(%ebp)
4c682a:	8b 45 dd             	mov    -0x23(%ebp),%eax
4c682d:	03 45 e1             	add    -0x1f(%ebp),%eax
4c6830:	2b 45 d9             	sub    -0x27(%ebp),%eax
4c6833:	89 45 e5             	mov    %eax,-0x1b(%ebp)
4c6836:	eb 0f                	jmp    0x4c6847
4c6838:	ff 4d e5             	decl   -0x1b(%ebp)
4c683b:	8b 45 e1             	mov    -0x1f(%ebp),%eax
4c683e:	2b 45 e5             	sub    -0x1b(%ebp),%eax
4c6841:	03 45 dd             	add    -0x23(%ebp),%eax
4c6844:	89 45 d9             	mov    %eax,-0x27(%ebp)
4c6847:	8b 47 20             	mov    0x20(%edi),%eax
4c684a:	e8 31 f9 ff ff       	call   0x4c6180
4c684f:	88 45 f9             	mov    %al,-0x7(%ebp)
4c6852:	80 7d f9 04          	cmpb   $0x4,-0x7(%ebp)
4c6856:	75 3b                	jne    0x4c6893
4c6858:	6a 01                	push   $0x1
4c685a:	8b c3                	mov    %ebx,%eax
4c685c:	e8 5f 24 f6 ff       	call   0x428cc0
4c6861:	8d 55 d9             	lea    -0x27(%ebp),%edx
4c6864:	b9 80 80 80 00       	mov    $0x808080,%ecx
4c6869:	e8 be 25 fc ff       	call   0x488e2c
4c686e:	8b c3                	mov    %ebx,%eax
4c6870:	e8 4b 24 f6 ff       	call   0x428cc0
4c6875:	8d 55 d9             	lea    -0x27(%ebp),%edx
4c6878:	b9 ff ff ff 00       	mov    $0xffffff,%ecx
4c687d:	e8 62 25 fc ff       	call   0x488de4
4c6882:	33 c9                	xor    %ecx,%ecx
4c6884:	8d 55 d9             	lea    -0x27(%ebp),%edx
4c6887:	8b c3                	mov    %ebx,%eax
4c6889:	e8 72 d2 ff ff       	call   0x4c3b00
4c688e:	e9 89 00 00 00       	jmp    0x4c691c
4c6893:	80 7d f9 03          	cmpb   $0x3,-0x7(%ebp)
4c6897:	75 3b                	jne    0x4c68d4
4c6899:	6a 01                	push   $0x1
4c689b:	8b c3                	mov    %ebx,%eax
4c689d:	e8 1e 24 f6 ff       	call   0x428cc0
4c68a2:	8d 55 d9             	lea    -0x27(%ebp),%edx
4c68a5:	b9 80 80 80 00       	mov    $0x808080,%ecx
4c68aa:	e8 7d 25 fc ff       	call   0x488e2c
4c68af:	8b c3                	mov    %ebx,%eax
4c68b1:	e8 0a 24 f6 ff       	call   0x428cc0
4c68b6:	8d 55 d9             	lea    -0x27(%ebp),%edx
4c68b9:	b9 c0 c0 c0 00       	mov    $0xc0c0c0,%ecx
4c68be:	e8 21 25 fc ff       	call   0x488de4
4c68c3:	b9 ff ff ff 00       	mov    $0xffffff,%ecx
4c68c8:	8d 55 d9             	lea    -0x27(%ebp),%edx
4c68cb:	8b c3                	mov    %ebx,%eax
4c68cd:	e8 2e d2 ff ff       	call   0x4c3b00
4c68d2:	eb 48                	jmp    0x4c691c
4c68d4:	6a 01                	push   $0x1
4c68d6:	8b c3                	mov    %ebx,%eax
4c68d8:	e8 e3 23 f6 ff       	call   0x428cc0
4c68dd:	33 d2                	xor    %edx,%edx
4c68df:	8a 55 f9             	mov    -0x7(%ebp),%dl
4c68e2:	8d 34 52             	lea    (%edx,%edx,2),%esi
4c68e5:	8b 55 fc             	mov    -0x4(%ebp),%edx
4c68e8:	8b 8c b2 88 00 00 00 	mov    0x88(%edx,%esi,4),%ecx
4c68ef:	8d 55 d9             	lea    -0x27(%ebp),%edx
4c68f2:	e8 35 25 fc ff       	call   0x488e2c
4c68f7:	8b c3                	mov    %ebx,%eax
4c68f9:	e8 c2 23 f6 ff       	call   0x428cc0
4c68fe:	8b 55 fc             	mov    -0x4(%ebp),%edx
4c6901:	8b 8c b2 80 00 00 00 	mov    0x80(%edx,%esi,4),%ecx
4c6908:	8d 55 d9             	lea    -0x27(%ebp),%edx
4c690b:	e8 d4 24 fc ff       	call   0x488de4
4c6910:	33 c9                	xor    %ecx,%ecx
4c6912:	8d 55 d9             	lea    -0x27(%ebp),%edx
4c6915:	8b c3                	mov    %ebx,%eax
4c6917:	e8 e4 d1 ff ff       	call   0x4c3b00
4c691c:	5f                   	pop    %edi
4c691d:	5e                   	pop    %esi
4c691e:	5b                   	pop    %ebx
4c691f:	8b e5                	mov    %ebp,%esp
4c6921:	5d                   	pop    %ebp
4c6922:	c2 04 00             	ret    $0x4
4c6925:	8d 40 00             	lea    0x0(%eax),%eax
4c6928:	55                   	push   %ebp
4c6929:	8b ec                	mov    %esp,%ebp
4c692b:	83 c4 f0             	add    $0xfffffff0,%esp
4c692e:	53                   	push   %ebx
4c692f:	56                   	push   %esi
4c6930:	57                   	push   %edi
4c6931:	8b da                	mov    %edx,%ebx
4c6933:	33 d2                	xor    %edx,%edx
4c6935:	8b 43 10             	mov    0x10(%ebx),%eax
4c6938:	e8 73 17 f6 ff       	call   0x4280b0
4c693d:	33 d2                	xor    %edx,%edx
4c693f:	8b 43 14             	mov    0x14(%ebx),%eax
4c6942:	e8 59 1a f6 ff       	call   0x4283a0
4c6947:	ba e0 e0 e0 00       	mov    $0xe0e0e0,%edx
4c694c:	8b 43 14             	mov    0x14(%ebx),%eax
4c694f:	e8 30 19 f6 ff       	call   0x428284
4c6954:	8b 45 0c             	mov    0xc(%ebp),%eax
4c6957:	8b f0                	mov    %eax,%esi
4c6959:	8d 7d f0             	lea    -0x10(%ebp),%edi
4c695c:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4c695d:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4c695e:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4c695f:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4c6960:	6a 01                	push   $0x1
4c6962:	6a 01                	push   $0x1
4c6964:	8d 45 f0             	lea    -0x10(%ebp),%eax
4c6967:	50                   	push   %eax
4c6968:	e8 1b 12 f4 ff       	call   0x407b88
4c696d:	8d 55 f0             	lea    -0x10(%ebp),%edx
4c6970:	8b c3                	mov    %ebx,%eax
4c6972:	e8 41 1f f6 ff       	call   0x4288b8
4c6977:	5f                   	pop    %edi
4c6978:	5e                   	pop    %esi
4c6979:	5b                   	pop    %ebx
4c697a:	8b e5                	mov    %ebp,%esp
4c697c:	5d                   	pop    %ebp
4c697d:	c2 08 00             	ret    $0x8
4c6980:	a8 04                	test   $0x4,%al
4c6982:	74 03                	je     0x4c6987
4c6984:	b0 03                	mov    $0x3,%al
4c6986:	c3                   	ret
4c6987:	a8 02                	test   $0x2,%al
4c6989:	74 04                	je     0x4c698f
4c698b:	b0 04                	mov    $0x4,%al
4c698d:	eb 02                	jmp    0x4c6991
4c698f:	33 c0                	xor    %eax,%eax
4c6991:	c3                   	ret
4c6992:	8b c0                	mov    %eax,%eax
4c6994:	55                   	push   %ebp
4c6995:	8b ec                	mov    %esp,%ebp
4c6997:	83 c4 cc             	add    $0xffffffcc,%esp
4c699a:	53                   	push   %ebx
4c699b:	56                   	push   %esi
4c699c:	57                   	push   %edi
4c699d:	33 db                	xor    %ebx,%ebx
4c699f:	89 5d cc             	mov    %ebx,-0x34(%ebp)
4c69a2:	8b f1                	mov    %ecx,%esi
4c69a4:	8d 7d e3             	lea    -0x1d(%ebp),%edi
4c69a7:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4c69a8:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4c69a9:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4c69aa:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4c69ab:	8b da                	mov    %edx,%ebx
4c69ad:	89 45 fc             	mov    %eax,-0x4(%ebp)
4c69b0:	8b 7d 08             	mov    0x8(%ebp),%edi
4c69b3:	33 c0                	xor    %eax,%eax
4c69b5:	55                   	push   %ebp
4c69b6:	68 94 6f 4c 00       	push   $0x4c6f94
4c69bb:	64 ff 30             	push   %fs:(%eax)
4c69be:	64 89 20             	mov    %esp,%fs:(%eax)
4c69c1:	8b 43 14             	mov    0x14(%ebx),%eax
4c69c4:	e8 b3 18 f6 ff       	call   0x42827c
4c69c9:	89 45 f8             	mov    %eax,-0x8(%ebp)
4c69cc:	b8 0f 00 00 80       	mov    $0x8000000f,%eax
4c69d1:	e8 02 0c f6 ff       	call   0x4275d8
4c69d6:	e8 dd 1c fc ff       	call   0x4886b8
4c69db:	8b f0                	mov    %eax,%esi
4c69dd:	56                   	push   %esi
4c69de:	57                   	push   %edi
4c69df:	8d 75 e3             	lea    -0x1d(%ebp),%esi
4c69e2:	8d 7d d3             	lea    -0x2d(%ebp),%edi
4c69e5:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4c69e6:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4c69e7:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4c69e8:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4c69e9:	5f                   	pop    %edi
4c69ea:	5e                   	pop    %esi
4c69eb:	a1 b0 70 6a 00       	mov    0x6a70b0,%eax
4c69f0:	80 38 00             	cmpb   $0x0,(%eax)
4c69f3:	75 7e                	jne    0x4c6a73
4c69f5:	8b c6                	mov    %esi,%eax
4c69f7:	83 c0 c0             	add    $0xffffffc0,%eax
4c69fa:	2d bb 00 00 00       	sub    $0xbb,%eax
4c69ff:	73 72                	jae    0x4c6a73
4c6a01:	6a 01                	push   $0x1
4c6a03:	8b c3                	mov    %ebx,%eax
4c6a05:	e8 b6 22 f6 ff       	call   0x428cc0
4c6a0a:	8d 55 e3             	lea    -0x1d(%ebp),%edx
4c6a0d:	b9 0f 00 00 80       	mov    $0x8000000f,%ecx
4c6a12:	e8 15 24 fc ff       	call   0x488e2c
4c6a17:	6a 01                	push   $0x1
4c6a19:	8b c3                	mov    %ebx,%eax
4c6a1b:	e8 a0 22 f6 ff       	call   0x428cc0
4c6a20:	8d 55 e3             	lea    -0x1d(%ebp),%edx
4c6a23:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4c6a26:	e8 01 24 fc ff       	call   0x488e2c
4c6a2b:	68 0f 00 00 80       	push   $0x8000000f
4c6a30:	8b 4d e7             	mov    -0x19(%ebp),%ecx
4c6a33:	8b 55 e3             	mov    -0x1d(%ebp),%edx
4c6a36:	8b c3                	mov    %ebx,%eax
4c6a38:	e8 17 22 f6 ff       	call   0x428c54
4c6a3d:	80 7f 08 00          	cmpb   $0x0,0x8(%edi)
4c6a41:	74 18                	je     0x4c6a5b
4c6a43:	68 0f 00 00 80       	push   $0x8000000f
4c6a48:	8b 55 eb             	mov    -0x15(%ebp),%edx
4c6a4b:	4a                   	dec    %edx
4c6a4c:	8b 4d e7             	mov    -0x19(%ebp),%ecx
4c6a4f:	8b c3                	mov    %ebx,%eax
4c6a51:	e8 fe 21 f6 ff       	call   0x428c54
4c6a56:	e9 c9 00 00 00       	jmp    0x4c6b24
4c6a5b:	68 0f 00 00 80       	push   $0x8000000f
4c6a60:	8b 4d ef             	mov    -0x11(%ebp),%ecx
4c6a63:	49                   	dec    %ecx
4c6a64:	8b 55 e3             	mov    -0x1d(%ebp),%edx
4c6a67:	8b c3                	mov    %ebx,%eax
4c6a69:	e8 e6 21 f6 ff       	call   0x428c54
4c6a6e:	e9 b1 00 00 00       	jmp    0x4c6b24
4c6a73:	6a 01                	push   $0x1
4c6a75:	8b c3                	mov    %ebx,%eax
4c6a77:	e8 44 22 f6 ff       	call   0x428cc0
4c6a7c:	8d 55 e3             	lea    -0x1d(%ebp),%edx
4c6a7f:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4c6a82:	e8 a5 23 fc ff       	call   0x488e2c
4c6a87:	83 fe 40             	cmp    $0x40,%esi
4c6a8a:	7d 19                	jge    0x4c6aa5
4c6a8c:	ba ff ff ff 00       	mov    $0xffffff,%edx
4c6a91:	8b 45 f8             	mov    -0x8(%ebp),%eax
4c6a94:	e8 83 8b f6 ff       	call   0x42f61c
4c6a99:	8b d0                	mov    %eax,%edx
4c6a9b:	8b 43 14             	mov    0x14(%ebx),%eax
4c6a9e:	e8 b5 17 f6 ff       	call   0x428258
4c6aa3:	eb 17                	jmp    0x4c6abc
4c6aa5:	ba 10 00 00 80       	mov    $0x80000010,%edx
4c6aaa:	8b 45 f8             	mov    -0x8(%ebp),%eax
4c6aad:	e8 6a 8b f6 ff       	call   0x42f61c
4c6ab2:	8b d0                	mov    %eax,%edx
4c6ab4:	8b 43 14             	mov    0x14(%ebx),%eax
4c6ab7:	e8 9c 17 f6 ff       	call   0x428258
4c6abc:	8d 55 e3             	lea    -0x1d(%ebp),%edx
4c6abf:	8b c3                	mov    %ebx,%eax
4c6ac1:	e8 72 1c f6 ff       	call   0x428738
4c6ac6:	8b 45 f8             	mov    -0x8(%ebp),%eax
4c6ac9:	50                   	push   %eax
4c6aca:	8b 4d e7             	mov    -0x19(%ebp),%ecx
4c6acd:	8b 55 e3             	mov    -0x1d(%ebp),%edx
4c6ad0:	8b c3                	mov    %ebx,%eax
4c6ad2:	e8 7d 21 f6 ff       	call   0x428c54
4c6ad7:	80 7f 08 00          	cmpb   $0x0,0x8(%edi)
4c6adb:	74 14                	je     0x4c6af1
4c6add:	8b 45 f8             	mov    -0x8(%ebp),%eax
4c6ae0:	50                   	push   %eax
4c6ae1:	8b 55 eb             	mov    -0x15(%ebp),%edx
4c6ae4:	4a                   	dec    %edx
4c6ae5:	8b 4d e7             	mov    -0x19(%ebp),%ecx
4c6ae8:	8b c3                	mov    %ebx,%eax
4c6aea:	e8 65 21 f6 ff       	call   0x428c54
4c6aef:	eb 12                	jmp    0x4c6b03
4c6af1:	8b 45 f8             	mov    -0x8(%ebp),%eax
4c6af4:	50                   	push   %eax
4c6af5:	8b 4d ef             	mov    -0x11(%ebp),%ecx
4c6af8:	49                   	dec    %ecx
4c6af9:	8b 55 e3             	mov    -0x1d(%ebp),%edx
4c6afc:	8b c3                	mov    %ebx,%eax
4c6afe:	e8 51 21 f6 ff       	call   0x428c54
4c6b03:	6a ff                	push   $0xffffffff
4c6b05:	6a ff                	push   $0xffffffff
4c6b07:	8d 45 e3             	lea    -0x1d(%ebp),%eax
4c6b0a:	50                   	push   %eax
4c6b0b:	e8 78 10 f4 ff       	call   0x407b88
4c6b10:	6a 01                	push   $0x1
4c6b12:	8b c3                	mov    %ebx,%eax
4c6b14:	e8 a7 21 f6 ff       	call   0x428cc0
4c6b19:	8d 55 e3             	lea    -0x1d(%ebp),%edx
4c6b1c:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4c6b1f:	e8 08 23 fc ff       	call   0x488e2c
4c6b24:	57                   	push   %edi
4c6b25:	8d 75 d3             	lea    -0x2d(%ebp),%esi
4c6b28:	8d 7d e3             	lea    -0x1d(%ebp),%edi
4c6b2b:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4c6b2c:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4c6b2d:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4c6b2e:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4c6b2f:	5f                   	pop    %edi
4c6b30:	8b 47 0f             	mov    0xf(%edi),%eax
4c6b33:	f7 d8                	neg    %eax
4c6b35:	50                   	push   %eax
4c6b36:	8b 47 0b             	mov    0xb(%edi),%eax
4c6b39:	f7 d8                	neg    %eax
4c6b3b:	50                   	push   %eax
4c6b3c:	8d 45 e3             	lea    -0x1d(%ebp),%eax
4c6b3f:	50                   	push   %eax