57895f:	8b c7                	mov    %edi,%eax
578961:	eb 0b                	jmp    0x57896e
578963:	46                   	inc    %esi
578964:	47                   	inc    %edi
578965:	8b 0c 24             	mov    (%esp),%ecx
578968:	3b f9                	cmp    %ecx,%edi
57896a:	7c a5                	jl     0x578911
57896c:	8b c7                	mov    %edi,%eax
57896e:	5a                   	pop    %edx
57896f:	5d                   	pop    %ebp
578970:	5f                   	pop    %edi
578971:	5e                   	pop    %esi
578972:	5b                   	pop    %ebx
578973:	c3                   	ret
578974:	55                   	push   %ebp
578975:	8b ec                	mov    %esp,%ebp
578977:	81 c4 04 f0 ff ff    	add    $0xfffff004,%esp
57897d:	50                   	push   %eax
57897e:	53                   	push   %ebx
57897f:	8d 45 10             	lea    0x10(%ebp),%eax
578982:	50                   	push   %eax
578983:	8b 55 0c             	mov    0xc(%ebp),%edx
578986:	52                   	push   %edx
578987:	8d 8d 00 f0 ff ff    	lea    -0x1000(%ebp),%ecx
57898d:	51                   	push   %ecx
57898e:	e8 b1 17 00 00       	call   0x57a144
578993:	83 c4 0c             	add    $0xc,%esp
578996:	8b d8                	mov    %eax,%ebx
578998:	8d 95 00 f0 ff ff    	lea    -0x1000(%ebp),%edx
57899e:	8b 45 08             	mov    0x8(%ebp),%eax
5789a1:	e8 0a 00 00 00       	call   0x5789b0
5789a6:	8b c3                	mov    %ebx,%eax
5789a8:	5b                   	pop    %ebx
5789a9:	8b e5                	mov    %ebp,%esp
5789ab:	5d                   	pop    %ebp
5789ac:	c3                   	ret
5789ad:	90                   	nop
5789ae:	90                   	nop
5789af:	90                   	nop
5789b0:	53                   	push   %ebx
5789b1:	56                   	push   %esi
5789b2:	57                   	push   %edi
5789b3:	8b f2                	mov    %edx,%esi
5789b5:	8b d8                	mov    %eax,%ebx
5789b7:	eb 54                	jmp    0x578a0d
5789b9:	f6 43 08 07          	testb  $0x7,0x8(%ebx)
5789bd:	75 42                	jne    0x578a01
5789bf:	8b 7b 40             	mov    0x40(%ebx),%edi
5789c2:	85 ff                	test   %edi,%edi
5789c4:	7c 10                	jl     0x5789d6
5789c6:	8b 43 3c             	mov    0x3c(%ebx),%eax
5789c9:	3b f8                	cmp    %eax,%edi
5789cb:	7f 09                	jg     0x5789d6
5789cd:	83 4b 08 04          	orl    $0x4,0x8(%ebx)
5789d1:	83 ca ff             	or     $0xffffffff,%edx
5789d4:	eb 2e                	jmp    0x578a04
5789d6:	83 4b 04 20          	orl    $0x20,0x4(%ebx)
5789da:	ff 4b 1c             	decl   0x1c(%ebx)
5789dd:	79 0f                	jns    0x5789ee
5789df:	33 d2                	xor    %edx,%edx
5789e1:	8b c3                	mov    %ebx,%eax
5789e3:	8a 16                	mov    (%esi),%dl
5789e5:	e8 2e 04 00 00       	call   0x578e18
5789ea:	8b d0                	mov    %eax,%edx
5789ec:	eb 16                	jmp    0x578a04
5789ee:	ff 43 3c             	incl   0x3c(%ebx)
5789f1:	8b 43 18             	mov    0x18(%ebx),%eax
5789f4:	ff 43 18             	incl   0x18(%ebx)
5789f7:	8a 0e                	mov    (%esi),%cl
5789f9:	88 08                	mov    %cl,(%eax)
5789fb:	33 d2                	xor    %edx,%edx
5789fd:	8a d1                	mov    %cl,%dl
5789ff:	eb 03                	jmp    0x578a04
578a01:	83 ca ff             	or     $0xffffffff,%edx
578a04:	42                   	inc    %edx
578a05:	75 05                	jne    0x578a0c
578a07:	83 c8 ff             	or     $0xffffffff,%eax
578a0a:	eb 09                	jmp    0x578a15
578a0c:	46                   	inc    %esi
578a0d:	8a 0e                	mov    (%esi),%cl
578a0f:	84 c9                	test   %cl,%cl
578a11:	75 a6                	jne    0x5789b9
578a13:	33 c0                	xor    %eax,%eax
578a15:	5f                   	pop    %edi
578a16:	5e                   	pop    %esi
578a17:	5b                   	pop    %ebx
578a18:	c3                   	ret
578a19:	90                   	nop
578a1a:	90                   	nop
578a1b:	90                   	nop
578a1c:	53                   	push   %ebx
578a1d:	56                   	push   %esi
578a1e:	57                   	push   %edi
578a1f:	55                   	push   %ebp
578a20:	51                   	push   %ecx
578a21:	8b e9                	mov    %ecx,%ebp
578a23:	89 14 24             	mov    %edx,(%esp)
578a26:	8b d8                	mov    %eax,%ebx
578a28:	85 ed                	test   %ebp,%ebp
578a2a:	7f 17                	jg     0x578a43
578a2c:	68 65 02 00 00       	push   $0x265
578a31:	68 17 2a 6a 00       	push   $0x6a2a17
578a36:	68 0b 2a 6a 00       	push   $0x6a2a0b
578a3b:	e8 00 21 fe ff       	call   0x55ab40
578a40:	83 c4 0c             	add    $0xc,%esp
578a43:	8b 3c 24             	mov    (%esp),%edi
578a46:	83 fd 01             	cmp    $0x1,%ebp
578a49:	7e 5b                	jle    0x578aa6
578a4b:	f6 43 08 07          	testb  $0x7,0x8(%ebx)
578a4f:	75 3d                	jne    0x578a8e
578a51:	8b 43 40             	mov    0x40(%ebx),%eax
578a54:	85 c0                	test   %eax,%eax
578a56:	7c 13                	jl     0x578a6b
578a58:	8b 53 40             	mov    0x40(%ebx),%edx
578a5b:	8b 4b 3c             	mov    0x3c(%ebx),%ecx
578a5e:	3b d1                	cmp    %ecx,%edx
578a60:	7f 09                	jg     0x578a6b
578a62:	83 4b 08 04          	orl    $0x4,0x8(%ebx)
578a66:	83 ce ff             	or     $0xffffffff,%esi
578a69:	eb 26                	jmp    0x578a91
578a6b:	ff 4b 1c             	decl   0x1c(%ebx)
578a6e:	79 10                	jns    0x578a80
578a70:	ba 01 00 00 00       	mov    $0x1,%edx
578a75:	8b c3                	mov    %ebx,%eax
578a77:	e8 ac 02 00 00       	call   0x578d28
578a7c:	8b f0                	mov    %eax,%esi
578a7e:	eb 11                	jmp    0x578a91
578a80:	ff 43 3c             	incl   0x3c(%ebx)
578a83:	8b 43 18             	mov    0x18(%ebx),%eax
578a86:	ff 43 18             	incl   0x18(%ebx)
578a89:	0f b6 30             	movzbl (%eax),%esi
578a8c:	eb 03                	jmp    0x578a91
578a8e:	83 ce ff             	or     $0xffffffff,%esi
578a91:	83 fe ff             	cmp    $0xffffffff,%esi
578a94:	74 10                	je     0x578aa6
578a96:	8b c6                	mov    %esi,%eax
578a98:	4d                   	dec    %ebp
578a99:	88 07                	mov    %al,(%edi)
578a9b:	47                   	inc    %edi
578a9c:	83 fe 0a             	cmp    $0xa,%esi
578a9f:	74 05                	je     0x578aa6
578aa1:	83 fd 01             	cmp    $0x1,%ebp
578aa4:	7f a5                	jg     0x578a4b
578aa6:	c6 07 00             	movb   $0x0,(%edi)
578aa9:	8b 04 24             	mov    (%esp),%eax
578aac:	5a                   	pop    %edx
578aad:	5d                   	pop    %ebp
578aae:	5f                   	pop    %edi
578aaf:	5e                   	pop    %esi
578ab0:	5b                   	pop    %ebx
578ab1:	c3                   	ret
578ab2:	90                   	nop
578ab3:	90                   	nop
578ab4:	53                   	push   %ebx
578ab5:	56                   	push   %esi
578ab6:	57                   	push   %edi
578ab7:	55                   	push   %ebp
578ab8:	8b ea                	mov    %edx,%ebp
578aba:	8b d8                	mov    %eax,%ebx
578abc:	8b f5                	mov    %ebp,%esi
578abe:	85 f6                	test   %esi,%esi
578ac0:	7e 52                	jle    0x578b14
578ac2:	f6 43 08 07          	testb  $0x7,0x8(%ebx)
578ac6:	75 3b                	jne    0x578b03
578ac8:	8b 7b 40             	mov    0x40(%ebx),%edi
578acb:	85 ff                	test   %edi,%edi
578acd:	7c 10                	jl     0x578adf
578acf:	8b 43 3c             	mov    0x3c(%ebx),%eax
578ad2:	3b f8                	cmp    %eax,%edi
578ad4:	7f 09                	jg     0x578adf
578ad6:	83 4b 08 04          	orl    $0x4,0x8(%ebx)
578ada:	83 ca ff             	or     $0xffffffff,%edx
578add:	eb 27                	jmp    0x578b06
578adf:	ff 4b 1c             	decl   0x1c(%ebx)
578ae2:	79 10                	jns    0x578af4
578ae4:	ba 01 00 00 00       	mov    $0x1,%edx
578ae9:	8b c3                	mov    %ebx,%eax
578aeb:	e8 38 02 00 00       	call   0x578d28
578af0:	8b d0                	mov    %eax,%edx
578af2:	eb 12                	jmp    0x578b06
578af4:	ff 43 3c             	incl   0x3c(%ebx)
578af7:	8b 43 18             	mov    0x18(%ebx),%eax
578afa:	ff 43 18             	incl   0x18(%ebx)
578afd:	33 d2                	xor    %edx,%edx
578aff:	8a 10                	mov    (%eax),%dl
578b01:	eb 03                	jmp    0x578b06
578b03:	83 ca ff             	or     $0xffffffff,%edx
578b06:	42                   	inc    %edx
578b07:	75 06                	jne    0x578b0f
578b09:	8b c5                	mov    %ebp,%eax
578b0b:	2b c6                	sub    %esi,%eax
578b0d:	eb 07                	jmp    0x578b16
578b0f:	4e                   	dec    %esi
578b10:	85 f6                	test   %esi,%esi
578b12:	7f ae                	jg     0x578ac2
578b14:	8b c5                	mov    %ebp,%eax
578b16:	5d                   	pop    %ebp
578b17:	5f                   	pop    %edi
578b18:	5e                   	pop    %esi
578b19:	5b                   	pop    %ebx
578b1a:	c3                   	ret
578b1b:	90                   	nop
578b1c:	53                   	push   %ebx
578b1d:	b9 60 29 6a 00       	mov    $0x6a2960,%ecx
578b22:	8b 50 34             	mov    0x34(%eax),%edx
578b25:	3b ca                	cmp    %edx,%ecx
578b27:	75 07                	jne    0x578b30
578b29:	b8 01 00 00 00       	mov    $0x1,%eax
578b2e:	5b                   	pop    %ebx
578b2f:	c3                   	ret
578b30:	81 fa 40 29 6a 00    	cmp    $0x6a2940,%edx
578b36:	75 1e                	jne    0x578b56
578b38:	8b da                	mov    %edx,%ebx
578b3a:	b9 01 00 00 00       	mov    $0x1,%ecx
578b3f:	8b 40 38             	mov    0x38(%eax),%eax
578b42:	33 d2                	xor    %edx,%edx
578b44:	ff 53 08             	call   *0x8(%ebx)
578b47:	85 c0                	test   %eax,%eax
578b49:	7d 04                	jge    0x578b4f
578b4b:	33 c0                	xor    %eax,%eax
578b4d:	5b                   	pop    %ebx
578b4e:	c3                   	ret
578b4f:	b8 01 00 00 00       	mov    $0x1,%eax
578b54:	5b                   	pop    %ebx
578b55:	c3                   	ret
578b56:	33 c0                	xor    %eax,%eax
578b58:	5b                   	pop    %ebx
578b59:	c3                   	ret
578b5a:	90                   	nop
578b5b:	90                   	nop
578b5c:	33 c9                	xor    %ecx,%ecx
578b5e:	33 d2                	xor    %edx,%edx
578b60:	e8 03 00 00 00       	call   0x578b68
578b65:	c3                   	ret
578b66:	90                   	nop
578b67:	90                   	nop
578b68:	53                   	push   %ebx
578b69:	56                   	push   %esi
578b6a:	83 c4 f8             	add    $0xfffffff8,%esp
578b6d:	8b d8                	mov    %eax,%ebx
578b6f:	89 4c 24 04          	mov    %ecx,0x4(%esp)
578b73:	89 14 24             	mov    %edx,(%esp)
578b76:	8b 43 04             	mov    0x4(%ebx),%eax
578b79:	a8 10                	test   $0x10,%al
578b7b:	74 1b                	je     0x578b98
578b7d:	a8 20                	test   $0x20,%al
578b7f:	74 17                	je     0x578b98
578b81:	68 9f 02 00 00       	push   $0x29f
578b86:	68 76 2a 6a 00       	push   $0x6a2a76
578b8b:	68 24 2a 6a 00       	push   $0x6a2a24
578b90:	e8 ab 1f fe ff       	call   0x55ab40
578b95:	83 c4 0c             	add    $0xc,%esp
578b98:	83 63 08 fe          	andl   $0xfffffffe,0x8(%ebx)
578b9c:	8b 43 04             	mov    0x4(%ebx),%eax
578b9f:	a8 10                	test   $0x10,%al
578ba1:	74 0f                	je     0x578bb2
578ba3:	8b 54 24 04          	mov    0x4(%esp),%edx
578ba7:	4a                   	dec    %edx
578ba8:	75 1c                	jne    0x578bc6
578baa:	8b 4b 1c             	mov    0x1c(%ebx),%ecx
578bad:	29 0c 24             	sub    %ecx,(%esp)
578bb0:	eb 14                	jmp    0x578bc6
578bb2:	a8 20                	test   $0x20,%al
578bb4:	74 10                	je     0x578bc6
578bb6:	8b c3                	mov    %ebx,%eax
578bb8:	e8 57 01 00 00       	call   0x578d14
578bbd:	85 c0                	test   %eax,%eax
578bbf:	74 05                	je     0x578bc6
578bc1:	83 c8 ff             	or     $0xffffffff,%eax
578bc4:	eb 2c                	jmp    0x578bf2
578bc6:	33 d2                	xor    %edx,%edx
578bc8:	89 53 1c             	mov    %edx,0x1c(%ebx)
578bcb:	8b 4b 10             	mov    0x10(%ebx),%ecx
578bce:	89 4b 18             	mov    %ecx,0x18(%ebx)
578bd1:	83 63 04 cf          	andl   $0xffffffcf,0x4(%ebx)
578bd5:	8b 73 34             	mov    0x34(%ebx),%esi
578bd8:	8b 4c 24 04          	mov    0x4(%esp),%ecx
578bdc:	8b 14 24             	mov    (%esp),%edx
578bdf:	8b 43 38             	mov    0x38(%ebx),%eax
578be2:	ff 56 08             	call   *0x8(%esi)
578be5:	8b f0                	mov    %eax,%esi
578be7:	85 c0                	test   %eax,%eax
578be9:	7d 05                	jge    0x578bf0
578beb:	83 c8 ff             	or     $0xffffffff,%eax
578bee:	eb 02                	jmp    0x578bf2
578bf0:	8b c6                	mov    %esi,%eax
578bf2:	59                   	pop    %ecx
578bf3:	5a                   	pop    %edx
578bf4:	5e                   	pop    %esi
578bf5:	5b                   	pop    %ebx
578bf6:	c3                   	ret
578bf7:	90                   	nop
578bf8:	53                   	push   %ebx
578bf9:	8b d8                	mov    %eax,%ebx
578bfb:	56                   	push   %esi
578bfc:	57                   	push   %edi
578bfd:	8b 43 04             	mov    0x4(%ebx),%eax
578c00:	a8 10                	test   $0x10,%al
578c02:	74 07                	je     0x578c0b
578c04:	8b 73 1c             	mov    0x1c(%ebx),%esi
578c07:	f7 de                	neg    %esi
578c09:	eb 10                	jmp    0x578c1b
578c0b:	a8 20                	test   $0x20,%al
578c0d:	74 0a                	je     0x578c19
578c0f:	8b 73 18             	mov    0x18(%ebx),%esi
578c12:	8b 43 10             	mov    0x10(%ebx),%eax
578c15:	2b f0                	sub    %eax,%esi
578c17:	eb 02                	jmp    0x578c1b
578c19:	33 f6                	xor    %esi,%esi
578c1b:	8b 7b 34             	mov    0x34(%ebx),%edi
578c1e:	b9 01 00 00 00       	mov    $0x1,%ecx
578c23:	33 d2                	xor    %edx,%edx
578c25:	8b 43 38             	mov    0x38(%ebx),%eax
578c28:	ff 57 08             	call   *0x8(%edi)
578c2b:	8b f8                	mov    %eax,%edi
578c2d:	85 c0                	test   %eax,%eax
578c2f:	7d 05                	jge    0x578c36
578c31:	83 c8 ff             	or     $0xffffffff,%eax
578c34:	eb 03                	jmp    0x578c39
578c36:	8d 04 3e             	lea    (%esi,%edi,1),%eax
578c39:	5f                   	pop    %edi
578c3a:	5e                   	pop    %esi
578c3b:	5b                   	pop    %ebx
578c3c:	c3                   	ret
578c3d:	90                   	nop
578c3e:	90                   	nop
578c3f:	90                   	nop
578c40:	55                   	push   %ebp
578c41:	8b ec                	mov    %esp,%ebp
578c43:	53                   	push   %ebx
578c44:	8b d8                	mov    %eax,%ebx
578c46:	56                   	push   %esi
578c47:	57                   	push   %edi
578c48:	8b 43 0c             	mov    0xc(%ebx),%eax
578c4b:	8b fa                	mov    %edx,%edi
578c4d:	85 c0                	test   %eax,%eax
578c4f:	8b f1                	mov    %ecx,%esi
578c51:	74 17                	je     0x578c6a
578c53:	68 d6 02 00 00       	push   $0x2d6
578c58:	68 95 2a 6a 00       	push   $0x6a2a95
578c5d:	68 83 2a 6a 00       	push   $0x6a2a83
578c62:	e8 d9 1e fe ff       	call   0x55ab40
578c67:	83 c4 0c             	add    $0xc,%esp
578c6a:	85 ff                	test   %edi,%edi
578c6c:	74 5e                	je     0x578ccc
578c6e:	85 f6                	test   %esi,%esi
578c70:	75 2d                	jne    0x578c9f
578c72:	b8 10 20 00 00       	mov    $0x2010,%eax
578c77:	e8 00 f7 ff ff       	call   0x57837c
578c7c:	89 43 0c             	mov    %eax,0xc(%ebx)